From c953e5460c2e413635e408a3380845a3e9eb0c24 Mon Sep 17 00:00:00 2001 From: baha Date: Wed, 12 Mar 2025 14:45:43 +0000 Subject: [PATCH] [fix] first page issue --- ...1357.js => Container.bundle.1741790621.js} | 0 ...s.gz => Container.bundle.1741790621.js.gz} | Bin ...57.js => Inctance-HA.bundle.1741790621.js} | 0 ...gz => Inctance-HA.bundle.1741790621.js.gz} | Bin ...lCloud_website_white-07-01.1741790621.png} | Bin ...ud.1741741357.png => cloud.1741790621.png} | Bin ...41741357.svg => empty-card.1741790621.svg} | 0 ...41357.png => load-balancer.1741790621.png} | Bin ...41741357.png => login-full.1741790621.png} | Bin ...r.1741741357.png => router.1741790621.png} | Bin .../static/auth.bundle.1741741357.js | 1 - .../static/auth.bundle.1741741357.js.gz | Bin 7505 -> 0 bytes .../static/auth.bundle.1741790621.js | 1 + .../static/auth.bundle.1741790621.js.gz | Bin 0 -> 7506 bytes ...741741357.js => base.bundle.1741790621.js} | 0 ...357.js.gz => base.bundle.1741790621.js.gz} | Bin .../static/basic.bundle.1741741357.js | 1 - .../static/basic.bundle.1741741357.js.gz | Bin 80747 -> 0 bytes .../static/basic.bundle.1741790621.js | 1 + .../static/basic.bundle.1741790621.js.gz | Bin 0 -> 80784 bytes ...1741357.js => common.bundle.1741790621.js} | 0 ...7.js.gz => common.bundle.1741790621.js.gz} | Bin ...741357.js => compute.bundle.1741790621.js} | 0 ....js.gz => compute.bundle.1741790621.js.gz} | Bin ....js => configuration.bundle.1741790621.js} | 0 ... => configuration.bundle.1741790621.js.gz} | Bin ...s => container-infra.bundle.1741790621.js} | 0 ...> container-infra.bundle.1741790621.js.gz} | Bin ...741741357.js => heat.bundle.1741790621.js} | 0 ...357.js.gz => heat.bundle.1741790621.js.gz} | Bin ...41357.js => identity.bundle.1741790621.js} | 0 ...js.gz => identity.bundle.1741790621.js.gz} | Bin skyline_console/static/index.html | 2 +- ...741741357.js => main.bundle.1741790621.js} | 0 ...357.js.gz => main.bundle.1741790621.js.gz} | Bin ...357.js => management.bundle.1741790621.js} | 0 ...js => monitor-center.bundle.1741790621.js} | 0 ...=> monitor-center.bundle.1741790621.js.gz} | Bin .../static/network.bundle.1741741357.js.gz | Bin 86782 -> 0 bytes ...741357.js => network.bundle.1741790621.js} | 2 +- .../static/network.bundle.1741790621.js.gz | Bin 0 -> 86783 bytes ...me.1741741357.js => runtime.1741790621.js} | 2 +- ...41741357.js => share.bundle.1741790621.js} | 0 ...57.js.gz => share.bundle.1741790621.js.gz} | Bin ...741357.js => storage.bundle.1741790621.js} | 0 ....js.gz => storage.bundle.1741790621.js.gz} | Bin ...57.js => user-center.bundle.1741790621.js} | 0 ...gz => user-center.bundle.1741790621.js.gz} | Bin ...1741357.js => vendor.bundle.1741790621.js} | 0 ...7.js.gz => vendor.bundle.1741790621.js.gz} | Bin src/layouts/Auth/index.jsx | 2 +- src/layouts/Base/index.jsx | 18 ++++++++++++------ 52 files changed, 18 insertions(+), 12 deletions(-) rename skyline_console/static/{Container.bundle.1741741357.js => Container.bundle.1741790621.js} (100%) rename skyline_console/static/{Container.bundle.1741741357.js.gz => Container.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{Inctance-HA.bundle.1741741357.js => Inctance-HA.bundle.1741790621.js} (100%) rename skyline_console/static/{Inctance-HA.bundle.1741741357.js.gz => Inctance-HA.bundle.1741790621.js.gz} (100%) rename skyline_console/static/asset/image/{FelCloud_website_white-07-01.1741741357.png => FelCloud_website_white-07-01.1741790621.png} (100%) rename skyline_console/static/asset/image/{cloud.1741741357.png => cloud.1741790621.png} (100%) rename skyline_console/static/asset/image/{empty-card.1741741357.svg => empty-card.1741790621.svg} (100%) rename skyline_console/static/asset/image/{load-balancer.1741741357.png => load-balancer.1741790621.png} (100%) rename skyline_console/static/asset/image/{login-full.1741741357.png => login-full.1741790621.png} (100%) rename skyline_console/static/asset/image/{router.1741741357.png => router.1741790621.png} (100%) delete mode 100644 skyline_console/static/auth.bundle.1741741357.js delete mode 100644 skyline_console/static/auth.bundle.1741741357.js.gz create mode 100644 skyline_console/static/auth.bundle.1741790621.js create mode 100644 skyline_console/static/auth.bundle.1741790621.js.gz rename skyline_console/static/{base.bundle.1741741357.js => base.bundle.1741790621.js} (100%) rename skyline_console/static/{base.bundle.1741741357.js.gz => base.bundle.1741790621.js.gz} (100%) delete mode 100644 skyline_console/static/basic.bundle.1741741357.js delete mode 100644 skyline_console/static/basic.bundle.1741741357.js.gz create mode 100644 skyline_console/static/basic.bundle.1741790621.js create mode 100644 skyline_console/static/basic.bundle.1741790621.js.gz rename skyline_console/static/{common.bundle.1741741357.js => common.bundle.1741790621.js} (100%) rename skyline_console/static/{common.bundle.1741741357.js.gz => common.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{compute.bundle.1741741357.js => compute.bundle.1741790621.js} (100%) rename skyline_console/static/{compute.bundle.1741741357.js.gz => compute.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{configuration.bundle.1741741357.js => configuration.bundle.1741790621.js} (100%) rename skyline_console/static/{configuration.bundle.1741741357.js.gz => configuration.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{container-infra.bundle.1741741357.js => container-infra.bundle.1741790621.js} (100%) rename skyline_console/static/{container-infra.bundle.1741741357.js.gz => container-infra.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{heat.bundle.1741741357.js => heat.bundle.1741790621.js} (100%) rename skyline_console/static/{heat.bundle.1741741357.js.gz => heat.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{identity.bundle.1741741357.js => identity.bundle.1741790621.js} (100%) rename skyline_console/static/{identity.bundle.1741741357.js.gz => identity.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{main.bundle.1741741357.js => main.bundle.1741790621.js} (100%) rename skyline_console/static/{main.bundle.1741741357.js.gz => main.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{management.bundle.1741741357.js => management.bundle.1741790621.js} (100%) rename skyline_console/static/{monitor-center.bundle.1741741357.js => monitor-center.bundle.1741790621.js} (100%) rename skyline_console/static/{monitor-center.bundle.1741741357.js.gz => monitor-center.bundle.1741790621.js.gz} (100%) delete mode 100644 skyline_console/static/network.bundle.1741741357.js.gz rename skyline_console/static/{network.bundle.1741741357.js => network.bundle.1741790621.js} (99%) create mode 100644 skyline_console/static/network.bundle.1741790621.js.gz rename skyline_console/static/{runtime.1741741357.js => runtime.1741790621.js} (97%) rename skyline_console/static/{share.bundle.1741741357.js => share.bundle.1741790621.js} (100%) rename skyline_console/static/{share.bundle.1741741357.js.gz => share.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{storage.bundle.1741741357.js => storage.bundle.1741790621.js} (100%) rename skyline_console/static/{storage.bundle.1741741357.js.gz => storage.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{user-center.bundle.1741741357.js => user-center.bundle.1741790621.js} (100%) rename skyline_console/static/{user-center.bundle.1741741357.js.gz => user-center.bundle.1741790621.js.gz} (100%) rename skyline_console/static/{vendor.bundle.1741741357.js => vendor.bundle.1741790621.js} (100%) rename skyline_console/static/{vendor.bundle.1741741357.js.gz => vendor.bundle.1741790621.js.gz} (100%) diff --git a/skyline_console/static/Container.bundle.1741741357.js b/skyline_console/static/Container.bundle.1741790621.js similarity index 100% rename from skyline_console/static/Container.bundle.1741741357.js rename to skyline_console/static/Container.bundle.1741790621.js diff --git a/skyline_console/static/Container.bundle.1741741357.js.gz b/skyline_console/static/Container.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/Container.bundle.1741741357.js.gz rename to skyline_console/static/Container.bundle.1741790621.js.gz diff --git a/skyline_console/static/Inctance-HA.bundle.1741741357.js b/skyline_console/static/Inctance-HA.bundle.1741790621.js similarity index 100% rename from skyline_console/static/Inctance-HA.bundle.1741741357.js rename to skyline_console/static/Inctance-HA.bundle.1741790621.js diff --git a/skyline_console/static/Inctance-HA.bundle.1741741357.js.gz b/skyline_console/static/Inctance-HA.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/Inctance-HA.bundle.1741741357.js.gz rename to skyline_console/static/Inctance-HA.bundle.1741790621.js.gz diff --git a/skyline_console/static/asset/image/FelCloud_website_white-07-01.1741741357.png b/skyline_console/static/asset/image/FelCloud_website_white-07-01.1741790621.png similarity index 100% rename from skyline_console/static/asset/image/FelCloud_website_white-07-01.1741741357.png rename to skyline_console/static/asset/image/FelCloud_website_white-07-01.1741790621.png diff --git a/skyline_console/static/asset/image/cloud.1741741357.png b/skyline_console/static/asset/image/cloud.1741790621.png similarity index 100% rename from skyline_console/static/asset/image/cloud.1741741357.png rename to skyline_console/static/asset/image/cloud.1741790621.png diff --git a/skyline_console/static/asset/image/empty-card.1741741357.svg b/skyline_console/static/asset/image/empty-card.1741790621.svg similarity index 100% rename from skyline_console/static/asset/image/empty-card.1741741357.svg rename to skyline_console/static/asset/image/empty-card.1741790621.svg diff --git a/skyline_console/static/asset/image/load-balancer.1741741357.png b/skyline_console/static/asset/image/load-balancer.1741790621.png similarity index 100% rename from skyline_console/static/asset/image/load-balancer.1741741357.png rename to skyline_console/static/asset/image/load-balancer.1741790621.png diff --git a/skyline_console/static/asset/image/login-full.1741741357.png b/skyline_console/static/asset/image/login-full.1741790621.png similarity index 100% rename from skyline_console/static/asset/image/login-full.1741741357.png rename to skyline_console/static/asset/image/login-full.1741790621.png diff --git a/skyline_console/static/asset/image/router.1741741357.png b/skyline_console/static/asset/image/router.1741790621.png similarity index 100% rename from skyline_console/static/asset/image/router.1741741357.png rename to skyline_console/static/asset/image/router.1741790621.png diff --git a/skyline_console/static/auth.bundle.1741741357.js b/skyline_console/static/auth.bundle.1741741357.js deleted file mode 100644 index 3eae7068..00000000 --- a/skyline_console/static/auth.bundle.1741741357.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1238:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(416)),i=a(n(1709)),l=e=>(0,o.default)(i.default,e);t.default=l},1492:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=void 0;var l=i(n(54)),s=i(n(77)),d=i(n(58));n(1261);var u=i(n(1262)),f=i(n(343)),c=i(n(35)),m=i(n(570)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),h=(n(161),i(n(16))),g=i(n(4));function _(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(_=function(e){return e?n:t})(e)}class x extends p.Component{constructor(){super(...arguments),(0,c.default)(this,"renderFormItem",(e=>{var{render:t}=e;return t?t():null})),(0,c.default)(this,"getFormItemRules",(e=>{var{rules:t,required:n=!1,message:r,otherRule:a}=e;if((0,m.default)(e,"rules"))return t;var o={required:n};return r&&(o.message=r),a?[o,a]:[o]})),(0,c.default)(this,"renderFormItems",(()=>{var{formItems:e}=this.props;return(0,l.default)(e).call(e,((e,t)=>{var n,{name:r,hidden:a,dependencies:o=[],className:i,onChange:l,extra:d,label:c}=e,m={name:r,rules:this.getFormItemRules(e),hidden:a,dependencies:o,className:i,extra:d,label:c};return l&&(m.onChange=l),p.default.createElement(u.default.Item,(0,f.default)({},m,{key:(0,s.default)(n="".concat(r,"-")).call(n,t)}),this.renderFormItem(e))}))}))}render(){var e=this.props,{formItems:t,formref:n,className:r}=e,a=(0,d.default)(e,["formItems","formref","className"]);return p.default.createElement(u.default,(0,f.default)({ref:n,className:(0,g.default)(r,"simple-form")},a,{style:{color:"white !important"}}),this.renderFormItems())}}t.default=x,(0,c.default)(x,"propTypes",{name:h.default.string,className:h.default.string,initialValues:h.default.object,onFinish:h.default.func,size:h.default.string,formItems:h.default.array,formref:h.default.any}),(0,c.default)(x,"defaultProps",{initialValues:{},size:"large",formItems:[],onFinish:e=>{}})},1709:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(1710)),i=a(n(1721)),l=a(n(1748)),s="/auth",d=[{path:s,component:o.default,routes:[{path:"".concat(s,"/login"),component:i.default,exact:!0},{path:"".concat(s,"/change-password"),component:l.default,exact:!0}]}];t.default=d},1710:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=t.AuthLayout=void 0;var l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),s=n(412),d=i(n(416)),u=i(n(1711)),f=i(n(1717)),c=i(n(1718)),m=i(n(1719));function p(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(p=function(e){return e?n:t})(e)}class h extends l.Component{constructor(e){super(e),this.routes=e.route.routes}renderRight(){return l.default.createElement("div",{className:m.default.right},l.default.createElement("img",{alt:"",className:m.default["login-full-image"],src:c.default}),l.default.createElement("div",{className:m.default["full-image-front"]}),l.default.createElement("img",{src:f.default,alt:"",className:m.default["login-right-logo"],style:{maxWidth:"200px"}}))}render(){return l.default.createElement("div",{className:m.default.container},l.default.createElement("div",{className:m.default.left,style:{background:"linear-gradient(-240deg, #3f004a 50%, #000000 100%)",color:"white"}},l.default.createElement("div",{className:m.default.lang},l.default.createElement(u.default,null)),l.default.createElement("div",{style:{padding:"2px"}},"tag : 7d2c716040 "),l.default.createElement("div",{className:m.default.main},l.default.createElement("div",{className:m.default.top},l.default.createElement("div",{className:m.default.header,style:{width:"fit-content"}},l.default.createElement("img",{alt:"logo",className:m.default.logo,src:f.default}))),(0,d.default)(this.routes))),this.renderRight())}}t.AuthLayout=h;var g=(0,s.inject)("rootStore")((0,s.observer)(h));t.default=g},1711:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0,n(585);var o=a(n(424)),i=a(n(1344));n(1276);var l=a(n(421)),s=a(n(54)),d=(n(161),a(n(237))),u=a(n(0)),f=a(n(4)),c=(n(564),a(n(1715))),{getLocale:m,setLocale:p,SUPPORT_LOCALES:h}=d.default,g=e=>{if(h.length<=1)return null;var{className:t}=e,n=m(),r=(0,s.default)(h).call(h,(e=>e.value)),a=(0,s.default)(h).call(h,(e=>e.name)),d=(0,s.default)(h).call(h,(e=>e.icon)),g=u.default.createElement(l.default,{className:c.default.menu,selectedKeys:[n],onClick:e=>{var{key:t}=e;p(t,!1)}},(0,s.default)(r).call(r,((e,t)=>u.default.createElement(l.default.Item,{key:e},u.default.createElement("span",{role:"img","aria-label":a[t]},d[t])," ",a[t]))));return u.default.createElement(o.default,{overlay:g,placement:"bottomRight"},u.default.createElement("span",{className:(0,f.default)(c.default["drop-down"],t)},u.default.createElement(i.default,null)))};t.default=g},1715:function(e,t,n){var r=n(1716);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1716:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__menu--25uep .anticon {\n margin-right: 8px;\n}\n.index__menu--25uep .ant-dropdown-menu-item {\n min-width: 160px;\n}\n.index__drop-down--37VUG {\n font-size: 16px;\n line-height: 20px;\n vertical-align: top;\n cursor: pointer;\n}\n.index__drop-down--37VUG > i {\n font-size: 16px !important;\n -webkit-transform: none !important;\n transform: none !important;\n}\n.index__drop-down--37VUG > i svg {\n position: relative;\n top: -1px;\n}\n",""]),t.locals={menu:"index__menu--25uep","drop-down":"index__drop-down--37VUG"}},1717:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/FelCloud_website_white-07-01.1741741357.png"},1718:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/login-full.1741741357.png"},1719:function(e,t,n){var r=n(1720);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1720:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__container--PLjMT {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row;\n flex-flow: row;\n height: 100vh;\n overflow: hidden;\n background-color: #fff;\n}\n.index__container--PLjMT .index__left--1nLBx {\n position: relative;\n width: 576px;\n overflow-y: auto;\n /* TODO wait for RGB\n // background: rgb(253, 249, 252) no-repeat fixed left bottom;\n // background-size: 556px; */\n}\n.index__container--PLjMT .index__left--1nLBx .index__lang--1iG5n {\n position: absolute;\n top: 20px;\n right: 24px;\n width: 20px;\n height: 20px;\n text-align: right;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 {\n margin-top: 10vh;\n padding: 0 130px;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 {\n text-align: center;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF {\n height: 56px;\n line-height: 56px;\n text-align: left;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF a {\n text-decoration: none;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF .index__logo--2IrMw {\n height: 56px;\n margin-right: 16px;\n vertical-align: top;\n}\n.index__container--PLjMT .index__right--1kgDa {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n text-align: center;\n background-color: #21242a;\n}\n.index__login-image--1VBMI {\n margin-top: calc(100vh - 668px);\n}\n.index__login-full-image--3lehL {\n width: 100%;\n height: 100%;\n}\n.index__full-image-front--1vn-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(14, 34, 181, 0.15);\n}\n.index__login-right-logo--31US1 {\n position: relative;\n top: -100px;\n}\n",""]),t.locals={container:"index__container--PLjMT",left:"index__left--1nLBx",lang:"index__lang--1iG5n",main:"index__main--1Zm84",top:"index__top--2uGv8",header:"index__header--15dtF",logo:"index__logo--2IrMw",right:"index__right--1kgDa","login-image":"index__login-image--1VBMI","login-full-image":"index__login-full-image--3lehL","full-image-front":"index__full-image-front--1vn-y","login-right-logo":"index__login-right-logo--31US1"}},1721:function(e,n,r){"use strict";var a=r(32),o=r(42),i=r(29),l=r(25),s=r(28),d=r(44),u=r(45),f=r(20),c=r(162),m=r(21);f(n,"__esModule",{value:!0}),n.default=n.Login=void 0;var p=m(r(430)),h=m(r(164)),g=m(r(63)),_=m(r(54));r(231);var x=m(r(341));r(1246);var v=m(r(1247));r(1244);var w=m(r(1245));r(569);var b=m(r(1253));r(568);var y=m(r(415)),S=m(r(617)),E=m(r(49)),P=m(r(35)),L=m(r(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=N(t);if(n&&n.has(e))return n.get(e);var r={},a=f&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?l(e,o):null;i&&(i.get||i.set)?f(r,o,i):r[o]=e[o]}r.default=e,n&&n.set(e,r);return r}(r(0)),C=(r(161),r(412)),k=r(204),I=(r(564),m(r(1492))),T=m(r(1745)),j=m(r(237)),R=m(r(1746));function N(e){if("function"!=typeof c)return null;var t=new c,n=new c;return(N=function(e){return e?n:t})(e)}function D(e,t){var n=a(e);if(o){var r=o(e);t&&(r=i(r).call(r,(function(t){return l(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t{this.setState({loginTypeOption:t})})),(0,P.default)(this,"getUserId",(e=>{var t;return(0,p.default)(t=e.split(":")[1]).call(t).split(".")[0]})),(0,P.default)(this,"onLoginFailed",((e,t)=>{this.setState({loading:!1});var{data:{detail:n=""}}=e.response,r=n||"";(0,h.default)(r).call(r,"The password is expired and needs to be changed for user")?this.dealWithChangePassword(r,t):this.setState({error:!0,message:r})})),(0,P.default)(this,"onLoginSuccess",(()=>{this.setState({loading:!1,error:!1}),this.rootStore.user&&!(0,L.default)(this.rootStore.user)&&this.rootStore.routing.push(this.nextPage)})),(0,P.default)(this,"onFinish",(e=>{if("sso"!==this.currentLoginType){this.setState({loading:!0,message:"",error:!1});var{password:t,region:n,domain:r}=e,a=M({password:t,region:n},this.getUsernameAndDomain({usernameDomain:r}));this.rootStore.login(a).then((()=>{this.onLoginSuccess()}),(t=>{this.onLoginFailed(t,e)}))}else document.location.href=this.currentSSOLink})),(0,P.default)(this,"getUsernameAndDomain",(e=>{var{usernameDomain:t}=e,n=(0,p.default)(t).call(t).split("@");return{username:n[0],domain:n[1]||"Default"}})),(0,P.default)(this,"usernameDomainValidator",((e,n)=>{if(!n||!(0,p.default)(n).call(n))return g.default.reject(t("Please input or @!"));var r=(0,p.default)(n).call(n).split("@"),a=t("Please input the correct format: or @.");if(r.length>2)return g.default.reject(new Error(a));var{username:o,domain:i}=this.getUsernameAndDomain({usernameDomain:n});return o&&i?g.default.resolve():g.default.reject(new Error(a))})),(0,P.default)(this,"dealWithChangePassword",((e,t)=>{var n=this.getUserId(e),r={region:t.region,oldPassword:t.password,userId:n};this.rootStore.setPasswordInfo(r),this.rootStore.routing.push("/auth/change-password")})),(0,P.default)(this,"updateDefaultValue",(()=>{this.formRef.current.resetFields(),this.formRef.current&&this.formRef.current.resetFields&&this.formRef.current.resetFields()})),this.init(),this.state={error:!1,message:"",loading:!1,loginTypeOption:this.passwordOption}}componentDidMount(){this.getRegions(),this.getSSO()}getRegions(){var e=this;return(0,E.default)((function*(){yield e.store.fetchRegionList(),e.updateDefaultValue()}))()}getSSO(){var e=this;return(0,E.default)((function*(){try{e.store.fetchSSO()}catch(e){}}))()}get rootStore(){return this.props.rootStore}get info(){var{info:e={}}=this.rootStore;return e||{}}get productName(){var{product_name:e={zh:t("Cloud Platform"),en:"Cloud Platform"}}=this.info,{getLocaleShortName:n}=j.default,r=e[n()]||t("Cloud Platform")||"Cloud Platform";return t("Welcome, {name}",{name:r})}get regions(){var e;return(0,_.default)(e=this.store.regions||[]).call(e,(e=>({label:e,value:e})))}get domains(){return[]}get nextPage(){var{location:e={}}=this.props,{search:t}=e;return t?t.split("=")[1]:"/base/overview"}get enableSSO(){var{sso:{enable_sso:e=!1}={}}=this.store;return e}get ssoProtocols(){return{openid:t("OpenID Connect")}}get SSOOptions(){if(!this.enableSSO)return[];var{sso:{protocols:e=[]}={}}=this.store;return(0,_.default)(e).call(e,(e=>{var{protocol:t,url:n}=e;return M({label:this.ssoProtocols[t]||t,value:n},e)}))}get passwordOption(){return{label:t("Keystone Credentials"),value:"password"}}get loginTypeOptions(){return this.enableSSO?[this.passwordOption,...this.SSOOptions]:[]}get currentLoginType(){var{loginTypeOption:{value:e}={}}=this.state;return"password"===e?"password":"sso"}get currentSSOLink(){var{loginTypeOption:{value:e}={}}=this.state;return e}get defaultValue(){var e={loginType:"password"};return 1===this.regions.length&&(e.region=this.regions[0].value),e}get formItems(){var{error:e,loading:n}=this.state,r=this.currentLoginType,a={name:"submit",render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(x.default,{loading:n,type:"primary",htmlType:"submit",className:"login-form-button"},t("Log in"))))},o=[{name:"error",hidden:!e,render:()=>O.default.createElement("div",{className:R.default["login-error"]},O.default.createElement(S.default,null),this.getErrorMessage())},{name:"region",required:!0,message:t("Please select your Region!"),render:()=>O.default.createElement(y.default,{placeholder:t("Select a region"),options:this.regions})},{name:"domain",required:!0,render:()=>O.default.createElement(b.default,{placeholder:t(" or @")}),extra:O.default.createElement("span",{style:{color:"white"}},t('Tips: without domain means "Default" domain.')),rules:[{required:!0,validator:this.usernameDomainValidator}]},{name:"username",required:!1,message:t("Please input your Username!"),render:()=>O.default.createElement(b.default,{placeholder:t("Username")}),hidden:!0},{name:"password",required:!0,message:t("Please input your Password!"),render:()=>O.default.createElement(b.default.Password,{placeholder:t("Password")})},{name:"extra",hidden:!0,render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"password"},t("Forgot your password?"))),O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"register",className:R.default.register},t("Sign up"))))}],i={name:"loginType",required:!0,message:t("Please select login type!"),extra:O.default.createElement("span",{style:{color:"white"}},t("If you are not sure which authentication method to use, please contact your administrator.")),render:()=>O.default.createElement(y.default,{placeholder:t("Select a login type"),options:this.loginTypeOptions,onChange:this.onLoginTypeChange})};return this.enableSSO?"password"===r?[i,...o,a]:[i,a]:[...o,a]}getErrorMessage(){var{message:e}=this.state;return(0,h.default)(e).call(e,"The account is locked for user")?t("Frequent login failure will cause the account to be temporarily locked, please operate after 5 minutes"):(0,h.default)(e).call(e,"The account is disabled for user")?t("The user has been disabled, please contact the administrator"):(0,h.default)(e).call(e,"You are not authorized for any projects or domains")?t("If you are not authorized to access any project, or if the project you are involved in has been deleted or disabled, contact the platform administrator to reassign the project"):t("Username or password is incorrect")}init(){this.store=T.default,this.formRef=O.default.createRef()}renderExtra(){return null}render(){return O.default.createElement(O.default.Fragment,null,O.default.createElement("h1",{style:{color:"white"},className:R.default.welcome},this.productName," "),O.default.createElement(I.default,{formItems:this.formItems,name:"normal_login",className:R.default["login-form"],initialValues:this.defaultValue,onFinish:this.onFinish,formref:this.formRef,size:"large"}),this.renderExtra())}}n.Login=F;var U=(0,C.inject)("rootStore")((0,C.observer)(F));n.default=U},1745:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=t.SkylineStore=void 0;var o,i,l,s,d=a(n(25)),u=a(n(49)),f=a(n(74)),c=(a(n(35)),a(n(55))),m=(a(n(75)),n(36)),p=a(n(50)),h=a(n(53)),g=(o=class extends h.default{constructor(){super(...arguments),(0,f.default)(this,"domains",i,this),(0,f.default)(this,"regions",l,this),(0,f.default)(this,"sso",s,this)}get client(){return p.default.skyline.contrib}fetchDomainList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.domains();e.domains=t}))()}fetchRegionList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.regions();e.regions=t}))()}fetchSSO(){var e=this;return(0,u.default)((function*(){var t=yield p.default.skyline.sso.list();e.sso=t}))()}},i=(0,c.default)(o.prototype,"domains",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),l=(0,c.default)(o.prototype,"regions",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),s=(0,c.default)(o.prototype,"sso",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),(0,c.default)(o.prototype,"fetchDomainList",[m.action],(0,d.default)(o.prototype,"fetchDomainList"),o.prototype),(0,c.default)(o.prototype,"fetchRegionList",[m.action],(0,d.default)(o.prototype,"fetchRegionList"),o.prototype),(0,c.default)(o.prototype,"fetchSSO",[m.action],(0,d.default)(o.prototype,"fetchSSO"),o.prototype),o);t.SkylineStore=g;var _=new g;t.default=_},1746:function(e,t,n){var r=n(1747);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1747:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--2dPww {\n float: right;\n}\n.index__welcome--Wrl8u {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__login-form--2ucoo {\n width: 310px;\n}\n.index__login-error--2XGt4 {\n padding: 8px 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 1.5;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__login-error--2XGt4 .anticon {\n margin-right: 8px;\n}\n.index__ant-form-item-extra--2TUD6 {\n color: white !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--2dPww",welcome:"index__welcome--Wrl8u","login-form":"index__login-form--2ucoo","login-error":"index__login-error--2XGt4","ant-form-item-extra":"index__ant-form-item-extra--2TUD6"}},1748:function(e,n,r){"use strict";var a=r(162),o=r(20),i=r(25),l=r(21);o(n,"__esModule",{value:!0}),n.default=n.Password=void 0;var s=l(r(91));r(231);var d=l(r(341));r(569);var u=l(r(1253)),f=l(r(617)),c=l(r(35)),m=l(r(177)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var r={},a=o&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=a?i(e,l):null;s&&(s.get||s.set)?o(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(r(0)),h=(r(161),r(204)),g=(r(564),r(565)),_=r(412),x=r(36),v=l(r(1255)),w=l(r(1270)),b=l(r(1492)),y=l(r(1778));function S(e){if("function"!=typeof a)return null;var t=new a,n=new a;return(S=function(e){return e?n:t})(e)}class E extends p.Component{constructor(e){super(e),(0,c.default)(this,"formRef",null),(0,c.default)(this,"onFinish",(e=>{var{rootStore:n}=this.props,{userId:r,oldPassword:a}=this.passwordData,{password:o}=e,i={id:r,password:o,original_password:a};this.setState({loading:!0}),v.default.changePasswordUser(i).then((()=>{this.setState({loading:!1}),w.default.success(t("Password changed successfully, please log in again.")),n.setPasswordInfo(null),n.routing.push("/auth/login")}),(e=>{var{response:{data:{error:{message:t}={}}={}}={}}=e;this.setState({error:!0,message:t,loading:!1})}))})),(0,c.default)(this,"getCount",(e=>{try{return e.split("be unique is ")[1].split(".")[0]}catch(e){return 0}})),(0,c.default)(this,"getErrorWord",(e=>{if(!e)return t("Reset failed, please retry");if((0,s.default)(e).call(e,"The new password cannot be identical to a previous password.")>=0){var n=this.getCount(e);return n?"2"===n?t("The password must not be the same as the previous two"):t("The password must not be the same as the previous {num}",{num:n}):t("The password must not be the same as the previous")}return t("Reset failed, please retry")})),this.init(),this.state={error:!1,message:"",loading:!1}}componentDidMount(){var{rootStore:{routing:e}={}}=this.props;this.passwordData&&!(0,m.default)(this.passwordData)||e.push("/auth/login")}componentWillUnmount(){var{rootStore:e}=this.props;e.setPasswordInfo(null)}get passwordData(){var{rootStore:{oldPassword:e}={}}=this.props;return(0,x.toJS)(e)||{}}get defaultValue(){var{oldPassword:e}=this.passwordData;return{oldPassword:e}}get formItems(){var{error:e,message:n,loading:r}=this.state,a=this.getErrorWord(n);return[{name:"hint",render:()=>p.default.createElement("div",{className:y.default.hint},p.default.createElement(f.default,{style:{color:globalCSS.warnColor}}),t("User need to change password"))},{name:"error",hidden:!e,render:()=>p.default.createElement("div",{className:y.default.error},p.default.createElement(f.default,null),a)},{name:"password",required:!0,message:t("Please input your password!"),otherRule:(0,g.getPasswordOtherRule)("password","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Password")})},{name:"confirmPassword",required:!0,message:t("Please confirm your password!"),dependencies:["password"],otherRule:(0,g.getPasswordOtherRule)("confirmPassword","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Confirm Password")})},{name:"submit",className:y.default.between,render:()=>p.default.createElement(p.default.Fragment,null,p.default.createElement(d.default,{type:"primary",htmlType:"submit",loading:r},t("Confirm")),p.default.createElement(h.Link,{style:{marginLeft:50},to:"/auth/login"},t("Back to login page")))}]}init(){this.formRef=p.default.createRef()}render(){return p.default.createElement(p.default.Fragment,null,p.default.createElement("h1",{className:y.default.welcome},t("Welcome")),p.default.createElement(b.default,{formref:this.formRef,formItems:this.formItems,name:"reset_password",className:y.default.reset,onFinish:this.onFinish,initialValues:this.defaultValue,size:"large",scrollToFirstError:!0}))}}n.Password=E;var P=(0,_.inject)("rootStore")((0,_.observer)(E));n.default=P},1778:function(e,t,n){var r=n(1779);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1779:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--3Uzk2 {\n float: right;\n}\n.index__welcome--3RISd {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__hint--1lIUh {\n padding: 8px 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 1.5;\n background: #fffbe6;\n border: 1px solid #ffe58f;\n border-radius: 4px;\n}\n.index__hint--1lIUh .anticon {\n margin-right: 8px;\n}\n.index__reset--1EOoE {\n margin-top: 24px;\n}\n.index__reset--1EOoE .index__title--2znQU {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__info--3bS5M {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__between--10sD1 .ant-form-item-control-input-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__error--SAQ5q {\n padding-left: 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 38px;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__error--SAQ5q .anticon {\n margin-right: 8px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--3Uzk2",welcome:"index__welcome--3RISd",hint:"index__hint--1lIUh",reset:"index__reset--1EOoE",title:"index__title--2znQU",info:"index__info--3bS5M",between:"index__between--10sD1",error:"index__error--SAQ5q"}}}]); \ No newline at end of file diff --git a/skyline_console/static/auth.bundle.1741741357.js.gz b/skyline_console/static/auth.bundle.1741741357.js.gz deleted file mode 100644 index 27ecabbc699e81412242e35f5112294bee1c243c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7505 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 btP9kQTDyit?DcvLyZZkEi-(3|zGnacj3$=V diff --git a/skyline_console/static/auth.bundle.1741790621.js b/skyline_console/static/auth.bundle.1741790621.js new file mode 100644 index 00000000..e726df80 --- /dev/null +++ b/skyline_console/static/auth.bundle.1741790621.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1238:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(416)),i=a(n(1709)),l=e=>(0,o.default)(i.default,e);t.default=l},1492:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=void 0;var l=i(n(54)),s=i(n(77)),d=i(n(58));n(1261);var u=i(n(1262)),f=i(n(343)),c=i(n(35)),m=i(n(570)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),h=(n(161),i(n(16))),g=i(n(4));function _(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(_=function(e){return e?n:t})(e)}class x extends p.Component{constructor(){super(...arguments),(0,c.default)(this,"renderFormItem",(e=>{var{render:t}=e;return t?t():null})),(0,c.default)(this,"getFormItemRules",(e=>{var{rules:t,required:n=!1,message:r,otherRule:a}=e;if((0,m.default)(e,"rules"))return t;var o={required:n};return r&&(o.message=r),a?[o,a]:[o]})),(0,c.default)(this,"renderFormItems",(()=>{var{formItems:e}=this.props;return(0,l.default)(e).call(e,((e,t)=>{var n,{name:r,hidden:a,dependencies:o=[],className:i,onChange:l,extra:d,label:c}=e,m={name:r,rules:this.getFormItemRules(e),hidden:a,dependencies:o,className:i,extra:d,label:c};return l&&(m.onChange=l),p.default.createElement(u.default.Item,(0,f.default)({},m,{key:(0,s.default)(n="".concat(r,"-")).call(n,t)}),this.renderFormItem(e))}))}))}render(){var e=this.props,{formItems:t,formref:n,className:r}=e,a=(0,d.default)(e,["formItems","formref","className"]);return p.default.createElement(u.default,(0,f.default)({ref:n,className:(0,g.default)(r,"simple-form")},a,{style:{color:"white !important"}}),this.renderFormItems())}}t.default=x,(0,c.default)(x,"propTypes",{name:h.default.string,className:h.default.string,initialValues:h.default.object,onFinish:h.default.func,size:h.default.string,formItems:h.default.array,formref:h.default.any}),(0,c.default)(x,"defaultProps",{initialValues:{},size:"large",formItems:[],onFinish:e=>{}})},1709:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(1710)),i=a(n(1721)),l=a(n(1748)),s="/auth",d=[{path:s,component:o.default,routes:[{path:"".concat(s,"/login"),component:i.default,exact:!0},{path:"".concat(s,"/change-password"),component:l.default,exact:!0}]}];t.default=d},1710:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=t.AuthLayout=void 0;var l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),s=n(412),d=i(n(416)),u=i(n(1711)),f=i(n(1717)),c=i(n(1718)),m=i(n(1719));function p(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(p=function(e){return e?n:t})(e)}class h extends l.Component{constructor(e){super(e),this.routes=e.route.routes}renderRight(){return l.default.createElement("div",{className:m.default.right},l.default.createElement("img",{alt:"",className:m.default["login-full-image"],src:c.default}),l.default.createElement("div",{className:m.default["full-image-front"]}),l.default.createElement("img",{src:f.default,alt:"",className:m.default["login-right-logo"],style:{maxWidth:"200px"}}))}render(){return l.default.createElement("div",{className:m.default.container},l.default.createElement("div",{className:m.default.left,style:{background:"linear-gradient(-240deg, #3f004a 50%, #000000 100%)",color:"white"}},l.default.createElement("div",{className:m.default.lang},l.default.createElement(u.default,null)),l.default.createElement("div",{style:{padding:"2px"}},"tag : dec5a5f342"),l.default.createElement("div",{className:m.default.main},l.default.createElement("div",{className:m.default.top},l.default.createElement("div",{className:m.default.header,style:{width:"fit-content"}},l.default.createElement("img",{alt:"logo",className:m.default.logo,src:f.default}))),(0,d.default)(this.routes))),this.renderRight())}}t.AuthLayout=h;var g=(0,s.inject)("rootStore")((0,s.observer)(h));t.default=g},1711:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0,n(585);var o=a(n(424)),i=a(n(1344));n(1276);var l=a(n(421)),s=a(n(54)),d=(n(161),a(n(237))),u=a(n(0)),f=a(n(4)),c=(n(564),a(n(1715))),{getLocale:m,setLocale:p,SUPPORT_LOCALES:h}=d.default,g=e=>{if(h.length<=1)return null;var{className:t}=e,n=m(),r=(0,s.default)(h).call(h,(e=>e.value)),a=(0,s.default)(h).call(h,(e=>e.name)),d=(0,s.default)(h).call(h,(e=>e.icon)),g=u.default.createElement(l.default,{className:c.default.menu,selectedKeys:[n],onClick:e=>{var{key:t}=e;p(t,!1)}},(0,s.default)(r).call(r,((e,t)=>u.default.createElement(l.default.Item,{key:e},u.default.createElement("span",{role:"img","aria-label":a[t]},d[t])," ",a[t]))));return u.default.createElement(o.default,{overlay:g,placement:"bottomRight"},u.default.createElement("span",{className:(0,f.default)(c.default["drop-down"],t)},u.default.createElement(i.default,null)))};t.default=g},1715:function(e,t,n){var r=n(1716);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1716:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__menu--25uep .anticon {\n margin-right: 8px;\n}\n.index__menu--25uep .ant-dropdown-menu-item {\n min-width: 160px;\n}\n.index__drop-down--37VUG {\n font-size: 16px;\n line-height: 20px;\n vertical-align: top;\n cursor: pointer;\n}\n.index__drop-down--37VUG > i {\n font-size: 16px !important;\n -webkit-transform: none !important;\n transform: none !important;\n}\n.index__drop-down--37VUG > i svg {\n position: relative;\n top: -1px;\n}\n",""]),t.locals={menu:"index__menu--25uep","drop-down":"index__drop-down--37VUG"}},1717:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/FelCloud_website_white-07-01.1741790621.png"},1718:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/login-full.1741790621.png"},1719:function(e,t,n){var r=n(1720);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1720:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__container--PLjMT {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row;\n flex-flow: row;\n height: 100vh;\n overflow: hidden;\n background-color: #fff;\n}\n.index__container--PLjMT .index__left--1nLBx {\n position: relative;\n width: 576px;\n overflow-y: auto;\n /* TODO wait for RGB\n // background: rgb(253, 249, 252) no-repeat fixed left bottom;\n // background-size: 556px; */\n}\n.index__container--PLjMT .index__left--1nLBx .index__lang--1iG5n {\n position: absolute;\n top: 20px;\n right: 24px;\n width: 20px;\n height: 20px;\n text-align: right;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 {\n margin-top: 10vh;\n padding: 0 130px;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 {\n text-align: center;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF {\n height: 56px;\n line-height: 56px;\n text-align: left;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF a {\n text-decoration: none;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF .index__logo--2IrMw {\n height: 56px;\n margin-right: 16px;\n vertical-align: top;\n}\n.index__container--PLjMT .index__right--1kgDa {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n text-align: center;\n background-color: #21242a;\n}\n.index__login-image--1VBMI {\n margin-top: calc(100vh - 668px);\n}\n.index__login-full-image--3lehL {\n width: 100%;\n height: 100%;\n}\n.index__full-image-front--1vn-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(14, 34, 181, 0.15);\n}\n.index__login-right-logo--31US1 {\n position: relative;\n top: -100px;\n}\n",""]),t.locals={container:"index__container--PLjMT",left:"index__left--1nLBx",lang:"index__lang--1iG5n",main:"index__main--1Zm84",top:"index__top--2uGv8",header:"index__header--15dtF",logo:"index__logo--2IrMw",right:"index__right--1kgDa","login-image":"index__login-image--1VBMI","login-full-image":"index__login-full-image--3lehL","full-image-front":"index__full-image-front--1vn-y","login-right-logo":"index__login-right-logo--31US1"}},1721:function(e,n,r){"use strict";var a=r(32),o=r(42),i=r(29),l=r(25),s=r(28),d=r(44),u=r(45),f=r(20),c=r(162),m=r(21);f(n,"__esModule",{value:!0}),n.default=n.Login=void 0;var p=m(r(430)),h=m(r(164)),g=m(r(63)),_=m(r(54));r(231);var x=m(r(341));r(1246);var v=m(r(1247));r(1244);var w=m(r(1245));r(569);var b=m(r(1253));r(568);var y=m(r(415)),S=m(r(617)),E=m(r(49)),P=m(r(35)),L=m(r(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=N(t);if(n&&n.has(e))return n.get(e);var r={},a=f&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?l(e,o):null;i&&(i.get||i.set)?f(r,o,i):r[o]=e[o]}r.default=e,n&&n.set(e,r);return r}(r(0)),C=(r(161),r(412)),k=r(204),I=(r(564),m(r(1492))),T=m(r(1745)),j=m(r(237)),R=m(r(1746));function N(e){if("function"!=typeof c)return null;var t=new c,n=new c;return(N=function(e){return e?n:t})(e)}function D(e,t){var n=a(e);if(o){var r=o(e);t&&(r=i(r).call(r,(function(t){return l(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t{this.setState({loginTypeOption:t})})),(0,P.default)(this,"getUserId",(e=>{var t;return(0,p.default)(t=e.split(":")[1]).call(t).split(".")[0]})),(0,P.default)(this,"onLoginFailed",((e,t)=>{this.setState({loading:!1});var{data:{detail:n=""}}=e.response,r=n||"";(0,h.default)(r).call(r,"The password is expired and needs to be changed for user")?this.dealWithChangePassword(r,t):this.setState({error:!0,message:r})})),(0,P.default)(this,"onLoginSuccess",(()=>{this.setState({loading:!1,error:!1}),this.rootStore.user&&!(0,L.default)(this.rootStore.user)&&this.rootStore.routing.push(this.nextPage)})),(0,P.default)(this,"onFinish",(e=>{if("sso"!==this.currentLoginType){this.setState({loading:!0,message:"",error:!1});var{password:t,region:n,domain:r}=e,a=M({password:t,region:n},this.getUsernameAndDomain({usernameDomain:r}));this.rootStore.login(a).then((()=>{this.onLoginSuccess()}),(t=>{this.onLoginFailed(t,e)}))}else document.location.href=this.currentSSOLink})),(0,P.default)(this,"getUsernameAndDomain",(e=>{var{usernameDomain:t}=e,n=(0,p.default)(t).call(t).split("@");return{username:n[0],domain:n[1]||"Default"}})),(0,P.default)(this,"usernameDomainValidator",((e,n)=>{if(!n||!(0,p.default)(n).call(n))return g.default.reject(t("Please input or @!"));var r=(0,p.default)(n).call(n).split("@"),a=t("Please input the correct format: or @.");if(r.length>2)return g.default.reject(new Error(a));var{username:o,domain:i}=this.getUsernameAndDomain({usernameDomain:n});return o&&i?g.default.resolve():g.default.reject(new Error(a))})),(0,P.default)(this,"dealWithChangePassword",((e,t)=>{var n=this.getUserId(e),r={region:t.region,oldPassword:t.password,userId:n};this.rootStore.setPasswordInfo(r),this.rootStore.routing.push("/auth/change-password")})),(0,P.default)(this,"updateDefaultValue",(()=>{this.formRef.current.resetFields(),this.formRef.current&&this.formRef.current.resetFields&&this.formRef.current.resetFields()})),this.init(),this.state={error:!1,message:"",loading:!1,loginTypeOption:this.passwordOption}}componentDidMount(){this.getRegions(),this.getSSO()}getRegions(){var e=this;return(0,E.default)((function*(){yield e.store.fetchRegionList(),e.updateDefaultValue()}))()}getSSO(){var e=this;return(0,E.default)((function*(){try{e.store.fetchSSO()}catch(e){}}))()}get rootStore(){return this.props.rootStore}get info(){var{info:e={}}=this.rootStore;return e||{}}get productName(){var{product_name:e={zh:t("Cloud Platform"),en:"Cloud Platform"}}=this.info,{getLocaleShortName:n}=j.default,r=e[n()]||t("Cloud Platform")||"Cloud Platform";return t("Welcome, {name}",{name:r})}get regions(){var e;return(0,_.default)(e=this.store.regions||[]).call(e,(e=>({label:e,value:e})))}get domains(){return[]}get nextPage(){var{location:e={}}=this.props,{search:t}=e;return t?t.split("=")[1]:"/base/overview"}get enableSSO(){var{sso:{enable_sso:e=!1}={}}=this.store;return e}get ssoProtocols(){return{openid:t("OpenID Connect")}}get SSOOptions(){if(!this.enableSSO)return[];var{sso:{protocols:e=[]}={}}=this.store;return(0,_.default)(e).call(e,(e=>{var{protocol:t,url:n}=e;return M({label:this.ssoProtocols[t]||t,value:n},e)}))}get passwordOption(){return{label:t("Keystone Credentials"),value:"password"}}get loginTypeOptions(){return this.enableSSO?[this.passwordOption,...this.SSOOptions]:[]}get currentLoginType(){var{loginTypeOption:{value:e}={}}=this.state;return"password"===e?"password":"sso"}get currentSSOLink(){var{loginTypeOption:{value:e}={}}=this.state;return e}get defaultValue(){var e={loginType:"password"};return 1===this.regions.length&&(e.region=this.regions[0].value),e}get formItems(){var{error:e,loading:n}=this.state,r=this.currentLoginType,a={name:"submit",render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(x.default,{loading:n,type:"primary",htmlType:"submit",className:"login-form-button"},t("Log in"))))},o=[{name:"error",hidden:!e,render:()=>O.default.createElement("div",{className:R.default["login-error"]},O.default.createElement(S.default,null),this.getErrorMessage())},{name:"region",required:!0,message:t("Please select your Region!"),render:()=>O.default.createElement(y.default,{placeholder:t("Select a region"),options:this.regions})},{name:"domain",required:!0,render:()=>O.default.createElement(b.default,{placeholder:t(" or @")}),extra:O.default.createElement("span",{style:{color:"white"}},t('Tips: without domain means "Default" domain.')),rules:[{required:!0,validator:this.usernameDomainValidator}]},{name:"username",required:!1,message:t("Please input your Username!"),render:()=>O.default.createElement(b.default,{placeholder:t("Username")}),hidden:!0},{name:"password",required:!0,message:t("Please input your Password!"),render:()=>O.default.createElement(b.default.Password,{placeholder:t("Password")})},{name:"extra",hidden:!0,render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"password"},t("Forgot your password?"))),O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"register",className:R.default.register},t("Sign up"))))}],i={name:"loginType",required:!0,message:t("Please select login type!"),extra:O.default.createElement("span",{style:{color:"white"}},t("If you are not sure which authentication method to use, please contact your administrator.")),render:()=>O.default.createElement(y.default,{placeholder:t("Select a login type"),options:this.loginTypeOptions,onChange:this.onLoginTypeChange})};return this.enableSSO?"password"===r?[i,...o,a]:[i,a]:[...o,a]}getErrorMessage(){var{message:e}=this.state;return(0,h.default)(e).call(e,"The account is locked for user")?t("Frequent login failure will cause the account to be temporarily locked, please operate after 5 minutes"):(0,h.default)(e).call(e,"The account is disabled for user")?t("The user has been disabled, please contact the administrator"):(0,h.default)(e).call(e,"You are not authorized for any projects or domains")?t("If you are not authorized to access any project, or if the project you are involved in has been deleted or disabled, contact the platform administrator to reassign the project"):t("Username or password is incorrect")}init(){this.store=T.default,this.formRef=O.default.createRef()}renderExtra(){return null}render(){return O.default.createElement(O.default.Fragment,null,O.default.createElement("h1",{style:{color:"white"},className:R.default.welcome},this.productName," "),O.default.createElement(I.default,{formItems:this.formItems,name:"normal_login",className:R.default["login-form"],initialValues:this.defaultValue,onFinish:this.onFinish,formref:this.formRef,size:"large"}),this.renderExtra())}}n.Login=F;var U=(0,C.inject)("rootStore")((0,C.observer)(F));n.default=U},1745:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=t.SkylineStore=void 0;var o,i,l,s,d=a(n(25)),u=a(n(49)),f=a(n(74)),c=(a(n(35)),a(n(55))),m=(a(n(75)),n(36)),p=a(n(50)),h=a(n(53)),g=(o=class extends h.default{constructor(){super(...arguments),(0,f.default)(this,"domains",i,this),(0,f.default)(this,"regions",l,this),(0,f.default)(this,"sso",s,this)}get client(){return p.default.skyline.contrib}fetchDomainList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.domains();e.domains=t}))()}fetchRegionList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.regions();e.regions=t}))()}fetchSSO(){var e=this;return(0,u.default)((function*(){var t=yield p.default.skyline.sso.list();e.sso=t}))()}},i=(0,c.default)(o.prototype,"domains",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),l=(0,c.default)(o.prototype,"regions",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),s=(0,c.default)(o.prototype,"sso",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),(0,c.default)(o.prototype,"fetchDomainList",[m.action],(0,d.default)(o.prototype,"fetchDomainList"),o.prototype),(0,c.default)(o.prototype,"fetchRegionList",[m.action],(0,d.default)(o.prototype,"fetchRegionList"),o.prototype),(0,c.default)(o.prototype,"fetchSSO",[m.action],(0,d.default)(o.prototype,"fetchSSO"),o.prototype),o);t.SkylineStore=g;var _=new g;t.default=_},1746:function(e,t,n){var r=n(1747);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1747:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--2dPww {\n float: right;\n}\n.index__welcome--Wrl8u {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__login-form--2ucoo {\n width: 310px;\n}\n.index__login-error--2XGt4 {\n padding: 8px 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 1.5;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__login-error--2XGt4 .anticon {\n margin-right: 8px;\n}\n.index__ant-form-item-extra--2TUD6 {\n color: white !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--2dPww",welcome:"index__welcome--Wrl8u","login-form":"index__login-form--2ucoo","login-error":"index__login-error--2XGt4","ant-form-item-extra":"index__ant-form-item-extra--2TUD6"}},1748:function(e,n,r){"use strict";var a=r(162),o=r(20),i=r(25),l=r(21);o(n,"__esModule",{value:!0}),n.default=n.Password=void 0;var s=l(r(91));r(231);var d=l(r(341));r(569);var u=l(r(1253)),f=l(r(617)),c=l(r(35)),m=l(r(177)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var r={},a=o&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=a?i(e,l):null;s&&(s.get||s.set)?o(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(r(0)),h=(r(161),r(204)),g=(r(564),r(565)),_=r(412),x=r(36),v=l(r(1255)),w=l(r(1270)),b=l(r(1492)),y=l(r(1778));function S(e){if("function"!=typeof a)return null;var t=new a,n=new a;return(S=function(e){return e?n:t})(e)}class E extends p.Component{constructor(e){super(e),(0,c.default)(this,"formRef",null),(0,c.default)(this,"onFinish",(e=>{var{rootStore:n}=this.props,{userId:r,oldPassword:a}=this.passwordData,{password:o}=e,i={id:r,password:o,original_password:a};this.setState({loading:!0}),v.default.changePasswordUser(i).then((()=>{this.setState({loading:!1}),w.default.success(t("Password changed successfully, please log in again.")),n.setPasswordInfo(null),n.routing.push("/auth/login")}),(e=>{var{response:{data:{error:{message:t}={}}={}}={}}=e;this.setState({error:!0,message:t,loading:!1})}))})),(0,c.default)(this,"getCount",(e=>{try{return e.split("be unique is ")[1].split(".")[0]}catch(e){return 0}})),(0,c.default)(this,"getErrorWord",(e=>{if(!e)return t("Reset failed, please retry");if((0,s.default)(e).call(e,"The new password cannot be identical to a previous password.")>=0){var n=this.getCount(e);return n?"2"===n?t("The password must not be the same as the previous two"):t("The password must not be the same as the previous {num}",{num:n}):t("The password must not be the same as the previous")}return t("Reset failed, please retry")})),this.init(),this.state={error:!1,message:"",loading:!1}}componentDidMount(){var{rootStore:{routing:e}={}}=this.props;this.passwordData&&!(0,m.default)(this.passwordData)||e.push("/auth/login")}componentWillUnmount(){var{rootStore:e}=this.props;e.setPasswordInfo(null)}get passwordData(){var{rootStore:{oldPassword:e}={}}=this.props;return(0,x.toJS)(e)||{}}get defaultValue(){var{oldPassword:e}=this.passwordData;return{oldPassword:e}}get formItems(){var{error:e,message:n,loading:r}=this.state,a=this.getErrorWord(n);return[{name:"hint",render:()=>p.default.createElement("div",{className:y.default.hint},p.default.createElement(f.default,{style:{color:globalCSS.warnColor}}),t("User need to change password"))},{name:"error",hidden:!e,render:()=>p.default.createElement("div",{className:y.default.error},p.default.createElement(f.default,null),a)},{name:"password",required:!0,message:t("Please input your password!"),otherRule:(0,g.getPasswordOtherRule)("password","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Password")})},{name:"confirmPassword",required:!0,message:t("Please confirm your password!"),dependencies:["password"],otherRule:(0,g.getPasswordOtherRule)("confirmPassword","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Confirm Password")})},{name:"submit",className:y.default.between,render:()=>p.default.createElement(p.default.Fragment,null,p.default.createElement(d.default,{type:"primary",htmlType:"submit",loading:r},t("Confirm")),p.default.createElement(h.Link,{style:{marginLeft:50},to:"/auth/login"},t("Back to login page")))}]}init(){this.formRef=p.default.createRef()}render(){return p.default.createElement(p.default.Fragment,null,p.default.createElement("h1",{className:y.default.welcome},t("Welcome")),p.default.createElement(b.default,{formref:this.formRef,formItems:this.formItems,name:"reset_password",className:y.default.reset,onFinish:this.onFinish,initialValues:this.defaultValue,size:"large",scrollToFirstError:!0}))}}n.Password=E;var P=(0,_.inject)("rootStore")((0,_.observer)(E));n.default=P},1778:function(e,t,n){var r=n(1779);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1779:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--3Uzk2 {\n float: right;\n}\n.index__welcome--3RISd {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__hint--1lIUh {\n padding: 8px 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 1.5;\n background: #fffbe6;\n border: 1px solid #ffe58f;\n border-radius: 4px;\n}\n.index__hint--1lIUh .anticon {\n margin-right: 8px;\n}\n.index__reset--1EOoE {\n margin-top: 24px;\n}\n.index__reset--1EOoE .index__title--2znQU {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__info--3bS5M {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__between--10sD1 .ant-form-item-control-input-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__error--SAQ5q {\n padding-left: 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 38px;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__error--SAQ5q .anticon {\n margin-right: 8px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--3Uzk2",welcome:"index__welcome--3RISd",hint:"index__hint--1lIUh",reset:"index__reset--1EOoE",title:"index__title--2znQU",info:"index__info--3bS5M",between:"index__between--10sD1",error:"index__error--SAQ5q"}}}]); \ No newline at end of file diff --git a/skyline_console/static/auth.bundle.1741790621.js.gz b/skyline_console/static/auth.bundle.1741790621.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e8a585d2e268d46a12ed595435462e6fc1f26897 GIT binary patch literal 7506 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 literal 0 HcmV?d00001 diff --git a/skyline_console/static/base.bundle.1741741357.js b/skyline_console/static/base.bundle.1741790621.js similarity index 100% rename from skyline_console/static/base.bundle.1741741357.js rename to skyline_console/static/base.bundle.1741790621.js diff --git a/skyline_console/static/base.bundle.1741741357.js.gz b/skyline_console/static/base.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/base.bundle.1741741357.js.gz rename to skyline_console/static/base.bundle.1741790621.js.gz diff --git a/skyline_console/static/basic.bundle.1741741357.js b/skyline_console/static/basic.bundle.1741741357.js deleted file mode 100644 index d6536d71..00000000 --- a/skyline_console/static/basic.bundle.1741741357.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1239:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(416)),i=r(a(1780)),o=e=>(0,l.default)(i.default,e);t.default=o},1241:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),n(t,"FormAction",{enumerable:!0,get:function(){return l.default}}),n(t,"StepAction",{enumerable:!0,get:function(){return i.default}}),n(t,"ConfirmAction",{enumerable:!0,get:function(){return o.default}}),n(t,"ModalAction",{enumerable:!0,get:function(){return s.default}});var l=r(a(1820)),i=r(a(2021)),o=r(a(2047)),s=r(a(1380))},1250:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(29)),m=f(n(54)),g=f(n(28)),v=f(n(203)),y=f(n(1252)),b=f(n(91)),x=f(n(86)),w=f(n(345));n(347);var k=f(n(348));n(1271);var C=f(n(1272));n(1261);var _=f(n(1262));n(1246);var M=f(n(1247));n(1244);var S=f(n(1245)),I=f(n(343)),N=f(n(58));n(231);var E=f(n(341)),T=f(n(606)),A=f(n(35)),j=f(n(177)),P=f(n(102)),D=f(n(570)),L=f(n(352)),O=f(n(0)),R=f(n(1270)),z=(n(161),f(n(4))),U=(n(564),n(163)),F=n(349),B=f(n(1831)),V=n(662),K=n(567),Q=f(n(1563)),Y=f(n(1566)),G=f(n(2019));function H(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function W(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,A.default)(this,"updateContext",(e=>{var{updateContext:t}=this.props;t&&t(e)})),(0,A.default)(this,"unescape",(e=>(0,U.unescapeHtml)(e))),(0,A.default)(this,"getFormInstance",(()=>this.formRef.current)),(0,A.default)(this,"onSubmit",(e=>p.default.resolve())),(0,A.default)(this,"updateSubmitting",(e=>{this.setState({isSubmitting:e||!1})})),(0,A.default)(this,"onOk",((e,n,r)=>{if(this.values=e,!this.codeError){if(this.updateSubmitting(!0),!this.onSubmit)return r(!0,!1);var l=this.getSubmitData(e);return this.onSubmit(l,n).then((e=>{if(this.updateSubmitting(!1),!this.isModal&&this.routing.push(this.listUrl),this.response=e,r&&(0,L.default)(r)&&r(!0,!1),e instanceof Array){var a,n=this.instanceName?this.instanceName.split(", "):null,l=(0,h.default)(a=(0,m.default)(e).call(e,((e,t)=>"rejected"===e.status?{reason:e.reason,name:n?n[t]:""}:null))).call(a,(e=>!!e));0!==l.length?(0,g.default)(l).call(l,(e=>{var{response:{data:a}={}}=e.reason;this.showNotice&&R.default.errorWithDetail(a,t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:e.name}))})):this.showNotice&&R.default.success(this.successText)}else this.showNotice&&R.default.success(this.successText)}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.updateSubmitting(!1),a.responseError=e;var{response:{data:t}={}}=e;a.showNotice&&R.default.errorWithDetail(t,a.errorText),r&&(0,L.default)(r)&&r(!1,!0)}))}})),(0,A.default)(this,"onCancel",(()=>{if(this.isSubmitting&&this.cancel){this.cancel();var e="download"===this.progressType?t("Cancel download successfully."):t("Cancel upload successfully.");R.default.success(e)}})),(0,A.default)(this,"getChangedFieldsValue",((e,t)=>{var a=e[t];return(0,P.default)(a)&&a.value?a.value:(0,P.default)(a)&&a.selectedRows?a.selectedRows[0]:a})),(0,A.default)(this,"onValuesChange",((e,t)=>{})),(0,A.default)(this,"onValuesChangeForm",((e,t)=>{var a,n={};this.currentFormValue=t,(0,g.default)(a=this.nameForStateUpdate).call(a,(t=>{if((0,D.default)(e,t)){var a=this.getChangedFieldsValue(e,t);n[t]=a}})),(0,j.default)(n)||this.setState(W({},n)),this.onValuesChange(e,t)})),(0,A.default)(this,"checkFormInput",((e,t)=>{this.formRef.current&&this.formRef.current.validateFields().then((t=>{e&&e(t),this.updateContext(t)}),(e=>{var{values:a,errorFields:n}=e;n&&n.length&&t&&t(a,n)}))})),(0,A.default)(this,"onClickSubmit",((e,t,a)=>{this.codeError||this.checkFormInput((n=>{t&&t(n),this.onOk(n,a,e)}))})),(0,A.default)(this,"onClickCancel",(()=>{this.onCancel(),this.listUrl&&this.routing.push(this.listUrl)})),(0,A.default)(this,"updateDefaultValue",(()=>{this.resetFormValue(),this.updateContext(this.defaultValue)})),(0,A.default)(this,"resetFormValue",(e=>{this.formRef.current&&this.formRef.current.resetFields&&(e?this.formRef.current.resetFields(e):this.formRef.current.resetFields())})),(0,A.default)(this,"updateFormValue",((e,t)=>{this.formRef.current&&this.formRef.current.setFieldsValue({[e]:t})})),(0,A.default)(this,"onUploadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getUploadRequestConf",(()=>({onUploadProgress:this.onUploadProgress,cancelToken:this.cancelToken}))),(0,A.default)(this,"onDownloadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getDownloadRequestConf",(()=>({onDownloadProgress:this.onDownloadProgress,cancelToken:this.cancelToken}))),this.options=n,this.state={defaultValue:{},formData:{},isSubmitting:!1,percent:""},this.values={},this.response=null,this.responseError=null,this.formRef=O.default.createRef(),this.tipRef=O.default.createRef(),this.codeError=!1,this.currentFormValue={},this.cancel=null,this.cancelToken=this.hasRequestCancelCallback?new V.CancelToken((e=>{this.cancel=e})):null,this.init()}componentDidMount(){try{this.updateState()}catch(e){}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get disableSubmit(){return!1}get name(){return""}get title(){return""}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get params(){return this.props.match.params||{}}get location(){return this.props.location||{}}get locationParams(){var e;return(0,F.parse)((0,v.default)(e=this.location.search).call(e,1))}get listUrl(){return""}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get isAdminPage(){var{pathname:e=""}=this.props.location||{};return(0,U.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get currentProjectId(){return this.props.rootStore.projectId}get currentProjectName(){return this.props.rootStore.projectName}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,K.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,K.getLinkRender)({key:r,params:a,query:n,value:t})}get isStep(){return!1}get isModal(){return!1}get hasFooter(){return!(this.isStep||this.isModal)}get formStyle(){return{}}get footerStyle(){return{}}get labelCol(){return{xs:{span:5},sm:{span:3}}}get wrapperCol(){return{xs:{span:10},sm:{span:8}}}get defaultValue(){return null}get formDefaultValue(){var{context:e={}}=this.props,{defaultValue:t}=this;return W(W({},t),e)}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,y.default)(this)||{};return e}get successText(){return this.instanceName?(0,U.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,U.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){var{isSubmitting:e=!1}=this.state;return e}get formItems(){return[]}get validateMessages(){return[]}get tips(){return""}get showNotice(){return!0}get nameForStateUpdate(){var e,t,a=["radio","more"];return(0,m.default)(e=(0,h.default)(t=this.formItems).call(t,(e=>(0,b.default)(a).call(a,e.type)>=0))).call(e,(e=>e.name))}get hasRequestCancelCallback(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get progressType(){return"upload"}getRightExtraSpan(){return{left:18,right:6}}getSubmitData(e){return W({},e)}checkContextValue(){var{context:e}=this.props,t=this.nameForStateUpdate;return!(0,j.default)(e)&&!!(0,x.default)(t).call(t,(t=>(0,D.default)(e,t)))}updateState(){var{context:e}=this.props,t=this.nameForStateUpdate;if(0!==t.length){var a={};this.checkContextValue()?(0,g.default)(t).call(t,(t=>{a[t]=this.getChangedFieldsValue(e,t)})):(0,g.default)(t).call(t,(e=>{a[e]=this.getChangedFieldsValue(this.defaultValue,e)})),this.setState(W({},a))}}init(){this.store={}}renderTips(){return this.tips?O.default.createElement("div",{className:G.default.tips,ref:this.tipRef,id:"tips"},O.default.createElement(T.default,{className:G.default["tips-icon"]}),this.tips):null}renderFooterLeft(){return null}renderFooter(){if(!this.hasFooter)return null;var e={};if(this.tips){var a=((document.getElementById("tips")||{}).clientHeight||35)+16;e.bottom=a}return O.default.createElement("div",{className:G.default.footer,style:W(W({},e),this.footerStyle)},O.default.createElement("div",{className:G.default["footer-left"]},this.renderFooterLeft()),O.default.createElement("div",{className:(0,z.default)(G.default.btns,"footer-btns")},O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel,loading:this.isSubmitting},t("Cancel")),O.default.createElement(E.default,{disabled:this.disableSubmit,type:"primary",className:G.default.submit,onClick:this.onClickSubmit,loading:this.isSubmitting},this.okBtnText)))}renderFormItems(){try{var e;return(0,m.default)(e=this.formItems).call(e,((e,t)=>{var{name:a,display:n=!0}=e,r=(0,N.default)(e,["name","display"]);return n?(this.codeError=!1,O.default.createElement(S.default,{span:24/(e.colNum||1),key:"form-item-col-".concat(t),id:"form-item-col-".concat(a)},O.default.createElement(B.default,(0,I.default)({},r,{name:a,key:"form-item-".concat(t),formref:this.formRef})))):""}))}catch(e){var a={type:"label",label:t("Error"),content:"Can Not Submit"===e.message?this.errorText:t("Unable to render form")};return this.codeError=!0,O.default.createElement(S.default,{span:24/(a.colNum||1),key:"form-item-col-".concat(0),id:"form-item-col-".concat("error")},O.default.createElement(B.default,(0,I.default)({},a,{key:"form-item-".concat(0),formref:this.formRef})))}}renderForms(){return O.default.createElement(_.default,{ref:this.formRef,labelCol:this.labelCol,colon:!1,labelAlign:"left",wrapperCol:this.wrapperCol,name:this.name,initialValues:this.formDefaultValue,onValuesChange:this.onValuesChangeForm,scrollToFirstError:!0},O.default.createElement("input",{type:"password",hidden:!0,autoComplete:"new-password"}),O.default.createElement(M.default,null,this.renderFormItems()))}renderAbortButton(){return!this.isSubmitting||this.isModal?null:O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel},t("Abort Upload"))}renderSubmittingTip(){if(this.hasRequestCancelCallback){var{percent:e}=this.state,a="download"===this.progressType?t("Download progress"):t("Upload progress");return O.default.createElement("div",{className:G.default["submit-tip"]},a,O.default.createElement("div",{className:G.default["progress-wrapper"]},O.default.createElement(C.default,{percent:e,size:"small"})),this.renderAbortButton())}}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,O.default.createElement(Y.default,e)}renderRightTopExtra(){if(this.isModal)return null;var e=this.renderQuota();if(!e)return null;var t=(0,w.default)(this.quotaInfo);return O.default.createElement("div",{className:G.default["right-top-extra-wrapper"]},O.default.createElement(Q.default,{content:e,checkValue:t}))}renderModalRightExtra(){if(!this.isModal)return null;var e=this.renderQuota();return e?O.default.createElement("div",{className:G.default["modal-right-extra-wrapper"]},e):null}render(){var e=this.listUrl||this.isStep||this.isModal&&this.tips?G.default["wrapper-page-padding"]:"",t=this.renderTips(),a={};if((this.listUrl||this.isStep)&&this.tips&&this.tipRef.current)if(this.isStep){var n=this.tipRef.current.clientHeight+219;a.height="calc(100vh - ".concat(n,"px)")}else{var r=this.tipRef.current.clientHeight+66;a.height="calc(100% - ".concat(r,"px)")}var l=O.default.createElement(k.default,{spinning:this.isSubmitting,tip:this.renderSubmittingTip()},this.renderRightTopExtra(),O.default.createElement("div",{className:(0,z.default)(G.default.form,"sl-form"),style:W(W({},a),this.formStyle)},this.renderForms()),this.renderFooter()),i=!this.isModal||this.isModal&&!this.showQuota,{left:o,right:s}=this.getRightExtraSpan(),u=this.isModal&&!i?O.default.createElement(M.default,{justify:"space-between",align:"top"},O.default.createElement(S.default,{span:o},l),O.default.createElement(S.default,{span:s},this.renderModalRightExtra())):null;return O.default.createElement("div",{className:(0,z.default)(G.default.wrapper,e,this.className)},t,i&&l,u)}}a.default=q},1251:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.checkSystemAdmin=t.onlyAdminCanChangePolicy=t.onlyAdminCanReadPolicy=t.allCanChangePolicy=t.allCanReadPolicy=t.default=t.systemRoleIsReader=t.checkPolicyRule=t.changeToActualPolicy=t.convertPolicyMap=t.policyMap=void 0;var l=r(a(28)),i=r(a(1289)),o=r(a(77)),s=r(a(29)),u=r(a(32)),d=r(a(164)),c=r(a(86)),f=r(a(1277)),p=r(a(232)),h=r(a(570)),m=r(a(134)),g=r(a(352)),v=r(a(102)),y=r(a(92)),b=r(a(133)),x={nova:["os_compute_api"],ironic:["baremetal:"],cinder:["volume:","volume_extension","backup:get","backup:restore","scheduler_extension"],glance:["get_image","add_image","delete_image","modify_image","get_members","add_member","delete_member","metadef"],neutron:["get_network","create_network","update_network","delete_network","get_agent","delete_agent","update_agent","get_dhcp-agents","get_l3-agents","create_subnet","get_subnet","update_subnet","delete_subnet","create_port","get_port","update_port","delete_port","router","policy_bandwidth_limit_rule","policy_dscp_marking_rule","security_group","floatingip","vpnservice","ipsec_site_connection","rbac_policy"],octavia:["os_load-balancer_api"],heat:["stacks:","resource:index"],magnum:["cluster:","clustertemplate:"],barbican:["secret:get","secret:decrypt","secret:delete","containers:post"],zun:["capsule:","container:","host:get"],panko:["segregation","telemetry:events:index"],manila:["share:","share_","scheduler_stats:pools"],trove:["instance:create","instance:delete","instance:update","instance:backups","instance:restart","instance:resize","instance:extension","instance:guest_log_list","configuration:","backup:index","backup:show"]};t.policyMap=x;var w=e=>{var t,a={};return(0,l.default)(t=(0,i.default)(e)).call(t,(e=>{var[t,n]=e;(0,l.default)(n).call(n,(e=>{if(a[e]);a[e]=t}))})),a};t.convertPolicyMap=w;var k=(e,t)=>{var a,n,r,i=w(t);if(i[e])return(0,o.default)(r="".concat(i[e],":")).call(r,e);var c=(0,s.default)(a=(0,u.default)(i)).call(a,(t=>(0,d.default)(e).call(e,t)));c.length>1&&(0,l.default)(c).call(c,(e=>{}));var f=c.length&&i[c[0]];return f?(0,o.default)(n="".concat(f,":")).call(n,e):e};t.changeToActualPolicy=k;var C=(e,t,a)=>{var n;if(!e)return!0;var r=a?e:k(e,x),l=(0,c.default)(n=b.default.policies).call(n,(e=>e.rule===r));return!l||l.allowed};t.checkPolicyRule=C;var _=()=>{var{roles:e=[]}=b.default.user||{},t=["admin"],a=(0,p.default)(e).call(e,(e=>"reader"===e.name));if(!a)return!1;var n=(0,p.default)(e).call(e,(e=>(0,d.default)(t).call(t,e.name)));return a&&!n};t.systemRoleIsReader=_;var M=e=>{var{policy:t,aliasPolicy:a,item:n,actionName:r,isAdminPage:l,enableSystemReader:i}=e;if(0===b.default.policies.length)return!1;if(l&&!i&&_())return!1;if(l&&!i&&_())return!1;if(!t&&!a)return!0;var o=a||t,s=(0,g.default)(o)?o(n):o,u=[],d=!0;return(0,y.default)(s)?u=s:(0,v.default)(s)?(u=s.rules,(0,h.default)(s,"every")&&(d=(0,f.default)(s))):(0,m.default)(s)&&(u=[s]),!u||((e,t,a,n)=>0===e.length||(t?(0,f.default)(e).call(e,(e=>C(e,0,n))):(0,p.default)(e).call(e,(e=>C(e,0,n)))))(u,d,0,!!a)};t.default=M;t.allCanReadPolicy={rules:["admin","reader","member"],every:!1};t.allCanChangePolicy={rules:["admin","member"],every:!1};t.onlyAdminCanReadPolicy={rules:["admin","reader"],every:!1};t.onlyAdminCanChangePolicy={rules:["admin"],every:!1};t.checkSystemAdmin=()=>b.default.hasAdminRole},1302:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.ItemActionButtons=void 0;var h=p(n(1277)),m=p(n(54)),g=p(n(77)),v=p(n(28)),y=p(n(49)),b=p(n(35));n(585);var x=p(n(424));n(231);var w=p(n(341)),k=p(n(611));n(1300);var C=p(n(1301)),_=p(n(343));n(1276);var M=p(n(421)),S=p(n(205)),I=p(n(92)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),E=n(412),T=(n(161),n(564),p(n(4))),A=n(1435),j=p(n(1436)),P=p(n(1816));function D(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(D=function(e){return e?a:t})(e)}function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t!!e)):a}function F(e){var{firstAction:a=null,moreActions:n=[],alloweds:r=[],item:l,onFinishAction:i,routing:o,containerProps:s,firstActionClassName:u,onClickAction:d,onCancelAction:c,isWide:f}=e;if(0===r.length)return null;if(!a&&0===n.length)return null;var p=null,h=null,v=null;if(a){var y=U(r,0),b=z(a.action);p=N.default.createElement(j.default,(0,_.default)({},b,{buttonType:"link",routing:o,needHide:!1,isAllowed:y,item:l,onFinishAction:i,onCancelAction:c,buttonClassName:(0,T.default)(P.default["first-action"],u),containerProps:s,maxLength:8,onClickAction:d,isFirstAction:!0}))}var S=0,I=0,E=null;if(n.length>0){var A=f||n.length>1?P.default["more-action-btn"]:"",D=(0,m.default)(n).call(n,((e,t)=>{var a;if(!e.actions){var n=U(r,e.allowedIndex),u=e.key||"key-more-".concat(t),f=z(e.action);return n?(S+=1,I+=1,E=N.default.createElement(j.default,(0,_.default)({},f,{isAllowed:n,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,style:{padding:0},containerProps:s,onClickAction:d,buttonClassName:A})),N.default.createElement(M.default.Item,{key:u},E)):null}var p=0,h=(0,m.default)(a=e.actions).call(a,((e,a)=>{var n,u=U(r,e.allowedIndex),f=e.key||(0,g.default)(n="key-more-".concat(t,"-")).call(n,a);u&&(p+=1,S+=1,I+=1);var h=z(e.action);return N.default.createElement(M.default.Item,{key:f},N.default.createElement(j.default,(0,_.default)({},h,{isAllowed:u,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,containerProps:s,onClickAction:d,buttonClassName:A})))})),v="sub-menu-".concat(t);return N.default.createElement(R,{popupClassName:P.default["action-sub-menu"],title:e.title,disabled:0===p,key:v},h)})),L=N.default.createElement(M.default,null,D);if(a&&n.length>0&&S>0&&(h=N.default.createElement(C.default,{type:"vertical"})),1===S&&1===I&&E){var O=f?"":P.default["single-more-action"];v=N.default.createElement("span",{className:O},E)}else S>0&&(v=N.default.createElement(x.default,{overlay:L},N.default.createElement(w.default,{type:"link",className:P.default["more-action"]},t("More")," ",N.default.createElement(k.default,null))))}return N.default.createElement("div",{className:P.default["action-buttons"]},p,h,v)}class B extends N.Component{constructor(e){super(e),this.actionList=[],this.firstAction=null,this.moreActions=[],this.state={results:[]}}componentDidMount(){var e=this;return(0,y.default)((function*(){var{item:t,containerProps:a}=e.props;e.updateResult(t,a)}))()}shouldComponentUpdate(e,t){var{item:a,containerProps:n}=this.props,{results:r}=this.state;return(0,S.default)(e.item,a)?!(0,S.default)(r,t.results):(this.updateResult(e.item,n),!0)}static getDerivedStateFromProps(e,t){if(!(0,S.default)(e.item,t.item)){var{item:a}=e;return{item:a}}return null}get routing(){return this.props.rootStore.routing}updateResult(e,t){var a=this;return(0,y.default)((function*(){var{actions:n,isAdminPage:r}=a.props,{actionList:l,firstAction:i,moreActions:o}=function(e,t,a){var{firstAction:n=null,moreActions:r=[]}=e,l=[],i=n?{action:(0,A.getAction)(n,t,a),allowedIndex:0}:null,o=[];return n&&l.push(i),(0,v.default)(r).call(r,(e=>{if(e.actions){var n,r=[];(0,v.default)(n=e.actions).call(n,(e=>{var n={action:(0,A.getAction)(e,t,a),allowedIndex:l.length};r.push(n),l.push(n)})),o.push(O(O({},e),{},{actions:r}))}else if(e.action){var i={action:(0,A.getAction)(e.action,t,a),allowedIndex:l.length};o.push(i),l.push(i)}})),{actionList:l,firstAction:i,moreActions:o}}(n,e,t);a.actionList=l,a.firstAction=i,a.moreActions=o;var s=yield(0,A.getAllowedResults)({actions:a.actionList,data:e,key:"action",containerProps:t,isAdminPage:r});a.setState({results:s})}))()}render(){var{item:e,onFinishAction:t,containerProps:a,firstActionClassName:n,onClickAction:r,onCancelAction:l,isWide:i}=this.props,{results:o}=this.state;return N.default.createElement(F,{onFinishAction:t,onCancelAction:l,firstAction:this.firstAction,moreActions:this.moreActions,alloweds:o,item:e,routing:this.routing,containerProps:a,firstActionClassName:n,onClickAction:r,isWide:i})}}a.ItemActionButtons=B;var V=(0,E.inject)("rootStore")(B);a.default=V},1346:function(e,t,a){var n=a(1818);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1351:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(0)),o=l(n(2042)),s=n(163),u=n(204),d=l(n(2043));class c extends i.default.Component{render(){var{title:e,link:a,codeError:n,endpointError:r,goList:l,isAction:c}=this.props,f="";f=n?"Error":r?t("Not Open"):t("Resource Not Found");var p="",h="";p=c?t("Unable to {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):l?t("Unable to get {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):t("Unable to get {title}, please go to ",{title:(0,s.firstUpperCase)(e)}),h=l?i.default.createElement(u.Link,{to:a},t("list page")):i.default.createElement(u.Link,{to:a},t("Home page"));var m=i.default.createElement("p",null,p,h);return i.default.createElement("div",{className:d.default.wrapper},i.default.createElement("img",{className:d.default.image,src:o.default,alt:""}),i.default.createElement("div",{className:d.default.text},i.default.createElement("div",{className:"h1"},f),m))}}a.default=c},1376:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.renderClearButton=void 0,n(593);var p=f(n(427)),h=f(n(1313));n(1311);var m=f(n(1312)),g=f(n(49)),v=f(n(35)),y=f(n(54)),b=f(n(86)),x=f(n(32)),w=f(n(91)),k=f(n(29)),C=f(n(350)),_=f(n(591)),M=f(n(28)),S=f(n(596)),I=f(n(164));n(344);var N=f(n(202));n(231);var E,T,A,j=f(n(341)),P=f(n(1515)),D=f(n(177)),L=f(n(205)),O=f(n(134)),R=f(n(119)),z=f(n(0)),U=(n(161),n(564),n(412)),F=f(n(16)),B=f(n(1516)),V=f(n(1517)),K=f(n(1518)),Q=f(n(4)),Y=f(n(1868));function G(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function H(e){for(var t=1;te.key||e.id,q=(e,t,a)=>{var{selectedRowKeys:n=[],selectedRows:r=[]}=e;if(!n||0===n.length)return[];var l=(0,y.default)(r).call(r,(e=>W(e)));return(0,L.default)(n,l)?r:(0,y.default)(n).call(n,(e=>{var n,l=a?r:t;return(0,b.default)(n=l||[]).call(n,(t=>W(t)===e))||{key:e,id:e,name:e}}))},$=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{showSelected:r=!0}=n;return r&&a&&a.length?z.default.createElement(N.default,{title:t("Clear selected")},z.default.createElement(j.default,{size:"small",onClick:e.clearSelected},z.default.createElement(P.default,null))):null};a.renderClearButton=$;var Z=(0,U.observer)((A=T=class extends z.default.Component{constructor(e){var t;super(e),t=this,(0,v.default)(this,"getDataParams",(()=>{var{filters:e,current:t,pageSize:a}=this.state;return H({page:t,limit:a},e)})),(0,v.default)(this,"handleFooterPaginationChange",((e,t)=>{var{filters:a}=this.state;this.getBackendData(H({limit:t,page:e,current:e,sortKey:this.sortKey,sortOrder:this.sortOrder},a))})),(0,v.default)(this,"getBackendData",function(){var e=(0,g.default)((function*(e){var{extraParams:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l}=t.props,i=H(H({},e),a);n&&(i.sortKey=i.sortKey||t.sortKey||r||"",i.sortOrder=i.sortOrder||t.sortOrder||l||"");var o=yield t.fetchDataByPage(i),{backendPageStore:s,backendPageDataKey:u}=t.props,{total:d}=s[u]||{};t.setState({data:o,total:d,current:e.page,pageSize:e.limit},(()=>{t.initTabChange()}))}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"fetchDataByPage",function(){var e=(0,g.default)((function*(e){var{backendPageStore:a,backendPageFunc:n,backendPageDataKey:r}=t.props,l=yield a[n](e);return a[r].silent=!1,l}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"filterData",((e,t)=>{var a;return!(0,b.default)(a=(0,x.default)(t)).call(a,(a=>{var n,r=(0,R.default)(e,a),l=t[a];return(0,O.default)(r)&&(0,O.default)(l)?(0,w.default)(n=r.toLowerCase()).call(n,l.toLowerCase())<0:(0,L.default)(r,l)}))})),(0,v.default)(this,"getDataSource",(()=>{try{var{backendPageStore:e,rowKey:t}=this.props;if(e)return this.getDataFromStore();var{data:a}=this.state;return(0,y.default)(a).call(a,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,t)})))}catch(e){return[]}})),(0,v.default)(this,"getDataFromStore",(()=>{var{backendPageStore:e,backendPageDataKey:t,rowKey:a}=this.props,{data:n=[]}=e[t]||{};return(0,y.default)(n).call(n,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,a)})))})),(0,v.default)(this,"getRealSelectedKeys",(e=>{var t,{isMulti:a,backendPageStore:n}=this.props;if(!n||!a)return e;var{selectedRowKeys:r,data:l}=this.state,i=(0,y.default)(l).call(l,(e=>W(e))),o=(0,k.default)(e).call(e,(e=>(0,w.default)(i).call(i,e)>=0)),s=(0,k.default)(r).call(r,(t=>(0,w.default)(i).call(i,t)>=0&&(0,w.default)(e).call(e,t)<0));return(0,k.default)(t=(0,C.default)(new _.default([...r,...o]))).call(t,(e=>(0,w.default)(s).call(s,e)<0))})),(0,v.default)(this,"handleSelectRow",(e=>{var t=this.getRealSelectedKeys(e),a=this.getSelectedRows(t);this.setState({selectedRowKeys:t,selectedRows:a})})),(0,v.default)(this,"handleFilterInput",(e=>{this.setState({tags:e});var{backendPageStore:t}=this.props,a={};if((0,M.default)(e).call(e,(e=>{a[(0,k.default)(e).name]=e.value})),t){var{pageSize:n}=this.state;this.getBackendData(H({limit:n,page:1},a)),this.setState({filters:a,current:1})}else this.setState({filters:a,current:1})})),(0,v.default)(this,"updateTab",(e=>{this.setState({tab:e},(()=>{this.onChange({tab:e})}))})),(0,v.default)(this,"onChange",(function(){var{tab:e,selectedRowKeys:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onChange:n}=t.props;if(n){var{tab:r,selectedRowKeys:l,selectedRows:i=[]}=t.state,o=(0,D.default)(i)?t.getSelectedRows(a):i;n({tab:e||r,selectedRows:o,selectedRowKeys:a||l,data:t.getDataSource()})}})),(0,v.default)(this,"getSelectedRowsAll",(e=>{var{data:t=[],selectedRowKeys:a}=this.state;return e?(0,k.default)(t).call(t,(t=>(0,w.default)(e).call(e,W(t))>=0)):(0,k.default)(t).call(t,(e=>(0,w.default)(a).call(a,W(e))>=0))})),(0,v.default)(this,"getSelectedRowsBackend",(e=>{var{isMulti:t}=this.props,{data:a=[],selectedRowKeys:n,selectedRows:r}=this.state;if(t)return this.getSelectedRowsBackendMulti(e);var l=e||n,i=(0,k.default)(a).call(a,(e=>(0,w.default)(l).call(l,W(e))>=0));if(i.length===l.length)return i;var o=(0,k.default)(r).call(r,(e=>(0,w.default)(l).call(l,W(e))>=0));return o.length===l.length?o:(0,y.default)(l).call(l,(e=>({key:e,id:e,name:e})))})),(0,v.default)(this,"getSelectedRowsBackendMulti",(e=>{var{data:t=[],selectedRowKeys:a=[],selectedRows:n=[]}=this.state;if(!e)return n;var r=(0,k.default)(e).call(e,(e=>(0,w.default)(a).call(a,e)<0)),l=(0,k.default)(a).call(a,(t=>(0,w.default)(e).call(e,t)<0));return[...(0,k.default)(n).call(n,(e=>(0,w.default)(l).call(l,W(e))<0)),...(0,k.default)(t).call(t,(e=>(0,w.default)(r).call(r,W(e))>=0))]})),(0,v.default)(this,"getSelectedRows",(e=>{var{backendPageStore:t}=this.props;return t?this.getSelectedRowsBackend(e):this.getSelectedRowsAll(e)})),(0,v.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,v.default)(this,"handleChange",((e,t,a,n)=>{var{current:r,pageSize:l}=e,{backendPageStore:i,isSortByBack:o}=this.props,s=H({limit:l||this.state.pageSize,page:r||this.state,current:r,sortKey:this.getSortKey(a),sortOrder:a.order},t);if(i){var{action:u}=n;"sort"===u?(this.sortKey=this.getSortKey(a),this.sortOrder=a.order,o?(this.setState({current:1}),s.current=1,s.page=1,this.getBackendData(s)):(r=this.state.current,l=this.state.pageSize,this.setState({current:r,pageSize:l}))):this.getBackendData(s)}else this.setState({current:r,pageSize:l})})),(0,v.default)(this,"onTabChange",(e=>{var{onTabChange:t}=this.props;t&&(e.target?(this.updateTab(e.target.value),t(e.target.value)):(t(e),this.updateTab(e)))})),(0,v.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t}=this.state,a=(0,k.default)(t).call(t,(t=>t!==W(e))),n=this.getSelectedRows(a);this.setState({selectedRowKeys:a,selectedRows:n})})),(0,v.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]})})),(0,v.default)(this,"handleRefresh",(()=>{var{backendPageStore:e,refreshFunc:t}=this.props,{tags:a=[]}=this.state;t?t():e&&this.handleFilterInput(a)})),(0,v.default)(this,"renderTableFooter",(e=>{var t,{page:a,current:n,pageSize:r,total:l}=this.state,i=this.getLoading(),o=(0,S.default)(t=(0,C.default)(new _.default([this.props.pageSize,10,20,50,100]))).call(t,((e,t)=>e-t));return z.default.createElement(K.default,{current:a||n||1,pageSize:r,size:"small",onChange:this.handleFooterPaginationChange,currentDataSize:e.length,total:l,isLoading:i,defaultPageSize:this.props.pageSize,pageSizeOptions:o,className:Y.default["pagination-footer"]})})),(0,v.default)(this,"renderTag",(e=>z.default.createElement(m.default,{key:e.key||(0,R.default)(e,this.props.rowKey),closable:!0,onClose:()=>this.onTagClose(e)},e[this.props.tagKey]||e[this.props.secondTagKey]))),(0,v.default)(this,"renderClearButton",(e=>$(this,e,this.props)));var{data:a=[],pageSize:n,initValue:r={}}=e,{selectedRowKeys:l,selectedRows:i}=this.getInitValue(e);this.state={data:a,filters:null,current:1,pageSize:n,total:this.getTotal(e),selectedRowKeys:l,selectedRows:i,tab:"",initValue:r},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder}componentDidMount(){this.getData()}componentDidUpdate(e,t){(0,L.default)(e.backendPageStore,this.props.backendPageStore)||this.getData();var{selectedRowKeys:a}=this.state,{selectedRowKeys:n}=t;(0,L.default)(a,n)||this.onChange({selectedRowKeys:a})}getData(){var{backendPageStore:e,pageSize:t}=this.props;e?this.handleFooterPaginationChange(1,t):this.initTabChange()}getInitValue(e){var{value:t={},initValue:a={},data:n=[],backendPageStore:r}=e;if(!(0,D.default)(a)){var{selectedRowKeys:l=[]}=a;return{selectedRowKeys:l,selectedRows:q(a,n,r)}}var{selectedRowKeys:i=[]}=t||{};return{selectedRowKeys:i,selectedRows:q(t||{},n,r)}}getTotal(e){var{data:t=[],backendPageStore:a,backendPageDataKey:n}=e||this.props;return a?(a[n]||{}).total:t.length}static getDerivedStateFromProps(e,t){var{value:a,data:n=[],backendPageStore:r,initValue:l={}}=e,i={};if(r||(0,L.default)(n,t.data)||(i.data=n,i.total=n.length,i.current=t.current||1),!a)return(0,D.default)(i)?null:i;var{tab:o}=a;if(a&&o!==t.tab&&(i.tag=o),!(0,L.default)(l,t.initValue)){var{selectedRowKeys:s=[]}=l,u=q(l,n,r);i.selectedRowKeys=s,i.selectedRows=u,i.initValue=l}return(0,D.default)(i)?null:i}get tableColumns(){var{columns:e}=this.props;return(0,k.default)(e).call(e,(e=>!e.hidden))}get rowSelection(){var{isMulti:e,disabledFunc:t,maxSelectedCount:a,rowKey:n,tagKey:r}=this.props;if(-1===a)return null;var{selectedRowKeys:l}=this.state,i={selectedRowKeys:l,type:e?"checkbox":"radio",onChange:this.handleSelectRow};return t&&(i.getCheckboxProps=e=>({disabled:t(e),name:(0,R.default)(e,n)||(0,R.default)(e,r)})),a&&l.length===a&&(i.getCheckboxProps=e=>({disabled:!(0,I.default)(l).call(l,(0,R.default)(e,n))})),i}getLoading(){var{backendPageStore:e,backendPageDataKey:t,isLoading:a}=this.props;return e?e[t].isLoading:a}initTabChange(){var{defaultTabValue:e,onTabChange:t,value:a}=this.props;if(void 0!==e&&void 0!==t){var n=a&&a.tab||e;t(n),this.updateTab(n)}}renderRefresh(){var{hideRefresh:e,backendPageStore:t,refreshFunc:a}=this.props,n=!1;return e||(t||a)&&(n=!0),n?z.default.createElement(j.default,{type:"default",icon:z.default.createElement(h.default,null),onClick:this.handleRefresh}):null}renderSearch(){var{canSearch:e}=this.props;if(!e)return null;var{filterParams:t}=this.props,{filters:a}=this.state;return z.default.createElement("div",{className:(0,Q.default)("ant-col-xs-16","ant-col-sm-12",Y.default["search-wrapper"])},z.default.createElement(B.default,{filterParams:t,onInputChange:this.handleFilterInput,initValue:a}))}renderSearchLine(){return z.default.createElement("div",{className:Y.default["search-line"]},this.renderSearch(),this.renderRefresh())}renderHeader(){var{header:e}=this.props;return e||null}renderTableHeader(){var{tableHeader:e}=this.props;return e||null}renderTable(){var e,t,{backendPageStore:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,filterParams:i,onRow:o,rowKey:s,childrenColumnName:u}=this.props,{current:d,pageSize:c,total:f,filters:p}=this.state,h=(0,y.default)(e=(0,S.default)(t=[this.props.pageSize,10,20,50,100]).call(t,((e,t)=>e-t))).call(e,(e=>"".concat(e))),m=!a&&{current:d,pageSize:c,total:f,size:"small",position:["bottomLeft"],pageSizeOptions:h},g=a?this.renderTableFooter:null,v=this.getLoading(),b=this.getDataSource(),x=a?Y.default["sl-select-table-backend"]:"";return z.default.createElement(V.default,{className:(0,Q.default)(Y.default["sl-select-table"],"sl-select-table",x),rowSelection:this.rowSelection,rowKey:s,columns:this.tableColumns,data:b,filters:p,searchFilters:i,pagination:m,isLoading:v,filterByBackend:!!a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,onChange:this.handleChange,footer:g,onRow:o,childrenColumnName:u})}renderImageTabs(){var{tabs:e,defaultTabValue:t,imageTabAuto:a}=this.props,{tab:n}=this.state,r=(0,y.default)(e).call(e,(e=>{var{value:t,image:n,component:r,label:l}=e;return z.default.createElement(p.default.Button,{className:a?"":Y.default["image-tab"],value:t,key:t},n&&z.default.createElement("img",{src:n,alt:l}),r,z.default.createElement("span",{className:Y.default["image-tab-label"]},l))}));return z.default.createElement(p.default.Group,{className:Y.default["image-tabs"],id:"select-table-tabs",onChange:this.onTabChange,defaultValue:t,value:n},r)}renderNormalTabs(){var{tabs:e,defaultTabValue:t}=this.props,{tab:a}=this.state,n=(0,y.default)(e).call(e,(e=>z.default.createElement(p.default.Button,{className:Y.default["normal-tab"],value:e.value,key:e.value},z.default.createElement("span",{className:Y.default["normal-tab-label"]},e.label))));return z.default.createElement(p.default.Group,{className:Y.default["normal-tabs"],onChange:this.onTabChange,buttonStyle:"solid",defaultValue:t,value:a},n)}renderTips(){var{tips:e}=this.props;return e?z.default.createElement("div",null,e):null}renderTabs(){var{tabs:e,tabsNode:t}=this.props;return t||(e?(0,b.default)(e).call(e,(e=>!!e.image||!!e.component))?this.renderImageTabs():this.renderNormalTabs():null)}renderSelected(){var{showSelected:e=!0,selectedLabel:a,maxSelectedCount:n}=this.props;if(-1===n)return null;var{selectedRows:r=[]}=this.state;if(!e)return null;var l=(0,D.default)(r)?this.getSelectedRows():r,i=(0,y.default)(l).call(l,(e=>this.renderTag(e))),o=this.renderClearButton(l);return z.default.createElement("div",null,t("Selected")," ",a,":  ",o,"  ",i)}render(){return z.default.createElement("div",{className:Y.default["select-table"]},this.renderHeader(),this.renderTabs(),this.renderSearchLine(),this.renderTableHeader(),this.renderTable(),this.renderSelected())}},(0,v.default)(T,"propTypes",{data:F.default.array,columns:F.default.array.isRequired,isMulti:F.default.bool,pageSize:F.default.number,tabs:F.default.array,defaultTabValue:F.default.any,tabsNode:F.default.node,onTabChange:F.default.func,canSearch:F.default.bool,filterParams:F.default.array,disabledFunc:F.default.func,onChange:F.default.func,selectedLabel:F.default.string,tips:F.default.string,isLoading:F.default.bool,tagKey:F.default.string,secondTagKey:F.default.string,maxSelectedCount:F.default.number,tableHeader:F.default.any,header:F.default.any,backendPageStore:F.default.any,backendPageFunc:F.default.string,backendPageDataKey:F.default.string,extraParams:F.default.object,initValue:F.default.object,rowKey:F.default.string,isSortByBack:F.default.bool,defaultSortKey:F.default.string,defaultSortOrder:F.default.string,onRow:F.default.func,childrenColumnName:F.default.string,imageTabAuto:F.default.bool,refreshFunc:F.default.func,hideRefresh:F.default.bool}),(0,v.default)(T,"defaultProps",{data:[],isMulti:!1,pageSize:5,canSearch:!0,filterParams:[],selectedLabel:"",tips:"",tableHeader:null,header:null,backendPageStore:null,backendPageFunc:"fetchListByPage",backendPageDataKey:"list",extraParams:{},initValue:{},rowKey:"id",tagKey:"name",secondTagKey:"id",isSortByBack:!1,defaultSortKey:"",defaultSortOrder:"",childrenColumnName:"children",imageTabAuto:!1,refreshFunc:null,hideRefresh:!1}),E=A))||E;a.default=Z},1380:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(63)),o=l(n(1252)),s=l(n(35)),u=n(163),d=l(n(1250));class c extends d.default{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>i.default.resolve()))}get name(){return t("Edit")}get isModal(){return!0}static get modalSize(){return"small"}getModalSize(){return"small"}getRightExtraSpan(){var e="large"===this.getModalSize();return{left:e?20:18,right:e?4:6}}static get showQuota(){return!1}get showQuota(){return!1}get labelCol(){return"large"===this.getModalSize()?{xs:{span:6},sm:{span:4}}:{xs:{span:8},sm:{span:6}}}get wrapperCol(){return{xs:{span:16},sm:{span:16}}}static allowed(){return i.default.resolve()}get messageHasItemName(){return!0}get instanceName(){return(this.item||{}).name||((0,o.default)(this)||{}).name||this.itemId}get isAsyncAction(){return!1}get successText(){return this.messageHasItemName?this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,u.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase()})):(0,u.firstUpperCase)(t("{action} successfully.",{action:this.name}))}get errorText(){return this.messageHasItemName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get containerProps(){return this.props.containerProps||{}}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps;return e}get item(){var{item:e}=this.props;return e||this.containerProps.detail||{name:""}}get itemId(){return(this.item||{}).id}get actionId(){var{action:e}=this.props;return null==e?void 0:e.id}get items(){var{items:e}=this.props;return e}get defaultValue(){var{name:e=""}=this.item;return{name:e}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}}a.default=c,(0,s.default)(c,"id","modalAction"),(0,s.default)(c,"actionType","modal"),(0,s.default)(c,"title",t("Edit")),(0,s.default)(c,"buttonType","primary"),(0,s.default)(c,"isDanger",!1),(0,s.default)(c,"policy",""),(0,s.default)(c,"aliasPolicy","")},1433:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getFirstLevelNavItemLink=t.navItemPropType=void 0;var l=r(a(16)),i=l.default.shape({name:l.default.string,path:l.default.string,children:l.default.arrayOf(i)});t.navItemPropType=i;t.getFirstLevelNavItemLink=e=>{var{children:t=[]}=e;return t.length?e.children[0].path:e.path}},1435:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.checkAllowed=p,t.getAllowedResults=function(e){return m.apply(this,arguments)},t.getPolicyResults=g,t.getAction=v,t.getActionsByPolicy=function(e){var{actions:t,containerProps:a,isAdminPage:n}=e,r=(0,o.default)(t).call(t,(e=>v(e,null,a))),l=g({actions:r,isAdminPage:n});return(0,s.default)(r).call(r,((e,t)=>l[t]))};var o=i(a(54)),s=i(a(29)),u=i(a(63)),d=i(a(49)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(1251));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}function p(e){return h.apply(this,arguments)}function h(){return(h=(0,d.default)((function*(e){var{item:t,policy:a,aliasPolicy:n,allowed:r,allowedExtra:l,containerProps:i,actionName:o,extra:s,isAdminPage:d,action:f}=e,{enableSystemReader:p}=f||{};if(!(0,c.default)({policy:a,aliasPolicy:n,item:t,actionName:o,isAdminPage:d,enableSystemReader:p}))return!1;var h=!1,m=!0;return l&&(m=l({item:t,containerProps:i,extra:s,action:f}))instanceof u.default&&(m=yield m),!!m&&(r&&(h=r(t,i,s))instanceof u.default&&(h=yield h),h)}))).apply(this,arguments)}function m(){return(m=(0,d.default)((function*(e){var{actions:t,data:a,key:n,containerProps:r,extra:l,isAdminPage:i}=e,s=(0,o.default)(t).call(t,function(){var e=(0,d.default)((function*(e){return p({item:a,policy:n?e[n].policy:e.policy,aliasPolicy:n?e[n].aliasPolicy:e.aliasPolicy,allowed:n?e[n].allowed:e.allowed,allowedExtra:n?e[n].allowedExtra:e.allowedExtra,containerProps:r,actionName:n?e[n].title:e.title,extra:l,isAdminPage:i,action:e.action})}));return function(t){return e.apply(this,arguments)}}());return yield u.default.all(s)}))).apply(this,arguments)}function g(e){var{actions:t,extra:a,isAdminPage:n}=e;return(0,o.default)(t).call(t,(e=>{var{policy:t,aliasPolicy:r,title:l,enableSystemReader:i}=e;return!(n&&!i&&(0,c.systemRoleIsReader)())&&(0,c.default)({policy:t,aliasPolicy:r,actionName:l,extra:a})}))}function v(e,t,a){var{actionType:n}=e;return"confirm"===n?new e({item:t,containerProps:a}):e}},1436:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.ActionButton=a.getDefaultMsg=void 0;var s=o(n(54)),u=o(n(63)),d=o(n(588)),c=o(n(29)),f=o(n(28));n(344);var p=o(n(202));n(231);var h=o(n(341));n(1325);var m=o(n(1326)),g=o(n(49)),v=o(n(35)),y=o(n(177)),b=o(n(434)),x=o(n(352)),w=o(n(92)),k=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),C=n(412),_=(n(161),o(n(1437))),M=o(n(16)),S=o(n(1270)),I=o(n(4)),N=n(163),E=o(n(1814));function T(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(T=function(e){return e?a:t})(e)}var A=(e,a)=>{var{actionName:n="",title:r=""}=e,l=(0,w.default)(a)?(0,s.default)(a).call(a,(e=>e.name)).join(", "):a.name,i=t("Unable to {action} {name}.",{action:n.toLowerCase()||r,name:l}),o=t("You are not allowed to { action } {name}.",{action:n.toLowerCase()||r,name:l});return{submitErrorMsg:i,submitSuccessMsg:(0,N.firstUpperCase)(t("{action} {name} successfully.",{action:n.toLowerCase()||r,name:l})),confirmContext:t("Are you sure to { action } {name}?",{action:n.toLowerCase()||r,name:l}),performErrorMsg:o}};a.getDefaultMsg=A;class j extends k.Component{static propTypes(){return{title:M.default.string.isRequired,id:M.default.string.isRequired,perform:M.default.func.isRequired,item:M.default.object,actionType:M.default.string,icon:M.default.string,isAllowed:M.default.bool,needHide:M.default.bool,buttonType:M.default.string,isDanger:M.default.bool,items:M.default.array,isBatch:M.default.bool,path:M.default.string,onFinishAction:M.default.func,action:M.default.any,containerProps:M.default.any,maxLength:M.default.number,isFirstAction:M.default.bool,onClickAction:M.default.func,visible:M.default.bool}}constructor(e){var t;super(e),t=this,(0,v.default)(this,"onClick",(()=>{var{actionType:e,onClickAction:t}=this.props;switch(e){case"confirm":this.onShowConfirm();break;case"link":var{action:a,item:n,containerProps:r}=this.props,{path:l}=a;if((0,x.default)(l)){var i=l(n,r);this.routing.push(i)}else this.routing.push(l);break;default:this.formRef=k.default.createRef(),this.showModalAction()}t&&t()})),(0,v.default)(this,"handleSubmitLoading",(e=>{this.setState({submitLoading:!!e})})),(0,v.default)(this,"handleSubmit",(e=>{var{item:t,isBatch:a,items:n}=this.props;if(this.onSubmit){this.handleSubmitLoading(!0);var r=a?n:t,l=this.onSubmit(e,r);l instanceof u.default?l.then((()=>{this.onShowSuccess(r)}),(e=>{this.onShowError(r,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),l?this.onShowSuccess(r):this.onShowError(r,l))}})),(0,v.default)(this,"onOK",(()=>{var{onSubmit:e,form:t,item:a,isBatch:n,items:r}=this.props;e&&(this.handleSubmitLoading(!0),t.validateFields([],((l,i)=>{if(!l){var o=n?r:a,s=e(t.getFieldsValue(),o);s instanceof u.default?s.then((()=>{this.onShowSuccess(o)}),(e=>{this.onShowError(o,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),s?this.onShowSuccess(o):this.onShowError(o,s))}})))})),(0,v.default)(this,"onShowSuccess",((e,t)=>{var{submitSuccessMsg:a}=this.props.action,n=a?a(e):A(this.props.action,e).submitSuccessMsg;S.default.success(n),this.onCallback(!0,!1,t)})),(0,v.default)(this,"onCallback",((e,t,a)=>{var{onFinishAction:n,id:r}=this.props;if(n){var l="delete"===r;(0,d.default)((()=>{n(e,t,l,a)}),500)}})),(0,v.default)(this,"onShowError",((e,t)=>{var{showConfirmErrorBeforeSubmit:a,confirmErrorMessageBeforeSubmit:n}=this.props.action;if(a)return _.default.error({content:n}),void this.onCallback(!1,!0);var{submitErrorMsg:r}=this.props.action,{data:l}=(t||{}).response||t||{},i=l||t,o=r?r(e,i):A(this.props.action,e).submitErrorMsg;S.default.errorWithDetail(i,o),this.onCallback(!1,!0)})),(0,v.default)(this,"getConfirmOkButtonProps",((e,t)=>{var{disableSubmit:a=!1,okButtonProps:n}=t;return n||{disabled:a}})),(0,v.default)(this,"getConfirmCancelButtonProps",((e,t)=>{var{cancelButtonProps:a}=t;return a||{}})),(0,v.default)(this,"getConfirmContent",((e,t)=>{var{confirmContext:a}=t;return a?a(e):A(t,e).confirmContext})),(0,v.default)(this,"onShowConfirm",(0,g.default)((function*(){var{item:e,items:a,isBatch:n,containerProps:r,onCancelAction:l,action:i}=t.props,{perform:o,title:s,okText:u,cancelText:d,onSubmit:c,afterSubmit:f}=i,p=n?a:e,h=t.getConfirmContent(p,i),m=t.getConfirmOkButtonProps(p,i),g=t.getConfirmCancelButtonProps(p,i);try{o(p).then((()=>{var e=_.default.confirm({title:s,content:h,okText:u,cancelText:d,okButtonProps:m,cancelButtonProps:g,onOk:()=>t.onConfirmOK(p,c,n,r,f,e),onCancel:()=>{l&&l()}})}),(e=>{var t=e||A(i,p).performErrorMsg;_.default.error({content:t})}))}catch(e){var v=e||A(i,p).performErrorMsg;_.default.error({content:v})}}))),(0,v.default)(this,"onSubmitOne",((e,t,a,n)=>new u.default(((r,l)=>{var i=t(e,a);i instanceof u.default?i.then((()=>{this.onShowSuccess(e,n),r()}),(e=>{l(e)})):i?(this.onShowSuccess(e,n),r()):l(i)})).catch((t=>{this.onShowError(e,t)})))),(0,v.default)(this,"onSubmitBatch",((e,t,a,n,r)=>new u.default(((l,i)=>{var o=(0,s.default)(e).call(e,((r,l)=>t(r,a,n,l,e)));(0,N.allSettled)(o).then((t=>{var a,n=(0,c.default)(a=(0,s.default)(t).call(t,((t,a)=>"rejected"===t.status?{data:e[a],reason:t.reason}:null))).call(a,(e=>!!e));return 0===n.length?(this.onShowSuccess(e,r),l()):((0,f.default)(n).call(n,(e=>{this.onShowError(e.data,e.reason)})),n.length===e.length?i():l())}))})))),(0,v.default)(this,"onConfirmOK",((e,t,a,n,r,l)=>a?this.onSubmitBatch(e,t,n,a,r).catch((()=>{l&&l.update({visible:!1})})):this.onSubmitOne(e,t,n,r))),(0,v.default)(this,"onClickModalActionOk",(()=>{var{containerProps:e}=this.props;return this.formRef.current.wrappedInstance.onClickSubmit(((e,t)=>{this.handleSubmitLoading(),this.onClickModalActionCancel(!0),this.onCallback(e,t)}),(()=>{this.handleSubmitLoading(!0)}),e)})),(0,v.default)(this,"onClickModalActionCancel",(e=>{var t=()=>{(0,b.default)(e)||this.formRef.current.wrappedInstance.onClickCancel();var{onCancelAction:t}=this.props;this.setState({visible:!1},(()=>{t&&t()}))},{action:{beforeCancel:a}}=this.props;if(a)return a(t);t()})),(0,v.default)(this,"getModalWidth",(e=>{var{modalSize:t,showQuota:a=!1}=e,n=a?1.25:1;switch(t){case"small":return 520*n;case"middle":return 720*n;case"large":return 1200;default:return 520*n}})),(0,v.default)(this,"getModalOkButtonProps",(e=>{var{item:t,action:a,items:n}=e,{disableSubmit:r=!1,okButtonProps:l}=a;return l||{disabled:(0,x.default)(r)?r({item:t,items:n,action:a}):r}})),(0,v.default)(this,"getModalCancelButtonProps",(e=>{var{item:t,action:a,items:n}=e,{readOnly:r,cancelButtonProps:l}=a;return l||(r?{style:{display:"none"}}:{})}));var{id:a}=e;if(!a)throw Error("need id!");this.state={visible:!1,submitLoading:!1}}get routing(){return this.props.rootStore.routing}showModalAction(){this.setState({visible:!0})}renderModal(){var{visible:e,submitLoading:t}=this.state;if(!e)return null;var{title:a,action:n,item:r,containerProps:l,items:i,onFinishAction:o,onCancelAction:s}=this.props,u=n,{okText:d,cancelText:c,id:f,className:p}=n,h=this.getModalWidth(n),g=this.getModalOkButtonProps({item:r,action:n,items:i}),v=this.getModalCancelButtonProps({item:r,action:n,items:i}),b={title:a,visible:e,className:(0,I.default)("modal-".concat(f),E.default["modal-action"],p),width:h,onOk:()=>this.onClickModalActionOk(),onCancel:this.onClickModalActionCancel,okButtonProps:g,confirmLoading:t,okText:d,cancelText:c,maskClosable:!1};return(0,y.default)(v)||(b.cancelButtonProps=v),k.default.createElement(m.default,b,k.default.createElement(u,{item:r,items:i,ref:this.formRef,containerProps:l,onFinishAction:o,onCancelAction:s,modalProps:b,action:n}))}render(){var{isAllowed:e,needHide:t,buttonType:a,buttonClassName:n,name:r,id:l,title:i,isDanger:o,style:s,maxLength:u,isFirstAction:d}=this.props;if(!e&&t)return null;var c=r||i,f=!1;d&&c&&c.length>u&&(f=!0);var m=k.default.createElement(h.default,{type:a,danger:o,onClick:this.onClick,key:l,disabled:!e,className:n,style:s},r||i),g=f?k.default.createElement(p.default,{title:c},m):m;return k.default.createElement(k.default.Fragment,null,g,this.renderModal())}}a.ActionButton=j,(0,v.default)(j,"defaultProps",{item:void 0,isAllowed:!1,confirm:!1,needHide:!0,buttonType:"link",isDanger:!1,isLink:!1,items:[],isBatch:!1,path:"",containerProps:{},maxLength:0,isFirstAction:!1,onClickAction:null,visible:!1});var P=(0,C.inject)("rootStore")((0,C.observer)(j));a.default=P},1437:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(618)),h=f(n(619)),m=f(n(35)),g=f(n(1438));n(1325);var v=f(n(1326)),y=f(n(0)),b=(n(161),n(564),f(n(4))),x=f(n(16)),w=n(163),k=f(n(1506));function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{title:a=t("Confirm"),content:n,onOk:r,onCancel:l,icon:i,okText:o=t("Confirm"),cancelText:s=t("Cancel"),className:u,okButtonProps:d={},cancelButtonProps:c={}}=e;v.default.confirm({title:a,icon:i||y.default.createElement(g.default,{className:k.default.warn}),className:(0,b.default)(k.default["confirm-modal"],u),content:(0,w.unescapeHtml)(n),okText:o,cancelText:s,okButtonProps:d||{},cancelButtonProps:c||{},onOk:()=>r&&r(),onCancel(){l&&l()}})};S.propTypes=M,S.defaultProps={title:t("Confirm"),icon:y.default.createElement(g.default,null),isSubmitting:!1,okText:t("Confirm"),cancelText:t("Cancel")};var I={confirm:S,error:e=>{var a=_(_({title:t("Error")},e),{},{icon:y.default.createElement(h.default,{className:k.default.error})});S(a)},warn:e=>{var a=_(_({title:t("Warn")},e),{},{icon:y.default.createElement(g.default,{className:k.default.warn})});S(a)},success:e=>{var a=_(_({title:t("Success")},e),{},{icon:y.default.createElement(p.default,{className:k.default.success})});S(a)}};a.default=I},1444:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(86)),o=l(n(29)),s=l(n(54)),u=l(n(28));n(1261);var d=l(n(1262));n(1246);var c=l(n(1247));n(344);var f=l(n(202)),p=l(n(1299));n(569);var h=l(n(1253));n(1244);var m=l(n(1245)),g=l(n(35)),v=l(n(0)),y=(n(161),l(n(1519))),b=l(n(16)),x=n(565),w=(n(564),n(571)),k=l(n(1923)),{isIPv4:C,isIpv6:_,isIpInRangeAll:M}=x.ipValidate;class S extends v.default.Component{constructor(e){super(e),(0,g.default)(this,"onChange",(()=>{this.checkNetwork((()=>{var{onChange:e}=this.props,{network:t,subnet:a,ip:n,ipType:r,validateStatus:l,errorMsg:o}=this.state,s=this.getNetworkOptions(),u=this.getSubnetOptions(),d=(0,i.default)(s).call(s,(e=>e.value===t)),c=(0,i.default)(u).call(u,(e=>e.value===a)),f=(0,i.default)(w.ipTypeOptions).call(w.ipTypeOptions,(e=>e.value===r));e&&e({network:t,subnet:a,ip:n,ipType:r,networkOption:d,subnetOption:c,ipTypeOption:f,validateStatus:l,errorMsg:o})}))})),(0,g.default)(this,"onNetworkChange",(e=>{var{subnets:t}=this.state,a=(0,o.default)(t).call(t,(t=>t.network_id===e)),n=a.length?a[0].id:null;this.setState({network:e,subnet:n,ipType:0,ip:void 0},this.onChange)})),(0,g.default)(this,"onSubnetChange",(e=>{this.setState({subnet:e,ip:void 0},this.onChange)})),(0,g.default)(this,"onTypeChange",(e=>{this.setState({ipType:e},this.onChange)})),(0,g.default)(this,"onIPChange",(e=>{var{value:t}=e.currentTarget;this.setState({ip:t},this.onChange)})),(0,g.default)(this,"checkNetwork",(e=>{var{network:a,subnets:n,subnet:r,ip:l,ipType:o}=this.state,s=(0,i.default)(n).call(n,(e=>e.id===r)),{allocation_pools:u}=s||{};if(a)if(1!==o||C(l)||_(l)){if(u&&1===o)if(!(0,i.default)(u).call(u,(e=>M(l,e.start,e.end))))return void this.setState({errorMsg:t("The ip is not within the allocated pool!"),validateStatus:"error"},e);this.setState({errorMsg:void 0,validateStatus:"success"},e)}else this.setState({errorMsg:t("Please input a valid ip!"),validateStatus:"error"},e);else this.setState({errorMsg:t("Please select a network!"),validateStatus:"error"},e)})),(0,g.default)(this,"getNetworkOptions",(()=>{var{networks:e}=this.state,{optionsByIndex:t,index:a}=this.props,n=[...e];return t&&a({label:e.name,value:e.id})))})),(0,g.default)(this,"getSubnetOptions",(()=>{var e,{network:t,subnets:a}=this.state;return t?(0,s.default)(e=(0,o.default)(a).call(a,(e=>e.network_id===t))).call(e,(e=>({label:v.default.createElement("div",null,v.default.createElement("span",null,e.name),v.default.createElement("span",{className:k.default["subnet-options-cidr"]},e.cidr)),name:e.name,value:e.id}))):[]}));var{value:a}=e,{network:n,subnet:r,ip:l,ipType:u}=a;this.state={network:n||null,subnet:r||null,ip:l||"0.0.0.0",ipType:u||0}}static getDerivedStateFromProps(e,t){if(e.networks!==t.networks||e.subnets!==t.subnets){var{networks:a,subnets:n}=e;return{networks:a,subnets:n}}return null}componentDidMount(){this.checkNetwork()}renderNetwork(){var{network:e}=this.state;return v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getNetworkOptions(),value:e,onChange:this.onNetworkChange,placeholder:t("please select network")}))}renderSubnet(){var{network:e,subnet:a,ipType:n}=this.state;return e&&n?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getSubnetOptions(),value:a,placeholder:t("please select subnet"),onChange:this.onSubnetChange})):null}renderIpType(){var{network:e,ipType:t}=this.state;return e?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{value:t,options:w.ipTypeOptions,onChange:this.onTypeChange})):null}renderIp(){var{subnet:e,subnets:a,ipType:n,ip:r,network:l}=this.state;if(!l)return null;if(0===n){var d=[],c=(0,o.default)(a).call(a,(e=>e.network_id===l));(0,u.default)(c).call(c,(e=>{var{allocation_pools:t=[]}=e;(0,u.default)(t).call(t,(e=>{d.push(e)}))}));var g=(0,s.default)(d).call(d,((e,t)=>v.default.createElement("span",{key:"pool.start.".concat(t),style:{marginRight:10}},e.start,"--",e.end))),y=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},g));return v.default.createElement(m.default,{span:12},y)}if(!e)return null;var b=(0,i.default)(a).call(a,(t=>t.id===e));if(!b)return null;var{allocation_pools:x}=b,w=(0,s.default)(x).call(x,((e,t)=>v.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end))),C=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},w),v.default.createElement("span",{className:k.default.content},t("Please make sure this IP address be available to avoid creating VM failure.")));return v.default.createElement(m.default,{span:6},v.default.createElement(h.default,{value:r,onChange:this.onIPChange}),v.default.createElement(f.default,{title:C,color:"white"},v.default.createElement(p.default,null)))}render(){var{validateStatus:e,errorMsg:t}=this.state,{name:a}=this.props;return v.default.createElement(d.default.Item,{className:k.default["network-select"],name:a,validateStatus:e,help:t},v.default.createElement(c.default,{gutter:24},this.renderNetwork(),this.renderIpType(),this.renderSubnet(),this.renderIp()))}}a.default=S,(0,g.default)(S,"propTypes",{networks:b.default.array,subnets:b.default.array,value:b.default.object,ipType:b.default.number,name:b.default.string,optionsByIndex:b.default.bool,index:b.default.number}),(0,g.default)(S,"defaultProps",{networks:[],subnets:[],value:{},ipType:0,name:"network",optionsByIndex:!1,index:0})},1447:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1278);var p=f(a(1279)),h=f(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t"$ ".concat(e).replace(/\D/g,"")});return m.default.createElement(p.default,e)}}t.default=b},1448:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(29)),u=o(n(91)),d=o(n(86)),c=o(n(54));n(1315);var f=o(n(1316)),p=o(n(343));n(1311);var h=o(n(1312)),m=o(n(35)),g=o(n(177)),v=x(n(0)),y=x(n(1376));n(161);function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}return n.default=e,a&&a.set(e,n),n}class w extends v.Component{constructor(e){super(e),(0,m.default)(this,"handleChangeTab",(e=>{this.setState({tabKey:e})})),(0,m.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;e&&e(this.state)})),(0,m.default)(this,"getMultiSelected",((e,t,a)=>{var n,r,{selectedRowKeys:l,selectedRows:i}=this.state,o=(0,s.default)(e).call(e,(e=>(0,u.default)(l).call(l,e)<0)),c=(0,s.default)(t).call(t,(e=>(0,u.default)(o).call(o,e.key)>=0||(0,u.default)(o).call(o,e.id)>=0)),f=(0,s.default)(l).call(l,(t=>(0,u.default)(e).call(e,t)<0&&!!(0,d.default)(a).call(a,(e=>e.key===t||e.id===t))));return[(0,s.default)(n=[...l,...o]).call(n,(e=>(0,u.default)(f).call(f,e)<0)),(0,s.default)(r=[...i,...c]).call(r,(e=>{var t=e.key||e.id;return(0,u.default)(f).call(f,t)<0}))]})),(0,m.default)(this,"onSelectTableChange",(e=>{var{selectedRowKeys:t,selectedRows:a,data:n}=e,{isMulti:r=!1}=this.props,[l,i]=r?this.getMultiSelected(t,a,n):[t,a],o={selectedRowKeys:l,selectedRows:i};this.setState(o,(()=>{this.onChangeValue()}))})),(0,m.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t,selectedRows:a}=this.state,n=(0,s.default)(t).call(t,(t=>t!==e)),r=(0,s.default)(a).call(a,(t=>t.key!==e&&t.id!==e));this.setState({selectedRowKeys:n,selectedRows:r},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"renderTag",(e=>v.default.createElement(h.default,{key:e.key||e.id,closable:!0,onClose:()=>this.onTagClose(e.key||e.id)},this.props.tagKey?e[this.props.tagKey]:e.name))),(0,m.default)(this,"renderClearButton",(e=>(0,y.renderClearButton)(this,e)));var{tabs:t=[],defaultTab:a,value:n={}}=e;this.state={tabKey:n.tab||a||t[0]&&t[0].key,selectedRowKeys:n.selectedRowKeys||[],selectedRows:n.selectedRows||[]},this.init(e)}init(e){var{value:t={}}=e;(0,g.default)(t)||this.onChangeValue()}renderTabSelectTable(e){var{selectedRowKeys:t,selectedRows:a}=this.state,n={selectedRowKeys:t},r={selectedRowKeys:t,selectedRows:a};return v.default.createElement(y.default,(0,p.default)({},e.props,{onChange:this.onSelectTableChange,showSelected:!1,value:n,initValue:r}))}renderTab(e){var{tabKey:t}=this.state;return t!==e.key?v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key}):v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key},this.renderTabSelectTable(e))}renderTabs(){var{tabKey:e}=this.state,{tabs:t}=this.props;if(!e)return null;if(1===t.length)return this.renderTabSelectTable(t[0]);var a=(0,c.default)(t).call(t,(e=>this.renderTab(e)));return v.default.createElement(f.default,{activeKey:e,onChange:this.handleChangeTab},a)}renderSelected(){var{selectedRows:e}=this.state,a=(0,c.default)(e).call(e,(e=>this.renderTag(e))),n=this.renderClearButton(e);return v.default.createElement("div",null,t("Selected")," :  ",n,"  ",a)}renderHeader(){var{header:e}=this.props;return e||null}render(){return v.default.createElement(v.default.Fragment,null,this.renderHeader(),this.renderTabs(),this.renderSelected())}}a.default=w},1449:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,{used:n=0,add:r=0,reserved:l=0,limit:h=1,title:m="",secondTitle:g=t("Quota"),hasLabel:v=!1}=e,y=-1!==h,b=y,x=y?h:1/0,w=y?h:t("Infinity"),k=y?h-n-l-r:1;k<0&&(k=0);var C=[{type:t("Used"),value:y?n:0,color:f.used}];l&&C.push({type:t("Reserved"),value:y?l:0,color:f.reserved});C.push({type:t("New"),value:y?r:0,color:f.add}),C.push({type:t("Left"),value:k,color:f.left});var _=(0,o.default)(C).call(C,(e=>e.color)),M=v?200:120,S={width:M},I=M,N=n+r+l,E=y?N/x*100:0,T="";if(!y){var A,j,P,D=(0,s.default)(A="".concat(t("Used"),": ")).call(A,n),L=l?"":(0,s.default)(j="".concat(t("Reserved"),": ")).call(j,l),O=(0,s.default)(P="".concat(t("New"),": ")).call(P,r),R=[D,O];l&&(0,u.default)(R).call(R,1,0,L),T=R.join(" / ")}var z=m.length,U=(V=m,K=/[\u4e00-\u9fa5]+/g,V.match(K)?z>6?10:14:z>12?10:14),F=d.default.createElement(c.Chart,{placeholder:!1,height:I,padding:"auto",autoFit:!0},d.default.createElement(c.Legend,{visible:b&&v}),d.default.createElement(c.Tooltip,{visible:b}),d.default.createElement(c.View,{data:C},d.default.createElement(c.Coordinate,{type:"theta",innerRadius:.75}),d.default.createElement(c.Interval,{position:"value",adjust:"stack",color:["type",_],size:16}),d.default.createElement(c.Annotation.Text,{position:["50%","30%"],content:m,style:{lineHeight:1.5,fontSize:U,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","50%"],content:g,style:{lineHeight:1.5,fontSize:14,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","70%"],content:(0,s.default)(a="".concat(N,"/")).call(a,w),style:{lineHeight:1.5,fontSize:14,fill:p(E),textAlign:"center",fontWeight:"bold"}}))),B=y?F:d.default.createElement(i.default,{title:T},F);var V,K;return d.default.createElement("div",{style:S},B)},a.getUsedValueColor=a.getAddValueColor=a.typeColors=void 0,n(344);var i=l(n(202)),o=l(n(54)),s=l(n(77)),u=l(n(573)),d=l(n(0)),c=n(1349),f=(n(161),{used:globalCSS.primaryColor,reserved:"#5D7092",add:globalCSS.successColor,left:"#eee",danger:globalCSS.warnDarkColor});a.typeColors=f;a.getAddValueColor=e=>e>80?f.danger:f.add;var p=e=>e>80?f.danger:f.used;a.getUsedValueColor=p},1454:function(e,t,a){var n=a(2075);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1506:function(e,t,a){var n=a(1813);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1516:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.getTags=void 0;var h=p(n(77)),m=p(n(28)),g=p(n(32)),v=p(n(86)),y=p(n(29)),b=p(n(54)),x=p(n(91)),w=p(n(350)),k=p(n(591));n(1246);var C=p(n(1247)),_=p(n(612));n(569);var M=p(n(1253));n(583);var S=p(n(420));n(1244);var I=p(n(1245));n(1276);var N=p(n(421));n(1311);var E=p(n(1312));n(1300);var T=p(n(1301));n(231);var A=p(n(341)),j=p(n(605)),P=p(n(35)),D=p(n(434)),L=p(n(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=F(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),R=p(n(16)),z=(n(161),n(564),p(n(4))),U=p(n(1862));function F(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(F=function(e){return e?a:t})(e)}function B(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function V(e){for(var t=1;t{var a;return(0,h.default)(a="".concat(e,"--")).call(a,t)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split("--")[0],a=e.split("--")[1];return{name:t,key:a}},H=(e,t)=>{var a;if(!e||(0,L.default)(e))return{};if((0,L.default)(t))return{};var n=[],r=[];return(0,m.default)(a=(0,g.default)(e)).call(a,(a=>{var l=(0,v.default)(t).call(t,(e=>e.name===a));if(l){var{options:i=[]}=l,o=e[a];if(i.length){var s=(0,v.default)(i).call(i,(e=>e.key===o));s&&s.isQuick&&r.push(Y(l.name,o))}n.push({value:o,filter:l})}})),{tags:n,checkValues:r}};a.getTags=H;class W extends O.PureComponent{constructor(e){super(e),(0,P.default)(this,"getFilterParams",(()=>{var{filterParams:e}=this.props,{tags:t}=this.state,a=[];return(0,m.default)(e).call(e,(e=>{(0,v.default)(t).call(t,(t=>(0,y.default)(t).name===e.name))||a.push(e)})),a})),(0,P.default)(this,"onTagsChange",(()=>{var{onInputChange:e}=this.props,{tags:t}=this.state;e&&e(t)})),(0,P.default)(this,"onFocusChange",(e=>{var{onInputFocus:t}=this.props;t&&t(e)})),(0,P.default)(this,"getDefaultFilter",(()=>{var{filterParams:e}=this.props;return(0,v.default)(e).call(e,(e=>!e.options))})),(0,P.default)(this,"handleEnter",(e=>{e&&e.preventDefault(),e&&e.stopPropagation();var{value:t}=e.currentTarget;t&&this.updateInput(t)})),(0,P.default)(this,"handleBlur",(()=>{var{currentFilter:e}=this.state;e?(this.setState({isFocus:!0}),this.onFocusChange(!0)):this.onFocusChange(!1)})),(0,P.default)(this,"handleKeyUp",(e=>{if(8===e.keyCode||46===e.keyCode){var{currentFilter:t,tags:a}=this.state,{value:n}=this.inputRef.current.state;t&&(0,L.default)(n)?this.setState({currentFilter:null}):a.length>0&&(0,L.default)(n)&&this.handleTagClose((0,y.default)(a[a.length-1]).name)}})),(0,P.default)(this,"handleFocus",(()=>{this.setState({isFocus:!0}),this.onFocusChange(!0)})),(0,P.default)(this,"handleInputChange",(e=>{this.setState({inputValue:e.target.value})})),(0,P.default)(this,"handleTagClose",(e=>{var{tags:t,checkValues:a}=this.state,n=(0,y.default)(t).call(t,(t=>(0,y.default)(t).name!==e)),r=(0,y.default)(a).call(a,(t=>G(t).name!==e));this.setState({tags:n,optionClear:!1,checkValues:r},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"handleOptionClick",(e=>{var t,{key:a}=e;t="true"===a||"false"!==a&&a,this.updateInput(t),this.onFocusChange(!1)})),(0,P.default)(this,"handleSelectFilter",(e=>{var{key:t}=e,{filterParams:a}=this.props,n=(0,v.default)(a).call(a,(e=>e.name===t));this.setState({currentFilter:n,isFocus:!0},(()=>{this.inputRef.current.focus(),this.onFocusChange(!0)}))})),(0,P.default)(this,"clearOptions",(()=>{this.setState({optionClear:!0})})),(0,P.default)(this,"renderOptionsClose",(e=>{var{filterParams:t}=this.props,{optionClear:a}=this.state;return a||!e[0]||t.length===e.length?null:O.default.createElement(A.default,{className:U.default["close-option-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearOptions})})),(0,P.default)(this,"updateInput",(e=>{var{currentFilter:t,tags:a}=this.state,n={value:e,filter:t||this.getDefaultFilter()};this.clearInputValue();var r=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name!==(0,y.default)(n).name));r.push(n);var l=(0,y.default)(r).call(r,(e=>{var{value:t,filter:{options:a=[]}={}}=e;return!!(0,v.default)(a).call(a,(e=>e.key===t&&e.isQuick))})),i=(0,b.default)(l).call(l,(e=>Y((0,y.default)(e).name,e.value)));this.setState({tags:r,currentFilter:null,inputValue:"",checkValues:i},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"clearInputValue",(()=>{this.setState({inputValue:""})})),(0,P.default)(this,"clearAll",(()=>{this.clearInputValue(),this.setState({inputValue:"",tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]},(()=>{this.onTagsChange(),this.onFocusChange(!1)}))})),(0,P.default)(this,"updateCheck",(()=>{})),(0,P.default)(this,"onChangeCheck",(e=>{var t,{checkValues:a}=this.state,n=[];(0,m.default)(e).call(e,(e=>{(0,x.default)(a).call(a,e)<0&&n.push({key:e,value:!0})})),(0,m.default)(a).call(a,(t=>{(0,x.default)(e).call(e,t)<0&&n.push({key:t,value:!1})}));var r=(0,b.default)(t=(0,w.default)(new k.default([...a,...e]))).call(t,(e=>G(e).name)),{filterParams:l}=this.props,{tags:i}=this.state,o=(0,y.default)(i).call(i,(e=>(0,x.default)(r).call(r,(0,y.default)(e).name)<0)),s=[];(0,m.default)(n).call(n,(e=>{var{key:t,value:a}=e;if(a){var{name:n,key:r}=G(t),i=(0,v.default)(l).call(l,(e=>e.name===n));s.push({value:r,filter:i})}})),this.setState({tags:[...o,...s],checkValues:e},(()=>{this.onTagsChange()}))})),this.inputRef=O.default.createRef(),this.state={tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]}}componentDidMount(){this.initTags(this.props)}initTags(e){var{initValue:t,filterParams:a}=e,{tags:n=[],checkValues:r}=H(t,a);n.length&&this.setState({tags:n,checkValues:r},(()=>{this.onTagsChange()}))}renderKey(){var{currentFilter:e}=this.state;return e?O.default.createElement("span",{className:U.default.key},"".concat(e.label),O.default.createElement(T.default,{type:"vertical"})):null}renderTags(){var{tags:e}=this.state;return(0,b.default)(e).call(e,(e=>{var{filter:t,value:a}=e,{options:n}=t,r=a;if(n){var l=(0,v.default)(n).call(n,(e=>((0,D.default)(e.key)?e.key.toString():e.key)===((0,D.default)(a)?a.toString():a)));r=l?l.label:a}return O.default.createElement(E.default,{key:t.name,closable:!0,onClose:()=>this.handleTagClose(t.name)},O.default.createElement("span",null,t.label),O.default.createElement(T.default,{type:"vertical"}),O.default.createElement("span",null,r))}))}renderOptions(){var e,{currentFilter:t,tags:a}=this.state,{options:n,correlateOption:r}=t;if(!n)return null;var l=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name===r)),i=[];r&&l[0]&&(i=(0,y.default)(n).call(n,(e=>{var t;return(0,x.default)(t=e.correlateValue).call(t,l[0].value)>-1})));var o=(0,b.default)(e=i[0]?i:n).call(e,(e=>O.default.createElement(N.default.Item,{key:e.key},e.label)));return O.default.createElement(N.default,{className:U.default["option-menu"],onClick:this.handleOptionClick},o)}renderMenu(){var{currentFilter:e,isFocus:t,optionClear:a,inputValue:n}=this.state;if(n)return null;if(!t)return null;if(e)return this.renderOptions();var r=this.getFilterParams();a&&(r=[]);var l=(0,b.default)(r).call(r,(e=>O.default.createElement(N.default.Item,{key:e.name},e.label)));return O.default.createElement(N.default,{className:U.default.menu,onClick:this.handleSelectFilter,id:"search-items-menu"},this.renderOptionsClose(r),l)}renderClose(){var{isFocus:e}=this.state;return e?O.default.createElement(I.default,{className:U.default["close-btn-col"]},O.default.createElement(A.default,{className:U.default["close-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearAll})):null}getChecks(){var{filterParams:e}=this.props,t=[];return(0,m.default)(e).call(e,(e=>{var{options:a=[]}=e;(0,m.default)(a).call(a,(a=>{var{isQuick:n=!1}=a;n&&t.push(V(V({},a),{},{father:e}))}))})),t}renderChecks(){var e=this.getChecks();if(0===e.length)return null;var{checkValues:t}=this.state,a=(0,b.default)(e).call(e,(e=>{var{checkLabel:t,key:a,father:n}=e;return{label:t,value:Y(n.name,a)}}));return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-checks"],"magic-input-checks")},O.default.createElement(S.default.Group,{options:a,onChange:this.onChangeCheck,value:t}))}render(){var e,{placeholder:t}=this.props,{isFocus:a,inputValue:n}=this.state;return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-outer-wrapper"],"magic-input-outer-wrapper")},this.renderChecks(),O.default.createElement(C.default,{className:(0,z.default)("magic-input-wrapper",U.default["magic-input-wrapper"],a?U.default["magic-input-wrapper-active"]:"",a?"magic-input-wrapper-active":"")},O.default.createElement(I.default,null,this.renderTags()),O.default.createElement(I.default,null,this.renderKey()),O.default.createElement(I.default,{className:U.default["input-wrapper"]},O.default.createElement(M.default,{className:U.default.input,ref:this.inputRef,autoFocus:a,placeholder:t,onChange:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onPressEnter:this.handleEnter,onKeyUp:this.handleKeyUp,value:n}),this.renderMenu()),O.default.createElement(I.default,{className:(0,h.default)(e="".concat(U.default["search-icon"]," ")).call(e,a?U.default["search-icon-hidden"]:"")},O.default.createElement(_.default,null)),this.renderClose()))}}(0,P.default)(W,"propTypes",{filterParams:R.default.arrayOf(Q),initValue:R.default.object,placeholder:R.default.string,onInputChange:R.default.func,onInputFocus:R.default.func}),(0,P.default)(W,"defaultProps",{filterParams:[],initValue:{},placeholder:t("Click here for filters.")});var q=W;a.default=q},1517:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(77)),h=c(a(29)),m=c(a(91)),g=c(a(573)),v=c(a(86)),y=c(a(32));a(584);var b=c(a(586)),x=c(a(58)),w=c(a(35));a(594);var k=c(a(595)),C=c(a(570)),_=c(a(205)),M=c(a(177)),S=c(a(134)),I=c(a(119)),N=c(a(0)),E=c(a(4)),T=c(a(16)),A=(a(161),a(418)),j=a(163),P=c(a(1864));function D(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function L(e){for(var t=1;t{var{onChange:r}=this.props;r&&r(e,t,a,n)})),(0,w.default)(this,"getBaseColumns",(e=>(0,f.default)(e).call(e,(e=>{var{sortable:t,dataIndex:a,valueRender:n,sorter:r,sortOrder:l,render:i,isStatus:o,isName:s,isPrice:u,isLink:d,routeName:c,linkPrefix:f,valueMap:p,unit:h,copyable:m}=e,g=(0,x.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","isStatus","isName","isPrice","isLink","routeName","linkPrefix","valueMap","unit","copyable"]);if("operation"===e.key)return e;var v=(0,A.getColumnSorter)(e,this.props),y=l||v?(0,A.getSortOrder)(a,this.props):null,b=i||(0,A.getRender)(n);if(p&&(b=(0,A.getValueMapRender)(e)),h&&(b=(0,A.getUnitRender)(e)),(0,A.checkIsStatusColumn)(a,o)&&(b=(0,A.getStatusRender)(b)),"description"===a&&(b=this.getNoValueRender(b)),"project_name"===a&&(b=(0,A.getProjectRender)(b)),"name"===a&&c||d){var{rowKey:w}=this.props;b=(0,A.getNameRenderByRouter)(b,e,w)}("name"===a&&f||s)&&(b=(0,A.getNameRender)(b,e)),("cost"===a||u)&&(b=this.getPriceRender(b,e)),m&&(b=e=>e&&"-"!==e?N.default.createElement(O,{copyable:!0},e):"-");var k=L(L({},g),{},{dataIndex:a,align:e.align||"left"});return v&&(k.sorter=v),l&&(k.sortOrder=y),b&&(k.render=b),(0,A.updateColumnSort)(k,this.props),k})))),(0,w.default)(this,"getNoValueRender",(e=>e||(e=>(0,j.getNoValue)(e)))),(0,w.default)(this,"getLinkUrl",((e,t)=>{var a,n;return e?"/"===e[e.length-1]?(0,p.default)(n="".concat(e)).call(n,t):(0,p.default)(a="".concat(e,"/")).call(a,t):null})),(0,w.default)(this,"getColumns",(()=>{var{columns:e}=this.props;return this.getBaseColumns(e)})),(0,w.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,S.default)(e)?e:(e||0).toFixed(2);return N.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,w.default)(this,"getDataSource",(()=>{var{data:e,filters:t,filterByBackend:a}=this.props;if(a)return e;var n=(0,f.default)(e).call(e,(e=>e.key?e:L(L({},e),{},{key:e.id})));return!t||(0,M.default)(t)?n:(0,h.default)(n).call(n,(e=>this.filterData(e,t)))})),(0,w.default)(this,"onRow",((e,t)=>{var{rowSelection:a,onRow:n}=this.props;return n?n(e,t):{onClick:()=>{var{selectedRowKeys:t=[],onChange:n,type:r,getCheckboxProps:l}=a||{};if(l){var{disabled:i}=l(e);if(i)return}var o=(0,m.default)(t).call(t,e.key);if("checkbox"===r){var s=[...t];o>-1?(0,g.default)(s).call(s,o,1):s.push(e.key),n(s)}else"radio"===r&&n([e.key])}}})),(0,w.default)(this,"filterData",((e,t)=>{var a,{searchFilters:n}=this.props;return!(0,v.default)(a=(0,y.default)(t)).call(a,(a=>{var r=(0,I.default)(e,a),l=t[a],{filterFunc:i}=(0,v.default)(n).call(n,(e=>e.name===a));if(i)return!i(r,l,e);var o,s=this.checkFilterInclude(a);return(0,S.default)(r)&&(0,S.default)(l)?s?(0,m.default)(o=r.toLowerCase()).call(o,l.toLowerCase())<0:r.toLowerCase()!==l.toLowerCase():!(0,_.default)(r,l)}))})),(0,w.default)(this,"checkFilterInclude",(e=>{var{searchFilters:t}=this.props,a=(0,v.default)(t).call(t,(t=>t.name===e));return(0,C.default)(a,"include")?a.include:!(0,C.default)(a,"options")}))}getPagination(e){var{pagination:t}=this.props;return t&&L(L({},t),{},{total:e.length})}render(){var{className:e,isLoading:t,rowSelection:a,footer:n,childrenColumnName:r}=this.props,l=this.getColumns(),i=this.getDataSource();return N.default.createElement(b.default,{className:(0,E.default)(P.default["sl-simple-table"],"sl-simple-table",e),columns:l,dataSource:i,loading:t,onChange:this.handleChange,pagination:this.getPagination(i),rowSelection:a,sortDirections:["ascend","descend","ascend"],showSorterTooltip:!1,footer:n,onRow:this.onRow,childrenColumnName:r})}}t.default=R,(0,w.default)(R,"propTypes",{data:T.default.array.isRequired,filters:T.default.object,searchFilters:T.default.array,columns:T.default.array.isRequired,className:T.default.string,onChange:T.default.func,isLoading:T.default.bool,rowSelection:T.default.object,pagination:T.default.oneOfType([T.default.object,T.default.bool]),filterByBackend:T.default.bool,isSortByBack:T.default.bool,defaultSortKey:T.default.string,defaultSortOrder:T.default.string,onRow:T.default.func,childrenColumnName:T.default.string}),(0,w.default)(R,"defaultProps",{filters:{},searchFilters:[],isLoading:!1,rowSelection:null,pagination:{},filterByBackend:!1,isSortByBack:!1,defaultSortKey:"",defaultSortOrder:""})},1518:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(642));n(231);var d=o(n(341)),c=o(n(641));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=o(n(16)),g=(n(564),n(161),o(n(4))),v=o(n(1866));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends h.Component{static propTypes(){return{total:m.default.number,currentDataSize:m.default.number.isRequired,current:m.default.number.isRequired,pageSize:m.default.number.isRequired,defaultCurrent:m.default.number,defaultPageSize:m.default.number,pageSizeOptions:m.default.array,onChange:m.default.func,isLoading:m.default.bool,className:m.default.object}}constructor(e){super(e),(0,p.default)(this,"onChange",((e,t)=>{var{onChange:a}=this.props;a&&a(e,t)})),(0,p.default)(this,"onChangePageSize",(e=>{this.setState({pageSize:e},(()=>{this.onChange(1,e)}))})),(0,p.default)(this,"onClickPre",(()=>{var{current:e,pageSize:t}=this.state;1!==e&&this.setState({current:e-1},(()=>{this.onChange(e-1,t)}))})),(0,p.default)(this,"onClickNext",(()=>{var{current:e,pageSize:t,currentDataSize:a}=this.state;a{var{onFocusChange:t}=this.props;t&&t(e)})),(0,p.default)(this,"onFocus",(()=>{this.onFocusChange(!0)})),(0,p.default)(this,"onBlur",(()=>{this.onFocusChange(!1)}));var{current:t,pageSize:a,defaultCurrent:n,defaultPageSize:r,currentDataSize:l,isLoading:i,total:o}=e;this.state={current:t||n,pageSize:a||r,currentDataSize:l,isLoading:i,total:o}}static getDerivedStateFromProps(e,t){if(e.currentDataSize!==t.currentDataSize||e.current&&e.current!==t.current||e.isLoading!==t.isLoading||e.total!==t.total){var{currentDataSize:a,current:n=1,isLoading:r,total:l}=e;return{currentDataSize:a,current:n,isLoading:r,total:l}}return null}checkNextByTotal(){var{pageSize:e,total:t,current:a}=this.state;return void 0===t||!!t&&a({label:t("{pageSize} items/page",{pageSize:e}),value:e})));return h.default.createElement(f.default,{className:v.default["page-select"],options:r,value:n,defaultValue:a,onChange:e=>{this.onChangePageSize(e)}})}render(){var{current:e,currentDataSize:t,pageSize:a,isLoading:n}=this.state,{className:r}=this.props,l=n||1===e,i=n||t{}})},1519:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(583);var d=o(n(420));n(568);var c=o(n(415)),f=o(n(343)),p=o(n(58)),h=o(n(35)),m=o(n(1314)),g=o(n(601)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),o(n(1873)));function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}class x extends v.Component{constructor(e){super(e),(0,h.default)(this,"onChange",((e,t)=>{var{onChange:a,isWrappedValue:n}=this.props;a&&a(n?t:e)})),(0,h.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e})),(0,h.default)(this,"onCheckChange",(()=>{var{selectAll:e}=this.state,{options:t,checkOptions:a}=this.props;this.setState({selectAll:1-e},this.onChange(1===e?a[a.length-1].value:t[t.length-1].value))}));var{checkOptions:t}=e;t&&(this.state={selectAll:!1})}render(){var e=this.props,{value:a,placeholder:n=t("Please select"),isWrappedValue:r,checkOptions:l,checkBoxInfo:i,allowClear:o=!0,showSearch:h=!0}=e,b=(0,p.default)(e,["value","placeholder","isWrappedValue","checkOptions","checkBoxInfo","allowClear","showSearch"]);if((0,g.default)(a)||(0,m.default)(a))return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange}));if(l){var{options:x}=this.props,{selectAll:w}=this.state,k=v.default.createElement(d.default,{onChange:this.onCheckChange,checked:w},i||t("Show all Data"));return v.default.createElement(s.default,{gutter:24},v.default.createElement(u.default,{span:12},v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue(),options:1===w?l:x}))),v.default.createElement(u.default,{span:12,className:y.default.checkbox},k))}return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue()}))}}a.default=x},1534:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(86));n(1261);var h=f(n(1262));n(1246);var m=f(n(1247));n(1244);var g=f(n(1245));n(583);var v=f(n(420));n(1278);var y=f(n(1279));n(568);var b=f(n(415)),x=f(n(35)),w=f(n(0)),k=(n(161),f(n(16))),C=f(n(1897));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{var{type:a}=this.state;a?this.setState({errorMsg:void 0,validateStatus:"success"},e):this.setState({errorMsg:t("Please select a type!"),validateStatus:"error"},e)})),(0,x.default)(this,"onChange",(()=>{this.checkVolume((()=>{var{onChange:e,options:a=[]}=this.props;if(e){var{type:n,deleteType:r}=this.state,l=1===r?t("Deleted with the instance"):t("Not deleted with the instance"),i=(0,p.default)(a).call(a,(e=>e.value===n));e(M(M({},this.state),{},{deleteTypeLabel:l,typeOption:i}))}}))})),(0,x.default)(this,"onSelectChange",(e=>{this.setState({type:e},this.onChange)})),(0,x.default)(this,"onInputChange",(e=>{this.setState({size:e},this.onChange)})),(0,x.default)(this,"onDeleteChange",(()=>{var{deleteType:e}=this.state;this.setState({deleteType:1-e},this.onChange)}));var{type:a,size:n,deleteType:r}=e.value||{},{minSize:l}=e;this.state={type:a,size:n,deleteType:r,minSize:l}}static getDerivedStateFromProps(e,t){if(e.options!==t.options||e.minSize!==t.minSize){var{options:a,value:n,minSize:r}=e;return{options:a,type:n.type,minSize:r}}return null}componentDidMount(){this.onChange()}render(){var{options:e,type:a,size:n,deleteType:r,validateStatus:l,errorMsg:i,minSize:o}=this.state,{name:s,showDelete:u=!0}=this.props,d=w.default.createElement(b.default,{value:a,options:e,onChange:this.onSelectChange,className:C.default.select,placeholder:t("Please select type")}),c=w.default.createElement(y.default,{value:n,onChange:this.onInputChange,min:o,style:{maxWidth:"60%"},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),onInput:e=>this.onInputChange(1*e)}),f=1===r,p=u?w.default.createElement(v.default,{onChange:this.onDeleteChange,checked:f},t("Deleted with the instance")):null;return w.default.createElement(h.default.Item,{className:C.default["instance-volume"],name:s,validateStatus:l,help:i},w.default.createElement(m.default,{gutter:24},w.default.createElement(g.default,{span:8},w.default.createElement("span",{className:C.default.label},t("Type")),d),w.default.createElement(g.default,{span:14},w.default.createElement("span",{className:C.default.label},t("Size")),c,w.default.createElement("span",{className:C.default["size-label"]},"GiB"),p)))}}a.default=S,(0,x.default)(S,"propTypes",{options:k.default.array,value:k.default.any,minSize:k.default.number}),(0,x.default)(S,"defaultProps",{options:[],value:{},minSize:0})},1552:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1278);var h=p(n(1279)),m=p(n(343)),g=p(n(35)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),p(n(16))),b=p(n(1961));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,g.default)(this,"onCpuChange",(e=>{this.onChange(k(k({},this.state),{},{cpu:e}))})),(0,g.default)(this,"onRamChange",(e=>{this.onChange(k(k({},this.state),{},{ram:e}))})),this.state={cpu:1,ram:512}}static getDerivedStateFromProps(e,t){var{cpu:a,ram:n}=e.value||{};return a!==t.cpu||n!==t.ram?{cpu:a,ram:n}:null}render(){var{cpu:e,ram:a}=this.state,n={min:1,precision:0,style:{width:120},formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return v.default.createElement(v.default.Fragment,null,v.default.createElement("span",{className:b.default.cpu},t("CPU(Core)")),v.default.createElement(h.default,(0,m.default)({value:e,onChange:this.onCpuChange},n)),v.default.createElement("span",{className:b.default.ram},t("RAM (MiB)")),v.default.createElement(h.default,(0,m.default)({value:a,onChange:this.onRamChange},n)))}}a.default=C,(0,g.default)(C,"propTypes",{onChange:y.default.func,value:y.default.object}),(0,g.default)(C,"defaultProps",{onChange:null,value:{cpu:1,ram:1024}})},1553:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getBase64=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getText=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsText(e,"UTF-8"),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getArrayBuffer=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsArrayBuffer(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))};var l=r(a(63))},1563:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=function(e){var{content:a,defaultCollapsed:n=!1,size:r="small",ableAuto:l=!0,tip:i=t("When auto-expand/close is enabled, if there is no operation in the pop-up window, the pop-up window will be closed automatically after { seconds } seconds, and it will be automatically expanded when the displayed content changes.",{seconds:v}),checkValue:o=""}=e,[g,y]=(0,m.useState)(n),[b,x]=(0,m.useState)(l),[w,k]=(0,m.useState)(!1),C=(0,m.useRef)(),_=()=>{C.current&&clearTimeout(C.current)},M=()=>{y(!1)},S=()=>{y(!0),_()},I=()=>{g||(C.current&&_(),C.current=(0,h.default)((()=>{g||S()}),1e3*v))};(0,m.useEffect)((()=>{b&&(g||(w?_():I()))}),[g,w]),(0,m.useEffect)((()=>(b&&(M(),I()),()=>{_()})),[o]);var N=e=>{x(e)},E=()=>{k(!0)},T=()=>{k(!1)};if(g)return m.default.createElement("div",{style:{padding:8},onMouseEnter:E,onMouseLeave:T,className:"content-wrapper"},m.default.createElement(f.default,{title:t("Expand")},m.default.createElement(d.default,{onClick:M,size:r},m.default.createElement(c.default,null))));var A=m.default.createElement(f.default,{title:t("Close")},m.default.createElement(d.default,{onClick:S,size:r},m.default.createElement(u.default,null)));return m.default.createElement("div",{onMouseEnter:E,onMouseLeave:T,className:"content-wrapper",style:{minWidth:150}},m.default.createElement(s.default,{title:l?m.default.createElement(f.default,{title:i},m.default.createElement(p.default,{size:"small",checked:b,onChange:N})):null,extra:A},a))},n(1280);var s=o(n(1281)),u=o(n(1564));n(231);var d=o(n(341)),c=o(n(1565));n(344);var f=o(n(202));n(1445);var p=o(n(1446)),h=o(n(588)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function g(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(g=function(e){return e?a:t})(e)}var v=5},1566:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{quotas:t=[],loading:a}=e;if(a)return o.default.createElement(i.default,null);var n=(0,l.default)(t).call(t,((e,a)=>{var{name:n}=e,r=a===t.length-1?{}:{marginBottom:10};return o.default.createElement("div",{key:n,style:r},function(e){var{type:t="ring",limit:a,unlimitByTable:n=!1}=e;if(-1===a&&n)return o.default.createElement(d.default,e);if("ring"===t)return o.default.createElement(s.default,e);if("line"===t)return o.default.createElement(u.default,e)}(e))}));return o.default.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",overflowY:"auto",overflowX:"hidden",maxHeight:400}},n)};var l=r(a(54));a(1317);var i=r(a(1318)),o=r(a(0)),s=(a(161),r(a(1449))),u=r(a(2017)),d=r(a(2018))},1569:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AuthCatalogStore=void 0;var f=c(a(35)),p=c(a(50)),h=c(a(53));function m(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function g(e){for(var t=1;t{var t;return g(g({},e),{},{region:e.endpoints&&(null===(t=e.endpoints[0])||void 0===t?void 0:t.region)||""})}}}t.AuthCatalogStore=v;var y=new v;t.default=y},1780:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=a(0),i=r(a(1781)),o=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(5)]).then(a.t.bind(null,2079,7)))),s=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(7)]).then(a.t.bind(null,3502,7)))),u=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(18)]).then(a.t.bind(null,3764,7)))),d=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(15)]).then(a.t.bind(null,3829,7)))),c=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(11)]).then(a.t.bind(null,4013,7)))),f=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(8)]).then(a.t.bind(null,4082,7)))),p=(0,l.lazy)((()=>Promise.all([a.e(0),a.e(13)]).then(a.t.bind(null,4124,7)))),h=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(10)]).then(a.t.bind(null,4126,7)))),m=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(19)]).then(a.t.bind(null,4141,7)))),g=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4147,7)))),v=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4191,7)))),y=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(17)]).then(a.t.bind(null,4234,7)))),b=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(9)]).then(a.t.bind(null,4297,7)))),x=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(2)]).then(a.t.bind(null,4320,7)))),w=(0,l.lazy)((()=>Promise.resolve().then(a.t.bind(null,579,7)))),k=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(3)]).then(a.t.bind(null,4360,7)))),C=[{path:"/",component:i.default,routes:[{path:"/base",component:o},{path:"/compute",component:s},{path:"/storage",component:u},{path:"/network",component:d},{path:"/identity",component:c},{path:"/configuration-admin",component:f},{path:"/management",component:p},{path:"/heat",component:h},{path:"/monitor-center",component:g},{path:"/user",component:m},{path:"/database",component:v},{path:"/share",component:y},{path:"/container-infra",component:b},{path:"/container-service",component:x},{path:"/ha",component:k},{path:"*",component:w}]}];t.default=C},1781:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.BaseLayout=void 0;var h=p(n(345)),m=p(n(29)),g=p(n(28)),v=p(n(86)),y=p(n(54));n(1325);var b=p(n(1326)),x=p(n(1503)),w=p(n(58)),k=p(n(343)),C=p(n(35));n(1431);var _=p(n(1432)),M=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=U(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),S=n(412),I=n(36),N=p(n(237)),E=n(163),T=(n(564),p(n(1251))),A=(n(161),p(n(1792))),j=n(567),P=p(n(2055)),D=p(n(2065)),L=p(n(2066)),O=p(n(2067)),R=p(n(2076)),z=p(n(1454));function U(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(U=function(e){return e?a:t})(e)}function F(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function B(e){for(var t=1;t(this.props.rootStore.user||{}).keystone_token),(()=>{(0,j.setRouteMap)(this.menu)}))),(0,C.default)(this,"handleMessage",(e=>{var t=e.origin;if(t){var{type:a,value:n}=e.data;if("SET_DATA"===a){var{currency:r,floatingIps:l,userEmail:i,consoleHost:o,computePrices:s}=n;if(!o||o!==t)return;r&&localStorage.setItem("currency",r),l&&localStorage.setItem("floatingIps",(0,h.default)(l)),i&&localStorage.setItem("userEmail",i),o&&localStorage.setItem("consoleHost",o),s&&localStorage.setItem("computePrices",(0,h.default)(s))}}})),(0,C.default)(this,"filterMenuByHidden",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return e;var a=(0,m.default)(e).call(e,(e=>!e.hidden));return(0,g.default)(a).call(a,(e=>{e.children=t.filterMenuByHidden(e.children)})),a})),(0,C.default)(this,"checkItemEndpoints",(e=>this.rootStore.checkEndpoint(e))),(0,C.default)(this,"getMenuAllowed",(e=>{var t=[];return(0,g.default)(e).call(e,(e=>{var a=this.updateMenuItemByAllowed(e);a&&t.push(a)})),t})),(0,C.default)(this,"onCollapseChange",(e=>{this.setState({collapsed:e})})),(0,C.default)(this,"checkPath",((e,t,a)=>e instanceof RegExp?e.test(t):a?t===a:e===t)),(0,C.default)(this,"getCurrentMenu",(e=>{var t,a,n=(0,v.default)(t=this.menuAll).call(t,(t=>this.checkPath(t.path,e)));if(n)return[n];var r=!1,l=[];return(0,g.default)(a=this.menuAll).call(a,(t=>{if(!r&&t.children){var a,n,i=(0,v.default)(a=t.children).call(a,(t=>this.checkPath(t.path,e)));if(i&&(r=!0,l=[t,i]),!r)(0,g.default)(n=t.children).call(n,(a=>{if(a.children){var n,i=(0,v.default)(n=a.children).call(n,(t=>this.checkPath(t.path,e)));i&&(r=!0,l=[t,a,i])}}))}})),l})),(0,C.default)(this,"clearAllNotice",(()=>{for(var e=document.getElementsByClassName("ant-notification-notice");e.length>0;)e[0].parentNode.removeChild(e[0]);this.rootStore.clearNoticeCount()})),(0,C.default)(this,"renderHeader",(()=>M.default.createElement(A.default,(0,k.default)({},this.props,{isAdminPage:this.isAdminPage,navItems:this.globalNav,isUserCenterPage:this.isUserCenterPage})))),this.state={collapsed:!1},this.init()}componentDidMount(){window.addEventListener("message",this.handleMessage)}componentWillUnmount(){window.removeEventListener("message",this.handleMessage)}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}get isUserCenterPage(){var{pathname:e}=this.props.location;return(0,E.isUserCenterPage)(e)}get rootStore(){return this.props.rootStore}get noticeCount(){return this.rootStore.noticeCount-(this.rootStore.noticeCountWaitRemove||0)}get user(){return(0,I.toJS)(this.rootStore.user)||null}get hasAdminRole(){return this.user&&this.rootStore.hasAdminRole}get hasAdminPageRole(){return this.user&&this.rootStore.hasAdminPageRole}get originMenu(){return this.isUserCenterPage?(0,L.default)(N.default.t):this.isAdminPage?(0,P.default)(N.default.t):(0,D.default)(N.default.t)}get globalNav(){return this.menu}get menu(){var e=this.filterMenuByHidden(this.originMenu),t=this.getMenuAllowed(e);return(0,m.default)(t).call(t,(e=>{var{hasChildren:t=!0,children:a}=e;return!t||t&&a.length}))}get menuAll(){return this.getMenuAllowed(this.originMenu)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,j.getPath)({key:n,params:t,query:a})}updateMenuItemByAllowed(e){var t,{policy:a,endpoints:n,children:r=[]}=e,l=(0,w.default)(e,["policy","endpoints","children"]);if(a&&!(0,T.default)({policy:a}))return null;if(n&&!this.checkItemEndpoints(n))return null;if(0===r.length)return e;var i=(0,m.default)(t=(0,y.default)(r).call(r,(e=>this.updateMenuItemByAllowed(e)))).call(t,(e=>!!e));return B(B({},l),{},{children:i})}init(){this.isAdminPage&&!this.hasAdminPageRole&&(window.location.href="/base/overview"),this.routes=this.props.route.routes,(0,j.setRouteMap)(this.menu)}renderNotice(){return this.noticeCount<3?null:M.default.createElement("div",{className:z.default.notice,onClick:this.clearAllNotice},M.default.createElement(x.default,null),M.default.createElement("span",{style:{marginLeft:8,fontSize:12}},t("Close all notifications.")))}render(){var{pathname:e}=this.props.location,t=this.getCurrentMenu(e);if(window.opener){var a=JSON.parse(localStorage.getItem("keystone_token")).value,n=localStorage.getItem("consoleHost"),r={status:"popupCompleted",token:a};return window.opener.postMessage(r,n),M.default.createElement(b.default,{visible:!0,closable:!1,footer:null,style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},bodyStyle:{textAlign:"center",fontSize:"18px",padding:"20px"}},M.default.createElement("p",null,"Connexion,Please wait... "))}return M.default.createElement("div",{className:z.default["base-layout"]},this.renderNotice(),M.default.createElement(V,{className:z.default.header},this.renderHeader()),M.default.createElement(R.default,{pathname:e,isAdminPage:this.isAdminPage,menu:this.menu,menuAll:this.menuAll,currentRoutes:t,onCollapseChange:this.onCollapseChange}),M.default.createElement(O.default,(0,k.default)({},this.props,this.state,{currentRoutes:t,isAdminPage:this.isAdminPage})))}}a.BaseLayout=K;var Q=(0,S.inject)("rootStore")((0,S.observer)(K));a.default=Q},1792:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{isAdminPage:t=!1,navItems:a=[]}=e;return l.default.createElement("div",{className:u.default.header},l.default.createElement(i.default,{navItems:a}),!t&&l.default.createElement(o.default,null),l.default.createElement(s.default,e))};var l=r(a(0)),i=r(a(1793)),o=r(a(1807)),s=r(a(2048)),u=r(a(1346))},1793:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.GlobalNav=void 0;var p=f(n(605));n(1794);var h=f(n(1797)),m=f(n(35)),g=f(n(0)),v=n(412),y=(n(564),f(n(16))),b=(n(161),f(n(1798))),x=n(1433),w=f(n(1799)),k=f(n(1802)),C=f(n(1805));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{this.setState({visible:!1})})),(0,m.default)(this,"onToggleOpen",(()=>{this.setState((e=>{var{visible:t}=e;return{visible:!t}}))})),this.state={visible:!1}}render(){var{visible:e}=this.state,{navItems:a=[]}=this.props,n={top:globalCSS.headerHeight,height:"calc(100% - ".concat(globalCSS.headerHeight,")")},r=Number(globalCSS.productsColumnWidth.replace("px",""));return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:C.default["global-nav-icon"],onClick:this.onToggleOpen},g.default.createElement("img",{src:b.default,alt:"menu-icon",className:C.default["global-nav-icon-icon"]})),g.default.createElement(h.default,{title:t("Service List"),className:C.default["drawer-left"],placement:"left",closable:!1,onClose:this.onClose,visible:e,style:n,bodyStyle:{padding:0},width:r,destroyOnClose:!0},g.default.createElement(w.default,{items:a,onClose:this.onClose})),g.default.createElement(h.default,{title:null,className:C.default["drawer-right"],placement:"left",closable:!0,onClose:this.onClose,visible:e,style:M(M({},n),{},{left:e?globalCSS.productsColumnWidth:0}),bodyStyle:{padding:0},mask:!0,width:4*r,maskStyle:{backgroundColor:"transparent"},closeIcon:g.default.createElement(p.default,{style:{fontSize:"20px"}})},g.default.createElement("div",{className:C.default.main},g.default.createElement(k.default,{items:a,onClose:this.onClose}))))}}a.GlobalNav=S,(0,m.default)(S,"propTypes",{navItems:y.default.oneOfType([y.default.arrayOf(x.navItemPropType),y.default.array])}),(0,m.default)(S,"defaultProps",{navItems:[]});var I=(0,v.observer)(S);a.default=I},1798:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA4CAYAAACPKLr2AAAAk0lEQVRoQ+3Y0QnAMAgA0bj/0HaIQzjK9d/EPE2QzpN/I8/vlSCtUIIJUgEaXw9iwd1dushl/JQg5PULwgOeh/fMUOIEE6QCNL4eTJAK0Hh/DzZuwRr7xy19iWEFzsP9t/icAG6QIATsByYFTDBBLEAX8L+D+mGhBGET+gdWeMDzcP8tPieAGyQIAZtmKGCC/xf8AMV4MAkwBaLlAAAAAElFTkSuQmCC"},1799:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(54)),i=r(a(35)),o=r(a(0)),s=a(204),u=r(a(16)),d=a(1433),c=r(a(1800));class f extends o.default.Component{constructor(){super(...arguments),(0,i.default)(this,"renderItem",(e=>o.default.createElement("div",{className:c.default.item,key:e.path},o.default.createElement(s.Link,{onClick:this.props.onClose,to:(0,d.getFirstLevelNavItemLink)(e),className:c.default["item-label"]},e.name))))}render(){var{items:e}=this.props;return o.default.createElement("div",{id:"global-nav-left",className:c.default.left},(0,l.default)(e).call(e,this.renderItem))}}t.default=f,(0,i.default)(f,"propTypes",{items:u.default.oneOfType([u.default.arrayOf(d.navItemPropType),u.default.array]),onClose:u.default.func}),(0,i.default)(f,"defaultProps",{items:[]})},1800:function(e,t,a){var n=a(1801);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1801:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__item--2Y2IS {\n padding: 12px 24px;\n cursor: pointer;\n}\n.index__item--2Y2IS:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__item-label--sz6t1 {\n display: block;\n width: 100%;\n color: #000;\n font-size: 13px;\n}\n.index__item-label--sz6t1:hover {\n color: #000;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",item:"index__item--2Y2IS","item-label":"index__item-label--sz6t1"}},1802:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(430)),h=f(n(28)),m=f(n(164)),g=f(n(29)),v=f(n(54)),y=f(n(77));n(569);var b=f(n(1253)),x=f(n(612)),w=f(n(35)),k=f(n(0)),C=n(204),_=(n(161),n(564),f(n(16))),M=n(1433),S=f(n(1803));function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function N(e){for(var t=1;t{var{value:t}=e.target;this.getNavItemsBySearch(t)})),(0,w.default)(this,"onSearch",(e=>{this.getNavItemsBySearch(e)})),(0,w.default)(this,"getNavItemsBySearch",(e=>{var t,a=(0,p.default)(t=(e||"").toLowerCase()).call(t),{items:n}=this.props,r=[];(0,h.default)(n).call(n,(e=>{if(a){var t,{name:n,children:l=[]}=e;if((0,m.default)(t=n.toLowerCase()).call(t,a))r.push(e);else{var i=(0,g.default)(l).call(l,(e=>{var t;return(0,m.default)(t=e.name.toLowerCase()).call(t,a)}));i.length&&r.push(N(N({},e),{},{children:i}))}}else r.push(e)})),this.setState({currentItems:r})})),(0,w.default)(this,"renderNavItemChildren",(e=>{var{children:t=[]}=e,a=t.length?t:[e],{onClose:n}=this.props;return(0,v.default)(a).call(a,(e=>{var t,{name:a,path:r}=e;return k.default.createElement("div",{key:(0,y.default)(t="".concat(a,"-")).call(t,r),className:S.default["children-item"]},k.default.createElement(C.Link,{onClick:n,to:r},k.default.createElement("span",{className:S.default["link-name"]},a)))}))})),(0,w.default)(this,"renderNavItem",(e=>{var{name:t=""}=e||{};return k.default.createElement("div",{className:S.default["nav-item"],key:e.name},k.default.createElement("div",{className:S.default.title},t),k.default.createElement("div",{classnames:S.default.children},this.renderNavItemChildren(e)))})),this.state={currentItems:e.items||[]}}renderSearch(){return k.default.createElement("div",{className:S.default.search},k.default.createElement(b.default,{prefix:k.default.createElement(x.default,null),placeholder:t("Search"),allowClear:!0,onChange:this.onInputChange}))}renderNavItems(){var{currentItems:e=[]}=this.state;return k.default.createElement("div",{className:S.default.right},(0,v.default)(e).call(e,this.renderNavItem))}render(){return k.default.createElement("div",{id:"global-nav-right"},this.renderSearch(),this.renderNavItems())}}a.default=E,(0,w.default)(E,"propTypes",{items:_.default.oneOfType([_.default.arrayOf(M.navItemPropType),_.default.array]),onClose:_.default.func}),(0,w.default)(E,"defaultProps",{items:[]})},1803:function(e,t,a){var n=a(1804);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1804:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__right--2sYP_ {\n -webkit-columns: 200px 3;\n -moz-columns: 200px 3;\n columns: 200px 3;\n -webkit-column-gap: 12px;\n -moz-column-gap: 12px;\n column-gap: 12px;\n}\n.index__nav-item--1_at0 {\n display: inline-block;\n width: 100%;\n margin-bottom: 20px;\n -webkit-column-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n}\n.index__nav-item--1_at0 .index__title--2wx19 {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n margin-bottom: 4px;\n color: #000;\n font-weight: 600;\n font-size: 14px;\n line-height: 22px;\n -webkit-transition: color 0.2s ease;\n transition: color 0.2s ease;\n}\n.index__children-item--30iPf {\n position: relative;\n height: 32px;\n margin-right: 8px;\n line-height: 32px;\n cursor: pointer;\n}\n.index__children-item--30iPf a {\n display: block;\n}\n.index__children-item--30iPf:hover {\n color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__children-item--30iPf:hover .index__link-name--2SSup {\n color: #000;\n}\n.index__children-item--30iPf .index__link-name--2SSup {\n color: #000;\n}\n.index__search--TO2Ca {\n width: 60%;\n margin-top: -8px;\n margin-bottom: 16px;\n margin-left: 0;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper {\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-color: #d9d9d9;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__search--TO2Ca .anticon-search {\n color: rgba(0, 0, 0, 0.45) !important;\n}\n.index__search--TO2Ca .ant-input {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__search--TO2Ca .ant-input:hover {\n border: #0068ff;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #0068ff;\n}\n.index__search--TO2Ca .ant-input-clear-icon,\n.index__search--TO2Ca .ant-input-clear-icon:active {\n color: rgba(0, 0, 0, 0.85);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",right:"index__right--2sYP_","nav-item":"index__nav-item--1_at0",title:"index__title--2wx19","children-item":"index__children-item--30iPf","link-name":"index__link-name--2SSup",search:"index__search--TO2Ca"}},1805:function(e,t,a){var n=a(1806);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1806:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__global-nav-icon--oF9N7 {\n position: relative;\n float: left;\n width: 40px;\n height: 40px;\n color: #fff;\n font-size: 16px;\n line-height: 40px;\n text-align: center;\n background-color: #0068ff;\n cursor: pointer;\n}\n.index__global-nav-icon--oF9N7:hover {\n background-color: #0068ff;\n}\n.index__global-nav-icon-icon--10OVj {\n width: 20px;\n}\n.index__main--22yB3 {\n padding: 32px 32px 0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header {\n background-color: #fff;\n border-bottom-color: #f0f0f0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header .ant-drawer-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__drawer-left--uUdzj .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-close {\n color: rgba(0, 0, 0, 0.45);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","global-nav-icon":"index__global-nav-icon--oF9N7","global-nav-icon-icon":"index__global-nav-icon-icon--10OVj",main:"index__main--22yB3","drawer-left":"index__drawer-left--uUdzj","drawer-right":"index__drawer-right--31wWn"}},1807:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=t.ProjectDropdown=void 0,a(1300);var l=r(a(1301)),i=r(a(1505)),o=r(a(1434));a(347);var s=r(a(348)),u=r(a(0)),d=a(412),c=(a(161),a(564),r(a(1302))),f=r(a(1346)),p=r(a(1819));class h extends u.default.Component{get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}render(){if(!this.user)return u.default.createElement(s.default,{size:"small",style:{marginLeft:8,marginRight:8,marginTop:-24}});var{projectName:e,userDomainName:t}=this.project;return u.default.createElement("div",{className:f.default.project,id:"project-switch",style:{paddingLeft:"8px"}},u.default.createElement(c.default,{actions:{moreActions:[{action:p.default}]}}),u.default.createElement(o.default,{style:{marginRight:10}}),u.default.createElement("span",null,e),u.default.createElement(i.default,{style:{color:"#A3A3A3",marginLeft:24}}),u.default.createElement(l.default,{type:"vertical"}),u.default.createElement("span",{className:f.default.domain},t))}}t.ProjectDropdown=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));t.default=m},1813:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__confirm-modal--3q6IU .ant-modal-confirm-body > .anticon {\n margin-right: 20px;\n font-size: 18px;\n}\n.index__confirm--3w0Sc {\n color: #fedf40 !important;\n}\n.index__error--2QqQF {\n color: #eb354d !important;\n}\n.index__success--3lQal {\n color: #57e39b !important;\n}\n.index__warn--ZLd6Q {\n color: #fedf40 !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","confirm-modal":"index__confirm-modal--3q6IU",confirm:"index__confirm--3w0Sc",error:"index__error--2QqQF",success:"index__success--3lQal",warn:"index__warn--ZLd6Q"}},1814:function(e,t,a){var n=a(1815);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1815:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__modal-action--t2EeP .ant-modal-body {\n padding: 0 0 16px;\n}\n",""]),t.locals={"modal-action":"index__modal-action--t2EeP"}},1816:function(e,t,a){var n=a(1817);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1817:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__first-action--2OPwj {\n padding: 0;\n text-align: left;\n}\n.index__first-action--2OPwj span {\n display: block;\n max-width: 48px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__more-action--3nzAh {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-popup ul {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-item,\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-title {\n padding: 0 12px;\n}\n.index__more-action-btn--1CkV8 {\n width: 100%;\n text-align: left;\n}\n.index__single-more-action--1AkZ2 .ant-btn-link {\n width: auto;\n}\n.index__action-buttons--3ReIW {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n",""]),t.locals={"first-action":"index__first-action--2OPwj","more-action":"index__more-action--3nzAh","action-sub-menu":"index__action-sub-menu--m8uMB","more-action-btn":"index__more-action-btn--1CkV8","single-more-action":"index__single-more-action--1AkZ2","action-buttons":"index__action-buttons--3ReIW"}},1818:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__menu--TIGc7 {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .anticon {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item {\n min-width: 245px;\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item:hover {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_ {\n overflow: hidden;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_:hover {\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 {\n padding: 0 12px;\n font-weight: bold;\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 .index__user-label--2mhYg {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 span {\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z {\n line-height: 30px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn-link[disabled] {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .index__menu-btn--wBMeV {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-divider--3m2zd {\n background-color: #fff;\n}\n.index__no-padding-top--2hYAA {\n padding-top: 0;\n}\n.index__logout--2w9f0 {\n float: right;\n line-height: 40px;\n}\n.index__right--X_kh6 {\n position: absolute;\n top: 0;\n right: 31px;\n line-height: 40px;\n}\n.index__right--X_kh6 .index__action--1gM_W {\n display: inline-block;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu {\n width: 170px;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item:hover,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title:hover {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item-disabled,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title-disabled {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .index__title--3e97C {\n cursor: auto;\n}\n.index__project-menu--3gMKs .index__title--3e97C:hover {\n background-color: #fff;\n}\n.index__project--Iy5xg {\n float: left;\n font-size: 14px;\n line-height: 40px;\n cursor: pointer;\n}\n.index__project--Iy5xg .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__project--Iy5xg .ant-btn-link {\n position: absolute;\n min-width: 280px;\n min-height: 40px;\n}\n.index__header--138pB {\n position: relative;\n z-index: 200;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 100%;\n padding-left: 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__avatar--C9tqm {\n width: 30px;\n height: 30px;\n color: #bfbfbf;\n border: none;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__domain--Q8Gpn {\n font-size: 14px;\n}\n.index__links--IHsTT {\n display: inline-block;\n margin-right: 20px;\n}\n.index__links--IHsTT .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__links--IHsTT .index__link--1PjXM {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__links--IHsTT .index__link--1PjXM:hover {\n color: #0068ff;\n}\n.index__links--IHsTT .index__active--2ykOE {\n color: #0068ff;\n}\n.index__password-btn--1O5lH {\n max-width: 100px;\n}\n.index__password-btn--1O5lH span {\n max-width: 80px;\n}\n.index__single-link--1h19E {\n margin-right: 5px;\n color: #0068ff;\n}\n.index__single-link--1h19E:hover {\n color: #0068ff;\n}\n.index__token--2NsWx pre {\n padding: 0.4em 0.6em;\n white-space: pre-wrap;\n word-wrap: break-word;\n background: hsla(0, 0%, 58.8%, 0.1);\n border: 1px solid hsla(0, 0%, 39.2%, 0.2);\n border-radius: 3px;\n}\n.index__logo--VDnnm {\n float: left;\n width: 190px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n}\n.index__logo--VDnnm img {\n height: 30px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",menu:"index__menu--TIGc7","no-hover":"index__no-hover--3nEW_","name-item":"index__name-item--3-Ls5","user-label":"index__user-label--2mhYg","menu-item":"index__menu-item--2EH8z","menu-btn":"index__menu-btn--wBMeV","menu-divider":"index__menu-divider--3m2zd","no-padding-top":"index__no-padding-top--2hYAA",logout:"index__logout--2w9f0",right:"index__right--X_kh6",action:"index__action--1gM_W","project-menu":"index__project-menu--3gMKs",title:"index__title--3e97C",project:"index__project--Iy5xg",header:"index__header--138pB",avatar:"index__avatar--C9tqm",domain:"index__domain--Q8Gpn",links:"index__links--IHsTT",link:"index__link--1PjXM",active:"index__active--2ykOE","password-btn":"index__password-btn--1O5lH","single-link":"index__single-link--1h19E",token:"index__token--2NsWx",logo:"index__logo--VDnnm"}},1819:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.ProjectSelect=void 0;var p=f(n(86)),h=f(n(63)),m=f(n(29)),g=f(n(54)),v=f(n(91)),y=f(n(58)),b=f(n(49)),x=f(n(35)),w=n(412),k=n(1241),C=n(1251),_=f(n(1255));function M(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class S extends k.ModalAction{constructor(){var e;super(...arguments),e=this,(0,x.default)(this,"state",{projectName:""}),(0,x.default)(this,"onSubmit",function(){var t=(0,b.default)((function*(t){var a,{project:{selectedRowKeys:n}}=t,r=n[0],l=(0,p.default)(a=e.projects).call(a,(e=>e.id===r)),{domain_id:i}=l||{},{rootStore:o}=e.props;try{return yield o.switchProject(r,i),e.routing.push("/base/overview"),h.default.resolve()}catch(e){return h.default.reject(e)}}));return function(e){return t.apply(this,arguments)}}())}init(){this.getAllUserProjects()}getAllUserProjects(){var e=this;return(0,b.default)((function*(){yield _.default.getUserProjects(),e.updateDefaultValue()}))()}get name(){return t("Switch Project")}static get modalSize(){return"large"}getModalSize(){return"large"}get messageHasItemName(){return!1}get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}get projects(){var e,{projectName:t}=this.state,{data:a}=_.default.userProjects;return(0,m.default)(e=(0,g.default)(a).call(a,(e=>{var{id:t}=e;return function(e){for(var t=1;t{var a,n;return!t||((0,v.default)(a=e.name.toLowerCase()).call(a,t.toLowerCase())>=0||(0,v.default)(n=e.projectId.toLowerCase()).call(n,t.toLowerCase())>=0)}))}get defaultValue(){var e,{projectId:t=""}=this.project;return{project:{selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.projects).call(e,(e=>e.id===t))}}}get formItems(){return[{name:"project",label:t("Owned Project"),type:"select-table",data:this.projects,isLoading:_.default.userProjects.isLoading,disabledFunc:e=>!e.enabled,filterParams:[{label:t("Project Name"),name:"name"}],columns:[{title:t("Project Name"),dataIndex:"name"},{title:t("ID"),dataIndex:"id"},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"}]}]}}a.ProjectSelect=S,(0,x.default)(S,"id","project-id"),(0,x.default)(S,"title",t("Switch Project")),(0,x.default)(S,"buttonText"," "),(0,x.default)(S,"policy",C.allCanReadPolicy),(0,x.default)(S,"allowed",(()=>h.default.resolve(!0)));var I=(0,w.inject)("rootStore")((0,w.observer)(S));a.default=I},1820:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(1250)),s=a(567);class u extends o.default{static allowed(){return l.default.resolve()}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,s.getPath)({key:n,params:t,query:a})}}t.default=u,(0,i.default)(u,"id","formAction"),(0,i.default)(u,"actionType","link"),(0,i.default)(u,"title","form"),(0,i.default)(u,"buttonType","primary"),(0,i.default)(u,"isDanger",!1),(0,i.default)(u,"path","/"),(0,i.default)(u,"policy",""),(0,i.default)(u,"aliasPolicy","")},1831:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.type2component=void 0;var p=f(n(63)),h=f(n(77)),m=f(n(164)),g=f(n(343));n(1261);var v=f(n(1262));n(344);var y=f(n(202)),b=f(n(1299)),x=f(n(58)),w=f(n(35));n(1374);var k=f(n(1375));n(1846);var C=f(n(1849));n(1513);var _=f(n(1514));n(1278);var M=f(n(1279));n(1300);var S=f(n(1301));n(569);var I=f(n(1253)),N=f(n(177)),E=f(n(0)),T=f(n(16)),A=(n(161),n(564),f(n(1429))),j=f(n(1857)),P=f(n(1872)),D=f(n(1519)),L=f(n(1875)),O=f(n(1376)),R=f(n(1534)),z=f(n(1899)),U=f(n(1902)),F=f(n(1917)),B=f(n(1922)),V=f(n(1444)),K=f(n(1925)),Q=f(n(1928)),Y=f(n(1937)),G=f(n(1938)),H=f(n(1939)),W=f(n(1944)),q=f(n(1947)),$=f(n(1950)),Z=f(n(1951)),J=f(n(1552)),X=f(n(1963)),ee=f(n(1964)),te=f(n(1965)),ae=f(n(1968)),ne=f(n(1447)),re=f(n(1969)),le=f(n(1989)),ie=f(n(1993)),oe=f(n(1448)),se=f(n(1994)),ue=f(n(1999)),de=f(n(2e3));function ce(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function fe(e){for(var t=1;t{var{selectedRowKeys:n=[]}=a||{};return 0===n.length?p.default.reject(new Error(e.placeholder||t("Please select {label}!",{label:e.label}))):p.default.resolve()})),(0,w.default)(this,"getDescriptionValidator",((e,a)=>{var n;return a&&a.length>255?p.default.reject(new Error((0,h.default)(n="".concat(t("Invalid: "))).call(n,t("The description can be up to 255 characters long.")))):p.default.resolve()}))}getComponentProps(e){switch(e){case"label":var{content:t,icon:a,iconType:n,showLoading:r}=this.props;return{content:t,icon:a,iconType:n,showLoading:r};case"divider":return{className:this.props.className};case"select":var l=this.props,{options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h="label",checkOptions:m,checkBoxInfo:g,allowClear:v,required:y}=l;return fe({options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h,checkOptions:m,checkBoxInfo:g,allowClear:y?v||!1:v},(0,x.default)(l,["options","placeholder","mode","onChange","isWrappedValue","tip","disabled","showSearch","optionFilterProp","checkOptions","checkBoxInfo","allowClear","required"]));default:var b=this.props,{validator:w}=b;return fe({},(0,x.default)(b,["validator"]))}}getFormItemProps(){var{name:e,label:t,type:a,help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,tip:d,dependencies:c}=this.props,f={name:e,label:this.renderLabel(t,d),help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,rules:this.getRules()};switch(c&&c.length>0&&(f.dependencies=c),a){case"title":return fe(fe({},f),{},{label:"",labelCol:null,wrapperCol:{xs:{span:24},sm:{span:24}}});case"label":return fe(fe({},f),{},{className:"form-item-text"});case"select-table":case"network-select-table":case"tab-select-table":case"instance-volume":case"network-select":case"add-select":case"descriptions":case"short-divider":case"transfer":case"NUMA":case"check-group":return fe(fe({},f),{},{wrapperCol:u||{xs:{span:24},sm:{span:t?18:24}}});default:return f}}getRules(){var{required:e,rules:a,validator:n,type:r="",otherRule:l,name:i,hidden:o,label:s,placeholder:u,hasRequiredCheck:d=!0}=this.props;if(o)return[];if(a)return a;var c=[],f={},p={};return e&&(r&&(0,m.default)(r).call(r,"select-table")?(p.required=!0,p.validator=(e,t)=>this.getSelectTableValidator(fe(fe({},e),this.props),t)):r&&(0,m.default)(r).call(r,"select")?(p.required=!0,p.message=u||t("Please select {label}!",{label:s})):d?(p.required=!0,p.message=u||t("Please input {label}!",{label:s})):n&&(f.required=e)),(0,N.default)(p)||c.push(p),n?f.validator=n:r&&(0,m.default)(r).call(r,"textarea")&&"description"===i&&(f.validator=this.getDescriptionValidator),(0,N.default)(f)||c.push(f),l&&c.push(l),c}getComponent(e){return pe[e]}renderTip(e){return e?E.default.createElement(y.default,{title:e},E.default.createElement(b.default,null)):null}renderLabel(e,t){return t?E.default.createElement("span",null,e," ",this.renderTip(t)):e}render(){var{component:e,type:t}=this.props,a=this.getFormItemProps();if(e)return E.default.createElement(v.default.Item,a,e);var n=this.getComponent(t),r=this.getComponentProps(t);if("divider"===t)return E.default.createElement(S.default,{className:"form-item-divider"});if("short-divider"===t)return E.default.createElement(v.default.Item,(0,g.default)({},a,{label:" ",style:{marginBottom:0}}),E.default.createElement(S.default,null));if(n){if(n.isFormItem)return E.default.createElement(n,{formItemProps:a,componentProps:r});var l=E.default.createElement(n,r);return E.default.createElement(v.default.Item,a,l)}var{content:i}=this.props;return i?E.default.createElement(v.default.Item,a,E.default.createElement("span",r,i)):null}}a.default=he,(0,w.default)(he,"propTypes",{component:T.default.object,type:T.default.string,content:T.default.any,className:T.default.string,name:T.default.string,label:T.default.string,rules:T.default.array,required:T.default.bool,validator:T.default.func,options:T.default.array,placeholder:T.default.string,mode:T.default.string,onChange:T.default.func,dependencies:T.default.array,formref:T.default.object,hasRequiredCheck:T.default.bool}),(0,w.default)(he,"defaultProps",{required:!1,dependencies:[]})},1857:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(1347)),u=o(n(1442)),d=o(n(343));n(1246);var c=o(n(1247));n(1244);var f=o(n(1245));n(1261);var p=o(n(1262));n(231);var h=o(n(341));n(568);var m=o(n(415)),g=o(n(54)),v=o(n(232)),y=o(n(91)),b=o(n(29)),x=o(n(63)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(564),o(n(1376))),C=n(565),_=n(461),M=o(n(1870));function S(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(S=function(e){return e?a:t})(e)}var{isIPv4:I,isIpv6:N}=C.ipValidate,E=e=>{var{componentProps:a,formItemProps:n}=e,{maxNumber:r=10,ports:l,isLoading:i,members:o=[],lbSubnetId:C}=a,{name:S,onChange:E}=n,[T,A]=(0,w.useState)(0),j=()=>{};return w.default.createElement("div",{style:{padding:20}},w.default.createElement(p.default.Item,{label:t("select an existing port"),wrapperCol:{xs:18,xm:12},extra:t("If you choose a port which subnet is different from the subnet of LB, please ensure connectivity between the two.")},w.default.createElement(k.default,{maxSelectedCount:-1,isLoading:i,data:l,columns:[{title:t("ID/Name"),dataIndex:"name",routeName:"portDetail"},{title:t("Binding Instance"),dataIndex:"server_name"},{title:t("IP"),dataIndex:"fixed_ips",render:(e,t)=>{if(0===e.length)return"-";var a=(0,g.default)(e).call(e,(e=>({label:e.ip_address,value:e.ip_address,subnet_id:e.subnet_id})));return t.currentOption=a[0].value,t.currentSubnetId=a[0].subnet_id,w.default.createElement(m.default,{style:{minWidth:200},options:a,defaultValue:a[0].value,onChange:(e,a)=>{t.currentSubnetId=a.subnet_id,t.currentOption=e}})},sorter:(e,t)=>{var a=e.fixed_ips[0].ip_address,n=t.fixed_ips[0].ip_address,r=(_.Address4.isValid(a)?new _.Address4(a):new _.Address6(a)).bigInteger(),l=(_.Address4.isValid(n)?new _.Address4(n):new _.Address6(n)).bigInteger();return r.compareTo(l)}},{title:t("Action"),key:"operation",render:(e,a)=>w.default.createElement(h.default,{disabled:!a.currentOption,onClick:()=>{j({ip_address:{ip:a.currentOption,protocol_port:void 0,weight:1,name:a.server_name,subnet_id:a.currentSubnetId},canEdit:!1})}},t("Add Member"))}],filterParams:[{label:t("ID"),name:"id"},{label:t("Name"),name:"name"},{label:t("Binding Instance"),name:"server_name"},{label:t("IP"),name:"fixed_ips",filterFunc:(e,t)=>(0,v.default)(e).call(e,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)>-1}))},{label:t("Same subnet with LB"),name:"origin_data",options:[{label:t("True"),key:!0}],filterFunc:(e,t)=>{var a;return!t||(0,v.default)(a=e.fixed_ips).call(a,(e=>e.subnet_id===C))}}]})),w.default.createElement(p.default.Item,(0,d.default)({},n,{label:t("Selected Members")}),w.default.createElement(p.default.List,{name:S},((e,a)=>{var{add:n,remove:r}=a;return j=n,A(e.length),0===e.length?t("Not yet selected"):w.default.createElement(w.default.Fragment,null,e.length>0&&w.default.createElement(c.default,{gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(c.default,null,w.default.createElement(f.default,{span:12},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("IP Address"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Port"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Weights")))))),(0,g.default)(e).call(e,(e=>w.default.createElement(c.default,{key:e.key,gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(p.default.Item,(0,d.default)({},e,{style:{width:"98%"},validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{var n=(0,b.default)(o).call(o,(e=>e.address===a.ip_address.ip&&e.protocol_port===a.ip_address.protocol_port));return a&&a.ip_address.ip?I(a.ip_address.ip)||N(a.ip_address.ip)?a.ip_address.ip&&a.ip_address.protocol_port?a.ip_address.weight?n[0]?x.default.reject(new Error(t("Invalid IP Address and Port"))):x.default.resolve(!0):x.default.reject(new Error(t("Missing Weight"))):x.default.reject(new Error(t("Missing Port"))):x.default.reject(new Error(t("Invalid IP Address"))):x.default.reject(new Error(t("Missing IP Address")))}}]}),w.default.createElement(M.default,{field:e,onChange:e=>{return t=e,void(E&&E(t));var t}}))),w.default.createElement(f.default,{span:2},w.default.createElement(u.default,{onClick:()=>r(e.name)}))))))}))),T{j()},block:!0,icon:w.default.createElement(s.default,null)},t("Add External Members"))))};E.isFormItem=!0;var T=E;a.default=T},1862:function(e,t,a){var n=a(1863);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1863:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__magic-input-outer-wrapper--2caFk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.index__magic-input-wrapper--3jKxQ {\n position: relative;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n min-width: 200px;\n padding: 3px 0 3px 8px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag {\n height: 24px;\n margin-right: 4px;\n margin-bottom: 1px;\n padding: 0 4px;\n color: #fff;\n font-size: 10px;\n line-height: 24px;\n background-color: #0068ff;\n border: none;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag .anticon-close {\n margin-left: 16px;\n color: #fff;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn {\n margin-top: -3px;\n margin-right: 0;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn-icon-only {\n background-color: #fff;\n}\n.index__magic-input-wrapper-active--225GJ {\n border-color: #0068ff;\n -webkit-box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n}\n.index__input-wrapper--1osyl {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 24px;\n line-height: 24px;\n}\n.index__input-wrapper--1osyl .ant-input {\n padding: 0;\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl .ant-input:focus {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl input::-webkit-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-moz-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input:-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical > .ant-menu-item {\n height: 26px;\n line-height: 26px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical .ant-menu-item {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 10px;\n}\n.index__menu--2CcQt {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n}\n.index__menu--2CcQt,\n.index__option-menu--1Wni_ {\n position: absolute;\n top: 34px;\n z-index: 100;\n max-height: 310px;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n}\n.index__key--1C5xL {\n font-size: 10px;\n line-height: 24px;\n}\n.index__key--1C5xL .ant-divider,\n.index__key--1C5xL .ant-divider-vertical {\n margin-right: 4px;\n margin-left: 4px;\n}\n.ant-form-item-has-error .magic-input-wrapper .ant-input,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:focus,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:not([disabled]):hover {\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.magic-input-wrapper .ant-tag {\n display: inline-block;\n height: 24px;\n margin: 0 5px 0 0;\n margin-bottom: 1px;\n line-height: 24px;\n}\n.index__search-icon--1c2YI {\n position: absolute;\n top: 0;\n right: 8px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 12px;\n line-height: 32px;\n}\n.index__search-icon-hidden--3mkNv {\n display: none;\n}\n.index__close-btn-col--1qQC_ {\n position: absolute;\n top: 0;\n right: 0;\n height: 30px;\n line-height: 30px;\n}\n.index__close-btn-col--1qQC_ .index__close-btn--1gDiH {\n height: 28px !important;\n padding: 0;\n background-color: #fff;\n border: none;\n}\n.index__close-option-btn--2fpQF {\n top: 3px;\n height: 24px !important;\n}\n.index__magic-input-checks--3sSga {\n margin-left: 8px;\n line-height: 32px;\n}\n.index__magic-input-checks--3sSga .ant-checkbox + span {\n text-wrap: nowrap;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","magic-input-outer-wrapper":"index__magic-input-outer-wrapper--2caFk","magic-input-wrapper":"index__magic-input-wrapper--3jKxQ","magic-input-wrapper-active":"index__magic-input-wrapper-active--225GJ","input-wrapper":"index__input-wrapper--1osyl",menu:"index__menu--2CcQt","option-menu":"index__option-menu--1Wni_",key:"index__key--1C5xL","search-icon":"index__search-icon--1c2YI","search-icon-hidden":"index__search-icon-hidden--3mkNv","close-btn-col":"index__close-btn-col--1qQC_","close-btn":"index__close-btn--1gDiH","close-option-btn":"index__close-option-btn--2fpQF","magic-input-checks":"index__magic-input-checks--3sSga"}},1864:function(e,t,a){var n=a(1865);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1865:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__sl-simple-table--3t0n0 .ant-table-content .ant-table-thead tr .ant-table-cell {\n padding: 8px 8px 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-column-sorters {\n padding: 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-tbody > tr > td {\n padding: 8px 8px 8px 0;\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","sl-simple-table":"index__sl-simple-table--3t0n0"}},1866:function(e,t,a){var n=a(1867);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1867:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--W62k9 {\n height: 32px;\n text-align: right;\n}\n.index__inner--1yC3_ {\n display: inline-block;\n width: 300px;\n overflow: hidden;\n}\n",""]),t.locals={wrapper:"index__wrapper--W62k9",inner:"index__inner--1yC3_"}},1868:function(e,t,a){var n=a(1869);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1869:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__search-wrapper--2qjcr {\n margin-bottom: 16px;\n}\n.index__search-wrapper--2qjcr .ant-menu-root.ant-menu-vertical {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n}\n.index__image-tabs--Y02Y0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n height: 52px;\n margin-bottom: 8px;\n}\n.index__image-tabs--Y02Y0 img {\n display: block;\n width: 20px;\n height: 20px;\n margin: 0 auto;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper {\n width: 70px;\n height: 50px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n text-align: center;\n border: none;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper:not(:first-child)::before {\n width: 0;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n color: #0068ff;\n font-weight: bold;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__image-tab--i9nyz {\n -webkit-box-flex: 1;\n -ms-flex: 1 auto;\n flex: 1 auto;\n}\n.index__image-tab-label--qzyGd {\n font-size: 10px;\n}\n.index__normal-tabs--1Lx8V {\n margin-bottom: 8px;\n}\n.index__pagination-footer--1r5HD .ant-select {\n width: unset;\n min-width: 80px;\n}\n.index__sl-select-table-backend--7Wvxx .ant-table-footer {\n padding: 8px 16px;\n background: #fff;\n}\n.index__search-line--2qRf5 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n gap: 8px;\n}\n.index__search-line--2qRf5 .ant-btn-default {\n color: #0068ff;\n background-color: #f6f7fb;\n border-color: #0068ff;\n}\n.index__search-line--2qRf5 .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","search-wrapper":"index__search-wrapper--2qjcr","image-tabs":"index__image-tabs--Y02Y0","image-tab":"index__image-tab--i9nyz","image-tab-label":"index__image-tab-label--qzyGd","normal-tabs":"index__normal-tabs--1Lx8V","pagination-footer":"index__pagination-footer--1r5HD","sl-select-table-backend":"index__sl-select-table-backend--7Wvxx","search-line":"index__search-line--2qRf5"}},1870:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var p=f(a(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),m=f(a(1871));function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{onChange:t,value:a}=e;a=a||{ip_address:{ip:void 0,protocol_port:void 0,weight:1,subnet_id:void 0},canEdit:!0};var[n,r]=(0,h.useState)(a.ip_address);return h.default.createElement(m.default,{onChange:e=>{var l,i;r(e),l={ip_address:e},i=y(y({},a),{},{ip_address:n},l),t&&t(i)},value:n,disabled:!a.canEdit})};t.default=b},1871:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1246);var p=f(a(1247));a(1278);var h=f(a(1279));a(1244);var m=f(a(1245));a(569);var g=f(a(1253)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t{var{value:t={},onChange:a,disabled:n}=e,[r,l]=(0,y.useState)(t.ip||void 0),[i,o]=(0,y.useState)(t.protocol_port||void 0),[s,u]=(0,y.useState)(t.weight),d=e=>{a(w(w({ip:r,protocol_port:i,weight:s},t),e))};return y.default.createElement(p.default,{gutter:[16]},y.default.createElement(m.default,{span:12},y.default.createElement(g.default,{style:{maxWidth:210},onChange:e=>{var{target:{value:t}}=e;l(t),d({ip:t})},value:r,disabled:n})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:65535,style:{width:"100%"},value:i,onChange:e=>{e&&o(e),e&&d({protocol_port:e})}})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:256,style:{width:"100%"},value:s,onChange:e=>{e&&u(e),e&&d({weight:e})}})))}},1872:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1261);var p=f(a(1262)),h=f(a(58)),m=f(a(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(565)),y=f(a(1429));function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t0&&(t=w(w({},t),e[0])),[t]}render(){var{componentProps:e,formItemProps:t}=this.props,{rules:a}=t,n=(0,h.default)(t,["rules"]),r=this.getRules(a),l=w(w({},n),{},{rules:r}),i=w(w({},e),{},{mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0}});return g.default.createElement(p.default.Item,l,g.default.createElement(y.default,i))}}t.default=k,(0,m.default)(k,"isFormItem",!0)},1873:function(e,t,a){var n=a(1874);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1874:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__checkbox--2qAZO {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",checkbox:"index__checkbox--2qAZO"}},1875:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(164)),s=i(a(616)),u=i(a(58)),d=i(a(35)),c=i(a(1520)),f=i(a(1521)),p=i(a(1522)),h=i(a(1523)),m=i(a(1524)),g=i(a(1525)),v=i(a(1526)),y=i(a(1527)),b=i(a(1528)),x=i(a(1529)),w=i(a(1348)),k=i(a(1530)),C=i(a(1531)),_=i(a(1532)),M=i(a(1344)),S=i(a(1533)),I=i(a(1377)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),E=i(a(16)),T=i(a(1892)),A=i(a(1893)),j=i(a(1894)),P=(a(564),i(a(1895)));function D(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(D=function(e){return e?a:t})(e)}var L=N.default.createElement("img",{src:T.default,alt:"image_icon",style:{width:"12px"}}),O=N.default.createElement("img",{src:A.default,alt:"security_icon",style:{width:"12px"}}),R=N.default.createElement("img",{src:j.default,alt:"lb_icon",style:{width:"12px"}}),z={instance:N.default.createElement(I.default,null),router:N.default.createElement(S.default,null),externalNetwork:N.default.createElement(M.default,null),network:N.default.createElement(M.default,null),firewall:N.default.createElement(_.default,null),volume:N.default.createElement(C.default,null),gateway:N.default.createElement(k.default,null),user:N.default.createElement(w.default,null),snapshot:N.default.createElement(x.default,null),backup:N.default.createElement(b.default,null),keypair:N.default.createElement(y.default,null),image:L,aggregate:N.default.createElement(v.default,null),metadata:N.default.createElement(g.default,null),flavor:N.default.createElement(m.default,null),host:N.default.createElement(h.default,null),security:O,lb:R,group:N.default.createElement(p.default,null),project:N.default.createElement(f.default,null),floatingIp:N.default.createElement(c.default,null)};class U extends N.Component{renderIcon(){var{icon:e,iconType:t}=this.props;if(t){var a=z[t]||null;return N.default.createElement("span",{className:P.default.icon},a)}return N.default.createElement("span",{className:P.default.icon},e||null)}render(){var e=this.props,{content:t,value:a,iconType:n,showLoading:r}=e,l=(0,u.default)(e,["content","value","iconType","showLoading"]),i=[void 0,null,""];return t||N.default.createElement("span",l,this.renderIcon(),r&&(0,o.default)(i).call(i,a)?N.default.createElement(s.default,null):a)}}t.default=U,(0,d.default)(U,"propTypes",{content:E.default.any,value:E.default.any,icon:E.default.node,iconType:E.default.string}),(0,d.default)(U,"defaultProps",{icon:null,iconType:"",content:"",value:null})},1892:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyBjbGFzcz0iaWNvbiIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIwMC4wMHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiAxMDA3LjE2MWMtMjc2LjcwNyAwLTQ5NS4xNjEtMjI1LjczNS00OTUuMTYxLTQ5NS4xNjEgMC0yNzYuNzA3IDIyNS43MzUtNDk1LjE2MSA0OTUuMTYxLTQ5NS4xNjEgMjc2LjcwNyAwIDQ5NS4xNjEgMjI1LjczNSA0OTUuMTYxIDQ5NS4xNjEgMCAyNzYuNzA3LTIxOC40NTMgNDk1LjE2MS00OTUuMTYxIDQ5NS4xNjF6TTUxMiA3NS4wOTNjLTI0MC4yOTkgMC00MzYuOTA3IDE5Ni42MDgtNDM2LjkwNyA0MzYuOTA3czE5Ni42MDggNDM2LjkwNyA0MzYuOTA3IDQzNi45MDcgNDM2LjkwNy0xOTYuNjA4IDQzNi45MDctNDM2LjkwNy0xOTYuNjA4LTQzNi45MDctNDM2LjkwNy00MzYuOTA3eiIgIC8+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiA2MjguNTA5Yy02NS41MzYgMC0xMTYuNTA5LTUwLjk3My0xMTYuNTA5LTExNi41MDlzNTAuOTczLTExNi41MDkgMTE2LjUwOS0xMTYuNTA5IDExNi41MDkgNTAuOTczIDExNi41MDkgMTE2LjUwOWMwIDY1LjUzNi01MC45NzMgMTE2LjUwOS0xMTYuNTA5IDExNi41MDl6TTUxMiA0NjEuMDI3Yy0yOS4xMjcgMC01MC45NzMgMjEuODQ1LTUwLjk3MyA1MC45NzNzMjEuODQ1IDUwLjk3MyA1MC45NzMgNTAuOTczYzI5LjEyNyAwIDUwLjk3My0yMS44NDUgNTAuOTczLTUwLjk3M3MtMjEuODQ1LTUwLjk3My01MC45NzMtNTAuOTczek0xNTUuMTkzIDU0OC40MDljLTcuMjgyIDAtMTQuNTYzLTcuMjgyLTE0LjU2My0xNC41NjN2LTIxLjg0NWMwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzdjE0LjU2M2MwIDE0LjU2My03LjI4MiAyMS44NDUtMTQuNTYzIDIxLjg0NXpNMzM3LjIzNyA4MzkuNjhoLTcuMjgyYy0xMDEuOTQ1LTU4LjI1NC0xNjcuNDgxLTE1Mi45MTctMTgyLjA0NS0yNjIuMTQ0IDAtNy4yODIgNy4yODItMTQuNTYzIDE0LjU2My0xNC41NjNzMTQuNTYzIDcuMjgyIDE0LjU2MyAxNC41NjNjMTQuNTYzIDEwMS45NDUgODAuMDk5IDE4OS4zMjYgMTY3LjQ4MSAyNDAuMjk5IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyA3LjI4MiAyMS44NDVoLTE0LjU2M3pNMzE1LjM5MiA3MTUuODljLTcuMjgyIDAtNy4yODIgMC0xNC41NjMtNy4yODItNDMuNjkxLTQzLjY5MS03Mi44MTgtMTA5LjIyNy03Mi44MTgtMTc0Ljc2MyAwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzYzAgNTguMjU0IDIxLjg0NSAxMDkuMjI3IDY1LjUzNiAxNTIuOTE3IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyAwIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTcuMjgyIDcuMjgyek0zNjYuMzY1IDc1Mi4yOTloLTcuMjgyYy03LjI4MiAwLTcuMjgyLTcuMjgyLTE0LjU2My03LjI4Mi03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMtNy4yODItMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUtNy4yODIgNy4yODIgMCA3LjI4MiA3LjI4MiAxNC41NjMgNy4yODIgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NS03LjI4MiA3LjI4Mi0xNC41NjMgNy4yODItMTQuNTYzIDcuMjgyek0zODAuOTI4IDY2NC45MTdoLTcuMjgyYy0zNi40MDktMjEuODQ1LTY1LjUzNi02NS41MzYtNjUuNTM2LTEwOS4yMjcgMC03LjI4MiA3LjI4Mi0xNC41NjMgMTQuNTYzLTE0LjU2M3MxNC41NjMgNy4yODIgMTQuNTYzIDE0LjU2M2MwIDM2LjQwOSAxNC41NjMgNjUuNTM2IDUwLjk3MyA4MC4wOTkgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTE0LjU2MyA3LjI4MnpNODYxLjUyNSA1NTUuNjkxYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDE0LjU2My0xMjMuNzktMzYuNDA5LTI0Ny41ODEtMTM4LjM1NC0zMjAuMzk4LTcuMjgyLTcuMjgyLTcuMjgyLTE0LjU2MyAwLTIxLjg0NSA3LjI4Mi03LjI4MiAxNC41NjMtNy4yODIgMjEuODQ1IDAgMTA5LjIyNyA4MC4wOTkgMTY3LjQ4MSAyMTEuMTcxIDE1Mi45MTcgMzQ5LjUyNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6IiAgLz48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNzc0LjE0NCA1MjYuNTYzYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDcuMjgyLTgwLjA5OS0yMS44NDUtMTUyLjkxNy04Ny4zODEtMTk2LjYwOC03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMgMC0yMS44NDVzMTQuNTYzLTcuMjgyIDIxLjg0NSAwYzcyLjgxOCA1MC45NzMgMTA5LjIyNyAxMzguMzU0IDEwMS45NDUgMjI1LjczNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6TTY5NC4wNDUgNDkwLjE1NWMtNy4yODIgMC0xNC41NjMtNy4yODItMTQuNTYzLTE0LjU2MyA3LjI4Mi0zNi40MDktNy4yODItNjUuNTM2LTM2LjQwOS04Ny4zODEtNy4yODItNy4yODItNy4yODItMTQuNTYzIDAtMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUgMCAzNi40MDkgMjkuMTI3IDU4LjI1NCA3Mi44MTggNTAuOTczIDExNi41MDktNy4yODIgMC0xNC41NjMgNy4yODItMjEuODQ1IDcuMjgyeiIgIC8+PC9zdmc+"},1893:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTk0MzYyODEzNzAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0NDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTIxLjI1IDg4My4zNGMtMS4yNCAwLTIuNDktMC4xNS0zLjc0LTAuNDgtNjAuMTctMTUuNDUtMTEyLjk2LTQwLjA2LTE1Ni45MS03My4xNC0zNS4zNC0yNi42LTY1LjAzLTU4LjY3LTg4LjI1LTk1LjMzLTM5LjY2LTYyLjYyLTQ2LjY0LTExNi43MS00Ni45MS0xMTguOThsLTAuMTEtMC45MVYyNTUuMDZsMTcuMzcgMi43OGM3MC41NiAxMS4zMSAxMzYuNTctMi43OCAxOTYuMi00MS44NyA0NS0yOS41IDY5LjMzLTYyLjk4IDY5LjU4LTYzLjMxIDQuODMtNi43MiAxNC4xOS04LjI3IDIwLjkyLTMuNDUgNi43MyA0LjgyIDguMjkgMTQuMTYgMy40OCAyMC45LTEuMDkgMS41Mi0yNy4xOCAzNy42OC03Ni40OCA3MC4yNy0yOC45OCAxOS4xNi02MC4wNyAzMy4xNS05Mi4zOSA0MS42LTM1IDkuMTUtNzEuNDggMTEuNzYtMTA4LjY3IDcuODF2MzAyLjc2YzAuOTkgNi41NCA5LjExIDUzLjggNDMuMTUgMTA3LjAyIDQ4Ljc4IDc2LjI4IDEyNC45OSAxMjguMTcgMjI2LjUgMTU0LjI0IDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzcgNi43Ni03Ljg2IDExLjI2LTE0LjU0IDExLjI3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuOTQgODgzLjM0Yy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiAxMDIuMDgtMjYuMjIgMTc4LjU1LTc4LjUyIDIyNy4yOC0xNTUuNDYgMzYuMDgtNTYuOTcgNDIuNDItMTA2LjA4IDQyLjQ4LTEwNi41NyAxLjAxLTguMjIgOC40Ny0xNC4wNyAxNi43MS0xMy4wNyA4LjIyIDEgMTQuMDcgOC40OSAxMy4wNyAxNi43MS0wLjI4IDIuMjctNy4yNSA1Ni4zNi00Ni45MSAxMTguOTgtMjMuMjEgMzYuNjUtNTIuOTEgNjguNzMtODguMjUgOTUuMzMtNDMuOTUgMzMuMDgtOTYuNzQgNTcuNjktMTU2LjkyIDczLjE0LTEuMjUgMC4zMS0yLjUgMC40Ny0zLjc0IDAuNDd6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQyIj48L3BhdGg+PHBhdGggZD0iTTgwNC4xOSA2MDguNTljLTguMjggMC0xNS02LjcyLTE1LTE1VjI4OS43OGMtMzcuMTkgMy45NS03My42NyAxLjM0LTEwOC42Ny03LjgxLTMyLjMzLTguNDUtNjMuNDEtMjIuNDQtOTIuMzktNDEuNi00OS4zLTMyLjU5LTc1LjQtNjguNzQtNzYuNDgtNzAuMjctNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44MSAxNi4wOS0zLjI1IDIwLjkxIDMuNDggMC4yNCAwLjMzIDI0LjU3IDMzLjgxIDY5LjU4IDYzLjMxIDU5LjYyIDM5LjA5IDEyNS42NCA1My4xOCAxOTYuMTkgNDEuODdsMTcuMzctMi43OHYzMzguNTNjLTAuMDEgOC4yOS02LjcyIDE1LTE1LjAxIDE1ek01MjEuNjEgNzU2LjQxYy0xLjI0IDAtMi40OS0wLjE1LTMuNzQtMC40OC0zOS4yNS0xMC4wOC03My43My0yNi4xNi0xMDIuNDctNDcuNzktMjMuMTctMTcuNDQtNDIuNjQtMzguNDctNTcuODctNjIuNTItMjYuMDYtNDEuMTUtMzAuNjgtNzYuOTgtMzAuODYtNzguNDhsLTAuMTEtMC45MXYtMjI0LjJsMTcuMzcgMi43OGMxMDUuMTggMTYuODUgMTY0LjUtNjQuMzkgMTY1LjA5LTY1LjIxIDQuODEtNi43NCAxNC4xOC04LjMxIDIwLjkyLTMuNSA2Ljc0IDQuODEgOC4zMSAxNC4xOCAzLjUgMjAuOTItMC43MiAxLjAxLTE4LjAxIDI0Ljk3LTUwLjQzIDQ2LjQtMzguMTUgMjUuMjItODEuNTYgMzYuNTEtMTI2LjQ1IDMzLjA3djE4Ny43NGMwLjc5IDQuOTMgNi4xNCAzMy45NyAyNy4wOCA2Ni41NCAzMC41MyA0Ny40NiA3OC4yIDc5Ljc5IDE0MS42OSA5Ni4xIDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzQgNi43Ny03LjgzIDExLjI3LTE0LjUyIDExLjI4eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MyI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuNjkgNzU2LjQxYy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiA2My40OS0xNi4zMSAxMTEuMTYtNDguNjQgMTQxLjY5LTk2LjEgMjIuOTEtMzUuNjEgMjcuMTYtNjcuMDEgMjcuMi02Ny4zMiAxLjA2LTguMiA4LjU1LTE0LjAzIDE2Ljc1LTEyLjk5IDguMiAxLjAzIDE0LjAzIDguNDcgMTMuMDMgMTYuNjgtMC4xOCAxLjUtNC44IDM3LjM0LTMwLjg2IDc4LjQ4LTE1LjIzIDI0LjA0LTM0LjcgNDUuMDgtNTcuODcgNjIuNTItMjguNzQgMjEuNjMtNjMuMjEgMzcuNzEtMTAyLjQ3IDQ3Ljc5LTEuMjYgMC4zMS0yLjUxIDAuNDctMy43NSAwLjQ3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NCI+PC9wYXRoPjxwYXRoIGQ9Ik03MDIuOTUgNTgwLjMyYy04LjI4IDAtMTUtNi43Mi0xNS0xNVYzNzYuNWMtNDQuOSAzLjQ1LTg4LjI5LTcuODQtMTI2LjQ1LTMzLjA3LTMyLjQyLTIxLjQzLTQ5LjcxLTQ1LjM5LTUwLjQzLTQ2LjQtNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44IDE2LjA4LTMuMjUgMjAuOSAzLjQ3IDAuMiAwLjI4IDE1LjQ0IDIxLjEzIDQzLjUyIDM5LjQ1IDM2Ljk3IDI0LjEyIDc3Ljg4IDMyLjggMTIxLjU5IDI1Ljc5bDE3LjM3LTIuNzh2MjIzLjI5YzAgOC4yOC02LjcyIDE0Ljk5LTE1IDE0Ljk5eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjAuNTYgNzQ2Ljk3Yy04LjI4IDAtMTUtNi43Mi0xNS0xNVYyOTQuNzhjMC04LjI4IDYuNzItMTUgMTUtMTVzMTUgNi43MiAxNSAxNXY0MzcuMTljMCA4LjI4LTYuNzIgMTUtMTUgMTV6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ2Ij48L3BhdGg+PHBhdGggZD0iTTY5My45OCA1MjguMzhIMzQ3LjEzYy04LjI4IDAtMTUtNi43Mi0xNS0xNXM2LjcyLTE1IDE1LTE1aDM0Ni44NWM4LjI4IDAgMTUgNi43MiAxNSAxNXMtNi43MiAxNS0xNSAxNXpNMzQ1LjUzNSA0MzMuODgybDY5LjU3OS02OS41NzkgNy4wNzEgNy4wNzEtNjkuNTc5IDY5LjU3OXpNMzQ2LjExMSA0ODIuODgybDE2Ni4wNzctMTY2LjA3NiA3LjA3MSA3LjA3LTE2Ni4wNzcgMTY2LjA3N3oiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NDciPjwvcGF0aD48cGF0aCBkPSJNMzc1LjM5MiA1MTMuNzc5bDE0NS4wNC0xNDUuMDYxIDcuMDcyIDcuMDctMTQ1LjA0IDE0NS4wNjJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ4Ij48L3BhdGg+PHBhdGggZD0iTTQzNS45NTcgNTA3LjY5Nmw4MC40ODItODAuNDgyIDcuMDcgNy4wNy04MC40ODEgODAuNDgzeiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0OSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjMuNDM3IDYzNC4yNjVsNy4wNzEtNy4wNzEgNjkuNTc5IDY5LjU3OC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTAiPjwvcGF0aD48cGF0aCBkPSJNNTEzLjI1MyA1NjUuNTAybDcuMDctNy4wNyAxMjAuOTc4IDEyMC45NzctNy4wNyA3LjA3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ1MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MzUuODYzIDUyN2w3LjA3LTcuMDcyTDY3Mi44ODYgNjQ5Ljg4bC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTIiPjwvcGF0aD48cGF0aCBkPSJNNTkyLjM0OCA1MjQuOTQxbDcuMDctNy4wNyA4Ni4xODIgODYuMTgtNy4wNzEgNy4wNzJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDUzIj48L3BhdGg+PC9zdmc+"},1894:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/load-balancer.1741741357.png"},1895:function(e,t,a){var n=a(1896);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1896:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__icon--2-Vz_ {\n margin-right: 8px;\n}\n",""]),t.locals={icon:"index__icon--2-Vz_"}},1897:function(e,t,a){var n=a(1898);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1898:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__instance-volume--3uVzj {\n display: block;\n margin-bottom: 8px;\n}\n.index__label--12eU8 {\n max-width: 20%;\n margin-right: 10px;\n}\n.index__select--YPu8L {\n max-width: 80%;\n}\n.index__size-label--1i0IC {\n margin-right: 40px;\n margin-left: 10px;\n}\n",""]),t.locals={"instance-volume":"index__instance-volume--3uVzj",label:"index__label--12eU8",select:"index__select--YPu8L","size-label":"index__size-label--1i0IC"}},1899:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(647));n(231);var u=o(n(341)),d=o(n(648)),c=o(n(35)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),p=(n(161),n(564),o(n(1900)));function h(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(h=function(e){return e?a:t})(e)}class m extends f.Component{constructor(e){super(e),(0,c.default)(this,"onChangeValue",(()=>{var{moreValue:e}=this.state;this.setState({moreValue:!e},(()=>{var{onChange:e}=this.props;e&&e(this.state.moreValue)}))}));var{value:t}=e;this.state={moreValue:t}}render(){var{moreValue:e}=this.state;return e?f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Hide Advanced Options")," ",f.default.createElement(d.default,null)):f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Expand Advanced Options"),f.default.createElement(s.default,null))}}a.default=m},1900:function(e,t,a){var n=a(1901);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1901:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__btn--2tisu {\n padding-left: 0;\n}\n",""]),t.locals={btn:"index__btn--2tisu"}},1902:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(422));n(1535);var m=p(n(1536));n(231);var g=p(n(341)),v=p(n(1545)),y=p(n(35)),b=p(n(92)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function w(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(w=function(e){return e?a:t})(e)}function k(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function C(e){for(var t=1;t{this.setState({file:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,y.default)(this,"handleChange",(e=>{var{file:t,fileList:a=[]}=e,{status:n}=t||{};"removed"===n&&0===a.length&&this.onChange(null),n||this.onChange(t),e.file.status})),(0,y.default)(this,"beforeUpload",(()=>!1)),this.state={file:""}}get progress(){return{strokeColor:{"0%":globalCSS.primaryColor,"100%":globalCSS.successColor},strokeWidth:3,format:e=>"".concat((0,h.default)(e.toFixed(2)),"%")}}render(){var e,{value:a}=this.props,{file:n}=this.state;e=a?(0,b.default)(a)?a:[a]:n?[n]:[];var r=C(C({},this.props),{},{name:"file",action:"",headers:{authorization:"authorization-text"},onChange:this.handleChange,progress:this.progress,beforeUpload:this.beforeUpload,fileList:e});return x.default.createElement(m.default,r,this.props.children||x.default.createElement(g.default,null,x.default.createElement(v.default,null)," ",t("Click to Upload")))}}a.default=_},1917:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(573)),u=o(n(91)),d=o(n(345)),c=o(n(54)),f=o(n(77)),p=o(n(1546));n(231);var h=o(n(341)),m=o(n(1547)),g=o(n(343));n(568);var v=o(n(415));n(569);var y=o(n(1253)),b=o(n(35)),x=o(n(352)),w=o(n(177)),k=o(n(205)),C=o(n(92)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),M=(n(161),n(564),o(n(16))),S=o(n(4)),I=n(163),N=o(n(1920));function E(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(E=function(e){return e?a:t})(e)}class T extends _.Component{constructor(e){super(e),(0,b.default)(this,"getInitItems",(e=>{var{value:t,initValue:a}=e;return(0,w.default)(a)?(0,C.default)(t)?[...t]||!1:[]:(0,C.default)(a)?[...a]||!1:[]})),(0,b.default)(this,"addItem",(()=>{var{items:e}=this.state,{maxCount:t}=this.props;if(!(e.length>=t)){var{defaultItemValue:a}=this.props,n={value:a,index:e.length};this.updateItems([...e,n])}})),(0,b.default)(this,"updateItems",(e=>{this.setState({items:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,b.default)(this,"canRemove",((e,t)=>{var a=this.checkItemRemoveDisabled(t),{minCount:n}=this.props;return e>=n&&!a})),(0,b.default)(this,"removeItem",(e=>{var{items:t}=this.state;(0,s.default)(t).call(t,e,1),this.updateItems(t)})),(0,b.default)(this,"onItemChange",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"onItemChangeInput",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"getOptions",(e=>{var{optionsByIndex:t,options:a}=this.props;return t&&e{var{items:t=[]}=this.state,{disabledRemoveFunc:a}=this.props;return(0,x.default)(a)?a({item:e,items:t}):this.checkDisabledKey(e)})),(0,b.default)(this,"checkDisabledKey",(e=>{var{key:t=""}=e.value||{},{disableEditKeys:a=[]}=this.props;return(0,u.default)(a).call(a,t)>=0})),(0,b.default)(this,"renderItem",((e,a)=>{var{itemComponent:n,readonlyKeys:r=[],isInput:l=!1,placeholder:i,width:o}=this.props;if(!n)return l?_.default.createElement(y.default,{value:e.value,placeholder:i||t("Please input"),style:{width:o},onChange:e=>{this.onItemChange(e.currentTarget.value,a)}}):_.default.createElement(v.default,{className:N.default.float,options:this.getOptions(a),value:e.value,placeholder:i,style:{width:o},onChange:e=>{this.onItemChange(e,a)}});var s=n,{key:d=""}=e.value||{},c=(0,u.default)(r).call(r,d)>=0,f=this.checkItemRemoveDisabled(e);return _.default.createElement(s,(0,g.default)({},this.props,{name:"name-".concat(a),value:e.value,index:a,keyReadonly:c,disabled:f,onChange:e=>{this.onItemChange(e,a)}}))}));var{initValue:a=[]}=e;this.state={items:this.getInitItems(e),initValue:a,keyId:(0,I.generateId)()}}static getDerivedStateFromProps(e,t){return(0,k.default)(e.initValue,t.initValue)?null:{initValue:e.initValue,items:JSON.parse((0,d.default)(e.initValue)),keyId:(0,I.generateId)()}}renderTip(){var{tips:e}=this.props;return e?_.default.createElement("div",null,e):null}renderItems(){var{items:e,keyId:t}=this.state,a=(0,c.default)(e).call(e,((e,a)=>{var n;return _.default.createElement("div",{className:N.default.item,key:(0,f.default)(n="add-select-item-".concat(t,"-")).call(n,a)},_.default.createElement(h.default,{type:"link",onClick:()=>this.removeItem(a),className:(0,S.default)(N.default.float,N.default["remove-btn"]),disabled:!this.canRemove(a,e)},_.default.createElement(m.default,null)),_.default.createElement("div",{className:(0,S.default)(N.default.float,N.default["item-detail"],"item-detail")},this.renderItem(e,a)))}));return _.default.createElement("div",{className:N.default.items},a)}renderAdd(){var{maxCount:e,addText:a,addTextTips:n}=this.props,{items:r}=this.state,l="";return e!==1/0&&(l+=t("Can add { number } {name}",{number:e-r.length,name:n||""})),_.default.createElement("div",null,_.default.createElement(h.default,{className:(0,S.default)(N.default["add-btn"],"add-btn"),type:"link",onClick:this.addItem},_.default.createElement(p.default,null),a),l)}render(){return _.default.createElement("div",{className:N.default["add-select"]},this.renderTip(),this.renderItems(),this.renderAdd())}}a.default=T,(0,b.default)(T,"propTypes",{minCount:M.default.number,maxCount:M.default.number,tips:M.default.node,options:M.default.array,placeholder:M.default.string,defaultItemValue:M.default.any,addText:M.default.string,addTextTips:M.default.string,width:M.default.number,itemComponent:M.default.any,optionsByIndex:M.default.bool,initValue:M.default.array,readonlyKeys:M.default.array,disableEditKeys:M.default.array,disabledRemoveFunc:M.default.func}),(0,b.default)(T,"defaultProps",{minCount:0,maxCount:1/0,addText:t("Add"),placeholder:t("Please select"),width:200,itemComponent:null,optionsByIndex:!1,initValue:[],readonlyKeys:[],disableEditKeys:[],disabledRemoveFunc:null})},1920:function(e,t,a){var n=a(1921);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1921:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__items--2qLhh {\n float: left;\n width: 100%;\n}\n.index__item--2Klpp {\n position: relative;\n float: left;\n width: 100%;\n margin-top: 8px;\n}\n.index__item--2Klpp .ant-form-item-has-success .ant-select:not(.ant-select-borderless) .ant-select-selector {\n border: 1px solid #d9d9d9 !important;\n}\n.index__item-detail--1dhkA {\n width: 90%;\n}\n.index__float--QNRx6 {\n float: left;\n}\n.index__remove-btn--11OFO,\n.index__add-btn--1uutt {\n padding-right: 8px;\n padding-left: 0;\n}\n.index__desc--wLQSa {\n margin-left: 16px;\n}\n",""]),t.locals={items:"index__items--2qLhh",item:"index__item--2Klpp","item-detail":"index__item-detail--1dhkA",float:"index__float--QNRx6","remove-btn":"index__remove-btn--11OFO","add-btn":"index__add-btn--1uutt",desc:"index__desc--wLQSa"}},1922:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t0&&(a=k(k({},a),e[0])),[a]}render(){var{componentProps:e={},formItemProps:a={}}=this.props,{version:n=4}=e,r=(0,g.default)(e,["version"]),l=k({placeholder:4===n?t("Please input ipv4"):t("Please input ipv6")},r),{rules:i}=a,o=(0,g.default)(a,["rules"]),s=this.getRules(i,n),u=k(k({},o),{},{rules:s});return y.default.createElement(h.default.Item,u,y.default.createElement(m.default,l))}}a.default=M,(0,v.default)(M,"isFormItem",!0)},1923:function(e,t,a){var n=a(1924);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1924:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__network-select--FVaPO {\n position: relative;\n display: block;\n height: 61.6px;\n margin-bottom: 0 !important;\n}\n.index__network-select--FVaPO .ant-form-item-control-input-content {\n height: 61.6px;\n}\n.index__network-select--FVaPO .ant-form-item-explain {\n position: absolute;\n bottom: 0;\n}\n.index__select--2cAyT {\n margin-right: 40px;\n}\n.index__size-label--3Ry8T {\n margin-right: 40px;\n margin-left: 10px;\n}\n.index__tips--3wgea {\n margin-top: 0;\n}\n.index__label--2hqHr {\n margin-right: 10px;\n color: rgba(0, 0, 0, 0.45);\n line-height: 30px;\n}\n.index__content--14doI {\n color: rgba(0, 0, 0, 0.65);\n}\n.index__subnet-options-cidr--7bWem {\n margin-left: 5px;\n padding-left: 5px;\n border-left: 1px solid;\n opacity: 0.6;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","network-select":"index__network-select--FVaPO",select:"index__select--2cAyT","size-label":"index__size-label--3Ry8T",tips:"index__tips--3wgea",label:"index__label--2hqHr",content:"index__content--14doI","subnet-options-cidr":"index__subnet-options-cidr--7bWem"}},1925:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(86)),s=i(a(54)),u=i(a(343));a(593);var d=i(a(427)),c=i(a(58)),f=i(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),h=(a(161),i(a(16))),m=i(a(4)),g=i(a(1926));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends p.Component{constructor(){super(...arguments),(0,f.default)(this,"onChange",(e=>{var{value:t}=e.target,{options:a,onChange:n,isWrappedValue:r}=this.props;if(r){var l=(0,o.default)(a).call(a,(e=>e.value===t));n&&n(l)}else n&&n(t)})),(0,f.default)(this,"getValue",((e,t)=>void 0===t?t:e?t.value:t))}render(){var e=this.props,{options:t,optionType:a,buttonStyle:n,onlyRadio:r,className:l,value:i,isWrappedValue:o}=e,f=(0,c.default)(e,["options","optionType","buttonStyle","onlyRadio","className","value","isWrappedValue"]),h=(0,s.default)(t).call(t,(e=>"default"===a?p.default.createElement(d.default,{value:e.value,key:e.value,disabled:e.disabled},e.label):p.default.createElement(d.default.Button,{value:e.value,key:e.value,disabled:e.disabled},e.label)));return p.default.createElement(d.default.Group,(0,u.default)({optionType:a,buttonStyle:n},f,{className:(0,m.default)(l,r?g.default["only-radio"]:""),onChange:this.onChange,value:this.getValue(o,i)}),h)}}t.default=y,(0,f.default)(y,"propTypes",{options:h.default.array,onChange:h.default.func,optionType:h.default.string,buttonStyle:h.default.string,onlyRadio:h.default.bool,isWrappedValue:h.default.bool}),(0,f.default)(y,"defaultProps",{options:[],optionType:"button",buttonStyle:"solid",onlyRadio:!1,isWrappedValue:!1})},1926:function(e,t,a){var n=a(1927);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1927:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__only-radio--3nQs4 .ant-radio-button-wrapper {\n margin-left: 8px;\n border-left-width: 1px;\n border-radius: 4px;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper::before {\n display: none;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper:first-child {\n margin-left: 0;\n border-radius: 4px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","only-radio":"index__only-radio--3nQs4"}},1928:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(54)),s=i(a(77));a(1303);var u=i(a(1290)),d=i(a(343));a(231);var c=i(a(341)),f=i(a(1378)),p=i(a(35)),h=i(a(601)),m=i(a(92)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(564),i(a(1935)));function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends g.Component{constructor(){super(...arguments),(0,p.default)(this,"getValueContent",(e=>(0,h.default)(e)?"-":(0,m.default)(e)?(0,o.default)(e).call(e,((t,a)=>g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{key:"value-".concat(a)},t),a!==e.length-1&&g.default.createElement("br",null)))):e)),(0,p.default)(this,"onClick",(()=>{var{onClick:e}=this.props;e&&e()}))}renderTitle(){var{title:e}=this.props;return g.default.createElement("span",null,e," ",g.default.createElement(c.default,{type:"link",icon:g.default.createElement(f.default,null),onClick:this.onClick}))}renderItem(){var{items:e}=this.props,t=(0,o.default)(e).call(e,((e,t)=>{var a,{label:n,value:r,span:l,contentStyle:i={}}=e,o=this.getValueContent(r),c={label:n,key:(0,s.default)(a="item-".concat(n,"-")).call(a,t),className:v.default.label};return l&&(c.span=l),g.default.createElement(u.default.Item,(0,d.default)({contentStyle:i},c),o)}));return g.default.createElement(u.default,{title:this.renderTitle(),colon:!1},t)}render(){return g.default.createElement("div",null,this.renderItem())}}t.default=b},1935:function(e,t,a){var n=a(1936);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1936:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__label--1lhix {\n vertical-align: top;\n}\n.index__label--1lhix .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n",""]),t.locals={label:"index__label--1lhix"}},1937:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(164)),m=p(n(63)),g=p(n(77));n(1261);var v=p(n(1262));n(569);var y=p(n(1253)),b=p(n(58)),x=p(n(35)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(565));function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{if(a&&a.length&&(0,h.default)(a).call(a,n)){var r,l=t("Name can not be duplicated");return m.default.reject(new Error((0,g.default)(r="".concat(t("Invalid: "))).call(r,l)))}return m.default.resolve(!0)}},i={validator:this.getRuleValidator(r)};return n&&n.length>0?[...n,i,l]:[i,l]}getMessage(e){var{withoutChinese:t,isFile:a,isKeypair:n,isStack:r,isCrontab:l,isImage:i,isInstance:o,isSwiftFile:s,isDatabaseName:u,isDatabaseUserName:d}=e;return t?I:r?T:a?N:n?E:l?A:i?j:o?P:s?D:u?L:d?O:S}getPropsFromComponentProps(){var{componentProps:e}=this.props,{withoutChinese:t=!1,isFile:a=!1,isKeypair:n=!1,isSwiftFile:r=!1,isDatabaseName:l=!1,isDatabaseUserName:i=!1,isStack:o,isCrontab:s,isImage:u,isInstance:d,names:c}=e;return{ruleProps:{names:c,withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},messageProps:{withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},restProps:(0,b.default)(e,["withoutChinese","isFile","isKeypair","isSwiftFile","isDatabaseName","isDatabaseUserName","isStack","isCrontab","isImage","isInstance","names"])}}get ruleProps(){var{formItemProps:e}=this.props,{rules:t}=e,{ruleProps:a}=this.getPropsFromComponentProps();return M(M({},a),{},{rules:t})}get messageProps(){var{messageProps:e}=this.getPropsFromComponentProps();return e}get formItemProps(){var{formItemProps:e}=this.props,{rules:t}=e,a=(0,b.default)(e,["rules"]),n=this.getRules(this.ruleProps),r=this.getMessage(this.messageProps);return M(M({},a),{},{rules:n,extra:r})}get inputProps(){var{isFile:e}=this.ruleProps,{restProps:a}=this.getPropsFromComponentProps();return M({placeholder:e?t("Please input file name"):t("Please input name")},a)}render(){var e=this.formItemProps,{inputProps:t}=this;return w.default.createElement(v.default.Item,e,w.default.createElement(y.default,t))}}a.default=W,(0,x.default)(W,"isFormItem",!0)},1938:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{this.setState({inputValue:e});var{onChange:t}=this.props;t&&t(e)}));var{value:t,max:a,min:n,description:r}=e,l=(0,o.default)(t,10);this.state={inputValue:(0,s.default)(l)?1:t,inputMax:a,inputMin:n,description:r}}static getDerivedStateFromProps(e,t){var{min:a,max:n,description:r}=e;return a!==t.inputMin||n!==t.inputMax||r!==t.description?{inputMin:a,inputMax:n,description:r}:null}render(){var{inputValue:e,inputMax:t,inputMin:a,description:n}=this.state;return h.default.createElement(u.default,null,h.default.createElement(c.default,{span:16},h.default.createElement(f.default,{min:a,max:t,onChange:this.onChange,value:e})),h.default.createElement(c.default,{span:4},h.default.createElement(d.default,{min:a,max:t,style:{marginLeft:8},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),value:e,onChange:this.onChange})),h.default.createElement(c.default,{span:24},h.default.createElement("span",{style:{fontStyle:"italic",color:"#7b8997"}},n)))}}t.default=v,(0,p.default)(v,"propTypes",{value:m.default.number,max:m.default.number,min:m.default.number,description:m.default.string}),(0,p.default)(v,"defaultProps",{max:500,min:0,value:0})},1944:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(35)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),u=i(a(16)),d=i(a(4)),c=i(a(1945));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}class p extends s.Component{render(){var{label:e,className:t}=this.props;return s.default.createElement("div",{className:(0,d.default)(c.default.title,t)},e)}}t.default=p,(0,o.default)(p,"propTypes",{label:u.default.string,className:u.default.string}),(0,o.default)(p,"defaultProps",{label:""})},1945:function(e,t,a){var n=a(1946);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1946:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__title--30RRB {\n margin-left: 12px;\n font-weight: bold;\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",title:"index__title--30RRB"}},1947:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1445);var s=o(n(1446)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)}))}render(){var{value:e,className:t,checkedText:a,uncheckedText:n,disabled:r}=this.props,l={checked:e,className:t,checkedChildren:a,unCheckedChildren:n,disabled:r,onChange:this.onChange};return d.default.createElement(s.default,l)}}a.default=p,(0,u.default)(p,"propTypes",{value:c.default.bool,className:c.default.string,checkedText:c.default.string,uncheckedText:c.default.string,disabled:c.default.bool,onChange:c.default.func}),(0,u.default)(p,"defaultProps",{value:!1,checkedText:t("On"),uncheckedText:t("Off"),disabled:!1})},1950:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(583);var o=i(a(420)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=c(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),d=(a(161),i(a(16)));function c(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(c=function(e){return e?a:t})(e)}class f extends u.Component{constructor(){super(...arguments),(0,s.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e.target.checked)}))}render(){var{value:e,className:t,content:a,disabled:n}=this.props,r={checked:e,className:t,disabled:n,onChange:this.onChange};return u.default.createElement(o.default,r,a)}}t.default=f,(0,s.default)(f,"propTypes",{value:d.default.bool,className:d.default.string,content:d.default.any,disabled:d.default.bool,onChange:d.default.func}),(0,s.default)(f,"defaultProps",{value:!1,content:""})},1951:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(29)),d=o(n(164)),c=o(n(91)),f=o(n(35));n(1548);var p=o(n(1549)),h=o(n(343));n(584);var m=o(n(586)),g=o(n(58)),v=o(n(177)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),o(n(1958))),x=o(n(16));function w(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(w=function(e){return e?a:t})(e)}var k=e=>{var{leftColumns:t,rightColumns:a,pageSize:n,loading:r,onRowLeft:l,onRowRight:i}=e,o=(0,g.default)(e,["leftColumns","rightColumns","pageSize","loading","onRowLeft","onRowRight"]);return y.default.createElement(p.default,(0,h.default)({},o,{showSelectAll:!1}),(e=>{var{direction:o,filteredItems:c,onItemSelectAll:f,onItemSelect:p,selectedKeys:h,disabled:g}=e,v="left"===o?t:a,x={getCheckboxProps:e=>({disabled:g||e.disabled}),onSelectAll(e,t){var a,n=(0,s.default)(a=(0,u.default)(t).call(t,(e=>!e.disabled))).call(a,(e=>{var{key:t}=e;return t})),r=e?(0,b.default)(n,h):(0,b.default)(h,n);f(r,e)},onSelect(e,t){var{key:a}=e;p(a,t)},selectedRowKeys:h},w={pageSize:n},k=("left"===o?l:i)||(e=>{var{key:t,disabled:a}=e;return{onClick:()=>{a||g||p(t,!(0,d.default)(h).call(h,t))}}});return y.default.createElement(m.default,{loading:r,rowSelection:x,columns:v,dataSource:c,pagination:w,size:"small",style:{pointerEvents:g?"none":null},onRow:k})}))};class C extends y.Component{constructor(e){super(e),(0,f.default)(this,"getTargetKey",(()=>{var{oriTargetKeys:e,value:t}=this.props;if(!(0,v.default)(e)||!(0,v.default)(t)){var{onChange:a}=this.props;a&&a(e||t||[])}})),(0,f.default)(this,"onChange",(e=>{this.setState({targetKeys:e});var{onChange:t}=this.props;t&&t(e)})),this.state={targetKeys:[]}}static getDerivedStateFromProps(e,t){var{value:a=[]}=e;return a!==t.targetKeys?{targetKeys:a}:null}componentDidMount(){this.getTargetKey()}render(){var{disabled:e,showSearch:t,leftTableColumns:a,rightTableColumns:n,dataSource:r,filterOption:l,titles:i,pageSize:o,loading:s,onRowLeft:u,onRowRight:d}=this.props,{targetKeys:c}=this.state;return y.default.createElement(y.default.Fragment,null,y.default.createElement(k,{titles:i,pageSize:o,dataSource:r,targetKeys:c,disabled:e,showSearch:t,onChange:this.onChange,filterOption:l,leftColumns:a,rightColumns:n,loading:s,onRowLeft:u,onRowRight:d}))}}a.default=C,(0,f.default)(C,"propTypes",{titles:x.default.array,leftTableColumns:x.default.array.isRequired,rightTableColumns:x.default.array.isRequired,dataSource:x.default.array.isRequired,disabled:x.default.bool,showSearch:x.default.bool,filterOption:x.default.func,onChange:x.default.func,value:x.default.array,pageSize:x.default.number,loading:x.default.bool,onRowLeft:x.default.func,onRowRight:x.default.func}),(0,f.default)(C,"defaultProps",{titles:[t("Optional list"),t("Selected list")],disabled:!1,showSearch:!0,filterOption:(e,t)=>{var a;return-1!==(0,c.default)(a=t.name).call(a,e)},onChange:null,value:[],pageSize:5,loading:!1})},1961:function(e,t,a){var n=a(1962);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1962:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__cpu--1lkn3 {\n margin-right: 8px;\n}\n.index__ram--1uTZP {\n margin-right: 8px;\n margin-left: 16px;\n}\n",""]),t.locals={cpu:"index__cpu--1lkn3",ram:"index__ram--1uTZP"}},1963:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(28)),s=i(a(91)),u=i(a(54)),d=i(a(343));a(1246);var c=i(a(1247));a(1244);var f=i(a(1245));a(583);var p=i(a(420)),h=i(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),g=(a(161),i(a(16)));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends m.Component{constructor(){super(...arguments),(0,h.default)(this,"onChange",(e=>{var{onChange:t,options:a}=this.props,n={};(0,o.default)(e).call(e,(e=>{n[e]=!0})),(0,o.default)(a).call(a,(t=>{var{value:a}=t;n[a]=(0,s.default)(e).call(e,a)>=0})),t&&t(n)})),(0,h.default)(this,"getValues",(()=>{var{value:e,options:t}=this.props,a=[];return(0,o.default)(t).call(t,(t=>{var n=t.value;e[n]&&a.push(n)})),a}))}render(){var{className:e,options:t,span:a}=this.props,n=this.getValues(),r={className:e,onChange:this.onChange};return m.default.createElement(p.default.Group,(0,d.default)({},r,{value:n,style:{width:"100%"}}),m.default.createElement(c.default,null,(0,u.default)(t).call(t,(e=>m.default.createElement(f.default,{span:a,key:e.value},m.default.createElement(p.default,{value:e.value,disabled:!!e.disabled},e.label))))))}}t.default=y,(0,h.default)(y,"propTypes",{value:g.default.object,className:g.default.string,options:g.default.array,onChange:g.default.func,span:g.default.number}),(0,h.default)(y,"defaultProps",{value:{},options:[],span:8})},1964:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1535);var s=o(n(1536));n(231);var u=o(n(341));n(569);var d=o(n(1253)),c=o(n(343)),f=o(n(58)),p=o(n(49)),h=o(n(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),g=(n(161),n(1553)),v=o(n(16));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends m.Component{constructor(){var e;super(...arguments),e=this,(0,h.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,h.default)(this,"handleUpload",function(){var t=(0,p.default)((function*(t){var a=yield(0,g.getText)(t);return e.onChange(a),!1}));return function(e){return t.apply(this,arguments)}}()),(0,h.default)(this,"onChangeInput",(e=>{this.onChange(e)}))}render(){var e=this.props,{value:a,placeholder:n,accept:r}=e,l=(0,f.default)(e,["value","placeholder","accept"]);return m.default.createElement(m.default.Fragment,null,m.default.createElement(d.default.TextArea,(0,c.default)({placeholder:n,value:a,onChange:this.onChange,style:{fontFamily:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'}},l)),m.default.createElement(s.default,{beforeUpload:this.handleUpload,showUploadList:!1,accept:r},m.default.createElement(u.default,{type:"link"},t("Load from local files"))))}}a.default=b,(0,h.default)(b,"propTypes",{value:v.default.string,placeholder:v.default.string,accept:v.default.any,onChange:v.default.func}),(0,h.default)(b,"defaultProps",{value:"",placeholder:t("Please input"),accept:"",onChange:e=>{}})},1965:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(231);var p=f(n(341)),h=f(n(1347));n(1246);var m=f(n(1247)),g=f(n(1442));n(1244);var v=f(n(1245));n(1261);var y=f(n(1262)),b=f(n(343)),x=f(n(35)),w=f(n(29)),k=f(n(54)),C=f(n(232)),_=f(n(63)),M=f(n(0)),S=(n(161),n(564),f(n(1966))),I=n(565);function N(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}var{isIPv4:E,isIpv6:T}=I.ipValidate,A=e=>{var a,{componentProps:n,formItemProps:r}=e,{subnets:l,maxNumber:i=10,formRef:f}=n,{name:I,value:A=[],onChange:j}=r,P=(0,w.default)(a=(0,k.default)(l).call(l,(e=>function(e){for(var t=1;t!(0,C.default)(A).call(A,(t=>!!t&&t.subnet===e.value))));return M.default.createElement(M.default.Fragment,null,M.default.createElement(y.default.Item,r,0===P.length?M.default.createElement("div",null,t("The selected network has no subnet")):M.default.createElement(y.default.List,{name:I},((e,a)=>{var{add:n,remove:r}=a;return M.default.createElement(M.default.Fragment,null,(0,k.default)(e).call(e,(e=>M.default.createElement(m.default,{key:e.key,gutter:[16,16]},M.default.createElement(v.default,{span:22},M.default.createElement(y.default.Item,(0,b.default)({},e,{validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{if(!a||!a.subnet)return _.default.reject(new Error(t("Missing Subnet")));if("manual"===a.ip_address.type){var{ip:n}=a.ip_address||{};if(!n)return _.default.reject(new Error(t("Missing IP Address")));if(!E(n)&&!T(n))return _.default.reject(new Error(t("Invalid: Please input a valid ip")))}return _.default.resolve(!0)}}]}),M.default.createElement(S.default,{field:e,subnetsAvailable:P,onChange:e=>{return t=e,void(j&&j(t));var t}}))),M.default.createElement(v.default,{span:2},M.default.createElement(g.default,{onClick:()=>{r(e.name),f.current.validateFields([I])}}))))),e.length{n(),f.current.validateFields([I])},block:!0,icon:M.default.createElement(h.default,null)},t("Add IP")))}))))};A.isFormItem=!0;var j=A;a.default=j},1966:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(1244);var m=p(n(1245));n(568);var g=p(n(415)),v=p(n(35)),y=p(n(86)),b=p(n(77)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),p(n(1967)));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var a,{subnetsAvailable:n,onChange:r,value:l}=e;l=l||{subnet:void 0,ip_address:{type:"dhcp",ip:void 0}};var[i,o]=(0,x.useState)(l.subnet),[s,u]=(0,x.useState)(l.ip_address),[d,c]=(0,x.useState)(!!l.subnet||!1),f=(0,y.default)(n).call(n,(e=>e.id===i)),p=e=>{var t=_(_({},l),{},{subnet:i,ip_address:s},e);r&&r(t)};return x.default.createElement(h.default,{gutter:[16,16]},x.default.createElement(m.default,{span:8},x.default.createElement(g.default,{placeholder:t("Please select"),options:n,value:i,onChange:(e,t)=>{o(t.value),c(!0),p({subnet:t.value})}}),f&&x.default.createElement("div",{style:{marginTop:16}},(0,b.default)(a="".concat(t("Cidr"),": ")).call(a,f.cidr))),f&&d&&x.default.createElement(m.default,{span:14},x.default.createElement(w.default,{value:s,version:f.ip_version||4,onChange:e=>{u(e),p({ip_address:e})}})))};a.default=M},1967:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(568);var v=p(n(415)),y=p(n(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{value:a={},onChange:n}=e,[r,l]=(0,b.useState)(a.type||"dhcp"),[i,o]=(0,b.useState)(a.ip||void 0),s=e=>{n&&n(k(k({ip:i,type:r},a),e))};return b.default.createElement(h.default,{gutter:[16]},b.default.createElement(g.default,{span:12},b.default.createElement(v.default,{value:r,onChange:e=>{var t=e||"dhcp";l(t),s({type:t})},options:[{value:"dhcp",label:t("Automatically Assigned Address")},{value:"manual",label:t("Manual input")}]})),b.default.createElement(g.default,{span:12},"manual"===r&&b.default.createElement(m.default,{onChange:e=>{var t=e.currentTarget.value;o(t),s({ip:t})},defaultValue:i})))}},1968:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(1261);var v=p(n(1262));n(568);var y=p(n(415)),b=p(n(35)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),n(565));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{name:t}=this.state;this.setState({name:_(_({},t),{},{type:e})},(()=>{var{onChange:e}=this.props;e&&e(this.state.name)}))})),(0,b.default)(this,"handleInputChange",(e=>{var{name:t}=this.state;this.setState({name:_(_({},t),{},{mac:e})})})),this.state={name:{type:"",mac:""}}}render(){var{value:e,name:a,options:n}=this.props,{type:r}=e||{type:void 0};return x.default.createElement(h.default,{gutter:16},x.default.createElement(g.default,{span:12},x.default.createElement(v.default.Item,{name:[a,"type"],style:{marginBottom:0}},x.default.createElement(y.default,{placeholder:t("Please select"),options:n||[{label:t("Auto allocate mac address"),value:"auto"},{label:t("Manual input"),value:"manual"}],onChange:this.handleSelectChange}))),x.default.createElement(g.default,{span:12},e&&"manual"===r?x.default.createElement(v.default.Item,{hidden:"auto"===r||void 0===r,name:[a,"mac"],rules:[{validator:w.macAddressValidate,required:!0,message:t('Invalid Mac Address. Please Use ":" as separator.')}],style:{marginBottom:0}},x.default.createElement(m.default,{maxLength:17,onChange:this.handleInputChange})):null))}}var S=M;a.default=S},1969:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(28)),m=p(n(32)),g=p(n(86)),v=p(n(91)),y=p(n(77)),b=p(n(54)),x=p(n(29)),w=p(n(164)),k=p(n(350)),C=p(n(591));n(1548);var _=p(n(1549));n(344);var M=p(n(202));n(584);var S=p(n(586));n(1970);var I=p(n(1973)),N=p(n(58));n(1278);var E=p(n(1279));n(569);var T=p(n(1253));n(568);var A=p(n(415)),j=p(n(35)),P=p(n(570)),D=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=z(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),L=n(36),O=(n(161),n(163)),R=p(n(1988));function z(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(z=function(e){return e?a:t})(e)}function U(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function F(e){for(var t=1;t{var t,{value:a,metadata:n=[]}=e,r=[],l={};return(0,h.default)(t=(0,m.default)(a)).call(t,(e=>{var t=(0,g.default)(n).call(n,(t=>{var a,{detail:{properties:n={}}={}}=t;return(0,v.default)(a=(0,m.default)(n)).call(a,e)>=0}));if(t){var i,{namespace:o}=t,s=(0,y.default)(i="".concat(o,"--")).call(i,e);r.push(s),l[s]=a[e]}})),{checkedKeys:[],targetKeys:r,values:l,selectedKeysTable:[]}})),(0,j.default)(this,"onValuesChange",(e=>{var t,{onChange:a}=this.props,n={};(0,h.default)(t=(0,m.default)(e)).call(t,(t=>{var a=t.split("--")[1];n[a]=String(e[t])})),a&&a(n)})),(0,j.default)(this,"onInputChange",((e,t)=>{var{key:a}=t,{values:n={}}=this.state,r=e.target?e.target.value:e;n[a]=r,this.setState({values:n}),this.onValuesChange(n)})),(0,j.default)(this,"renderInput",(e=>{var{type:a,defaultValue:n,operators:r,enum:l=[],minimum:i,maximum:o,items:s={}}=e&&e.detail||{};if("boolean"===a){var u=(0,O.getYesNoList)();return D.default.createElement(A.default,{options:u,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if("integer"===a||"number"===a||"string"===a&&0===l.length){var d={defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please input"),required:!0};return void 0!==i&&(d.minimum=i),void 0!==o&&(d.maximum=o),"string"===a?D.default.createElement(T.default,d):("integer"===a&&(d.precision=0,d.formatter=e=>"$ ".concat(e).replace(/\D/g,"")),D.default.createElement(E.default,d))}if(l.length>0){var c=(0,b.default)(l).call(l,(e=>({value:e,label:e})));return D.default.createElement(A.default,{options:c,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if(s.enum){var f={defaultValue:n,items:s,operators:r,onChange:t=>this.onInputChange(t,e)};return D.default.createElement(R.default,f)}return null})),(0,j.default)(this,"flatten",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,h.default)(e).call(e,(e=>{var{children:n=[]}=e;t.push(e),a.flatten(n,t)}))})),(0,j.default)(this,"getTreeData",(()=>{var e=[];return this.flatten(this.metadata,e),e})),(0,j.default)(this,"getTreeDataWithoutFather",(()=>{var e=[];return this.flatten(this.metadata,e),(0,x.default)(e).call(e,(e=>{var t;return(0,v.default)(t=e.key).call(t,"--")>=0}))})),(0,j.default)(this,"getAllTreeKeys",(()=>{var e=this.getTreeData();return(0,b.default)(e).call(e,(e=>e.key))})),(0,j.default)(this,"generateTree",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,b.default)(e).call(e,(e=>{var{children:n}=e,r=(0,N.default)(e,["children"]);return F(F({},r),{},{disabled:(0,w.default)(t).call(t,r.key),children:a.generateTree(n,t)})}))})),(0,j.default)(this,"isChecked",((e,t)=>-1!==(0,v.default)(e).call(e,t))),(0,j.default)(this,"isChildKey",(e=>(0,v.default)(e).call(e,"--")>=0)),(0,j.default)(this,"onCheckTree",(e=>t=>{var a=this.getAllTreeKeys();(0,h.default)(a).call(a,(a=>{var n=(0,v.default)(t).call(t,a)>=0;this.isChildKey(a)&&e(a,n)})),this.setState({checkedKeys:t})})),(0,j.default)(this,"renderTree",(e=>{var{onItemSelect:t,targetKeys:a}=e,{checkedKeys:n}=this.state;return D.default.createElement(I.default,{blockNode:!0,checkable:!0,checkedKeys:n,treeData:this.generateTree(this.metadata,a),onCheck:this.onCheckTree(t)})})),(0,j.default)(this,"renderTable",(e=>{var{filteredItems:t,onItemSelectAll:a,onItemSelect:n,disabled:r}=e,{selectedKeysTable:l}=this.state,i=this,o={getCheckboxProps:e=>({disabled:r||e.disabled}),onSelectAll(e,t){var n=e?(0,b.default)(t).call(t,(e=>e.key)):[];a(e?n:l,e),i.setState({selectedKeysTable:n})},onSelect(e,t){var{key:a}=e;n(a,t);var r=[];r=t?[...l,a]:(0,x.default)(l).call(l,(e=>e!==a)),i.setState({selectedKeysTable:r})},selectedRowKeys:l};return D.default.createElement(S.default,{rowSelection:o,columns:this.columns,dataSource:t,size:"small",pagination:!1,style:{pointerEvents:r?"none":null}})})),(0,j.default)(this,"getChildKeys",(e=>{var t,a=[];return(0,h.default)(t=this.metadata).call(t,(t=>{var n;(0,h.default)(n=t.children||[]).call(n,(t=>{t.namespace===e&&a.push(t.key)}))})),a})),(0,j.default)(this,"getDefaultValue",((e,t)=>{var{type:a,default:n,defaultValue:r,operators:l,enum:i=[],minimum:o,items:s={}}=e||{},{values:u}=this.state;return(0,P.default)(u,t)?u[t]:n||(r||("boolean"===a||("string"===a&&0===i.length?r:"string"===a&&i.length>0?r||i[0]:"integer"===a||"number"===a?r||o||0:i.length>0?i[0]:s.enum?l[0]:null)))})),(0,j.default)(this,"getItemDefaultValue",(e=>{var t,a,n=e.split("--");if(!(n.length<1)){var r=n[0],l=n[1],i=(0,g.default)(t=this.metadata).call(t,(e=>e.key===r));if(i){var o=(0,g.default)(a=i.children).call(a,(e=>e.realKey===l));if(o)return this.getDefaultValue(o.detail||{},e)}}})),(0,j.default)(this,"onTransferChange",((e,t,a)=>{var n=[];(0,h.default)(e).call(e,(e=>{if(e.split("--").length>1)n.push(e);else{var t=this.getChildKeys(e);n.push(...t)}}));var r=(0,k.default)(new C.default(n)),{values:l={}}=this.state,i={};(0,h.default)(r).call(r,(e=>{l[e]?i[e]=l[e]:i[e]=this.getItemDefaultValue(e)}));var{selectedKeysTable:o}=this.state,s="right"===t?[...o,...r]:(0,x.default)(o).call(o,(e=>(0,v.default)(a).call(a,e)<0)),u="right"===t?[]:a;this.setState({targetKeys:r,values:i,selectedKeysTable:s,checkedKeys:u}),this.onValuesChange(i)})),(0,j.default)(this,"onTransferSelectChange",((e,t)=>{this.setState({checkedKeys:e,selectedKeysTable:t})})),(0,j.default)(this,"getTransferSelectedKeys",(()=>{var{checkedKeys:e=[],selectedKeysTable:t=[]}=this.state,a=(0,x.default)(e).call(e,(e=>this.isChildKey(e)));return(0,k.default)(new C.default([...a,...t]))})),(0,j.default)(this,"renderTransferItem",(e=>D.default.createElement(M.default,{title:e.description},e.title||e.display_name))),this.state=this.initState(e)}get metadata(){var e,t=this,{metadata:a}=this.props;return(0,b.default)(e=a||[]).call(e,(e=>{var a,n,r,{detail:{properties:l={}}={},namespace:i,description:o,display_name:s,isObject:u,objName:d}=(0,L.toJS)(e),c=(0,b.default)(a=(0,m.default)(l)).call(a,(e=>{var a,n,r,o,c=(0,L.toJS)(l[e]),f=(0,y.default)(a="".concat(i,"--")).call(a,e),p=F(F({},c),{},{defaultValue:t.getDefaultValue(c,f)}),h=u?(0,y.default)(r=(0,y.default)(o="".concat(s," - ")).call(o,d," > ")).call(r,c.title):(0,y.default)(n="".concat(s," > ")).call(n,c.title),m=D.default.createElement("div",null,D.default.createElement("p",null,h),D.default.createElement("p",null,c.description));return{key:f,namespace:i,realKey:e,title:D.default.createElement(M.default,{title:m},c.title),description:c.description,detail:p}})),f=u?(0,y.default)(n="".concat(s," - ")).call(n,d):s,p=u?(0,y.default)(r="".concat(i,"-")).call(r,d):null,h=u?D.default.createElement("div",null,D.default.createElement("p",null,o),D.default.createElement("p",null,e.objDescription)):null;return{key:p||i,namespace:i,objectNamespace:p,description:h||o,title:D.default.createElement(M.default,{title:h||o},f),children:c}}))}get columns(){return[{dataIndex:"title",title:t("Name")},{dataIndex:"detail",title:t("Value"),render:(e,t)=>this.renderInput(t)}]}render(){var{targetKeys:e}=this.state,t=this.getTreeDataWithoutFather(),a=this.getTransferSelectedKeys();return D.default.createElement(_.default,{onChange:this.onTransferChange,onSelectChange:this.onTransferSelectChange,targetKeys:e,selectedKeys:a,dataSource:t,className:"tree-transfer",render:this.renderTransferItem,showSelectAll:!1},(a=>{var{direction:n,onItemSelect:r,onItemSelectAll:l,filteredItems:i,disabled:o}=a;return"left"===n?this.renderTree({onItemSelect:r,dataSource:t,targetKeys:e}):"right"===n?this.renderTable({filteredItems:i,onItemSelectAll:l,onItemSelect:r,disabled:o}):void 0}))}}a.default=B},1988:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(86)),u=o(n(91)),d=o(n(54)),c=o(n(77));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends h.Component{constructor(e){super(e),(0,p.default)(this,"getDefaultOperator",(()=>{var{defaultValue:e,operators:t}=this.props;return(0,s.default)(t).call(t,(t=>0===(0,u.default)(e).call(e,t)))||t[0]})),(0,p.default)(this,"getDefaultEnums",(()=>{var{defaultValue:e}=this.props,t=this.getDefaultOperator(),a=e.split("".concat(t," "));return 2===a.length&&a[1]?a[1].split(","):[]})),(0,p.default)(this,"getOptions",(()=>{var{operators:e=[]}=this.props;return(0,d.default)(e).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"getEnumOptions",(()=>{var e,{items:t={enum:[]}}=this.props;return(0,d.default)(e=t.enum).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;if(e){var t,{operator:a,enums:n}=this.state;e((0,c.default)(t="".concat(a," ")).call(t,n.join(",")))}})),(0,p.default)(this,"onChangeOperator",(e=>{this.setState({operator:e},this.onChangeValue)})),(0,p.default)(this,"onChangeEnum",(e=>{this.setState({enums:e},this.onChangeValue)})),this.state={operator:this.getDefaultOperator(e),enums:this.getDefaultEnums(e)}}render(){var e=this.getOptions(),a=this.getEnumOptions(),n=this.getDefaultOperator(),r=this.getDefaultEnums();return h.default.createElement("div",null,h.default.createElement(f.default,{options:e,defaultValue:n,onChange:this.onChangeOperator,placeholder:t("Please select")}),h.default.createElement(f.default,{options:a,mode:"tags",defaultValue:r,onChange:this.onChangeEnum,placeholder:t("Please select")}))}}a.default=g},1989:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkSelectTable=void 0;var h=p(n(29)),m=p(n(91)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(233),k=n(342),C=n(571),_=n(163),M=n(567);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class N extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t,a=(0,C.networkColumns)(this);a[0].render=null;var{key:n}=e;return"project"===n?(0,h.default)(a).call(a,(e=>"project_id"!==e.dataIndex)):(0,m.default)(t=["shared","router:external"]).call(t,n)>=0?(0,h.default)(a).call(a,(e=>e.dataIndex!==n)):a})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getNetworkFilters",(e=>{var{key:a}=e,n=[{label:t("Name"),name:"name"}];return"shared"!==a&&n.push({label:t("Shared"),name:"shared",options:k.yesNoOptions}),this.showExternal&&"external"!==a&&n.push({label:t("External Network"),name:"router:external",options:k.yesNoOptions}),"project"!==a&&n.push({label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]}),n})),(0,v.default)(this,"getNetworkExtraParams",(e=>{var{key:t}=e;return"project"===t?{project_id:this.currentProjectId}:"shared"===t?{shared:!0}:"external"===t?{"router:external":!0}:{}})),this.stores={project:new w.NetworkStore,shared:new w.NetworkStore,external:new w.NetworkStore,all:new w.NetworkStore}}get location(){var{location:e={}}=(this.props.rootStore||{}).routing||{};return e}get isAdminPage(){var{pathname:e}=this.location;return(0,_.isAdminPage)(e)}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Current Project Networks"),key:"project"},{title:t("Shared Networks"),key:"shared"}];return this.showExternal&&e.push({title:t("External Networks"),key:"external"}),this.hasAdminRole&&e.push({title:t("All Networks"),key:"all"}),(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,M.getPath)({key:n,params:t,query:a})}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(){return this.props.disabledFunc}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.NetworkSelectTable=N;var E=(0,b.inject)("rootStore")((0,b.observer)(N));a.default=E},1993:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.VolumeSelectTable=void 0;var h=p(n(29)),m=p(n(86)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(414),k=n(566);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class M extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t=k.volumeColumns,{key:a}=e;return"available"===a?(0,h.default)(t).call(t,(e=>"status"!==e.dataIndex&&"attachments"!==e.dataIndex)):"shared"===a?(0,h.default)(t).call(t,(e=>"multiattach"!==e.dataIndex)):t})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getVolumeFilters",(e=>{var{key:t}=e,a=[...k.volumeFilters];return"shared"===t?(0,h.default)(a).call(a,(e=>"multiattach"!==e.name)):"available"===t?(0,h.default)(a).call(a,(e=>"status"!==e.name)):a})),(0,v.default)(this,"getVolumeExtraParams",(e=>{var{key:t}=e;return"shared"===t?{multiattach:!0}:"available"===t?{status:"available"}:{}})),(0,v.default)(this,"disallowedMultiAttach",(e=>{var{attachments:t=[]}=e,{serverId:a}=this.props;return!!(0,m.default)(t).call(t,(e=>e.server_id===a))})),this.stores={available:new w.VolumeStore,shared:new w.VolumeStore}}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Available"),key:"available"},{title:t("Shared"),key:"shared"}];return(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(e){if("available"===e.key){var{disabledFunc:t=null}=this.props;return t}return this.disallowedMultiAttach}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.VolumeSelectTable=M;var S=(0,b.inject)("rootStore")((0,b.observer)(M));a.default=S},1994:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1995);var s=o(n(1998)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,u.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e}))}render(){var{treeData:e,placeholder:a=t("Please select"),disabled:n=!1}=this.props;return d.default.createElement(s.default,{className:this.props.className,showSearch:!0,allowClear:!0,placeholder:a,treeData:e,disabled:n,value:this.getValue(),onChange:this.onChange})}}a.default=p,p.propTypes={value:c.default.oneOfType([c.default.array,c.default.string]),isWrappedValue:c.default.bool,treeData:c.default.array,onChange:c.default.func}},1999:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(568);var o=i(a(415)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=d(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function d(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(d=function(e){return e?a:t})(e)}class c extends u.Component{constructor(e){super(e),(0,s.default)(this,"onChange",(e=>{this.setState({value:e,inputVal:void 0},(()=>{var{formRef:t,onChange:a,name:n}=this.props;t.current&&t.current.setFieldsValue({[n]:e}),a&&a(e)}))})),(0,s.default)(this,"onSearch",(e=>{e&&this.setState({inputVal:e})})),(0,s.default)(this,"onBlur",(()=>{var{inputVal:e}=this.state;e&&this.onChange(e)})),this.state={value:void 0,inputVal:void 0}}render(){var{options:e=[],filterOption:t=!1}=this.props,{value:a}=this.state;return u.default.createElement(o.default,{showSearch:!0,value:a,style:{width:"100%",height:"100%"},onChange:this.onChange,onSearch:this.onSearch,onBlur:this.onBlur,filterOption:t,onFocus:this.onFocusSelect,showArrow:!1,options:e,getPopupContainer:()=>document.body})}}t.default=c},2e3:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=k;var p=f(a(77)),h=f(a(164));a(569);var m=f(a(1253));a(568);var g=f(a(415)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),b=(a(161),a(2001));function x(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){var{value:t,options:a,onChange:n}=e,[r,l]=(0,y.useState)(t.split(" ")[0]),[c,f]=(0,y.useState)(t.split(" ")[1]);(0,y.useEffect)((()=>{var[e,a]=t.split(" ");e===r&&a===c||(l(e),f(a))}),[t]);var b=e=>{var t,a=function(e){for(var t=1;t{l(e),b({prefix:e})},style:{width:"50%"},options:a,filterOption:(e,t)=>{var a;return(0,h.default)(a=t.label.toLowerCase()).call(a,e.toLowerCase())},getPopupContainer:()=>document.body}),y.default.createElement(m.default,{value:c,onChange:e=>{var t=e.target.value;f(t),b({number:t})},style:{width:"50%"}}))}k.defaultProps={value:"+86 ",options:b.defaultCountries}},2001:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.defaultCountries=void 0;var i,o=l(n(54)),s=l(n(32)),u=l(n(77)),d={1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],240:["GQ"],241:["GA"],242:["CG"],244:["AO"],245:["GW"],246:["IO"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],385:["HR"],386:["SI"],387:["BA"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],685:["WS"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},c={CN:t("China"),TW:t("Taiwan"),HK:t("Hong Kong"),MO:t("Macau"),KR:t("South Korea"),JP:t("Japan"),MY:t("Malaysia"),SG:t("Singapore"),NZ:t("New Zealand"),AU:t("Australia"),US:t("United States"),CA:t("Canada"),VN:t("Vietnam"),IN:t("India"),ID:t("Indonesia"),TH:t("Thailand"),PH:t("Philippines"),DK:t("Denmark"),FI:t("Finland"),FR:t("France"),DE:t("Germany"),GR:t("Greece"),IE:t("Ireland"),IL:t("Israel"),IT:t("Italy"),MX:t("Mexico"),NL:t("Netherlands"),NO:t("Norway"),PT:t("Portugal"),RU:t("Russia"),ZA:t("South Africa"),ES:t("Spain"),SE:t("Sweden"),CH:t("Switzerland"),BE:t("Belgium"),GB:t("United Kingdom"),AR:t("Argentina"),BR:t("Brazil"),KH:t("Kampuchea"),LTU:t("Lithuania"),LK:t("Sri Lanka"),NG:t("Nigeria"),AF:t("Afghanistan"),AL:t("Albania"),DZ:t("Algeria"),AS:t("American Samoa"),AD:t("Andorra"),AG:t("Antigua and Barbuda"),AM:t("Armenia"),AT:t("Austria"),BS:t("Bahamas"),BH:t("Bahrain"),BD:t("Bangladesh"),BY:t("Belarus"),BM:t("Bermuda"),BA:t("Bosnia and Herzegovina"),IO:t("British Indian Ocean Territory"),BF:t("Burkina Faso"),CF:t("Central African Republic"),TD:t("Chad"),CX:t("Christmas Island"),CC:t("Cocos (Keeling) Islands"),CO:t("Colombia"),CG:t("Republic of the Congo"),ZR:t("Democratic Republic of the Congo"),CR:t("Costa Rica"),CI:t("Cote D'Ivoire"),CU:t("Cuba"),CZ:t("Czech Republic"),GQ:t("Equatorial Guinea"),EE:t("Estonia"),FK:t("Falkland Islands (Malvinas)"),PF:t("French Polynesia"),GA:t("Gabon"),GP:t("Guadeloupe"),GW:t("Guinea Bissau"),GY:t("Guyana"),HN:t("Honduras"),HU:t("Hungary"),JO:t("Jordan"),KZ:t("Kazakhstan"),KE:t("Kenya"),KW:t("Kuwait"),KG:t("Kyrgyzstan"),LS:t("Lesotho"),MG:t("Madagascar"),MV:t("Maldives"),YT:t("Mayotte"),FM:t("Micronesia"),MC:t("Monaco"),MN:t("Mongolia"),MNE:t("Montenegro"),MS:t("Montserrat"),MM:t("Myanmar"),NR:t("Nauru"),NP:t("Nepal"),AN:t("Netherlands Antilles"),NC:t("New Caledonia"),NI:t("Nicaragua"),NF:t("Norfolk Island"),KP:t("North Korea"),MP:t("Northern Mariana Islands"),OM:t("Oman"),PK:t("Pakistan"),PW:t("Palau"),PA:t("Panama"),PG:t("Papua New Guinea"),PN:t("Pitcairn"),PL:t("Poland"),PR:t("Puerto Rico"),QA:t("Qatar"),RE:t("Reunion"),VCT:t("Saint Vincent and the Grenadines"),STP:t("Sao Tome and Principe"),SA:t("Saudi Arabia"),SRB:t("Serbia"),SC:t("Seychelles"),SK:t("Slovakia (Slovak Republic)"),SI:t("Slovenia"),SZ:t("Swaziland"),TJ:t("Tajikistan"),KNA:t("The Federation of Saint Kitts and Nevis"),ABH:t("the Republic of Abkhazia"),MKD:t("The Republic of Macedonia"),SSD:t("The Republic of South Sudan"),TN:t("Tunisia"),TM:t("Turkmenistan"),TV:t("Tuvalu"),UG:t("Uganda"),UA:t("Ukraine"),AE:t("United Arab Emirates"),UY:t("Uruguay"),UZ:t("Uzbekistan"),VA:t("Vatican City State (Holy See)"),WF:t("Wallis And Futuna Islands"),EH:t("Western Sahara"),YU:t("Yugoslavia"),ZM:t("Zambia"),AO:t("Angola"),AI:t("Anguilla"),AW:t("Aruba"),AZ:t("Azerbaijan"),BB:t("Barbados"),BZ:t("Belize"),BJ:t("Benin"),BT:t("Bhutan"),BO:t("Bolivia"),BW:t("Botswana"),BN:t("Brunei Darussalam"),BG:t("Bulgaria"),BI:t("Burundi"),CM:t("Cameroon"),CV:t("Cape Verde"),KY:t("Cayman Islands"),CL:t("Chile"),KM:t("Comoros"),CK:t("Cook Islands"),HR:t("Croatia (local name: Hrvatska)"),CY:t("Cyprus"),DJ:t("Djibouti"),DM:t("Dominica"),TP:t("East Timor"),EC:t("Ecuador"),EG:t("Egypt"),SV:t("El Salvador"),ER:t("Eritrea"),ET:t("Ethiopia"),FO:t("Faroe Islands"),FJ:t("Fiji"),GF:t("French Guiana"),GM:t("Gambia"),GE:t("Georgia"),GH:t("Ghana"),GI:t("Gibraltar"),GL:t("Greenland"),GD:t("Grenada"),GU:t("Guam"),GT:t("Guatemala"),GN:t("Guinea"),HT:t("Haiti"),IS:t("Iceland"),IR:t("Iran (Islamic Republic of)"),IQ:t("Iraq"),JM:t("Jamaica"),LAO:t("Lao People's Democratic Republic"),LV:t("Latvia"),LB:t("Lebanon"),LR:t("Liberia"),LY:t("Libyan Arab Jamahiriya"),LI:t("Liechtenstein"),LU:t("Luxembourg"),MW:t("Malawi"),ML:t("Mali"),MT:t("Malta"),MH:t("Marshall Islands"),MQ:t("Martinique"),MR:t("Mauritania"),MU:t("Mauritius"),MD:t("Moldova"),MA:t("Morocco"),MZ:t("Mozambique"),NA:t("Namibia"),NE:t("Niger"),PS:t("Palestine"),PY:t("Paraguay"),PE:t("Peru"),RO:t("Romania"),RW:t("Rwanda"),WS:t("Samoa"),SM:t("San Marino"),SN:t("Senegal"),SL:t("Sierra Leone"),SB:t("Solomon Islands"),SO:t("Somalia"),SD:t("Sudan"),SR:t("Suriname"),SY:t("Syrian Arab Republic"),TZ:t("Tanzania"),TG:t("Togo"),TK:t("Tokelau"),TO:t("Tonga"),TT:t("Trinidad and Tobago"),TR:t("Turkey"),TC:t("Turks and Caicos Islands"),VU:t("Vanuatu"),VE:t("Venezuela"),VI:t("Virgin Islands (U.S.)"),YE:t("Yemen"),ZW:t("Zimbabwe")},f=(0,o.default)(i=(0,s.default)(d)).call(i,(e=>{var t,a;return{label:(0,u.default)(t="+".concat(e," ")).call(t,(0,o.default)(a=d[e]).call(a,(e=>c[e])).join(",")),value:"+".concat(e)}}));a.defaultCountries=f},2017:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,r,l,p,h,{used:m=0,add:g=0,reserved:v=0,limit:y=1,title:b="",secondTitle:x=t("Quota")}=e,w=-1!==y,k=w?y:t("Infinity"),C=w?y-m-v-g:1;C=C<0?0:C;var _=(0,s.default)(a="".concat(t("Used"),": ")).call(a,m),M=v?(0,s.default)(n="".concat(t("Reserved"),": ")).call(n,v):"",S=(0,s.default)(r="".concat(t("New"),": ")).call(r,g),I=(0,s.default)(l="".concat(t("Left"),": ")).call(l,C),N=w?[_,S,I]:[_,S];v&&(0,u.default)(N).call(N,1,0,M);var E=N.join(" / "),T=m+v+g,A=(0,d.default)(T/y*100,10),j=(0,d.default)((m+v)/y*100,10),P=(0,f.getUsedValueColor)(A),D=c.default.createElement("span",null,(0,s.default)(p="".concat(b," ")).call(p,x,": ")," ",c.default.createElement("span",{style:{color:P}},(0,s.default)(h="".concat(T,"/")).call(h,k))),L=w?c.default.createElement(o.default,{percent:A,success:{percent:j,strokeColor:f.typeColors.used},strokeColor:f.typeColors.add,showInfo:!1}):c.default.createElement(o.default,{percent:0,showInfo:!1});return c.default.createElement("div",{style:{width:150}},c.default.createElement("div",{style:{fontWeight:"bold",textAlign:"center"}},D),c.default.createElement(i.default,{title:E},L))},n(344);var i=l(n(202));n(1271);var o=l(n(1272)),s=l(n(77)),u=l(n(573)),d=l(n(234)),c=l(n(0)),f=(n(161),n(1449))},2018:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,{reserved:r=0,title:l="",secondTitle:c=t("Quota")}=e,f=(0,o.default)(a=(0,o.default)(n="".concat(l," ")).call(n,c,": ")).call(a,t("Unlimit")),p=[{dataIndex:"used",title:t("Used"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.used}},e||"-")},{dataIndex:"add",title:t("New"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.add}},e||"-")}];r&&(0,s.default)(p).call(p,1,0,{dataIndex:"reserved",title:t("Reserved"),align:"center"});return u.default.createElement("div",null,u.default.createElement(i.default,{columns:p,dataSource:[e],pagination:!1,title:()=>f,bordered:!0,size:"small"}))},n(584);var i=l(n(586)),o=l(n(77)),s=l(n(573)),u=l(n(0)),d=(n(161),n(1449))},2019:function(e,t,a){var n=a(2020);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2020:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1yn9F {\n position: relative;\n height: 100%;\n padding-top: 16px;\n background-color: #fff;\n}\n.index__wrapper--1yn9F .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--1yn9F .ant-spin-container {\n height: 100%;\n}\n.index__wrapper-page-padding--2lbhS {\n padding-top: 0;\n}\n.index__form--3rBuv {\n height: calc(100% - 48px);\n margin-right: 32px;\n margin-left: 32px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3rBuv .ant-form-item-label > label {\n margin-left: 12px;\n}\n.index__form--3rBuv .ant-form-item-label > .ant-form-item-required {\n margin-left: 0;\n}\n.index__form--3rBuv .ant-form-item-label {\n white-space: break-spaces;\n}\n.index__footer--3IW56 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--1iSOL {\n float: right;\n margin-right: 32px;\n}\n.index__btns--1iSOL button {\n margin-left: 8px;\n}\n.form-item-text {\n margin-bottom: 0;\n}\n.form-item-divider {\n width: 98% !important;\n min-width: 90% !important;\n margin-right: auto;\n margin-left: auto;\n}\n.ant-radio-button-wrapper {\n color: rgba(0, 0, 0, 0.65);\n}\n.ant-radio-button-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n}\n.index__tips--1sDt0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: 16px;\n padding: 8px 16px;\n word-break: break-word;\n background: rgba(0, 0, 0, 0.15);\n}\n.index__tips-icon--2QJ8G {\n margin-top: 2px;\n margin-right: 4px;\n color: #0068ff;\n}\n.index__footer-left--2zaZk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: left;\n -ms-flex-pack: left;\n justify-content: left;\n float: left;\n height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__submit-tip--2ljzW {\n display: inline-block;\n font-size: 16px;\n}\n.index__progress-wrapper--1uQV2 {\n width: 170px;\n}\n.index__right-top-extra-wrapper---wJzs {\n position: absolute;\n top: 0;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n.index__modal-right-extra-wrapper--2_yIQ {\n border-left: solid 2px #f2f2f2;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1yn9F","wrapper-page-padding":"index__wrapper-page-padding--2lbhS",form:"index__form--3rBuv",footer:"index__footer--3IW56",btns:"index__btns--1iSOL",tips:"index__tips--1sDt0","tips-icon":"index__tips-icon--2QJ8G","footer-left":"index__footer-left--2zaZk","submit-tip":"index__submit-tip--2ljzW","progress-wrapper":"index__progress-wrapper--1uQV2","right-top-extra-wrapper":"index__right-top-extra-wrapper---wJzs","modal-right-extra-wrapper":"index__modal-right-extra-wrapper--2_yIQ"}},2021:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(2022));class s extends o.default{static get allowed(){return l.default.resolve()}get hasConfirmStep(){return!0}}t.default=s,(0,i.default)(s,"actionType","link"),(0,i.default)(s,"buttonType","primary"),(0,i.default)(s,"isDanger",!1),(0,i.default)(s,"id","step-action"),(0,i.default)(s,"title","StepAction"),(0,i.default)(s,"path","/"),(0,i.default)(s,"policy",""),(0,i.default)(s,"aliasPolicy","")},2022:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(203)),m=f(n(1252)),g=f(n(54)),v=f(n(77)),y=f(n(345));n(347);var b=f(n(348));n(2023);var x=f(n(2026));n(231);var w=f(n(341)),k=f(n(35)),C=f(n(177)),_=f(n(1350)),M=f(n(0)),S=f(n(1270)),I=(n(161),f(n(4))),N=n(163),E=n(349),T=f(n(1351)),A=f(n(1563)),j=f(n(1566)),P=n(567),D=f(n(2045));function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,k.default)(this,"onSubmit",(e=>p.default.resolve())),(0,k.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var t=this.getSubmitData(e);this.onSubmit(t).then((()=>{this.routing.push(this.listUrl),S.default.success(this.successText)}),(e=>{this.responseError=e;var{response:{data:t}={}}=e;S.default.errorWithDetail(t,this.errorText)}))})),(0,k.default)(this,"onCancel",(()=>{})),(0,k.default)(this,"onClickSubmit",(()=>{this.hasConfirmStep?this.onOk():this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e,this.onOk)}))})),(0,k.default)(this,"onClickCancel",(()=>{this.routing.push(this.listUrl)})),(0,k.default)(this,"updateDataOnPrev",(e=>{this.updateData(e,(()=>{this.setState((e=>({current:e.current-1})))}))})),(0,k.default)(this,"updateData",((e,t)=>{var{data:a}=this.state;this.setState({data:O(O({},a),e)},(()=>{t&&t()}))})),(0,k.default)(this,"unescape",(e=>(0,N.unescapeHtml)(e))),(0,k.default)(this,"goStep",(e=>{this.setState({current:e})})),this.options=t,this.state={formTemplate:(0,_.default)(this.formTemplate),current:0,data:{}},this.values={},this.setFormRefs(),this.init()}componentDidMount(){}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get hasConfirmStep(){return!1}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get locationParams(){var e;return(0,E.parse)((0,h.default)(e=this.location.search).call(e,1))}get match(){return this.props.match||{}}get listUrl(){return""}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get labelCol(){return{xs:{span:4},sm:{span:2}}}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get steps(){return[]}get formTemplate(){return{}}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,m.default)(this)||{};return e}get successText(){return this.instanceName?(0,N.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,N.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){return this.store&&this.store.isSubmitting||!1}get isLoading(){return!(!this.hasExtraProps||!(0,C.default)(this.state.extra))}get currentComponent(){var{current:e}=this.state;return this.steps[e].component}get currentRef(){var{current:e}=this.state;return this.formRefs[e]}get isAdminPage(){return this.props.isAdminPage||!1}get hasExtraProps(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get disableNext(){return!1}get disableSubmit(){return!1}setFormRefs(){var e;this.formRefs=(0,g.default)(e=this.steps).call(e,(()=>M.default.createRef()))}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,P.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,P.getLinkRender)({key:r,params:a,query:n,value:t})}getPrevBtn(){var e,{current:a}=this.state;if(0===a)return null;var n=this.steps[a-1].title;return M.default.createElement(w.default,{style:{margin:"0 8px"},onClick:()=>this.prev()},(0,v.default)(e="".concat(t("Previous"),": ")).call(e,n))}getNextBtn(){var e,{current:a}=this.state;if(a>=this.steps.length-1)return null;var{title:n}=this.steps[a+1];return M.default.createElement(w.default,{type:"primary",onClick:()=>this.next(),disabled:this.disableNext},(0,v.default)(e="".concat(t("Next"),": ")).call(e,n))}getSubmitData(e){return O({},e)}prev(){this.currentRef.current.wrappedInstance.checkFormInput(this.updateDataOnPrev,this.updateDataOnPrev)}next(){this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e),this.setState((e=>({current:e.current+1})))}))}init(){this.store={}}renderFooterLeft(){return null}renderFooter(){var{current:e}=this.state;return M.default.createElement("div",{className:D.default.footer},M.default.createElement("div",{className:(0,I.default)(D.default["footer-left"],this.footerStyle,"step-form-footer-left")},this.renderFooterLeft()),M.default.createElement("div",{className:(0,I.default)(D.default.btns,"step-form-footer-btns")},M.default.createElement(w.default,{className:D.default.cancel,onClick:this.onClickCancel},t("Cancel")),this.getPrevBtn(),this.getNextBtn(),e===this.steps.length-1&&M.default.createElement(w.default,{type:"primary",onClick:this.onClickSubmit,disabled:this.disableSubmit},t("Confirm"))))}renderForms(){var e=this.currentComponent,{data:t,extra:a}=this.state;return this.hasExtraProps&&(0,C.default)(a)?null:M.default.createElement(e,{ref:this.currentRef,context:t,extra:a,updateContext:this.updateData,goStep:this.goStep,isAdminPage:this.isAdminPage,match:this.match,location:this.location})}renderSteps(){var e,{current:t}=this.state,{Step:a}=x.default;return M.default.createElement("div",null,M.default.createElement("div",{className:D.default.step},M.default.createElement(x.default,{current:t},(0,g.default)(e=this.steps).call(e,(e=>M.default.createElement(a,{key:e.title,title:e.title}))))),M.default.createElement("div",{className:D.default.form},this.renderForms()))}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,M.default.createElement(j.default,e)}renderRightTopExtra(){var e=this.renderQuota();if(!e)return null;var t=(0,y.default)(this.quotaInfo);return M.default.createElement("div",{className:D.default["right-top-extra-wrapper"]},M.default.createElement(A.default,{content:e,checkValue:t}))}render(){return this.endpointError?M.default.createElement(T.default,{title:this.name,link:this.listUrl,endpointError:!0,goList:!0,isAction:!0}):M.default.createElement("div",{className:(0,I.default)(D.default.wrapper,this.className)},M.default.createElement(b.default,{spinning:this.isLoading||this.isSubmitting},this.renderSteps(),this.renderRightTopExtra(),this.renderFooter()))}}a.default=R},2042:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/empty-card.1741741357.svg"},2043:function(e,t,a){var n=a(2044);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2044:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1T6e5 {\n margin-top: 100px;\n text-align: center;\n border-radius: 4px;\n}\n.index__image--3dfS6 {\n height: 200px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 {\n display: inline-block;\n width: 600px;\n margin-left: 60px;\n vertical-align: top;\n}\n.index__text--2xlf7 .h1 {\n color: #abb4be;\n font-size: 120px;\n line-height: 1.4;\n text-align: left;\n opacity: 0.4;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 p {\n color: #5f708a;\n font-weight: 600;\n font-size: 20px;\n line-height: 1.4;\n text-align: left;\n text-shadow: 0 4px 8px rgba(36, 46, 66, 0.1);\n}\n.index__text--2xlf7 a {\n color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1T6e5",image:"index__image--3dfS6",text:"index__text--2xlf7"}},2045:function(e,t,a){var n=a(2046);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2046:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3YpmJ {\n position: relative;\n height: 100%;\n overflow: hidden;\n border-top: 1px solid #f0f0f0;\n}\n.index__wrapper--3YpmJ .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--3YpmJ .ant-spin-container {\n height: 100%;\n}\n.index__step--3Meey {\n height: 80px;\n margin-bottom: 16px;\n padding-top: 24px;\n padding-right: 56px;\n padding-left: 56px;\n background: #fff;\n}\n.index__form--3Sbom {\n height: 100%;\n min-height: calc(100vh - 280px);\n padding-top: 16px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3Sbom .sl-form {\n height: calc(100vh - 219px);\n padding-bottom: 48px;\n}\n.index__footer--32Ya5 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n min-height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--2ujTQ {\n float: right;\n min-width: 200px;\n margin-right: 32px;\n}\n.index__btns--2ujTQ button {\n margin-left: 8px;\n}\n.index__footer-left--KbV3J {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n justify-items: left;\n float: left;\n min-height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__right-top-extra-wrapper--55yRM {\n position: absolute;\n top: 95px;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3YpmJ",step:"index__step--3Meey",form:"index__form--3Sbom",footer:"index__footer--32Ya5",btns:"index__btns--2ujTQ","footer-left":"index__footer-left--KbV3J","right-top-extra-wrapper":"index__right-top-extra-wrapper--55yRM"}},2047:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(54)),o=l(n(63)),s=l(n(1277)),u=l(n(28)),d=l(n(49)),c=l(n(35)),f=l(n(92)),p=l(n(0)),h=n(163);class m{constructor(e){var a=this;(0,c.default)(this,"policy",""),(0,c.default)(this,"aliasPolicy",""),(0,c.default)(this,"unescape",(e=>(0,h.unescapeHtml)(e))),(0,c.default)(this,"getItemId",(e=>e.id)),(0,c.default)(this,"getItemName",(e=>e.name||"- (".concat(this.getItemId(e),")"))),(0,c.default)(this,"getName",(e=>(0,f.default)(e)?(0,i.default)(e).call(e,(e=>this.getItemName(e))).join(", "):this.getItemName(e))),(0,c.default)(this,"allowedCheckFunc",(e=>!0)),(0,c.default)(this,"allowed",(e=>(0,f.default)(e)?o.default.all((0,i.default)(e).call(e,(e=>o.default.resolve(this.allowedCheckFunc(e))))):o.default.resolve(this.allowedCheckFunc(e)))),(0,c.default)(this,"confirmContext",(e=>{if(!this.messageHasItemName)return t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"submitSuccessMsg",(e=>{var a=this.getName(e);return this.isAsyncAction?this.messageHasItemName?(0,h.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title})):this.messageHasItemName?(0,h.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("{action} successfully.",{action:this.actionNameDisplay||this.title}))})),(0,c.default)(this,"performErrorMsg",((e,a)=>{if(a){if(!this.messageHasItemName)return"";var n=this.getName(e);return t("instance: {name}.",{name:n})}if(!this.messageHasItemName)return t("You are not allowed to {action}.",{action:this.actionNameDisplay||this.title});var r=this.getName(e);return t("You are not allowed to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:r})})),(0,c.default)(this,"submitErrorMsg",(e=>{if(!this.messageHasItemName)return t("Unable to {action}.",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Unable to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"onSubmit",(e=>o.default.resolve())),(0,c.default)(this,"perform",function(){var e=(0,d.default)((function*(e){if((0,f.default)(e)&&0===e.length)return o.default.reject(t("Please select item!"));var n=yield a.allowed(e);if((0,f.default)(e)){var r=(0,f.default)(e)?e:[e];if((0,s.default)(n).call(n,(e=>!!e)))return o.default.resolve(!0);var l=[];(0,u.default)(n).call(n,((e,t)=>{e||l.push(r[t])}));var i=a.unescape(a.performErrorMsg(l,!0)),d=a.getBatchPerformTitle(),c=p.default.createElement("div",null,d&&p.default.createElement("p",null,d),p.default.createElement("p",null,i));return o.default.reject(c)}if(n)return o.default.resolve(!0);var h=a.performErrorMsg(e);return o.default.reject(h)}));return function(t){return e.apply(this,arguments)}}());var{item:n,containerProps:r}=e;n&&(this.item=n),r&&(this.containerProps=r)}get id(){return"id"}get actionType(){return"confirm"}get actionName(){return""}get actionNameDisplay(){return this.actionName.toLowerCase()}get passiveAction(){return t("be deleted")}get title(){return t("Delete")}get buttonType(){return"default"}get isDanger(){return!1}get buttonText(){return""}get okText(){return t("Confirm")}get cancelText(){return t("Cancel")}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps||{};return e}get isAsyncAction(){return!1}get messageHasItemName(){return!0}getBatchPerformTitle(){return this.messageHasItemName?t("There are resources that cannot {action} in the selected resources, such as:",{action:this.passiveAction.toLowerCase()}):t("There are resources that cannot {action} in the selected resources.",{action:this.passiveAction.toLowerCase()})}}a.default=m,(0,c.default)(m,"actionType","confirm")},2048:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.GlobalHeaderRight=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(231);var d=o(n(341)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),f=n(412),p=(n(161),o(n(2049))),h=o(n(1346));function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends c.Component{get isAdminPage(){var{isAdminPage:e=!1}=this.props;return e}get isUserCenterPage(){var{isUserCenterPage:e=!1}=this.props;return e}renderConsole(){return this.isAdminPage||this.isUserCenterPage?c.default.createElement(d.default,{type:"link",href:"/base/overview",className:h.default["single-link"]},t("Console")):null}renderAdministrator(){var{rootStore:{hasAdminPageRole:e=!1}={}}=this.props;return!e||this.isAdminPage?null:c.default.createElement(d.default,{type:"link",href:"/base/overview-admin",className:h.default["single-link"]},t("Administrator"))}renderExtra(){return null}renderExtraLink(){return null}render(){return c.default.createElement("div",{className:h.default.right},c.default.createElement(s.default,{justify:"space-between",align:"middle",gutter:10},c.default.createElement(u.default,null,this.renderExtraLink(),this.renderConsole(),this.renderAdministrator()),this.renderExtra(),c.default.createElement(u.default,null,c.default.createElement(p.default,{menu:!0}))))}}a.GlobalHeaderRight=g;var v=(0,f.inject)("rootStore")((0,f.observer)(g));a.default=v},2049:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.AvatarDropdown=void 0;var i=l(n(54)),o=l(n(77)),s=l(n(1348));n(347);var u=l(n(348));n(1276);var d=l(n(421));n(231);var c=l(n(341));n(568);var f=l(n(415)),p=l(n(35)),h=l(n(0)),m=n(412),g=(n(161),n(564),l(n(237))),v=l(n(1302)),y=l(n(2050)),b=l(n(2051)),x=l(n(2052)),w=l(n(2054)),k=l(n(1346)),{getLocale:C,setLocale:_,SUPPORT_LOCALES:M}=g.default;class S extends h.default.Component{constructor(){super(...arguments),(0,p.default)(this,"changeLang",(e=>_(e,!0))),(0,p.default)(this,"onMenuClick",(e=>{var{key:t}=e})),(0,p.default)(this,"handleLogout",(e=>{e&&e.preventDefault&&e.preventDefault(),this.rootStore.logout()})),(0,p.default)(this,"afterChangePassword",((e,t)=>{e&&this.rootStore.logout()})),(0,p.default)(this,"onClickSelectLanguage",(e=>{e&&e.preventDefault(),e&&e.stopPropagation()}))}get rootStore(){return this.props.rootStore||{}}get user(){var{user:e}=this.rootStore;return e||null}renderLanguageSwitch(){var e=C(),{length:t}=M;if(t>3){var a=(0,i.default)(M).call(M,(e=>({label:e.icon.toLocaleUpperCase(),value:e.value})));return h.default.createElement("div",{style:{float:"right"}},h.default.createElement(f.default,{options:a,value:e,onChange:this.changeLang,onClick:this.onClickSelectLanguage}))}var n=(0,i.default)(M).call(M,((a,n)=>{var{value:r,icon:l}=a;return h.default.createElement(h.default.Fragment,null,h.default.createElement(c.default,{className:0===n?k.default["no-padding-top"]:"",type:"link",disabled:e===r,onClick:()=>{this.changeLang(r)}},l.toUpperCase()),n!==t-1&&h.default.createElement("span",null,"/"))}));return h.default.createElement("span",{style:{float:"right"}},n)}renderLanguageMenuItem(){var e;return M.length<=1?null:h.default.createElement(d.default.Item,{key:"language",className:(0,o.default)(e="".concat(k.default["no-hover"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,t("Switch Language")),this.renderLanguageSwitch())}render(){var e,a;if(!this.user)return h.default.createElement(u.default,{size:"small",style:{marginLeft:8,marginRight:8}});var{name:n}=this.user.user,r=h.default.createElement(d.default,{className:k.default.menu,onClick:this.onMenuClick},h.default.createElement(d.default.Item,{key:"user",className:(0,o.default)(e=(0,o.default)(a="".concat(k.default["no-hover"]," ")).call(a,k.default["name-item"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,h.default.createElement("span",{className:k.default["user-label"]},t("User")),h.default.createElement("span",null,n))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),this.renderLanguageMenuItem(),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"userCenter",className:k.default["menu-item"]},h.default.createElement(c.default,{href:"/user/center",type:"link",style:{textAlign:"left"}},t("User Center"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"password",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:y.default}]},onFinishAction:this.afterChangePassword,item:this.user&&this.user.user,isWide:!0})),h.default.createElement(d.default.Item,{key:"token",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:b.default}]},isWide:!0})),h.default.createElement(d.default.Item,{key:"openrc",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:x.default}]},isWide:!0})));return h.default.createElement(w.default,{overlay:r},h.default.createElement("div",{className:"".concat(k.default.action)},h.default.createElement(c.default,{shape:"circle",icon:h.default.createElement(s.default,null),className:k.default.avatar})))}}a.AvatarDropdown=S;var I=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=I},2050:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Password=void 0;var i=l(n(63)),o=l(n(35)),s=n(412),u=n(1241),d=n(565),c=l(n(1255));class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{password:a,oldPassword:n}=e;return c.default.changePasswordUser({id:t,password:a,original_password:n})}))}get name(){return t("Update user password")}get defaultValue(){var{name:e}=this.item;return{name:e,password:"",confirmPassword:""}}get formItems(){return[{name:"name",label:t("User"),type:"label",iconType:"user"},{name:"oldPassword",label:t("Original Password"),type:"input-password",required:!0},{name:"password",label:t("Password"),type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("password","user")},{name:"confirmPassword",label:t("Confirm Password"),dependencies:["password"],type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("confirmPassword","user")}]}}a.Password=f,(0,o.default)(f,"id","update-user-password"),(0,o.default)(f,"title",t("Update User Password")),(0,o.default)(f,"policy",[]),(0,o.default)(f,"allowed",(()=>i.default.resolve(!0)));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},2051:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Token=void 0;var i=l(n(635)),o=l(n(63)),s=l(n(35));n(594);var u=l(n(595)),d=l(n(0)),c=n(412),f=(n(161),n(1241)),p=n(1251),h=n(580),m=l(n(1346)),{Paragraph:g}=u.default;class v extends f.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"getLeftStr",(e=>{var a=e-(0,i.default)(),n=Math.floor(a/1e3);if(n<60)return t("{seconds} seconds",{seconds:n});var r=Math.floor(n/60),l=n%60;if(r<60)return t("{minutes} minutes {leftSeconds} seconds",{minutes:r,leftSeconds:l});var o=Math.floor(r/60);return t("{hours} hours {leftMinutes} minutes {leftSeconds} seconds",{hours:o,leftMinutes:r%60,leftSeconds:l})})),(0,s.default)(this,"onSubmit",(()=>o.default.resolve()))}get name(){return t("Get Token")}get token(){var e=localStorage.getItem("keystone_token");try{return JSON.parse(e)||{}}catch(e){return{}}}get showNotice(){return!1}get tokenValue(){return this.token.value||""}get keystoneTokenExp(){var{keystone_token_exp:e}=this.props.rootStore.user||{};return(0,h.getLocalTime)(e).valueOf()}get tips(){return(0,i.default)()>this.keystoneTokenExp?d.default.createElement("span",{style:globalCSS.warnDarkColor},t("Keystone token is expired.")):t("Please save your token properly and it will be valid for {left}.",{left:this.getLeftStr(this.keystoneTokenExp)})}get defaultValue(){return{token:this.tokenValue}}get labelCol(){return{xs:{span:0},sm:{span:0}}}get wrapperCol(){return{xs:{span:24},sm:{span:24}}}get formItems(){return[{name:"token",label:"",type:"label",component:d.default.createElement(g,{copyable:{text:this.tokenValue},className:m.default.token},d.default.createElement("pre",null,this.tokenValue))}]}}a.Token=v,(0,s.default)(v,"id","get-token"),(0,s.default)(v,"title",t("Get Token")),(0,s.default)(v,"policy",p.allCanReadPolicy),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},2052:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.OpenRc=void 0;var i=l(n(29)),o=l(n(63)),s=l(n(35)),u=n(412),d=n(1241),c=n(1251),f=l(n(1569)),p=n(2053),h=l(n(1352));class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"exportRcFile",(e=>{var t=new Blob([e],{type:"text/plain;charset=utf-8"});h.default.saveAs(t,"openrc.sh")})),(0,s.default)(this,"onSubmit",(e=>{var{type:t}=e;return this.store.fetchList().then((()=>this.exportRcFile(this.getOpenRC(t))))}))}init(){this.store=f.default}get name(){return t("Get OpenRC file")}get showNotice(){return!1}get user(){var{user:e}=this.props.rootStore;return e}getOpenRC(e){var{project:{id:t="",name:a="",domain:{name:n}={}}={},user:{name:r="",domain:{name:l}={}}={},region:o}=this.user||{},{data:s}=this.store.list,{endpoints:u}=(0,i.default)(s).call(s,(e=>"keystone"===e.name))[0],d=(0,i.default)(u).call(u,(e=>"public"===e.interface))[0].url;return"password"===e?(0,p.getPwdOpenRc)({authUrl:d,projectId:t,projectName:a,projectDomain:n,userDomain:l,userName:r,region:o}):(0,p.getCredentialOpenRc)({authUrl:d,region:o})}get defaultValue(){return{type:"password"}}get formItems(){return[{name:"type",label:t("Type"),type:"select",options:[{label:t("Password Type"),value:"password"},{label:t("Credential Type"),value:"credential"}]}]}}a.OpenRc=m,(0,s.default)(m,"id","get-token"),(0,s.default)(m,"title",t("Get OpenRC file")),(0,s.default)(m,"policy",c.allCanReadPolicy),(0,s.default)(m,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},2053:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.getCredentialOpenRc=t.getPwdOpenRc=void 0;t.getPwdOpenRc=e=>{var{authUrl:t,projectId:a,projectName:n,projectDomain:r,userDomain:l,userName:i,region:o}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+"\n# With the addition of Keystone we have standardized on the term **project**\n# as the entity that owns the resources.\n"+"export OS_PROJECT_ID=".concat(a," \n")+"export OS_PROJECT_NAME=".concat(n,"\n")+"export OS_PROJECT_DOMAIN_NAME=".concat(r,"\n")+"export OS_USER_DOMAIN_NAME=".concat(l,"\n")+"\n# unset v2.0 items in case set\nunset OS_TENANT_ID\nunset OS_TENANT_NAME\n# In addition to the owning entity (tenant), OpenStack stores the entity\n# performing the action as the **user**.\n"+"export OS_USERNAME=".concat(i,"\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "\nread -sr OS_PASSWORD_INPUT\nexport OS_PASSWORD=$OS_PASSWORD_INPUT\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(o,"\n")+'\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\n\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}'};t.getCredentialOpenRc=e=>{var{authUrl:t,region:a}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Credential ID as OS_APPLICATION_CREDENTIAL_ID: "\nread -sr OS_APPLICATION_CREDENTIAL_ID\nexport OS_APPLICATION_CREDENTIAL_ID=$OS_APPLICATION_CREDENTIAL_ID\necho "Please enter your OpenStack Credential Secret as OS_APPLICATION_CREDENTIAL_SECRET: "\nread -sr OS_APPLICATION_CREDENTIAL_SECRET\nexport OS_APPLICATION_CREDENTIAL_SECRET=$OS_APPLICATION_CREDENTIAL_SECRET\n\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\nexport OS_AUTH_TYPE=v3applicationcredential\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(a,"\n")+"\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}"}},2054:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0,a(585);var l=r(a(424)),i=r(a(343)),o=r(a(58)),s=(a(161),r(a(0))),u=r(a(4)),d=e=>{var{overlayClassName:t}=e,a=(0,o.default)(e,["overlayClassName"]);return s.default.createElement(l.default,(0,i.default)({overlayClassName:(0,u.default)(t)},a))};t.default=d},2055:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1570)),i=r(a(1450)),o=r(a(1451)),s=r(a(1571)),u=r(a(1452)),d=r(a(1572)),c=r(a(1453)),f=r(a(1344)),p=r(a(1381)),h=r(a(1377)),m=r(a(1382)),g=r(a(0)),v=(a(564),e=>e?[{path:"/base/overview-admin",name:e("Home"),key:"overviewAdmin",icon:g.default.createElement(m.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"computeAdmin",icon:g.default.createElement(h.default,null),children:[{path:"/compute/instance-admin",name:e("Instances"),key:"instanceAdmin",level:1,children:[{path:/^\/compute\/instance-admin\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetailAdmin",routePath:"/compute/instance-admin/detail/:id",level:2}]},{path:"/compute/instance-snapshot-admin",name:e("Instance Snapshots"),key:"instanceSnapshotAdmin",level:1,children:[{path:/^\/compute\/instance-snapshot-admin\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetailAdmin",level:2,routePath:"/compute/instance-snapshot-admin/detail/:id"}]},{path:"/compute/flavor-admin",name:e("Flavors"),key:"flavorAdmin",level:1,children:[{path:"/compute/flavor-admin/create",name:e("Create Flavor"),key:"flavorCreateAdmin",level:2},{path:/^\/compute\/flavor-admin\/detail\/[^/]+$/,name:e("Flavor Detail"),key:"flavorDetailAdmin",routePath:"/compute/flavor-admin/detail/:id",level:2}]},{path:"/compute/server-group-admin",name:e("Server Groups"),key:"serverGroupAdmin",level:1,children:[{path:/^\/compute\/server-group-admin\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetailAdmin",routePath:"/compute/server-group-admin/detail/:id",level:2}]},{path:"/compute/image-admin",name:e("Images"),key:"imageAdmin",level:1,children:[{path:/^\/compute\/image-admin\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetailAdmin",routePath:"/compute/image-admin/detail/:id",level:2},{path:"/compute/image-admin/create",name:e("Create Image"),key:"imageCreateAdmin",level:2}]},{path:"/compute/hypervisors-admin",name:e("Hypervisors"),key:"hypervisorAdmin",level:1,children:[{path:/^\/compute\/hypervisors-admin\/detail\/.[^/]+$/,name:e("Hypervisor Detail"),key:"hypervisorDetailAdmin",routePath:"/compute/hypervisors-admin/detail/:id",level:2}]},{path:"/compute/aggregates-admin",name:e("Host Aggregates"),key:"aggregateAdmin",level:1,children:[]},{path:"/compute/baremetal-node-admin",name:e("Bare Metal Nodes"),key:"baremetalNodeAdmin",endpoints:"ironic",level:1,children:[{path:/^\/compute\/baremetal-node-admin\/detail\/.[^/]+$/,name:e("Bare Metal Node Detail"),key:"baremetalNodeDetailAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2},{path:/^\/compute\/baremetal-node-admin\/create$/,name:e("Create Bare Metal Node"),key:"baremetalNodeCreateAdmin",level:2},{path:/^\/compute\/baremetal-node-admin\/edit\/.[^/]+$/,name:e("Edit Bare Metal Node"),key:"baremetalNodeEditAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2}]}]},{path:"/storage",name:e("Storage"),key:"storageAdmin",icon:g.default.createElement(p.default,null),children:[{path:"/storage/volume-admin",name:e("Volumes"),key:"volumeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-admin\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetailAdmin",level:2,routePath:"/storage/volume-admin/detail/:id"}]},{path:"/storage/backup-admin",name:e("Volume Backups"),key:"backupAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup-admin\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetailAdmin",level:2,routePath:"/storage/backup-admin/detail/:id"}]},{path:"/storage/snapshot-admin",name:e("Volume Snapshots"),key:"snapshotAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot-admin\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetailAdmin",level:2,routePath:"/storage/snapshot-admin/detail/:id"}]},{path:"/storage/volume-type-admin",name:e("Volume Types"),key:"volumeTypeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-type-admin\/detail\/.[^/]+$/,name:e("Volume Type Detail"),key:"volumeTypeDetailAdmin",level:2,routePath:"/storage/volume-type-admin/detail/:id"},{path:/^\/storage\/volume-type-admin\/qos\/detail\/.[^/]+$/,name:e("QoS Detail"),key:"volumeTypeQosDetailAdmin",level:2,routePath:"/storage/volume-type-admin/qos/detail/:id"}]},{path:"/storage/storage-admin",name:e("Storage Backends"),key:"storageBackendAdmin",level:1,endpoints:"cinder",children:[]}]},{path:"/network",name:e("Network"),key:"/networkAdmin",icon:g.default.createElement(f.default,null),children:[{path:"/network/networks-admin",name:e("Networks"),key:"networkAdmin",level:1,children:[{path:/^\/network\/networks-admin\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:id"}]},{path:"/network/port-admin",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port-admin\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetailAdmin",level:2,routePath:"/network/port-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/port/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetailAdmin",level:2,routePath:"/network/instance-admin/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy-admin",name:e("QoS Policies"),key:"networkQosAdmin",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy-admin\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetailAdmin",level:2,routePath:"/network/qos-policy-admin/detail/:id"}]},{path:"/network/router-admin",name:e("Routers"),key:"routerAdmin",level:1,children:[{path:/^\/network\/router-admin\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetailAdmin",level:2,routePath:"/network/router-admin/detail/:id"},{path:/^\/network\/router-admin\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetailAdmin",level:2,routePath:"/network/router-admin/:routerId/port/:id"}]},{path:"/network/floatingip-admin",name:e("Floating IPs"),key:"fipAdmin",level:1,children:[{path:/^\/network\/floatingip-admin\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetailAdmin",level:2,routePath:"/network/floatingip-admin/detail/:id"}]},{path:"/network/load-balancers-admin",name:e("Load Balancers"),key:"lbAdmin",endpoints:"octavia",level:1,children:[{path:/^\/network\/load-balancers-admin\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetailAdmin",level:2,routePath:"/network/load-balancers-admin/detail/:id"},{path:/^\/network\/load-balancers-admin\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetailAdmin",level:2,routePath:"/network/load-balancers-admin/:loadBalancerId/listener/:id"}]},{path:"/network/vpn-admin",name:e("VPNs"),key:"vpnAdmin",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection-admin\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetailAdmin",level:2,routePath:"/network/ipsec-site-connection-admin/detail/:id"}]},{path:"/network/security-group-admin",name:e("Security Groups"),key:"securityGroupAdmin",level:1,children:[{path:/^\/network\/security-group-admin\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetailAdmin",level:2,routePath:"/network/security-group-admin/detail/:id"}]},{path:"/network/rbac-policies-admin",name:e("RBAC Policies"),key:"rbacPolicyAdmin",level:1,children:[{path:/^\/network\/rbac-policies-admin\/detail\/.[^/]+$/,name:e("RBAC Policy Detail"),key:"rbacPolicyDetailAdmin",level:2,routePath:"/network/rbac-policies-admin/detail/:id"}]},{path:"/network/firewall-admin",name:e("Firewalls"),key:"firewallAdmin",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy-admin\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetailAdmin",level:2,routePath:"/network/firewall-policy-admin/detail/:id"},{path:/^\/network\/firewall-admin\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetailAdmin",level:2,routePath:"/network/firewall-admin/:firewallId/port/:portId"},{path:/^\/network\/firewall-admin\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetailAdmin",level:2,routePath:"/network/firewall-admin/detail/:id"},{path:/^\/network\/firewall-rule-admin\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetailAdmin",level:2,routePath:"/network/firewall-rule-admin/detail/:id"}]},{path:"/network/dns-admin/zones",name:e("DNS Zones"),key:"dnsZonesAdmin",endpoints:"designate",level:1,children:[{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:id"},{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:zoneId/recordsets/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorageAdmin",endpoints:"manilav2",icon:g.default.createElement(c.default,null),children:[{path:"/share/share-admin",name:e("Shares"),key:"shareAdmin",level:1,children:[{path:/^\/share\/share-admin\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetailAdmin",level:2,routePath:"/share/share-admin/detail/:id"}]},{path:"/share/share-type-admin",name:e("Share Types"),key:"shareTypeAdmin",level:1,children:[{path:/^\/share\/share-type-admin\/detail\/.[^/]+$/,name:e("Share Type Detail"),key:"shareTypeDetailAdmin",level:2,routePath:"/share/share-type-admin/detail/:id"}]},{path:"/share/share-group-type-admin",name:e("Share Group Types"),key:"shareGroupTypeAdmin",level:1,children:[{path:/^\/share\/share-group-type-admin\/detail\/.[^/]+$/,name:e("Share Group Type Detail"),key:"shareGroupTypeDetailAdmin",level:2,routePath:"/share/share-group-type-admin/detail/:id"}]},{path:"/share/share-network-admin",name:e("Share Networks"),key:"shareNetworkAdmin",level:1,children:[{path:/^\/share\/share-network-admin\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetailAdmin",level:2,routePath:"/share/share-network-admin/detail/:id"}]},{path:"/share/share-server-admin",name:e("Share Servers"),key:"shareServerAdmin",level:1,children:[{path:/^\/share\/share-server-admin\/detail\/.[^/]+$/,name:e("Share Server Detail"),key:"shareServerDetailAdmin",level:2,routePath:"/share/share-server-admin/detail/:id"}]},{path:"/share/share-instance-admin",name:e("Share Instances"),key:"shareInstanceAdmin",level:1,children:[{path:/^\/share\/share-instance-admin\/detail\/.[^/]+$/,name:e("Share Instance Detail"),key:"shareInstanceDetailAdmin",level:2,routePath:"/share/share-instance-admin/detail/:id"}]},{path:"/share/share-group-admin",name:e("Share Groups"),key:"shareGroupAdmin",level:1,children:[{path:/^\/share\/share-group-admin\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetailAdmin",level:2,routePath:"/share/share-group-admin/detail/:id"}]},{path:"/share/storage-admin",name:e("Storage Backends"),key:"shareStorageBackendAdmin",level:1,children:[]}]},{path:"/identity",name:e("Identity"),key:"/identity",icon:g.default.createElement(d.default,null),children:[{path:"/identity/domain-admin",name:e("Domains"),key:"domainAdmin",level:1,children:[{path:/^\/identity\/domain-admin\/detail\/.[^/]+$/,name:e("Domain Detail"),key:"domainDetailAdmin",level:2,routePath:"/identity/domain-admin/detail/:id"}]},{path:"/identity/project-admin",name:e("Projects"),key:"projectAdmin",level:1,children:[{path:/^\/identity\/project-admin\/detail\/.[^/]+$/,name:e("Project Detail"),key:"projectDetailAdmin",level:2,routePath:"/identity/project-admin/detail/:id"},{path:"/identity/project-admin/create",name:e("Create Project"),key:"projectCreateAdmin",level:2},{path:/^\/identity\/project-admin\/edit\/.[^/]+$/,name:e("Edit Project"),key:"projectEditAdmin",level:2,routePath:"/identity/project-admin/edit/:id"}]},{path:"/identity/user-admin",name:e("Users"),key:"userAdmin",level:1,children:[{path:/^\/identity\/user-admin\/detail\/.[^/]+$/,name:e("User Detail"),key:"userDetailAdmin",level:2,routePath:"/identity/user-admin/detail/:id"},{path:"/identity/user-admin/create",name:e("Create User"),key:"userCreateAdmin",level:2},{path:/^\/identity\/user-admin\/edit\/.[^/]+$/,name:e("User Edit"),key:"userEditAdmin",level:2,routePath:"/identity/user-admin/edit/:id"}]},{path:"/identity/user-group-admin",name:e("User Groups"),key:"userGroupAdmin",level:1,children:[{path:/^\/identity\/user-group-admin\/detail\/.[^/]+$/,name:e("User Group Detail"),key:"userGroupDetailAdmin",level:2,routePath:"/identity/user-group-admin/detail/:id"},{path:"/identity/user-group-admin/create",name:e("Create User Group"),key:"userGroupCreateAdmin",level:2},{path:/^\/identity\/user-group-admin\/edit\/.[^/]+$/,name:e("Edit User Group"),key:"userGroupEditAdmin",level:2,routePath:"/identity/user-group-admin/edit/:id"}]},{path:"/identity/role-admin",name:e("Roles"),key:"roleAdmin",level:1,children:[{path:/^\/identity\/role-admin\/detail\/.[^/]+$/,name:e("Role Detail"),key:"roleDetailAdmin",level:2,routePath:"/identity/role-admin/detail/:id"}]}]},{path:"/database",name:e("Database"),key:"databaseAdmin",endpoints:"trove",icon:g.default.createElement(u.default,null),children:[{path:"/database/instances-admin",name:e("Database Instances"),key:"databaseInstancesAdmin",level:1,children:[{path:/^\/database\/instances-admin\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetailAdmin",level:2,routePath:"/database/instances-admin/detail/:id"}]}]},{path:"/monitor-center",name:e("Monitor Center"),key:"/monitorCenterAdmin",icon:g.default.createElement(s.default,null),children:[{path:"/monitor-center/overview-admin",name:e("Monitor Overview"),key:"monitorOverviewAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/physical-node-admin",name:e("Physical Nodes"),key:"monitorPhysicalNodeAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/storage-cluster-admin",name:e("Storage Clusters"),key:"monitorStorageClusterAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/openstack-service-admin",name:e("OpenStack Services"),key:"monitorOpenstackServiceAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/other-service-admin",name:e("Other Services"),key:"monitorOtherServiceAdmin",level:1,children:[],hasBreadcrumb:!0}]},{path:"/configuration-admin",name:e("Global Setting"),key:"configurationAdmin",icon:g.default.createElement(o.default,null),children:[{path:"/configuration-admin/info",name:e("System Info"),key:"systemInfoAdmin",level:1,children:[{path:/^\/configuration-admin\/neutron\/detail\/.[^/]+$/,name:e("Neutron Agent Detail"),key:"neutronAgentDetailAdmin",level:2,routePath:"/configuration-admin/neutron/detail/:id"}]},{path:"/configuration-admin/setting",name:e("System Config"),key:"settingAdmin",level:1},{path:"/configuration-admin/metadata",name:e("Metadata Definitions"),key:"metadataAdmin",level:1,children:[{path:/^\/configuration-admin\/metadata\/detail\/.[^/]+$/,name:e("Metadata Detail"),key:"metadataDetailAdmin",level:2,routePath:"/configuration-admin/metadata/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"containerAdmin",icon:g.default.createElement(i.default,null),children:[{path:"/container-service/containers-admin",name:e("Containers"),key:"zunContainersAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/containers-admin\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetailAdmin",level:2,routePath:"/container-service/containers-admin/detail/:id"}]},{path:"/container-service/hosts-admin",name:e("Hosts"),key:"zunHostsAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"zuHostsDetailAdmin",level:2,routePath:"/container-service/hosts-admin/detail/:id"}]},{path:"/container-service/services-admin",name:e("Services"),key:"zunServicesAdmin",endpoints:"zun",level:1},{path:"/container-infra/clusters-admin",name:e("Clusters"),key:"containerInfraClustersAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters-admin\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetailAdmin",level:2,routePath:"/container-infra/clusters-admin/detail/:id"}]},{path:"/container-infra/cluster-template-admin",name:e("Cluster Templates"),key:"clusterTemplateAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template-admin\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetailAdmin",level:2,routePath:"/container-infra/cluster-template-admin/detail/:id"}]}]},{path:"/ha",name:e("Instance-HA"),key:"masakari",icon:g.default.createElement(l.default,null),endpoints:"masakari",children:[{path:"/ha/segments-admin",name:e("Segments"),key:"masakariSegmentsAdmin",level:1,children:[{path:"/ha/segments-admin/create-step-admin",name:e("Create Segment"),key:"masakariSegmentsCreateAdmin",level:2},{path:/^\/ha\/segments-admin\/detail\/.[^/]+$/,name:e("Segment Detail"),key:"masakariSegmentDetailAdmin",level:2,routePath:"/ha/segments-admin/detail/:id"}]},{path:"/ha/hosts-admin",name:e("Hosts"),key:"masakariHostsAdmin",level:1,children:[{path:/^\/ha\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"masakariHostDetailAdmin",level:2,routePath:"/ha/hosts-admin/detail/:id"}]},{path:"/ha/notifications-admin",name:e("Notifications"),key:"masakariNotificationsAdmin",level:1,children:[{path:/^\/ha\/notifications-admin\/detail\/.[^/]+$/,name:e("Notification Detail"),key:"masakariNotificationDetailAdmin",level:2,routePath:"/ha/notifications-admin/detail/:id"}]}]}]:[]);t.default=v},2065:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1450)),i=r(a(1452)),o=r(a(1434)),s=r(a(1453)),u=r(a(1344)),d=r(a(1381)),c=r(a(1377)),f=r(a(1382)),p=r(a(0)),h=(a(564),e=>e?[{path:"/base/overview",name:e("Home"),key:"overview",icon:p.default.createElement(f.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"compute",icon:p.default.createElement(c.default,null),children:[{path:"/compute/instance",name:e("Instances"),key:"instance",level:1,children:[{path:/^\/compute\/instance\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetail",level:2,routePath:"/compute/instance/detail/:id"},{path:"/compute/instance/create",name:e("Create Instance"),key:"instanceCreate",level:2},{path:"/compute/ironic-instance/create",name:e("Create Ironic Instance"),key:"ironicCreate",level:2}]},{path:"/compute/instance-snapshot",name:e("Instance Snapshots"),key:"instanceSnapshot",level:1,children:[{path:/^\/compute\/instance-snapshot\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetail",level:2,routePath:"/compute/instance-snapshot/detail/:id"}]},{path:"/compute/flavor",name:e("Flavors"),key:"flavor",level:1,children:[{path:/^\/compute\/flavor\/detail\/.[^/]+$/,name:e("Flavor Detail"),key:"flavorDetail",level:2,routePath:"/compute/flavor/detail/:id"}]},{path:"/compute/server-group",name:e("Server Groups"),key:"serverGroup",level:1,children:[{path:/^\/compute\/server-group\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetail",level:2,routePath:"/compute/server-group/detail/:id"}]},{path:"/compute/image",name:e("Images"),key:"image",level:1,children:[{path:/^\/compute\/image\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetail",level:2,routePath:"/compute/image/detail/:id"},{path:"/compute/image/create",name:e("Create Image"),key:"imageCreate",level:2}]},{path:"/compute/keypair",name:e("Key Pairs"),key:"keypair",level:1,children:[{path:/^\/compute\/keypair\/detail\/.[^/]*$/,name:e("Keypair Detail"),key:"keypairDetail",level:2,routePath:"/compute/keypair/detail/:id"}]}]},{path:"/storage",name:e("Storage"),key:"storage",icon:p.default.createElement(d.default,null),children:[{path:"/storage/volume",name:e("Volumes"),key:"volume",level:1,endpoints:"cinder",children:[{path:"/storage/volume/create",name:e("Create Volume"),key:"volumeCreate",level:2},{path:/^\/storage\/volume\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetail",level:2,routePath:"/storage/volume/detail/:id"}]},{path:"/storage/backup",name:e("Volume Backups"),key:"backup",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetail",level:2,routePath:"/storage/backup/detail/:id"}]},{path:"/storage/snapshot",name:e("Volume Snapshots"),key:"snapshot",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetail",level:2,routePath:"/storage/snapshot/detail/:id"}]},{path:"/storage/container",name:e("Object Storage"),key:"containers",endpoints:"swift",level:1,children:[{path:/^\/storage\/container\/detail\/[^/]+$/,name:e("Container Detail"),key:"containerDetail",level:2,routePath:"/storage/container/detail/:id"},{path:/^\/storage\/container\/detail\/[^/]+\/.+$/,name:e("Folder Detail"),key:"folderDetail",level:2,routePath:"/storage/container/detail/:container/:folder"}]}]},{path:"/network",name:e("Network"),key:"/network",icon:p.default.createElement(u.default,null),children:[{path:"/network/networks",name:e("Networks"),key:"network",level:1,children:[{path:/^\/network\/networks\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetail",level:2,routePath:"/network/networks/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:id"}]},{path:"/network/port",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetail",level:2,routePath:"/network/port/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetail",level:2,routePath:"/network/networks/detail/:networkId/port/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetail",level:2,routePath:"/network/instance/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy",name:e("QoS Policies"),key:"networkQos",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetail",level:2,routePath:"/network/qos-policy/detail/:id"}]},{path:"/network/router",name:e("Routers"),key:"router",level:1,children:[{path:/^\/network\/router\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetail",level:2,routePath:"/network/router/detail/:id"},{path:/^\/network\/router\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetail",level:2,routePath:"/network/router/:routerId/port/:id"}]},{path:"/network/floatingip",name:e("Floating IPs"),key:"fip",level:1,children:[{path:/^\/network\/floatingip\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetail",level:2,routePath:"/network/floatingip/detail/:id"}]},{path:"/network/topo",name:e("Topology"),key:"networkTopo",level:1,children:[]},{path:"/network/load-balancers",name:e("Load Balancers"),key:"lb",endpoints:"octavia",level:1,children:[{path:"/network/load-balancers/create",name:e("Create Loadbalancer"),key:"lbCreate",level:2},{path:/^\/network\/load-balancers\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetail",level:2,routePath:"/network/load-balancers/detail/:id"},{path:/^\/network\/load-balancers\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetail",level:2,routePath:"/network/load-balancers/:loadBalancerId/listener/:id"}]},{path:"/network/certificate",name:e("Certificates"),key:"certificate",endpoints:"barbican",level:1,children:[{path:/^\/network\/certificate-container\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateContainerDetail",level:2,routePath:"/network/certificate-container/detail/:id"},{path:/^\/network\/certificate-secret\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateSecretDetail",level:2,routePath:"/network/certificate-secret/detail/:id"}]},{path:"/network/vpn",name:e("VPNs"),key:"vpn",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetail",level:2,routePath:"/network/ipsec-site-connection/detail/:id"}]},{path:"/network/security-group",name:e("Security Groups"),key:"securityGroup",level:1,children:[{path:/^\/network\/security-group\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetail",level:2,routePath:"/network/security-group/detail/:id"}]},{path:"/network/firewall",name:e("Firewalls"),key:"firewall",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetail",level:2,routePath:"/network/firewall-policy/detail/:id"},{path:"/network/firewall-rule/create",name:e("Create Rule"),key:"firewallRuleCreate",level:2},{path:"/network/firewall-policy/add",name:e("Add Policy"),key:"firewallPolicyCreate",level:2},{path:"/network/firewall/create",name:e("Create Firewall"),key:"firewallCreate",level:2},{path:/^\/network\/firewall\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetail",level:2,routePath:"/network/firewall/:firewallId/port/:portId"},{path:/^\/network\/firewall-rule\/edit\/[^/]+$/,name:e("Rule Edit"),key:"firewallRuleEdit",level:2,routePath:"/network/firewall-rule/edit/:id"},{path:/^\/network\/firewall\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetail",level:2,routePath:"/network/firewall/detail/:id"},{path:/^\/network\/firewall-rule\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetail",level:2,routePath:"/network/firewall-rule/detail/:id"},{path:/^\/network\/firewall-policy\/edit\/[^/]+$/,name:e("Policy Edit"),key:"firewallPolicyEdit",level:2,routePath:"/network/firewall-policy/edit/:id"}]},{path:"/network/dns/zones",name:e("DNS Zones"),key:"dnsZones",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetail",level:2,routePath:"/network/dns/zones/detail/:id"},{path:/^\/network\/dns\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetail",level:2,routePath:"/network/dns/zones/detail/:zoneId/recordsets/:id"}]},{path:"/network/dns/reverse",name:e("DNS Reverse"),key:"dnsReverse",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/reverse\/detail\/.[^/]+$/,name:e("Reverse DNS Detail"),key:"dnsReverseDetail",level:2,routePath:"/network/dns/reverse/detail/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorage",endpoints:"manilav2",icon:p.default.createElement(s.default,null),children:[{path:"/share/share",name:e("Shares"),key:"share",level:1,children:[{path:/^\/share\/share\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetail",level:2,routePath:"/share/share/detail/:id"},{path:"/share/share/create",name:e("Create Share"),key:"shareCreate",level:2}]},{path:"/share/share-network",name:e("Share Networks"),key:"shareNetwork",level:1,children:[{path:/^\/share\/share-network\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetail",level:2,routePath:"/share/share-network/detail/:id"}]},{path:"/share/share-group",name:e("Share Groups"),key:"shareGroup",level:1,children:[{path:/^\/share\/share-group\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetail",level:2,routePath:"/share/share-group/detail/:id"}]}]},{path:"/heat",name:e("Orchestration"),key:"heat",endpoints:"heat",icon:p.default.createElement(o.default,null),children:[{path:"/heat/stack",name:e("Stacks"),key:"stack",level:1,children:[{path:/^\/heat\/stack\/detail\/.[^/]+\/.[^/]+$/,name:e("Stack Detail"),key:"stackDetail",level:2,routePath:"/heat/stack/detail/:id/:name"},{path:"/heat/stack/create",name:e("Create Stack"),key:"stackCreate",level:2},{path:/^\/heat\/stack\/edit\/.[^/]+\/.[^/]+$/,name:e("Update Template"),key:"stackEdit",level:2,routePath:"/heat/stack/edit/:id/:name"}]}]},{path:"/database",name:e("Database"),key:"database",endpoints:"trove",icon:p.default.createElement(i.default,null),children:[{path:"/database/instances",name:e("Database Instances"),key:"databaseInstances",level:1,children:[{path:/^\/database\/instances\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetail",level:2,routePath:"/database/instances/detail/:id"},{path:"/database/instances/create",name:e("Create Database Instance"),key:"databaseInstanceCreate",level:2}]},{path:"/database/backups",name:e("Backups"),key:"databaseBackups",level:1,children:[{path:/^\/database\/backup\/detail\/.[^/]+$/,name:e("Backup Detail"),key:"databaseBackupDetail",level:2,routePath:"/database/backups/detail/:id"}]},{path:"/database/configurations",name:e("Configuration Groups"),key:"configurations",level:1,children:[{path:/^\/database\/configuration\/detail\/.[^/]+$/,name:e("Configuration Detail"),key:"configurationsDetail",level:2,routePath:"/database/configurations/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"container",icon:p.default.createElement(l.default,null),children:[{path:"/container-service/containers",name:e("Containers"),key:"zunContainers",endpoints:"zun",level:1,children:[{path:"/container-service/containers/create",name:e("Create Container"),key:"zunContainersCreateContainer",level:2},{path:/^\/container-service\/containers\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetail",level:2,routePath:"/container-service/containers/detail/:id"}]},{path:"/container-service/capsules",name:e("Capsules"),key:"zunCapsules",endpoints:"zun",level:1,children:[{path:/^\/container-service\/capsules\/detail\/.[^/]+$/,name:e("Capsule Detail"),key:"zunCapsuleDetail",level:2,routePath:"/container-service/capsules/detail/:id"}]},{path:"/container-infra/clusters",name:e("Clusters"),key:"containerInfraClusters",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetail",level:2,routePath:"/container-infra/clusters/detail/:id"},{path:"/container-infra/clusters/create",name:e("Create Cluster"),key:"containerInfraCreateCluster",level:2}]},{path:"/container-infra/cluster-template",name:e("Cluster Templates"),key:"clusterTemplate",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetail",level:2,routePath:"/container-infra/cluster-template/detail/:id"},{path:"/container-infra/cluster-template/create",name:e("Create Cluster Template"),key:"containerInfraCreateClusterTemplate",level:2},{path:/^\/container-infra\/cluster-template\/update\/.[^/]+$/,name:e("Update Cluster Template"),key:"containerInfraUpdateClusterTemplate",level:2,routePath:"/container-infra/cluster-template/update/:id"}]}]}]:[]);t.default=h},2066:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1348)),i=r(a(1382)),o=r(a(0)),s=(a(564),e=>e?[{path:"/user/center",name:e("User Center"),key:"userCenter",icon:o.default.createElement(i.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/user/application-credentials",name:e("Application Credentials"),key:"applicationCredential",level:0,icon:o.default.createElement(l.default,null),children:[],hasChildren:!1}]:[]);t.default=s},2067:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.Right=void 0;var s=o(n(54)),u=o(n(77));n(1317);var d=o(n(1318));n(2068);var c=o(n(2071)),f=o(n(35));n(1431);var p=o(n(1432)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=(n(161),n(204)),g=n(412),v=o(n(4)),y=o(n(416)),b=o(n(1351)),x=o(n(690)),w=n(567),k=o(n(1454));function C(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(C=function(e){return e?a:t})(e)}var{Content:_}=p.default;class M extends h.Component{constructor(e){super(e),(0,f.default)(this,"checkHasTab",(()=>{var{currentRoutes:e=[]}=this.props;if(0===e.length)return!1;var{hasTab:t}=e[e.length-1];return t||!1})),(0,f.default)(this,"renderBreadcrumb",(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||0===t.length)return null;var{hasBreadcrumb:a=!0}=t[t.length-1];if(!a&&void 0!==a)return null;var n=(0,s.default)(t).call(t,((e,a)=>0===a||a===t.length-1?h.default.createElement(c.default.Item,{key:e.key,className:k.default["breadcrumb-item"]},e.name):h.default.createElement(c.default.Item,{key:e.key},h.default.createElement(m.Link,{key:e.key,to:e.path,className:(0,v.default)(k.default["breadcrumb-item"],k.default["breadcrumb-link"])},e.name))));if(0===n.length)return null;var{hasTab:r}=t[t.length-1],l=r?k.default["breadcrumb-has-tab"]:"";return h.default.createElement("div",{className:(0,u.default)(e="".concat(k.default.breadcrumb," ")).call(e,l)},h.default.createElement(c.default,null,n))})),(0,f.default)(this,"renderChildren",((e,a,n)=>{var{hasError:r}=this.state;if(r)return h.default.createElement(b.default,{title:t("data"),link:this.getRoutePath("overview"),codeError:!0});try{var l,i;return h.default.createElement("div",{className:(0,u.default)(l=(0,u.default)(i="".concat(k.default.main," ")).call(i,e," ")).call(l,a)},(0,y.default)(this.routes,n))}catch(e){var o=this.getRoutePath("overview");return h.default.createElement(b.default,{title:t("data"),link:o,codeError:!0})}})),this.routes=e.route.routes,this.state={hasError:!1}}componentDidUpdate(e){var{location:{pathname:t}={}}=e,{location:{pathname:a}={}}=this.props;t!==a&&this.updateErrorState(!1)}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,w.getPath)({key:n,params:t,query:a})}updateErrorState(e){this.setState({hasError:e})}render(){var{pathname:e}=this.props.location,{collapsed:t,currentRoutes:a,isAdminPage:n=!1}=this.props,r=this.renderBreadcrumb(a),l=null!==r,{user:i}=this.props.rootStore,o=this.checkHasTab(e),s=l?"":k.default["main-no-breadcrumb"],u=o?k.default["main-has-tab"]:"",c={sliderCollapsed:t,isAdminPage:n},f=i?this.renderChildren(s,u,c):h.default.createElement("div",{style:{margin:"44px"}},h.default.createElement(d.default,null));return h.default.createElement(p.default,{className:(0,v.default)(k.default["base-layout-right"],t?k.default["base-layout-right-collapsed"]:"")},h.default.createElement(_,{className:k.default.content},r,h.default.createElement(h.Suspense,{fallback:h.default.createElement(x.default,{className:"sl-page-loading"})},f)))}}a.Right=M;var S=(0,g.inject)("rootStore")((0,g.observer)(M));a.default=S},2075:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__nav--1IKuR {\n left: -270px;\n}\n.index__header--3eaFT,\n.index__header-collapsed--2VIjO {\n top: 0;\n left: 0;\n z-index: 1000;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 40px;\n padding: 0;\n color: #fff;\n}\n.index__header-collapsed--2VIjO {\n padding-left: 40px;\n}\n.index__logo--t_KQf {\n height: 32px;\n margin: 16px 38px;\n}\n.index__logo-collapse--1dyW- {\n margin: 16px 24px;\n}\n.index__logo-image--1r9zB {\n height: 29px;\n}\n.index__logo-image-hover--r0EY5 {\n margin-left: -20px;\n}\n.index__site-layout-background--1KhiG {\n background: #fff;\n}\n.index__sider--3mcQr {\n position: relative;\n height: 100vh;\n overflow-y: auto;\n}\n.index__sider--3mcQr .ant-layout-sider-trigger {\n position: absolute;\n right: 0;\n bottom: 48px;\n width: 32px !important;\n height: 75px;\n font-size: 16px;\n line-height: 75px;\n background-color: #26262b;\n border-width: 32px;\n border-radius: 4px 0 0 4px;\n}\n.index__menu--38cbE,\n.index__menu-collapsed--3qSkQ {\n max-height: calc(100vh - 64px);\n padding-right: 14px;\n padding-left: 14px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.index__menu--38cbE::-webkit-scrollbar,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar {\n width: 12px;\n}\n.index__menu--38cbE::-webkit-scrollbar-track,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-track {\n background-color: #f5f5f5;\n border-radius: 0;\n}\n.index__menu--38cbE::-webkit-scrollbar-thumb,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-thumb {\n background-color: lightgray;\n border-radius: 0;\n}\n.index__menu--38cbE a,\n.index__menu-collapsed--3qSkQ a {\n color: inherit !important;\n}\n.index__menu--38cbE .ant-menu-item,\n.index__menu-collapsed--3qSkQ .ant-menu-item {\n font-size: 14px;\n}\n.index__menu--38cbE .ant-menu-submenu-title,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title {\n font-size: 14px;\n}\n.index__menu--38cbE .anticon,\n.index__menu-collapsed--3qSkQ .anticon {\n float: left;\n margin-right: 20px;\n font-size: 14px;\n line-height: 44px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected,\n.index__menu--38cbE .ant-menu-item-active,\n.index__menu-collapsed--3qSkQ .ant-menu-item-active {\n color: #fff !important;\n border-radius: 4px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__menu--38cbE .ant-menu-item-selected::after,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__menu--38cbE .ant-menu-submenu-active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-active,\n.index__menu--38cbE .ant-menu-submenu-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-selected,\n.index__menu--38cbE .ant-menu-submenu-title:hover,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:hover,\n.index__menu--38cbE .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: #fff !important;\n}\n.index__menu--38cbE .ant-menu-submenu-title:active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:active {\n background-color: #fdd831 !important;\n}\n.index__menu--38cbE .ant-menu-sub.ant-menu-inline,\n.index__menu-collapsed--3qSkQ .ant-menu-sub.ant-menu-inline {\n background: linear-gradient(-240deg, #3f004a 50%, #210c24 150%) !important;\n}\n.index__menu-item--3jS31 {\n font-size: 14px;\n}\n.index__menu-item--3jS31 a {\n color: inherit;\n}\n.index__menu-item--3jS31 a::before {\n width: 5px;\n}\n.index__content--2bhUz {\n height: calc(100vh - 40px);\n background-color: #fafafa;\n}\n.index__sub-menu--1MaIG {\n font-size: 10px;\n}\n.index__sub-menu--1MaIG .ant-menu-sub.ant-menu-inline {\n padding-right: 5px;\n padding-left: 5px;\n}\n.index__sub-menu--1MaIG .ant-menu-item > span::before {\n position: absolute;\n top: 18px;\n bottom: 0;\n left: 30px;\n width: 5px;\n height: 5px;\n background-color: rgba(255, 255, 255, 0.65);\n border-radius: 50%;\n content: '';\n}\n.index__sub-menu--1MaIG .ant-menu-item {\n margin-top: 4px !important;\n margin-bottom: 8px !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected:hover {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active > span::before {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active {\n background-color: transparent !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected > span::before {\n background-color: #fff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__sub-menu--1MaIG .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-radius: 4px;\n}\n.index__sub-menu--1MaIG .ant-menu-dark {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n}\n.index__breadcrumb--2Wm6M {\n height: 50px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-item--qhsVt {\n font-size: 12px;\n line-height: 50px;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-link--3_6RK {\n color: #0068ff;\n}\n.index__breadcrumb-has-tab--Nwd3S {\n height: 80px;\n}\n.index__main--jl6wy {\n height: calc(100vh - 40px - 50px);\n overflow: hidden;\n}\n.index__main-no-breadcrumb--2XmS2 {\n height: calc(100vh - 40px);\n}\n.index__main-has-tab--3wlbw {\n margin-top: -42px;\n}\n.index__trigger-wrapper--rqEk9 {\n position: absolute;\n right: -24px;\n bottom: 48px;\n width: 24px !important;\n height: 70px;\n font-size: 16px;\n line-height: 70px;\n border-width: 24px;\n border-radius: 4px 0 0 4px;\n cursor: pointer;\n}\n.index__trigger--3pSSC {\n position: absolute;\n left: 0;\n color: #fff;\n font-size: 20px;\n}\n.index__trigger--3pSSC::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background: rgba(0, 0, 0, 0.35);\n border-right: none;\n border-radius: 0 4px 4px 0;\n -webkit-transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n -webkit-transform-origin: left;\n transform-origin: left;\n content: '';\n}\n.index__trigger-icon--2oz_J {\n margin-left: 2px;\n}\n.index__base-layout--1IYXj {\n position: relative;\n width: 100%;\n height: 100vh;\n}\n.index__base-layout-sider--1TtvU {\n position: absolute;\n top: 40px;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 230px;\n padding-top: 10px;\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-right: none;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU {\n width: 40px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ {\n padding-right: 0;\n padding-left: 0;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 12px !important;\n text-overflow: inherit;\n}\n.index__base-layout-right--3JjUr {\n position: absolute;\n top: 40px;\n right: 0;\n left: 230px;\n height: calc(100vh - 40px);\n}\n.index__base-layout-right-collapsed--2DIVo {\n left: 40px;\n}\n.index__base-layout-sider-hover--MC2Db {\n width: 230px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ {\n padding-right: 14px;\n padding-left: 14px;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 48px !important;\n text-overflow: ellipsis;\n}\n.index__notice--1C1vX {\n position: absolute;\n top: 48px;\n right: 0;\n z-index: 1100;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 384px;\n max-width: calc(100vw - 48px);\n margin: 0 24px 0 0;\n margin-bottom: 16px;\n padding: 16px 24px;\n overflow: hidden;\n color: #0068ff;\n font-size: 18px;\n line-height: 24px;\n word-wrap: break-word;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n cursor: pointer;\n}\n.index__menu-item-title--2G1wq {\n font-size: 14px;\n}\n.index__menu-item-title--2G1wq span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-item-title--2yPhe {\n color: rgba(255, 255, 255, 0.65);\n font-size: 14px;\n}\n.index__sub-menu-item-title--2yPhe span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-title--_bWGB {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__menu-item-title-wrapper--1WLcf {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",nav:"index__nav--1IKuR",header:"index__header--3eaFT","header-collapsed":"index__header-collapsed--2VIjO",logo:"index__logo--t_KQf","logo-collapse":"index__logo-collapse--1dyW-","logo-image":"index__logo-image--1r9zB","logo-image-hover":"index__logo-image-hover--r0EY5","site-layout-background":"index__site-layout-background--1KhiG",sider:"index__sider--3mcQr",menu:"index__menu--38cbE","menu-collapsed":"index__menu-collapsed--3qSkQ","menu-item":"index__menu-item--3jS31",content:"index__content--2bhUz","sub-menu":"index__sub-menu--1MaIG",breadcrumb:"index__breadcrumb--2Wm6M","breadcrumb-item":"index__breadcrumb-item--qhsVt","breadcrumb-link":"index__breadcrumb-link--3_6RK","breadcrumb-has-tab":"index__breadcrumb-has-tab--Nwd3S",main:"index__main--jl6wy","main-no-breadcrumb":"index__main-no-breadcrumb--2XmS2","main-has-tab":"index__main-has-tab--3wlbw","trigger-wrapper":"index__trigger-wrapper--rqEk9",trigger:"index__trigger--3pSSC","trigger-icon":"index__trigger-icon--2oz_J","base-layout":"index__base-layout--1IYXj","base-layout-sider":"index__base-layout-sider--1TtvU","base-layout-sider-collapsed":"index__base-layout-sider-collapsed--37BAU","menu-item-collapsed":"index__menu-item-collapsed--Vp0Qm","base-layout-right":"index__base-layout-right--3JjUr","base-layout-right-collapsed":"index__base-layout-right-collapsed--2DIVo","base-layout-sider-hover":"index__base-layout-sider-hover--MC2Db",notice:"index__notice--1C1vX","menu-item-title":"index__menu-item-title--2G1wq","sub-menu-item-title":"index__sub-menu-item-title--2yPhe","sub-menu-title":"index__sub-menu-title--_bWGB","menu-item-title-wrapper":"index__menu-item-title-wrapper--1WLcf"}},2076:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.LayoutMenu=void 0;var o=i(a(164)),s=i(a(54)),u=i(a(29)),d=i(a(86)),c=i(a(28)),f=i(a(350)),p=i(a(591)),h=i(a(77)),m=i(a(91)),g=i(a(1573)),v=i(a(1574));a(344);var y=i(a(202)),b=i(a(35));a(1276);var x=i(a(421)),w=i(a(205)),k=i(a(134)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),_=(a(161),a(564),a(412)),M=a(36),S=i(a(4)),I=a(567),N=i(a(237)),E=i(a(1454));function T(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(T=function(e){return e?a:t})(e)}var{SubMenu:A}=x.default,{getLocaleShortName:j}=N.default;class P extends C.Component{constructor(e){var t;super(e),t=this,(0,b.default)(this,"onCollapse",(e=>{this.setState({collapsed:e})})),(0,b.default)(this,"changeCollapse",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e,hover:!1});var{onCollapseChange:t}=this.props;t&&t(!e)})),(0,b.default)(this,"onMouseEnter",(e=>{var{collapsed:t}=this.state;if(t){var a=e&&e.target||null,n=a&&a.className||"";(0,k.default)(n)&&!(0,o.default)(n).call(n,"trigger")&&this.setState({hover:!0})}})),(0,b.default)(this,"onMouseLeave",(()=>{var{hover:e}=this.state;e&&this.setState({hover:!1})})),(0,b.default)(this,"onClickMenuItem",(e=>{var{key:t}=e,a=(0,I.getPath)({key:t}),{pathname:n}=this.props;n!==a&&this.routing.push(a)})),(0,b.default)(this,"renderMenuItemIcon",(e=>{var{item:t,collapsed:a,isSubMenu:n}=e;return t.icon})),(0,b.default)(this,"renderMenuItem",((e,t)=>{var a,{collapsed:n,hover:r}=this.state;if(n&&!r)return C.default.createElement(x.default.Item,{key:e.key,className:E.default["menu-item-collapsed"]},this.renderMenuItemIcon({item:e,collapsed:n,isSubMenu:t}));if(e.level>1)return null;var{showChildren:l=!0}=e;if(!l||!e.children||0===e.children.length||e.level)return C.default.createElement(x.default.Item,{key:e.key,className:E.default["menu-item"],onClick:this.onClickMenuItem},C.default.createElement("span",{className:E.default["menu-item-title-wrapper"]},this.renderMenuItemIcon({item:e,isSubMenu:t}),C.default.createElement("span",{className:0===e.level||1===e.level&&!l?E.default["menu-item-title"]:E.default["sub-menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)));var i=C.default.createElement("span",{className:E.default["sub-menu-title"]},this.renderMenuItemIcon({item:e}),C.default.createElement("span",{className:E.default["menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)),o=(0,s.default)(a=e.children).call(a,(e=>this.renderMenuItem(e,!0)));return C.default.createElement(A,{key:e.key,title:i,className:E.default["sub-menu"]},o)})),(0,b.default)(this,"getFirstLevelKeys",(e=>{var t,a=(0,u.default)(t=this.menu).call(t,(t=>{var{children:a=[]}=t;if(!a.length)return(0,o.default)(e).call(e,t.key);var n=(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)));return!!n||((0,c.default)(a).call(a,(t=>{var{children:a=[]}=t;(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)))&&(n=!0)})),n)}));return(0,s.default)(a).call(a,(e=>e.key))})),(0,b.default)(this,"getSelectedKeysForMenu",(e=>{var{collapsed:t,hover:a}=this.state;return!t||a?e:this.getFirstLevelKeys(e)})),(0,b.default)(this,"getCurrentOpenKeys",(e=>this.getFirstLevelKeys(e))),(0,b.default)(this,"renderMenu",(function(){var e,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{collapsed:r}=t.state,{openKeys:l}=t.rootStore,i=(0,u.default)(e=(0,s.default)(a=t.menu).call(a,(e=>t.renderMenuItem(e)))).call(e,(e=>null!==e)),o=t.getSelectedKeysForMenu(n);return C.default.createElement(x.default,{theme:"dark",mode:"inline",className:r?E.default["menu-collapsed"]:E.default.menu,defaultSelectedKeys:o,selectedKeys:o,openKeys:l,onOpenChange:t.onOpenChange},i)})),(0,b.default)(this,"onOpenChange",(e=>{var{openKeys:t}=this.state,{openKeys:a}=this.rootStore,n=(0,f.default)(new p.default((0,h.default)(t).call(t,(0,M.toJS)(a)))),r=(0,d.default)(e).call(e,(e=>-1===(0,m.default)(n).call(n,e))),l=r?[r]:[];this.updateOpenKeys(l)})),(0,b.default)(this,"updateOpenKeys",(e=>{this.rootStore.updateOpenKeys(e),this.setState({openKeys:e})})),(0,b.default)(this,"getSelectedKeys",(e=>0===e.length?[]:1===e.length?[e[0].key]:e.length>=2?[e[1].key]:[])),this.state={collapsed:!1,hover:!1,openKeys:[]};var a=j();this.maxTitleLength="zh"===a?9:17}componentDidMount(){this.init()}componentDidUpdate(e){var{pathname:t}=this.props,{pathname:a}=e;a&&t!==a&&this.updateOpenKeysByRoute()}get menu(){return this.props.menu||[]}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,I.getPath)({key:n,params:t,query:a})}getOpenKeysByRoute(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e);return this.getCurrentOpenKeys(t)}get rootStore(){return this.props.rootStore}get routing(){return this.props.rootStore.routing}updateOpenKeysByRoute(){var e=this.getOpenKeysByRoute(),{openKeys:t}=this.rootStore;(0,w.default)(e,(0,M.toJS)(t))||this.init()}init(){var e=this.getOpenKeysByRoute();this.updateOpenKeys(e)}renderTrigger(){var{collapsed:e}=this.state,t=e?C.default.createElement(v.default,{className:E.default["trigger-icon"]}):C.default.createElement(g.default,{className:E.default["trigger-icon"]});return C.default.createElement("div",{className:E.default["trigger-wrapper"]},C.default.createElement("div",{className:E.default.trigger,onClick:this.changeCollapse},t))}render(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e),{hover:a,collapsed:n}=this.state,r=this.renderTrigger();return C.default.createElement("div",{className:(0,S.default)(E.default["base-layout-sider"],n?E.default["base-layout-sider-collapsed"]:"",a?E.default["base-layout-sider-hover"]:""),onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderMenu(t),r)}}t.LayoutMenu=P;var D=(0,_.inject)("rootStore")((0,_.observer)(P));t.default=D}}]); \ No newline at end of file diff --git a/skyline_console/static/basic.bundle.1741741357.js.gz b/skyline_console/static/basic.bundle.1741741357.js.gz deleted file mode 100644 index 5809c810a65c250e5581116b5b7c4412907792ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80747 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 V8a#JzKEJ3u|Nl{IN!!>*1prt%#mfKy diff --git a/skyline_console/static/basic.bundle.1741790621.js b/skyline_console/static/basic.bundle.1741790621.js new file mode 100644 index 00000000..6238795b --- /dev/null +++ b/skyline_console/static/basic.bundle.1741790621.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1239:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(416)),i=r(a(1780)),o=e=>(0,l.default)(i.default,e);t.default=o},1241:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),n(t,"FormAction",{enumerable:!0,get:function(){return l.default}}),n(t,"StepAction",{enumerable:!0,get:function(){return i.default}}),n(t,"ConfirmAction",{enumerable:!0,get:function(){return o.default}}),n(t,"ModalAction",{enumerable:!0,get:function(){return s.default}});var l=r(a(1820)),i=r(a(2021)),o=r(a(2047)),s=r(a(1380))},1250:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(29)),m=f(n(54)),g=f(n(28)),v=f(n(203)),y=f(n(1252)),b=f(n(91)),x=f(n(86)),w=f(n(345));n(347);var k=f(n(348));n(1271);var C=f(n(1272));n(1261);var _=f(n(1262));n(1246);var M=f(n(1247));n(1244);var S=f(n(1245)),I=f(n(343)),N=f(n(58));n(231);var E=f(n(341)),T=f(n(606)),A=f(n(35)),j=f(n(177)),P=f(n(102)),D=f(n(570)),L=f(n(352)),O=f(n(0)),R=f(n(1270)),z=(n(161),f(n(4))),U=(n(564),n(163)),F=n(349),B=f(n(1831)),V=n(662),K=n(567),Q=f(n(1563)),Y=f(n(1566)),G=f(n(2019));function H(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function W(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,A.default)(this,"updateContext",(e=>{var{updateContext:t}=this.props;t&&t(e)})),(0,A.default)(this,"unescape",(e=>(0,U.unescapeHtml)(e))),(0,A.default)(this,"getFormInstance",(()=>this.formRef.current)),(0,A.default)(this,"onSubmit",(e=>p.default.resolve())),(0,A.default)(this,"updateSubmitting",(e=>{this.setState({isSubmitting:e||!1})})),(0,A.default)(this,"onOk",((e,n,r)=>{if(this.values=e,!this.codeError){if(this.updateSubmitting(!0),!this.onSubmit)return r(!0,!1);var l=this.getSubmitData(e);return this.onSubmit(l,n).then((e=>{if(this.updateSubmitting(!1),!this.isModal&&this.routing.push(this.listUrl),this.response=e,r&&(0,L.default)(r)&&r(!0,!1),e instanceof Array){var a,n=this.instanceName?this.instanceName.split(", "):null,l=(0,h.default)(a=(0,m.default)(e).call(e,((e,t)=>"rejected"===e.status?{reason:e.reason,name:n?n[t]:""}:null))).call(a,(e=>!!e));0!==l.length?(0,g.default)(l).call(l,(e=>{var{response:{data:a}={}}=e.reason;this.showNotice&&R.default.errorWithDetail(a,t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:e.name}))})):this.showNotice&&R.default.success(this.successText)}else this.showNotice&&R.default.success(this.successText)}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.updateSubmitting(!1),a.responseError=e;var{response:{data:t}={}}=e;a.showNotice&&R.default.errorWithDetail(t,a.errorText),r&&(0,L.default)(r)&&r(!1,!0)}))}})),(0,A.default)(this,"onCancel",(()=>{if(this.isSubmitting&&this.cancel){this.cancel();var e="download"===this.progressType?t("Cancel download successfully."):t("Cancel upload successfully.");R.default.success(e)}})),(0,A.default)(this,"getChangedFieldsValue",((e,t)=>{var a=e[t];return(0,P.default)(a)&&a.value?a.value:(0,P.default)(a)&&a.selectedRows?a.selectedRows[0]:a})),(0,A.default)(this,"onValuesChange",((e,t)=>{})),(0,A.default)(this,"onValuesChangeForm",((e,t)=>{var a,n={};this.currentFormValue=t,(0,g.default)(a=this.nameForStateUpdate).call(a,(t=>{if((0,D.default)(e,t)){var a=this.getChangedFieldsValue(e,t);n[t]=a}})),(0,j.default)(n)||this.setState(W({},n)),this.onValuesChange(e,t)})),(0,A.default)(this,"checkFormInput",((e,t)=>{this.formRef.current&&this.formRef.current.validateFields().then((t=>{e&&e(t),this.updateContext(t)}),(e=>{var{values:a,errorFields:n}=e;n&&n.length&&t&&t(a,n)}))})),(0,A.default)(this,"onClickSubmit",((e,t,a)=>{this.codeError||this.checkFormInput((n=>{t&&t(n),this.onOk(n,a,e)}))})),(0,A.default)(this,"onClickCancel",(()=>{this.onCancel(),this.listUrl&&this.routing.push(this.listUrl)})),(0,A.default)(this,"updateDefaultValue",(()=>{this.resetFormValue(),this.updateContext(this.defaultValue)})),(0,A.default)(this,"resetFormValue",(e=>{this.formRef.current&&this.formRef.current.resetFields&&(e?this.formRef.current.resetFields(e):this.formRef.current.resetFields())})),(0,A.default)(this,"updateFormValue",((e,t)=>{this.formRef.current&&this.formRef.current.setFieldsValue({[e]:t})})),(0,A.default)(this,"onUploadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getUploadRequestConf",(()=>({onUploadProgress:this.onUploadProgress,cancelToken:this.cancelToken}))),(0,A.default)(this,"onDownloadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getDownloadRequestConf",(()=>({onDownloadProgress:this.onDownloadProgress,cancelToken:this.cancelToken}))),this.options=n,this.state={defaultValue:{},formData:{},isSubmitting:!1,percent:""},this.values={},this.response=null,this.responseError=null,this.formRef=O.default.createRef(),this.tipRef=O.default.createRef(),this.codeError=!1,this.currentFormValue={},this.cancel=null,this.cancelToken=this.hasRequestCancelCallback?new V.CancelToken((e=>{this.cancel=e})):null,this.init()}componentDidMount(){try{this.updateState()}catch(e){}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get disableSubmit(){return!1}get name(){return""}get title(){return""}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get params(){return this.props.match.params||{}}get location(){return this.props.location||{}}get locationParams(){var e;return(0,F.parse)((0,v.default)(e=this.location.search).call(e,1))}get listUrl(){return""}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get isAdminPage(){var{pathname:e=""}=this.props.location||{};return(0,U.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get currentProjectId(){return this.props.rootStore.projectId}get currentProjectName(){return this.props.rootStore.projectName}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,K.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,K.getLinkRender)({key:r,params:a,query:n,value:t})}get isStep(){return!1}get isModal(){return!1}get hasFooter(){return!(this.isStep||this.isModal)}get formStyle(){return{}}get footerStyle(){return{}}get labelCol(){return{xs:{span:5},sm:{span:3}}}get wrapperCol(){return{xs:{span:10},sm:{span:8}}}get defaultValue(){return null}get formDefaultValue(){var{context:e={}}=this.props,{defaultValue:t}=this;return W(W({},t),e)}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,y.default)(this)||{};return e}get successText(){return this.instanceName?(0,U.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,U.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){var{isSubmitting:e=!1}=this.state;return e}get formItems(){return[]}get validateMessages(){return[]}get tips(){return""}get showNotice(){return!0}get nameForStateUpdate(){var e,t,a=["radio","more"];return(0,m.default)(e=(0,h.default)(t=this.formItems).call(t,(e=>(0,b.default)(a).call(a,e.type)>=0))).call(e,(e=>e.name))}get hasRequestCancelCallback(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get progressType(){return"upload"}getRightExtraSpan(){return{left:18,right:6}}getSubmitData(e){return W({},e)}checkContextValue(){var{context:e}=this.props,t=this.nameForStateUpdate;return!(0,j.default)(e)&&!!(0,x.default)(t).call(t,(t=>(0,D.default)(e,t)))}updateState(){var{context:e}=this.props,t=this.nameForStateUpdate;if(0!==t.length){var a={};this.checkContextValue()?(0,g.default)(t).call(t,(t=>{a[t]=this.getChangedFieldsValue(e,t)})):(0,g.default)(t).call(t,(e=>{a[e]=this.getChangedFieldsValue(this.defaultValue,e)})),this.setState(W({},a))}}init(){this.store={}}renderTips(){return this.tips?O.default.createElement("div",{className:G.default.tips,ref:this.tipRef,id:"tips"},O.default.createElement(T.default,{className:G.default["tips-icon"]}),this.tips):null}renderFooterLeft(){return null}renderFooter(){if(!this.hasFooter)return null;var e={};if(this.tips){var a=((document.getElementById("tips")||{}).clientHeight||35)+16;e.bottom=a}return O.default.createElement("div",{className:G.default.footer,style:W(W({},e),this.footerStyle)},O.default.createElement("div",{className:G.default["footer-left"]},this.renderFooterLeft()),O.default.createElement("div",{className:(0,z.default)(G.default.btns,"footer-btns")},O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel,loading:this.isSubmitting},t("Cancel")),O.default.createElement(E.default,{disabled:this.disableSubmit,type:"primary",className:G.default.submit,onClick:this.onClickSubmit,loading:this.isSubmitting},this.okBtnText)))}renderFormItems(){try{var e;return(0,m.default)(e=this.formItems).call(e,((e,t)=>{var{name:a,display:n=!0}=e,r=(0,N.default)(e,["name","display"]);return n?(this.codeError=!1,O.default.createElement(S.default,{span:24/(e.colNum||1),key:"form-item-col-".concat(t),id:"form-item-col-".concat(a)},O.default.createElement(B.default,(0,I.default)({},r,{name:a,key:"form-item-".concat(t),formref:this.formRef})))):""}))}catch(e){var a={type:"label",label:t("Error"),content:"Can Not Submit"===e.message?this.errorText:t("Unable to render form")};return this.codeError=!0,O.default.createElement(S.default,{span:24/(a.colNum||1),key:"form-item-col-".concat(0),id:"form-item-col-".concat("error")},O.default.createElement(B.default,(0,I.default)({},a,{key:"form-item-".concat(0),formref:this.formRef})))}}renderForms(){return O.default.createElement(_.default,{ref:this.formRef,labelCol:this.labelCol,colon:!1,labelAlign:"left",wrapperCol:this.wrapperCol,name:this.name,initialValues:this.formDefaultValue,onValuesChange:this.onValuesChangeForm,scrollToFirstError:!0},O.default.createElement("input",{type:"password",hidden:!0,autoComplete:"new-password"}),O.default.createElement(M.default,null,this.renderFormItems()))}renderAbortButton(){return!this.isSubmitting||this.isModal?null:O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel},t("Abort Upload"))}renderSubmittingTip(){if(this.hasRequestCancelCallback){var{percent:e}=this.state,a="download"===this.progressType?t("Download progress"):t("Upload progress");return O.default.createElement("div",{className:G.default["submit-tip"]},a,O.default.createElement("div",{className:G.default["progress-wrapper"]},O.default.createElement(C.default,{percent:e,size:"small"})),this.renderAbortButton())}}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,O.default.createElement(Y.default,e)}renderRightTopExtra(){if(this.isModal)return null;var e=this.renderQuota();if(!e)return null;var t=(0,w.default)(this.quotaInfo);return O.default.createElement("div",{className:G.default["right-top-extra-wrapper"]},O.default.createElement(Q.default,{content:e,checkValue:t}))}renderModalRightExtra(){if(!this.isModal)return null;var e=this.renderQuota();return e?O.default.createElement("div",{className:G.default["modal-right-extra-wrapper"]},e):null}render(){var e=this.listUrl||this.isStep||this.isModal&&this.tips?G.default["wrapper-page-padding"]:"",t=this.renderTips(),a={};if((this.listUrl||this.isStep)&&this.tips&&this.tipRef.current)if(this.isStep){var n=this.tipRef.current.clientHeight+219;a.height="calc(100vh - ".concat(n,"px)")}else{var r=this.tipRef.current.clientHeight+66;a.height="calc(100% - ".concat(r,"px)")}var l=O.default.createElement(k.default,{spinning:this.isSubmitting,tip:this.renderSubmittingTip()},this.renderRightTopExtra(),O.default.createElement("div",{className:(0,z.default)(G.default.form,"sl-form"),style:W(W({},a),this.formStyle)},this.renderForms()),this.renderFooter()),i=!this.isModal||this.isModal&&!this.showQuota,{left:o,right:s}=this.getRightExtraSpan(),u=this.isModal&&!i?O.default.createElement(M.default,{justify:"space-between",align:"top"},O.default.createElement(S.default,{span:o},l),O.default.createElement(S.default,{span:s},this.renderModalRightExtra())):null;return O.default.createElement("div",{className:(0,z.default)(G.default.wrapper,e,this.className)},t,i&&l,u)}}a.default=q},1251:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.checkSystemAdmin=t.onlyAdminCanChangePolicy=t.onlyAdminCanReadPolicy=t.allCanChangePolicy=t.allCanReadPolicy=t.default=t.systemRoleIsReader=t.checkPolicyRule=t.changeToActualPolicy=t.convertPolicyMap=t.policyMap=void 0;var l=r(a(28)),i=r(a(1289)),o=r(a(77)),s=r(a(29)),u=r(a(32)),d=r(a(164)),c=r(a(86)),f=r(a(1277)),p=r(a(232)),h=r(a(570)),m=r(a(134)),g=r(a(352)),v=r(a(102)),y=r(a(92)),b=r(a(133)),x={nova:["os_compute_api"],ironic:["baremetal:"],cinder:["volume:","volume_extension","backup:get","backup:restore","scheduler_extension"],glance:["get_image","add_image","delete_image","modify_image","get_members","add_member","delete_member","metadef"],neutron:["get_network","create_network","update_network","delete_network","get_agent","delete_agent","update_agent","get_dhcp-agents","get_l3-agents","create_subnet","get_subnet","update_subnet","delete_subnet","create_port","get_port","update_port","delete_port","router","policy_bandwidth_limit_rule","policy_dscp_marking_rule","security_group","floatingip","vpnservice","ipsec_site_connection","rbac_policy"],octavia:["os_load-balancer_api"],heat:["stacks:","resource:index"],magnum:["cluster:","clustertemplate:"],barbican:["secret:get","secret:decrypt","secret:delete","containers:post"],zun:["capsule:","container:","host:get"],panko:["segregation","telemetry:events:index"],manila:["share:","share_","scheduler_stats:pools"],trove:["instance:create","instance:delete","instance:update","instance:backups","instance:restart","instance:resize","instance:extension","instance:guest_log_list","configuration:","backup:index","backup:show"]};t.policyMap=x;var w=e=>{var t,a={};return(0,l.default)(t=(0,i.default)(e)).call(t,(e=>{var[t,n]=e;(0,l.default)(n).call(n,(e=>{if(a[e]);a[e]=t}))})),a};t.convertPolicyMap=w;var k=(e,t)=>{var a,n,r,i=w(t);if(i[e])return(0,o.default)(r="".concat(i[e],":")).call(r,e);var c=(0,s.default)(a=(0,u.default)(i)).call(a,(t=>(0,d.default)(e).call(e,t)));c.length>1&&(0,l.default)(c).call(c,(e=>{}));var f=c.length&&i[c[0]];return f?(0,o.default)(n="".concat(f,":")).call(n,e):e};t.changeToActualPolicy=k;var C=(e,t,a)=>{var n;if(!e)return!0;var r=a?e:k(e,x),l=(0,c.default)(n=b.default.policies).call(n,(e=>e.rule===r));return!l||l.allowed};t.checkPolicyRule=C;var _=()=>{var{roles:e=[]}=b.default.user||{},t=["admin"],a=(0,p.default)(e).call(e,(e=>"reader"===e.name));if(!a)return!1;var n=(0,p.default)(e).call(e,(e=>(0,d.default)(t).call(t,e.name)));return a&&!n};t.systemRoleIsReader=_;var M=e=>{var{policy:t,aliasPolicy:a,item:n,actionName:r,isAdminPage:l,enableSystemReader:i}=e;if(0===b.default.policies.length)return!1;if(l&&!i&&_())return!1;if(l&&!i&&_())return!1;if(!t&&!a)return!0;var o=a||t,s=(0,g.default)(o)?o(n):o,u=[],d=!0;return(0,y.default)(s)?u=s:(0,v.default)(s)?(u=s.rules,(0,h.default)(s,"every")&&(d=(0,f.default)(s))):(0,m.default)(s)&&(u=[s]),!u||((e,t,a,n)=>0===e.length||(t?(0,f.default)(e).call(e,(e=>C(e,0,n))):(0,p.default)(e).call(e,(e=>C(e,0,n)))))(u,d,0,!!a)};t.default=M;t.allCanReadPolicy={rules:["admin","reader","member"],every:!1};t.allCanChangePolicy={rules:["admin","member"],every:!1};t.onlyAdminCanReadPolicy={rules:["admin","reader"],every:!1};t.onlyAdminCanChangePolicy={rules:["admin"],every:!1};t.checkSystemAdmin=()=>b.default.hasAdminRole},1302:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.ItemActionButtons=void 0;var h=p(n(1277)),m=p(n(54)),g=p(n(77)),v=p(n(28)),y=p(n(49)),b=p(n(35));n(585);var x=p(n(424));n(231);var w=p(n(341)),k=p(n(611));n(1300);var C=p(n(1301)),_=p(n(343));n(1276);var M=p(n(421)),S=p(n(205)),I=p(n(92)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),E=n(412),T=(n(161),n(564),p(n(4))),A=n(1435),j=p(n(1436)),P=p(n(1816));function D(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(D=function(e){return e?a:t})(e)}function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t!!e)):a}function F(e){var{firstAction:a=null,moreActions:n=[],alloweds:r=[],item:l,onFinishAction:i,routing:o,containerProps:s,firstActionClassName:u,onClickAction:d,onCancelAction:c,isWide:f}=e;if(0===r.length)return null;if(!a&&0===n.length)return null;var p=null,h=null,v=null;if(a){var y=U(r,0),b=z(a.action);p=N.default.createElement(j.default,(0,_.default)({},b,{buttonType:"link",routing:o,needHide:!1,isAllowed:y,item:l,onFinishAction:i,onCancelAction:c,buttonClassName:(0,T.default)(P.default["first-action"],u),containerProps:s,maxLength:8,onClickAction:d,isFirstAction:!0}))}var S=0,I=0,E=null;if(n.length>0){var A=f||n.length>1?P.default["more-action-btn"]:"",D=(0,m.default)(n).call(n,((e,t)=>{var a;if(!e.actions){var n=U(r,e.allowedIndex),u=e.key||"key-more-".concat(t),f=z(e.action);return n?(S+=1,I+=1,E=N.default.createElement(j.default,(0,_.default)({},f,{isAllowed:n,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,style:{padding:0},containerProps:s,onClickAction:d,buttonClassName:A})),N.default.createElement(M.default.Item,{key:u},E)):null}var p=0,h=(0,m.default)(a=e.actions).call(a,((e,a)=>{var n,u=U(r,e.allowedIndex),f=e.key||(0,g.default)(n="key-more-".concat(t,"-")).call(n,a);u&&(p+=1,S+=1,I+=1);var h=z(e.action);return N.default.createElement(M.default.Item,{key:f},N.default.createElement(j.default,(0,_.default)({},h,{isAllowed:u,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,containerProps:s,onClickAction:d,buttonClassName:A})))})),v="sub-menu-".concat(t);return N.default.createElement(R,{popupClassName:P.default["action-sub-menu"],title:e.title,disabled:0===p,key:v},h)})),L=N.default.createElement(M.default,null,D);if(a&&n.length>0&&S>0&&(h=N.default.createElement(C.default,{type:"vertical"})),1===S&&1===I&&E){var O=f?"":P.default["single-more-action"];v=N.default.createElement("span",{className:O},E)}else S>0&&(v=N.default.createElement(x.default,{overlay:L},N.default.createElement(w.default,{type:"link",className:P.default["more-action"]},t("More")," ",N.default.createElement(k.default,null))))}return N.default.createElement("div",{className:P.default["action-buttons"]},p,h,v)}class B extends N.Component{constructor(e){super(e),this.actionList=[],this.firstAction=null,this.moreActions=[],this.state={results:[]}}componentDidMount(){var e=this;return(0,y.default)((function*(){var{item:t,containerProps:a}=e.props;e.updateResult(t,a)}))()}shouldComponentUpdate(e,t){var{item:a,containerProps:n}=this.props,{results:r}=this.state;return(0,S.default)(e.item,a)?!(0,S.default)(r,t.results):(this.updateResult(e.item,n),!0)}static getDerivedStateFromProps(e,t){if(!(0,S.default)(e.item,t.item)){var{item:a}=e;return{item:a}}return null}get routing(){return this.props.rootStore.routing}updateResult(e,t){var a=this;return(0,y.default)((function*(){var{actions:n,isAdminPage:r}=a.props,{actionList:l,firstAction:i,moreActions:o}=function(e,t,a){var{firstAction:n=null,moreActions:r=[]}=e,l=[],i=n?{action:(0,A.getAction)(n,t,a),allowedIndex:0}:null,o=[];return n&&l.push(i),(0,v.default)(r).call(r,(e=>{if(e.actions){var n,r=[];(0,v.default)(n=e.actions).call(n,(e=>{var n={action:(0,A.getAction)(e,t,a),allowedIndex:l.length};r.push(n),l.push(n)})),o.push(O(O({},e),{},{actions:r}))}else if(e.action){var i={action:(0,A.getAction)(e.action,t,a),allowedIndex:l.length};o.push(i),l.push(i)}})),{actionList:l,firstAction:i,moreActions:o}}(n,e,t);a.actionList=l,a.firstAction=i,a.moreActions=o;var s=yield(0,A.getAllowedResults)({actions:a.actionList,data:e,key:"action",containerProps:t,isAdminPage:r});a.setState({results:s})}))()}render(){var{item:e,onFinishAction:t,containerProps:a,firstActionClassName:n,onClickAction:r,onCancelAction:l,isWide:i}=this.props,{results:o}=this.state;return N.default.createElement(F,{onFinishAction:t,onCancelAction:l,firstAction:this.firstAction,moreActions:this.moreActions,alloweds:o,item:e,routing:this.routing,containerProps:a,firstActionClassName:n,onClickAction:r,isWide:i})}}a.ItemActionButtons=B;var V=(0,E.inject)("rootStore")(B);a.default=V},1346:function(e,t,a){var n=a(1818);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1351:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(0)),o=l(n(2042)),s=n(163),u=n(204),d=l(n(2043));class c extends i.default.Component{render(){var{title:e,link:a,codeError:n,endpointError:r,goList:l,isAction:c}=this.props,f="";f=n?"Error":r?t("Not Open"):t("Resource Not Found");var p="",h="";p=c?t("Unable to {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):l?t("Unable to get {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):t("Unable to get {title}, please go to ",{title:(0,s.firstUpperCase)(e)}),h=l?i.default.createElement(u.Link,{to:a},t("list page")):i.default.createElement(u.Link,{to:a},t("Home page"));var m=i.default.createElement("p",null,p,h);return i.default.createElement("div",{className:d.default.wrapper},i.default.createElement("img",{className:d.default.image,src:o.default,alt:""}),i.default.createElement("div",{className:d.default.text},i.default.createElement("div",{className:"h1"},f),m))}}a.default=c},1376:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.renderClearButton=void 0,n(593);var p=f(n(427)),h=f(n(1313));n(1311);var m=f(n(1312)),g=f(n(49)),v=f(n(35)),y=f(n(54)),b=f(n(86)),x=f(n(32)),w=f(n(91)),k=f(n(29)),C=f(n(350)),_=f(n(591)),M=f(n(28)),S=f(n(596)),I=f(n(164));n(344);var N=f(n(202));n(231);var E,T,A,j=f(n(341)),P=f(n(1515)),D=f(n(177)),L=f(n(205)),O=f(n(134)),R=f(n(119)),z=f(n(0)),U=(n(161),n(564),n(412)),F=f(n(16)),B=f(n(1516)),V=f(n(1517)),K=f(n(1518)),Q=f(n(4)),Y=f(n(1868));function G(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function H(e){for(var t=1;te.key||e.id,q=(e,t,a)=>{var{selectedRowKeys:n=[],selectedRows:r=[]}=e;if(!n||0===n.length)return[];var l=(0,y.default)(r).call(r,(e=>W(e)));return(0,L.default)(n,l)?r:(0,y.default)(n).call(n,(e=>{var n,l=a?r:t;return(0,b.default)(n=l||[]).call(n,(t=>W(t)===e))||{key:e,id:e,name:e}}))},$=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{showSelected:r=!0}=n;return r&&a&&a.length?z.default.createElement(N.default,{title:t("Clear selected")},z.default.createElement(j.default,{size:"small",onClick:e.clearSelected},z.default.createElement(P.default,null))):null};a.renderClearButton=$;var Z=(0,U.observer)((A=T=class extends z.default.Component{constructor(e){var t;super(e),t=this,(0,v.default)(this,"getDataParams",(()=>{var{filters:e,current:t,pageSize:a}=this.state;return H({page:t,limit:a},e)})),(0,v.default)(this,"handleFooterPaginationChange",((e,t)=>{var{filters:a}=this.state;this.getBackendData(H({limit:t,page:e,current:e,sortKey:this.sortKey,sortOrder:this.sortOrder},a))})),(0,v.default)(this,"getBackendData",function(){var e=(0,g.default)((function*(e){var{extraParams:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l}=t.props,i=H(H({},e),a);n&&(i.sortKey=i.sortKey||t.sortKey||r||"",i.sortOrder=i.sortOrder||t.sortOrder||l||"");var o=yield t.fetchDataByPage(i),{backendPageStore:s,backendPageDataKey:u}=t.props,{total:d}=s[u]||{};t.setState({data:o,total:d,current:e.page,pageSize:e.limit},(()=>{t.initTabChange()}))}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"fetchDataByPage",function(){var e=(0,g.default)((function*(e){var{backendPageStore:a,backendPageFunc:n,backendPageDataKey:r}=t.props,l=yield a[n](e);return a[r].silent=!1,l}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"filterData",((e,t)=>{var a;return!(0,b.default)(a=(0,x.default)(t)).call(a,(a=>{var n,r=(0,R.default)(e,a),l=t[a];return(0,O.default)(r)&&(0,O.default)(l)?(0,w.default)(n=r.toLowerCase()).call(n,l.toLowerCase())<0:(0,L.default)(r,l)}))})),(0,v.default)(this,"getDataSource",(()=>{try{var{backendPageStore:e,rowKey:t}=this.props;if(e)return this.getDataFromStore();var{data:a}=this.state;return(0,y.default)(a).call(a,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,t)})))}catch(e){return[]}})),(0,v.default)(this,"getDataFromStore",(()=>{var{backendPageStore:e,backendPageDataKey:t,rowKey:a}=this.props,{data:n=[]}=e[t]||{};return(0,y.default)(n).call(n,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,a)})))})),(0,v.default)(this,"getRealSelectedKeys",(e=>{var t,{isMulti:a,backendPageStore:n}=this.props;if(!n||!a)return e;var{selectedRowKeys:r,data:l}=this.state,i=(0,y.default)(l).call(l,(e=>W(e))),o=(0,k.default)(e).call(e,(e=>(0,w.default)(i).call(i,e)>=0)),s=(0,k.default)(r).call(r,(t=>(0,w.default)(i).call(i,t)>=0&&(0,w.default)(e).call(e,t)<0));return(0,k.default)(t=(0,C.default)(new _.default([...r,...o]))).call(t,(e=>(0,w.default)(s).call(s,e)<0))})),(0,v.default)(this,"handleSelectRow",(e=>{var t=this.getRealSelectedKeys(e),a=this.getSelectedRows(t);this.setState({selectedRowKeys:t,selectedRows:a})})),(0,v.default)(this,"handleFilterInput",(e=>{this.setState({tags:e});var{backendPageStore:t}=this.props,a={};if((0,M.default)(e).call(e,(e=>{a[(0,k.default)(e).name]=e.value})),t){var{pageSize:n}=this.state;this.getBackendData(H({limit:n,page:1},a)),this.setState({filters:a,current:1})}else this.setState({filters:a,current:1})})),(0,v.default)(this,"updateTab",(e=>{this.setState({tab:e},(()=>{this.onChange({tab:e})}))})),(0,v.default)(this,"onChange",(function(){var{tab:e,selectedRowKeys:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onChange:n}=t.props;if(n){var{tab:r,selectedRowKeys:l,selectedRows:i=[]}=t.state,o=(0,D.default)(i)?t.getSelectedRows(a):i;n({tab:e||r,selectedRows:o,selectedRowKeys:a||l,data:t.getDataSource()})}})),(0,v.default)(this,"getSelectedRowsAll",(e=>{var{data:t=[],selectedRowKeys:a}=this.state;return e?(0,k.default)(t).call(t,(t=>(0,w.default)(e).call(e,W(t))>=0)):(0,k.default)(t).call(t,(e=>(0,w.default)(a).call(a,W(e))>=0))})),(0,v.default)(this,"getSelectedRowsBackend",(e=>{var{isMulti:t}=this.props,{data:a=[],selectedRowKeys:n,selectedRows:r}=this.state;if(t)return this.getSelectedRowsBackendMulti(e);var l=e||n,i=(0,k.default)(a).call(a,(e=>(0,w.default)(l).call(l,W(e))>=0));if(i.length===l.length)return i;var o=(0,k.default)(r).call(r,(e=>(0,w.default)(l).call(l,W(e))>=0));return o.length===l.length?o:(0,y.default)(l).call(l,(e=>({key:e,id:e,name:e})))})),(0,v.default)(this,"getSelectedRowsBackendMulti",(e=>{var{data:t=[],selectedRowKeys:a=[],selectedRows:n=[]}=this.state;if(!e)return n;var r=(0,k.default)(e).call(e,(e=>(0,w.default)(a).call(a,e)<0)),l=(0,k.default)(a).call(a,(t=>(0,w.default)(e).call(e,t)<0));return[...(0,k.default)(n).call(n,(e=>(0,w.default)(l).call(l,W(e))<0)),...(0,k.default)(t).call(t,(e=>(0,w.default)(r).call(r,W(e))>=0))]})),(0,v.default)(this,"getSelectedRows",(e=>{var{backendPageStore:t}=this.props;return t?this.getSelectedRowsBackend(e):this.getSelectedRowsAll(e)})),(0,v.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,v.default)(this,"handleChange",((e,t,a,n)=>{var{current:r,pageSize:l}=e,{backendPageStore:i,isSortByBack:o}=this.props,s=H({limit:l||this.state.pageSize,page:r||this.state,current:r,sortKey:this.getSortKey(a),sortOrder:a.order},t);if(i){var{action:u}=n;"sort"===u?(this.sortKey=this.getSortKey(a),this.sortOrder=a.order,o?(this.setState({current:1}),s.current=1,s.page=1,this.getBackendData(s)):(r=this.state.current,l=this.state.pageSize,this.setState({current:r,pageSize:l}))):this.getBackendData(s)}else this.setState({current:r,pageSize:l})})),(0,v.default)(this,"onTabChange",(e=>{var{onTabChange:t}=this.props;t&&(e.target?(this.updateTab(e.target.value),t(e.target.value)):(t(e),this.updateTab(e)))})),(0,v.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t}=this.state,a=(0,k.default)(t).call(t,(t=>t!==W(e))),n=this.getSelectedRows(a);this.setState({selectedRowKeys:a,selectedRows:n})})),(0,v.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]})})),(0,v.default)(this,"handleRefresh",(()=>{var{backendPageStore:e,refreshFunc:t}=this.props,{tags:a=[]}=this.state;t?t():e&&this.handleFilterInput(a)})),(0,v.default)(this,"renderTableFooter",(e=>{var t,{page:a,current:n,pageSize:r,total:l}=this.state,i=this.getLoading(),o=(0,S.default)(t=(0,C.default)(new _.default([this.props.pageSize,10,20,50,100]))).call(t,((e,t)=>e-t));return z.default.createElement(K.default,{current:a||n||1,pageSize:r,size:"small",onChange:this.handleFooterPaginationChange,currentDataSize:e.length,total:l,isLoading:i,defaultPageSize:this.props.pageSize,pageSizeOptions:o,className:Y.default["pagination-footer"]})})),(0,v.default)(this,"renderTag",(e=>z.default.createElement(m.default,{key:e.key||(0,R.default)(e,this.props.rowKey),closable:!0,onClose:()=>this.onTagClose(e)},e[this.props.tagKey]||e[this.props.secondTagKey]))),(0,v.default)(this,"renderClearButton",(e=>$(this,e,this.props)));var{data:a=[],pageSize:n,initValue:r={}}=e,{selectedRowKeys:l,selectedRows:i}=this.getInitValue(e);this.state={data:a,filters:null,current:1,pageSize:n,total:this.getTotal(e),selectedRowKeys:l,selectedRows:i,tab:"",initValue:r},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder}componentDidMount(){this.getData()}componentDidUpdate(e,t){(0,L.default)(e.backendPageStore,this.props.backendPageStore)||this.getData();var{selectedRowKeys:a}=this.state,{selectedRowKeys:n}=t;(0,L.default)(a,n)||this.onChange({selectedRowKeys:a})}getData(){var{backendPageStore:e,pageSize:t}=this.props;e?this.handleFooterPaginationChange(1,t):this.initTabChange()}getInitValue(e){var{value:t={},initValue:a={},data:n=[],backendPageStore:r}=e;if(!(0,D.default)(a)){var{selectedRowKeys:l=[]}=a;return{selectedRowKeys:l,selectedRows:q(a,n,r)}}var{selectedRowKeys:i=[]}=t||{};return{selectedRowKeys:i,selectedRows:q(t||{},n,r)}}getTotal(e){var{data:t=[],backendPageStore:a,backendPageDataKey:n}=e||this.props;return a?(a[n]||{}).total:t.length}static getDerivedStateFromProps(e,t){var{value:a,data:n=[],backendPageStore:r,initValue:l={}}=e,i={};if(r||(0,L.default)(n,t.data)||(i.data=n,i.total=n.length,i.current=t.current||1),!a)return(0,D.default)(i)?null:i;var{tab:o}=a;if(a&&o!==t.tab&&(i.tag=o),!(0,L.default)(l,t.initValue)){var{selectedRowKeys:s=[]}=l,u=q(l,n,r);i.selectedRowKeys=s,i.selectedRows=u,i.initValue=l}return(0,D.default)(i)?null:i}get tableColumns(){var{columns:e}=this.props;return(0,k.default)(e).call(e,(e=>!e.hidden))}get rowSelection(){var{isMulti:e,disabledFunc:t,maxSelectedCount:a,rowKey:n,tagKey:r}=this.props;if(-1===a)return null;var{selectedRowKeys:l}=this.state,i={selectedRowKeys:l,type:e?"checkbox":"radio",onChange:this.handleSelectRow};return t&&(i.getCheckboxProps=e=>({disabled:t(e),name:(0,R.default)(e,n)||(0,R.default)(e,r)})),a&&l.length===a&&(i.getCheckboxProps=e=>({disabled:!(0,I.default)(l).call(l,(0,R.default)(e,n))})),i}getLoading(){var{backendPageStore:e,backendPageDataKey:t,isLoading:a}=this.props;return e?e[t].isLoading:a}initTabChange(){var{defaultTabValue:e,onTabChange:t,value:a}=this.props;if(void 0!==e&&void 0!==t){var n=a&&a.tab||e;t(n),this.updateTab(n)}}renderRefresh(){var{hideRefresh:e,backendPageStore:t,refreshFunc:a}=this.props,n=!1;return e||(t||a)&&(n=!0),n?z.default.createElement(j.default,{type:"default",icon:z.default.createElement(h.default,null),onClick:this.handleRefresh}):null}renderSearch(){var{canSearch:e}=this.props;if(!e)return null;var{filterParams:t}=this.props,{filters:a}=this.state;return z.default.createElement("div",{className:(0,Q.default)("ant-col-xs-16","ant-col-sm-12",Y.default["search-wrapper"])},z.default.createElement(B.default,{filterParams:t,onInputChange:this.handleFilterInput,initValue:a}))}renderSearchLine(){return z.default.createElement("div",{className:Y.default["search-line"]},this.renderSearch(),this.renderRefresh())}renderHeader(){var{header:e}=this.props;return e||null}renderTableHeader(){var{tableHeader:e}=this.props;return e||null}renderTable(){var e,t,{backendPageStore:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,filterParams:i,onRow:o,rowKey:s,childrenColumnName:u}=this.props,{current:d,pageSize:c,total:f,filters:p}=this.state,h=(0,y.default)(e=(0,S.default)(t=[this.props.pageSize,10,20,50,100]).call(t,((e,t)=>e-t))).call(e,(e=>"".concat(e))),m=!a&&{current:d,pageSize:c,total:f,size:"small",position:["bottomLeft"],pageSizeOptions:h},g=a?this.renderTableFooter:null,v=this.getLoading(),b=this.getDataSource(),x=a?Y.default["sl-select-table-backend"]:"";return z.default.createElement(V.default,{className:(0,Q.default)(Y.default["sl-select-table"],"sl-select-table",x),rowSelection:this.rowSelection,rowKey:s,columns:this.tableColumns,data:b,filters:p,searchFilters:i,pagination:m,isLoading:v,filterByBackend:!!a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,onChange:this.handleChange,footer:g,onRow:o,childrenColumnName:u})}renderImageTabs(){var{tabs:e,defaultTabValue:t,imageTabAuto:a}=this.props,{tab:n}=this.state,r=(0,y.default)(e).call(e,(e=>{var{value:t,image:n,component:r,label:l}=e;return z.default.createElement(p.default.Button,{className:a?"":Y.default["image-tab"],value:t,key:t},n&&z.default.createElement("img",{src:n,alt:l}),r,z.default.createElement("span",{className:Y.default["image-tab-label"]},l))}));return z.default.createElement(p.default.Group,{className:Y.default["image-tabs"],id:"select-table-tabs",onChange:this.onTabChange,defaultValue:t,value:n},r)}renderNormalTabs(){var{tabs:e,defaultTabValue:t}=this.props,{tab:a}=this.state,n=(0,y.default)(e).call(e,(e=>z.default.createElement(p.default.Button,{className:Y.default["normal-tab"],value:e.value,key:e.value},z.default.createElement("span",{className:Y.default["normal-tab-label"]},e.label))));return z.default.createElement(p.default.Group,{className:Y.default["normal-tabs"],onChange:this.onTabChange,buttonStyle:"solid",defaultValue:t,value:a},n)}renderTips(){var{tips:e}=this.props;return e?z.default.createElement("div",null,e):null}renderTabs(){var{tabs:e,tabsNode:t}=this.props;return t||(e?(0,b.default)(e).call(e,(e=>!!e.image||!!e.component))?this.renderImageTabs():this.renderNormalTabs():null)}renderSelected(){var{showSelected:e=!0,selectedLabel:a,maxSelectedCount:n}=this.props;if(-1===n)return null;var{selectedRows:r=[]}=this.state;if(!e)return null;var l=(0,D.default)(r)?this.getSelectedRows():r,i=(0,y.default)(l).call(l,(e=>this.renderTag(e))),o=this.renderClearButton(l);return z.default.createElement("div",null,t("Selected")," ",a,":  ",o,"  ",i)}render(){return z.default.createElement("div",{className:Y.default["select-table"]},this.renderHeader(),this.renderTabs(),this.renderSearchLine(),this.renderTableHeader(),this.renderTable(),this.renderSelected())}},(0,v.default)(T,"propTypes",{data:F.default.array,columns:F.default.array.isRequired,isMulti:F.default.bool,pageSize:F.default.number,tabs:F.default.array,defaultTabValue:F.default.any,tabsNode:F.default.node,onTabChange:F.default.func,canSearch:F.default.bool,filterParams:F.default.array,disabledFunc:F.default.func,onChange:F.default.func,selectedLabel:F.default.string,tips:F.default.string,isLoading:F.default.bool,tagKey:F.default.string,secondTagKey:F.default.string,maxSelectedCount:F.default.number,tableHeader:F.default.any,header:F.default.any,backendPageStore:F.default.any,backendPageFunc:F.default.string,backendPageDataKey:F.default.string,extraParams:F.default.object,initValue:F.default.object,rowKey:F.default.string,isSortByBack:F.default.bool,defaultSortKey:F.default.string,defaultSortOrder:F.default.string,onRow:F.default.func,childrenColumnName:F.default.string,imageTabAuto:F.default.bool,refreshFunc:F.default.func,hideRefresh:F.default.bool}),(0,v.default)(T,"defaultProps",{data:[],isMulti:!1,pageSize:5,canSearch:!0,filterParams:[],selectedLabel:"",tips:"",tableHeader:null,header:null,backendPageStore:null,backendPageFunc:"fetchListByPage",backendPageDataKey:"list",extraParams:{},initValue:{},rowKey:"id",tagKey:"name",secondTagKey:"id",isSortByBack:!1,defaultSortKey:"",defaultSortOrder:"",childrenColumnName:"children",imageTabAuto:!1,refreshFunc:null,hideRefresh:!1}),E=A))||E;a.default=Z},1380:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(63)),o=l(n(1252)),s=l(n(35)),u=n(163),d=l(n(1250));class c extends d.default{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>i.default.resolve()))}get name(){return t("Edit")}get isModal(){return!0}static get modalSize(){return"small"}getModalSize(){return"small"}getRightExtraSpan(){var e="large"===this.getModalSize();return{left:e?20:18,right:e?4:6}}static get showQuota(){return!1}get showQuota(){return!1}get labelCol(){return"large"===this.getModalSize()?{xs:{span:6},sm:{span:4}}:{xs:{span:8},sm:{span:6}}}get wrapperCol(){return{xs:{span:16},sm:{span:16}}}static allowed(){return i.default.resolve()}get messageHasItemName(){return!0}get instanceName(){return(this.item||{}).name||((0,o.default)(this)||{}).name||this.itemId}get isAsyncAction(){return!1}get successText(){return this.messageHasItemName?this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,u.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase()})):(0,u.firstUpperCase)(t("{action} successfully.",{action:this.name}))}get errorText(){return this.messageHasItemName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get containerProps(){return this.props.containerProps||{}}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps;return e}get item(){var{item:e}=this.props;return e||this.containerProps.detail||{name:""}}get itemId(){return(this.item||{}).id}get actionId(){var{action:e}=this.props;return null==e?void 0:e.id}get items(){var{items:e}=this.props;return e}get defaultValue(){var{name:e=""}=this.item;return{name:e}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}}a.default=c,(0,s.default)(c,"id","modalAction"),(0,s.default)(c,"actionType","modal"),(0,s.default)(c,"title",t("Edit")),(0,s.default)(c,"buttonType","primary"),(0,s.default)(c,"isDanger",!1),(0,s.default)(c,"policy",""),(0,s.default)(c,"aliasPolicy","")},1433:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getFirstLevelNavItemLink=t.navItemPropType=void 0;var l=r(a(16)),i=l.default.shape({name:l.default.string,path:l.default.string,children:l.default.arrayOf(i)});t.navItemPropType=i;t.getFirstLevelNavItemLink=e=>{var{children:t=[]}=e;return t.length?e.children[0].path:e.path}},1435:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.checkAllowed=p,t.getAllowedResults=function(e){return m.apply(this,arguments)},t.getPolicyResults=g,t.getAction=v,t.getActionsByPolicy=function(e){var{actions:t,containerProps:a,isAdminPage:n}=e,r=(0,o.default)(t).call(t,(e=>v(e,null,a))),l=g({actions:r,isAdminPage:n});return(0,s.default)(r).call(r,((e,t)=>l[t]))};var o=i(a(54)),s=i(a(29)),u=i(a(63)),d=i(a(49)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(1251));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}function p(e){return h.apply(this,arguments)}function h(){return(h=(0,d.default)((function*(e){var{item:t,policy:a,aliasPolicy:n,allowed:r,allowedExtra:l,containerProps:i,actionName:o,extra:s,isAdminPage:d,action:f}=e,{enableSystemReader:p}=f||{};if(!(0,c.default)({policy:a,aliasPolicy:n,item:t,actionName:o,isAdminPage:d,enableSystemReader:p}))return!1;var h=!1,m=!0;return l&&(m=l({item:t,containerProps:i,extra:s,action:f}))instanceof u.default&&(m=yield m),!!m&&(r&&(h=r(t,i,s))instanceof u.default&&(h=yield h),h)}))).apply(this,arguments)}function m(){return(m=(0,d.default)((function*(e){var{actions:t,data:a,key:n,containerProps:r,extra:l,isAdminPage:i}=e,s=(0,o.default)(t).call(t,function(){var e=(0,d.default)((function*(e){return p({item:a,policy:n?e[n].policy:e.policy,aliasPolicy:n?e[n].aliasPolicy:e.aliasPolicy,allowed:n?e[n].allowed:e.allowed,allowedExtra:n?e[n].allowedExtra:e.allowedExtra,containerProps:r,actionName:n?e[n].title:e.title,extra:l,isAdminPage:i,action:e.action})}));return function(t){return e.apply(this,arguments)}}());return yield u.default.all(s)}))).apply(this,arguments)}function g(e){var{actions:t,extra:a,isAdminPage:n}=e;return(0,o.default)(t).call(t,(e=>{var{policy:t,aliasPolicy:r,title:l,enableSystemReader:i}=e;return!(n&&!i&&(0,c.systemRoleIsReader)())&&(0,c.default)({policy:t,aliasPolicy:r,actionName:l,extra:a})}))}function v(e,t,a){var{actionType:n}=e;return"confirm"===n?new e({item:t,containerProps:a}):e}},1436:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.ActionButton=a.getDefaultMsg=void 0;var s=o(n(54)),u=o(n(63)),d=o(n(588)),c=o(n(29)),f=o(n(28));n(344);var p=o(n(202));n(231);var h=o(n(341));n(1325);var m=o(n(1326)),g=o(n(49)),v=o(n(35)),y=o(n(177)),b=o(n(434)),x=o(n(352)),w=o(n(92)),k=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),C=n(412),_=(n(161),o(n(1437))),M=o(n(16)),S=o(n(1270)),I=o(n(4)),N=n(163),E=o(n(1814));function T(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(T=function(e){return e?a:t})(e)}var A=(e,a)=>{var{actionName:n="",title:r=""}=e,l=(0,w.default)(a)?(0,s.default)(a).call(a,(e=>e.name)).join(", "):a.name,i=t("Unable to {action} {name}.",{action:n.toLowerCase()||r,name:l}),o=t("You are not allowed to { action } {name}.",{action:n.toLowerCase()||r,name:l});return{submitErrorMsg:i,submitSuccessMsg:(0,N.firstUpperCase)(t("{action} {name} successfully.",{action:n.toLowerCase()||r,name:l})),confirmContext:t("Are you sure to { action } {name}?",{action:n.toLowerCase()||r,name:l}),performErrorMsg:o}};a.getDefaultMsg=A;class j extends k.Component{static propTypes(){return{title:M.default.string.isRequired,id:M.default.string.isRequired,perform:M.default.func.isRequired,item:M.default.object,actionType:M.default.string,icon:M.default.string,isAllowed:M.default.bool,needHide:M.default.bool,buttonType:M.default.string,isDanger:M.default.bool,items:M.default.array,isBatch:M.default.bool,path:M.default.string,onFinishAction:M.default.func,action:M.default.any,containerProps:M.default.any,maxLength:M.default.number,isFirstAction:M.default.bool,onClickAction:M.default.func,visible:M.default.bool}}constructor(e){var t;super(e),t=this,(0,v.default)(this,"onClick",(()=>{var{actionType:e,onClickAction:t}=this.props;switch(e){case"confirm":this.onShowConfirm();break;case"link":var{action:a,item:n,containerProps:r}=this.props,{path:l}=a;if((0,x.default)(l)){var i=l(n,r);this.routing.push(i)}else this.routing.push(l);break;default:this.formRef=k.default.createRef(),this.showModalAction()}t&&t()})),(0,v.default)(this,"handleSubmitLoading",(e=>{this.setState({submitLoading:!!e})})),(0,v.default)(this,"handleSubmit",(e=>{var{item:t,isBatch:a,items:n}=this.props;if(this.onSubmit){this.handleSubmitLoading(!0);var r=a?n:t,l=this.onSubmit(e,r);l instanceof u.default?l.then((()=>{this.onShowSuccess(r)}),(e=>{this.onShowError(r,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),l?this.onShowSuccess(r):this.onShowError(r,l))}})),(0,v.default)(this,"onOK",(()=>{var{onSubmit:e,form:t,item:a,isBatch:n,items:r}=this.props;e&&(this.handleSubmitLoading(!0),t.validateFields([],((l,i)=>{if(!l){var o=n?r:a,s=e(t.getFieldsValue(),o);s instanceof u.default?s.then((()=>{this.onShowSuccess(o)}),(e=>{this.onShowError(o,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),s?this.onShowSuccess(o):this.onShowError(o,s))}})))})),(0,v.default)(this,"onShowSuccess",((e,t)=>{var{submitSuccessMsg:a}=this.props.action,n=a?a(e):A(this.props.action,e).submitSuccessMsg;S.default.success(n),this.onCallback(!0,!1,t)})),(0,v.default)(this,"onCallback",((e,t,a)=>{var{onFinishAction:n,id:r}=this.props;if(n){var l="delete"===r;(0,d.default)((()=>{n(e,t,l,a)}),500)}})),(0,v.default)(this,"onShowError",((e,t)=>{var{showConfirmErrorBeforeSubmit:a,confirmErrorMessageBeforeSubmit:n}=this.props.action;if(a)return _.default.error({content:n}),void this.onCallback(!1,!0);var{submitErrorMsg:r}=this.props.action,{data:l}=(t||{}).response||t||{},i=l||t,o=r?r(e,i):A(this.props.action,e).submitErrorMsg;S.default.errorWithDetail(i,o),this.onCallback(!1,!0)})),(0,v.default)(this,"getConfirmOkButtonProps",((e,t)=>{var{disableSubmit:a=!1,okButtonProps:n}=t;return n||{disabled:a}})),(0,v.default)(this,"getConfirmCancelButtonProps",((e,t)=>{var{cancelButtonProps:a}=t;return a||{}})),(0,v.default)(this,"getConfirmContent",((e,t)=>{var{confirmContext:a}=t;return a?a(e):A(t,e).confirmContext})),(0,v.default)(this,"onShowConfirm",(0,g.default)((function*(){var{item:e,items:a,isBatch:n,containerProps:r,onCancelAction:l,action:i}=t.props,{perform:o,title:s,okText:u,cancelText:d,onSubmit:c,afterSubmit:f}=i,p=n?a:e,h=t.getConfirmContent(p,i),m=t.getConfirmOkButtonProps(p,i),g=t.getConfirmCancelButtonProps(p,i);try{o(p).then((()=>{var e=_.default.confirm({title:s,content:h,okText:u,cancelText:d,okButtonProps:m,cancelButtonProps:g,onOk:()=>t.onConfirmOK(p,c,n,r,f,e),onCancel:()=>{l&&l()}})}),(e=>{var t=e||A(i,p).performErrorMsg;_.default.error({content:t})}))}catch(e){var v=e||A(i,p).performErrorMsg;_.default.error({content:v})}}))),(0,v.default)(this,"onSubmitOne",((e,t,a,n)=>new u.default(((r,l)=>{var i=t(e,a);i instanceof u.default?i.then((()=>{this.onShowSuccess(e,n),r()}),(e=>{l(e)})):i?(this.onShowSuccess(e,n),r()):l(i)})).catch((t=>{this.onShowError(e,t)})))),(0,v.default)(this,"onSubmitBatch",((e,t,a,n,r)=>new u.default(((l,i)=>{var o=(0,s.default)(e).call(e,((r,l)=>t(r,a,n,l,e)));(0,N.allSettled)(o).then((t=>{var a,n=(0,c.default)(a=(0,s.default)(t).call(t,((t,a)=>"rejected"===t.status?{data:e[a],reason:t.reason}:null))).call(a,(e=>!!e));return 0===n.length?(this.onShowSuccess(e,r),l()):((0,f.default)(n).call(n,(e=>{this.onShowError(e.data,e.reason)})),n.length===e.length?i():l())}))})))),(0,v.default)(this,"onConfirmOK",((e,t,a,n,r,l)=>a?this.onSubmitBatch(e,t,n,a,r).catch((()=>{l&&l.update({visible:!1})})):this.onSubmitOne(e,t,n,r))),(0,v.default)(this,"onClickModalActionOk",(()=>{var{containerProps:e}=this.props;return this.formRef.current.wrappedInstance.onClickSubmit(((e,t)=>{this.handleSubmitLoading(),this.onClickModalActionCancel(!0),this.onCallback(e,t)}),(()=>{this.handleSubmitLoading(!0)}),e)})),(0,v.default)(this,"onClickModalActionCancel",(e=>{var t=()=>{(0,b.default)(e)||this.formRef.current.wrappedInstance.onClickCancel();var{onCancelAction:t}=this.props;this.setState({visible:!1},(()=>{t&&t()}))},{action:{beforeCancel:a}}=this.props;if(a)return a(t);t()})),(0,v.default)(this,"getModalWidth",(e=>{var{modalSize:t,showQuota:a=!1}=e,n=a?1.25:1;switch(t){case"small":return 520*n;case"middle":return 720*n;case"large":return 1200;default:return 520*n}})),(0,v.default)(this,"getModalOkButtonProps",(e=>{var{item:t,action:a,items:n}=e,{disableSubmit:r=!1,okButtonProps:l}=a;return l||{disabled:(0,x.default)(r)?r({item:t,items:n,action:a}):r}})),(0,v.default)(this,"getModalCancelButtonProps",(e=>{var{item:t,action:a,items:n}=e,{readOnly:r,cancelButtonProps:l}=a;return l||(r?{style:{display:"none"}}:{})}));var{id:a}=e;if(!a)throw Error("need id!");this.state={visible:!1,submitLoading:!1}}get routing(){return this.props.rootStore.routing}showModalAction(){this.setState({visible:!0})}renderModal(){var{visible:e,submitLoading:t}=this.state;if(!e)return null;var{title:a,action:n,item:r,containerProps:l,items:i,onFinishAction:o,onCancelAction:s}=this.props,u=n,{okText:d,cancelText:c,id:f,className:p}=n,h=this.getModalWidth(n),g=this.getModalOkButtonProps({item:r,action:n,items:i}),v=this.getModalCancelButtonProps({item:r,action:n,items:i}),b={title:a,visible:e,className:(0,I.default)("modal-".concat(f),E.default["modal-action"],p),width:h,onOk:()=>this.onClickModalActionOk(),onCancel:this.onClickModalActionCancel,okButtonProps:g,confirmLoading:t,okText:d,cancelText:c,maskClosable:!1};return(0,y.default)(v)||(b.cancelButtonProps=v),k.default.createElement(m.default,b,k.default.createElement(u,{item:r,items:i,ref:this.formRef,containerProps:l,onFinishAction:o,onCancelAction:s,modalProps:b,action:n}))}render(){var{isAllowed:e,needHide:t,buttonType:a,buttonClassName:n,name:r,id:l,title:i,isDanger:o,style:s,maxLength:u,isFirstAction:d}=this.props;if(!e&&t)return null;var c=r||i,f=!1;d&&c&&c.length>u&&(f=!0);var m=k.default.createElement(h.default,{type:a,danger:o,onClick:this.onClick,key:l,disabled:!e,className:n,style:s},r||i),g=f?k.default.createElement(p.default,{title:c},m):m;return k.default.createElement(k.default.Fragment,null,g,this.renderModal())}}a.ActionButton=j,(0,v.default)(j,"defaultProps",{item:void 0,isAllowed:!1,confirm:!1,needHide:!0,buttonType:"link",isDanger:!1,isLink:!1,items:[],isBatch:!1,path:"",containerProps:{},maxLength:0,isFirstAction:!1,onClickAction:null,visible:!1});var P=(0,C.inject)("rootStore")((0,C.observer)(j));a.default=P},1437:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(618)),h=f(n(619)),m=f(n(35)),g=f(n(1438));n(1325);var v=f(n(1326)),y=f(n(0)),b=(n(161),n(564),f(n(4))),x=f(n(16)),w=n(163),k=f(n(1506));function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{title:a=t("Confirm"),content:n,onOk:r,onCancel:l,icon:i,okText:o=t("Confirm"),cancelText:s=t("Cancel"),className:u,okButtonProps:d={},cancelButtonProps:c={}}=e;v.default.confirm({title:a,icon:i||y.default.createElement(g.default,{className:k.default.warn}),className:(0,b.default)(k.default["confirm-modal"],u),content:(0,w.unescapeHtml)(n),okText:o,cancelText:s,okButtonProps:d||{},cancelButtonProps:c||{},onOk:()=>r&&r(),onCancel(){l&&l()}})};S.propTypes=M,S.defaultProps={title:t("Confirm"),icon:y.default.createElement(g.default,null),isSubmitting:!1,okText:t("Confirm"),cancelText:t("Cancel")};var I={confirm:S,error:e=>{var a=_(_({title:t("Error")},e),{},{icon:y.default.createElement(h.default,{className:k.default.error})});S(a)},warn:e=>{var a=_(_({title:t("Warn")},e),{},{icon:y.default.createElement(g.default,{className:k.default.warn})});S(a)},success:e=>{var a=_(_({title:t("Success")},e),{},{icon:y.default.createElement(p.default,{className:k.default.success})});S(a)}};a.default=I},1444:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(86)),o=l(n(29)),s=l(n(54)),u=l(n(28));n(1261);var d=l(n(1262));n(1246);var c=l(n(1247));n(344);var f=l(n(202)),p=l(n(1299));n(569);var h=l(n(1253));n(1244);var m=l(n(1245)),g=l(n(35)),v=l(n(0)),y=(n(161),l(n(1519))),b=l(n(16)),x=n(565),w=(n(564),n(571)),k=l(n(1923)),{isIPv4:C,isIpv6:_,isIpInRangeAll:M}=x.ipValidate;class S extends v.default.Component{constructor(e){super(e),(0,g.default)(this,"onChange",(()=>{this.checkNetwork((()=>{var{onChange:e}=this.props,{network:t,subnet:a,ip:n,ipType:r,validateStatus:l,errorMsg:o}=this.state,s=this.getNetworkOptions(),u=this.getSubnetOptions(),d=(0,i.default)(s).call(s,(e=>e.value===t)),c=(0,i.default)(u).call(u,(e=>e.value===a)),f=(0,i.default)(w.ipTypeOptions).call(w.ipTypeOptions,(e=>e.value===r));e&&e({network:t,subnet:a,ip:n,ipType:r,networkOption:d,subnetOption:c,ipTypeOption:f,validateStatus:l,errorMsg:o})}))})),(0,g.default)(this,"onNetworkChange",(e=>{var{subnets:t}=this.state,a=(0,o.default)(t).call(t,(t=>t.network_id===e)),n=a.length?a[0].id:null;this.setState({network:e,subnet:n,ipType:0,ip:void 0},this.onChange)})),(0,g.default)(this,"onSubnetChange",(e=>{this.setState({subnet:e,ip:void 0},this.onChange)})),(0,g.default)(this,"onTypeChange",(e=>{this.setState({ipType:e},this.onChange)})),(0,g.default)(this,"onIPChange",(e=>{var{value:t}=e.currentTarget;this.setState({ip:t},this.onChange)})),(0,g.default)(this,"checkNetwork",(e=>{var{network:a,subnets:n,subnet:r,ip:l,ipType:o}=this.state,s=(0,i.default)(n).call(n,(e=>e.id===r)),{allocation_pools:u}=s||{};if(a)if(1!==o||C(l)||_(l)){if(u&&1===o)if(!(0,i.default)(u).call(u,(e=>M(l,e.start,e.end))))return void this.setState({errorMsg:t("The ip is not within the allocated pool!"),validateStatus:"error"},e);this.setState({errorMsg:void 0,validateStatus:"success"},e)}else this.setState({errorMsg:t("Please input a valid ip!"),validateStatus:"error"},e);else this.setState({errorMsg:t("Please select a network!"),validateStatus:"error"},e)})),(0,g.default)(this,"getNetworkOptions",(()=>{var{networks:e}=this.state,{optionsByIndex:t,index:a}=this.props,n=[...e];return t&&a({label:e.name,value:e.id})))})),(0,g.default)(this,"getSubnetOptions",(()=>{var e,{network:t,subnets:a}=this.state;return t?(0,s.default)(e=(0,o.default)(a).call(a,(e=>e.network_id===t))).call(e,(e=>({label:v.default.createElement("div",null,v.default.createElement("span",null,e.name),v.default.createElement("span",{className:k.default["subnet-options-cidr"]},e.cidr)),name:e.name,value:e.id}))):[]}));var{value:a}=e,{network:n,subnet:r,ip:l,ipType:u}=a;this.state={network:n||null,subnet:r||null,ip:l||"0.0.0.0",ipType:u||0}}static getDerivedStateFromProps(e,t){if(e.networks!==t.networks||e.subnets!==t.subnets){var{networks:a,subnets:n}=e;return{networks:a,subnets:n}}return null}componentDidMount(){this.checkNetwork()}renderNetwork(){var{network:e}=this.state;return v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getNetworkOptions(),value:e,onChange:this.onNetworkChange,placeholder:t("please select network")}))}renderSubnet(){var{network:e,subnet:a,ipType:n}=this.state;return e&&n?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getSubnetOptions(),value:a,placeholder:t("please select subnet"),onChange:this.onSubnetChange})):null}renderIpType(){var{network:e,ipType:t}=this.state;return e?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{value:t,options:w.ipTypeOptions,onChange:this.onTypeChange})):null}renderIp(){var{subnet:e,subnets:a,ipType:n,ip:r,network:l}=this.state;if(!l)return null;if(0===n){var d=[],c=(0,o.default)(a).call(a,(e=>e.network_id===l));(0,u.default)(c).call(c,(e=>{var{allocation_pools:t=[]}=e;(0,u.default)(t).call(t,(e=>{d.push(e)}))}));var g=(0,s.default)(d).call(d,((e,t)=>v.default.createElement("span",{key:"pool.start.".concat(t),style:{marginRight:10}},e.start,"--",e.end))),y=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},g));return v.default.createElement(m.default,{span:12},y)}if(!e)return null;var b=(0,i.default)(a).call(a,(t=>t.id===e));if(!b)return null;var{allocation_pools:x}=b,w=(0,s.default)(x).call(x,((e,t)=>v.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end))),C=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},w),v.default.createElement("span",{className:k.default.content},t("Please make sure this IP address be available to avoid creating VM failure.")));return v.default.createElement(m.default,{span:6},v.default.createElement(h.default,{value:r,onChange:this.onIPChange}),v.default.createElement(f.default,{title:C,color:"white"},v.default.createElement(p.default,null)))}render(){var{validateStatus:e,errorMsg:t}=this.state,{name:a}=this.props;return v.default.createElement(d.default.Item,{className:k.default["network-select"],name:a,validateStatus:e,help:t},v.default.createElement(c.default,{gutter:24},this.renderNetwork(),this.renderIpType(),this.renderSubnet(),this.renderIp()))}}a.default=S,(0,g.default)(S,"propTypes",{networks:b.default.array,subnets:b.default.array,value:b.default.object,ipType:b.default.number,name:b.default.string,optionsByIndex:b.default.bool,index:b.default.number}),(0,g.default)(S,"defaultProps",{networks:[],subnets:[],value:{},ipType:0,name:"network",optionsByIndex:!1,index:0})},1447:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1278);var p=f(a(1279)),h=f(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t"$ ".concat(e).replace(/\D/g,"")});return m.default.createElement(p.default,e)}}t.default=b},1448:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(29)),u=o(n(91)),d=o(n(86)),c=o(n(54));n(1315);var f=o(n(1316)),p=o(n(343));n(1311);var h=o(n(1312)),m=o(n(35)),g=o(n(177)),v=x(n(0)),y=x(n(1376));n(161);function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}return n.default=e,a&&a.set(e,n),n}class w extends v.Component{constructor(e){super(e),(0,m.default)(this,"handleChangeTab",(e=>{this.setState({tabKey:e})})),(0,m.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;e&&e(this.state)})),(0,m.default)(this,"getMultiSelected",((e,t,a)=>{var n,r,{selectedRowKeys:l,selectedRows:i}=this.state,o=(0,s.default)(e).call(e,(e=>(0,u.default)(l).call(l,e)<0)),c=(0,s.default)(t).call(t,(e=>(0,u.default)(o).call(o,e.key)>=0||(0,u.default)(o).call(o,e.id)>=0)),f=(0,s.default)(l).call(l,(t=>(0,u.default)(e).call(e,t)<0&&!!(0,d.default)(a).call(a,(e=>e.key===t||e.id===t))));return[(0,s.default)(n=[...l,...o]).call(n,(e=>(0,u.default)(f).call(f,e)<0)),(0,s.default)(r=[...i,...c]).call(r,(e=>{var t=e.key||e.id;return(0,u.default)(f).call(f,t)<0}))]})),(0,m.default)(this,"onSelectTableChange",(e=>{var{selectedRowKeys:t,selectedRows:a,data:n}=e,{isMulti:r=!1}=this.props,[l,i]=r?this.getMultiSelected(t,a,n):[t,a],o={selectedRowKeys:l,selectedRows:i};this.setState(o,(()=>{this.onChangeValue()}))})),(0,m.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t,selectedRows:a}=this.state,n=(0,s.default)(t).call(t,(t=>t!==e)),r=(0,s.default)(a).call(a,(t=>t.key!==e&&t.id!==e));this.setState({selectedRowKeys:n,selectedRows:r},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"renderTag",(e=>v.default.createElement(h.default,{key:e.key||e.id,closable:!0,onClose:()=>this.onTagClose(e.key||e.id)},this.props.tagKey?e[this.props.tagKey]:e.name))),(0,m.default)(this,"renderClearButton",(e=>(0,y.renderClearButton)(this,e)));var{tabs:t=[],defaultTab:a,value:n={}}=e;this.state={tabKey:n.tab||a||t[0]&&t[0].key,selectedRowKeys:n.selectedRowKeys||[],selectedRows:n.selectedRows||[]},this.init(e)}init(e){var{value:t={}}=e;(0,g.default)(t)||this.onChangeValue()}renderTabSelectTable(e){var{selectedRowKeys:t,selectedRows:a}=this.state,n={selectedRowKeys:t},r={selectedRowKeys:t,selectedRows:a};return v.default.createElement(y.default,(0,p.default)({},e.props,{onChange:this.onSelectTableChange,showSelected:!1,value:n,initValue:r}))}renderTab(e){var{tabKey:t}=this.state;return t!==e.key?v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key}):v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key},this.renderTabSelectTable(e))}renderTabs(){var{tabKey:e}=this.state,{tabs:t}=this.props;if(!e)return null;if(1===t.length)return this.renderTabSelectTable(t[0]);var a=(0,c.default)(t).call(t,(e=>this.renderTab(e)));return v.default.createElement(f.default,{activeKey:e,onChange:this.handleChangeTab},a)}renderSelected(){var{selectedRows:e}=this.state,a=(0,c.default)(e).call(e,(e=>this.renderTag(e))),n=this.renderClearButton(e);return v.default.createElement("div",null,t("Selected")," :  ",n,"  ",a)}renderHeader(){var{header:e}=this.props;return e||null}render(){return v.default.createElement(v.default.Fragment,null,this.renderHeader(),this.renderTabs(),this.renderSelected())}}a.default=w},1449:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,{used:n=0,add:r=0,reserved:l=0,limit:h=1,title:m="",secondTitle:g=t("Quota"),hasLabel:v=!1}=e,y=-1!==h,b=y,x=y?h:1/0,w=y?h:t("Infinity"),k=y?h-n-l-r:1;k<0&&(k=0);var C=[{type:t("Used"),value:y?n:0,color:f.used}];l&&C.push({type:t("Reserved"),value:y?l:0,color:f.reserved});C.push({type:t("New"),value:y?r:0,color:f.add}),C.push({type:t("Left"),value:k,color:f.left});var _=(0,o.default)(C).call(C,(e=>e.color)),M=v?200:120,S={width:M},I=M,N=n+r+l,E=y?N/x*100:0,T="";if(!y){var A,j,P,D=(0,s.default)(A="".concat(t("Used"),": ")).call(A,n),L=l?"":(0,s.default)(j="".concat(t("Reserved"),": ")).call(j,l),O=(0,s.default)(P="".concat(t("New"),": ")).call(P,r),R=[D,O];l&&(0,u.default)(R).call(R,1,0,L),T=R.join(" / ")}var z=m.length,U=(V=m,K=/[\u4e00-\u9fa5]+/g,V.match(K)?z>6?10:14:z>12?10:14),F=d.default.createElement(c.Chart,{placeholder:!1,height:I,padding:"auto",autoFit:!0},d.default.createElement(c.Legend,{visible:b&&v}),d.default.createElement(c.Tooltip,{visible:b}),d.default.createElement(c.View,{data:C},d.default.createElement(c.Coordinate,{type:"theta",innerRadius:.75}),d.default.createElement(c.Interval,{position:"value",adjust:"stack",color:["type",_],size:16}),d.default.createElement(c.Annotation.Text,{position:["50%","30%"],content:m,style:{lineHeight:1.5,fontSize:U,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","50%"],content:g,style:{lineHeight:1.5,fontSize:14,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","70%"],content:(0,s.default)(a="".concat(N,"/")).call(a,w),style:{lineHeight:1.5,fontSize:14,fill:p(E),textAlign:"center",fontWeight:"bold"}}))),B=y?F:d.default.createElement(i.default,{title:T},F);var V,K;return d.default.createElement("div",{style:S},B)},a.getUsedValueColor=a.getAddValueColor=a.typeColors=void 0,n(344);var i=l(n(202)),o=l(n(54)),s=l(n(77)),u=l(n(573)),d=l(n(0)),c=n(1349),f=(n(161),{used:globalCSS.primaryColor,reserved:"#5D7092",add:globalCSS.successColor,left:"#eee",danger:globalCSS.warnDarkColor});a.typeColors=f;a.getAddValueColor=e=>e>80?f.danger:f.add;var p=e=>e>80?f.danger:f.used;a.getUsedValueColor=p},1454:function(e,t,a){var n=a(2075);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1506:function(e,t,a){var n=a(1813);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1516:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.getTags=void 0;var h=p(n(77)),m=p(n(28)),g=p(n(32)),v=p(n(86)),y=p(n(29)),b=p(n(54)),x=p(n(91)),w=p(n(350)),k=p(n(591));n(1246);var C=p(n(1247)),_=p(n(612));n(569);var M=p(n(1253));n(583);var S=p(n(420));n(1244);var I=p(n(1245));n(1276);var N=p(n(421));n(1311);var E=p(n(1312));n(1300);var T=p(n(1301));n(231);var A=p(n(341)),j=p(n(605)),P=p(n(35)),D=p(n(434)),L=p(n(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=F(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),R=p(n(16)),z=(n(161),n(564),p(n(4))),U=p(n(1862));function F(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(F=function(e){return e?a:t})(e)}function B(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function V(e){for(var t=1;t{var a;return(0,h.default)(a="".concat(e,"--")).call(a,t)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split("--")[0],a=e.split("--")[1];return{name:t,key:a}},H=(e,t)=>{var a;if(!e||(0,L.default)(e))return{};if((0,L.default)(t))return{};var n=[],r=[];return(0,m.default)(a=(0,g.default)(e)).call(a,(a=>{var l=(0,v.default)(t).call(t,(e=>e.name===a));if(l){var{options:i=[]}=l,o=e[a];if(i.length){var s=(0,v.default)(i).call(i,(e=>e.key===o));s&&s.isQuick&&r.push(Y(l.name,o))}n.push({value:o,filter:l})}})),{tags:n,checkValues:r}};a.getTags=H;class W extends O.PureComponent{constructor(e){super(e),(0,P.default)(this,"getFilterParams",(()=>{var{filterParams:e}=this.props,{tags:t}=this.state,a=[];return(0,m.default)(e).call(e,(e=>{(0,v.default)(t).call(t,(t=>(0,y.default)(t).name===e.name))||a.push(e)})),a})),(0,P.default)(this,"onTagsChange",(()=>{var{onInputChange:e}=this.props,{tags:t}=this.state;e&&e(t)})),(0,P.default)(this,"onFocusChange",(e=>{var{onInputFocus:t}=this.props;t&&t(e)})),(0,P.default)(this,"getDefaultFilter",(()=>{var{filterParams:e}=this.props;return(0,v.default)(e).call(e,(e=>!e.options))})),(0,P.default)(this,"handleEnter",(e=>{e&&e.preventDefault(),e&&e.stopPropagation();var{value:t}=e.currentTarget;t&&this.updateInput(t)})),(0,P.default)(this,"handleBlur",(()=>{var{currentFilter:e}=this.state;e?(this.setState({isFocus:!0}),this.onFocusChange(!0)):this.onFocusChange(!1)})),(0,P.default)(this,"handleKeyUp",(e=>{if(8===e.keyCode||46===e.keyCode){var{currentFilter:t,tags:a}=this.state,{value:n}=this.inputRef.current.state;t&&(0,L.default)(n)?this.setState({currentFilter:null}):a.length>0&&(0,L.default)(n)&&this.handleTagClose((0,y.default)(a[a.length-1]).name)}})),(0,P.default)(this,"handleFocus",(()=>{this.setState({isFocus:!0}),this.onFocusChange(!0)})),(0,P.default)(this,"handleInputChange",(e=>{this.setState({inputValue:e.target.value})})),(0,P.default)(this,"handleTagClose",(e=>{var{tags:t,checkValues:a}=this.state,n=(0,y.default)(t).call(t,(t=>(0,y.default)(t).name!==e)),r=(0,y.default)(a).call(a,(t=>G(t).name!==e));this.setState({tags:n,optionClear:!1,checkValues:r},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"handleOptionClick",(e=>{var t,{key:a}=e;t="true"===a||"false"!==a&&a,this.updateInput(t),this.onFocusChange(!1)})),(0,P.default)(this,"handleSelectFilter",(e=>{var{key:t}=e,{filterParams:a}=this.props,n=(0,v.default)(a).call(a,(e=>e.name===t));this.setState({currentFilter:n,isFocus:!0},(()=>{this.inputRef.current.focus(),this.onFocusChange(!0)}))})),(0,P.default)(this,"clearOptions",(()=>{this.setState({optionClear:!0})})),(0,P.default)(this,"renderOptionsClose",(e=>{var{filterParams:t}=this.props,{optionClear:a}=this.state;return a||!e[0]||t.length===e.length?null:O.default.createElement(A.default,{className:U.default["close-option-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearOptions})})),(0,P.default)(this,"updateInput",(e=>{var{currentFilter:t,tags:a}=this.state,n={value:e,filter:t||this.getDefaultFilter()};this.clearInputValue();var r=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name!==(0,y.default)(n).name));r.push(n);var l=(0,y.default)(r).call(r,(e=>{var{value:t,filter:{options:a=[]}={}}=e;return!!(0,v.default)(a).call(a,(e=>e.key===t&&e.isQuick))})),i=(0,b.default)(l).call(l,(e=>Y((0,y.default)(e).name,e.value)));this.setState({tags:r,currentFilter:null,inputValue:"",checkValues:i},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"clearInputValue",(()=>{this.setState({inputValue:""})})),(0,P.default)(this,"clearAll",(()=>{this.clearInputValue(),this.setState({inputValue:"",tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]},(()=>{this.onTagsChange(),this.onFocusChange(!1)}))})),(0,P.default)(this,"updateCheck",(()=>{})),(0,P.default)(this,"onChangeCheck",(e=>{var t,{checkValues:a}=this.state,n=[];(0,m.default)(e).call(e,(e=>{(0,x.default)(a).call(a,e)<0&&n.push({key:e,value:!0})})),(0,m.default)(a).call(a,(t=>{(0,x.default)(e).call(e,t)<0&&n.push({key:t,value:!1})}));var r=(0,b.default)(t=(0,w.default)(new k.default([...a,...e]))).call(t,(e=>G(e).name)),{filterParams:l}=this.props,{tags:i}=this.state,o=(0,y.default)(i).call(i,(e=>(0,x.default)(r).call(r,(0,y.default)(e).name)<0)),s=[];(0,m.default)(n).call(n,(e=>{var{key:t,value:a}=e;if(a){var{name:n,key:r}=G(t),i=(0,v.default)(l).call(l,(e=>e.name===n));s.push({value:r,filter:i})}})),this.setState({tags:[...o,...s],checkValues:e},(()=>{this.onTagsChange()}))})),this.inputRef=O.default.createRef(),this.state={tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]}}componentDidMount(){this.initTags(this.props)}initTags(e){var{initValue:t,filterParams:a}=e,{tags:n=[],checkValues:r}=H(t,a);n.length&&this.setState({tags:n,checkValues:r},(()=>{this.onTagsChange()}))}renderKey(){var{currentFilter:e}=this.state;return e?O.default.createElement("span",{className:U.default.key},"".concat(e.label),O.default.createElement(T.default,{type:"vertical"})):null}renderTags(){var{tags:e}=this.state;return(0,b.default)(e).call(e,(e=>{var{filter:t,value:a}=e,{options:n}=t,r=a;if(n){var l=(0,v.default)(n).call(n,(e=>((0,D.default)(e.key)?e.key.toString():e.key)===((0,D.default)(a)?a.toString():a)));r=l?l.label:a}return O.default.createElement(E.default,{key:t.name,closable:!0,onClose:()=>this.handleTagClose(t.name)},O.default.createElement("span",null,t.label),O.default.createElement(T.default,{type:"vertical"}),O.default.createElement("span",null,r))}))}renderOptions(){var e,{currentFilter:t,tags:a}=this.state,{options:n,correlateOption:r}=t;if(!n)return null;var l=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name===r)),i=[];r&&l[0]&&(i=(0,y.default)(n).call(n,(e=>{var t;return(0,x.default)(t=e.correlateValue).call(t,l[0].value)>-1})));var o=(0,b.default)(e=i[0]?i:n).call(e,(e=>O.default.createElement(N.default.Item,{key:e.key},e.label)));return O.default.createElement(N.default,{className:U.default["option-menu"],onClick:this.handleOptionClick},o)}renderMenu(){var{currentFilter:e,isFocus:t,optionClear:a,inputValue:n}=this.state;if(n)return null;if(!t)return null;if(e)return this.renderOptions();var r=this.getFilterParams();a&&(r=[]);var l=(0,b.default)(r).call(r,(e=>O.default.createElement(N.default.Item,{key:e.name},e.label)));return O.default.createElement(N.default,{className:U.default.menu,onClick:this.handleSelectFilter,id:"search-items-menu"},this.renderOptionsClose(r),l)}renderClose(){var{isFocus:e}=this.state;return e?O.default.createElement(I.default,{className:U.default["close-btn-col"]},O.default.createElement(A.default,{className:U.default["close-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearAll})):null}getChecks(){var{filterParams:e}=this.props,t=[];return(0,m.default)(e).call(e,(e=>{var{options:a=[]}=e;(0,m.default)(a).call(a,(a=>{var{isQuick:n=!1}=a;n&&t.push(V(V({},a),{},{father:e}))}))})),t}renderChecks(){var e=this.getChecks();if(0===e.length)return null;var{checkValues:t}=this.state,a=(0,b.default)(e).call(e,(e=>{var{checkLabel:t,key:a,father:n}=e;return{label:t,value:Y(n.name,a)}}));return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-checks"],"magic-input-checks")},O.default.createElement(S.default.Group,{options:a,onChange:this.onChangeCheck,value:t}))}render(){var e,{placeholder:t}=this.props,{isFocus:a,inputValue:n}=this.state;return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-outer-wrapper"],"magic-input-outer-wrapper")},this.renderChecks(),O.default.createElement(C.default,{className:(0,z.default)("magic-input-wrapper",U.default["magic-input-wrapper"],a?U.default["magic-input-wrapper-active"]:"",a?"magic-input-wrapper-active":"")},O.default.createElement(I.default,null,this.renderTags()),O.default.createElement(I.default,null,this.renderKey()),O.default.createElement(I.default,{className:U.default["input-wrapper"]},O.default.createElement(M.default,{className:U.default.input,ref:this.inputRef,autoFocus:a,placeholder:t,onChange:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onPressEnter:this.handleEnter,onKeyUp:this.handleKeyUp,value:n}),this.renderMenu()),O.default.createElement(I.default,{className:(0,h.default)(e="".concat(U.default["search-icon"]," ")).call(e,a?U.default["search-icon-hidden"]:"")},O.default.createElement(_.default,null)),this.renderClose()))}}(0,P.default)(W,"propTypes",{filterParams:R.default.arrayOf(Q),initValue:R.default.object,placeholder:R.default.string,onInputChange:R.default.func,onInputFocus:R.default.func}),(0,P.default)(W,"defaultProps",{filterParams:[],initValue:{},placeholder:t("Click here for filters.")});var q=W;a.default=q},1517:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(77)),h=c(a(29)),m=c(a(91)),g=c(a(573)),v=c(a(86)),y=c(a(32));a(584);var b=c(a(586)),x=c(a(58)),w=c(a(35));a(594);var k=c(a(595)),C=c(a(570)),_=c(a(205)),M=c(a(177)),S=c(a(134)),I=c(a(119)),N=c(a(0)),E=c(a(4)),T=c(a(16)),A=(a(161),a(418)),j=a(163),P=c(a(1864));function D(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function L(e){for(var t=1;t{var{onChange:r}=this.props;r&&r(e,t,a,n)})),(0,w.default)(this,"getBaseColumns",(e=>(0,f.default)(e).call(e,(e=>{var{sortable:t,dataIndex:a,valueRender:n,sorter:r,sortOrder:l,render:i,isStatus:o,isName:s,isPrice:u,isLink:d,routeName:c,linkPrefix:f,valueMap:p,unit:h,copyable:m}=e,g=(0,x.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","isStatus","isName","isPrice","isLink","routeName","linkPrefix","valueMap","unit","copyable"]);if("operation"===e.key)return e;var v=(0,A.getColumnSorter)(e,this.props),y=l||v?(0,A.getSortOrder)(a,this.props):null,b=i||(0,A.getRender)(n);if(p&&(b=(0,A.getValueMapRender)(e)),h&&(b=(0,A.getUnitRender)(e)),(0,A.checkIsStatusColumn)(a,o)&&(b=(0,A.getStatusRender)(b)),"description"===a&&(b=this.getNoValueRender(b)),"project_name"===a&&(b=(0,A.getProjectRender)(b)),"name"===a&&c||d){var{rowKey:w}=this.props;b=(0,A.getNameRenderByRouter)(b,e,w)}("name"===a&&f||s)&&(b=(0,A.getNameRender)(b,e)),("cost"===a||u)&&(b=this.getPriceRender(b,e)),m&&(b=e=>e&&"-"!==e?N.default.createElement(O,{copyable:!0},e):"-");var k=L(L({},g),{},{dataIndex:a,align:e.align||"left"});return v&&(k.sorter=v),l&&(k.sortOrder=y),b&&(k.render=b),(0,A.updateColumnSort)(k,this.props),k})))),(0,w.default)(this,"getNoValueRender",(e=>e||(e=>(0,j.getNoValue)(e)))),(0,w.default)(this,"getLinkUrl",((e,t)=>{var a,n;return e?"/"===e[e.length-1]?(0,p.default)(n="".concat(e)).call(n,t):(0,p.default)(a="".concat(e,"/")).call(a,t):null})),(0,w.default)(this,"getColumns",(()=>{var{columns:e}=this.props;return this.getBaseColumns(e)})),(0,w.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,S.default)(e)?e:(e||0).toFixed(2);return N.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,w.default)(this,"getDataSource",(()=>{var{data:e,filters:t,filterByBackend:a}=this.props;if(a)return e;var n=(0,f.default)(e).call(e,(e=>e.key?e:L(L({},e),{},{key:e.id})));return!t||(0,M.default)(t)?n:(0,h.default)(n).call(n,(e=>this.filterData(e,t)))})),(0,w.default)(this,"onRow",((e,t)=>{var{rowSelection:a,onRow:n}=this.props;return n?n(e,t):{onClick:()=>{var{selectedRowKeys:t=[],onChange:n,type:r,getCheckboxProps:l}=a||{};if(l){var{disabled:i}=l(e);if(i)return}var o=(0,m.default)(t).call(t,e.key);if("checkbox"===r){var s=[...t];o>-1?(0,g.default)(s).call(s,o,1):s.push(e.key),n(s)}else"radio"===r&&n([e.key])}}})),(0,w.default)(this,"filterData",((e,t)=>{var a,{searchFilters:n}=this.props;return!(0,v.default)(a=(0,y.default)(t)).call(a,(a=>{var r=(0,I.default)(e,a),l=t[a],{filterFunc:i}=(0,v.default)(n).call(n,(e=>e.name===a));if(i)return!i(r,l,e);var o,s=this.checkFilterInclude(a);return(0,S.default)(r)&&(0,S.default)(l)?s?(0,m.default)(o=r.toLowerCase()).call(o,l.toLowerCase())<0:r.toLowerCase()!==l.toLowerCase():!(0,_.default)(r,l)}))})),(0,w.default)(this,"checkFilterInclude",(e=>{var{searchFilters:t}=this.props,a=(0,v.default)(t).call(t,(t=>t.name===e));return(0,C.default)(a,"include")?a.include:!(0,C.default)(a,"options")}))}getPagination(e){var{pagination:t}=this.props;return t&&L(L({},t),{},{total:e.length})}render(){var{className:e,isLoading:t,rowSelection:a,footer:n,childrenColumnName:r}=this.props,l=this.getColumns(),i=this.getDataSource();return N.default.createElement(b.default,{className:(0,E.default)(P.default["sl-simple-table"],"sl-simple-table",e),columns:l,dataSource:i,loading:t,onChange:this.handleChange,pagination:this.getPagination(i),rowSelection:a,sortDirections:["ascend","descend","ascend"],showSorterTooltip:!1,footer:n,onRow:this.onRow,childrenColumnName:r})}}t.default=R,(0,w.default)(R,"propTypes",{data:T.default.array.isRequired,filters:T.default.object,searchFilters:T.default.array,columns:T.default.array.isRequired,className:T.default.string,onChange:T.default.func,isLoading:T.default.bool,rowSelection:T.default.object,pagination:T.default.oneOfType([T.default.object,T.default.bool]),filterByBackend:T.default.bool,isSortByBack:T.default.bool,defaultSortKey:T.default.string,defaultSortOrder:T.default.string,onRow:T.default.func,childrenColumnName:T.default.string}),(0,w.default)(R,"defaultProps",{filters:{},searchFilters:[],isLoading:!1,rowSelection:null,pagination:{},filterByBackend:!1,isSortByBack:!1,defaultSortKey:"",defaultSortOrder:""})},1518:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(642));n(231);var d=o(n(341)),c=o(n(641));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=o(n(16)),g=(n(564),n(161),o(n(4))),v=o(n(1866));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends h.Component{static propTypes(){return{total:m.default.number,currentDataSize:m.default.number.isRequired,current:m.default.number.isRequired,pageSize:m.default.number.isRequired,defaultCurrent:m.default.number,defaultPageSize:m.default.number,pageSizeOptions:m.default.array,onChange:m.default.func,isLoading:m.default.bool,className:m.default.object}}constructor(e){super(e),(0,p.default)(this,"onChange",((e,t)=>{var{onChange:a}=this.props;a&&a(e,t)})),(0,p.default)(this,"onChangePageSize",(e=>{this.setState({pageSize:e},(()=>{this.onChange(1,e)}))})),(0,p.default)(this,"onClickPre",(()=>{var{current:e,pageSize:t}=this.state;1!==e&&this.setState({current:e-1},(()=>{this.onChange(e-1,t)}))})),(0,p.default)(this,"onClickNext",(()=>{var{current:e,pageSize:t,currentDataSize:a}=this.state;a{var{onFocusChange:t}=this.props;t&&t(e)})),(0,p.default)(this,"onFocus",(()=>{this.onFocusChange(!0)})),(0,p.default)(this,"onBlur",(()=>{this.onFocusChange(!1)}));var{current:t,pageSize:a,defaultCurrent:n,defaultPageSize:r,currentDataSize:l,isLoading:i,total:o}=e;this.state={current:t||n,pageSize:a||r,currentDataSize:l,isLoading:i,total:o}}static getDerivedStateFromProps(e,t){if(e.currentDataSize!==t.currentDataSize||e.current&&e.current!==t.current||e.isLoading!==t.isLoading||e.total!==t.total){var{currentDataSize:a,current:n=1,isLoading:r,total:l}=e;return{currentDataSize:a,current:n,isLoading:r,total:l}}return null}checkNextByTotal(){var{pageSize:e,total:t,current:a}=this.state;return void 0===t||!!t&&a({label:t("{pageSize} items/page",{pageSize:e}),value:e})));return h.default.createElement(f.default,{className:v.default["page-select"],options:r,value:n,defaultValue:a,onChange:e=>{this.onChangePageSize(e)}})}render(){var{current:e,currentDataSize:t,pageSize:a,isLoading:n}=this.state,{className:r}=this.props,l=n||1===e,i=n||t{}})},1519:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(583);var d=o(n(420));n(568);var c=o(n(415)),f=o(n(343)),p=o(n(58)),h=o(n(35)),m=o(n(1314)),g=o(n(601)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),o(n(1873)));function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}class x extends v.Component{constructor(e){super(e),(0,h.default)(this,"onChange",((e,t)=>{var{onChange:a,isWrappedValue:n}=this.props;a&&a(n?t:e)})),(0,h.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e})),(0,h.default)(this,"onCheckChange",(()=>{var{selectAll:e}=this.state,{options:t,checkOptions:a}=this.props;this.setState({selectAll:1-e},this.onChange(1===e?a[a.length-1].value:t[t.length-1].value))}));var{checkOptions:t}=e;t&&(this.state={selectAll:!1})}render(){var e=this.props,{value:a,placeholder:n=t("Please select"),isWrappedValue:r,checkOptions:l,checkBoxInfo:i,allowClear:o=!0,showSearch:h=!0}=e,b=(0,p.default)(e,["value","placeholder","isWrappedValue","checkOptions","checkBoxInfo","allowClear","showSearch"]);if((0,g.default)(a)||(0,m.default)(a))return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange}));if(l){var{options:x}=this.props,{selectAll:w}=this.state,k=v.default.createElement(d.default,{onChange:this.onCheckChange,checked:w},i||t("Show all Data"));return v.default.createElement(s.default,{gutter:24},v.default.createElement(u.default,{span:12},v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue(),options:1===w?l:x}))),v.default.createElement(u.default,{span:12,className:y.default.checkbox},k))}return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue()}))}}a.default=x},1534:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(86));n(1261);var h=f(n(1262));n(1246);var m=f(n(1247));n(1244);var g=f(n(1245));n(583);var v=f(n(420));n(1278);var y=f(n(1279));n(568);var b=f(n(415)),x=f(n(35)),w=f(n(0)),k=(n(161),f(n(16))),C=f(n(1897));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{var{type:a}=this.state;a?this.setState({errorMsg:void 0,validateStatus:"success"},e):this.setState({errorMsg:t("Please select a type!"),validateStatus:"error"},e)})),(0,x.default)(this,"onChange",(()=>{this.checkVolume((()=>{var{onChange:e,options:a=[]}=this.props;if(e){var{type:n,deleteType:r}=this.state,l=1===r?t("Deleted with the instance"):t("Not deleted with the instance"),i=(0,p.default)(a).call(a,(e=>e.value===n));e(M(M({},this.state),{},{deleteTypeLabel:l,typeOption:i}))}}))})),(0,x.default)(this,"onSelectChange",(e=>{this.setState({type:e},this.onChange)})),(0,x.default)(this,"onInputChange",(e=>{this.setState({size:e},this.onChange)})),(0,x.default)(this,"onDeleteChange",(()=>{var{deleteType:e}=this.state;this.setState({deleteType:1-e},this.onChange)}));var{type:a,size:n,deleteType:r}=e.value||{},{minSize:l}=e;this.state={type:a,size:n,deleteType:r,minSize:l}}static getDerivedStateFromProps(e,t){if(e.options!==t.options||e.minSize!==t.minSize){var{options:a,value:n,minSize:r}=e;return{options:a,type:n.type,minSize:r}}return null}componentDidMount(){this.onChange()}render(){var{options:e,type:a,size:n,deleteType:r,validateStatus:l,errorMsg:i,minSize:o}=this.state,{name:s,showDelete:u=!0}=this.props,d=w.default.createElement(b.default,{value:a,options:e,onChange:this.onSelectChange,className:C.default.select,placeholder:t("Please select type")}),c=w.default.createElement(y.default,{value:n,onChange:this.onInputChange,min:o,style:{maxWidth:"60%"},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),onInput:e=>this.onInputChange(1*e)}),f=1===r,p=u?w.default.createElement(v.default,{onChange:this.onDeleteChange,checked:f},t("Deleted with the instance")):null;return w.default.createElement(h.default.Item,{className:C.default["instance-volume"],name:s,validateStatus:l,help:i},w.default.createElement(m.default,{gutter:24},w.default.createElement(g.default,{span:8},w.default.createElement("span",{className:C.default.label},t("Type")),d),w.default.createElement(g.default,{span:14},w.default.createElement("span",{className:C.default.label},t("Size")),c,w.default.createElement("span",{className:C.default["size-label"]},"GiB"),p)))}}a.default=S,(0,x.default)(S,"propTypes",{options:k.default.array,value:k.default.any,minSize:k.default.number}),(0,x.default)(S,"defaultProps",{options:[],value:{},minSize:0})},1552:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1278);var h=p(n(1279)),m=p(n(343)),g=p(n(35)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),p(n(16))),b=p(n(1961));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,g.default)(this,"onCpuChange",(e=>{this.onChange(k(k({},this.state),{},{cpu:e}))})),(0,g.default)(this,"onRamChange",(e=>{this.onChange(k(k({},this.state),{},{ram:e}))})),this.state={cpu:1,ram:512}}static getDerivedStateFromProps(e,t){var{cpu:a,ram:n}=e.value||{};return a!==t.cpu||n!==t.ram?{cpu:a,ram:n}:null}render(){var{cpu:e,ram:a}=this.state,n={min:1,precision:0,style:{width:120},formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return v.default.createElement(v.default.Fragment,null,v.default.createElement("span",{className:b.default.cpu},t("CPU(Core)")),v.default.createElement(h.default,(0,m.default)({value:e,onChange:this.onCpuChange},n)),v.default.createElement("span",{className:b.default.ram},t("RAM (MiB)")),v.default.createElement(h.default,(0,m.default)({value:a,onChange:this.onRamChange},n)))}}a.default=C,(0,g.default)(C,"propTypes",{onChange:y.default.func,value:y.default.object}),(0,g.default)(C,"defaultProps",{onChange:null,value:{cpu:1,ram:1024}})},1553:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getBase64=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getText=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsText(e,"UTF-8"),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getArrayBuffer=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsArrayBuffer(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))};var l=r(a(63))},1563:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=function(e){var{content:a,defaultCollapsed:n=!1,size:r="small",ableAuto:l=!0,tip:i=t("When auto-expand/close is enabled, if there is no operation in the pop-up window, the pop-up window will be closed automatically after { seconds } seconds, and it will be automatically expanded when the displayed content changes.",{seconds:v}),checkValue:o=""}=e,[g,y]=(0,m.useState)(n),[b,x]=(0,m.useState)(l),[w,k]=(0,m.useState)(!1),C=(0,m.useRef)(),_=()=>{C.current&&clearTimeout(C.current)},M=()=>{y(!1)},S=()=>{y(!0),_()},I=()=>{g||(C.current&&_(),C.current=(0,h.default)((()=>{g||S()}),1e3*v))};(0,m.useEffect)((()=>{b&&(g||(w?_():I()))}),[g,w]),(0,m.useEffect)((()=>(b&&(M(),I()),()=>{_()})),[o]);var N=e=>{x(e)},E=()=>{k(!0)},T=()=>{k(!1)};if(g)return m.default.createElement("div",{style:{padding:8},onMouseEnter:E,onMouseLeave:T,className:"content-wrapper"},m.default.createElement(f.default,{title:t("Expand")},m.default.createElement(d.default,{onClick:M,size:r},m.default.createElement(c.default,null))));var A=m.default.createElement(f.default,{title:t("Close")},m.default.createElement(d.default,{onClick:S,size:r},m.default.createElement(u.default,null)));return m.default.createElement("div",{onMouseEnter:E,onMouseLeave:T,className:"content-wrapper",style:{minWidth:150}},m.default.createElement(s.default,{title:l?m.default.createElement(f.default,{title:i},m.default.createElement(p.default,{size:"small",checked:b,onChange:N})):null,extra:A},a))},n(1280);var s=o(n(1281)),u=o(n(1564));n(231);var d=o(n(341)),c=o(n(1565));n(344);var f=o(n(202));n(1445);var p=o(n(1446)),h=o(n(588)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function g(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(g=function(e){return e?a:t})(e)}var v=5},1566:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{quotas:t=[],loading:a}=e;if(a)return o.default.createElement(i.default,null);var n=(0,l.default)(t).call(t,((e,a)=>{var{name:n}=e,r=a===t.length-1?{}:{marginBottom:10};return o.default.createElement("div",{key:n,style:r},function(e){var{type:t="ring",limit:a,unlimitByTable:n=!1}=e;if(-1===a&&n)return o.default.createElement(d.default,e);if("ring"===t)return o.default.createElement(s.default,e);if("line"===t)return o.default.createElement(u.default,e)}(e))}));return o.default.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",overflowY:"auto",overflowX:"hidden",maxHeight:400}},n)};var l=r(a(54));a(1317);var i=r(a(1318)),o=r(a(0)),s=(a(161),r(a(1449))),u=r(a(2017)),d=r(a(2018))},1569:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AuthCatalogStore=void 0;var f=c(a(35)),p=c(a(50)),h=c(a(53));function m(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function g(e){for(var t=1;t{var t;return g(g({},e),{},{region:e.endpoints&&(null===(t=e.endpoints[0])||void 0===t?void 0:t.region)||""})}}}t.AuthCatalogStore=v;var y=new v;t.default=y},1780:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=a(0),i=r(a(1781)),o=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(5)]).then(a.t.bind(null,2079,7)))),s=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(7)]).then(a.t.bind(null,3502,7)))),u=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(18)]).then(a.t.bind(null,3764,7)))),d=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(15)]).then(a.t.bind(null,3829,7)))),c=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(11)]).then(a.t.bind(null,4013,7)))),f=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(8)]).then(a.t.bind(null,4082,7)))),p=(0,l.lazy)((()=>Promise.all([a.e(0),a.e(13)]).then(a.t.bind(null,4124,7)))),h=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(10)]).then(a.t.bind(null,4126,7)))),m=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(19)]).then(a.t.bind(null,4141,7)))),g=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4147,7)))),v=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4191,7)))),y=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(17)]).then(a.t.bind(null,4234,7)))),b=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(9)]).then(a.t.bind(null,4297,7)))),x=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(2)]).then(a.t.bind(null,4320,7)))),w=(0,l.lazy)((()=>Promise.resolve().then(a.t.bind(null,579,7)))),k=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(3)]).then(a.t.bind(null,4360,7)))),C=[{path:"/",component:i.default,routes:[{path:"/base",component:o},{path:"/compute",component:s},{path:"/storage",component:u},{path:"/network",component:d},{path:"/identity",component:c},{path:"/configuration-admin",component:f},{path:"/management",component:p},{path:"/heat",component:h},{path:"/monitor-center",component:g},{path:"/user",component:m},{path:"/database",component:v},{path:"/share",component:y},{path:"/container-infra",component:b},{path:"/container-service",component:x},{path:"/ha",component:k},{path:"*",component:w}]}];t.default=C},1781:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.BaseLayout=void 0;var h=p(n(345)),m=p(n(29)),g=p(n(28)),v=p(n(86)),y=p(n(54));n(1325);var b=p(n(1326)),x=p(n(1503)),w=p(n(58)),k=p(n(343)),C=p(n(35));n(1431);var _=p(n(1432)),M=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=U(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),S=n(412),I=n(36),N=p(n(237)),E=n(163),T=(n(564),p(n(1251))),A=(n(161),p(n(1792))),j=n(567),P=p(n(2055)),D=p(n(2065)),L=p(n(2066)),O=p(n(2067)),R=p(n(2076)),z=p(n(1454));function U(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(U=function(e){return e?a:t})(e)}function F(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function B(e){for(var t=1;t(this.props.rootStore.user||{}).keystone_token),(()=>{(0,j.setRouteMap)(this.menu)}))),(0,C.default)(this,"handleMessage",(e=>{var t=e.origin;if(t){var{type:a,value:n}=e.data;if("SET_DATA"===a){var{currency:r,floatingIps:l,userEmail:i,consoleHost:o,computePrices:s}=n;if(!o||o!==t)return;r&&localStorage.setItem("currency",r),l&&localStorage.setItem("floatingIps",(0,h.default)(l)),i&&localStorage.setItem("userEmail",i),o&&localStorage.setItem("consoleHost",o),s&&localStorage.setItem("computePrices",(0,h.default)(s))}}})),(0,C.default)(this,"filterMenuByHidden",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return e;var a=(0,m.default)(e).call(e,(e=>!e.hidden));return(0,g.default)(a).call(a,(e=>{e.children=t.filterMenuByHidden(e.children)})),a})),(0,C.default)(this,"checkItemEndpoints",(e=>this.rootStore.checkEndpoint(e))),(0,C.default)(this,"getMenuAllowed",(e=>{var t=[];return(0,g.default)(e).call(e,(e=>{var a=this.updateMenuItemByAllowed(e);a&&t.push(a)})),t})),(0,C.default)(this,"onCollapseChange",(e=>{this.setState({collapsed:e})})),(0,C.default)(this,"checkPath",((e,t,a)=>e instanceof RegExp?e.test(t):a?t===a:e===t)),(0,C.default)(this,"getCurrentMenu",(e=>{var t,a,n=(0,v.default)(t=this.menuAll).call(t,(t=>this.checkPath(t.path,e)));if(n)return[n];var r=!1,l=[];return(0,g.default)(a=this.menuAll).call(a,(t=>{if(!r&&t.children){var a,n,i=(0,v.default)(a=t.children).call(a,(t=>this.checkPath(t.path,e)));if(i&&(r=!0,l=[t,i]),!r)(0,g.default)(n=t.children).call(n,(a=>{if(a.children){var n,i=(0,v.default)(n=a.children).call(n,(t=>this.checkPath(t.path,e)));i&&(r=!0,l=[t,a,i])}}))}})),l})),(0,C.default)(this,"clearAllNotice",(()=>{for(var e=document.getElementsByClassName("ant-notification-notice");e.length>0;)e[0].parentNode.removeChild(e[0]);this.rootStore.clearNoticeCount()})),(0,C.default)(this,"renderHeader",(()=>M.default.createElement(A.default,(0,k.default)({},this.props,{isAdminPage:this.isAdminPage,navItems:this.globalNav,isUserCenterPage:this.isUserCenterPage})))),this.state={collapsed:!1},this.init()}componentDidMount(){window.addEventListener("message",this.handleMessage)}componentWillUnmount(){window.removeEventListener("message",this.handleMessage)}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}get isUserCenterPage(){var{pathname:e}=this.props.location;return(0,E.isUserCenterPage)(e)}get rootStore(){return this.props.rootStore}get noticeCount(){return this.rootStore.noticeCount-(this.rootStore.noticeCountWaitRemove||0)}get user(){return(0,I.toJS)(this.rootStore.user)||null}get hasAdminRole(){return this.user&&this.rootStore.hasAdminRole}get hasAdminPageRole(){return this.user&&this.rootStore.hasAdminPageRole}get originMenu(){return this.isUserCenterPage?(0,L.default)(N.default.t):this.isAdminPage?(0,P.default)(N.default.t):(0,D.default)(N.default.t)}get globalNav(){return this.menu}get menu(){var e=this.filterMenuByHidden(this.originMenu),t=this.getMenuAllowed(e);return(0,m.default)(t).call(t,(e=>{var{hasChildren:t=!0,children:a}=e;return!t||t&&a.length}))}get menuAll(){return this.getMenuAllowed(this.originMenu)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,j.getPath)({key:n,params:t,query:a})}updateMenuItemByAllowed(e){var t,{policy:a,endpoints:n,children:r=[]}=e,l=(0,w.default)(e,["policy","endpoints","children"]);if(a&&!(0,T.default)({policy:a}))return null;if(n&&!this.checkItemEndpoints(n))return null;if(0===r.length)return e;var i=(0,m.default)(t=(0,y.default)(r).call(r,(e=>this.updateMenuItemByAllowed(e)))).call(t,(e=>!!e));return B(B({},l),{},{children:i})}init(){this.isAdminPage&&!this.hasAdminPageRole&&(window.location.href="/base/overview"),this.routes=this.props.route.routes,(0,j.setRouteMap)(this.menu)}renderNotice(){return this.noticeCount<3?null:M.default.createElement("div",{className:z.default.notice,onClick:this.clearAllNotice},M.default.createElement(x.default,null),M.default.createElement("span",{style:{marginLeft:8,fontSize:12}},t("Close all notifications.")))}render(){var{pathname:e}=this.props.location,t=this.getCurrentMenu(e);if(window.opener){var a=JSON.parse(localStorage.getItem("keystone_token")).value,n=["https://baha-dev.felcloud.io","https://demo.felcloud.io"];return(0,g.default)(n).call(n,(e=>{var t={status:"popupCompleted",token:a};window.opener.postMessage(t,e)})),M.default.createElement(b.default,{visible:!0,closable:!1,footer:null,style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},bodyStyle:{textAlign:"center",fontSize:"18px",padding:"20px"}},M.default.createElement("p",null,"Connexion,Please wait... "))}return M.default.createElement("div",{className:z.default["base-layout"]},this.renderNotice(),M.default.createElement(V,{className:z.default.header},this.renderHeader()),M.default.createElement(R.default,{pathname:e,isAdminPage:this.isAdminPage,menu:this.menu,menuAll:this.menuAll,currentRoutes:t,onCollapseChange:this.onCollapseChange}),M.default.createElement(O.default,(0,k.default)({},this.props,this.state,{currentRoutes:t,isAdminPage:this.isAdminPage})))}}a.BaseLayout=K;var Q=(0,S.inject)("rootStore")((0,S.observer)(K));a.default=Q},1792:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{isAdminPage:t=!1,navItems:a=[]}=e;return l.default.createElement("div",{className:u.default.header},l.default.createElement(i.default,{navItems:a}),!t&&l.default.createElement(o.default,null),l.default.createElement(s.default,e))};var l=r(a(0)),i=r(a(1793)),o=r(a(1807)),s=r(a(2048)),u=r(a(1346))},1793:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.GlobalNav=void 0;var p=f(n(605));n(1794);var h=f(n(1797)),m=f(n(35)),g=f(n(0)),v=n(412),y=(n(564),f(n(16))),b=(n(161),f(n(1798))),x=n(1433),w=f(n(1799)),k=f(n(1802)),C=f(n(1805));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{this.setState({visible:!1})})),(0,m.default)(this,"onToggleOpen",(()=>{this.setState((e=>{var{visible:t}=e;return{visible:!t}}))})),this.state={visible:!1}}render(){var{visible:e}=this.state,{navItems:a=[]}=this.props,n={top:globalCSS.headerHeight,height:"calc(100% - ".concat(globalCSS.headerHeight,")")},r=Number(globalCSS.productsColumnWidth.replace("px",""));return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:C.default["global-nav-icon"],onClick:this.onToggleOpen},g.default.createElement("img",{src:b.default,alt:"menu-icon",className:C.default["global-nav-icon-icon"]})),g.default.createElement(h.default,{title:t("Service List"),className:C.default["drawer-left"],placement:"left",closable:!1,onClose:this.onClose,visible:e,style:n,bodyStyle:{padding:0},width:r,destroyOnClose:!0},g.default.createElement(w.default,{items:a,onClose:this.onClose})),g.default.createElement(h.default,{title:null,className:C.default["drawer-right"],placement:"left",closable:!0,onClose:this.onClose,visible:e,style:M(M({},n),{},{left:e?globalCSS.productsColumnWidth:0}),bodyStyle:{padding:0},mask:!0,width:4*r,maskStyle:{backgroundColor:"transparent"},closeIcon:g.default.createElement(p.default,{style:{fontSize:"20px"}})},g.default.createElement("div",{className:C.default.main},g.default.createElement(k.default,{items:a,onClose:this.onClose}))))}}a.GlobalNav=S,(0,m.default)(S,"propTypes",{navItems:y.default.oneOfType([y.default.arrayOf(x.navItemPropType),y.default.array])}),(0,m.default)(S,"defaultProps",{navItems:[]});var I=(0,v.observer)(S);a.default=I},1798:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA4CAYAAACPKLr2AAAAk0lEQVRoQ+3Y0QnAMAgA0bj/0HaIQzjK9d/EPE2QzpN/I8/vlSCtUIIJUgEaXw9iwd1dushl/JQg5PULwgOeh/fMUOIEE6QCNL4eTJAK0Hh/DzZuwRr7xy19iWEFzsP9t/icAG6QIATsByYFTDBBLEAX8L+D+mGhBGET+gdWeMDzcP8tPieAGyQIAZtmKGCC/xf8AMV4MAkwBaLlAAAAAElFTkSuQmCC"},1799:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(54)),i=r(a(35)),o=r(a(0)),s=a(204),u=r(a(16)),d=a(1433),c=r(a(1800));class f extends o.default.Component{constructor(){super(...arguments),(0,i.default)(this,"renderItem",(e=>o.default.createElement("div",{className:c.default.item,key:e.path},o.default.createElement(s.Link,{onClick:this.props.onClose,to:(0,d.getFirstLevelNavItemLink)(e),className:c.default["item-label"]},e.name))))}render(){var{items:e}=this.props;return o.default.createElement("div",{id:"global-nav-left",className:c.default.left},(0,l.default)(e).call(e,this.renderItem))}}t.default=f,(0,i.default)(f,"propTypes",{items:u.default.oneOfType([u.default.arrayOf(d.navItemPropType),u.default.array]),onClose:u.default.func}),(0,i.default)(f,"defaultProps",{items:[]})},1800:function(e,t,a){var n=a(1801);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1801:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__item--2Y2IS {\n padding: 12px 24px;\n cursor: pointer;\n}\n.index__item--2Y2IS:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__item-label--sz6t1 {\n display: block;\n width: 100%;\n color: #000;\n font-size: 13px;\n}\n.index__item-label--sz6t1:hover {\n color: #000;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",item:"index__item--2Y2IS","item-label":"index__item-label--sz6t1"}},1802:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(430)),h=f(n(28)),m=f(n(164)),g=f(n(29)),v=f(n(54)),y=f(n(77));n(569);var b=f(n(1253)),x=f(n(612)),w=f(n(35)),k=f(n(0)),C=n(204),_=(n(161),n(564),f(n(16))),M=n(1433),S=f(n(1803));function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function N(e){for(var t=1;t{var{value:t}=e.target;this.getNavItemsBySearch(t)})),(0,w.default)(this,"onSearch",(e=>{this.getNavItemsBySearch(e)})),(0,w.default)(this,"getNavItemsBySearch",(e=>{var t,a=(0,p.default)(t=(e||"").toLowerCase()).call(t),{items:n}=this.props,r=[];(0,h.default)(n).call(n,(e=>{if(a){var t,{name:n,children:l=[]}=e;if((0,m.default)(t=n.toLowerCase()).call(t,a))r.push(e);else{var i=(0,g.default)(l).call(l,(e=>{var t;return(0,m.default)(t=e.name.toLowerCase()).call(t,a)}));i.length&&r.push(N(N({},e),{},{children:i}))}}else r.push(e)})),this.setState({currentItems:r})})),(0,w.default)(this,"renderNavItemChildren",(e=>{var{children:t=[]}=e,a=t.length?t:[e],{onClose:n}=this.props;return(0,v.default)(a).call(a,(e=>{var t,{name:a,path:r}=e;return k.default.createElement("div",{key:(0,y.default)(t="".concat(a,"-")).call(t,r),className:S.default["children-item"]},k.default.createElement(C.Link,{onClick:n,to:r},k.default.createElement("span",{className:S.default["link-name"]},a)))}))})),(0,w.default)(this,"renderNavItem",(e=>{var{name:t=""}=e||{};return k.default.createElement("div",{className:S.default["nav-item"],key:e.name},k.default.createElement("div",{className:S.default.title},t),k.default.createElement("div",{classnames:S.default.children},this.renderNavItemChildren(e)))})),this.state={currentItems:e.items||[]}}renderSearch(){return k.default.createElement("div",{className:S.default.search},k.default.createElement(b.default,{prefix:k.default.createElement(x.default,null),placeholder:t("Search"),allowClear:!0,onChange:this.onInputChange}))}renderNavItems(){var{currentItems:e=[]}=this.state;return k.default.createElement("div",{className:S.default.right},(0,v.default)(e).call(e,this.renderNavItem))}render(){return k.default.createElement("div",{id:"global-nav-right"},this.renderSearch(),this.renderNavItems())}}a.default=E,(0,w.default)(E,"propTypes",{items:_.default.oneOfType([_.default.arrayOf(M.navItemPropType),_.default.array]),onClose:_.default.func}),(0,w.default)(E,"defaultProps",{items:[]})},1803:function(e,t,a){var n=a(1804);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1804:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__right--2sYP_ {\n -webkit-columns: 200px 3;\n -moz-columns: 200px 3;\n columns: 200px 3;\n -webkit-column-gap: 12px;\n -moz-column-gap: 12px;\n column-gap: 12px;\n}\n.index__nav-item--1_at0 {\n display: inline-block;\n width: 100%;\n margin-bottom: 20px;\n -webkit-column-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n}\n.index__nav-item--1_at0 .index__title--2wx19 {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n margin-bottom: 4px;\n color: #000;\n font-weight: 600;\n font-size: 14px;\n line-height: 22px;\n -webkit-transition: color 0.2s ease;\n transition: color 0.2s ease;\n}\n.index__children-item--30iPf {\n position: relative;\n height: 32px;\n margin-right: 8px;\n line-height: 32px;\n cursor: pointer;\n}\n.index__children-item--30iPf a {\n display: block;\n}\n.index__children-item--30iPf:hover {\n color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__children-item--30iPf:hover .index__link-name--2SSup {\n color: #000;\n}\n.index__children-item--30iPf .index__link-name--2SSup {\n color: #000;\n}\n.index__search--TO2Ca {\n width: 60%;\n margin-top: -8px;\n margin-bottom: 16px;\n margin-left: 0;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper {\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-color: #d9d9d9;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__search--TO2Ca .anticon-search {\n color: rgba(0, 0, 0, 0.45) !important;\n}\n.index__search--TO2Ca .ant-input {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__search--TO2Ca .ant-input:hover {\n border: #0068ff;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #0068ff;\n}\n.index__search--TO2Ca .ant-input-clear-icon,\n.index__search--TO2Ca .ant-input-clear-icon:active {\n color: rgba(0, 0, 0, 0.85);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",right:"index__right--2sYP_","nav-item":"index__nav-item--1_at0",title:"index__title--2wx19","children-item":"index__children-item--30iPf","link-name":"index__link-name--2SSup",search:"index__search--TO2Ca"}},1805:function(e,t,a){var n=a(1806);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1806:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__global-nav-icon--oF9N7 {\n position: relative;\n float: left;\n width: 40px;\n height: 40px;\n color: #fff;\n font-size: 16px;\n line-height: 40px;\n text-align: center;\n background-color: #0068ff;\n cursor: pointer;\n}\n.index__global-nav-icon--oF9N7:hover {\n background-color: #0068ff;\n}\n.index__global-nav-icon-icon--10OVj {\n width: 20px;\n}\n.index__main--22yB3 {\n padding: 32px 32px 0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header {\n background-color: #fff;\n border-bottom-color: #f0f0f0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header .ant-drawer-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__drawer-left--uUdzj .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-close {\n color: rgba(0, 0, 0, 0.45);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","global-nav-icon":"index__global-nav-icon--oF9N7","global-nav-icon-icon":"index__global-nav-icon-icon--10OVj",main:"index__main--22yB3","drawer-left":"index__drawer-left--uUdzj","drawer-right":"index__drawer-right--31wWn"}},1807:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=t.ProjectDropdown=void 0,a(1300);var l=r(a(1301)),i=r(a(1505)),o=r(a(1434));a(347);var s=r(a(348)),u=r(a(0)),d=a(412),c=(a(161),a(564),r(a(1302))),f=r(a(1346)),p=r(a(1819));class h extends u.default.Component{get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}render(){if(!this.user)return u.default.createElement(s.default,{size:"small",style:{marginLeft:8,marginRight:8,marginTop:-24}});var{projectName:e,userDomainName:t}=this.project;return u.default.createElement("div",{className:f.default.project,id:"project-switch",style:{paddingLeft:"8px"}},u.default.createElement(c.default,{actions:{moreActions:[{action:p.default}]}}),u.default.createElement(o.default,{style:{marginRight:10}}),u.default.createElement("span",null,e),u.default.createElement(i.default,{style:{color:"#A3A3A3",marginLeft:24}}),u.default.createElement(l.default,{type:"vertical"}),u.default.createElement("span",{className:f.default.domain},t))}}t.ProjectDropdown=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));t.default=m},1813:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__confirm-modal--3q6IU .ant-modal-confirm-body > .anticon {\n margin-right: 20px;\n font-size: 18px;\n}\n.index__confirm--3w0Sc {\n color: #fedf40 !important;\n}\n.index__error--2QqQF {\n color: #eb354d !important;\n}\n.index__success--3lQal {\n color: #57e39b !important;\n}\n.index__warn--ZLd6Q {\n color: #fedf40 !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","confirm-modal":"index__confirm-modal--3q6IU",confirm:"index__confirm--3w0Sc",error:"index__error--2QqQF",success:"index__success--3lQal",warn:"index__warn--ZLd6Q"}},1814:function(e,t,a){var n=a(1815);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1815:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__modal-action--t2EeP .ant-modal-body {\n padding: 0 0 16px;\n}\n",""]),t.locals={"modal-action":"index__modal-action--t2EeP"}},1816:function(e,t,a){var n=a(1817);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1817:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__first-action--2OPwj {\n padding: 0;\n text-align: left;\n}\n.index__first-action--2OPwj span {\n display: block;\n max-width: 48px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__more-action--3nzAh {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-popup ul {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-item,\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-title {\n padding: 0 12px;\n}\n.index__more-action-btn--1CkV8 {\n width: 100%;\n text-align: left;\n}\n.index__single-more-action--1AkZ2 .ant-btn-link {\n width: auto;\n}\n.index__action-buttons--3ReIW {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n",""]),t.locals={"first-action":"index__first-action--2OPwj","more-action":"index__more-action--3nzAh","action-sub-menu":"index__action-sub-menu--m8uMB","more-action-btn":"index__more-action-btn--1CkV8","single-more-action":"index__single-more-action--1AkZ2","action-buttons":"index__action-buttons--3ReIW"}},1818:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__menu--TIGc7 {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .anticon {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item {\n min-width: 245px;\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item:hover {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_ {\n overflow: hidden;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_:hover {\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 {\n padding: 0 12px;\n font-weight: bold;\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 .index__user-label--2mhYg {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 span {\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z {\n line-height: 30px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn-link[disabled] {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .index__menu-btn--wBMeV {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-divider--3m2zd {\n background-color: #fff;\n}\n.index__no-padding-top--2hYAA {\n padding-top: 0;\n}\n.index__logout--2w9f0 {\n float: right;\n line-height: 40px;\n}\n.index__right--X_kh6 {\n position: absolute;\n top: 0;\n right: 31px;\n line-height: 40px;\n}\n.index__right--X_kh6 .index__action--1gM_W {\n display: inline-block;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu {\n width: 170px;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item:hover,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title:hover {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item-disabled,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title-disabled {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .index__title--3e97C {\n cursor: auto;\n}\n.index__project-menu--3gMKs .index__title--3e97C:hover {\n background-color: #fff;\n}\n.index__project--Iy5xg {\n float: left;\n font-size: 14px;\n line-height: 40px;\n cursor: pointer;\n}\n.index__project--Iy5xg .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__project--Iy5xg .ant-btn-link {\n position: absolute;\n min-width: 280px;\n min-height: 40px;\n}\n.index__header--138pB {\n position: relative;\n z-index: 200;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 100%;\n padding-left: 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__avatar--C9tqm {\n width: 30px;\n height: 30px;\n color: #bfbfbf;\n border: none;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__domain--Q8Gpn {\n font-size: 14px;\n}\n.index__links--IHsTT {\n display: inline-block;\n margin-right: 20px;\n}\n.index__links--IHsTT .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__links--IHsTT .index__link--1PjXM {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__links--IHsTT .index__link--1PjXM:hover {\n color: #0068ff;\n}\n.index__links--IHsTT .index__active--2ykOE {\n color: #0068ff;\n}\n.index__password-btn--1O5lH {\n max-width: 100px;\n}\n.index__password-btn--1O5lH span {\n max-width: 80px;\n}\n.index__single-link--1h19E {\n margin-right: 5px;\n color: #0068ff;\n}\n.index__single-link--1h19E:hover {\n color: #0068ff;\n}\n.index__token--2NsWx pre {\n padding: 0.4em 0.6em;\n white-space: pre-wrap;\n word-wrap: break-word;\n background: hsla(0, 0%, 58.8%, 0.1);\n border: 1px solid hsla(0, 0%, 39.2%, 0.2);\n border-radius: 3px;\n}\n.index__logo--VDnnm {\n float: left;\n width: 190px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n}\n.index__logo--VDnnm img {\n height: 30px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",menu:"index__menu--TIGc7","no-hover":"index__no-hover--3nEW_","name-item":"index__name-item--3-Ls5","user-label":"index__user-label--2mhYg","menu-item":"index__menu-item--2EH8z","menu-btn":"index__menu-btn--wBMeV","menu-divider":"index__menu-divider--3m2zd","no-padding-top":"index__no-padding-top--2hYAA",logout:"index__logout--2w9f0",right:"index__right--X_kh6",action:"index__action--1gM_W","project-menu":"index__project-menu--3gMKs",title:"index__title--3e97C",project:"index__project--Iy5xg",header:"index__header--138pB",avatar:"index__avatar--C9tqm",domain:"index__domain--Q8Gpn",links:"index__links--IHsTT",link:"index__link--1PjXM",active:"index__active--2ykOE","password-btn":"index__password-btn--1O5lH","single-link":"index__single-link--1h19E",token:"index__token--2NsWx",logo:"index__logo--VDnnm"}},1819:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.ProjectSelect=void 0;var p=f(n(86)),h=f(n(63)),m=f(n(29)),g=f(n(54)),v=f(n(91)),y=f(n(58)),b=f(n(49)),x=f(n(35)),w=n(412),k=n(1241),C=n(1251),_=f(n(1255));function M(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class S extends k.ModalAction{constructor(){var e;super(...arguments),e=this,(0,x.default)(this,"state",{projectName:""}),(0,x.default)(this,"onSubmit",function(){var t=(0,b.default)((function*(t){var a,{project:{selectedRowKeys:n}}=t,r=n[0],l=(0,p.default)(a=e.projects).call(a,(e=>e.id===r)),{domain_id:i}=l||{},{rootStore:o}=e.props;try{return yield o.switchProject(r,i),e.routing.push("/base/overview"),h.default.resolve()}catch(e){return h.default.reject(e)}}));return function(e){return t.apply(this,arguments)}}())}init(){this.getAllUserProjects()}getAllUserProjects(){var e=this;return(0,b.default)((function*(){yield _.default.getUserProjects(),e.updateDefaultValue()}))()}get name(){return t("Switch Project")}static get modalSize(){return"large"}getModalSize(){return"large"}get messageHasItemName(){return!1}get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}get projects(){var e,{projectName:t}=this.state,{data:a}=_.default.userProjects;return(0,m.default)(e=(0,g.default)(a).call(a,(e=>{var{id:t}=e;return function(e){for(var t=1;t{var a,n;return!t||((0,v.default)(a=e.name.toLowerCase()).call(a,t.toLowerCase())>=0||(0,v.default)(n=e.projectId.toLowerCase()).call(n,t.toLowerCase())>=0)}))}get defaultValue(){var e,{projectId:t=""}=this.project;return{project:{selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.projects).call(e,(e=>e.id===t))}}}get formItems(){return[{name:"project",label:t("Owned Project"),type:"select-table",data:this.projects,isLoading:_.default.userProjects.isLoading,disabledFunc:e=>!e.enabled,filterParams:[{label:t("Project Name"),name:"name"}],columns:[{title:t("Project Name"),dataIndex:"name"},{title:t("ID"),dataIndex:"id"},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"}]}]}}a.ProjectSelect=S,(0,x.default)(S,"id","project-id"),(0,x.default)(S,"title",t("Switch Project")),(0,x.default)(S,"buttonText"," "),(0,x.default)(S,"policy",C.allCanReadPolicy),(0,x.default)(S,"allowed",(()=>h.default.resolve(!0)));var I=(0,w.inject)("rootStore")((0,w.observer)(S));a.default=I},1820:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(1250)),s=a(567);class u extends o.default{static allowed(){return l.default.resolve()}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,s.getPath)({key:n,params:t,query:a})}}t.default=u,(0,i.default)(u,"id","formAction"),(0,i.default)(u,"actionType","link"),(0,i.default)(u,"title","form"),(0,i.default)(u,"buttonType","primary"),(0,i.default)(u,"isDanger",!1),(0,i.default)(u,"path","/"),(0,i.default)(u,"policy",""),(0,i.default)(u,"aliasPolicy","")},1831:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.type2component=void 0;var p=f(n(63)),h=f(n(77)),m=f(n(164)),g=f(n(343));n(1261);var v=f(n(1262));n(344);var y=f(n(202)),b=f(n(1299)),x=f(n(58)),w=f(n(35));n(1374);var k=f(n(1375));n(1846);var C=f(n(1849));n(1513);var _=f(n(1514));n(1278);var M=f(n(1279));n(1300);var S=f(n(1301));n(569);var I=f(n(1253)),N=f(n(177)),E=f(n(0)),T=f(n(16)),A=(n(161),n(564),f(n(1429))),j=f(n(1857)),P=f(n(1872)),D=f(n(1519)),L=f(n(1875)),O=f(n(1376)),R=f(n(1534)),z=f(n(1899)),U=f(n(1902)),F=f(n(1917)),B=f(n(1922)),V=f(n(1444)),K=f(n(1925)),Q=f(n(1928)),Y=f(n(1937)),G=f(n(1938)),H=f(n(1939)),W=f(n(1944)),q=f(n(1947)),$=f(n(1950)),Z=f(n(1951)),J=f(n(1552)),X=f(n(1963)),ee=f(n(1964)),te=f(n(1965)),ae=f(n(1968)),ne=f(n(1447)),re=f(n(1969)),le=f(n(1989)),ie=f(n(1993)),oe=f(n(1448)),se=f(n(1994)),ue=f(n(1999)),de=f(n(2e3));function ce(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function fe(e){for(var t=1;t{var{selectedRowKeys:n=[]}=a||{};return 0===n.length?p.default.reject(new Error(e.placeholder||t("Please select {label}!",{label:e.label}))):p.default.resolve()})),(0,w.default)(this,"getDescriptionValidator",((e,a)=>{var n;return a&&a.length>255?p.default.reject(new Error((0,h.default)(n="".concat(t("Invalid: "))).call(n,t("The description can be up to 255 characters long.")))):p.default.resolve()}))}getComponentProps(e){switch(e){case"label":var{content:t,icon:a,iconType:n,showLoading:r}=this.props;return{content:t,icon:a,iconType:n,showLoading:r};case"divider":return{className:this.props.className};case"select":var l=this.props,{options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h="label",checkOptions:m,checkBoxInfo:g,allowClear:v,required:y}=l;return fe({options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h,checkOptions:m,checkBoxInfo:g,allowClear:y?v||!1:v},(0,x.default)(l,["options","placeholder","mode","onChange","isWrappedValue","tip","disabled","showSearch","optionFilterProp","checkOptions","checkBoxInfo","allowClear","required"]));default:var b=this.props,{validator:w}=b;return fe({},(0,x.default)(b,["validator"]))}}getFormItemProps(){var{name:e,label:t,type:a,help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,tip:d,dependencies:c}=this.props,f={name:e,label:this.renderLabel(t,d),help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,rules:this.getRules()};switch(c&&c.length>0&&(f.dependencies=c),a){case"title":return fe(fe({},f),{},{label:"",labelCol:null,wrapperCol:{xs:{span:24},sm:{span:24}}});case"label":return fe(fe({},f),{},{className:"form-item-text"});case"select-table":case"network-select-table":case"tab-select-table":case"instance-volume":case"network-select":case"add-select":case"descriptions":case"short-divider":case"transfer":case"NUMA":case"check-group":return fe(fe({},f),{},{wrapperCol:u||{xs:{span:24},sm:{span:t?18:24}}});default:return f}}getRules(){var{required:e,rules:a,validator:n,type:r="",otherRule:l,name:i,hidden:o,label:s,placeholder:u,hasRequiredCheck:d=!0}=this.props;if(o)return[];if(a)return a;var c=[],f={},p={};return e&&(r&&(0,m.default)(r).call(r,"select-table")?(p.required=!0,p.validator=(e,t)=>this.getSelectTableValidator(fe(fe({},e),this.props),t)):r&&(0,m.default)(r).call(r,"select")?(p.required=!0,p.message=u||t("Please select {label}!",{label:s})):d?(p.required=!0,p.message=u||t("Please input {label}!",{label:s})):n&&(f.required=e)),(0,N.default)(p)||c.push(p),n?f.validator=n:r&&(0,m.default)(r).call(r,"textarea")&&"description"===i&&(f.validator=this.getDescriptionValidator),(0,N.default)(f)||c.push(f),l&&c.push(l),c}getComponent(e){return pe[e]}renderTip(e){return e?E.default.createElement(y.default,{title:e},E.default.createElement(b.default,null)):null}renderLabel(e,t){return t?E.default.createElement("span",null,e," ",this.renderTip(t)):e}render(){var{component:e,type:t}=this.props,a=this.getFormItemProps();if(e)return E.default.createElement(v.default.Item,a,e);var n=this.getComponent(t),r=this.getComponentProps(t);if("divider"===t)return E.default.createElement(S.default,{className:"form-item-divider"});if("short-divider"===t)return E.default.createElement(v.default.Item,(0,g.default)({},a,{label:" ",style:{marginBottom:0}}),E.default.createElement(S.default,null));if(n){if(n.isFormItem)return E.default.createElement(n,{formItemProps:a,componentProps:r});var l=E.default.createElement(n,r);return E.default.createElement(v.default.Item,a,l)}var{content:i}=this.props;return i?E.default.createElement(v.default.Item,a,E.default.createElement("span",r,i)):null}}a.default=he,(0,w.default)(he,"propTypes",{component:T.default.object,type:T.default.string,content:T.default.any,className:T.default.string,name:T.default.string,label:T.default.string,rules:T.default.array,required:T.default.bool,validator:T.default.func,options:T.default.array,placeholder:T.default.string,mode:T.default.string,onChange:T.default.func,dependencies:T.default.array,formref:T.default.object,hasRequiredCheck:T.default.bool}),(0,w.default)(he,"defaultProps",{required:!1,dependencies:[]})},1857:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(1347)),u=o(n(1442)),d=o(n(343));n(1246);var c=o(n(1247));n(1244);var f=o(n(1245));n(1261);var p=o(n(1262));n(231);var h=o(n(341));n(568);var m=o(n(415)),g=o(n(54)),v=o(n(232)),y=o(n(91)),b=o(n(29)),x=o(n(63)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(564),o(n(1376))),C=n(565),_=n(461),M=o(n(1870));function S(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(S=function(e){return e?a:t})(e)}var{isIPv4:I,isIpv6:N}=C.ipValidate,E=e=>{var{componentProps:a,formItemProps:n}=e,{maxNumber:r=10,ports:l,isLoading:i,members:o=[],lbSubnetId:C}=a,{name:S,onChange:E}=n,[T,A]=(0,w.useState)(0),j=()=>{};return w.default.createElement("div",{style:{padding:20}},w.default.createElement(p.default.Item,{label:t("select an existing port"),wrapperCol:{xs:18,xm:12},extra:t("If you choose a port which subnet is different from the subnet of LB, please ensure connectivity between the two.")},w.default.createElement(k.default,{maxSelectedCount:-1,isLoading:i,data:l,columns:[{title:t("ID/Name"),dataIndex:"name",routeName:"portDetail"},{title:t("Binding Instance"),dataIndex:"server_name"},{title:t("IP"),dataIndex:"fixed_ips",render:(e,t)=>{if(0===e.length)return"-";var a=(0,g.default)(e).call(e,(e=>({label:e.ip_address,value:e.ip_address,subnet_id:e.subnet_id})));return t.currentOption=a[0].value,t.currentSubnetId=a[0].subnet_id,w.default.createElement(m.default,{style:{minWidth:200},options:a,defaultValue:a[0].value,onChange:(e,a)=>{t.currentSubnetId=a.subnet_id,t.currentOption=e}})},sorter:(e,t)=>{var a=e.fixed_ips[0].ip_address,n=t.fixed_ips[0].ip_address,r=(_.Address4.isValid(a)?new _.Address4(a):new _.Address6(a)).bigInteger(),l=(_.Address4.isValid(n)?new _.Address4(n):new _.Address6(n)).bigInteger();return r.compareTo(l)}},{title:t("Action"),key:"operation",render:(e,a)=>w.default.createElement(h.default,{disabled:!a.currentOption,onClick:()=>{j({ip_address:{ip:a.currentOption,protocol_port:void 0,weight:1,name:a.server_name,subnet_id:a.currentSubnetId},canEdit:!1})}},t("Add Member"))}],filterParams:[{label:t("ID"),name:"id"},{label:t("Name"),name:"name"},{label:t("Binding Instance"),name:"server_name"},{label:t("IP"),name:"fixed_ips",filterFunc:(e,t)=>(0,v.default)(e).call(e,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)>-1}))},{label:t("Same subnet with LB"),name:"origin_data",options:[{label:t("True"),key:!0}],filterFunc:(e,t)=>{var a;return!t||(0,v.default)(a=e.fixed_ips).call(a,(e=>e.subnet_id===C))}}]})),w.default.createElement(p.default.Item,(0,d.default)({},n,{label:t("Selected Members")}),w.default.createElement(p.default.List,{name:S},((e,a)=>{var{add:n,remove:r}=a;return j=n,A(e.length),0===e.length?t("Not yet selected"):w.default.createElement(w.default.Fragment,null,e.length>0&&w.default.createElement(c.default,{gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(c.default,null,w.default.createElement(f.default,{span:12},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("IP Address"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Port"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Weights")))))),(0,g.default)(e).call(e,(e=>w.default.createElement(c.default,{key:e.key,gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(p.default.Item,(0,d.default)({},e,{style:{width:"98%"},validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{var n=(0,b.default)(o).call(o,(e=>e.address===a.ip_address.ip&&e.protocol_port===a.ip_address.protocol_port));return a&&a.ip_address.ip?I(a.ip_address.ip)||N(a.ip_address.ip)?a.ip_address.ip&&a.ip_address.protocol_port?a.ip_address.weight?n[0]?x.default.reject(new Error(t("Invalid IP Address and Port"))):x.default.resolve(!0):x.default.reject(new Error(t("Missing Weight"))):x.default.reject(new Error(t("Missing Port"))):x.default.reject(new Error(t("Invalid IP Address"))):x.default.reject(new Error(t("Missing IP Address")))}}]}),w.default.createElement(M.default,{field:e,onChange:e=>{return t=e,void(E&&E(t));var t}}))),w.default.createElement(f.default,{span:2},w.default.createElement(u.default,{onClick:()=>r(e.name)}))))))}))),T{j()},block:!0,icon:w.default.createElement(s.default,null)},t("Add External Members"))))};E.isFormItem=!0;var T=E;a.default=T},1862:function(e,t,a){var n=a(1863);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1863:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__magic-input-outer-wrapper--2caFk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.index__magic-input-wrapper--3jKxQ {\n position: relative;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n min-width: 200px;\n padding: 3px 0 3px 8px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag {\n height: 24px;\n margin-right: 4px;\n margin-bottom: 1px;\n padding: 0 4px;\n color: #fff;\n font-size: 10px;\n line-height: 24px;\n background-color: #0068ff;\n border: none;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag .anticon-close {\n margin-left: 16px;\n color: #fff;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn {\n margin-top: -3px;\n margin-right: 0;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn-icon-only {\n background-color: #fff;\n}\n.index__magic-input-wrapper-active--225GJ {\n border-color: #0068ff;\n -webkit-box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n}\n.index__input-wrapper--1osyl {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 24px;\n line-height: 24px;\n}\n.index__input-wrapper--1osyl .ant-input {\n padding: 0;\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl .ant-input:focus {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl input::-webkit-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-moz-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input:-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical > .ant-menu-item {\n height: 26px;\n line-height: 26px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical .ant-menu-item {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 10px;\n}\n.index__menu--2CcQt {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n}\n.index__menu--2CcQt,\n.index__option-menu--1Wni_ {\n position: absolute;\n top: 34px;\n z-index: 100;\n max-height: 310px;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n}\n.index__key--1C5xL {\n font-size: 10px;\n line-height: 24px;\n}\n.index__key--1C5xL .ant-divider,\n.index__key--1C5xL .ant-divider-vertical {\n margin-right: 4px;\n margin-left: 4px;\n}\n.ant-form-item-has-error .magic-input-wrapper .ant-input,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:focus,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:not([disabled]):hover {\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.magic-input-wrapper .ant-tag {\n display: inline-block;\n height: 24px;\n margin: 0 5px 0 0;\n margin-bottom: 1px;\n line-height: 24px;\n}\n.index__search-icon--1c2YI {\n position: absolute;\n top: 0;\n right: 8px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 12px;\n line-height: 32px;\n}\n.index__search-icon-hidden--3mkNv {\n display: none;\n}\n.index__close-btn-col--1qQC_ {\n position: absolute;\n top: 0;\n right: 0;\n height: 30px;\n line-height: 30px;\n}\n.index__close-btn-col--1qQC_ .index__close-btn--1gDiH {\n height: 28px !important;\n padding: 0;\n background-color: #fff;\n border: none;\n}\n.index__close-option-btn--2fpQF {\n top: 3px;\n height: 24px !important;\n}\n.index__magic-input-checks--3sSga {\n margin-left: 8px;\n line-height: 32px;\n}\n.index__magic-input-checks--3sSga .ant-checkbox + span {\n text-wrap: nowrap;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","magic-input-outer-wrapper":"index__magic-input-outer-wrapper--2caFk","magic-input-wrapper":"index__magic-input-wrapper--3jKxQ","magic-input-wrapper-active":"index__magic-input-wrapper-active--225GJ","input-wrapper":"index__input-wrapper--1osyl",menu:"index__menu--2CcQt","option-menu":"index__option-menu--1Wni_",key:"index__key--1C5xL","search-icon":"index__search-icon--1c2YI","search-icon-hidden":"index__search-icon-hidden--3mkNv","close-btn-col":"index__close-btn-col--1qQC_","close-btn":"index__close-btn--1gDiH","close-option-btn":"index__close-option-btn--2fpQF","magic-input-checks":"index__magic-input-checks--3sSga"}},1864:function(e,t,a){var n=a(1865);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1865:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__sl-simple-table--3t0n0 .ant-table-content .ant-table-thead tr .ant-table-cell {\n padding: 8px 8px 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-column-sorters {\n padding: 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-tbody > tr > td {\n padding: 8px 8px 8px 0;\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","sl-simple-table":"index__sl-simple-table--3t0n0"}},1866:function(e,t,a){var n=a(1867);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1867:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--W62k9 {\n height: 32px;\n text-align: right;\n}\n.index__inner--1yC3_ {\n display: inline-block;\n width: 300px;\n overflow: hidden;\n}\n",""]),t.locals={wrapper:"index__wrapper--W62k9",inner:"index__inner--1yC3_"}},1868:function(e,t,a){var n=a(1869);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1869:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__search-wrapper--2qjcr {\n margin-bottom: 16px;\n}\n.index__search-wrapper--2qjcr .ant-menu-root.ant-menu-vertical {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n}\n.index__image-tabs--Y02Y0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n height: 52px;\n margin-bottom: 8px;\n}\n.index__image-tabs--Y02Y0 img {\n display: block;\n width: 20px;\n height: 20px;\n margin: 0 auto;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper {\n width: 70px;\n height: 50px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n text-align: center;\n border: none;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper:not(:first-child)::before {\n width: 0;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n color: #0068ff;\n font-weight: bold;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__image-tab--i9nyz {\n -webkit-box-flex: 1;\n -ms-flex: 1 auto;\n flex: 1 auto;\n}\n.index__image-tab-label--qzyGd {\n font-size: 10px;\n}\n.index__normal-tabs--1Lx8V {\n margin-bottom: 8px;\n}\n.index__pagination-footer--1r5HD .ant-select {\n width: unset;\n min-width: 80px;\n}\n.index__sl-select-table-backend--7Wvxx .ant-table-footer {\n padding: 8px 16px;\n background: #fff;\n}\n.index__search-line--2qRf5 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n gap: 8px;\n}\n.index__search-line--2qRf5 .ant-btn-default {\n color: #0068ff;\n background-color: #f6f7fb;\n border-color: #0068ff;\n}\n.index__search-line--2qRf5 .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","search-wrapper":"index__search-wrapper--2qjcr","image-tabs":"index__image-tabs--Y02Y0","image-tab":"index__image-tab--i9nyz","image-tab-label":"index__image-tab-label--qzyGd","normal-tabs":"index__normal-tabs--1Lx8V","pagination-footer":"index__pagination-footer--1r5HD","sl-select-table-backend":"index__sl-select-table-backend--7Wvxx","search-line":"index__search-line--2qRf5"}},1870:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var p=f(a(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),m=f(a(1871));function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{onChange:t,value:a}=e;a=a||{ip_address:{ip:void 0,protocol_port:void 0,weight:1,subnet_id:void 0},canEdit:!0};var[n,r]=(0,h.useState)(a.ip_address);return h.default.createElement(m.default,{onChange:e=>{var l,i;r(e),l={ip_address:e},i=y(y({},a),{},{ip_address:n},l),t&&t(i)},value:n,disabled:!a.canEdit})};t.default=b},1871:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1246);var p=f(a(1247));a(1278);var h=f(a(1279));a(1244);var m=f(a(1245));a(569);var g=f(a(1253)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t{var{value:t={},onChange:a,disabled:n}=e,[r,l]=(0,y.useState)(t.ip||void 0),[i,o]=(0,y.useState)(t.protocol_port||void 0),[s,u]=(0,y.useState)(t.weight),d=e=>{a(w(w({ip:r,protocol_port:i,weight:s},t),e))};return y.default.createElement(p.default,{gutter:[16]},y.default.createElement(m.default,{span:12},y.default.createElement(g.default,{style:{maxWidth:210},onChange:e=>{var{target:{value:t}}=e;l(t),d({ip:t})},value:r,disabled:n})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:65535,style:{width:"100%"},value:i,onChange:e=>{e&&o(e),e&&d({protocol_port:e})}})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:256,style:{width:"100%"},value:s,onChange:e=>{e&&u(e),e&&d({weight:e})}})))}},1872:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1261);var p=f(a(1262)),h=f(a(58)),m=f(a(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(565)),y=f(a(1429));function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t0&&(t=w(w({},t),e[0])),[t]}render(){var{componentProps:e,formItemProps:t}=this.props,{rules:a}=t,n=(0,h.default)(t,["rules"]),r=this.getRules(a),l=w(w({},n),{},{rules:r}),i=w(w({},e),{},{mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0}});return g.default.createElement(p.default.Item,l,g.default.createElement(y.default,i))}}t.default=k,(0,m.default)(k,"isFormItem",!0)},1873:function(e,t,a){var n=a(1874);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1874:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__checkbox--2qAZO {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",checkbox:"index__checkbox--2qAZO"}},1875:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(164)),s=i(a(616)),u=i(a(58)),d=i(a(35)),c=i(a(1520)),f=i(a(1521)),p=i(a(1522)),h=i(a(1523)),m=i(a(1524)),g=i(a(1525)),v=i(a(1526)),y=i(a(1527)),b=i(a(1528)),x=i(a(1529)),w=i(a(1348)),k=i(a(1530)),C=i(a(1531)),_=i(a(1532)),M=i(a(1344)),S=i(a(1533)),I=i(a(1377)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),E=i(a(16)),T=i(a(1892)),A=i(a(1893)),j=i(a(1894)),P=(a(564),i(a(1895)));function D(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(D=function(e){return e?a:t})(e)}var L=N.default.createElement("img",{src:T.default,alt:"image_icon",style:{width:"12px"}}),O=N.default.createElement("img",{src:A.default,alt:"security_icon",style:{width:"12px"}}),R=N.default.createElement("img",{src:j.default,alt:"lb_icon",style:{width:"12px"}}),z={instance:N.default.createElement(I.default,null),router:N.default.createElement(S.default,null),externalNetwork:N.default.createElement(M.default,null),network:N.default.createElement(M.default,null),firewall:N.default.createElement(_.default,null),volume:N.default.createElement(C.default,null),gateway:N.default.createElement(k.default,null),user:N.default.createElement(w.default,null),snapshot:N.default.createElement(x.default,null),backup:N.default.createElement(b.default,null),keypair:N.default.createElement(y.default,null),image:L,aggregate:N.default.createElement(v.default,null),metadata:N.default.createElement(g.default,null),flavor:N.default.createElement(m.default,null),host:N.default.createElement(h.default,null),security:O,lb:R,group:N.default.createElement(p.default,null),project:N.default.createElement(f.default,null),floatingIp:N.default.createElement(c.default,null)};class U extends N.Component{renderIcon(){var{icon:e,iconType:t}=this.props;if(t){var a=z[t]||null;return N.default.createElement("span",{className:P.default.icon},a)}return N.default.createElement("span",{className:P.default.icon},e||null)}render(){var e=this.props,{content:t,value:a,iconType:n,showLoading:r}=e,l=(0,u.default)(e,["content","value","iconType","showLoading"]),i=[void 0,null,""];return t||N.default.createElement("span",l,this.renderIcon(),r&&(0,o.default)(i).call(i,a)?N.default.createElement(s.default,null):a)}}t.default=U,(0,d.default)(U,"propTypes",{content:E.default.any,value:E.default.any,icon:E.default.node,iconType:E.default.string}),(0,d.default)(U,"defaultProps",{icon:null,iconType:"",content:"",value:null})},1892:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyBjbGFzcz0iaWNvbiIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIwMC4wMHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiAxMDA3LjE2MWMtMjc2LjcwNyAwLTQ5NS4xNjEtMjI1LjczNS00OTUuMTYxLTQ5NS4xNjEgMC0yNzYuNzA3IDIyNS43MzUtNDk1LjE2MSA0OTUuMTYxLTQ5NS4xNjEgMjc2LjcwNyAwIDQ5NS4xNjEgMjI1LjczNSA0OTUuMTYxIDQ5NS4xNjEgMCAyNzYuNzA3LTIxOC40NTMgNDk1LjE2MS00OTUuMTYxIDQ5NS4xNjF6TTUxMiA3NS4wOTNjLTI0MC4yOTkgMC00MzYuOTA3IDE5Ni42MDgtNDM2LjkwNyA0MzYuOTA3czE5Ni42MDggNDM2LjkwNyA0MzYuOTA3IDQzNi45MDcgNDM2LjkwNy0xOTYuNjA4IDQzNi45MDctNDM2LjkwNy0xOTYuNjA4LTQzNi45MDctNDM2LjkwNy00MzYuOTA3eiIgIC8+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiA2MjguNTA5Yy02NS41MzYgMC0xMTYuNTA5LTUwLjk3My0xMTYuNTA5LTExNi41MDlzNTAuOTczLTExNi41MDkgMTE2LjUwOS0xMTYuNTA5IDExNi41MDkgNTAuOTczIDExNi41MDkgMTE2LjUwOWMwIDY1LjUzNi01MC45NzMgMTE2LjUwOS0xMTYuNTA5IDExNi41MDl6TTUxMiA0NjEuMDI3Yy0yOS4xMjcgMC01MC45NzMgMjEuODQ1LTUwLjk3MyA1MC45NzNzMjEuODQ1IDUwLjk3MyA1MC45NzMgNTAuOTczYzI5LjEyNyAwIDUwLjk3My0yMS44NDUgNTAuOTczLTUwLjk3M3MtMjEuODQ1LTUwLjk3My01MC45NzMtNTAuOTczek0xNTUuMTkzIDU0OC40MDljLTcuMjgyIDAtMTQuNTYzLTcuMjgyLTE0LjU2My0xNC41NjN2LTIxLjg0NWMwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzdjE0LjU2M2MwIDE0LjU2My03LjI4MiAyMS44NDUtMTQuNTYzIDIxLjg0NXpNMzM3LjIzNyA4MzkuNjhoLTcuMjgyYy0xMDEuOTQ1LTU4LjI1NC0xNjcuNDgxLTE1Mi45MTctMTgyLjA0NS0yNjIuMTQ0IDAtNy4yODIgNy4yODItMTQuNTYzIDE0LjU2My0xNC41NjNzMTQuNTYzIDcuMjgyIDE0LjU2MyAxNC41NjNjMTQuNTYzIDEwMS45NDUgODAuMDk5IDE4OS4zMjYgMTY3LjQ4MSAyNDAuMjk5IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyA3LjI4MiAyMS44NDVoLTE0LjU2M3pNMzE1LjM5MiA3MTUuODljLTcuMjgyIDAtNy4yODIgMC0xNC41NjMtNy4yODItNDMuNjkxLTQzLjY5MS03Mi44MTgtMTA5LjIyNy03Mi44MTgtMTc0Ljc2MyAwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzYzAgNTguMjU0IDIxLjg0NSAxMDkuMjI3IDY1LjUzNiAxNTIuOTE3IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyAwIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTcuMjgyIDcuMjgyek0zNjYuMzY1IDc1Mi4yOTloLTcuMjgyYy03LjI4MiAwLTcuMjgyLTcuMjgyLTE0LjU2My03LjI4Mi03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMtNy4yODItMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUtNy4yODIgNy4yODIgMCA3LjI4MiA3LjI4MiAxNC41NjMgNy4yODIgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NS03LjI4MiA3LjI4Mi0xNC41NjMgNy4yODItMTQuNTYzIDcuMjgyek0zODAuOTI4IDY2NC45MTdoLTcuMjgyYy0zNi40MDktMjEuODQ1LTY1LjUzNi02NS41MzYtNjUuNTM2LTEwOS4yMjcgMC03LjI4MiA3LjI4Mi0xNC41NjMgMTQuNTYzLTE0LjU2M3MxNC41NjMgNy4yODIgMTQuNTYzIDE0LjU2M2MwIDM2LjQwOSAxNC41NjMgNjUuNTM2IDUwLjk3MyA4MC4wOTkgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTE0LjU2MyA3LjI4MnpNODYxLjUyNSA1NTUuNjkxYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDE0LjU2My0xMjMuNzktMzYuNDA5LTI0Ny41ODEtMTM4LjM1NC0zMjAuMzk4LTcuMjgyLTcuMjgyLTcuMjgyLTE0LjU2MyAwLTIxLjg0NSA3LjI4Mi03LjI4MiAxNC41NjMtNy4yODIgMjEuODQ1IDAgMTA5LjIyNyA4MC4wOTkgMTY3LjQ4MSAyMTEuMTcxIDE1Mi45MTcgMzQ5LjUyNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6IiAgLz48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNzc0LjE0NCA1MjYuNTYzYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDcuMjgyLTgwLjA5OS0yMS44NDUtMTUyLjkxNy04Ny4zODEtMTk2LjYwOC03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMgMC0yMS44NDVzMTQuNTYzLTcuMjgyIDIxLjg0NSAwYzcyLjgxOCA1MC45NzMgMTA5LjIyNyAxMzguMzU0IDEwMS45NDUgMjI1LjczNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6TTY5NC4wNDUgNDkwLjE1NWMtNy4yODIgMC0xNC41NjMtNy4yODItMTQuNTYzLTE0LjU2MyA3LjI4Mi0zNi40MDktNy4yODItNjUuNTM2LTM2LjQwOS04Ny4zODEtNy4yODItNy4yODItNy4yODItMTQuNTYzIDAtMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUgMCAzNi40MDkgMjkuMTI3IDU4LjI1NCA3Mi44MTggNTAuOTczIDExNi41MDktNy4yODIgMC0xNC41NjMgNy4yODItMjEuODQ1IDcuMjgyeiIgIC8+PC9zdmc+"},1893:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTk0MzYyODEzNzAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0NDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTIxLjI1IDg4My4zNGMtMS4yNCAwLTIuNDktMC4xNS0zLjc0LTAuNDgtNjAuMTctMTUuNDUtMTEyLjk2LTQwLjA2LTE1Ni45MS03My4xNC0zNS4zNC0yNi42LTY1LjAzLTU4LjY3LTg4LjI1LTk1LjMzLTM5LjY2LTYyLjYyLTQ2LjY0LTExNi43MS00Ni45MS0xMTguOThsLTAuMTEtMC45MVYyNTUuMDZsMTcuMzcgMi43OGM3MC41NiAxMS4zMSAxMzYuNTctMi43OCAxOTYuMi00MS44NyA0NS0yOS41IDY5LjMzLTYyLjk4IDY5LjU4LTYzLjMxIDQuODMtNi43MiAxNC4xOS04LjI3IDIwLjkyLTMuNDUgNi43MyA0LjgyIDguMjkgMTQuMTYgMy40OCAyMC45LTEuMDkgMS41Mi0yNy4xOCAzNy42OC03Ni40OCA3MC4yNy0yOC45OCAxOS4xNi02MC4wNyAzMy4xNS05Mi4zOSA0MS42LTM1IDkuMTUtNzEuNDggMTEuNzYtMTA4LjY3IDcuODF2MzAyLjc2YzAuOTkgNi41NCA5LjExIDUzLjggNDMuMTUgMTA3LjAyIDQ4Ljc4IDc2LjI4IDEyNC45OSAxMjguMTcgMjI2LjUgMTU0LjI0IDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzcgNi43Ni03Ljg2IDExLjI2LTE0LjU0IDExLjI3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuOTQgODgzLjM0Yy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiAxMDIuMDgtMjYuMjIgMTc4LjU1LTc4LjUyIDIyNy4yOC0xNTUuNDYgMzYuMDgtNTYuOTcgNDIuNDItMTA2LjA4IDQyLjQ4LTEwNi41NyAxLjAxLTguMjIgOC40Ny0xNC4wNyAxNi43MS0xMy4wNyA4LjIyIDEgMTQuMDcgOC40OSAxMy4wNyAxNi43MS0wLjI4IDIuMjctNy4yNSA1Ni4zNi00Ni45MSAxMTguOTgtMjMuMjEgMzYuNjUtNTIuOTEgNjguNzMtODguMjUgOTUuMzMtNDMuOTUgMzMuMDgtOTYuNzQgNTcuNjktMTU2LjkyIDczLjE0LTEuMjUgMC4zMS0yLjUgMC40Ny0zLjc0IDAuNDd6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQyIj48L3BhdGg+PHBhdGggZD0iTTgwNC4xOSA2MDguNTljLTguMjggMC0xNS02LjcyLTE1LTE1VjI4OS43OGMtMzcuMTkgMy45NS03My42NyAxLjM0LTEwOC42Ny03LjgxLTMyLjMzLTguNDUtNjMuNDEtMjIuNDQtOTIuMzktNDEuNi00OS4zLTMyLjU5LTc1LjQtNjguNzQtNzYuNDgtNzAuMjctNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44MSAxNi4wOS0zLjI1IDIwLjkxIDMuNDggMC4yNCAwLjMzIDI0LjU3IDMzLjgxIDY5LjU4IDYzLjMxIDU5LjYyIDM5LjA5IDEyNS42NCA1My4xOCAxOTYuMTkgNDEuODdsMTcuMzctMi43OHYzMzguNTNjLTAuMDEgOC4yOS02LjcyIDE1LTE1LjAxIDE1ek01MjEuNjEgNzU2LjQxYy0xLjI0IDAtMi40OS0wLjE1LTMuNzQtMC40OC0zOS4yNS0xMC4wOC03My43My0yNi4xNi0xMDIuNDctNDcuNzktMjMuMTctMTcuNDQtNDIuNjQtMzguNDctNTcuODctNjIuNTItMjYuMDYtNDEuMTUtMzAuNjgtNzYuOTgtMzAuODYtNzguNDhsLTAuMTEtMC45MXYtMjI0LjJsMTcuMzcgMi43OGMxMDUuMTggMTYuODUgMTY0LjUtNjQuMzkgMTY1LjA5LTY1LjIxIDQuODEtNi43NCAxNC4xOC04LjMxIDIwLjkyLTMuNSA2Ljc0IDQuODEgOC4zMSAxNC4xOCAzLjUgMjAuOTItMC43MiAxLjAxLTE4LjAxIDI0Ljk3LTUwLjQzIDQ2LjQtMzguMTUgMjUuMjItODEuNTYgMzYuNTEtMTI2LjQ1IDMzLjA3djE4Ny43NGMwLjc5IDQuOTMgNi4xNCAzMy45NyAyNy4wOCA2Ni41NCAzMC41MyA0Ny40NiA3OC4yIDc5Ljc5IDE0MS42OSA5Ni4xIDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzQgNi43Ny03LjgzIDExLjI3LTE0LjUyIDExLjI4eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MyI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuNjkgNzU2LjQxYy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiA2My40OS0xNi4zMSAxMTEuMTYtNDguNjQgMTQxLjY5LTk2LjEgMjIuOTEtMzUuNjEgMjcuMTYtNjcuMDEgMjcuMi02Ny4zMiAxLjA2LTguMiA4LjU1LTE0LjAzIDE2Ljc1LTEyLjk5IDguMiAxLjAzIDE0LjAzIDguNDcgMTMuMDMgMTYuNjgtMC4xOCAxLjUtNC44IDM3LjM0LTMwLjg2IDc4LjQ4LTE1LjIzIDI0LjA0LTM0LjcgNDUuMDgtNTcuODcgNjIuNTItMjguNzQgMjEuNjMtNjMuMjEgMzcuNzEtMTAyLjQ3IDQ3Ljc5LTEuMjYgMC4zMS0yLjUxIDAuNDctMy43NSAwLjQ3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NCI+PC9wYXRoPjxwYXRoIGQ9Ik03MDIuOTUgNTgwLjMyYy04LjI4IDAtMTUtNi43Mi0xNS0xNVYzNzYuNWMtNDQuOSAzLjQ1LTg4LjI5LTcuODQtMTI2LjQ1LTMzLjA3LTMyLjQyLTIxLjQzLTQ5LjcxLTQ1LjM5LTUwLjQzLTQ2LjQtNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44IDE2LjA4LTMuMjUgMjAuOSAzLjQ3IDAuMiAwLjI4IDE1LjQ0IDIxLjEzIDQzLjUyIDM5LjQ1IDM2Ljk3IDI0LjEyIDc3Ljg4IDMyLjggMTIxLjU5IDI1Ljc5bDE3LjM3LTIuNzh2MjIzLjI5YzAgOC4yOC02LjcyIDE0Ljk5LTE1IDE0Ljk5eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjAuNTYgNzQ2Ljk3Yy04LjI4IDAtMTUtNi43Mi0xNS0xNVYyOTQuNzhjMC04LjI4IDYuNzItMTUgMTUtMTVzMTUgNi43MiAxNSAxNXY0MzcuMTljMCA4LjI4LTYuNzIgMTUtMTUgMTV6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ2Ij48L3BhdGg+PHBhdGggZD0iTTY5My45OCA1MjguMzhIMzQ3LjEzYy04LjI4IDAtMTUtNi43Mi0xNS0xNXM2LjcyLTE1IDE1LTE1aDM0Ni44NWM4LjI4IDAgMTUgNi43MiAxNSAxNXMtNi43MiAxNS0xNSAxNXpNMzQ1LjUzNSA0MzMuODgybDY5LjU3OS02OS41NzkgNy4wNzEgNy4wNzEtNjkuNTc5IDY5LjU3OXpNMzQ2LjExMSA0ODIuODgybDE2Ni4wNzctMTY2LjA3NiA3LjA3MSA3LjA3LTE2Ni4wNzcgMTY2LjA3N3oiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NDciPjwvcGF0aD48cGF0aCBkPSJNMzc1LjM5MiA1MTMuNzc5bDE0NS4wNC0xNDUuMDYxIDcuMDcyIDcuMDctMTQ1LjA0IDE0NS4wNjJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ4Ij48L3BhdGg+PHBhdGggZD0iTTQzNS45NTcgNTA3LjY5Nmw4MC40ODItODAuNDgyIDcuMDcgNy4wNy04MC40ODEgODAuNDgzeiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0OSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjMuNDM3IDYzNC4yNjVsNy4wNzEtNy4wNzEgNjkuNTc5IDY5LjU3OC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTAiPjwvcGF0aD48cGF0aCBkPSJNNTEzLjI1MyA1NjUuNTAybDcuMDctNy4wNyAxMjAuOTc4IDEyMC45NzctNy4wNyA3LjA3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ1MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MzUuODYzIDUyN2w3LjA3LTcuMDcyTDY3Mi44ODYgNjQ5Ljg4bC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTIiPjwvcGF0aD48cGF0aCBkPSJNNTkyLjM0OCA1MjQuOTQxbDcuMDctNy4wNyA4Ni4xODIgODYuMTgtNy4wNzEgNy4wNzJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDUzIj48L3BhdGg+PC9zdmc+"},1894:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/load-balancer.1741790621.png"},1895:function(e,t,a){var n=a(1896);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1896:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__icon--2-Vz_ {\n margin-right: 8px;\n}\n",""]),t.locals={icon:"index__icon--2-Vz_"}},1897:function(e,t,a){var n=a(1898);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1898:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__instance-volume--3uVzj {\n display: block;\n margin-bottom: 8px;\n}\n.index__label--12eU8 {\n max-width: 20%;\n margin-right: 10px;\n}\n.index__select--YPu8L {\n max-width: 80%;\n}\n.index__size-label--1i0IC {\n margin-right: 40px;\n margin-left: 10px;\n}\n",""]),t.locals={"instance-volume":"index__instance-volume--3uVzj",label:"index__label--12eU8",select:"index__select--YPu8L","size-label":"index__size-label--1i0IC"}},1899:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(647));n(231);var u=o(n(341)),d=o(n(648)),c=o(n(35)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),p=(n(161),n(564),o(n(1900)));function h(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(h=function(e){return e?a:t})(e)}class m extends f.Component{constructor(e){super(e),(0,c.default)(this,"onChangeValue",(()=>{var{moreValue:e}=this.state;this.setState({moreValue:!e},(()=>{var{onChange:e}=this.props;e&&e(this.state.moreValue)}))}));var{value:t}=e;this.state={moreValue:t}}render(){var{moreValue:e}=this.state;return e?f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Hide Advanced Options")," ",f.default.createElement(d.default,null)):f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Expand Advanced Options"),f.default.createElement(s.default,null))}}a.default=m},1900:function(e,t,a){var n=a(1901);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1901:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__btn--2tisu {\n padding-left: 0;\n}\n",""]),t.locals={btn:"index__btn--2tisu"}},1902:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(422));n(1535);var m=p(n(1536));n(231);var g=p(n(341)),v=p(n(1545)),y=p(n(35)),b=p(n(92)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function w(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(w=function(e){return e?a:t})(e)}function k(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function C(e){for(var t=1;t{this.setState({file:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,y.default)(this,"handleChange",(e=>{var{file:t,fileList:a=[]}=e,{status:n}=t||{};"removed"===n&&0===a.length&&this.onChange(null),n||this.onChange(t),e.file.status})),(0,y.default)(this,"beforeUpload",(()=>!1)),this.state={file:""}}get progress(){return{strokeColor:{"0%":globalCSS.primaryColor,"100%":globalCSS.successColor},strokeWidth:3,format:e=>"".concat((0,h.default)(e.toFixed(2)),"%")}}render(){var e,{value:a}=this.props,{file:n}=this.state;e=a?(0,b.default)(a)?a:[a]:n?[n]:[];var r=C(C({},this.props),{},{name:"file",action:"",headers:{authorization:"authorization-text"},onChange:this.handleChange,progress:this.progress,beforeUpload:this.beforeUpload,fileList:e});return x.default.createElement(m.default,r,this.props.children||x.default.createElement(g.default,null,x.default.createElement(v.default,null)," ",t("Click to Upload")))}}a.default=_},1917:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(573)),u=o(n(91)),d=o(n(345)),c=o(n(54)),f=o(n(77)),p=o(n(1546));n(231);var h=o(n(341)),m=o(n(1547)),g=o(n(343));n(568);var v=o(n(415));n(569);var y=o(n(1253)),b=o(n(35)),x=o(n(352)),w=o(n(177)),k=o(n(205)),C=o(n(92)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),M=(n(161),n(564),o(n(16))),S=o(n(4)),I=n(163),N=o(n(1920));function E(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(E=function(e){return e?a:t})(e)}class T extends _.Component{constructor(e){super(e),(0,b.default)(this,"getInitItems",(e=>{var{value:t,initValue:a}=e;return(0,w.default)(a)?(0,C.default)(t)?[...t]||!1:[]:(0,C.default)(a)?[...a]||!1:[]})),(0,b.default)(this,"addItem",(()=>{var{items:e}=this.state,{maxCount:t}=this.props;if(!(e.length>=t)){var{defaultItemValue:a}=this.props,n={value:a,index:e.length};this.updateItems([...e,n])}})),(0,b.default)(this,"updateItems",(e=>{this.setState({items:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,b.default)(this,"canRemove",((e,t)=>{var a=this.checkItemRemoveDisabled(t),{minCount:n}=this.props;return e>=n&&!a})),(0,b.default)(this,"removeItem",(e=>{var{items:t}=this.state;(0,s.default)(t).call(t,e,1),this.updateItems(t)})),(0,b.default)(this,"onItemChange",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"onItemChangeInput",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"getOptions",(e=>{var{optionsByIndex:t,options:a}=this.props;return t&&e{var{items:t=[]}=this.state,{disabledRemoveFunc:a}=this.props;return(0,x.default)(a)?a({item:e,items:t}):this.checkDisabledKey(e)})),(0,b.default)(this,"checkDisabledKey",(e=>{var{key:t=""}=e.value||{},{disableEditKeys:a=[]}=this.props;return(0,u.default)(a).call(a,t)>=0})),(0,b.default)(this,"renderItem",((e,a)=>{var{itemComponent:n,readonlyKeys:r=[],isInput:l=!1,placeholder:i,width:o}=this.props;if(!n)return l?_.default.createElement(y.default,{value:e.value,placeholder:i||t("Please input"),style:{width:o},onChange:e=>{this.onItemChange(e.currentTarget.value,a)}}):_.default.createElement(v.default,{className:N.default.float,options:this.getOptions(a),value:e.value,placeholder:i,style:{width:o},onChange:e=>{this.onItemChange(e,a)}});var s=n,{key:d=""}=e.value||{},c=(0,u.default)(r).call(r,d)>=0,f=this.checkItemRemoveDisabled(e);return _.default.createElement(s,(0,g.default)({},this.props,{name:"name-".concat(a),value:e.value,index:a,keyReadonly:c,disabled:f,onChange:e=>{this.onItemChange(e,a)}}))}));var{initValue:a=[]}=e;this.state={items:this.getInitItems(e),initValue:a,keyId:(0,I.generateId)()}}static getDerivedStateFromProps(e,t){return(0,k.default)(e.initValue,t.initValue)?null:{initValue:e.initValue,items:JSON.parse((0,d.default)(e.initValue)),keyId:(0,I.generateId)()}}renderTip(){var{tips:e}=this.props;return e?_.default.createElement("div",null,e):null}renderItems(){var{items:e,keyId:t}=this.state,a=(0,c.default)(e).call(e,((e,a)=>{var n;return _.default.createElement("div",{className:N.default.item,key:(0,f.default)(n="add-select-item-".concat(t,"-")).call(n,a)},_.default.createElement(h.default,{type:"link",onClick:()=>this.removeItem(a),className:(0,S.default)(N.default.float,N.default["remove-btn"]),disabled:!this.canRemove(a,e)},_.default.createElement(m.default,null)),_.default.createElement("div",{className:(0,S.default)(N.default.float,N.default["item-detail"],"item-detail")},this.renderItem(e,a)))}));return _.default.createElement("div",{className:N.default.items},a)}renderAdd(){var{maxCount:e,addText:a,addTextTips:n}=this.props,{items:r}=this.state,l="";return e!==1/0&&(l+=t("Can add { number } {name}",{number:e-r.length,name:n||""})),_.default.createElement("div",null,_.default.createElement(h.default,{className:(0,S.default)(N.default["add-btn"],"add-btn"),type:"link",onClick:this.addItem},_.default.createElement(p.default,null),a),l)}render(){return _.default.createElement("div",{className:N.default["add-select"]},this.renderTip(),this.renderItems(),this.renderAdd())}}a.default=T,(0,b.default)(T,"propTypes",{minCount:M.default.number,maxCount:M.default.number,tips:M.default.node,options:M.default.array,placeholder:M.default.string,defaultItemValue:M.default.any,addText:M.default.string,addTextTips:M.default.string,width:M.default.number,itemComponent:M.default.any,optionsByIndex:M.default.bool,initValue:M.default.array,readonlyKeys:M.default.array,disableEditKeys:M.default.array,disabledRemoveFunc:M.default.func}),(0,b.default)(T,"defaultProps",{minCount:0,maxCount:1/0,addText:t("Add"),placeholder:t("Please select"),width:200,itemComponent:null,optionsByIndex:!1,initValue:[],readonlyKeys:[],disableEditKeys:[],disabledRemoveFunc:null})},1920:function(e,t,a){var n=a(1921);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1921:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__items--2qLhh {\n float: left;\n width: 100%;\n}\n.index__item--2Klpp {\n position: relative;\n float: left;\n width: 100%;\n margin-top: 8px;\n}\n.index__item--2Klpp .ant-form-item-has-success .ant-select:not(.ant-select-borderless) .ant-select-selector {\n border: 1px solid #d9d9d9 !important;\n}\n.index__item-detail--1dhkA {\n width: 90%;\n}\n.index__float--QNRx6 {\n float: left;\n}\n.index__remove-btn--11OFO,\n.index__add-btn--1uutt {\n padding-right: 8px;\n padding-left: 0;\n}\n.index__desc--wLQSa {\n margin-left: 16px;\n}\n",""]),t.locals={items:"index__items--2qLhh",item:"index__item--2Klpp","item-detail":"index__item-detail--1dhkA",float:"index__float--QNRx6","remove-btn":"index__remove-btn--11OFO","add-btn":"index__add-btn--1uutt",desc:"index__desc--wLQSa"}},1922:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t0&&(a=k(k({},a),e[0])),[a]}render(){var{componentProps:e={},formItemProps:a={}}=this.props,{version:n=4}=e,r=(0,g.default)(e,["version"]),l=k({placeholder:4===n?t("Please input ipv4"):t("Please input ipv6")},r),{rules:i}=a,o=(0,g.default)(a,["rules"]),s=this.getRules(i,n),u=k(k({},o),{},{rules:s});return y.default.createElement(h.default.Item,u,y.default.createElement(m.default,l))}}a.default=M,(0,v.default)(M,"isFormItem",!0)},1923:function(e,t,a){var n=a(1924);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1924:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__network-select--FVaPO {\n position: relative;\n display: block;\n height: 61.6px;\n margin-bottom: 0 !important;\n}\n.index__network-select--FVaPO .ant-form-item-control-input-content {\n height: 61.6px;\n}\n.index__network-select--FVaPO .ant-form-item-explain {\n position: absolute;\n bottom: 0;\n}\n.index__select--2cAyT {\n margin-right: 40px;\n}\n.index__size-label--3Ry8T {\n margin-right: 40px;\n margin-left: 10px;\n}\n.index__tips--3wgea {\n margin-top: 0;\n}\n.index__label--2hqHr {\n margin-right: 10px;\n color: rgba(0, 0, 0, 0.45);\n line-height: 30px;\n}\n.index__content--14doI {\n color: rgba(0, 0, 0, 0.65);\n}\n.index__subnet-options-cidr--7bWem {\n margin-left: 5px;\n padding-left: 5px;\n border-left: 1px solid;\n opacity: 0.6;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","network-select":"index__network-select--FVaPO",select:"index__select--2cAyT","size-label":"index__size-label--3Ry8T",tips:"index__tips--3wgea",label:"index__label--2hqHr",content:"index__content--14doI","subnet-options-cidr":"index__subnet-options-cidr--7bWem"}},1925:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(86)),s=i(a(54)),u=i(a(343));a(593);var d=i(a(427)),c=i(a(58)),f=i(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),h=(a(161),i(a(16))),m=i(a(4)),g=i(a(1926));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends p.Component{constructor(){super(...arguments),(0,f.default)(this,"onChange",(e=>{var{value:t}=e.target,{options:a,onChange:n,isWrappedValue:r}=this.props;if(r){var l=(0,o.default)(a).call(a,(e=>e.value===t));n&&n(l)}else n&&n(t)})),(0,f.default)(this,"getValue",((e,t)=>void 0===t?t:e?t.value:t))}render(){var e=this.props,{options:t,optionType:a,buttonStyle:n,onlyRadio:r,className:l,value:i,isWrappedValue:o}=e,f=(0,c.default)(e,["options","optionType","buttonStyle","onlyRadio","className","value","isWrappedValue"]),h=(0,s.default)(t).call(t,(e=>"default"===a?p.default.createElement(d.default,{value:e.value,key:e.value,disabled:e.disabled},e.label):p.default.createElement(d.default.Button,{value:e.value,key:e.value,disabled:e.disabled},e.label)));return p.default.createElement(d.default.Group,(0,u.default)({optionType:a,buttonStyle:n},f,{className:(0,m.default)(l,r?g.default["only-radio"]:""),onChange:this.onChange,value:this.getValue(o,i)}),h)}}t.default=y,(0,f.default)(y,"propTypes",{options:h.default.array,onChange:h.default.func,optionType:h.default.string,buttonStyle:h.default.string,onlyRadio:h.default.bool,isWrappedValue:h.default.bool}),(0,f.default)(y,"defaultProps",{options:[],optionType:"button",buttonStyle:"solid",onlyRadio:!1,isWrappedValue:!1})},1926:function(e,t,a){var n=a(1927);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1927:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__only-radio--3nQs4 .ant-radio-button-wrapper {\n margin-left: 8px;\n border-left-width: 1px;\n border-radius: 4px;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper::before {\n display: none;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper:first-child {\n margin-left: 0;\n border-radius: 4px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","only-radio":"index__only-radio--3nQs4"}},1928:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(54)),s=i(a(77));a(1303);var u=i(a(1290)),d=i(a(343));a(231);var c=i(a(341)),f=i(a(1378)),p=i(a(35)),h=i(a(601)),m=i(a(92)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(564),i(a(1935)));function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends g.Component{constructor(){super(...arguments),(0,p.default)(this,"getValueContent",(e=>(0,h.default)(e)?"-":(0,m.default)(e)?(0,o.default)(e).call(e,((t,a)=>g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{key:"value-".concat(a)},t),a!==e.length-1&&g.default.createElement("br",null)))):e)),(0,p.default)(this,"onClick",(()=>{var{onClick:e}=this.props;e&&e()}))}renderTitle(){var{title:e}=this.props;return g.default.createElement("span",null,e," ",g.default.createElement(c.default,{type:"link",icon:g.default.createElement(f.default,null),onClick:this.onClick}))}renderItem(){var{items:e}=this.props,t=(0,o.default)(e).call(e,((e,t)=>{var a,{label:n,value:r,span:l,contentStyle:i={}}=e,o=this.getValueContent(r),c={label:n,key:(0,s.default)(a="item-".concat(n,"-")).call(a,t),className:v.default.label};return l&&(c.span=l),g.default.createElement(u.default.Item,(0,d.default)({contentStyle:i},c),o)}));return g.default.createElement(u.default,{title:this.renderTitle(),colon:!1},t)}render(){return g.default.createElement("div",null,this.renderItem())}}t.default=b},1935:function(e,t,a){var n=a(1936);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1936:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__label--1lhix {\n vertical-align: top;\n}\n.index__label--1lhix .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n",""]),t.locals={label:"index__label--1lhix"}},1937:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(164)),m=p(n(63)),g=p(n(77));n(1261);var v=p(n(1262));n(569);var y=p(n(1253)),b=p(n(58)),x=p(n(35)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(565));function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{if(a&&a.length&&(0,h.default)(a).call(a,n)){var r,l=t("Name can not be duplicated");return m.default.reject(new Error((0,g.default)(r="".concat(t("Invalid: "))).call(r,l)))}return m.default.resolve(!0)}},i={validator:this.getRuleValidator(r)};return n&&n.length>0?[...n,i,l]:[i,l]}getMessage(e){var{withoutChinese:t,isFile:a,isKeypair:n,isStack:r,isCrontab:l,isImage:i,isInstance:o,isSwiftFile:s,isDatabaseName:u,isDatabaseUserName:d}=e;return t?I:r?T:a?N:n?E:l?A:i?j:o?P:s?D:u?L:d?O:S}getPropsFromComponentProps(){var{componentProps:e}=this.props,{withoutChinese:t=!1,isFile:a=!1,isKeypair:n=!1,isSwiftFile:r=!1,isDatabaseName:l=!1,isDatabaseUserName:i=!1,isStack:o,isCrontab:s,isImage:u,isInstance:d,names:c}=e;return{ruleProps:{names:c,withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},messageProps:{withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},restProps:(0,b.default)(e,["withoutChinese","isFile","isKeypair","isSwiftFile","isDatabaseName","isDatabaseUserName","isStack","isCrontab","isImage","isInstance","names"])}}get ruleProps(){var{formItemProps:e}=this.props,{rules:t}=e,{ruleProps:a}=this.getPropsFromComponentProps();return M(M({},a),{},{rules:t})}get messageProps(){var{messageProps:e}=this.getPropsFromComponentProps();return e}get formItemProps(){var{formItemProps:e}=this.props,{rules:t}=e,a=(0,b.default)(e,["rules"]),n=this.getRules(this.ruleProps),r=this.getMessage(this.messageProps);return M(M({},a),{},{rules:n,extra:r})}get inputProps(){var{isFile:e}=this.ruleProps,{restProps:a}=this.getPropsFromComponentProps();return M({placeholder:e?t("Please input file name"):t("Please input name")},a)}render(){var e=this.formItemProps,{inputProps:t}=this;return w.default.createElement(v.default.Item,e,w.default.createElement(y.default,t))}}a.default=W,(0,x.default)(W,"isFormItem",!0)},1938:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{this.setState({inputValue:e});var{onChange:t}=this.props;t&&t(e)}));var{value:t,max:a,min:n,description:r}=e,l=(0,o.default)(t,10);this.state={inputValue:(0,s.default)(l)?1:t,inputMax:a,inputMin:n,description:r}}static getDerivedStateFromProps(e,t){var{min:a,max:n,description:r}=e;return a!==t.inputMin||n!==t.inputMax||r!==t.description?{inputMin:a,inputMax:n,description:r}:null}render(){var{inputValue:e,inputMax:t,inputMin:a,description:n}=this.state;return h.default.createElement(u.default,null,h.default.createElement(c.default,{span:16},h.default.createElement(f.default,{min:a,max:t,onChange:this.onChange,value:e})),h.default.createElement(c.default,{span:4},h.default.createElement(d.default,{min:a,max:t,style:{marginLeft:8},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),value:e,onChange:this.onChange})),h.default.createElement(c.default,{span:24},h.default.createElement("span",{style:{fontStyle:"italic",color:"#7b8997"}},n)))}}t.default=v,(0,p.default)(v,"propTypes",{value:m.default.number,max:m.default.number,min:m.default.number,description:m.default.string}),(0,p.default)(v,"defaultProps",{max:500,min:0,value:0})},1944:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(35)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),u=i(a(16)),d=i(a(4)),c=i(a(1945));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}class p extends s.Component{render(){var{label:e,className:t}=this.props;return s.default.createElement("div",{className:(0,d.default)(c.default.title,t)},e)}}t.default=p,(0,o.default)(p,"propTypes",{label:u.default.string,className:u.default.string}),(0,o.default)(p,"defaultProps",{label:""})},1945:function(e,t,a){var n=a(1946);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1946:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__title--30RRB {\n margin-left: 12px;\n font-weight: bold;\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",title:"index__title--30RRB"}},1947:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1445);var s=o(n(1446)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)}))}render(){var{value:e,className:t,checkedText:a,uncheckedText:n,disabled:r}=this.props,l={checked:e,className:t,checkedChildren:a,unCheckedChildren:n,disabled:r,onChange:this.onChange};return d.default.createElement(s.default,l)}}a.default=p,(0,u.default)(p,"propTypes",{value:c.default.bool,className:c.default.string,checkedText:c.default.string,uncheckedText:c.default.string,disabled:c.default.bool,onChange:c.default.func}),(0,u.default)(p,"defaultProps",{value:!1,checkedText:t("On"),uncheckedText:t("Off"),disabled:!1})},1950:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(583);var o=i(a(420)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=c(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),d=(a(161),i(a(16)));function c(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(c=function(e){return e?a:t})(e)}class f extends u.Component{constructor(){super(...arguments),(0,s.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e.target.checked)}))}render(){var{value:e,className:t,content:a,disabled:n}=this.props,r={checked:e,className:t,disabled:n,onChange:this.onChange};return u.default.createElement(o.default,r,a)}}t.default=f,(0,s.default)(f,"propTypes",{value:d.default.bool,className:d.default.string,content:d.default.any,disabled:d.default.bool,onChange:d.default.func}),(0,s.default)(f,"defaultProps",{value:!1,content:""})},1951:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(29)),d=o(n(164)),c=o(n(91)),f=o(n(35));n(1548);var p=o(n(1549)),h=o(n(343));n(584);var m=o(n(586)),g=o(n(58)),v=o(n(177)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),o(n(1958))),x=o(n(16));function w(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(w=function(e){return e?a:t})(e)}var k=e=>{var{leftColumns:t,rightColumns:a,pageSize:n,loading:r,onRowLeft:l,onRowRight:i}=e,o=(0,g.default)(e,["leftColumns","rightColumns","pageSize","loading","onRowLeft","onRowRight"]);return y.default.createElement(p.default,(0,h.default)({},o,{showSelectAll:!1}),(e=>{var{direction:o,filteredItems:c,onItemSelectAll:f,onItemSelect:p,selectedKeys:h,disabled:g}=e,v="left"===o?t:a,x={getCheckboxProps:e=>({disabled:g||e.disabled}),onSelectAll(e,t){var a,n=(0,s.default)(a=(0,u.default)(t).call(t,(e=>!e.disabled))).call(a,(e=>{var{key:t}=e;return t})),r=e?(0,b.default)(n,h):(0,b.default)(h,n);f(r,e)},onSelect(e,t){var{key:a}=e;p(a,t)},selectedRowKeys:h},w={pageSize:n},k=("left"===o?l:i)||(e=>{var{key:t,disabled:a}=e;return{onClick:()=>{a||g||p(t,!(0,d.default)(h).call(h,t))}}});return y.default.createElement(m.default,{loading:r,rowSelection:x,columns:v,dataSource:c,pagination:w,size:"small",style:{pointerEvents:g?"none":null},onRow:k})}))};class C extends y.Component{constructor(e){super(e),(0,f.default)(this,"getTargetKey",(()=>{var{oriTargetKeys:e,value:t}=this.props;if(!(0,v.default)(e)||!(0,v.default)(t)){var{onChange:a}=this.props;a&&a(e||t||[])}})),(0,f.default)(this,"onChange",(e=>{this.setState({targetKeys:e});var{onChange:t}=this.props;t&&t(e)})),this.state={targetKeys:[]}}static getDerivedStateFromProps(e,t){var{value:a=[]}=e;return a!==t.targetKeys?{targetKeys:a}:null}componentDidMount(){this.getTargetKey()}render(){var{disabled:e,showSearch:t,leftTableColumns:a,rightTableColumns:n,dataSource:r,filterOption:l,titles:i,pageSize:o,loading:s,onRowLeft:u,onRowRight:d}=this.props,{targetKeys:c}=this.state;return y.default.createElement(y.default.Fragment,null,y.default.createElement(k,{titles:i,pageSize:o,dataSource:r,targetKeys:c,disabled:e,showSearch:t,onChange:this.onChange,filterOption:l,leftColumns:a,rightColumns:n,loading:s,onRowLeft:u,onRowRight:d}))}}a.default=C,(0,f.default)(C,"propTypes",{titles:x.default.array,leftTableColumns:x.default.array.isRequired,rightTableColumns:x.default.array.isRequired,dataSource:x.default.array.isRequired,disabled:x.default.bool,showSearch:x.default.bool,filterOption:x.default.func,onChange:x.default.func,value:x.default.array,pageSize:x.default.number,loading:x.default.bool,onRowLeft:x.default.func,onRowRight:x.default.func}),(0,f.default)(C,"defaultProps",{titles:[t("Optional list"),t("Selected list")],disabled:!1,showSearch:!0,filterOption:(e,t)=>{var a;return-1!==(0,c.default)(a=t.name).call(a,e)},onChange:null,value:[],pageSize:5,loading:!1})},1961:function(e,t,a){var n=a(1962);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1962:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__cpu--1lkn3 {\n margin-right: 8px;\n}\n.index__ram--1uTZP {\n margin-right: 8px;\n margin-left: 16px;\n}\n",""]),t.locals={cpu:"index__cpu--1lkn3",ram:"index__ram--1uTZP"}},1963:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(28)),s=i(a(91)),u=i(a(54)),d=i(a(343));a(1246);var c=i(a(1247));a(1244);var f=i(a(1245));a(583);var p=i(a(420)),h=i(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),g=(a(161),i(a(16)));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends m.Component{constructor(){super(...arguments),(0,h.default)(this,"onChange",(e=>{var{onChange:t,options:a}=this.props,n={};(0,o.default)(e).call(e,(e=>{n[e]=!0})),(0,o.default)(a).call(a,(t=>{var{value:a}=t;n[a]=(0,s.default)(e).call(e,a)>=0})),t&&t(n)})),(0,h.default)(this,"getValues",(()=>{var{value:e,options:t}=this.props,a=[];return(0,o.default)(t).call(t,(t=>{var n=t.value;e[n]&&a.push(n)})),a}))}render(){var{className:e,options:t,span:a}=this.props,n=this.getValues(),r={className:e,onChange:this.onChange};return m.default.createElement(p.default.Group,(0,d.default)({},r,{value:n,style:{width:"100%"}}),m.default.createElement(c.default,null,(0,u.default)(t).call(t,(e=>m.default.createElement(f.default,{span:a,key:e.value},m.default.createElement(p.default,{value:e.value,disabled:!!e.disabled},e.label))))))}}t.default=y,(0,h.default)(y,"propTypes",{value:g.default.object,className:g.default.string,options:g.default.array,onChange:g.default.func,span:g.default.number}),(0,h.default)(y,"defaultProps",{value:{},options:[],span:8})},1964:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1535);var s=o(n(1536));n(231);var u=o(n(341));n(569);var d=o(n(1253)),c=o(n(343)),f=o(n(58)),p=o(n(49)),h=o(n(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),g=(n(161),n(1553)),v=o(n(16));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends m.Component{constructor(){var e;super(...arguments),e=this,(0,h.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,h.default)(this,"handleUpload",function(){var t=(0,p.default)((function*(t){var a=yield(0,g.getText)(t);return e.onChange(a),!1}));return function(e){return t.apply(this,arguments)}}()),(0,h.default)(this,"onChangeInput",(e=>{this.onChange(e)}))}render(){var e=this.props,{value:a,placeholder:n,accept:r}=e,l=(0,f.default)(e,["value","placeholder","accept"]);return m.default.createElement(m.default.Fragment,null,m.default.createElement(d.default.TextArea,(0,c.default)({placeholder:n,value:a,onChange:this.onChange,style:{fontFamily:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'}},l)),m.default.createElement(s.default,{beforeUpload:this.handleUpload,showUploadList:!1,accept:r},m.default.createElement(u.default,{type:"link"},t("Load from local files"))))}}a.default=b,(0,h.default)(b,"propTypes",{value:v.default.string,placeholder:v.default.string,accept:v.default.any,onChange:v.default.func}),(0,h.default)(b,"defaultProps",{value:"",placeholder:t("Please input"),accept:"",onChange:e=>{}})},1965:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(231);var p=f(n(341)),h=f(n(1347));n(1246);var m=f(n(1247)),g=f(n(1442));n(1244);var v=f(n(1245));n(1261);var y=f(n(1262)),b=f(n(343)),x=f(n(35)),w=f(n(29)),k=f(n(54)),C=f(n(232)),_=f(n(63)),M=f(n(0)),S=(n(161),n(564),f(n(1966))),I=n(565);function N(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}var{isIPv4:E,isIpv6:T}=I.ipValidate,A=e=>{var a,{componentProps:n,formItemProps:r}=e,{subnets:l,maxNumber:i=10,formRef:f}=n,{name:I,value:A=[],onChange:j}=r,P=(0,w.default)(a=(0,k.default)(l).call(l,(e=>function(e){for(var t=1;t!(0,C.default)(A).call(A,(t=>!!t&&t.subnet===e.value))));return M.default.createElement(M.default.Fragment,null,M.default.createElement(y.default.Item,r,0===P.length?M.default.createElement("div",null,t("The selected network has no subnet")):M.default.createElement(y.default.List,{name:I},((e,a)=>{var{add:n,remove:r}=a;return M.default.createElement(M.default.Fragment,null,(0,k.default)(e).call(e,(e=>M.default.createElement(m.default,{key:e.key,gutter:[16,16]},M.default.createElement(v.default,{span:22},M.default.createElement(y.default.Item,(0,b.default)({},e,{validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{if(!a||!a.subnet)return _.default.reject(new Error(t("Missing Subnet")));if("manual"===a.ip_address.type){var{ip:n}=a.ip_address||{};if(!n)return _.default.reject(new Error(t("Missing IP Address")));if(!E(n)&&!T(n))return _.default.reject(new Error(t("Invalid: Please input a valid ip")))}return _.default.resolve(!0)}}]}),M.default.createElement(S.default,{field:e,subnetsAvailable:P,onChange:e=>{return t=e,void(j&&j(t));var t}}))),M.default.createElement(v.default,{span:2},M.default.createElement(g.default,{onClick:()=>{r(e.name),f.current.validateFields([I])}}))))),e.length{n(),f.current.validateFields([I])},block:!0,icon:M.default.createElement(h.default,null)},t("Add IP")))}))))};A.isFormItem=!0;var j=A;a.default=j},1966:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(1244);var m=p(n(1245));n(568);var g=p(n(415)),v=p(n(35)),y=p(n(86)),b=p(n(77)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),p(n(1967)));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var a,{subnetsAvailable:n,onChange:r,value:l}=e;l=l||{subnet:void 0,ip_address:{type:"dhcp",ip:void 0}};var[i,o]=(0,x.useState)(l.subnet),[s,u]=(0,x.useState)(l.ip_address),[d,c]=(0,x.useState)(!!l.subnet||!1),f=(0,y.default)(n).call(n,(e=>e.id===i)),p=e=>{var t=_(_({},l),{},{subnet:i,ip_address:s},e);r&&r(t)};return x.default.createElement(h.default,{gutter:[16,16]},x.default.createElement(m.default,{span:8},x.default.createElement(g.default,{placeholder:t("Please select"),options:n,value:i,onChange:(e,t)=>{o(t.value),c(!0),p({subnet:t.value})}}),f&&x.default.createElement("div",{style:{marginTop:16}},(0,b.default)(a="".concat(t("Cidr"),": ")).call(a,f.cidr))),f&&d&&x.default.createElement(m.default,{span:14},x.default.createElement(w.default,{value:s,version:f.ip_version||4,onChange:e=>{u(e),p({ip_address:e})}})))};a.default=M},1967:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(568);var v=p(n(415)),y=p(n(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{value:a={},onChange:n}=e,[r,l]=(0,b.useState)(a.type||"dhcp"),[i,o]=(0,b.useState)(a.ip||void 0),s=e=>{n&&n(k(k({ip:i,type:r},a),e))};return b.default.createElement(h.default,{gutter:[16]},b.default.createElement(g.default,{span:12},b.default.createElement(v.default,{value:r,onChange:e=>{var t=e||"dhcp";l(t),s({type:t})},options:[{value:"dhcp",label:t("Automatically Assigned Address")},{value:"manual",label:t("Manual input")}]})),b.default.createElement(g.default,{span:12},"manual"===r&&b.default.createElement(m.default,{onChange:e=>{var t=e.currentTarget.value;o(t),s({ip:t})},defaultValue:i})))}},1968:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(1261);var v=p(n(1262));n(568);var y=p(n(415)),b=p(n(35)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),n(565));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{name:t}=this.state;this.setState({name:_(_({},t),{},{type:e})},(()=>{var{onChange:e}=this.props;e&&e(this.state.name)}))})),(0,b.default)(this,"handleInputChange",(e=>{var{name:t}=this.state;this.setState({name:_(_({},t),{},{mac:e})})})),this.state={name:{type:"",mac:""}}}render(){var{value:e,name:a,options:n}=this.props,{type:r}=e||{type:void 0};return x.default.createElement(h.default,{gutter:16},x.default.createElement(g.default,{span:12},x.default.createElement(v.default.Item,{name:[a,"type"],style:{marginBottom:0}},x.default.createElement(y.default,{placeholder:t("Please select"),options:n||[{label:t("Auto allocate mac address"),value:"auto"},{label:t("Manual input"),value:"manual"}],onChange:this.handleSelectChange}))),x.default.createElement(g.default,{span:12},e&&"manual"===r?x.default.createElement(v.default.Item,{hidden:"auto"===r||void 0===r,name:[a,"mac"],rules:[{validator:w.macAddressValidate,required:!0,message:t('Invalid Mac Address. Please Use ":" as separator.')}],style:{marginBottom:0}},x.default.createElement(m.default,{maxLength:17,onChange:this.handleInputChange})):null))}}var S=M;a.default=S},1969:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(28)),m=p(n(32)),g=p(n(86)),v=p(n(91)),y=p(n(77)),b=p(n(54)),x=p(n(29)),w=p(n(164)),k=p(n(350)),C=p(n(591));n(1548);var _=p(n(1549));n(344);var M=p(n(202));n(584);var S=p(n(586));n(1970);var I=p(n(1973)),N=p(n(58));n(1278);var E=p(n(1279));n(569);var T=p(n(1253));n(568);var A=p(n(415)),j=p(n(35)),P=p(n(570)),D=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=z(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),L=n(36),O=(n(161),n(163)),R=p(n(1988));function z(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(z=function(e){return e?a:t})(e)}function U(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function F(e){for(var t=1;t{var t,{value:a,metadata:n=[]}=e,r=[],l={};return(0,h.default)(t=(0,m.default)(a)).call(t,(e=>{var t=(0,g.default)(n).call(n,(t=>{var a,{detail:{properties:n={}}={}}=t;return(0,v.default)(a=(0,m.default)(n)).call(a,e)>=0}));if(t){var i,{namespace:o}=t,s=(0,y.default)(i="".concat(o,"--")).call(i,e);r.push(s),l[s]=a[e]}})),{checkedKeys:[],targetKeys:r,values:l,selectedKeysTable:[]}})),(0,j.default)(this,"onValuesChange",(e=>{var t,{onChange:a}=this.props,n={};(0,h.default)(t=(0,m.default)(e)).call(t,(t=>{var a=t.split("--")[1];n[a]=String(e[t])})),a&&a(n)})),(0,j.default)(this,"onInputChange",((e,t)=>{var{key:a}=t,{values:n={}}=this.state,r=e.target?e.target.value:e;n[a]=r,this.setState({values:n}),this.onValuesChange(n)})),(0,j.default)(this,"renderInput",(e=>{var{type:a,defaultValue:n,operators:r,enum:l=[],minimum:i,maximum:o,items:s={}}=e&&e.detail||{};if("boolean"===a){var u=(0,O.getYesNoList)();return D.default.createElement(A.default,{options:u,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if("integer"===a||"number"===a||"string"===a&&0===l.length){var d={defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please input"),required:!0};return void 0!==i&&(d.minimum=i),void 0!==o&&(d.maximum=o),"string"===a?D.default.createElement(T.default,d):("integer"===a&&(d.precision=0,d.formatter=e=>"$ ".concat(e).replace(/\D/g,"")),D.default.createElement(E.default,d))}if(l.length>0){var c=(0,b.default)(l).call(l,(e=>({value:e,label:e})));return D.default.createElement(A.default,{options:c,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if(s.enum){var f={defaultValue:n,items:s,operators:r,onChange:t=>this.onInputChange(t,e)};return D.default.createElement(R.default,f)}return null})),(0,j.default)(this,"flatten",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,h.default)(e).call(e,(e=>{var{children:n=[]}=e;t.push(e),a.flatten(n,t)}))})),(0,j.default)(this,"getTreeData",(()=>{var e=[];return this.flatten(this.metadata,e),e})),(0,j.default)(this,"getTreeDataWithoutFather",(()=>{var e=[];return this.flatten(this.metadata,e),(0,x.default)(e).call(e,(e=>{var t;return(0,v.default)(t=e.key).call(t,"--")>=0}))})),(0,j.default)(this,"getAllTreeKeys",(()=>{var e=this.getTreeData();return(0,b.default)(e).call(e,(e=>e.key))})),(0,j.default)(this,"generateTree",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,b.default)(e).call(e,(e=>{var{children:n}=e,r=(0,N.default)(e,["children"]);return F(F({},r),{},{disabled:(0,w.default)(t).call(t,r.key),children:a.generateTree(n,t)})}))})),(0,j.default)(this,"isChecked",((e,t)=>-1!==(0,v.default)(e).call(e,t))),(0,j.default)(this,"isChildKey",(e=>(0,v.default)(e).call(e,"--")>=0)),(0,j.default)(this,"onCheckTree",(e=>t=>{var a=this.getAllTreeKeys();(0,h.default)(a).call(a,(a=>{var n=(0,v.default)(t).call(t,a)>=0;this.isChildKey(a)&&e(a,n)})),this.setState({checkedKeys:t})})),(0,j.default)(this,"renderTree",(e=>{var{onItemSelect:t,targetKeys:a}=e,{checkedKeys:n}=this.state;return D.default.createElement(I.default,{blockNode:!0,checkable:!0,checkedKeys:n,treeData:this.generateTree(this.metadata,a),onCheck:this.onCheckTree(t)})})),(0,j.default)(this,"renderTable",(e=>{var{filteredItems:t,onItemSelectAll:a,onItemSelect:n,disabled:r}=e,{selectedKeysTable:l}=this.state,i=this,o={getCheckboxProps:e=>({disabled:r||e.disabled}),onSelectAll(e,t){var n=e?(0,b.default)(t).call(t,(e=>e.key)):[];a(e?n:l,e),i.setState({selectedKeysTable:n})},onSelect(e,t){var{key:a}=e;n(a,t);var r=[];r=t?[...l,a]:(0,x.default)(l).call(l,(e=>e!==a)),i.setState({selectedKeysTable:r})},selectedRowKeys:l};return D.default.createElement(S.default,{rowSelection:o,columns:this.columns,dataSource:t,size:"small",pagination:!1,style:{pointerEvents:r?"none":null}})})),(0,j.default)(this,"getChildKeys",(e=>{var t,a=[];return(0,h.default)(t=this.metadata).call(t,(t=>{var n;(0,h.default)(n=t.children||[]).call(n,(t=>{t.namespace===e&&a.push(t.key)}))})),a})),(0,j.default)(this,"getDefaultValue",((e,t)=>{var{type:a,default:n,defaultValue:r,operators:l,enum:i=[],minimum:o,items:s={}}=e||{},{values:u}=this.state;return(0,P.default)(u,t)?u[t]:n||(r||("boolean"===a||("string"===a&&0===i.length?r:"string"===a&&i.length>0?r||i[0]:"integer"===a||"number"===a?r||o||0:i.length>0?i[0]:s.enum?l[0]:null)))})),(0,j.default)(this,"getItemDefaultValue",(e=>{var t,a,n=e.split("--");if(!(n.length<1)){var r=n[0],l=n[1],i=(0,g.default)(t=this.metadata).call(t,(e=>e.key===r));if(i){var o=(0,g.default)(a=i.children).call(a,(e=>e.realKey===l));if(o)return this.getDefaultValue(o.detail||{},e)}}})),(0,j.default)(this,"onTransferChange",((e,t,a)=>{var n=[];(0,h.default)(e).call(e,(e=>{if(e.split("--").length>1)n.push(e);else{var t=this.getChildKeys(e);n.push(...t)}}));var r=(0,k.default)(new C.default(n)),{values:l={}}=this.state,i={};(0,h.default)(r).call(r,(e=>{l[e]?i[e]=l[e]:i[e]=this.getItemDefaultValue(e)}));var{selectedKeysTable:o}=this.state,s="right"===t?[...o,...r]:(0,x.default)(o).call(o,(e=>(0,v.default)(a).call(a,e)<0)),u="right"===t?[]:a;this.setState({targetKeys:r,values:i,selectedKeysTable:s,checkedKeys:u}),this.onValuesChange(i)})),(0,j.default)(this,"onTransferSelectChange",((e,t)=>{this.setState({checkedKeys:e,selectedKeysTable:t})})),(0,j.default)(this,"getTransferSelectedKeys",(()=>{var{checkedKeys:e=[],selectedKeysTable:t=[]}=this.state,a=(0,x.default)(e).call(e,(e=>this.isChildKey(e)));return(0,k.default)(new C.default([...a,...t]))})),(0,j.default)(this,"renderTransferItem",(e=>D.default.createElement(M.default,{title:e.description},e.title||e.display_name))),this.state=this.initState(e)}get metadata(){var e,t=this,{metadata:a}=this.props;return(0,b.default)(e=a||[]).call(e,(e=>{var a,n,r,{detail:{properties:l={}}={},namespace:i,description:o,display_name:s,isObject:u,objName:d}=(0,L.toJS)(e),c=(0,b.default)(a=(0,m.default)(l)).call(a,(e=>{var a,n,r,o,c=(0,L.toJS)(l[e]),f=(0,y.default)(a="".concat(i,"--")).call(a,e),p=F(F({},c),{},{defaultValue:t.getDefaultValue(c,f)}),h=u?(0,y.default)(r=(0,y.default)(o="".concat(s," - ")).call(o,d," > ")).call(r,c.title):(0,y.default)(n="".concat(s," > ")).call(n,c.title),m=D.default.createElement("div",null,D.default.createElement("p",null,h),D.default.createElement("p",null,c.description));return{key:f,namespace:i,realKey:e,title:D.default.createElement(M.default,{title:m},c.title),description:c.description,detail:p}})),f=u?(0,y.default)(n="".concat(s," - ")).call(n,d):s,p=u?(0,y.default)(r="".concat(i,"-")).call(r,d):null,h=u?D.default.createElement("div",null,D.default.createElement("p",null,o),D.default.createElement("p",null,e.objDescription)):null;return{key:p||i,namespace:i,objectNamespace:p,description:h||o,title:D.default.createElement(M.default,{title:h||o},f),children:c}}))}get columns(){return[{dataIndex:"title",title:t("Name")},{dataIndex:"detail",title:t("Value"),render:(e,t)=>this.renderInput(t)}]}render(){var{targetKeys:e}=this.state,t=this.getTreeDataWithoutFather(),a=this.getTransferSelectedKeys();return D.default.createElement(_.default,{onChange:this.onTransferChange,onSelectChange:this.onTransferSelectChange,targetKeys:e,selectedKeys:a,dataSource:t,className:"tree-transfer",render:this.renderTransferItem,showSelectAll:!1},(a=>{var{direction:n,onItemSelect:r,onItemSelectAll:l,filteredItems:i,disabled:o}=a;return"left"===n?this.renderTree({onItemSelect:r,dataSource:t,targetKeys:e}):"right"===n?this.renderTable({filteredItems:i,onItemSelectAll:l,onItemSelect:r,disabled:o}):void 0}))}}a.default=B},1988:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(86)),u=o(n(91)),d=o(n(54)),c=o(n(77));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends h.Component{constructor(e){super(e),(0,p.default)(this,"getDefaultOperator",(()=>{var{defaultValue:e,operators:t}=this.props;return(0,s.default)(t).call(t,(t=>0===(0,u.default)(e).call(e,t)))||t[0]})),(0,p.default)(this,"getDefaultEnums",(()=>{var{defaultValue:e}=this.props,t=this.getDefaultOperator(),a=e.split("".concat(t," "));return 2===a.length&&a[1]?a[1].split(","):[]})),(0,p.default)(this,"getOptions",(()=>{var{operators:e=[]}=this.props;return(0,d.default)(e).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"getEnumOptions",(()=>{var e,{items:t={enum:[]}}=this.props;return(0,d.default)(e=t.enum).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;if(e){var t,{operator:a,enums:n}=this.state;e((0,c.default)(t="".concat(a," ")).call(t,n.join(",")))}})),(0,p.default)(this,"onChangeOperator",(e=>{this.setState({operator:e},this.onChangeValue)})),(0,p.default)(this,"onChangeEnum",(e=>{this.setState({enums:e},this.onChangeValue)})),this.state={operator:this.getDefaultOperator(e),enums:this.getDefaultEnums(e)}}render(){var e=this.getOptions(),a=this.getEnumOptions(),n=this.getDefaultOperator(),r=this.getDefaultEnums();return h.default.createElement("div",null,h.default.createElement(f.default,{options:e,defaultValue:n,onChange:this.onChangeOperator,placeholder:t("Please select")}),h.default.createElement(f.default,{options:a,mode:"tags",defaultValue:r,onChange:this.onChangeEnum,placeholder:t("Please select")}))}}a.default=g},1989:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkSelectTable=void 0;var h=p(n(29)),m=p(n(91)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(233),k=n(342),C=n(571),_=n(163),M=n(567);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class N extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t,a=(0,C.networkColumns)(this);a[0].render=null;var{key:n}=e;return"project"===n?(0,h.default)(a).call(a,(e=>"project_id"!==e.dataIndex)):(0,m.default)(t=["shared","router:external"]).call(t,n)>=0?(0,h.default)(a).call(a,(e=>e.dataIndex!==n)):a})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getNetworkFilters",(e=>{var{key:a}=e,n=[{label:t("Name"),name:"name"}];return"shared"!==a&&n.push({label:t("Shared"),name:"shared",options:k.yesNoOptions}),this.showExternal&&"external"!==a&&n.push({label:t("External Network"),name:"router:external",options:k.yesNoOptions}),"project"!==a&&n.push({label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]}),n})),(0,v.default)(this,"getNetworkExtraParams",(e=>{var{key:t}=e;return"project"===t?{project_id:this.currentProjectId}:"shared"===t?{shared:!0}:"external"===t?{"router:external":!0}:{}})),this.stores={project:new w.NetworkStore,shared:new w.NetworkStore,external:new w.NetworkStore,all:new w.NetworkStore}}get location(){var{location:e={}}=(this.props.rootStore||{}).routing||{};return e}get isAdminPage(){var{pathname:e}=this.location;return(0,_.isAdminPage)(e)}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Current Project Networks"),key:"project"},{title:t("Shared Networks"),key:"shared"}];return this.showExternal&&e.push({title:t("External Networks"),key:"external"}),this.hasAdminRole&&e.push({title:t("All Networks"),key:"all"}),(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,M.getPath)({key:n,params:t,query:a})}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(){return this.props.disabledFunc}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.NetworkSelectTable=N;var E=(0,b.inject)("rootStore")((0,b.observer)(N));a.default=E},1993:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.VolumeSelectTable=void 0;var h=p(n(29)),m=p(n(86)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(414),k=n(566);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class M extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t=k.volumeColumns,{key:a}=e;return"available"===a?(0,h.default)(t).call(t,(e=>"status"!==e.dataIndex&&"attachments"!==e.dataIndex)):"shared"===a?(0,h.default)(t).call(t,(e=>"multiattach"!==e.dataIndex)):t})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getVolumeFilters",(e=>{var{key:t}=e,a=[...k.volumeFilters];return"shared"===t?(0,h.default)(a).call(a,(e=>"multiattach"!==e.name)):"available"===t?(0,h.default)(a).call(a,(e=>"status"!==e.name)):a})),(0,v.default)(this,"getVolumeExtraParams",(e=>{var{key:t}=e;return"shared"===t?{multiattach:!0}:"available"===t?{status:"available"}:{}})),(0,v.default)(this,"disallowedMultiAttach",(e=>{var{attachments:t=[]}=e,{serverId:a}=this.props;return!!(0,m.default)(t).call(t,(e=>e.server_id===a))})),this.stores={available:new w.VolumeStore,shared:new w.VolumeStore}}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Available"),key:"available"},{title:t("Shared"),key:"shared"}];return(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(e){if("available"===e.key){var{disabledFunc:t=null}=this.props;return t}return this.disallowedMultiAttach}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.VolumeSelectTable=M;var S=(0,b.inject)("rootStore")((0,b.observer)(M));a.default=S},1994:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1995);var s=o(n(1998)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,u.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e}))}render(){var{treeData:e,placeholder:a=t("Please select"),disabled:n=!1}=this.props;return d.default.createElement(s.default,{className:this.props.className,showSearch:!0,allowClear:!0,placeholder:a,treeData:e,disabled:n,value:this.getValue(),onChange:this.onChange})}}a.default=p,p.propTypes={value:c.default.oneOfType([c.default.array,c.default.string]),isWrappedValue:c.default.bool,treeData:c.default.array,onChange:c.default.func}},1999:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(568);var o=i(a(415)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=d(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function d(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(d=function(e){return e?a:t})(e)}class c extends u.Component{constructor(e){super(e),(0,s.default)(this,"onChange",(e=>{this.setState({value:e,inputVal:void 0},(()=>{var{formRef:t,onChange:a,name:n}=this.props;t.current&&t.current.setFieldsValue({[n]:e}),a&&a(e)}))})),(0,s.default)(this,"onSearch",(e=>{e&&this.setState({inputVal:e})})),(0,s.default)(this,"onBlur",(()=>{var{inputVal:e}=this.state;e&&this.onChange(e)})),this.state={value:void 0,inputVal:void 0}}render(){var{options:e=[],filterOption:t=!1}=this.props,{value:a}=this.state;return u.default.createElement(o.default,{showSearch:!0,value:a,style:{width:"100%",height:"100%"},onChange:this.onChange,onSearch:this.onSearch,onBlur:this.onBlur,filterOption:t,onFocus:this.onFocusSelect,showArrow:!1,options:e,getPopupContainer:()=>document.body})}}t.default=c},2e3:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=k;var p=f(a(77)),h=f(a(164));a(569);var m=f(a(1253));a(568);var g=f(a(415)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),b=(a(161),a(2001));function x(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){var{value:t,options:a,onChange:n}=e,[r,l]=(0,y.useState)(t.split(" ")[0]),[c,f]=(0,y.useState)(t.split(" ")[1]);(0,y.useEffect)((()=>{var[e,a]=t.split(" ");e===r&&a===c||(l(e),f(a))}),[t]);var b=e=>{var t,a=function(e){for(var t=1;t{l(e),b({prefix:e})},style:{width:"50%"},options:a,filterOption:(e,t)=>{var a;return(0,h.default)(a=t.label.toLowerCase()).call(a,e.toLowerCase())},getPopupContainer:()=>document.body}),y.default.createElement(m.default,{value:c,onChange:e=>{var t=e.target.value;f(t),b({number:t})},style:{width:"50%"}}))}k.defaultProps={value:"+86 ",options:b.defaultCountries}},2001:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.defaultCountries=void 0;var i,o=l(n(54)),s=l(n(32)),u=l(n(77)),d={1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],240:["GQ"],241:["GA"],242:["CG"],244:["AO"],245:["GW"],246:["IO"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],385:["HR"],386:["SI"],387:["BA"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],685:["WS"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},c={CN:t("China"),TW:t("Taiwan"),HK:t("Hong Kong"),MO:t("Macau"),KR:t("South Korea"),JP:t("Japan"),MY:t("Malaysia"),SG:t("Singapore"),NZ:t("New Zealand"),AU:t("Australia"),US:t("United States"),CA:t("Canada"),VN:t("Vietnam"),IN:t("India"),ID:t("Indonesia"),TH:t("Thailand"),PH:t("Philippines"),DK:t("Denmark"),FI:t("Finland"),FR:t("France"),DE:t("Germany"),GR:t("Greece"),IE:t("Ireland"),IL:t("Israel"),IT:t("Italy"),MX:t("Mexico"),NL:t("Netherlands"),NO:t("Norway"),PT:t("Portugal"),RU:t("Russia"),ZA:t("South Africa"),ES:t("Spain"),SE:t("Sweden"),CH:t("Switzerland"),BE:t("Belgium"),GB:t("United Kingdom"),AR:t("Argentina"),BR:t("Brazil"),KH:t("Kampuchea"),LTU:t("Lithuania"),LK:t("Sri Lanka"),NG:t("Nigeria"),AF:t("Afghanistan"),AL:t("Albania"),DZ:t("Algeria"),AS:t("American Samoa"),AD:t("Andorra"),AG:t("Antigua and Barbuda"),AM:t("Armenia"),AT:t("Austria"),BS:t("Bahamas"),BH:t("Bahrain"),BD:t("Bangladesh"),BY:t("Belarus"),BM:t("Bermuda"),BA:t("Bosnia and Herzegovina"),IO:t("British Indian Ocean Territory"),BF:t("Burkina Faso"),CF:t("Central African Republic"),TD:t("Chad"),CX:t("Christmas Island"),CC:t("Cocos (Keeling) Islands"),CO:t("Colombia"),CG:t("Republic of the Congo"),ZR:t("Democratic Republic of the Congo"),CR:t("Costa Rica"),CI:t("Cote D'Ivoire"),CU:t("Cuba"),CZ:t("Czech Republic"),GQ:t("Equatorial Guinea"),EE:t("Estonia"),FK:t("Falkland Islands (Malvinas)"),PF:t("French Polynesia"),GA:t("Gabon"),GP:t("Guadeloupe"),GW:t("Guinea Bissau"),GY:t("Guyana"),HN:t("Honduras"),HU:t("Hungary"),JO:t("Jordan"),KZ:t("Kazakhstan"),KE:t("Kenya"),KW:t("Kuwait"),KG:t("Kyrgyzstan"),LS:t("Lesotho"),MG:t("Madagascar"),MV:t("Maldives"),YT:t("Mayotte"),FM:t("Micronesia"),MC:t("Monaco"),MN:t("Mongolia"),MNE:t("Montenegro"),MS:t("Montserrat"),MM:t("Myanmar"),NR:t("Nauru"),NP:t("Nepal"),AN:t("Netherlands Antilles"),NC:t("New Caledonia"),NI:t("Nicaragua"),NF:t("Norfolk Island"),KP:t("North Korea"),MP:t("Northern Mariana Islands"),OM:t("Oman"),PK:t("Pakistan"),PW:t("Palau"),PA:t("Panama"),PG:t("Papua New Guinea"),PN:t("Pitcairn"),PL:t("Poland"),PR:t("Puerto Rico"),QA:t("Qatar"),RE:t("Reunion"),VCT:t("Saint Vincent and the Grenadines"),STP:t("Sao Tome and Principe"),SA:t("Saudi Arabia"),SRB:t("Serbia"),SC:t("Seychelles"),SK:t("Slovakia (Slovak Republic)"),SI:t("Slovenia"),SZ:t("Swaziland"),TJ:t("Tajikistan"),KNA:t("The Federation of Saint Kitts and Nevis"),ABH:t("the Republic of Abkhazia"),MKD:t("The Republic of Macedonia"),SSD:t("The Republic of South Sudan"),TN:t("Tunisia"),TM:t("Turkmenistan"),TV:t("Tuvalu"),UG:t("Uganda"),UA:t("Ukraine"),AE:t("United Arab Emirates"),UY:t("Uruguay"),UZ:t("Uzbekistan"),VA:t("Vatican City State (Holy See)"),WF:t("Wallis And Futuna Islands"),EH:t("Western Sahara"),YU:t("Yugoslavia"),ZM:t("Zambia"),AO:t("Angola"),AI:t("Anguilla"),AW:t("Aruba"),AZ:t("Azerbaijan"),BB:t("Barbados"),BZ:t("Belize"),BJ:t("Benin"),BT:t("Bhutan"),BO:t("Bolivia"),BW:t("Botswana"),BN:t("Brunei Darussalam"),BG:t("Bulgaria"),BI:t("Burundi"),CM:t("Cameroon"),CV:t("Cape Verde"),KY:t("Cayman Islands"),CL:t("Chile"),KM:t("Comoros"),CK:t("Cook Islands"),HR:t("Croatia (local name: Hrvatska)"),CY:t("Cyprus"),DJ:t("Djibouti"),DM:t("Dominica"),TP:t("East Timor"),EC:t("Ecuador"),EG:t("Egypt"),SV:t("El Salvador"),ER:t("Eritrea"),ET:t("Ethiopia"),FO:t("Faroe Islands"),FJ:t("Fiji"),GF:t("French Guiana"),GM:t("Gambia"),GE:t("Georgia"),GH:t("Ghana"),GI:t("Gibraltar"),GL:t("Greenland"),GD:t("Grenada"),GU:t("Guam"),GT:t("Guatemala"),GN:t("Guinea"),HT:t("Haiti"),IS:t("Iceland"),IR:t("Iran (Islamic Republic of)"),IQ:t("Iraq"),JM:t("Jamaica"),LAO:t("Lao People's Democratic Republic"),LV:t("Latvia"),LB:t("Lebanon"),LR:t("Liberia"),LY:t("Libyan Arab Jamahiriya"),LI:t("Liechtenstein"),LU:t("Luxembourg"),MW:t("Malawi"),ML:t("Mali"),MT:t("Malta"),MH:t("Marshall Islands"),MQ:t("Martinique"),MR:t("Mauritania"),MU:t("Mauritius"),MD:t("Moldova"),MA:t("Morocco"),MZ:t("Mozambique"),NA:t("Namibia"),NE:t("Niger"),PS:t("Palestine"),PY:t("Paraguay"),PE:t("Peru"),RO:t("Romania"),RW:t("Rwanda"),WS:t("Samoa"),SM:t("San Marino"),SN:t("Senegal"),SL:t("Sierra Leone"),SB:t("Solomon Islands"),SO:t("Somalia"),SD:t("Sudan"),SR:t("Suriname"),SY:t("Syrian Arab Republic"),TZ:t("Tanzania"),TG:t("Togo"),TK:t("Tokelau"),TO:t("Tonga"),TT:t("Trinidad and Tobago"),TR:t("Turkey"),TC:t("Turks and Caicos Islands"),VU:t("Vanuatu"),VE:t("Venezuela"),VI:t("Virgin Islands (U.S.)"),YE:t("Yemen"),ZW:t("Zimbabwe")},f=(0,o.default)(i=(0,s.default)(d)).call(i,(e=>{var t,a;return{label:(0,u.default)(t="+".concat(e," ")).call(t,(0,o.default)(a=d[e]).call(a,(e=>c[e])).join(",")),value:"+".concat(e)}}));a.defaultCountries=f},2017:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,r,l,p,h,{used:m=0,add:g=0,reserved:v=0,limit:y=1,title:b="",secondTitle:x=t("Quota")}=e,w=-1!==y,k=w?y:t("Infinity"),C=w?y-m-v-g:1;C=C<0?0:C;var _=(0,s.default)(a="".concat(t("Used"),": ")).call(a,m),M=v?(0,s.default)(n="".concat(t("Reserved"),": ")).call(n,v):"",S=(0,s.default)(r="".concat(t("New"),": ")).call(r,g),I=(0,s.default)(l="".concat(t("Left"),": ")).call(l,C),N=w?[_,S,I]:[_,S];v&&(0,u.default)(N).call(N,1,0,M);var E=N.join(" / "),T=m+v+g,A=(0,d.default)(T/y*100,10),j=(0,d.default)((m+v)/y*100,10),P=(0,f.getUsedValueColor)(A),D=c.default.createElement("span",null,(0,s.default)(p="".concat(b," ")).call(p,x,": ")," ",c.default.createElement("span",{style:{color:P}},(0,s.default)(h="".concat(T,"/")).call(h,k))),L=w?c.default.createElement(o.default,{percent:A,success:{percent:j,strokeColor:f.typeColors.used},strokeColor:f.typeColors.add,showInfo:!1}):c.default.createElement(o.default,{percent:0,showInfo:!1});return c.default.createElement("div",{style:{width:150}},c.default.createElement("div",{style:{fontWeight:"bold",textAlign:"center"}},D),c.default.createElement(i.default,{title:E},L))},n(344);var i=l(n(202));n(1271);var o=l(n(1272)),s=l(n(77)),u=l(n(573)),d=l(n(234)),c=l(n(0)),f=(n(161),n(1449))},2018:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,{reserved:r=0,title:l="",secondTitle:c=t("Quota")}=e,f=(0,o.default)(a=(0,o.default)(n="".concat(l," ")).call(n,c,": ")).call(a,t("Unlimit")),p=[{dataIndex:"used",title:t("Used"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.used}},e||"-")},{dataIndex:"add",title:t("New"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.add}},e||"-")}];r&&(0,s.default)(p).call(p,1,0,{dataIndex:"reserved",title:t("Reserved"),align:"center"});return u.default.createElement("div",null,u.default.createElement(i.default,{columns:p,dataSource:[e],pagination:!1,title:()=>f,bordered:!0,size:"small"}))},n(584);var i=l(n(586)),o=l(n(77)),s=l(n(573)),u=l(n(0)),d=(n(161),n(1449))},2019:function(e,t,a){var n=a(2020);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2020:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1yn9F {\n position: relative;\n height: 100%;\n padding-top: 16px;\n background-color: #fff;\n}\n.index__wrapper--1yn9F .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--1yn9F .ant-spin-container {\n height: 100%;\n}\n.index__wrapper-page-padding--2lbhS {\n padding-top: 0;\n}\n.index__form--3rBuv {\n height: calc(100% - 48px);\n margin-right: 32px;\n margin-left: 32px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3rBuv .ant-form-item-label > label {\n margin-left: 12px;\n}\n.index__form--3rBuv .ant-form-item-label > .ant-form-item-required {\n margin-left: 0;\n}\n.index__form--3rBuv .ant-form-item-label {\n white-space: break-spaces;\n}\n.index__footer--3IW56 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--1iSOL {\n float: right;\n margin-right: 32px;\n}\n.index__btns--1iSOL button {\n margin-left: 8px;\n}\n.form-item-text {\n margin-bottom: 0;\n}\n.form-item-divider {\n width: 98% !important;\n min-width: 90% !important;\n margin-right: auto;\n margin-left: auto;\n}\n.ant-radio-button-wrapper {\n color: rgba(0, 0, 0, 0.65);\n}\n.ant-radio-button-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n}\n.index__tips--1sDt0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: 16px;\n padding: 8px 16px;\n word-break: break-word;\n background: rgba(0, 0, 0, 0.15);\n}\n.index__tips-icon--2QJ8G {\n margin-top: 2px;\n margin-right: 4px;\n color: #0068ff;\n}\n.index__footer-left--2zaZk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: left;\n -ms-flex-pack: left;\n justify-content: left;\n float: left;\n height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__submit-tip--2ljzW {\n display: inline-block;\n font-size: 16px;\n}\n.index__progress-wrapper--1uQV2 {\n width: 170px;\n}\n.index__right-top-extra-wrapper---wJzs {\n position: absolute;\n top: 0;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n.index__modal-right-extra-wrapper--2_yIQ {\n border-left: solid 2px #f2f2f2;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1yn9F","wrapper-page-padding":"index__wrapper-page-padding--2lbhS",form:"index__form--3rBuv",footer:"index__footer--3IW56",btns:"index__btns--1iSOL",tips:"index__tips--1sDt0","tips-icon":"index__tips-icon--2QJ8G","footer-left":"index__footer-left--2zaZk","submit-tip":"index__submit-tip--2ljzW","progress-wrapper":"index__progress-wrapper--1uQV2","right-top-extra-wrapper":"index__right-top-extra-wrapper---wJzs","modal-right-extra-wrapper":"index__modal-right-extra-wrapper--2_yIQ"}},2021:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(2022));class s extends o.default{static get allowed(){return l.default.resolve()}get hasConfirmStep(){return!0}}t.default=s,(0,i.default)(s,"actionType","link"),(0,i.default)(s,"buttonType","primary"),(0,i.default)(s,"isDanger",!1),(0,i.default)(s,"id","step-action"),(0,i.default)(s,"title","StepAction"),(0,i.default)(s,"path","/"),(0,i.default)(s,"policy",""),(0,i.default)(s,"aliasPolicy","")},2022:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(203)),m=f(n(1252)),g=f(n(54)),v=f(n(77)),y=f(n(345));n(347);var b=f(n(348));n(2023);var x=f(n(2026));n(231);var w=f(n(341)),k=f(n(35)),C=f(n(177)),_=f(n(1350)),M=f(n(0)),S=f(n(1270)),I=(n(161),f(n(4))),N=n(163),E=n(349),T=f(n(1351)),A=f(n(1563)),j=f(n(1566)),P=n(567),D=f(n(2045));function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,k.default)(this,"onSubmit",(e=>p.default.resolve())),(0,k.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var t=this.getSubmitData(e);this.onSubmit(t).then((()=>{this.routing.push(this.listUrl),S.default.success(this.successText)}),(e=>{this.responseError=e;var{response:{data:t}={}}=e;S.default.errorWithDetail(t,this.errorText)}))})),(0,k.default)(this,"onCancel",(()=>{})),(0,k.default)(this,"onClickSubmit",(()=>{this.hasConfirmStep?this.onOk():this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e,this.onOk)}))})),(0,k.default)(this,"onClickCancel",(()=>{this.routing.push(this.listUrl)})),(0,k.default)(this,"updateDataOnPrev",(e=>{this.updateData(e,(()=>{this.setState((e=>({current:e.current-1})))}))})),(0,k.default)(this,"updateData",((e,t)=>{var{data:a}=this.state;this.setState({data:O(O({},a),e)},(()=>{t&&t()}))})),(0,k.default)(this,"unescape",(e=>(0,N.unescapeHtml)(e))),(0,k.default)(this,"goStep",(e=>{this.setState({current:e})})),this.options=t,this.state={formTemplate:(0,_.default)(this.formTemplate),current:0,data:{}},this.values={},this.setFormRefs(),this.init()}componentDidMount(){}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get hasConfirmStep(){return!1}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get locationParams(){var e;return(0,E.parse)((0,h.default)(e=this.location.search).call(e,1))}get match(){return this.props.match||{}}get listUrl(){return""}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get labelCol(){return{xs:{span:4},sm:{span:2}}}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get steps(){return[]}get formTemplate(){return{}}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,m.default)(this)||{};return e}get successText(){return this.instanceName?(0,N.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,N.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){return this.store&&this.store.isSubmitting||!1}get isLoading(){return!(!this.hasExtraProps||!(0,C.default)(this.state.extra))}get currentComponent(){var{current:e}=this.state;return this.steps[e].component}get currentRef(){var{current:e}=this.state;return this.formRefs[e]}get isAdminPage(){return this.props.isAdminPage||!1}get hasExtraProps(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get disableNext(){return!1}get disableSubmit(){return!1}setFormRefs(){var e;this.formRefs=(0,g.default)(e=this.steps).call(e,(()=>M.default.createRef()))}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,P.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,P.getLinkRender)({key:r,params:a,query:n,value:t})}getPrevBtn(){var e,{current:a}=this.state;if(0===a)return null;var n=this.steps[a-1].title;return M.default.createElement(w.default,{style:{margin:"0 8px"},onClick:()=>this.prev()},(0,v.default)(e="".concat(t("Previous"),": ")).call(e,n))}getNextBtn(){var e,{current:a}=this.state;if(a>=this.steps.length-1)return null;var{title:n}=this.steps[a+1];return M.default.createElement(w.default,{type:"primary",onClick:()=>this.next(),disabled:this.disableNext},(0,v.default)(e="".concat(t("Next"),": ")).call(e,n))}getSubmitData(e){return O({},e)}prev(){this.currentRef.current.wrappedInstance.checkFormInput(this.updateDataOnPrev,this.updateDataOnPrev)}next(){this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e),this.setState((e=>({current:e.current+1})))}))}init(){this.store={}}renderFooterLeft(){return null}renderFooter(){var{current:e}=this.state;return M.default.createElement("div",{className:D.default.footer},M.default.createElement("div",{className:(0,I.default)(D.default["footer-left"],this.footerStyle,"step-form-footer-left")},this.renderFooterLeft()),M.default.createElement("div",{className:(0,I.default)(D.default.btns,"step-form-footer-btns")},M.default.createElement(w.default,{className:D.default.cancel,onClick:this.onClickCancel},t("Cancel")),this.getPrevBtn(),this.getNextBtn(),e===this.steps.length-1&&M.default.createElement(w.default,{type:"primary",onClick:this.onClickSubmit,disabled:this.disableSubmit},t("Confirm"))))}renderForms(){var e=this.currentComponent,{data:t,extra:a}=this.state;return this.hasExtraProps&&(0,C.default)(a)?null:M.default.createElement(e,{ref:this.currentRef,context:t,extra:a,updateContext:this.updateData,goStep:this.goStep,isAdminPage:this.isAdminPage,match:this.match,location:this.location})}renderSteps(){var e,{current:t}=this.state,{Step:a}=x.default;return M.default.createElement("div",null,M.default.createElement("div",{className:D.default.step},M.default.createElement(x.default,{current:t},(0,g.default)(e=this.steps).call(e,(e=>M.default.createElement(a,{key:e.title,title:e.title}))))),M.default.createElement("div",{className:D.default.form},this.renderForms()))}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,M.default.createElement(j.default,e)}renderRightTopExtra(){var e=this.renderQuota();if(!e)return null;var t=(0,y.default)(this.quotaInfo);return M.default.createElement("div",{className:D.default["right-top-extra-wrapper"]},M.default.createElement(A.default,{content:e,checkValue:t}))}render(){return this.endpointError?M.default.createElement(T.default,{title:this.name,link:this.listUrl,endpointError:!0,goList:!0,isAction:!0}):M.default.createElement("div",{className:(0,I.default)(D.default.wrapper,this.className)},M.default.createElement(b.default,{spinning:this.isLoading||this.isSubmitting},this.renderSteps(),this.renderRightTopExtra(),this.renderFooter()))}}a.default=R},2042:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/empty-card.1741790621.svg"},2043:function(e,t,a){var n=a(2044);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2044:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1T6e5 {\n margin-top: 100px;\n text-align: center;\n border-radius: 4px;\n}\n.index__image--3dfS6 {\n height: 200px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 {\n display: inline-block;\n width: 600px;\n margin-left: 60px;\n vertical-align: top;\n}\n.index__text--2xlf7 .h1 {\n color: #abb4be;\n font-size: 120px;\n line-height: 1.4;\n text-align: left;\n opacity: 0.4;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 p {\n color: #5f708a;\n font-weight: 600;\n font-size: 20px;\n line-height: 1.4;\n text-align: left;\n text-shadow: 0 4px 8px rgba(36, 46, 66, 0.1);\n}\n.index__text--2xlf7 a {\n color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1T6e5",image:"index__image--3dfS6",text:"index__text--2xlf7"}},2045:function(e,t,a){var n=a(2046);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2046:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3YpmJ {\n position: relative;\n height: 100%;\n overflow: hidden;\n border-top: 1px solid #f0f0f0;\n}\n.index__wrapper--3YpmJ .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--3YpmJ .ant-spin-container {\n height: 100%;\n}\n.index__step--3Meey {\n height: 80px;\n margin-bottom: 16px;\n padding-top: 24px;\n padding-right: 56px;\n padding-left: 56px;\n background: #fff;\n}\n.index__form--3Sbom {\n height: 100%;\n min-height: calc(100vh - 280px);\n padding-top: 16px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3Sbom .sl-form {\n height: calc(100vh - 219px);\n padding-bottom: 48px;\n}\n.index__footer--32Ya5 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n min-height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--2ujTQ {\n float: right;\n min-width: 200px;\n margin-right: 32px;\n}\n.index__btns--2ujTQ button {\n margin-left: 8px;\n}\n.index__footer-left--KbV3J {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n justify-items: left;\n float: left;\n min-height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__right-top-extra-wrapper--55yRM {\n position: absolute;\n top: 95px;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3YpmJ",step:"index__step--3Meey",form:"index__form--3Sbom",footer:"index__footer--32Ya5",btns:"index__btns--2ujTQ","footer-left":"index__footer-left--KbV3J","right-top-extra-wrapper":"index__right-top-extra-wrapper--55yRM"}},2047:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(54)),o=l(n(63)),s=l(n(1277)),u=l(n(28)),d=l(n(49)),c=l(n(35)),f=l(n(92)),p=l(n(0)),h=n(163);class m{constructor(e){var a=this;(0,c.default)(this,"policy",""),(0,c.default)(this,"aliasPolicy",""),(0,c.default)(this,"unescape",(e=>(0,h.unescapeHtml)(e))),(0,c.default)(this,"getItemId",(e=>e.id)),(0,c.default)(this,"getItemName",(e=>e.name||"- (".concat(this.getItemId(e),")"))),(0,c.default)(this,"getName",(e=>(0,f.default)(e)?(0,i.default)(e).call(e,(e=>this.getItemName(e))).join(", "):this.getItemName(e))),(0,c.default)(this,"allowedCheckFunc",(e=>!0)),(0,c.default)(this,"allowed",(e=>(0,f.default)(e)?o.default.all((0,i.default)(e).call(e,(e=>o.default.resolve(this.allowedCheckFunc(e))))):o.default.resolve(this.allowedCheckFunc(e)))),(0,c.default)(this,"confirmContext",(e=>{if(!this.messageHasItemName)return t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"submitSuccessMsg",(e=>{var a=this.getName(e);return this.isAsyncAction?this.messageHasItemName?(0,h.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title})):this.messageHasItemName?(0,h.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("{action} successfully.",{action:this.actionNameDisplay||this.title}))})),(0,c.default)(this,"performErrorMsg",((e,a)=>{if(a){if(!this.messageHasItemName)return"";var n=this.getName(e);return t("instance: {name}.",{name:n})}if(!this.messageHasItemName)return t("You are not allowed to {action}.",{action:this.actionNameDisplay||this.title});var r=this.getName(e);return t("You are not allowed to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:r})})),(0,c.default)(this,"submitErrorMsg",(e=>{if(!this.messageHasItemName)return t("Unable to {action}.",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Unable to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"onSubmit",(e=>o.default.resolve())),(0,c.default)(this,"perform",function(){var e=(0,d.default)((function*(e){if((0,f.default)(e)&&0===e.length)return o.default.reject(t("Please select item!"));var n=yield a.allowed(e);if((0,f.default)(e)){var r=(0,f.default)(e)?e:[e];if((0,s.default)(n).call(n,(e=>!!e)))return o.default.resolve(!0);var l=[];(0,u.default)(n).call(n,((e,t)=>{e||l.push(r[t])}));var i=a.unescape(a.performErrorMsg(l,!0)),d=a.getBatchPerformTitle(),c=p.default.createElement("div",null,d&&p.default.createElement("p",null,d),p.default.createElement("p",null,i));return o.default.reject(c)}if(n)return o.default.resolve(!0);var h=a.performErrorMsg(e);return o.default.reject(h)}));return function(t){return e.apply(this,arguments)}}());var{item:n,containerProps:r}=e;n&&(this.item=n),r&&(this.containerProps=r)}get id(){return"id"}get actionType(){return"confirm"}get actionName(){return""}get actionNameDisplay(){return this.actionName.toLowerCase()}get passiveAction(){return t("be deleted")}get title(){return t("Delete")}get buttonType(){return"default"}get isDanger(){return!1}get buttonText(){return""}get okText(){return t("Confirm")}get cancelText(){return t("Cancel")}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps||{};return e}get isAsyncAction(){return!1}get messageHasItemName(){return!0}getBatchPerformTitle(){return this.messageHasItemName?t("There are resources that cannot {action} in the selected resources, such as:",{action:this.passiveAction.toLowerCase()}):t("There are resources that cannot {action} in the selected resources.",{action:this.passiveAction.toLowerCase()})}}a.default=m,(0,c.default)(m,"actionType","confirm")},2048:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.GlobalHeaderRight=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(231);var d=o(n(341)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),f=n(412),p=(n(161),o(n(2049))),h=o(n(1346));function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends c.Component{get isAdminPage(){var{isAdminPage:e=!1}=this.props;return e}get isUserCenterPage(){var{isUserCenterPage:e=!1}=this.props;return e}renderConsole(){return this.isAdminPage||this.isUserCenterPage?c.default.createElement(d.default,{type:"link",href:"/base/overview",className:h.default["single-link"]},t("Console")):null}renderAdministrator(){var{rootStore:{hasAdminPageRole:e=!1}={}}=this.props;return!e||this.isAdminPage?null:c.default.createElement(d.default,{type:"link",href:"/base/overview-admin",className:h.default["single-link"]},t("Administrator"))}renderExtra(){return null}renderExtraLink(){return null}render(){return c.default.createElement("div",{className:h.default.right},c.default.createElement(s.default,{justify:"space-between",align:"middle",gutter:10},c.default.createElement(u.default,null,this.renderExtraLink(),this.renderConsole(),this.renderAdministrator()),this.renderExtra(),c.default.createElement(u.default,null,c.default.createElement(p.default,{menu:!0}))))}}a.GlobalHeaderRight=g;var v=(0,f.inject)("rootStore")((0,f.observer)(g));a.default=v},2049:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.AvatarDropdown=void 0;var i=l(n(54)),o=l(n(77)),s=l(n(1348));n(347);var u=l(n(348));n(1276);var d=l(n(421));n(231);var c=l(n(341));n(568);var f=l(n(415)),p=l(n(35)),h=l(n(0)),m=n(412),g=(n(161),n(564),l(n(237))),v=l(n(1302)),y=l(n(2050)),b=l(n(2051)),x=l(n(2052)),w=l(n(2054)),k=l(n(1346)),{getLocale:C,setLocale:_,SUPPORT_LOCALES:M}=g.default;class S extends h.default.Component{constructor(){super(...arguments),(0,p.default)(this,"changeLang",(e=>_(e,!0))),(0,p.default)(this,"onMenuClick",(e=>{var{key:t}=e})),(0,p.default)(this,"handleLogout",(e=>{e&&e.preventDefault&&e.preventDefault(),this.rootStore.logout()})),(0,p.default)(this,"afterChangePassword",((e,t)=>{e&&this.rootStore.logout()})),(0,p.default)(this,"onClickSelectLanguage",(e=>{e&&e.preventDefault(),e&&e.stopPropagation()}))}get rootStore(){return this.props.rootStore||{}}get user(){var{user:e}=this.rootStore;return e||null}renderLanguageSwitch(){var e=C(),{length:t}=M;if(t>3){var a=(0,i.default)(M).call(M,(e=>({label:e.icon.toLocaleUpperCase(),value:e.value})));return h.default.createElement("div",{style:{float:"right"}},h.default.createElement(f.default,{options:a,value:e,onChange:this.changeLang,onClick:this.onClickSelectLanguage}))}var n=(0,i.default)(M).call(M,((a,n)=>{var{value:r,icon:l}=a;return h.default.createElement(h.default.Fragment,null,h.default.createElement(c.default,{className:0===n?k.default["no-padding-top"]:"",type:"link",disabled:e===r,onClick:()=>{this.changeLang(r)}},l.toUpperCase()),n!==t-1&&h.default.createElement("span",null,"/"))}));return h.default.createElement("span",{style:{float:"right"}},n)}renderLanguageMenuItem(){var e;return M.length<=1?null:h.default.createElement(d.default.Item,{key:"language",className:(0,o.default)(e="".concat(k.default["no-hover"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,t("Switch Language")),this.renderLanguageSwitch())}render(){var e,a;if(!this.user)return h.default.createElement(u.default,{size:"small",style:{marginLeft:8,marginRight:8}});var{name:n}=this.user.user,r=h.default.createElement(d.default,{className:k.default.menu,onClick:this.onMenuClick},h.default.createElement(d.default.Item,{key:"user",className:(0,o.default)(e=(0,o.default)(a="".concat(k.default["no-hover"]," ")).call(a,k.default["name-item"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,h.default.createElement("span",{className:k.default["user-label"]},t("User")),h.default.createElement("span",null,n))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),this.renderLanguageMenuItem(),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"userCenter",className:k.default["menu-item"]},h.default.createElement(c.default,{href:"/user/center",type:"link",style:{textAlign:"left"}},t("User Center"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"password",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:y.default}]},onFinishAction:this.afterChangePassword,item:this.user&&this.user.user,isWide:!0})),h.default.createElement(d.default.Item,{key:"token",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:b.default}]},isWide:!0})),h.default.createElement(d.default.Item,{key:"openrc",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:x.default}]},isWide:!0})));return h.default.createElement(w.default,{overlay:r},h.default.createElement("div",{className:"".concat(k.default.action)},h.default.createElement(c.default,{shape:"circle",icon:h.default.createElement(s.default,null),className:k.default.avatar})))}}a.AvatarDropdown=S;var I=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=I},2050:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Password=void 0;var i=l(n(63)),o=l(n(35)),s=n(412),u=n(1241),d=n(565),c=l(n(1255));class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{password:a,oldPassword:n}=e;return c.default.changePasswordUser({id:t,password:a,original_password:n})}))}get name(){return t("Update user password")}get defaultValue(){var{name:e}=this.item;return{name:e,password:"",confirmPassword:""}}get formItems(){return[{name:"name",label:t("User"),type:"label",iconType:"user"},{name:"oldPassword",label:t("Original Password"),type:"input-password",required:!0},{name:"password",label:t("Password"),type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("password","user")},{name:"confirmPassword",label:t("Confirm Password"),dependencies:["password"],type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("confirmPassword","user")}]}}a.Password=f,(0,o.default)(f,"id","update-user-password"),(0,o.default)(f,"title",t("Update User Password")),(0,o.default)(f,"policy",[]),(0,o.default)(f,"allowed",(()=>i.default.resolve(!0)));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},2051:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Token=void 0;var i=l(n(635)),o=l(n(63)),s=l(n(35));n(594);var u=l(n(595)),d=l(n(0)),c=n(412),f=(n(161),n(1241)),p=n(1251),h=n(580),m=l(n(1346)),{Paragraph:g}=u.default;class v extends f.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"getLeftStr",(e=>{var a=e-(0,i.default)(),n=Math.floor(a/1e3);if(n<60)return t("{seconds} seconds",{seconds:n});var r=Math.floor(n/60),l=n%60;if(r<60)return t("{minutes} minutes {leftSeconds} seconds",{minutes:r,leftSeconds:l});var o=Math.floor(r/60);return t("{hours} hours {leftMinutes} minutes {leftSeconds} seconds",{hours:o,leftMinutes:r%60,leftSeconds:l})})),(0,s.default)(this,"onSubmit",(()=>o.default.resolve()))}get name(){return t("Get Token")}get token(){var e=localStorage.getItem("keystone_token");try{return JSON.parse(e)||{}}catch(e){return{}}}get showNotice(){return!1}get tokenValue(){return this.token.value||""}get keystoneTokenExp(){var{keystone_token_exp:e}=this.props.rootStore.user||{};return(0,h.getLocalTime)(e).valueOf()}get tips(){return(0,i.default)()>this.keystoneTokenExp?d.default.createElement("span",{style:globalCSS.warnDarkColor},t("Keystone token is expired.")):t("Please save your token properly and it will be valid for {left}.",{left:this.getLeftStr(this.keystoneTokenExp)})}get defaultValue(){return{token:this.tokenValue}}get labelCol(){return{xs:{span:0},sm:{span:0}}}get wrapperCol(){return{xs:{span:24},sm:{span:24}}}get formItems(){return[{name:"token",label:"",type:"label",component:d.default.createElement(g,{copyable:{text:this.tokenValue},className:m.default.token},d.default.createElement("pre",null,this.tokenValue))}]}}a.Token=v,(0,s.default)(v,"id","get-token"),(0,s.default)(v,"title",t("Get Token")),(0,s.default)(v,"policy",p.allCanReadPolicy),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},2052:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.OpenRc=void 0;var i=l(n(29)),o=l(n(63)),s=l(n(35)),u=n(412),d=n(1241),c=n(1251),f=l(n(1569)),p=n(2053),h=l(n(1352));class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"exportRcFile",(e=>{var t=new Blob([e],{type:"text/plain;charset=utf-8"});h.default.saveAs(t,"openrc.sh")})),(0,s.default)(this,"onSubmit",(e=>{var{type:t}=e;return this.store.fetchList().then((()=>this.exportRcFile(this.getOpenRC(t))))}))}init(){this.store=f.default}get name(){return t("Get OpenRC file")}get showNotice(){return!1}get user(){var{user:e}=this.props.rootStore;return e}getOpenRC(e){var{project:{id:t="",name:a="",domain:{name:n}={}}={},user:{name:r="",domain:{name:l}={}}={},region:o}=this.user||{},{data:s}=this.store.list,{endpoints:u}=(0,i.default)(s).call(s,(e=>"keystone"===e.name))[0],d=(0,i.default)(u).call(u,(e=>"public"===e.interface))[0].url;return"password"===e?(0,p.getPwdOpenRc)({authUrl:d,projectId:t,projectName:a,projectDomain:n,userDomain:l,userName:r,region:o}):(0,p.getCredentialOpenRc)({authUrl:d,region:o})}get defaultValue(){return{type:"password"}}get formItems(){return[{name:"type",label:t("Type"),type:"select",options:[{label:t("Password Type"),value:"password"},{label:t("Credential Type"),value:"credential"}]}]}}a.OpenRc=m,(0,s.default)(m,"id","get-token"),(0,s.default)(m,"title",t("Get OpenRC file")),(0,s.default)(m,"policy",c.allCanReadPolicy),(0,s.default)(m,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},2053:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.getCredentialOpenRc=t.getPwdOpenRc=void 0;t.getPwdOpenRc=e=>{var{authUrl:t,projectId:a,projectName:n,projectDomain:r,userDomain:l,userName:i,region:o}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+"\n# With the addition of Keystone we have standardized on the term **project**\n# as the entity that owns the resources.\n"+"export OS_PROJECT_ID=".concat(a," \n")+"export OS_PROJECT_NAME=".concat(n,"\n")+"export OS_PROJECT_DOMAIN_NAME=".concat(r,"\n")+"export OS_USER_DOMAIN_NAME=".concat(l,"\n")+"\n# unset v2.0 items in case set\nunset OS_TENANT_ID\nunset OS_TENANT_NAME\n# In addition to the owning entity (tenant), OpenStack stores the entity\n# performing the action as the **user**.\n"+"export OS_USERNAME=".concat(i,"\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "\nread -sr OS_PASSWORD_INPUT\nexport OS_PASSWORD=$OS_PASSWORD_INPUT\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(o,"\n")+'\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\n\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}'};t.getCredentialOpenRc=e=>{var{authUrl:t,region:a}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Credential ID as OS_APPLICATION_CREDENTIAL_ID: "\nread -sr OS_APPLICATION_CREDENTIAL_ID\nexport OS_APPLICATION_CREDENTIAL_ID=$OS_APPLICATION_CREDENTIAL_ID\necho "Please enter your OpenStack Credential Secret as OS_APPLICATION_CREDENTIAL_SECRET: "\nread -sr OS_APPLICATION_CREDENTIAL_SECRET\nexport OS_APPLICATION_CREDENTIAL_SECRET=$OS_APPLICATION_CREDENTIAL_SECRET\n\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\nexport OS_AUTH_TYPE=v3applicationcredential\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(a,"\n")+"\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}"}},2054:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0,a(585);var l=r(a(424)),i=r(a(343)),o=r(a(58)),s=(a(161),r(a(0))),u=r(a(4)),d=e=>{var{overlayClassName:t}=e,a=(0,o.default)(e,["overlayClassName"]);return s.default.createElement(l.default,(0,i.default)({overlayClassName:(0,u.default)(t)},a))};t.default=d},2055:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1570)),i=r(a(1450)),o=r(a(1451)),s=r(a(1571)),u=r(a(1452)),d=r(a(1572)),c=r(a(1453)),f=r(a(1344)),p=r(a(1381)),h=r(a(1377)),m=r(a(1382)),g=r(a(0)),v=(a(564),e=>e?[{path:"/base/overview-admin",name:e("Home"),key:"overviewAdmin",icon:g.default.createElement(m.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"computeAdmin",icon:g.default.createElement(h.default,null),children:[{path:"/compute/instance-admin",name:e("Instances"),key:"instanceAdmin",level:1,children:[{path:/^\/compute\/instance-admin\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetailAdmin",routePath:"/compute/instance-admin/detail/:id",level:2}]},{path:"/compute/instance-snapshot-admin",name:e("Instance Snapshots"),key:"instanceSnapshotAdmin",level:1,children:[{path:/^\/compute\/instance-snapshot-admin\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetailAdmin",level:2,routePath:"/compute/instance-snapshot-admin/detail/:id"}]},{path:"/compute/flavor-admin",name:e("Flavors"),key:"flavorAdmin",level:1,children:[{path:"/compute/flavor-admin/create",name:e("Create Flavor"),key:"flavorCreateAdmin",level:2},{path:/^\/compute\/flavor-admin\/detail\/[^/]+$/,name:e("Flavor Detail"),key:"flavorDetailAdmin",routePath:"/compute/flavor-admin/detail/:id",level:2}]},{path:"/compute/server-group-admin",name:e("Server Groups"),key:"serverGroupAdmin",level:1,children:[{path:/^\/compute\/server-group-admin\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetailAdmin",routePath:"/compute/server-group-admin/detail/:id",level:2}]},{path:"/compute/image-admin",name:e("Images"),key:"imageAdmin",level:1,children:[{path:/^\/compute\/image-admin\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetailAdmin",routePath:"/compute/image-admin/detail/:id",level:2},{path:"/compute/image-admin/create",name:e("Create Image"),key:"imageCreateAdmin",level:2}]},{path:"/compute/hypervisors-admin",name:e("Hypervisors"),key:"hypervisorAdmin",level:1,children:[{path:/^\/compute\/hypervisors-admin\/detail\/.[^/]+$/,name:e("Hypervisor Detail"),key:"hypervisorDetailAdmin",routePath:"/compute/hypervisors-admin/detail/:id",level:2}]},{path:"/compute/aggregates-admin",name:e("Host Aggregates"),key:"aggregateAdmin",level:1,children:[]},{path:"/compute/baremetal-node-admin",name:e("Bare Metal Nodes"),key:"baremetalNodeAdmin",endpoints:"ironic",level:1,children:[{path:/^\/compute\/baremetal-node-admin\/detail\/.[^/]+$/,name:e("Bare Metal Node Detail"),key:"baremetalNodeDetailAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2},{path:/^\/compute\/baremetal-node-admin\/create$/,name:e("Create Bare Metal Node"),key:"baremetalNodeCreateAdmin",level:2},{path:/^\/compute\/baremetal-node-admin\/edit\/.[^/]+$/,name:e("Edit Bare Metal Node"),key:"baremetalNodeEditAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2}]}]},{path:"/storage",name:e("Storage"),key:"storageAdmin",icon:g.default.createElement(p.default,null),children:[{path:"/storage/volume-admin",name:e("Volumes"),key:"volumeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-admin\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetailAdmin",level:2,routePath:"/storage/volume-admin/detail/:id"}]},{path:"/storage/backup-admin",name:e("Volume Backups"),key:"backupAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup-admin\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetailAdmin",level:2,routePath:"/storage/backup-admin/detail/:id"}]},{path:"/storage/snapshot-admin",name:e("Volume Snapshots"),key:"snapshotAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot-admin\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetailAdmin",level:2,routePath:"/storage/snapshot-admin/detail/:id"}]},{path:"/storage/volume-type-admin",name:e("Volume Types"),key:"volumeTypeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-type-admin\/detail\/.[^/]+$/,name:e("Volume Type Detail"),key:"volumeTypeDetailAdmin",level:2,routePath:"/storage/volume-type-admin/detail/:id"},{path:/^\/storage\/volume-type-admin\/qos\/detail\/.[^/]+$/,name:e("QoS Detail"),key:"volumeTypeQosDetailAdmin",level:2,routePath:"/storage/volume-type-admin/qos/detail/:id"}]},{path:"/storage/storage-admin",name:e("Storage Backends"),key:"storageBackendAdmin",level:1,endpoints:"cinder",children:[]}]},{path:"/network",name:e("Network"),key:"/networkAdmin",icon:g.default.createElement(f.default,null),children:[{path:"/network/networks-admin",name:e("Networks"),key:"networkAdmin",level:1,children:[{path:/^\/network\/networks-admin\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:id"}]},{path:"/network/port-admin",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port-admin\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetailAdmin",level:2,routePath:"/network/port-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/port/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetailAdmin",level:2,routePath:"/network/instance-admin/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy-admin",name:e("QoS Policies"),key:"networkQosAdmin",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy-admin\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetailAdmin",level:2,routePath:"/network/qos-policy-admin/detail/:id"}]},{path:"/network/router-admin",name:e("Routers"),key:"routerAdmin",level:1,children:[{path:/^\/network\/router-admin\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetailAdmin",level:2,routePath:"/network/router-admin/detail/:id"},{path:/^\/network\/router-admin\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetailAdmin",level:2,routePath:"/network/router-admin/:routerId/port/:id"}]},{path:"/network/floatingip-admin",name:e("Floating IPs"),key:"fipAdmin",level:1,children:[{path:/^\/network\/floatingip-admin\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetailAdmin",level:2,routePath:"/network/floatingip-admin/detail/:id"}]},{path:"/network/load-balancers-admin",name:e("Load Balancers"),key:"lbAdmin",endpoints:"octavia",level:1,children:[{path:/^\/network\/load-balancers-admin\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetailAdmin",level:2,routePath:"/network/load-balancers-admin/detail/:id"},{path:/^\/network\/load-balancers-admin\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetailAdmin",level:2,routePath:"/network/load-balancers-admin/:loadBalancerId/listener/:id"}]},{path:"/network/vpn-admin",name:e("VPNs"),key:"vpnAdmin",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection-admin\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetailAdmin",level:2,routePath:"/network/ipsec-site-connection-admin/detail/:id"}]},{path:"/network/security-group-admin",name:e("Security Groups"),key:"securityGroupAdmin",level:1,children:[{path:/^\/network\/security-group-admin\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetailAdmin",level:2,routePath:"/network/security-group-admin/detail/:id"}]},{path:"/network/rbac-policies-admin",name:e("RBAC Policies"),key:"rbacPolicyAdmin",level:1,children:[{path:/^\/network\/rbac-policies-admin\/detail\/.[^/]+$/,name:e("RBAC Policy Detail"),key:"rbacPolicyDetailAdmin",level:2,routePath:"/network/rbac-policies-admin/detail/:id"}]},{path:"/network/firewall-admin",name:e("Firewalls"),key:"firewallAdmin",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy-admin\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetailAdmin",level:2,routePath:"/network/firewall-policy-admin/detail/:id"},{path:/^\/network\/firewall-admin\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetailAdmin",level:2,routePath:"/network/firewall-admin/:firewallId/port/:portId"},{path:/^\/network\/firewall-admin\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetailAdmin",level:2,routePath:"/network/firewall-admin/detail/:id"},{path:/^\/network\/firewall-rule-admin\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetailAdmin",level:2,routePath:"/network/firewall-rule-admin/detail/:id"}]},{path:"/network/dns-admin/zones",name:e("DNS Zones"),key:"dnsZonesAdmin",endpoints:"designate",level:1,children:[{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:id"},{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:zoneId/recordsets/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorageAdmin",endpoints:"manilav2",icon:g.default.createElement(c.default,null),children:[{path:"/share/share-admin",name:e("Shares"),key:"shareAdmin",level:1,children:[{path:/^\/share\/share-admin\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetailAdmin",level:2,routePath:"/share/share-admin/detail/:id"}]},{path:"/share/share-type-admin",name:e("Share Types"),key:"shareTypeAdmin",level:1,children:[{path:/^\/share\/share-type-admin\/detail\/.[^/]+$/,name:e("Share Type Detail"),key:"shareTypeDetailAdmin",level:2,routePath:"/share/share-type-admin/detail/:id"}]},{path:"/share/share-group-type-admin",name:e("Share Group Types"),key:"shareGroupTypeAdmin",level:1,children:[{path:/^\/share\/share-group-type-admin\/detail\/.[^/]+$/,name:e("Share Group Type Detail"),key:"shareGroupTypeDetailAdmin",level:2,routePath:"/share/share-group-type-admin/detail/:id"}]},{path:"/share/share-network-admin",name:e("Share Networks"),key:"shareNetworkAdmin",level:1,children:[{path:/^\/share\/share-network-admin\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetailAdmin",level:2,routePath:"/share/share-network-admin/detail/:id"}]},{path:"/share/share-server-admin",name:e("Share Servers"),key:"shareServerAdmin",level:1,children:[{path:/^\/share\/share-server-admin\/detail\/.[^/]+$/,name:e("Share Server Detail"),key:"shareServerDetailAdmin",level:2,routePath:"/share/share-server-admin/detail/:id"}]},{path:"/share/share-instance-admin",name:e("Share Instances"),key:"shareInstanceAdmin",level:1,children:[{path:/^\/share\/share-instance-admin\/detail\/.[^/]+$/,name:e("Share Instance Detail"),key:"shareInstanceDetailAdmin",level:2,routePath:"/share/share-instance-admin/detail/:id"}]},{path:"/share/share-group-admin",name:e("Share Groups"),key:"shareGroupAdmin",level:1,children:[{path:/^\/share\/share-group-admin\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetailAdmin",level:2,routePath:"/share/share-group-admin/detail/:id"}]},{path:"/share/storage-admin",name:e("Storage Backends"),key:"shareStorageBackendAdmin",level:1,children:[]}]},{path:"/identity",name:e("Identity"),key:"/identity",icon:g.default.createElement(d.default,null),children:[{path:"/identity/domain-admin",name:e("Domains"),key:"domainAdmin",level:1,children:[{path:/^\/identity\/domain-admin\/detail\/.[^/]+$/,name:e("Domain Detail"),key:"domainDetailAdmin",level:2,routePath:"/identity/domain-admin/detail/:id"}]},{path:"/identity/project-admin",name:e("Projects"),key:"projectAdmin",level:1,children:[{path:/^\/identity\/project-admin\/detail\/.[^/]+$/,name:e("Project Detail"),key:"projectDetailAdmin",level:2,routePath:"/identity/project-admin/detail/:id"},{path:"/identity/project-admin/create",name:e("Create Project"),key:"projectCreateAdmin",level:2},{path:/^\/identity\/project-admin\/edit\/.[^/]+$/,name:e("Edit Project"),key:"projectEditAdmin",level:2,routePath:"/identity/project-admin/edit/:id"}]},{path:"/identity/user-admin",name:e("Users"),key:"userAdmin",level:1,children:[{path:/^\/identity\/user-admin\/detail\/.[^/]+$/,name:e("User Detail"),key:"userDetailAdmin",level:2,routePath:"/identity/user-admin/detail/:id"},{path:"/identity/user-admin/create",name:e("Create User"),key:"userCreateAdmin",level:2},{path:/^\/identity\/user-admin\/edit\/.[^/]+$/,name:e("User Edit"),key:"userEditAdmin",level:2,routePath:"/identity/user-admin/edit/:id"}]},{path:"/identity/user-group-admin",name:e("User Groups"),key:"userGroupAdmin",level:1,children:[{path:/^\/identity\/user-group-admin\/detail\/.[^/]+$/,name:e("User Group Detail"),key:"userGroupDetailAdmin",level:2,routePath:"/identity/user-group-admin/detail/:id"},{path:"/identity/user-group-admin/create",name:e("Create User Group"),key:"userGroupCreateAdmin",level:2},{path:/^\/identity\/user-group-admin\/edit\/.[^/]+$/,name:e("Edit User Group"),key:"userGroupEditAdmin",level:2,routePath:"/identity/user-group-admin/edit/:id"}]},{path:"/identity/role-admin",name:e("Roles"),key:"roleAdmin",level:1,children:[{path:/^\/identity\/role-admin\/detail\/.[^/]+$/,name:e("Role Detail"),key:"roleDetailAdmin",level:2,routePath:"/identity/role-admin/detail/:id"}]}]},{path:"/database",name:e("Database"),key:"databaseAdmin",endpoints:"trove",icon:g.default.createElement(u.default,null),children:[{path:"/database/instances-admin",name:e("Database Instances"),key:"databaseInstancesAdmin",level:1,children:[{path:/^\/database\/instances-admin\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetailAdmin",level:2,routePath:"/database/instances-admin/detail/:id"}]}]},{path:"/monitor-center",name:e("Monitor Center"),key:"/monitorCenterAdmin",icon:g.default.createElement(s.default,null),children:[{path:"/monitor-center/overview-admin",name:e("Monitor Overview"),key:"monitorOverviewAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/physical-node-admin",name:e("Physical Nodes"),key:"monitorPhysicalNodeAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/storage-cluster-admin",name:e("Storage Clusters"),key:"monitorStorageClusterAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/openstack-service-admin",name:e("OpenStack Services"),key:"monitorOpenstackServiceAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/other-service-admin",name:e("Other Services"),key:"monitorOtherServiceAdmin",level:1,children:[],hasBreadcrumb:!0}]},{path:"/configuration-admin",name:e("Global Setting"),key:"configurationAdmin",icon:g.default.createElement(o.default,null),children:[{path:"/configuration-admin/info",name:e("System Info"),key:"systemInfoAdmin",level:1,children:[{path:/^\/configuration-admin\/neutron\/detail\/.[^/]+$/,name:e("Neutron Agent Detail"),key:"neutronAgentDetailAdmin",level:2,routePath:"/configuration-admin/neutron/detail/:id"}]},{path:"/configuration-admin/setting",name:e("System Config"),key:"settingAdmin",level:1},{path:"/configuration-admin/metadata",name:e("Metadata Definitions"),key:"metadataAdmin",level:1,children:[{path:/^\/configuration-admin\/metadata\/detail\/.[^/]+$/,name:e("Metadata Detail"),key:"metadataDetailAdmin",level:2,routePath:"/configuration-admin/metadata/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"containerAdmin",icon:g.default.createElement(i.default,null),children:[{path:"/container-service/containers-admin",name:e("Containers"),key:"zunContainersAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/containers-admin\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetailAdmin",level:2,routePath:"/container-service/containers-admin/detail/:id"}]},{path:"/container-service/hosts-admin",name:e("Hosts"),key:"zunHostsAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"zuHostsDetailAdmin",level:2,routePath:"/container-service/hosts-admin/detail/:id"}]},{path:"/container-service/services-admin",name:e("Services"),key:"zunServicesAdmin",endpoints:"zun",level:1},{path:"/container-infra/clusters-admin",name:e("Clusters"),key:"containerInfraClustersAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters-admin\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetailAdmin",level:2,routePath:"/container-infra/clusters-admin/detail/:id"}]},{path:"/container-infra/cluster-template-admin",name:e("Cluster Templates"),key:"clusterTemplateAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template-admin\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetailAdmin",level:2,routePath:"/container-infra/cluster-template-admin/detail/:id"}]}]},{path:"/ha",name:e("Instance-HA"),key:"masakari",icon:g.default.createElement(l.default,null),endpoints:"masakari",children:[{path:"/ha/segments-admin",name:e("Segments"),key:"masakariSegmentsAdmin",level:1,children:[{path:"/ha/segments-admin/create-step-admin",name:e("Create Segment"),key:"masakariSegmentsCreateAdmin",level:2},{path:/^\/ha\/segments-admin\/detail\/.[^/]+$/,name:e("Segment Detail"),key:"masakariSegmentDetailAdmin",level:2,routePath:"/ha/segments-admin/detail/:id"}]},{path:"/ha/hosts-admin",name:e("Hosts"),key:"masakariHostsAdmin",level:1,children:[{path:/^\/ha\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"masakariHostDetailAdmin",level:2,routePath:"/ha/hosts-admin/detail/:id"}]},{path:"/ha/notifications-admin",name:e("Notifications"),key:"masakariNotificationsAdmin",level:1,children:[{path:/^\/ha\/notifications-admin\/detail\/.[^/]+$/,name:e("Notification Detail"),key:"masakariNotificationDetailAdmin",level:2,routePath:"/ha/notifications-admin/detail/:id"}]}]}]:[]);t.default=v},2065:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1450)),i=r(a(1452)),o=r(a(1434)),s=r(a(1453)),u=r(a(1344)),d=r(a(1381)),c=r(a(1377)),f=r(a(1382)),p=r(a(0)),h=(a(564),e=>e?[{path:"/base/overview",name:e("Home"),key:"overview",icon:p.default.createElement(f.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"compute",icon:p.default.createElement(c.default,null),children:[{path:"/compute/instance",name:e("Instances"),key:"instance",level:1,children:[{path:/^\/compute\/instance\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetail",level:2,routePath:"/compute/instance/detail/:id"},{path:"/compute/instance/create",name:e("Create Instance"),key:"instanceCreate",level:2},{path:"/compute/ironic-instance/create",name:e("Create Ironic Instance"),key:"ironicCreate",level:2}]},{path:"/compute/instance-snapshot",name:e("Instance Snapshots"),key:"instanceSnapshot",level:1,children:[{path:/^\/compute\/instance-snapshot\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetail",level:2,routePath:"/compute/instance-snapshot/detail/:id"}]},{path:"/compute/flavor",name:e("Flavors"),key:"flavor",level:1,children:[{path:/^\/compute\/flavor\/detail\/.[^/]+$/,name:e("Flavor Detail"),key:"flavorDetail",level:2,routePath:"/compute/flavor/detail/:id"}]},{path:"/compute/server-group",name:e("Server Groups"),key:"serverGroup",level:1,children:[{path:/^\/compute\/server-group\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetail",level:2,routePath:"/compute/server-group/detail/:id"}]},{path:"/compute/image",name:e("Images"),key:"image",level:1,children:[{path:/^\/compute\/image\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetail",level:2,routePath:"/compute/image/detail/:id"},{path:"/compute/image/create",name:e("Create Image"),key:"imageCreate",level:2}]},{path:"/compute/keypair",name:e("Key Pairs"),key:"keypair",level:1,children:[{path:/^\/compute\/keypair\/detail\/.[^/]*$/,name:e("Keypair Detail"),key:"keypairDetail",level:2,routePath:"/compute/keypair/detail/:id"}]}]},{path:"/storage",name:e("Storage"),key:"storage",icon:p.default.createElement(d.default,null),children:[{path:"/storage/volume",name:e("Volumes"),key:"volume",level:1,endpoints:"cinder",children:[{path:"/storage/volume/create",name:e("Create Volume"),key:"volumeCreate",level:2},{path:/^\/storage\/volume\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetail",level:2,routePath:"/storage/volume/detail/:id"}]},{path:"/storage/backup",name:e("Volume Backups"),key:"backup",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetail",level:2,routePath:"/storage/backup/detail/:id"}]},{path:"/storage/snapshot",name:e("Volume Snapshots"),key:"snapshot",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetail",level:2,routePath:"/storage/snapshot/detail/:id"}]},{path:"/storage/container",name:e("Object Storage"),key:"containers",endpoints:"swift",level:1,children:[{path:/^\/storage\/container\/detail\/[^/]+$/,name:e("Container Detail"),key:"containerDetail",level:2,routePath:"/storage/container/detail/:id"},{path:/^\/storage\/container\/detail\/[^/]+\/.+$/,name:e("Folder Detail"),key:"folderDetail",level:2,routePath:"/storage/container/detail/:container/:folder"}]}]},{path:"/network",name:e("Network"),key:"/network",icon:p.default.createElement(u.default,null),children:[{path:"/network/networks",name:e("Networks"),key:"network",level:1,children:[{path:/^\/network\/networks\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetail",level:2,routePath:"/network/networks/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:id"}]},{path:"/network/port",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetail",level:2,routePath:"/network/port/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetail",level:2,routePath:"/network/networks/detail/:networkId/port/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetail",level:2,routePath:"/network/instance/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy",name:e("QoS Policies"),key:"networkQos",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetail",level:2,routePath:"/network/qos-policy/detail/:id"}]},{path:"/network/router",name:e("Routers"),key:"router",level:1,children:[{path:/^\/network\/router\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetail",level:2,routePath:"/network/router/detail/:id"},{path:/^\/network\/router\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetail",level:2,routePath:"/network/router/:routerId/port/:id"}]},{path:"/network/floatingip",name:e("Floating IPs"),key:"fip",level:1,children:[{path:/^\/network\/floatingip\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetail",level:2,routePath:"/network/floatingip/detail/:id"}]},{path:"/network/topo",name:e("Topology"),key:"networkTopo",level:1,children:[]},{path:"/network/load-balancers",name:e("Load Balancers"),key:"lb",endpoints:"octavia",level:1,children:[{path:"/network/load-balancers/create",name:e("Create Loadbalancer"),key:"lbCreate",level:2},{path:/^\/network\/load-balancers\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetail",level:2,routePath:"/network/load-balancers/detail/:id"},{path:/^\/network\/load-balancers\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetail",level:2,routePath:"/network/load-balancers/:loadBalancerId/listener/:id"}]},{path:"/network/certificate",name:e("Certificates"),key:"certificate",endpoints:"barbican",level:1,children:[{path:/^\/network\/certificate-container\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateContainerDetail",level:2,routePath:"/network/certificate-container/detail/:id"},{path:/^\/network\/certificate-secret\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateSecretDetail",level:2,routePath:"/network/certificate-secret/detail/:id"}]},{path:"/network/vpn",name:e("VPNs"),key:"vpn",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetail",level:2,routePath:"/network/ipsec-site-connection/detail/:id"}]},{path:"/network/security-group",name:e("Security Groups"),key:"securityGroup",level:1,children:[{path:/^\/network\/security-group\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetail",level:2,routePath:"/network/security-group/detail/:id"}]},{path:"/network/firewall",name:e("Firewalls"),key:"firewall",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetail",level:2,routePath:"/network/firewall-policy/detail/:id"},{path:"/network/firewall-rule/create",name:e("Create Rule"),key:"firewallRuleCreate",level:2},{path:"/network/firewall-policy/add",name:e("Add Policy"),key:"firewallPolicyCreate",level:2},{path:"/network/firewall/create",name:e("Create Firewall"),key:"firewallCreate",level:2},{path:/^\/network\/firewall\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetail",level:2,routePath:"/network/firewall/:firewallId/port/:portId"},{path:/^\/network\/firewall-rule\/edit\/[^/]+$/,name:e("Rule Edit"),key:"firewallRuleEdit",level:2,routePath:"/network/firewall-rule/edit/:id"},{path:/^\/network\/firewall\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetail",level:2,routePath:"/network/firewall/detail/:id"},{path:/^\/network\/firewall-rule\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetail",level:2,routePath:"/network/firewall-rule/detail/:id"},{path:/^\/network\/firewall-policy\/edit\/[^/]+$/,name:e("Policy Edit"),key:"firewallPolicyEdit",level:2,routePath:"/network/firewall-policy/edit/:id"}]},{path:"/network/dns/zones",name:e("DNS Zones"),key:"dnsZones",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetail",level:2,routePath:"/network/dns/zones/detail/:id"},{path:/^\/network\/dns\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetail",level:2,routePath:"/network/dns/zones/detail/:zoneId/recordsets/:id"}]},{path:"/network/dns/reverse",name:e("DNS Reverse"),key:"dnsReverse",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/reverse\/detail\/.[^/]+$/,name:e("Reverse DNS Detail"),key:"dnsReverseDetail",level:2,routePath:"/network/dns/reverse/detail/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorage",endpoints:"manilav2",icon:p.default.createElement(s.default,null),children:[{path:"/share/share",name:e("Shares"),key:"share",level:1,children:[{path:/^\/share\/share\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetail",level:2,routePath:"/share/share/detail/:id"},{path:"/share/share/create",name:e("Create Share"),key:"shareCreate",level:2}]},{path:"/share/share-network",name:e("Share Networks"),key:"shareNetwork",level:1,children:[{path:/^\/share\/share-network\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetail",level:2,routePath:"/share/share-network/detail/:id"}]},{path:"/share/share-group",name:e("Share Groups"),key:"shareGroup",level:1,children:[{path:/^\/share\/share-group\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetail",level:2,routePath:"/share/share-group/detail/:id"}]}]},{path:"/heat",name:e("Orchestration"),key:"heat",endpoints:"heat",icon:p.default.createElement(o.default,null),children:[{path:"/heat/stack",name:e("Stacks"),key:"stack",level:1,children:[{path:/^\/heat\/stack\/detail\/.[^/]+\/.[^/]+$/,name:e("Stack Detail"),key:"stackDetail",level:2,routePath:"/heat/stack/detail/:id/:name"},{path:"/heat/stack/create",name:e("Create Stack"),key:"stackCreate",level:2},{path:/^\/heat\/stack\/edit\/.[^/]+\/.[^/]+$/,name:e("Update Template"),key:"stackEdit",level:2,routePath:"/heat/stack/edit/:id/:name"}]}]},{path:"/database",name:e("Database"),key:"database",endpoints:"trove",icon:p.default.createElement(i.default,null),children:[{path:"/database/instances",name:e("Database Instances"),key:"databaseInstances",level:1,children:[{path:/^\/database\/instances\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetail",level:2,routePath:"/database/instances/detail/:id"},{path:"/database/instances/create",name:e("Create Database Instance"),key:"databaseInstanceCreate",level:2}]},{path:"/database/backups",name:e("Backups"),key:"databaseBackups",level:1,children:[{path:/^\/database\/backup\/detail\/.[^/]+$/,name:e("Backup Detail"),key:"databaseBackupDetail",level:2,routePath:"/database/backups/detail/:id"}]},{path:"/database/configurations",name:e("Configuration Groups"),key:"configurations",level:1,children:[{path:/^\/database\/configuration\/detail\/.[^/]+$/,name:e("Configuration Detail"),key:"configurationsDetail",level:2,routePath:"/database/configurations/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"container",icon:p.default.createElement(l.default,null),children:[{path:"/container-service/containers",name:e("Containers"),key:"zunContainers",endpoints:"zun",level:1,children:[{path:"/container-service/containers/create",name:e("Create Container"),key:"zunContainersCreateContainer",level:2},{path:/^\/container-service\/containers\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetail",level:2,routePath:"/container-service/containers/detail/:id"}]},{path:"/container-service/capsules",name:e("Capsules"),key:"zunCapsules",endpoints:"zun",level:1,children:[{path:/^\/container-service\/capsules\/detail\/.[^/]+$/,name:e("Capsule Detail"),key:"zunCapsuleDetail",level:2,routePath:"/container-service/capsules/detail/:id"}]},{path:"/container-infra/clusters",name:e("Clusters"),key:"containerInfraClusters",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetail",level:2,routePath:"/container-infra/clusters/detail/:id"},{path:"/container-infra/clusters/create",name:e("Create Cluster"),key:"containerInfraCreateCluster",level:2}]},{path:"/container-infra/cluster-template",name:e("Cluster Templates"),key:"clusterTemplate",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetail",level:2,routePath:"/container-infra/cluster-template/detail/:id"},{path:"/container-infra/cluster-template/create",name:e("Create Cluster Template"),key:"containerInfraCreateClusterTemplate",level:2},{path:/^\/container-infra\/cluster-template\/update\/.[^/]+$/,name:e("Update Cluster Template"),key:"containerInfraUpdateClusterTemplate",level:2,routePath:"/container-infra/cluster-template/update/:id"}]}]}]:[]);t.default=h},2066:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1348)),i=r(a(1382)),o=r(a(0)),s=(a(564),e=>e?[{path:"/user/center",name:e("User Center"),key:"userCenter",icon:o.default.createElement(i.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/user/application-credentials",name:e("Application Credentials"),key:"applicationCredential",level:0,icon:o.default.createElement(l.default,null),children:[],hasChildren:!1}]:[]);t.default=s},2067:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.Right=void 0;var s=o(n(54)),u=o(n(77));n(1317);var d=o(n(1318));n(2068);var c=o(n(2071)),f=o(n(35));n(1431);var p=o(n(1432)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=(n(161),n(204)),g=n(412),v=o(n(4)),y=o(n(416)),b=o(n(1351)),x=o(n(690)),w=n(567),k=o(n(1454));function C(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(C=function(e){return e?a:t})(e)}var{Content:_}=p.default;class M extends h.Component{constructor(e){super(e),(0,f.default)(this,"checkHasTab",(()=>{var{currentRoutes:e=[]}=this.props;if(0===e.length)return!1;var{hasTab:t}=e[e.length-1];return t||!1})),(0,f.default)(this,"renderBreadcrumb",(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||0===t.length)return null;var{hasBreadcrumb:a=!0}=t[t.length-1];if(!a&&void 0!==a)return null;var n=(0,s.default)(t).call(t,((e,a)=>0===a||a===t.length-1?h.default.createElement(c.default.Item,{key:e.key,className:k.default["breadcrumb-item"]},e.name):h.default.createElement(c.default.Item,{key:e.key},h.default.createElement(m.Link,{key:e.key,to:e.path,className:(0,v.default)(k.default["breadcrumb-item"],k.default["breadcrumb-link"])},e.name))));if(0===n.length)return null;var{hasTab:r}=t[t.length-1],l=r?k.default["breadcrumb-has-tab"]:"";return h.default.createElement("div",{className:(0,u.default)(e="".concat(k.default.breadcrumb," ")).call(e,l)},h.default.createElement(c.default,null,n))})),(0,f.default)(this,"renderChildren",((e,a,n)=>{var{hasError:r}=this.state;if(r)return h.default.createElement(b.default,{title:t("data"),link:this.getRoutePath("overview"),codeError:!0});try{var l,i;return h.default.createElement("div",{className:(0,u.default)(l=(0,u.default)(i="".concat(k.default.main," ")).call(i,e," ")).call(l,a)},(0,y.default)(this.routes,n))}catch(e){var o=this.getRoutePath("overview");return h.default.createElement(b.default,{title:t("data"),link:o,codeError:!0})}})),this.routes=e.route.routes,this.state={hasError:!1}}componentDidUpdate(e){var{location:{pathname:t}={}}=e,{location:{pathname:a}={}}=this.props;t!==a&&this.updateErrorState(!1)}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,w.getPath)({key:n,params:t,query:a})}updateErrorState(e){this.setState({hasError:e})}render(){var{pathname:e}=this.props.location,{collapsed:t,currentRoutes:a,isAdminPage:n=!1}=this.props,r=this.renderBreadcrumb(a),l=null!==r,{user:i}=this.props.rootStore,o=this.checkHasTab(e),s=l?"":k.default["main-no-breadcrumb"],u=o?k.default["main-has-tab"]:"",c={sliderCollapsed:t,isAdminPage:n},f=i?this.renderChildren(s,u,c):h.default.createElement("div",{style:{margin:"44px"}},h.default.createElement(d.default,null));return h.default.createElement(p.default,{className:(0,v.default)(k.default["base-layout-right"],t?k.default["base-layout-right-collapsed"]:"")},h.default.createElement(_,{className:k.default.content},r,h.default.createElement(h.Suspense,{fallback:h.default.createElement(x.default,{className:"sl-page-loading"})},f)))}}a.Right=M;var S=(0,g.inject)("rootStore")((0,g.observer)(M));a.default=S},2075:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__nav--1IKuR {\n left: -270px;\n}\n.index__header--3eaFT,\n.index__header-collapsed--2VIjO {\n top: 0;\n left: 0;\n z-index: 1000;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 40px;\n padding: 0;\n color: #fff;\n}\n.index__header-collapsed--2VIjO {\n padding-left: 40px;\n}\n.index__logo--t_KQf {\n height: 32px;\n margin: 16px 38px;\n}\n.index__logo-collapse--1dyW- {\n margin: 16px 24px;\n}\n.index__logo-image--1r9zB {\n height: 29px;\n}\n.index__logo-image-hover--r0EY5 {\n margin-left: -20px;\n}\n.index__site-layout-background--1KhiG {\n background: #fff;\n}\n.index__sider--3mcQr {\n position: relative;\n height: 100vh;\n overflow-y: auto;\n}\n.index__sider--3mcQr .ant-layout-sider-trigger {\n position: absolute;\n right: 0;\n bottom: 48px;\n width: 32px !important;\n height: 75px;\n font-size: 16px;\n line-height: 75px;\n background-color: #26262b;\n border-width: 32px;\n border-radius: 4px 0 0 4px;\n}\n.index__menu--38cbE,\n.index__menu-collapsed--3qSkQ {\n max-height: calc(100vh - 64px);\n padding-right: 14px;\n padding-left: 14px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.index__menu--38cbE::-webkit-scrollbar,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar {\n width: 12px;\n}\n.index__menu--38cbE::-webkit-scrollbar-track,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-track {\n background-color: #f5f5f5;\n border-radius: 0;\n}\n.index__menu--38cbE::-webkit-scrollbar-thumb,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-thumb {\n background-color: lightgray;\n border-radius: 0;\n}\n.index__menu--38cbE a,\n.index__menu-collapsed--3qSkQ a {\n color: inherit !important;\n}\n.index__menu--38cbE .ant-menu-item,\n.index__menu-collapsed--3qSkQ .ant-menu-item {\n font-size: 14px;\n}\n.index__menu--38cbE .ant-menu-submenu-title,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title {\n font-size: 14px;\n}\n.index__menu--38cbE .anticon,\n.index__menu-collapsed--3qSkQ .anticon {\n float: left;\n margin-right: 20px;\n font-size: 14px;\n line-height: 44px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected,\n.index__menu--38cbE .ant-menu-item-active,\n.index__menu-collapsed--3qSkQ .ant-menu-item-active {\n color: #fff !important;\n border-radius: 4px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__menu--38cbE .ant-menu-item-selected::after,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__menu--38cbE .ant-menu-submenu-active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-active,\n.index__menu--38cbE .ant-menu-submenu-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-selected,\n.index__menu--38cbE .ant-menu-submenu-title:hover,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:hover,\n.index__menu--38cbE .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: #fff !important;\n}\n.index__menu--38cbE .ant-menu-submenu-title:active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:active {\n background-color: #fdd831 !important;\n}\n.index__menu--38cbE .ant-menu-sub.ant-menu-inline,\n.index__menu-collapsed--3qSkQ .ant-menu-sub.ant-menu-inline {\n background: linear-gradient(-240deg, #3f004a 50%, #210c24 150%) !important;\n}\n.index__menu-item--3jS31 {\n font-size: 14px;\n}\n.index__menu-item--3jS31 a {\n color: inherit;\n}\n.index__menu-item--3jS31 a::before {\n width: 5px;\n}\n.index__content--2bhUz {\n height: calc(100vh - 40px);\n background-color: #fafafa;\n}\n.index__sub-menu--1MaIG {\n font-size: 10px;\n}\n.index__sub-menu--1MaIG .ant-menu-sub.ant-menu-inline {\n padding-right: 5px;\n padding-left: 5px;\n}\n.index__sub-menu--1MaIG .ant-menu-item > span::before {\n position: absolute;\n top: 18px;\n bottom: 0;\n left: 30px;\n width: 5px;\n height: 5px;\n background-color: rgba(255, 255, 255, 0.65);\n border-radius: 50%;\n content: '';\n}\n.index__sub-menu--1MaIG .ant-menu-item {\n margin-top: 4px !important;\n margin-bottom: 8px !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected:hover {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active > span::before {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active {\n background-color: transparent !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected > span::before {\n background-color: #fff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__sub-menu--1MaIG .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-radius: 4px;\n}\n.index__sub-menu--1MaIG .ant-menu-dark {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n}\n.index__breadcrumb--2Wm6M {\n height: 50px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-item--qhsVt {\n font-size: 12px;\n line-height: 50px;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-link--3_6RK {\n color: #0068ff;\n}\n.index__breadcrumb-has-tab--Nwd3S {\n height: 80px;\n}\n.index__main--jl6wy {\n height: calc(100vh - 40px - 50px);\n overflow: hidden;\n}\n.index__main-no-breadcrumb--2XmS2 {\n height: calc(100vh - 40px);\n}\n.index__main-has-tab--3wlbw {\n margin-top: -42px;\n}\n.index__trigger-wrapper--rqEk9 {\n position: absolute;\n right: -24px;\n bottom: 48px;\n width: 24px !important;\n height: 70px;\n font-size: 16px;\n line-height: 70px;\n border-width: 24px;\n border-radius: 4px 0 0 4px;\n cursor: pointer;\n}\n.index__trigger--3pSSC {\n position: absolute;\n left: 0;\n color: #fff;\n font-size: 20px;\n}\n.index__trigger--3pSSC::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background: rgba(0, 0, 0, 0.35);\n border-right: none;\n border-radius: 0 4px 4px 0;\n -webkit-transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n -webkit-transform-origin: left;\n transform-origin: left;\n content: '';\n}\n.index__trigger-icon--2oz_J {\n margin-left: 2px;\n}\n.index__base-layout--1IYXj {\n position: relative;\n width: 100%;\n height: 100vh;\n}\n.index__base-layout-sider--1TtvU {\n position: absolute;\n top: 40px;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 230px;\n padding-top: 10px;\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-right: none;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU {\n width: 40px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ {\n padding-right: 0;\n padding-left: 0;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 12px !important;\n text-overflow: inherit;\n}\n.index__base-layout-right--3JjUr {\n position: absolute;\n top: 40px;\n right: 0;\n left: 230px;\n height: calc(100vh - 40px);\n}\n.index__base-layout-right-collapsed--2DIVo {\n left: 40px;\n}\n.index__base-layout-sider-hover--MC2Db {\n width: 230px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ {\n padding-right: 14px;\n padding-left: 14px;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 48px !important;\n text-overflow: ellipsis;\n}\n.index__notice--1C1vX {\n position: absolute;\n top: 48px;\n right: 0;\n z-index: 1100;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 384px;\n max-width: calc(100vw - 48px);\n margin: 0 24px 0 0;\n margin-bottom: 16px;\n padding: 16px 24px;\n overflow: hidden;\n color: #0068ff;\n font-size: 18px;\n line-height: 24px;\n word-wrap: break-word;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n cursor: pointer;\n}\n.index__menu-item-title--2G1wq {\n font-size: 14px;\n}\n.index__menu-item-title--2G1wq span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-item-title--2yPhe {\n color: rgba(255, 255, 255, 0.65);\n font-size: 14px;\n}\n.index__sub-menu-item-title--2yPhe span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-title--_bWGB {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__menu-item-title-wrapper--1WLcf {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",nav:"index__nav--1IKuR",header:"index__header--3eaFT","header-collapsed":"index__header-collapsed--2VIjO",logo:"index__logo--t_KQf","logo-collapse":"index__logo-collapse--1dyW-","logo-image":"index__logo-image--1r9zB","logo-image-hover":"index__logo-image-hover--r0EY5","site-layout-background":"index__site-layout-background--1KhiG",sider:"index__sider--3mcQr",menu:"index__menu--38cbE","menu-collapsed":"index__menu-collapsed--3qSkQ","menu-item":"index__menu-item--3jS31",content:"index__content--2bhUz","sub-menu":"index__sub-menu--1MaIG",breadcrumb:"index__breadcrumb--2Wm6M","breadcrumb-item":"index__breadcrumb-item--qhsVt","breadcrumb-link":"index__breadcrumb-link--3_6RK","breadcrumb-has-tab":"index__breadcrumb-has-tab--Nwd3S",main:"index__main--jl6wy","main-no-breadcrumb":"index__main-no-breadcrumb--2XmS2","main-has-tab":"index__main-has-tab--3wlbw","trigger-wrapper":"index__trigger-wrapper--rqEk9",trigger:"index__trigger--3pSSC","trigger-icon":"index__trigger-icon--2oz_J","base-layout":"index__base-layout--1IYXj","base-layout-sider":"index__base-layout-sider--1TtvU","base-layout-sider-collapsed":"index__base-layout-sider-collapsed--37BAU","menu-item-collapsed":"index__menu-item-collapsed--Vp0Qm","base-layout-right":"index__base-layout-right--3JjUr","base-layout-right-collapsed":"index__base-layout-right-collapsed--2DIVo","base-layout-sider-hover":"index__base-layout-sider-hover--MC2Db",notice:"index__notice--1C1vX","menu-item-title":"index__menu-item-title--2G1wq","sub-menu-item-title":"index__sub-menu-item-title--2yPhe","sub-menu-title":"index__sub-menu-title--_bWGB","menu-item-title-wrapper":"index__menu-item-title-wrapper--1WLcf"}},2076:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.LayoutMenu=void 0;var o=i(a(164)),s=i(a(54)),u=i(a(29)),d=i(a(86)),c=i(a(28)),f=i(a(350)),p=i(a(591)),h=i(a(77)),m=i(a(91)),g=i(a(1573)),v=i(a(1574));a(344);var y=i(a(202)),b=i(a(35));a(1276);var x=i(a(421)),w=i(a(205)),k=i(a(134)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),_=(a(161),a(564),a(412)),M=a(36),S=i(a(4)),I=a(567),N=i(a(237)),E=i(a(1454));function T(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(T=function(e){return e?a:t})(e)}var{SubMenu:A}=x.default,{getLocaleShortName:j}=N.default;class P extends C.Component{constructor(e){var t;super(e),t=this,(0,b.default)(this,"onCollapse",(e=>{this.setState({collapsed:e})})),(0,b.default)(this,"changeCollapse",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e,hover:!1});var{onCollapseChange:t}=this.props;t&&t(!e)})),(0,b.default)(this,"onMouseEnter",(e=>{var{collapsed:t}=this.state;if(t){var a=e&&e.target||null,n=a&&a.className||"";(0,k.default)(n)&&!(0,o.default)(n).call(n,"trigger")&&this.setState({hover:!0})}})),(0,b.default)(this,"onMouseLeave",(()=>{var{hover:e}=this.state;e&&this.setState({hover:!1})})),(0,b.default)(this,"onClickMenuItem",(e=>{var{key:t}=e,a=(0,I.getPath)({key:t}),{pathname:n}=this.props;n!==a&&this.routing.push(a)})),(0,b.default)(this,"renderMenuItemIcon",(e=>{var{item:t,collapsed:a,isSubMenu:n}=e;return t.icon})),(0,b.default)(this,"renderMenuItem",((e,t)=>{var a,{collapsed:n,hover:r}=this.state;if(n&&!r)return C.default.createElement(x.default.Item,{key:e.key,className:E.default["menu-item-collapsed"]},this.renderMenuItemIcon({item:e,collapsed:n,isSubMenu:t}));if(e.level>1)return null;var{showChildren:l=!0}=e;if(!l||!e.children||0===e.children.length||e.level)return C.default.createElement(x.default.Item,{key:e.key,className:E.default["menu-item"],onClick:this.onClickMenuItem},C.default.createElement("span",{className:E.default["menu-item-title-wrapper"]},this.renderMenuItemIcon({item:e,isSubMenu:t}),C.default.createElement("span",{className:0===e.level||1===e.level&&!l?E.default["menu-item-title"]:E.default["sub-menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)));var i=C.default.createElement("span",{className:E.default["sub-menu-title"]},this.renderMenuItemIcon({item:e}),C.default.createElement("span",{className:E.default["menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)),o=(0,s.default)(a=e.children).call(a,(e=>this.renderMenuItem(e,!0)));return C.default.createElement(A,{key:e.key,title:i,className:E.default["sub-menu"]},o)})),(0,b.default)(this,"getFirstLevelKeys",(e=>{var t,a=(0,u.default)(t=this.menu).call(t,(t=>{var{children:a=[]}=t;if(!a.length)return(0,o.default)(e).call(e,t.key);var n=(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)));return!!n||((0,c.default)(a).call(a,(t=>{var{children:a=[]}=t;(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)))&&(n=!0)})),n)}));return(0,s.default)(a).call(a,(e=>e.key))})),(0,b.default)(this,"getSelectedKeysForMenu",(e=>{var{collapsed:t,hover:a}=this.state;return!t||a?e:this.getFirstLevelKeys(e)})),(0,b.default)(this,"getCurrentOpenKeys",(e=>this.getFirstLevelKeys(e))),(0,b.default)(this,"renderMenu",(function(){var e,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{collapsed:r}=t.state,{openKeys:l}=t.rootStore,i=(0,u.default)(e=(0,s.default)(a=t.menu).call(a,(e=>t.renderMenuItem(e)))).call(e,(e=>null!==e)),o=t.getSelectedKeysForMenu(n);return C.default.createElement(x.default,{theme:"dark",mode:"inline",className:r?E.default["menu-collapsed"]:E.default.menu,defaultSelectedKeys:o,selectedKeys:o,openKeys:l,onOpenChange:t.onOpenChange},i)})),(0,b.default)(this,"onOpenChange",(e=>{var{openKeys:t}=this.state,{openKeys:a}=this.rootStore,n=(0,f.default)(new p.default((0,h.default)(t).call(t,(0,M.toJS)(a)))),r=(0,d.default)(e).call(e,(e=>-1===(0,m.default)(n).call(n,e))),l=r?[r]:[];this.updateOpenKeys(l)})),(0,b.default)(this,"updateOpenKeys",(e=>{this.rootStore.updateOpenKeys(e),this.setState({openKeys:e})})),(0,b.default)(this,"getSelectedKeys",(e=>0===e.length?[]:1===e.length?[e[0].key]:e.length>=2?[e[1].key]:[])),this.state={collapsed:!1,hover:!1,openKeys:[]};var a=j();this.maxTitleLength="zh"===a?9:17}componentDidMount(){this.init()}componentDidUpdate(e){var{pathname:t}=this.props,{pathname:a}=e;a&&t!==a&&this.updateOpenKeysByRoute()}get menu(){return this.props.menu||[]}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,I.getPath)({key:n,params:t,query:a})}getOpenKeysByRoute(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e);return this.getCurrentOpenKeys(t)}get rootStore(){return this.props.rootStore}get routing(){return this.props.rootStore.routing}updateOpenKeysByRoute(){var e=this.getOpenKeysByRoute(),{openKeys:t}=this.rootStore;(0,w.default)(e,(0,M.toJS)(t))||this.init()}init(){var e=this.getOpenKeysByRoute();this.updateOpenKeys(e)}renderTrigger(){var{collapsed:e}=this.state,t=e?C.default.createElement(v.default,{className:E.default["trigger-icon"]}):C.default.createElement(g.default,{className:E.default["trigger-icon"]});return C.default.createElement("div",{className:E.default["trigger-wrapper"]},C.default.createElement("div",{className:E.default.trigger,onClick:this.changeCollapse},t))}render(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e),{hover:a,collapsed:n}=this.state,r=this.renderTrigger();return C.default.createElement("div",{className:(0,S.default)(E.default["base-layout-sider"],n?E.default["base-layout-sider-collapsed"]:"",a?E.default["base-layout-sider-hover"]:""),onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderMenu(t),r)}}t.LayoutMenu=P;var D=(0,_.inject)("rootStore")((0,_.observer)(P));t.default=D}}]); \ No newline at end of file diff --git a/skyline_console/static/basic.bundle.1741790621.js.gz b/skyline_console/static/basic.bundle.1741790621.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6b4214b6652c1600c09f205dcb8e17ac53b8b56f GIT binary patch literal 80784 zcmV(XJ?1!!F_Lc?^%DcNJnLyrR^vvgV4YC7Dd!5$~+#G z-qCfKx6(n_-tGE9j(>apQQ9s8@5`5{ILXF~B=Um$>o8eF{jKiO56aFsnuLp_99(Dd zxYeZ+l0n`M+xxvk-w$GX?mccrIYxP4aq8{ zKqtfGQDqcH8OCJwp6+(lZ0&YoByqO*$Nm%eQE;|BoJX9SgRVI@VUX6$O+HB5d%J#+ zz~B8{EIn=SKEs0H?*Wzxf1mon0^jfZ!5IHS`UuluPAB*m=5*8!o98sFTY>Yzq@A`8 z_n_fZdW35IU`CGz`|x=wb(+b2=9CE0_2LC-?(Dcd_R$xxgp5B;JbbnEsxgG4-SD z7XJ8cfX~pe025(&{opeu9USiCI_=RsyvD__53~P*KYhA~4f`2V4`B#`p9Yx!i68u( zUmws%|Byeh;eQho)q}Y_l8dkPBa#OH9(x?Z8U-p6PudA5q=N(#%I)oTI*8k;-x-BT z(oTc6TDzs*T~tss*2Pyg_3;e!%>vLzJ&4?{uo{?pcqc0=Hy33J2$J4<>z+!BPuh4 zu`7Knbt%UoT8@&iC|dt)MYm;?j*HfN*^bU}Hk)TD^y+?;r9c@LqcX!OQUl=*(_eer z+q{jp2FCdG%<<{b_!NtIghd76pq$1UoNSH z&OFcN1+JA6iiIB57nw%ID4a)J8szxgkx4(6vjj%oZ}<|(F`hhcU>w49gax$y!C$Fn zSUR(h(WEn4;q$e|PWxLC0`BFn`f3byFyC>uww@;u9ZmBVdJ8y2+4 zE&Jz-g_Xm*V5=ujDar$b$eCV-Wr$l_#_44_1q z?L{#Jnim3#*pE8=5TsCDKOG{?=zHFhYV!?J1LL^01#9~VH)bMs>kulx)RiY9d!l!m z9I5_241L%SmxKG|av*Cx;x#zUZr){OJc_orKdMz7;kx-HE~hV}GK{eeFc6@=;~K}=^M0_S431Lh22_G*fmLEmq=k)zp_KMPH7JgqNAD_DaDLHA)Czu zaN(RrJ!xG3Jv^!Cm}sOS$2e<=po40Ynsi8P#}Q@p?~NaArV7!(1ED8PvXGXyB;%Jk zj`ZCewp82WYFaX1OH9NB7WiEU_La`EnAc@Es!nLs+$|tb$I~#qjK;6yC>a+&BSrMo zZWL@v1lvrIE-2)Kv7ce|LMEd_@wZ=>qlgmP)E~2(Vrc)wMG-cSIyI=^HX7~P>;pW& z+|B?ggEh!=!{-;~qOS&JU{eS_t7+pwCOUaO)6&(1rsTB%-@UZh8DFw^@*JoRGi5tM z5;h3s1pTTDN&SZh`_TKPeZPdGLQr+Pt5jIisEnr3=!#GC`JyyNr0zHutJq1!$&In= z+<~?{u(1EI0VCkK0^`&Y%u1Vyha|6j-uA(u{OonT-wZY%hbOL=9oWY7rK#}@u^Z0AV#%%9b ztY=jbkKp}TbPlJ>ikbgROmeJpDob?I0xA& z;6npbthiq~>^HH*RuXeMI$bQ%ffh+ezKM+wi*R%`Orx9D&z)nPzpbf;C>FWZzAigXK{)W2BPnFRjK?S0B89a3 zGQYbwWgc2BkTonvQ9}qW`#p9Z`E;BW-0nctyogB^Msr&k}Nbc{+st^fU&c2&OJtNnJ*{C1DN%{S?j zZm{TCE_)V=o}~c`d?oh~_5j{9xztRks@!B)t*>G2(3TS~lt2xo2)12(%;n?Zcv{{W z8$oQo2^CcPDhV&(%*u52_qRp=zLlqo7UjJ?^GS9PA46+=NM zYG<;vL|xpS&3^e7b))YMMUX=QEM*{3FsK$NERA4@R2mv16k_qAsq*YBG$GEV%nb9y1w z0Vgo7K*}rcflV#kgH~(o^rr7BmdDnx$g>}%`oWo(hvPW&0&fOKjc4ehOkJ|0Yc2e*B$|}{-qRq*_x(enPuA_jy`m#PMSz5m zQbcGAYN?Y&n#v|+*pZ~)mij94x3{-2?betQJqIPtfvYp~mzDtVRjr99Z9D->aV*NC zRw@0eop$a8>{i}~sGwV;#S>JhzL1CtiB=X;(bcdXDyUHahNz`xSxQ`rA^(L3NlwT0 zCv)euq|8_hU5W8k5+PI2_Qvrw5ECU#^#7(Z;&%ba5`9DR4B~O$!xtd!HWm3v8OhWY zdq$t{#4xem`BICu1q+L!8_XTNg*EN$5%YDMZtAwAq{@lDkz1(U#RavhNUVu=dz_7k zHNt5Tt$%R`tTOkIjzgHpB!=`KBivUH4|@mxpL>T#QRgBn%WO6X<<0U}3@~#pL4mAG zUmWj|FLeQmtMQwMy1DQ(k4xA=x&Q+$H4pCK`kR*xOZ+#z#C10=%Crb%b@;p!J=Nn&tn%*u5A6s(P2MeL4-Y**Kxx9mR`0~n z>>YTsqXa=w^RgFQ7ljsnO_oen6)dDg|LZwt(qriJJ<#)t)ia#CmeYX4;G%F9u@3U^iKY1I8?L zA2kc%rnAspISXFIo&2h~2!s2kN$56D!qV6r#_85n{}@~_Y zG}~xD*i5TqzSQ`-V4Q^ zQ1?fs)C5Ax`m23;L!nrFzRu@n8Hq<<%}|_qd?f7v`+`S)_*Hy^Y{`yT=vY!yImdc> z)W8Hq{2Q#WVg}>pDK55Vfv9aQg(StyDaomxnKP-OlBI;wUj3FOTzQZ_#oR#y(|plE;iSBsEvn<{N_{x{bW)R#eGa;t73YD`<3+ziE|_ zh`3W`^PLFWy~#xX-PniXY>NUCrlhV)?JMfJmQu}meblf>O~mkPx;VpncDSRJPDYlf zp=_GWn|Vc}s_ICw&`7E>Y82%IRlSVhpE0f`56#o0uxiR@K`4Zhc4MW!QICE!4KEEN zB+M^th--3MBFvw6d(V!-&Xj%(Jm48e?OwNgJ#Fo@)LEPc-u%}0*lLU|Z`T)mcvw^J zf11VSvRF2fY?|0BlX;2Lw3dYqpecQ0U>$O92|Ug={dSQDkM+PSk{xEyY!NQ>^>wZk z;GBaK56!AX)+V0@Ypb|R&!LY2t9>$|^(mHGx9_Nlg2lioDITsr^zVON6lFXCh7GvL zQM7Xrl{Zn8dO^q>63~zpiU5}h&6YvpZ=AcZMy*0s#O3m%>0r~8iv1fz;woHzfRh)* z+uKR7fCEeWZ~T+|N_yYjLy3s$>0JS=72SyqO5kXcJ9-9&gn7gd8L&8a&a016I94y< z@U7fD-CDgBVU^PG`kM_XI@r(K{JF!8GQ-ov3DNCd6vc_ zcykfvu-MQR22w{cE>}ps&XNVJH;}0L=?i%r6y*HmAw#*C_hF;zAHZ~>E)Nn47cnnkmVC@;i!{7ZkReq(1~ zVL+W}v?!sQqS6$$f0kcC4&G!&0&8xK1W~3=zyhEpX{lezpWN9T%hdmsyx!!Eq#C6%m}8ae4RU63UuG!UT9uJg;K>aXn9qD8G);*TRD% zKN@{0Kt6^gm!^?$ne%d3DPOn>n44@=hS#xJn#jNIT!gela^BFgBhz=ep; z7Ykt1`?yALAqOmtbTNZGqXY;&EL$8Negs-DPePOx&jVQC7ct0MSXczZSBixzevIMI z-P}sRp~JF(R}AA6mRx_H6(tn)+X71&h4TVNrEg}zA5+LgWuFId1YBiQAxI;ap%{TO zLb_h&cm3!Z*MiZLG){0ViYe?yEQ=n#Si1>@HEc}%Xk>b8y-29Cc>Q5{h! zyhh9v-o1sHggZH;Wn(6RSY)P{v*EjYB27G>22I=`AIk-TpczsX%f<Q3D&;j^i&pNZeF1j?P@ z8w>`yFXgf=U`-QbD6*Sq%q_Gzg=672+LoH=95{=j9}UjVmqvYPY=!qMASIo_p@c?2 z=K)RByw*`DA}1l_PFR`B_p;PwsV&&*3BGGpA@*eJ`#M>ol0QRWl~e3s4S)1SxWG!w zSl)a664~Rh;KAsJ0qQyXX}}lu#Du~c*M?C2B#21y%UmCq-H*{Q9&anI~~M~1JO2dYv@P~^* z(YLMhAh8Xpw1UX-(YT~90uRV|e&>O(+a6=B6Z1p9R-KtikPq5WocqDn;^9Hq{Rb(m zu`VqK9u|004(-zH**}KAU38|P8s_V>`F?v5jN!)?jM>s~{XaRXVXN<{vwgXs1G!?6 zvmzGjJfME}w|dK?T3)?ULhXkQ+<#N`%^$C-+y1H|p5Xr0>(eqr40?Or-G7baeGk2| z=a2Ki4?C#8X7gUwNfxH0G9Ap>Y5WOE5OeK}kB^jkO^+nZ+|lFyGZG)>!e#vk{oD`u zJh5KSaPrB|aM|>_H^PFxuilITM@$y8u9(s0eZ?hvf z>e|Z;TYv?>zezvj8OZYGo!rccaL59YbC}U@RvrLdY{yvn!$XXQ7XEMqM_v-d@ct|T zb_f1hrfS8&3TA&cG+9mc{peEQ47|dX+1o_~1Bo#pa0TWPYT!98)_qtU!LK~4`+J9k zXFxxmA_|E{3wVhaj@aqyI8SO6#%Pp3fy0yjN(%kbm~?e>77fvvlI)CCWpDp@XoB~@ zFEqj14WS7xz8;$3?YBS^APaH2xHy54>wjDhlp0Pih~LBw^nFbJH|Q1s`~@=>c+Uh} z#syI_x=}_h<0TUIyq}PrpEM+}Kc`zvV8Wb&gneOT6tdJ)_1Ro4wuk5&)3k2rxPVuk zwEM;acrE)!_MA+b`yqR%pz)vZ#ptKVhY04g=;!#0m@K>sd>yB8F%{p&fpA{{=0!=G zNF9oP5g3&mEB)X?-X@9?#({M16A2?2kYD0))Snm}T5dCByeo+*-QLFcY2ACqexc4y z`Oo!0ei-uD-VHv(0_x(S@>@IX@SONZ^TE3Yedn*{-TN2o?)@UT7mI^!7vl8FGlnOP zqVbQ|udN<(r#!g*yT*a73=0>2Y-(CR=>~i-ER%5DcepRWUM&3T)Xc)$w=`h=rkvi1Y^Kb>v~9&Q){=$0_`~LzP-qC@{;Bnq_T%bNc5&FL;Chy!x7% zp9J@MMiq%LR>8(|td|R4dEASeu6}n}okVxy+y(L+l>_hAT|y9-#%3dnW$;Sq{g=FX zfVenw1k^}PgrYUbdn)-DCZTR>CURk^F(EB2}^7xj5` zo<$w{8z|#GB)@aAce;jgq4vBTyxYv)<)!3UQv>JX6#r>Y8_O_^BG?=U^* z=CC`ieE|gZLIFX&YX*Q)@J)0z$R)mwixT+`zUtKnlHpEka4agP@G#D!0$K+`_W82b zC01J`)M{E3NBJk|)PdW%bhjwFW(z0ONI2Jiq>2$31$RQ*Ul!ABk&IQ>h5vzVO5Z&|zXnpNI>N<+!(TDn3Q;!qB|UWh=+ zO^!LXnB{Caa4)G{7CWu7*f}X`K~yH@dXNsK!x6dd!+>x`9|ajSc`y%C;0D<9JA;oE z8?(KgFa$)I4383(#4Uo$Oa<7SBm1kga?+>jwgR;X4egC;+AA@lmPa`^5!P8E zpO9*2{Np|R$42__ubQD8IZ!Das>5C=92%P;@~v!5rUpz69bv_6KJ`nyL_nmO(4<=l zh~p;Bis83Otuo?WioqQ^si>B78$XI&+E)EHiw+2=DPsF#LHS+kQ93Ic8>dksBrz$L zfQTD&_Wmv5<3zIx#XA_cL1r&iRp|>_BR?bi{i+kEsP*vMo}z@F-+qA;D|Kf-qdIv1 zuwO%p$V8_1wD;6M@=!6HUU~zm=SoTCban=$J4gf1J3se@()fNlL!;=R%)_)mTdV#8 z*2x5V3L+w2rk8KhGV8NOcX<@H4-b%7<^EAhPWTC-)pVj;yx}hfG7<4&_iVeKX0)BaRYf+bkNHl%E*A-K;9Uy{99;03Zi9yJ?C+R811#&6@6WXhkSJ8{im!c|JCh!no*!$XZ~ zAH)>4bG5}gTg3ULZJ3zYkfdpl_`|$!f1TC{I6#3y$XM!9E=<`d;eZPAvl1&UeZ0%{ z(Xko%^9bGiA^|Xqa>X+E4^vds+}T$H)!d_D+Nl`9eoo$}sXTe|?QObG6`nf3HPG;P zhQf)CTlDiqa@dkngU*P*tyPlVn~q7!XDsTBuq@fe=7K)BYAM!3AJtLl|DZMSe+Gn2 zl3k!>CnD*zpAS9_n17Sp+i#n}kCz%kyi^e4*LCQ5Abv4^mPCwXSwAV!2r~+V=LSe3 z$TFPbh=g@A&5!MS%mDewz7=^5g&`;M(%s(jceU7$MDw%#VXhK8N?Ml6%f^=-(1{hizaZ^d& zMIR(KQe2#(hua;N3H-JA?o>24Hxsz2$#PH%<~knyh@B?&Lg*tXYCD#l8>pv;hf+W0 zh$$Dux~~J{S>_Z!63puhJ1-LKTV-bwm7^*4{KXxim&JZ?f5GE{ze$qo7lDz4nSY|Y z7}fB527(+f2gTXqoIr$1L!c*(Kqk;4$9fh!IIVgaMje{&r35-9#K2GCg+RC!z^uxK zvU)Z~;sB(HRfGr*fp){(JDvZE$*&AmXb#nD$d1=-)xpd4;3Z-%!n5?;z=#je^7Bp+ z18FSL+dlc;U8ilxOWwK5)Oaozj_It0<)TmcP@PDGD)7-f;X`DU%d^lh4|s3GZ`&ye z84TQ*2U%_d8>u5Lank?N?K|M!L1Li!HWABH5>^$wE<-LpKZK!Gu>>AY&Dd05o+y=DoQ zazH`{!VG(wGMfaiVgkx7=?*E&5?`K$hEB!Z$(cadu(r1?q=%F zEOL0tM7G6<^e&5-v%)j6+`(gq`LkmUF!KijBV@W-VV`_sTB`HAI1uPmY@>Ts%U_nw zUzhkb?YWzJOZUHYO}6yP@envRrZ2i_sVnF9S*O#<1NbL9_k9;?>&7(T<#z@21FKri zQ1C3mNSjlrJsh2R*5Oqs@P@&)<5jZ*MeI&vX|ws^aviTj^iu+=*F-2O!%JYdIBHdO zM_EKfI|Fxvlcx1>AD&f~3o`EKgNPA_$c!4Wu zs#)uEl%5nAIG5(g$#Otza0Q1BS#dGpYUvV6u1xp(jh|O&jXq0>;L_(Cc2VpQqnq;B zC~FS8u&(#1qc^Yy1N9~@*HBYGRVmG)6Ewn3`DnRn;u!1^(8rD*0rIL6>wBPsgbH}`liL87q!W*w zuj(go#SXAeW;|`}LTqMg(y8>mhuT7|Bu`h`APd z6Ev`>4oqyT5i*PB6a#f;OLPcYs2y1>3GouIILSVy5Jw;8qwl-!U3J)^*r8@8pmLX7K3kE%S#x4y+I0J`+DezFpjU6jL z43a_J=rq)6&5G~qb!OL9%kvA9RmXY>?2{0B(s~9xT+5(`4w-HqUrU{9h0SR$ z-8}{13|J!oe2gY}R7}^%%{k{HMUcZfkbn@nrwx$5w%?b5EGn`_J8W#0fEU6$Ay&lN zaxW1D&6THmspdj6=Zdg$qTVtxR$EA{ryI+JhJBpceZ6k5+YJu7@X)nHMWKU=c1q1Y zG-=|0GQg-re}JX0)$#L6omXb{yh>zwpYRvb-*rt0P=-TY zzHa?8uuj&fW8WsY=c@IdFFtC6?HF20CmxS!`)jLGqmE15%thnAlcDQWEw!36OFpd5 z5em{rb}NvX5=CoGK($yxY3GWY=(3tG`=}L|tgFaF8@Ld^uOb?m_Y=D~H~grbLjBSg7Z6qMX)M zeMzDLEJ~26@o50$hnuI&0w6(hvZZ_?1YV_Ct|)p45tSry((Gh7x$K6L5wtxd(%m4? z+Cc^d*{wEgRlm~^09w`q z(w1llb39~H;dW`A?npD;w48By&>~-HXu?gZ*|Pn64dqRxR;q%Qf#M(^b-kq7tgtqm z+7PdoI%Y11ATt5tCP6Z9YBU`;BrOrdD0F9EseL0u1zak77_?e}wGCX(kq#oNrK?my z+X^v3GzJ#16ddec3x$X!FWC2L>0qm81Rg`8i@|l<2TenNl|82U}0 zO>JWr8)4a!fR+}R>M6xulUqGZ`M0y#YXNV?)q$|2aD=6LtC2NgLLKzu-}M^x!n7o0 z^V?#lcZiU9;&(CI>Fs)f!J2bKISnDZ!rVw>pF16bAtVv5Mh?;PoyjC%Yr6?j5QFgivE(hVz#5dLoh`xX{ zs45aJ2Bv% zf2npt?FNv<;0>Db!(MSrUjxfzdEdIFxN?lzSzd{pqg+Uz`~HVUy&(LkZy1Pw%P{*Jsnc=a7dQ0 zgc=Wyst0#n3wAi-$T=b@o91xqyZJXn9bH#E!eV0R4{P61y0dZ&CMvLl7K#x{m&j!D zT6ve{Kvp(bEY;OvD+$t-tK(~?+8BhCT4_zQFs%q!cgAKGUpIlea6N+&had6%?=_9O z5}e2831eS)f+mNl&XRcS)lXu$WM2X!uoyd(&5MSEd$^h}p%cM|->)tU{PQjwH(d|{ z^Gj9)7mbo4h>EnLA0F^g(Ffl*4=RIznK1I^TBT-cCXD4e(N@c@J;JaNQt*3AG$^bJ zooTIznXVEsrNcqveYAuTN*r^M+^@Yyg+AqLtkbNs{8E~#8L5VX7CzmK31>`%wx_OT z7y%*-y#D|DzyI(50(A*Ieuxc!-)~}d&EwqSbtNkr*j!6tr~IEPXPv6nIj|%5Lecdy;dC!^E|v$e1ww@GA{lzLi2LQ;4!#>@vpIh7%|Rxu9`ACsnkXGcR&Yk>F-dp zPCUjPH&=&scY)ZPyaGIA8^neYu>-AbLhr3r0psAT1kbC^J*3r4tS8evdrF~9a~gSQ zjLF+VW0F^c=jinI%77#IKj`oKwEM4f^FQ2Ee*V4P1NQSzq~GmAy8Mr2hHj0gzjAuE zJj5hCQK!?NLk=(WoEF8lh;Q{&CyMp5U@vU>Q5=#l{c(9={iom9MtHu+;%AcV&|b81ES zZ6`*&xQgK`PWXiH+;B}G;I;)^uY$(Q_v)iJW3gJE7kBCCxxA&Z2fi`3e6`I(5xmGK zZb)GMHG$thO(PX3ojQjb1zn)0VbQvXA{eWpSOD`>jnm%xue9}#Y|#Q5-MR^5ih$k< zTa)Of#k8$J+=oeqgAYxOT8ztIw6Y2PBm@T}|1J1#7N!fBrn{CPP?UpS3RDUFJ&DsW zX^EJtEryx-hH&v@AYD5uYDC1aPk>V1eb-R+@>=}6PSSsyDS7nR*A=-G6j()t-C$!_ zI4Yu|?>evj+A1~~5$cPLKU52!W@kZyBB_T&iBdPb8aFB;NMjKa*Zf{7Be)P4C<{BP z;liP&ARu(`D}naV(0JZbmH1}dNGW3`eLOaA#ul1eeeDdg9u1ji=tr`MSj2&rZEsS# zP-atsBfeq#`2nhgTT|#5r;ZN2Vg4U(KVjs%74~Tm%^41&W8M z$)d4QF@BQ>_+67v!eD#BR{*9W05^RS#&QzegXydlZ{J=%~j{iA9# z;-eL)R)>DAwWs@R1~^F+CDq z(dZ8iV=;M57>jt2Z*M0mj73%(#v>q#^``#Cd5?HVr{BH{MSh_J+zl)h96Bs*hIz zH3)p%xeUo<253qpk|L~R@kD}XKXG?WY{qcPSV__^tmQwJaT6wFd0Z3NX}&}hdNwKC zvIBA5H?&W*-m2WLw6-4K4u~~HAc>g{-qcE9*~|t>y8%5oRvlDb@_oq~!u+d9YE%rP zSj_xjYikAxIYDG2)r?^oHhne~pG|#6=JwZ3`bL;wXugK!h>1HmvnOH-L z;kVeyzLq4`A%!%yMGW`6Ezy+4G^fMpEIk(y`|!k~2Yc>0it}Uzj8!K-w}IAcM^8l$5zw&9Z@_MmpYc*zXx0LO1U6bVm(>-)t*#z}M|IH# z%StrF`cQAVz@Tpq=qABcQVz;S+rJuE&WB!$mlfLJ)@V#mB74P-@v8gRChW5r<3+cK z<4oo=RBok1q~1}x5mX#w5)xyzAzUIcR*BG~#sViX6Z+I-QyfGSeRe=c?Mr@lQe2ws zY%$0rhT(!91^+;)PoEM4kxAsj2|qrykqGCU>LL+NDVZ<`30QIWKmsdf1U0yONWhAj z23E{8uwtfA3NJVZArsz;ER3y~$w*ySe<+Ld>2Z;|;24R22NowE#w%HzeD45!&S5B-I1DJVI)elLjDS&+{8MI8)J#KE#nQJHKXe+V+B$=l4TOL+8Lc zl~7gHl-e30gs5P7a!E!7Z4WhjVIH;8tduHkDp9CUT8}GJxvbDN2SF4AaX^n1N;qZh z8zw==->uZtakWhfyA^GqU`9wvkAZAr6fP+BIrQ)jdRi>eW;g+2+K)&{ZLT6NR{Vff!qEW>PtvR4=V9@OOJ) zB!_fjUF|z(t^HC5#X4~f4D6U#PU~!Bcc&TGaS>l6?vPa2xcQ#{fa4(CTyqE?B^6fgy#LAEGIALDXqcVTz_aWq$3GS0Z#%95tJhvN;sN18#OSE>8pWxi zeRdADV#HGpys{-wsewHo=7_p5h}uF$i`m8X0dVOQxTPGO>f=N-T{@a!43Q*3;~kjN zV5`UQk4?l_WL1bXdWBi1Q;O$%#S2n|u}KEN%_mVw#t-?CqwJt*V%>T|_>93px4UYo ztC4p{Qqy;O{UU<3FQ%1)P^niZd=qNrNNdKOV`&QJS%Fh@=z_J4b~GiyVL+QngshBj zFA#LfWh(Q!Nxqk0kn9xgqb&w-UIpGSl9zOhxZEZ1zWET&QH(RZayiJ_jKx4L|0OP` zFX?i!9m8G>>YKd+5J`;k`zw~Gh2@$x8NwPK6jG34!g*&n$>r%gSxmgFp`t{ddT-(N9$ z3GNZmiJzcRBXoTaCI~kxN1O89C)?Xe8!4DPt5{5jZTuWI9CX2v#Eu#%OUb%8h0Kcu zU4KnM*No8ExCUuP-=_}p7%CLh*$iWjOo-?X3h}5rIEw2J@_5Zbj(U|KZ>u2^5N!Q; z*j|y_?lpn7hOydX!P+QT!=l!0L<~#`f3YBRQt|yG z(h@+9)2M{iIQD^g5Q9=mxNP=G8aYVWMXm0*&8M%IN58Tc1X>c3TgRdp^3f5Uh35eX z1qF&m9e&_gdcI!`oh`|h8HS=^^mE`;ar9BjnKTBLs7?gIS_F}33LPn_#te|yNW-{| z6YC2=)@EizZa!<)Xz0VC#s0tG4TB*(!yb;DqKG-VMn#$P>7B&f90Ha4hWtt%^Gtq`zpm`6_>Gpe?iQlpzFYt zIJ~W53qt~kZm;5(XefS($K}+Jh?TW7!beLhV&arg-HHrC2qqeR zsFj$Epsi8K(JVo!5x4?X(n;Kr(KG&@}-?_v#s}{$yOH-3eGnW3+fl$s&6j_YH;)bTL=UOdJdZ{ z>WJtQKX_%v&c>HAcsB5g!438dIbp@m)}IgWui6GfyYdimcJif^vDIn_>gQn=7FWj# zBd}K=;^7*Rhb}smEjPIKgR8ZOg%^!^7J-}rxxVsfVyRfGD{<`#3~0PL`-PfX4Z@-= zkfn)*zHTVZ8-`H)Fk`FI4Ni`$HxZIrtS=t2fay(PDEJqSMt@ud(18Q5a+5e3fOkw$c-=U2+p-9RRrr!rXh6fXVkuV`+4q zrGdw>b)~|vD+X6gGyZ|WT5ALK(i{s6m-1~t{J)ZpAMaDEtJ~;g4A%$X`isxs9 zd!r&-a=c6E$WzC7<66XtB;$=c6&&)y4Gt*+Jj!U8WE*fJjR3AhFv#wqX#{Zm$47nq z^7}@8Jl-(sH$r8K(wY48O9OCuoo@PoDX#$3wpyssc&>-;k0~=CQ8)?j~LqX=(brWJlr)LJC}6`Q~E5r33I$uuvkAsQohoBo~U_;eOS(eg&rZY*IA@dF$(9=kL4^u zg^d~ASi40CONEx$mMkr1-KQv_P$BPjK zt;I|tA{=~ae`)I$@>P?s!iueI=XCYFQcWlZ z9-Sf>dw}!YSn)6La?^S@T2HE4aV6MTv%IO?u=4rp%0+Fu{-wbmyg~k8fB#?SNl!7U z*^{1ZIN6V07_4#$Kqp)d8h{3Kk>}Yn%5!k| zOj?5qSN%O%=)UBwMWM`hC@24Gdh8OLA(@MWV@N;qiRDNnV{tpciVl#&Xsh7V2TwTc zHsyM@i&m{5j=cGBz285E?eu1Tec1m(4{y?s$Z!I$+CNziZaeY(XL0E-jKfZqaoF|x z__NCB$G+OCgxS(MNAiYx7nL_ze$_T@8U%(*WLx2+oD;QZiwpRH)OU_zH4z^;Af(B{ zDXGfQ&RJW)nfPFZlH5h*0;jNzD?{NSQ62it7#ZWZE=C<&LDHf`O+8r-+j$ov@50F& zl4-G>_ol=B5jBf1om8is9QmQ`ZFIw1H%6)1V-VL1qnoHWF>2{gR*t9a#mH6y zm~efyfkCpyz#tvb>M!w_BU7W+RNg6s=*$NqGfB6Oa!U?JB!@$dL>I?}X~r_Ju;N#A zir0kIr>gxFRug?q>DaDSWs8~lyCz?tD|uX8@&bmi?ho-D#pVj`KYM^p=fZw6elo!TN{JOY@y|H9k!?}X!4pC zZCENJ6hX0K6|63`X=PPNw0YwuO4fI6B1A+s7v8QMiwj|@@UIJ$jp5Ovb2FOPU*tU{ zN!w?5$$IX3X*(g*?%C;`jo=j=WIQ&E#OgX_9WF+nT2b|wYk;#Z9jpAvA)ys3eUpT` zK)|ve*X!Z=u2(V*pg6cnmK{&;wZI%3u- zT|E2tdN&BFcFn4Py);z6&2e5VMohu6%HI|-kLuRq_4>F%67i@h>z&RjX1?FZq+KhB zejB>f;yGM^iMd6WM0Y&jfKR7EbGvKuQPLZ(CSK|Gb~^lhN5SPsWt5VY-Q>o5er2dk zP6n+Z45ZaJ)X&N|i0+s5;ab0M-z9po90Qm8tzgzF&Z*KDiNh-SGDTC>eBy>ye6by< zg%;+(cH(`6Bg@OAavX3<9RAFo+qJ{mX<8L}Kzc$@QoL*G`qi>1FHZlhy>@!j~P-fBXttK}x4C zDa|V+Q;LSm=5d&~H?7AAHJs&r?`9g8k=I=R+*abcm*b8c5NWM~trcKUq1v!MO*Jcj zgAT$2HE@`MAdAQi-Z`_BVNhw;G)hPeZmMmhN9b}JYX#hXu*8g z`3P#$z`#0nRm3Ohh_ohMIyb!APzpNTu`kd?%< zKh*R8@^PO3W7G3LsrCF%Hun6N4wsqm{7;1Ee+EK(#-9Hfd;X8xXrYbB0A~q${wJG) z8zHD}NQ(C(8ylqFQ-9RpsXr2)`Xg!ebh#L@ z#3CT8vk18R{VW2qb~w1+&>~>E#v-8b7x1EREdsK3ZdTD?5iq7Q<2s7~zW=yT_a8Ik z-orf0TG8OHeb>HUnqg<@B5j^WqqsmddY4=?LpmQY=+b|*jIc{U>q&xZ|L|Wgf4C&j zKeZTVYmZl0G)qlCE{MQA{nw$bRNzzu92)_Y^c0*5-NcO)-U`{(^bX_|8iS(Heb!tc zr|ij07NQFL-X+qPX=@z~mvTM0Ro7;>l>5mc7h~HAak1$>zWpPJ^TmHxSQa_@ zO*A@4#kRaLt|d3Rj-1u|t}_SxDZHq^Zz;nI1fSO~@Ux~{O>%d(-LmVhF!_#7Gq{cA zqD?V|1Te$Xn@+hc^oH3qTs8C3E1a58|7+ub~P~24pe%hc2%jrC6zsM^!s!#kOc5g zc5dtXttL#wyNMhl2gZ_$iLsc`xjuaiA3=_>jt$aA(Y57c7h$2CH!nh7CKOqwdf)0S zlG0uzGRiS2%4HymTtg=FWyu-v@#nCmmBG8YINR(**gu26=djM!uS@4vD+?^=L1Rm` zjXUN_zegBg$lM`*&2_BP6eDy7wdL%5`E`}+*!GVY>uQj)qVdXmi|@JfK_m7OX^LPG zar9YK8u2$rYsMh8Ta|z12&mXkJOCT0A~-ynTK2(6IRm#|c;8gGQC^5ho3tA?)LLq#dBKoF_T5SVx6ZnF2wLPS5Cc`d);?1pF9)|uB{dBG)>ePzZrcm$_fl2Bk z`I&1os#-6Nns}?aNO@^fq`YWtuU16L6G8G)86+?K#*oa~#jvR{*9}fJUlB*oh=HdC z%o~zupZ#t|qYe;yD-7J$KEdn|k-FpQeIEQ8 zd$_$7S{QDaA5bVUDxy-lGCD4UHxgTF_Z(qaWYX0C; zmVrz%H@;Yz{pUEk5im^0tJ-m#W%(FGZAZe-(JQAB>}}u<(kTBJj^jnq?>sqJS=pPk zgjEqHFh(+9x_8YggK+%oqA2?w93+Un#k=FoD=Ey#mvauc-aA}b{PQ%;O1dEJpbvym z%b9o3{ZB9O_Tb-h)$Mk@06~qOC-EgT zdK6(#yyZ7G=fG;t<+|qd_J8O0Jh9s22wcW4eHVB?cv@F|<8RvXdHa=L({9T63xDTb zz|Qd)y5|KDvDf{k9>wmp?5Ab$nknhe!B6reAFsaa=Z2pygBKuDky;SR9T!evR%g}kdWoFQVv86wlZ7VLIGDq42CIC#Q9+tSMc{W^Pl`_D)PB>Wxt6uwNd zi!eDpMGqs2w?lR71KImu2QQy=pY3{dR_olt3YK$I)IaZkMGktF$Ed zsAw8&n|cP)Ffw}H`MHG0yr0f;6s5~NObdehS^#GS`~*VkrZ8kB(4kCPr5}au!vmio zOVbWoSR|;VjXKfoJj=^sAQSP{^q_m#*v{V5-rm1WJ9~%!8vkRuJefbv5t$YNNC1U- zZ89Cq|3&|L1XTY9A1mK**IgMtG4NI9PM99O1e zN@rK5;0ygY?CshvOD7_aa9KKdy2t6Kl)k^)bv&8g$TAPaizlM8cjAMdbD#5yKiCr$ z_x8Giul*!mbbB_W{&VgbLh1*~4|TzbQQ=1fn?wNBlS zy>7mYn>1X;O~hr~L~6}nZ+aQ`;*WQ;|M~ZIvwyMSrTT}jce8)-t#0-|ft2Eej$_w@ zk1H_aQI++v&aZyeM;|RiB;yS^>x)}MqgeEv2ZH_guW2CJAg#&}7pIVtn3>o-syHPy z4L4l|==tct00@KVkCniAKcTDir+DVp06qH0z<@Pvh5EW_TF>T2WaO!r51N1eZBPki zoY=3L&74=Kr`)B7sde6@Fz|0(+#!IVcwXH(Y3W}I<-K4qXn+W#y z)FemQ_s3+~odElR{zjM~mdaCcm2MXvi^5~;ZZm_jfiJ?ax_@89qpR)hob@pOXeaC{ z137@Gvu=j@lT3t_$Cwd>sdiricY+wR=ng`xDqatX*b&6J{3slQe^EE^?>iqBd9=|j z{D+!r?$<_Od-DR_3V84M0aGho|Ivo&vsJP8jq_BB%OCTdm^OKn^zaZG2KGTHF2+98 zUJVwuyEEGayg^U9df(=1pMY_upU7rvqzdg-DgBKTp{SfUOP!n3m3eCT1n zZW{Kjs3TUp-&i^8;a{;_Or0SPZJtNh=&&SkTK#}hi!z%dw-a85Op=aPyS75VvAqlh zO2e~aV7VnPl7%$@qC_4U#|tVFV5)}qY{BEt2A+KLWK0(#Ybpd%E4{a-SwBU0pXXwL zfK)skh!Ov!~sX*f!Mu~>B!6aaVsaajPv5Oo0v@yfa!ZWd? zCCHxo%QYp}m=rKwuqbkk8NuD7XqstSaMxs7@Had6QN=cjP72=Ebb&=sXV$@C+ZAY{ zXqpu?jKq6UE(eHFRx@lvK!BR%z=LCk0u6*9r%giOQ&BuZStY31?ZMaVHolco)KE^! z6<_tJk?#JZ?iY>ITWdKU%8iZzF{vP~zLtG!}TH+7aQX&h%{r%l#GcbgY7 z-{y(3+{J8-R%suAW(BqW&M?bc5wMC64`mIoG}4;>`v#ro^E%j?&jz#-wo^D9?_87! zqgk4`dCPz7_1HGb~?D1uCRiWD}^zKdz8bLJJKzBqX<-6 zD&-nULF5vVNRb6QJr$(cKN6g0>K`fQ_^vj;G)d>r- z#X70twr)*EWSlC6F0#i7v}(9&SZANWPO+}dt66L*i|r}oY2MSuk}sXGj;KUaK5=cd zRt*C}#88SI7GM7+w*v}@76nggM3@?*tsWjmogXlAm))uwo%U*AWRE*bE1@IJY)Iw4NGRr~Kgk zifC}s%<$VcW-~?v+NEG4jW|SXWk`uKe!8-mlhj=EMv>Gnkk7ouDGq+5m={N>!e6Op zHy^`aGA9D^QrllEz$vZq`;A?K75l&zc82zhU6=i!sjN>9aj#daSdp9_EH}LYMQ6E|O59v>*%uY$|+4kA&(1%Uq zmj(_0F=YmUofuJ%EU+U2;PTFbs^)ZaO-;f8&z+_T!I zbZsFGqJ$74AnyXC2um2KNVZG%yd>Ol$X`#V6zMK4${m`FX6j;=q^?cwR_UfhHKw_0 z`3VL>iV~)h7G8pgjs7j?27iCi#NR(|GAPLLcbkn4&O+TBm|{JG?Ry0b>1et`Q0qK* zmd&&&&bBc^lAJb9k%<31PmerV-fSeBf>63M$`ZuE`Zgi=yGysvQO75aEe!33C$v1Z zRw(hy4Hfq0O-ZOhaO#=nP{w#+(GNHcw7LzCQgn|Y&h2OT?;dTu$whY(mQ&&de8qCf zi8Z>>iquAs$r1%9a?IQnLW{|$)F551KC>+04Src(g;rW``P9!1}36U2&r7sFZ)pv&CE=Sz!g1#E{Pdsn2)d zL-1U*K(A~uMDD{C6!Lc&oNNJWeTO4hv zI9#1&hy5lzy0s05tFrXHRV(0)MMrE`0AzCgulSN!`%ONqr-#m1G`Ia^^&vy$=*Tis zUSm6Fu@bH2TI+yfTq?kOynHg>;_pD{M9g$b2oSVADhj$gGv87IyrnxM^93bHKc}VT zhrx`HS!N$FZ(`U3(7mvetgLbX8ctR3LJ!Mq`8+)kHYm z99%#;w_9+CM6F4dxA@bdLvRyFRR1~n#Qk(Zp843DqrSr}B}Bbr$r!P}?8n(=}&KV^V*ekS9}kpSPp%+EyTE6(uj zfWXkWmM&RVQai{<@r0h)8u65$$x87JKT`;rcl3;3zM?05|B2sYJDv~P3`i5eD~ez9 zD`5=np$R1AdV08TTGqY%;}K-u{=Nt@FE=!HyZL$qnU~*!AcLG7Zp}+LVW$1}OC3o| z*wB1bHZe&N0 zgG94EAi1*H@N6_2esQzK12x-|_n+_}n@x|{E_$G5)6-iLzC6`zc-GC9bwRV?5t|Kv zWV5|<+RPpr`;z&KCyhR|5i>`uf{s1sc-uHvuM4{gO>+WE5~Q(l=+s@NtAdaMvhzU6M3;d<=67# z3-}lg#$uGmb2%CzH})44ne+#;f)D)Gs=>%PdUzPKfSZ%&djH1S zO}ZSMS1#nm-A57ups*kcZv182EO7GhP}p76U(y#iJ~019Da;)fzSTimRkC}Odq(f^ z`eJ+A+d;dCX!x#yeR>b9oZJy;Vi5U#_(UFWZ`*HCV!mXF+1$h-`7%Wv`up(Up`(qb z!K<#(U$w)V1S2^n>Nl;g!JQvmP!eyM!G%}@;yO<)S-*W{E!Zm+IJ%BRS#!-q3avw# zR{d(M23mE^<>2=GoF|^bPL-#W*64UY(8fE9v~|+Z#vw>eqgr1nMoYhM=W~p2f3R$C zg&9?2OEp0@LQzxFiWt;3G1oSMbrl$^OAm(_R2k#BtK&Z5zz#tsfE-=FgT9`((YU>< z*2TLuS1iJ%jy)l@r`8OPMfU$%E=AP$rUt)+MS7Yo@{whJ$#K)gtyH1zr(WE>2uD}Y zI|paf4E!7kR(I8L$7l~xU+fnVO^MZ-j7~327)m0cC#G4}Fm+@oTZ_&iOR2foH<|*! zamupvV|HUNTqIPi^yHw<n2;tmTmo*-xf_FLixt1S@zQc#)@Aij=jAc_8&<7ul_j zoGhbq2;*lJ2Q*%?=LMQQi{V}>UH`1ktc_1PIsr$b8jr3fgtatYxR&Qf*;`1?kVJGTg(Ob;U%GuKD|$iMDSaHq zFGdqkN8h|fs(rCgoXk11wTt0kl?8dJOvZgw~l8bNKwh8sLaX`1C{V$wR9kvwK4~9oOD=chj2`?jBOG}(>NJJ z34DUkhn7r%>rpDr#UX=A0cD(~NOXJc!En)_a(ZPzDH!UbWT%K{^Ca3~4*oo-Bq4E@ zM`S{B2{#3VjYP+@ZbXR*%%PVYn4X{5cLxo5o|kdXzl;8v7ZxKJdym;xeiBLNj7CIE zlRz{;BMmj|Ot^)v93JcE!2$*S=1A&drvx>=D@xXr z`KhWi6NCTBiFT@1<|o@-${O)XQ;iAxROdxj`M@sy+^_HopDJElFlGGOeJ6fk29y;l zeKp>*>{~M$IO)z%)J(kl;nJ^8eXRzOB1hZvN%5xTV8aTu2AE_)V^HC1cYr8_wJ|90 z+ZhPYt9G4C7g6*0M`GBD2$A@BxW8-rA&&(>ZBGH(9`5&q^Yl{_(00Ffpz&-E7`yuq zbVI)T?}`b#xf?RW0+Y7%(ujshO4CfbAzyQ*r-xPm?z``R34FK44cP^ho*KG75j0AX zWre#X4(*u>#4l__=oCeq5jTTHW;yT5Jg}FewFQYc#|`Dl_aBSq*{YX!#?NrzkXrZ+pC;e!rSKkD2hP}{UK6lo<<$hcpQCV>CaVhMODisS$k#DjYW|g{Y^x} zW7h~#VF5_RLTkE-#ckW8wzl}}Teiq3&y(_Nyp&G#jy+@g7j?VY4tIL~pYlH|UF~0`quL0TT@^ zWaF4j>ZI*!Enj1~I&hLS-4oI84c^z$pIyT%zXi-AF2<^c$ zTJ9<((uW7cr;Sircz7uPf?kDY2ux#tu3bGfW@3i6QA48&8>1i(ybBhOcC_$>hArP* z1A!3+o-TEVQXE4w(XYnp#;z^9VIVqP8v%!2e(SBE= zN^;OaiaGdwJGN-*SX|pNTsgKSl}Q?GP}>WKFSw|P<(BBp1W4fRIfs9*LSA~^3ZH!j zX}jIvpd0kMT|;9pdEKQDx}W{4h3>!vCS&27fypd%v4wnbV55<-EH2T=l>9w1Y%j~OgGKUC029n|*DX(Ar&zINl6jm6E*ySJjrYg}(+7 zeq_dEm{>6xE`ocr=T^7vF>Y`RSk?k)-P#Pbp57a4gX`W`Xpp8+XP~ z-rebs#D)GcxYFX*zfY%^HXnD3T+`nEzXoyk5kRxXjRuAfW%O8LsSZ^`c6bBM_<7d3kv>>oh zWOH=HF7TKNAT0z7Cz7)#5WzjNZfyG2J=j}e3+vwE=oMCZ^bM6JIH=oIJfTKf(H(5p z1q%#pS4US@r-uXeEJ;*G6aqQ7&befOBsm{KZ(dTKaqA{7r>$}dYXRmWOh=LDQzVb9 zY>k_zi4cTH;wUa#>6EYJM4(c(jCx68tvIM;fZH>mm z*y;{ z$Qnxs^f!;t;fu9O8g}uFYIjiX80Z+lEf=)+@)LLBzb$sp*{} zAXkoc#L}OrmEBEULGwkGbyv*Z75rBtf{f-1iSg18zMV75+@n(X3 z=51-q|SswY`3iadER23TPY;}iH(E`eK zwgk%He^mov%&CDNpP#haC-IAKX zT((4cfYDqsXQDSjuM0e=;7;~71C&56BNxCB>1tpI;mCNnUw5qF!ILP6(>7sD3LmPJ zPNmmz5`Cojv_~nd=WzVIKwbXlkBD6mq%h9t5HcVr!8Yb7a17`L$%N=(8#2LKa$_*U z;P+|@mWBSHpFh3cdFp*#d!8dB`eHGeMEUn>mQm#6M@c}&M{QM^B}q8v5WrhKRuAL@ub71hnvC4T^F^8U6TG%V=bRX?1Am!DK%OCeC%OfK zF#dtC)>?7Vic&Hf3E-GU`7x)&G;1l}ePj_)u$*V}oy8mk&2*gI1l1(?lO(N+s6|DO zskT{2NR!E3E1Up{Zr!&y5OL93%BP?O&1uD@`rQ7Gn~MT2_5dp##|2RJJ4g~k(;Cs{ zE;{I%%Z2ta601fy>t_Sc!#m5f%i!*u{Wf9#=$J#F!{F>9xUHlokbVCP{N+Wa7Wn!0kT9otfv#sdPioo!KwNMYvxPa$6&#fa{2JkHj0B+ zf%-YHZ^Ya3gHyZ#3VPArpRREw%Qn7(oiI}Q(5D>>zZpWA{WoO$;cVmto1$jVRvC`gxM4OB1n7Hi`_6FJe?6iKaLI>7@7v76EF@vMdp zpc8?zqZ-~XQE#7L#_5Z!1ReqSb|uectLYSiT%>~L02y>UOE)d$z@zxUK@!hmVeblpH`V$8}RPedRdlQ6U6Ng%mRTNE@dNh`6n-FuO=kQ+3Vf{S(Cm-L(!2b9vGiseY9c3J zkEJ*J7A!s1L|z-tv!WgMa0Y=$6i0OREAr3H&Fj%Q8NOlJK`X zA>05*F^dZX2}{~%VJB)MgeCmx@}C3$-0y(gnYP1D*|`8wmj)}??LK)HJRyLt;<05u zX()5=pt~!|Ts*c+pmGg`J~`YMg^nLxXjAX^p6<%tj~-oUuc6TWZf{Q%I(clNPaDg8 zDu;BwzD(J|y{6K7yK*e2kM4H2xzIyV=BzX7C9ewCJl`7a_(|)H$? zQ{bA-S5xELERCTLJCYaHnJ#rEIOMEXGyMu-j@;3^HpXWf=GMDAtAk|-@%D(p+m5hko`of>?Bi?s#@`vhlKL5|RDmlfK)!RjsbC`=mL^!88-+MwB=P84ie^N+2 zYzTDF^BL{jv`BgKY}Y5mbIke#5zncl?g6f>1MP4^K$UT0cZb7 z$(kq4Rxd0ED%+Qm3@ie>Pi$g>`kIeX$jd4q_|9DXl(#_I45pK3SxIsp-WBC&1L7-D z_Dh*vMKGj%+eDzoum=fU`XroleH8dgLF69SgT$XiMG=}tIV}`Vvpl|xQ<_IZd#6mc z(J%#%Qc{|ozWVg#qdMr%CB;}s)@ z#7*C+c6&ewgRHR;x=UV=!8zNU(dez)lET+8v&Z!?vlyS{#odoW+o#vMbYFFM@L#*z z+X{$9@7Aulb-U;Nv-75qR*^WeRz>OBg0qHNWWt_aHaU*mM;!@XI4C>SZngD$x&;lJ zMugGgVOU>Dore%F=;Cm*)rIrY<877K(^t4eiNNX^XJRS!JZ`6(SW;xPG8M0Gp{oLLh>-GG>PZ?qhWM>UKVi zI{!a=Z?>LBwxx@{3XZDf614&)tr}b`eOQuhG6k|aJC!PZ{sIU=NDx8N2$0M(?2B`8 zZqEzs>vL|-&3Tr+-{XuiW*-e8H)&_4D{EOqH`_5sH^=-3m>XkQ`ekQtjH|lLQ`9Go z7{{T&o*LtRp}%pbo>-L7rqga8-ouk4Zv@&4s3lfkhz#VW@R{s1GRV%d9|is6M4svjkbR zB&*OSKu8UvcYU4a%q;^+oZ35?jpS$V9n5`#gNr#5sC3jbWU-_lj)R}i(&0kzwe-i2 zBHLyPOgtK}Q&2uat-@D1(4+cZf8Qtohvlh-h;OJMra1CEwt5la!ABhUBeld7>i0Mu zSyX#w1~lVcGqbe*h}t6;V5m7L8Q8{-Ot~viKVno77HuoLCUpEwQ&~W{9+%5h+l3c_ z?=W`zoPC$a$dd&#XZ!yuMFc|oNv!s?Y%$ar>QJaD;TGeUry|LaW|T&T+DJh{x2<&9 zm7kMT5jIa$&CJEBnK@m}%%Oz{26N=weC)S*{o6c!>&wB{d!&Z`mO-(D^18u;5(X?c z-q`+q;tuC9#_2_}ZpL+&$3f8ZT9|cJ?$v34_vInWLTgjr*dd3u{;Epw`1P~{+OY|e^%X+nMvR9+FqjO`_d{oZLE*vXz#@HNbZc_}Ha}N@HpUzfqQ1sS zZ*SzWj9WH_bhGSRD$@h*6p0YsVC1pjpc_o3gbf*#L78Vbi0rVAmCI)DrhqxueB=+*+ZsBTM>AqSA%2}D?G7r@8Xwl zmuv{5C}vh{ESc+5HP>nl*-K3bO&=dLSIj#2ArPWD2rvo2fLKt)*7GB7wI-+c%( zTFu}hxdN}>L4AJMQm2YRRf9o8U4RvAuTwp515R~k<@sZE80w70v82%V2Ub>WP3@sG zb%z;B{d&zXhx(*i(j7yy<%F+Lv*E&)RK=BDUspSYPMKYBEf;glz(Nb=$Gj{|SDVzO zsp^u)C^WVSPZ|{>h-CvYL_%FY64~`eg2So#%#bE!-`!hE@`wSGFnoPybcZ#wVJ!aV zknZsJ5R<+GX0qR=^r~fRJaqgK^T~r9KnG512$kMhrPOG z|7)CGbPq2&@M|CcsTTLEmw55^m!n}GZ`@^jhbQk&gOh(2F0&_owO;L1v(4L|vTvN) z$;0h0yX~J2-yY^q9tMq{YCAvO_s;gm7q!~Y7o9`r*Xgb|ZRgscdh~w!`J_{NdvP@F z9J}40Zt54uwZp@$ll{g~(LMjU`b+jr_osu0-zL-3;r48v+x6ZbzIqtF-5vkrwW_bT zPHNTj(aZVetMh}GFOLqZzwR9U^WdNT*WH(|56}PEX}@>t2M?{cJL9*WTYWu;*MA%L ze|f#X|I_Sdr&@nktXJ=*FP)#pXON>YIc zXe=Qz8pI1b`E(X$-&QAVHMf)Cmg4~Z|7~;{z4C^m@sWG);?l+j;>WndW5+b&%EDGC zyf2mmHy!bMF@_SGKYK;by>?lbzk>TmhXbE1Z1dQjiYU-r4cMo&k<#-fG(|Ti|6+}w z#4)c)gn6~2%xe;6UXrg)49Jj0I@*qKA`8jTU_AkiM%I&9Lhuk4kHr#KS``s^=aX@B zb>(h)whwCDH9rtPtUPx6LlkKwtPrNA3{ZvY*4XIpyFiYi& zgV_tb-I@$Xpd6%V^T8d$y+v#xWSy8HU8J5mHHS9Ejso5$1|C?a##*{?MGm{xT zY>jiQB;m+RHDQ|Ws6kAZNulk)8pvw+w`?{`*Ent&I(VMS6{r)-s?nQmmIPm+0dbAo zo6$(+aWI4-AI`bH1TSvw+}v0;M;R8kOWST?w`ti^XXuN2H*Wi;m}U14oZ+3k@9ea4 zTkQT3Dv|QRRx@8{TMUC#+;p3TQW0*p(YGh>wu<>e0VGZz7QAfRO$loA{F{K^5Hpa= z7VT8NRKi(+rGc(vWonhJVwSwRFK85TMTat43Cz0JYTcXjadTpo{?a`f}9TwcPTlia_Pj;4KT zev!~mj1%&jzo{-gOJ~A=WE@?seS7~=#J(I?i$G0gDG)Yf=F({#-Zo_e(P9nbN^lcPhgaJb6ThnM#dZ)_uyZcv9qDQJOWY>8~P0PKyBgoxZ|EBJTbP# z{rGku9LbOgdsm|m+E(xAp~UR{p4R2~$dC%tJQHi9R406SJb%usZoq%)sIk7e4ira( zEZeC3df^O)$eC1v<%^mecKSqHL1zMV+ z!TN+bHl2*pz`?b}lL$m%#x;PwE4_-q{4#Yd}T znEZYeEKsWzGtyzNw6Dc%nESXUZBj@|1cg(lc9)FL(Z`QKu-wq&oJg`Dj{C9L4;INqFoFY0wI8Y-ZNv!=illMv~c27z=WIk~w?7 z!kpy|(k<@wstsAz%++epg_zTr>Y)DyNakT^WgW(u&>!MV=noMSx*j#5KO~yaA7V^s zvmMJ#=)y7+y7>K=(8a%x2~Cs;*3anj?FVK-W~OfQ&KqYKn$M`5%4fl5N)^a3h5yU+ zgNMY2^nbAr&0;ehXTYrVm|~+3wPKBjnpG^AekPOq;Eb~&)7$eAB`K3^fwPdaOq1b9 zrO@>s*X$-N?z;>S7>sH;t_Ntxsj{I{E%8#V>Bn4nJJcB7yNBIn=QyZE2>RDPsAG1e}z z{c_3&aUET?=EJ2upj~rz+ZgCDRTN9<)HAP-A`QM;Z(NoZxI<*NWT4il!0^EGQRObm zPno&0AB;DW9%e*Z>~yr&jH1pb)JFqL}roMOA7~LNZ-FSyCW7k%UQUk*! z?LqlMNW5A$3z4v5q^x!bB2-8m&x5y>H7wr@GeDRemeA9RqY>_0E-h1*x4s``dF$_^ zEQe#0GQq3e#`aSEg3j)jQz(6Oy|XCvOQBQ98)4a^D^pu>+KBuTBi%C;4i8F_%N3GX zb}X6N3Kb^4zsq;YVmW49P#3Jd?D4x>L%?&jTl*5jXkgXk=PwJPEk4x3*gqkmuElj_ zGLwt;!!6^w{61qXYsz%4PN=6@{O?oh({B-fS&!SVSqX+tt>{v;FwQ0mx#@fVE0)F* z3an5?e#o{&*%pb&lwu=(eMY}n@tL+75ro(C<(t~-gHrW?N%=~YFx8vP%@uxCCloI0 zw!d1e(s=XjFu)D4gJCcLQQ?bJZW#KXKy~GQ+azYcO*?RnK2iJ`I^HHv zqr8wCdHB(Qje|HE$F9ognRF|bWlIOV-42Kb_(sN}^0;9ClZUD`|GX%t2Bp~iH+fgb zgqm|eMKxGK%4bS|Wui23*mJTP;opGbk2@>KE>3A>iK}z45;K&>=Y`hs20PLeYNVFY z3txJ%qG=JIvcwn`CD`cr<-aqdsW-+gMKgT`HQm}_C(kA;GekTx2{jl+^D9d6R`s_VTwVXaUUm?=!NXD!p8!~}n$YlFl) z$h4E+PhOcHGFhMO6Ja_B)Y&_6dgiB00ZIH6b&X8sx1;vf$y#mwp$5gNK?ap+W_S$o zAs#8+jl9JuhIdas)rmq5tFq3GnP+1rA8K>Ul$l&{iQ%3reK&@CuJkDkO4?;K+DzzV zGUNQA`&M7^%7T#gS{DA}7Hk}eTY8CVc4O+{!@RX@n76;5Vc!0nVZOltaoPR+@!RQb zcvvI0Kle3g{3osyl#YqKZ{EJvU>_ zX0CeoTb?x&3r7d2Q8Z$T#tu<)G9H6M3-oa6*4~E*RNF6kVLs@OG6)k9d4M+~TP;x^ z8QZ^QWh6Yt|Dz`v7Sy1g$8s}$$ti9Yvk>7^ZRB*u7hW9jW{4cr+wpW_mW?wJU%r}u z_#!%;>Z8P|R&C=G7-^b0v7CqR{C#v}HZAA1*RAa@wu`2hxlE~!=+EH~W0(*x2MQ6s z*<#6bQLpq_u2DKP@2XkG+0s!H0$uq&O=N=g-kw!M4gQ7|w4{6l+v+6B_*M2R66(BbZ7 zwQ3M63&jYjUcdu`32wtqcW-z+7T*mca$1LkxvTis4|mxD@Eg;_LILgbVY*& zFWU`#Lc?Te#b>rnmh-92GdJ`L?(X)!SyWUJUALU4N&r!ArZz9lI>vgCyTdCZ=hQaw zIzz#$Vx!C!f2_}~7#Auf@5XeloyY%HS8D4132Rr^F?K}%@MiL&WxgX=pM{;l%ccA8 z4;lJ|Vo@W80IK^i(oqwD6?X6H5Apx#A&kXTJP=KkrjlTYD%>o=a{g3pCq8N{o1z1+ z7;c-5#{cc66C=vj_)s^}?wzp%3 z%*oE{0oMhht5BC}K+a&r)ZUEF&sPN*$GWzY%KBqgsad5SpOneHz5TWRG<{`NY4LHZ zQI#dO92OJ@`osM0_;7U@17|dv0%37$_PEr0BZg5rvvS#}xQ+QtX{_3}JCRShHO%|l z&Fvn>&08rFIvo>H7%6Gpkt1MF7^BAM{VX*YMm#^8MKI;En_F%_>aT;>Gty&6V}Ms> z9-WRiLX-szY}8{E@eeyy+S%Os2a-iDoe%}9zg^hf%+uR>{q4-qX?v3qu#3pr0PQi8 zd3WIZ{did^rgS$kl=FoelO~v}D8AV2K zqehfvGb2ewit08~LRc%ADwfSR{H-{X#j-73ja99PQEn50UrEQcL`+Ad0H);$3XzWu z#SGd=`hsesu0F^>6Dv*R0b$V zC>9^_fNGptfGb-u9GT6pF}s|#a0lq_cZfO4qan`R9{d|cl%RBn3{YaLAOR(KYD5Vl z!SEz@a}rO2G95Ay3CzgOAtVSkVk%Hc?+_6pU(7N52+F8ue-OA62DWJZn_)wQF*WZt z>$pY90&zkBRg|CMMI20(E7Psb!Y8EZG^=GBfl8Q6JND(kKLdN&8(VfLn-+oOH`VL1 z@Bg_W#?4kiU?ZAqw|yE+e{tuCSg@#!ZJ@lX>@`akFwpZ0xgxx2WSoF^H@!BZ_`?7` zvc>$tYnQ!6rH2t?_M;4-DF+Ky#$fbfJe-TUn0s!ooeDNtoD?U+jUgs4V_5jG_Si;1 z6i2_SPV3rlryz}|R=E1I$jvFcMOKDDd>8`c?( zZHgCRr58wUUMod8I*^bN`cQsh^$?E3!lLTS9;SF^oj1-1&k{HETA$?>f8v-$trc?i z%(Xc-L1hV|(9x1IQuSiWVgWVW%F>i`gz47Sac~V%{d({;^)=yXW}gmEQ~w-znhhEj zTTLfB#6LIlns{x{( zq(#o0wy~%~w1?d#xQv*9)nvvFQ)6rQM&&Ri>ZOg05#!vQLMEws7$_s)8F-pIw*G|f z3EB^89RF&6KJFjE`BQuuMtxR>}UqoU%T^M%C<;l87|_q@>o zIdm-hSuW=BfHI?6KgE42GkV2#qUSlIx9SaCHHF-FXpW+&$jfApF?lcw(jML3js-X@ z6bmdDn9DskD!20Vpitx)G?=NHr=%7F@NidIt7O9}yhALqu+2Z^2{8)W{J~Cf zi#-s@G0^J82c=wrJ>ZsYDOcpJ+umUh>b&M{{)IfJ#BmbooRW^sSkti?8$3-1%T+G` z8P6*Mcu~txuR}5x(SpZB^{lle{QNDy*v?b3dfwb!N>i6 ziK`vF^28O(S0lf}QbzI_);Ez?_+6V_)IvI$FGi?sn_vz%Y?X- zTj8pv%ou7jjEkDQW(sgw<^r|3J6VB~+198V49Cj*te)W3Nl^YpdsA1Z%PKdP#qcJ4 zNQUdtp~;{M2Kr9`gLJE=#2vMU-hiF6J5f{Dqlx;U4L{ux6~9qEBCY?u`jWKn z^6&Bn<;N`lyZV5RAwc23slvxz-^~oX)*a5^zPgXjA9-J8m1tbltL2~7Yg7eBE=&ei z`B$x2KH8a^VbITjp#)RoYLq~;6)k`B6z{*K+cer>eSwYuIt`B9SSz6Kv@$SBpuvu; zvg0Prh9KIW_68%q&PRtG zxOfJ79%G8`Cc6XNwLFNibdoW857dH8=vYd)byAMXMEtLOskE#IAxK^gd=>3^{~oI< zV}3{FyV{ozzsT3kC>`@o<#t1%8K;lqPi;O)WX`1ffWX z%ET`4R}03|;v1iYhskqcf?OdGA^L+B1=u|xHKxLMGK@j8eZt2ts9q_6#P{-8t!8@4 zoBSiOXqd6Ar=t%zL-h>2&;X=C+bxe2Jm|#sM(+u)sZD;cavS*Rpxl!Fp7ISfm%(S2 z2R1AC6?6GOUFB|tj~U~$$GqY`yL=hUYW_`7?&$cW_n@%-KJkW7`g~F8Nw2HB@kh3M z{r1lH?$OdO-!DQQm!5rP@fM?%sai}YL)vJ1iWVdEz0qO|h0XxM9C(W@(nY2M7~2ZB z*y3X5SXQXF*y7F~YO#etz-)xkIs1Y)xXgg&bvn5hE4(~iRGRusg!|frzRI`B<%{d- z6?amy<&;)f!>({nGGC-)cir9qXdig-&?yf!d}Wc$*0Wjo9?UjAvxOLqxg0h4*bxk>B!^OoR? zSuh9iXuN84rIkjH87*Pv$0)0TXJdcEb9+%QEK4S;9EzvkMYBepttQxg9aKVo{0mXgzR3pmiXboXe@jvDI?(*}53w?piSJ zxIi05AHx5PT?>@}-Xw+e-o{{4bQ0>f2b;2g6|!!5y7&ZbX+utdo7VCPr_tUk zuWm(L{d}LaGFeAO8i7twZm(Gg$7hT!!>1K43vrol)lh98q(6Rav90w%+V=Nuw1M)M zc2yVm(0>ov6`Vcy>hQP%FMYp z(4M$^hY2Vl^KhC(cVQo{#6%~g^EC0gh0eXn^&ZGnn z+l4EtR{o55PA|$@u%b=Ax=sb5zL{I?xE~>EdXV6T?oD(|BeL7K4@#kZPp>&W9ODCp)~FKDP6avTC+wnF%oB85VC)o$ z-J2GBDPPV$*It6F4dGnI+28 z?()wcg<1(VKHFqC<7}UNEkHb&(nP3oC?htcFnPob*dWWj7h-cD0KEl@CZWN~g&Hft z^XJU@j*Ms=U<14KEg}TG}dMs47e(zEo!sOppY!aK@6BgDsE)^%Id9zz$HMIiAhj=c96f zI(x5qHfe(0RBM;_7ZrymL^@MU>Tprz8x+1vkynF?f@j2a{B* z8z9K3Lm%QPn^re9qG3pRqg30w0kaRluMfFFhYCNY%JCZI;3Uc0NR-rQVwF-FP#%{lP;~!gSy=x7Kj^phw!} zz6-u=tc=BZk*VFeMgZG}^gMfm4}4F8#afxS*wkR?vb!mNqo4YPj0)zNh?u9V;#_5~ zH>n_7J`!tyJ(R^HPF+6=$msFIHTi6IA+-g^)}sQ;TGeuW2}gKLTeOCRJK<8I^ASv| zHr#Ab-Ay?mSe-UhU>_tt0~7nhW|dtOK^G?e16KYXGBouB?v#x?TW}}6+4MR!P~tjh z|6l}qOi_NMC_hq^A1X>r;cydq9~iFZ0hp8vofu`@4+aofC~gS!MJGiZ-lU1_s)>}Y z-e-HSEc#At&G&lEjHM(wRGDZe?mD{p&Ti3~=_D18^X@4 z@LA1?VeGPp&X@&!lmgD8IDdsT?P%;4exhA!$h7b)#zUoek&$MUv{%~*-ARA^*ofTQ zi!>m)I`ds7W%uwP+}=Sg`81>#CE znrbO=un3!I?1aEj!iYp1@TQoMkTKk~Y$U5_T+XXlFqdVhM_O{L5YE&S`zn(uY6*-C z>?N6xD;f23MKuzB(#U98h#l7KlZ$4FeFDGtgk(-}#Yzy3eChSi%d;dVL3w34DpwrR zOnw=Z*UAsIwuc5I7mVh;wb%KV!-C5fmyqnL=7w`^hH&0>EGCJbwicY)6Z49$Xk7Uw zXiY|Dp3bjcJ*&AaisvU0)OKkUy)C=en2T~Tf%6wD4(aF1xA4oC`2|X1c^?o_NaW?= zNnXNe(sC`tCNj)#eQIrSb?F>68z+ylFIM)Jp(N$^TPNd~WZMSZU@j4EFq|?V8M1KQ zGU8jPL9H@hBnNrQz4yHjtHE;%f@?{{%v?4rlR-%QGbxV+sAXnmz*@@NbBV3GTJyMb z=ZHUFnjIyP;7Vqy6`=zu+AH5sRP?w~m0@CE)s4ldNTseb$`B%3YBNTPYRuFA^iLVz z{hR_YBeH_0PRFCzel6jW*fyzKCWC1vXq~utO0;gW%e2lF zvGKP!tgBAh`6apK6Pm^r8iLK;HSR+L78RnTw~`_Vt%7d-ezO1JiQUS^W4f-uUyrRg z`Y@C09C&X+q5%dn%rO&nphN>GX)HKnq{{O*1CarYF~AUvBoaw7-_;12g10fT#ptZ# z#Fz;?>&jMsL*q5K*9#fyJIq%{{|otS)~Oa5 zSB8b*jABZDa*1P}bQ9VQ|Fl;$mg7JZ0<-{vc6z-ZVkKFugr-2_Yq4{~nZmN{gv>a}i{da~8(YF>j~J>1nhZ z>BiTd>Mi24xwC9GcfX(6-2EG|c&1e-{q6VLmYG*UnuuEoCRgZN2s^}pKq6`^!M=xI#0!?l&N%hI2&u=Zn94J@-#pU`Y_{}{lupQ15ud#7k7*L~mSr#y%=43%=TrA4M1wOKZ`YqcL<>&Z zOM-jKDXQ-yX%Av6;+YM8f0(~+ui>TlL2NiZKBl>&+0MII#y0*%yjZsqNUaRh;jBa0Y z&P{p&ut_3=`C{1~>(eSx#l63GknWF%n*LAfzPt6xu$ z5ziR7`4h9YO*1HY@v9Lf7a>X!*tbaMM;(GF_3$s9A9V<#6ct{C zD4pQn5}pBNfWR%(+wtJ(4MzrUKN%Sqp-DL$aQB-Y&g?wxaAsRSoY{*#oY`CZaAuDm z&J6hB%pO0S8GwZnu)~=FJDk}D3#LbhH?MklIJ39j;Y^1PXZC5Vfi!aZY0FOXY0Fl^ zY0DNrZP^lsMmj4_TguArb5twc@9# zmLIWF=c%~etqxITX{B9(1y09VyV`M9J&;_IZFltnKqE4m7NYIFKq3N8rZ?YR085*1 z%n8MUfdpw!{RJ#I8^~_F;iVUR9DLh2l*T%-NH1O}F4iPAoBQ6`tnFy0^clP5r}P~S zO1aA)5R|f`9pCSZFG}=4LMeCneS%WHS6qDlO}TjUFVDqsau7j5^0Vd_;NQ)4`SxC zZC`nI5c7(`@3pr__9W(QCJ2yqVe6cYDg1}RV;GVfo)8(M1$5DN@i>G?Znf$piGKF* zdSTDkI4CYo2`0VUi5@C0Tnmt5(YEySnQgA^s)Mo(ovpGBNg7STRwYKI< zTgzHHinMg1TFU8$H!;m@o&29d2rJ+lCOQ%L#%6+-5+?MO6z%+wqF>h*y02_7L25gM zNyD-)Iy}9@59#`irEC8iNmqt6ekXy(I~u^a1O=73eKgSB`%Oecmne-o4yS&weq&rA zk;tUpRrVUD1^SkNV93yg+z{H3iD&r85lJx*rC%|zxySaEMUT-vsjvuHFC657yfHpA zida#@1#(6H#AQziPR$~~cf$JNdAVr+)oEh3!*br%dAZH^g)BO%W!bP01wiv7%is0V z8F{Vh1jP>S{Zo`B6vrMOdG~J8voqft4BYVuIqgEO?9O@zPEw`n06lME^>+1ke3H{Z$D_IB~_v$ZWkLD4Z<{q5M;Enx>9O6FNRx#Ls%k-dD0 zZ(oe7iU%|YntPy2>uF`ARSmhC)#K`z$F;2ClRe5o#Us&Pq@;5AdyBF;P3Si%T5bAC zidKugUCN_Ua3d}dL2w{0n3l#bSR!YB!7^v@ixO!S{9=m~3VyLoc!d07hY$(*#V%nI z(nW#t7~SzFg)HIa@e6Fu2XTSTsf%y01!v+3wynmWP*$tPH`O8!o}xv1mErT}y{`aw z=k%yetC~p}3+}X`j<}iLypiE)>qDYy-kO&bOk>4z(b#?O~S>5y# z)J>nOn<`#>?wVe2gqTmiv5 z#1Cen4^Xj~3=&@t!H;8D{=o5)+cOWnPlR4RvYk$6=witD#w2%p$76`sG#;A+NY9`_4F=B|%!w4`5M!{77t)bHB!NxNQwkU1qb|#ENjc zXz|%)xU4a0!^%s!h83r>4Do%qB{_;*#Cgox6El4`F98(Rd!Cg>l)&@R@Dfm+^(t4~ zFGWCWpyEo%&W|5gbhM{q@U!``S>l60HOS+Zw+92b*H{lOr|cMJ*F^}f>mrPG&Iatz zfG%f)XWk>iQMY_BW!2ywh9JTjXt!By2(z2Yqj8g^SeArRw=A)Pi0JKPa_z2gPdb}J zbRDa%Tf{?%4gEB_@BDMt@4aX`BX_H4zdhJ3Hs4P>?f$!YE8n|s-e$e}S#etPUOu#6 zznc8^`qikJFZJG@{XA*TYd^icopw(TcMsmZ>YbdP!8`p{=i=47{qw`#L2bV_KAP|T zTF=(+kFuv1r~5C@-`%x3P~HsgzdHA7om#(}ZNI5*!F8csXieG=^+~hvvwxIr&o6&{ z894774@bGi`_uW(?CAFJ{`A%9;ZdQH|Lx&$cGN%3{%&#@g|?M-*wd|i5gaR}OPPN&D-&V3ttaOAfhj{3Xv z-{w2>`ayL{ZJlEqUv{A_o!|PsQS%_{)gJ2Xzj>|m8(g2CU(D(r)>kb+`T6?$`nZ1E z${*dfrj0q2bAD24z_>MT58-|-2lpQuXW8uW`NgDuemT>gck27udE?=7(s-yAY6rDB z+%ME0F2;?6yBw8$R*nBotFLyT-xu|%?~LdBRaxKBd2M#QU(7bn>m5~JHs-rmTfEN& zxSk%LH*VqEEX>LL`1}t0kgY?R$LH9G!&1X5=IaL?=tCXac!zD2&sz`jc_;2U)cF9< zOZ9`6_B=Z~K8H5nR*Ty6aolqlqqyg?d>83>e`nn}&ev}{lg4?qbUDxFq3<~;2m3p# zV|{S{==@>|brkAz{odgW+K{Us^d8_E>IFKJ_h7uv520Nb)8jMs4UC(7F22$4$#34* zVZJY6t}dXT*&NJ4sqs)>QD#rfUlwR!0_&sz{h1%b+yWh8e^fc}{P^G`r}|ap&)_M4 zRyznktIIZDKGaG;M{`D(a%|?nM~aPui;fx({;Ys&CtRm&&sengbsg*UwL&-K9*lVw#w3q()7UTO8n=x+()`hFC)@_`+eXjx>MXg0i6>w=mCVz*lZ-FkUBF9Gk`* z*6Km6!~be+h>X#LdM3svJTA~{_5Bq3Rl>PFKBxk1-67o-fwq8NV6B{ALcdOmz{lnd ze1411&2f*ZCp2d70y#GY9IHd1|9T1eQ5|UFI7A1cueeUdJc@n;Pk^z#LtgrDbbDC> zepi68E5f+Jn84b-1s*)t@3o-b7Pje&)63;U71l!s%DTu(S~x?watHTn1+~uM+w&UC z|6yT`v72gTO;uaNZ8xuBeLXa8FDJm?V12ico`ARabQ%=>n5y*^S!ev6#J`dGP&_5v zuH^L-qGgn6;+@D?hu@8S8=-YEcG*yw*>IWT@V7XIxCV~TYapjC^YA{b$+kX*D4T$9 z-Dx~e@^T?x#*NzxC>Lbc`62N0;+*s7#P%q@C)P+k(*MYMCmx0J@dWD7#*5dj@%SR@ zUMT0EK8DNaFSI`VLF4!Ube!7@(1EHsUbS=dP~2&~ewB6hU-q5%vk~aRw_L+{03G=b zbm2zh0eRbD7Ifzv@M^}Bo;==Sj59`CQ@ z5u_V){{Ik`?K+JCw}pB-pvzV@eMpY?to{Hz_5pdUl2w{s{-m)zKff$N`=)g7;12qH z2o_I$smzJ2PgTC;2U0%CwJ+AD8aw$;=&zcK>ZkBiKxh~HI)0kUOW5qy$ePP zOx%=+`u2ny!L@MTXHW)=$!tPpygALb4ubn5Xl;950_I-2Z}nUEzyQI(rbz)~xjJ^< zqtOkF;h-vw=VQM+a^9DQON?kR!tP2(1@<1)TX5c=W*uxNlpi(dq3^Fxd%yX09D}U; ze%7nKIW4tbU+mWW)1Le0eIc&ObLcVNuuIn3AnZ?E6=TZ*|cMn+7z287lr)?u+U zUIT*y!3o5R3>%m~2!VYtWY4mo^a0ZYLT;deij1F>W>|E@unv)7!QwkXW`+VdN5&*7 ziF5cKgaruchXxw$V8k-vU439mIWY6{4lSCab2O&waK8>r=n~(9a^ZjHC&>J=+!!pN zvCYc|qpbsrt2@HBK|8R$rTV+eIT<|%zm4j+kRO2l;Jf43AmVYcp%VfXZB!aj$YEdb z`F@oQVqh>?TI6$P5P&iPV{}`;LRv$m z0Qym%5Cg<_pzI@JFsR7hkum^+tpno)Mj9{~=*JNXH)JlT-~dwv27$~PjGba01pzXj zV`Mb@MO41$VBD3c59oXV#Rvr^^x=W#;4BM@KQP3zD)tQ-CG-iI7AS@fhd8fj41?gm zM1`K_1sTxs!K-{7))Xr9pmqQbKqz)#JZhcRer|wH3pDoXXEkK7)5~8^gSWRc`dfPq zYwiw=>RU7-PQXy>;9O_XsR83tWX3bBlLuH6Kv%q8RD7sjTtoGP%keQf;XE2cxQ7l0 zRQ_Nrf%zX}-^eM3?}Fik#socYK|e2`O!_+~Cl?BceP+-%4uDpGcFAFMj!qhM{NS2J z!3JxPIeq4+D4{}3a|S{k?t>B6p*qNk#SB=a6S1~tKreWW5d~U?=8}9!@~0wouVU9)!*+RFEG~DWf%mG_{ZGJ3BvOzp-;4k$VT@ z18Wlb4=B|wbjIL1FEto{%(Ho^XUTBc$7`Zzn5X)j@th9v*#;`+2jm=uzb7yjHB`W1 zj9@LmSflfReRBc4qXoS5WX#4D{*p2ewDM48^8{4r|+ zJSo+T&oN$%{05yk2W`R28LxhG`G5*)gPf}9KsiME1YXU?9t{E-f1r2#?b14iaRS?iVL;J5I8hvtmd4DwxkPTz-Q-LIEO z4=~n0hh-hK3mt#R*P$F#SkEtUPN3csq#L}(@hLHRT;nqAkYpJ0TcYuOlwmkunhZOu z=Gj`J_i@}wma_LjuH%}!C4(N@Nb->J9pv3OAK2cz0&`rR0Ii^WXX8UM1eAH`6YzpV zRL~i(!2X`2ygjF#J1X!mttDs!%7r@7IIfvGqrn-`In50^h>^D7FBS!<%BT=q#$L}HXjt91`P>v99Kz*RV=JgQQHLgRX19Wx(o#1yDKvU$% zC^Zibkv?c$G#1bG(DYfk)LYwninl~v+zFb34-6>~Q~Mu){i z_qM(--ox=jeUEf#_=^r7ZeO4cf;{=x%PiA5dhi|TbZE2Scl;at_T4)AP(E27x-22D zB}WqK_7B}!{Q=j(;lt8C{aTlLl91QVK^=9*BG9P#t`qH(W@lkJbPqQ;PMA{|Z5+@S zL6@92nch)Ay#Vbvkk9C7nZlYCe_<`(p$%B7iFa99$kS%Dk&J7M$~r_D0^gu)zeIX1 zG{~_GHrN^ai@cP-(~<8K0c6frC+F3~IRSlybYR@fWzNSc&<7j$2Dgux4%8ysmpNGFGit*c$Dewu`y#-RxFAw>j`T ztcuc-Gby`U-_4nn-L207&tw3~`OLeA4{@mpb`pcst+E;O%_Y z;PC+H3=0U(WD1ja54VX}gR6kiIHpoA?_TVP$(X6EUH^zl*Azu%<0wd(%eRxAqev+` zREqw(_uvXJr<|9q?Z+ml$i`);P<2O$!wQXzjvpR3WR}fR8(J|VfydvlOB!gC) zlwHt(oxK+9{#06&OV*0!6TQ6r)r$IQ#GSXu;BwG zA#MniQQ$|JCv>||%+aYD_R0<&tD*ZPI#ly55219Qc9glNA7%b>hfvs2=Hx>ty-z!Y z;?p6NL1n{dN11(gvIK`dx0}rxCri4?CrgG2CrgI>WXVvREa|Q|S;FGE`!b&UMvLbL z_6j6AX^jIs$NV^&z)<0-{*A2N(oU>)y^$@m?Y?7y%o`gbKXyMDvYRl$EPQ%|$P+Kv zPj^f>6dT%W&)kLfxq=liV#kpbH&khx@^d;I%yO$rq=$;A4PUKjRgD+sDc+>E%3-@% zoqLs~CGC0son@=|a&@G&Ire3;QmVojIm$o!#%sH&YWp5JRy)Pd;96H1%*cz(l|?jlEeff;_!gDCX4%ZV8JZS%~jubKi>)ho*dv5N8<}#@=XR9&u$t zE}J0X;43L?R0$+ycC-2Qq)dSe8AQ||A+yVcObHKP`h=)4!RJMk4?ZDkw75{Z5mIWv zrBdt3QmI=RY+&Vil1jM}2pkSth4MActFA)6I~t?T`fZ4@ScjoL89x0A-7(bAQbVk>Lx)}-EdiT zBV^TdUC@m?9du*JK{tAWPxJ)nhF|eEe159Mj|JTb)&bq{<3Km|zaHquXv3-8tqHm@ zUje!?Nh5N`Bn-MS+8F9pB!F(TsLUW4bmN0m8)oaN4f7Qq49WZ{p)=NanOh2sW44*KznaR2+XB81 z%Q^)^&_Pth4MEn>_+fD8G6;c3EBg|d?(A=gh_5W;|&wM#N8YRue_Pt-auAt{liKxLI>!Cd~i%a6zY#}=v;2a*@M!X zs&pp}tl-MIF8g~|{&o54nv1mkjeSCAk>xS`6HIzvwyY<=?BBmIt|GgqOY%vK&G9cq2sBs_c=)Q=x$ zYaLj%XKNmWMePzaI#Tyi;~>Q;Fm0-6A5hiEZGS_9wzOR!XbAkhtBlw}u_TSyQjv^U z{7Ik+1NsSiLrAyiYNl{syt7RR5$r*M-Y;!&#LauUUCfpEZH}usXP+`$&89M=XZ&ZL zAS37fTBdAP3DXp>g270wQrRqa0yIl%8|= z1#I%ewQTZpDO^9SCtRChNdf~`^Sv=*9*s1a$IW6J(ShD61YzE|tUWbYF5KAH3Qq4` zZEkMjVeMx*V8LbcvBMra;xU(Tk(Pn6!;qMiWXDvmBh&7-5z=u#nBW=f@X7IK8xo_d zGG^o>Xc|j?7b9i-%A-7}O<90N2@B>Pm<-xbDUH?!_5x_=nt>|DbwPVOUU?B6`ULGI zQd!IKPf7p45kuy{!IK?U3}N|TQ`k!f9K8}%4uo)IL+BfI3aa}TYBSHAq>7o=!{^F1 zrfO`6YxsDilL=eeW81ZJTy@chcbwSMz{fYFo~Ct{SL+znI-u~1X?6Luju+7iowX{g zVV=W3q}GnaR@26nC1)JHoYz>1Hosxgu{`zcT)EfR<;00hAd%>-k^-!+ zL4k$JK70k7E4DpQ>CDvC*b=}2;`EX(D{2)D_{E(w(ob%+_NvxgOx!uHfDT-7H)$qN zO_!}j=x=y`#1;Cu)=u=+3j1oD{#PZNych^Sfio_UHad++7G3sj(6ics-4g$tZRz9Zl3~t3_BW_-{rUSdoEX+{QtK zoKsF_<(2|0zFBiDq?26J0+{V<_{#ax<+CHT3Dh{W53w<|HtGU3c+Gc*$N}5w4X6mq z@meYP_`n@{U_g^}d^HRhGA7e><(jyJyyTdd#GKNwPx!tvgZDLcHGz;IKz>< zVFH6_ucp&W8qF5^xi{eZ0%LD53T;40tu1M;t+sb>F$>IP>g+=CkC6b#VLAeDiXl-! zX*Bm)+_X@ab>1T}#8S%}61xVmddh$dHQlJ1{0b^)BC`#?r08*MTNx`YooYZ!_J`Ft z()vz=*ik^Oh{Mtd9RsOdwG$e3rWzII9P;{#D=C!j_&Tj6fncjus7}D$-6gFJ;Wnl1 zwa0VqcG5_;-Ld2KtZUo2OfL+G9vlmtW425`Z-Pf05eW;fw%cN>OK8?mO}l*#rUooy z{_7mc-8Vfnj8caNh4z4h%7p+1U+yP_%kBNMf^Gx{?8bIG^$6Bbzv&KBixly<1+=-=+uRv$f9LxJmPa_nW~2QiZO;3gM^fC=%Z%Yx}GIpiHw$| zWT||~95&0w?#qYTSg=5b{C6M7VEbBX5EjtDQiJHb0z9CB?Fz6c212sFS8)s9Hu2W% zFCVO6Hw}+}Nq6MWzCggjY~6r`>9-G9xcj;R3)3%@gKJ5^!t`?j7RcHj+!tlKkMh0^ z*IVlP!=lpM^alKf%aLyDau;SEn^#0ltCm@$2rG2Fw+}@ozOqT&DxHtTfsj3%Q{MiUS7m`ucA1bR-Bk=i0(nW>5;3Yn~t{VEi3Shr1@ ztj8q^+07T0siVd3M;-keB?{qi>q4Q-yn5%nJzlB{$DEDe8E;Zsxy>!}uz@%(kxf)V z;~NmtlM!Ng81yo>8!JkPsGnZo~n6VyI> zOzF18pcf)d;&TH!YOx*EjGXe}61S*CeQYR&ZiXAhnU>ccW-{B&_ijH%yD!BW2;wf! zSl6Ema(hEH){AVYZEy5`2=IX&B{?hPemnQzQYr+;Zcac= z@Xu&h9nbvq=BG~E3(7-nJFX{_(uT$&KuhB$yjuxce;^`UEL9m?XqDk3Q5pP}mFXEV zjLJ~lbt_51MmWZDsbPfn-eBc%sZitu?uLrrawpN<6h9X>m~qI$)8&;#Z@#3CesT?J z=WlgYuQ5@KZH6yACQmUKlA#SUEm>mE9`1G2-V;txW=J!1UAC-rC@NZ9aq1A}9nIE8 zV0%E)cGt)fG7nMs+}wQz+J_(JOPu+l@ms0sM`na8_&eWF!7r(7op`F@1*Wjf76irsDUJEvtV-R+`?9Nnoa07nv`23ufla`4=z(=4%-N z&DiYTYZ(E9BvpD}Bws_VF?5bCy=P^tkXq!@S%@G$Aa6_od7V`!vNm50oeth&QB0lX zp+Kl9GCf$22c> z8uwfoBsuQ6@lleU<>~2IkR%;I>#WQ}Xv7i{98hP?bcbOm1H4dOp_sdL%uy6(IgKmH zldm7hupgPf$LIR+(8fN3@x)y_Ozrb%;|7**#n6{INrEwHw<@wA9-ygNJWjpjZZNY#Zb|ikWwbW2brsAOx(Y6WZLyf~w2x+|7Iq6pSr1w4tN}tnWMhQ1 z5lz{s`1z>(LU$rTbe+{9g5h{dGedk6b-fwW(e9x& z9+aMOdS1sbr^dk`9utZ_A>|LFG=?7cG!pUAJ4Vz^E*o;i|J#m(|0QU9@!(5XCDU#S z+kYZJ3zoc`#e8h3h>vXszNDf>?h~R#=6bY9Q$>r+RJ6$Sn`%A#fBk5YyX0t*{VxzL zvcGP$$cJwqEmHrw(IOw#j24-FdbG%g&y5zrnDjcBotRkq%+{{nd*f~}8Si(2w~yR% zjZXFJZ#P8x>V|gn&>oGQ)}4Oq+-?m)fI3b6W|if#)^FX~0>4hb`_>*!y_@l?P~`_U zCf>nJJNnB<^6mwQBK^tnqH?#X6;K14mK{YBkuc>`TfYo-|AD&S(BHq%`!DalQUf6G zz0^lQ-hHQrK;HYs7z26xL=A#*|I!!*dHZ!_804cjVjR#}7YYJ;FU^l>GzdsW5aE(R z!kL-_G`77FwhxaTkAC5K&2dBF42J_0L~pdu2BD0u#~Nia_vpkRPjnyP%c7g*5nLT; zohwhY8=_m~HmaAc%Bf&-&R(l>Q69s;4`mv9`)#L63xmkSm0#CnNCg?l6{SjU&qMon`MfL_DcQ4s;u(*vc54}tqIx4sKj>~7*8FG>1 z>A!s=xGf>#&5Uge_q;-`a@KkFTlSw_s$LD*4WnZ{^PcRR$3Ld=3$*bY$?==$%qT2uu{g4#$;(Pvbg?$amPeL_7hm1uP4i5+xegn(rJeklBt+2~?K z&_^wv3$91kdUuu%iEo3T9y;YA9~ug~(|f_mTQpx*4FyOFeA>Ji@w09ub{3VR6p~I% z04=+%9nUnk?2Qq(A5~w(L1EE|>8ca>%y;A3)0H>^V>3MVy=^Mt?_-OqGR-wV-=Grx6p8NHhj?8f1h|mw_SlQ3Hee1 zS#ssu2>rC;C`R}kMo1d+vOyd%ALnpU07pQ$zhMX?WVIMFfO$djRJ?c0w8$B)`5a&i3RBN?qVj%0YI z%-Ihe$=HvVIlJF*>pNdid*8X;VwUZG=ZjnB?st)Ii|4m@^k7%G-W6XI^}TSoF0lut z9N$Ri8{?&1F}yMUEd^2MufGG%q75(@_66GsSAwYX1-89AYi)bqOYYZQ4+3!TG<;oR zK?3le!2zv=sMC@45nupJ#lGhQtJ8Lfh~e4cSlF?h%cf0qAyvP*!P!gi>0D1xsYYI3x((oF`mh-gEsvX38q?b?}r{5Yg*?d!cq*)m79H(Y^^|066B zZS2*DV_PduFT;;ZNYGumy-GWw-PN1wv`L-YS|q-!Hq*6n950UrMO|m@%8SW$x8v*P zAYd%u>)NfY{oEgW3GL4>q3Z_NMNEWe4@h%wB zf@oygqNeD5O3d z6DF=Ja3rBi+O@Baxf#bMF%*Em7hl>wPjx{h?uYK_r6%d@Vm{j|bCLB77gYEp-5^fE zZkdP1RQp>IA*~HY+AOI=t*(K4qIP9n{Tbf4sRqooII5s zjy{(i@>AlQe3`7t9XZT{qZX10uRBcQgzEiOJZ_S};{q*>kYiXJH=zN!iQ{tZBreyE za5>(|wgICmJJ3$xU+ozFWi~32e+lpmZorgs-!dyvQL1M7U73`KMTNIiuA&>MyixMQ zBHtL035s^fw{IjL+9`_dX{v{CH9Gt^?M|!2Li0aU^20x)KG-z%!CjmIk>@FA0Ax(R zfO5DhA0mEwR}pLrO+sedAiTqn+g)_&*aN5Io}ne^+nCi0)+=dEr@@pQr#<%jlj<8&sE!q3QF4y1x1iJ`*G9_re}oHQ|>tV$WWz+NRZaNff*F}=Q*%%T|zG$l2Kf!`2Q`CTtm@VXJ!Mw5oTiDaeqaw8h zo~Y2qtXKBZA3vH6Rb#9rp?cJF1Uxz)Kf*W;p!d&Ar&^bHzRSXvR&P$LJ?BTY3WkD~ zkY;A+ey25aPod&x!DQG1B^wuz=d)aaQ=5D$)~FAaTVfkx5O^SthKKj4Ym_^C7M`oO z*v1cAUFEw4sS7Wbg*GhN+=~N+Vfk2CW*l{PbLh$Y7_1;MZo(BT#IA5TVu z9C+?BaO>XbS~dEV^*|ow&J!L=c_^oLr0sF-oN7~K10nlx~I3rP8zp_oyXA7 z=t9vkg`&UC7{!F9+!&!Ly2i{qHVXmQL}obj!lpMmI18ceh+z-iXR9gPbveVc@E)TW`&rm55EBupSI){T#$qrhC1f%1dAUM&26f8m zrFz~7lN`XUGcLvWt!v%cp%2ottT`~ov2VUiGCANMCJ>eb`~(AirJ!cQRRD|OTDcc# z6XbA}_64j)_szzEk4&J=4@TONJQSiV*D%jy7ElqY>bCq z92;PdSi=kd%DE0%U8-P5WPv1=(-)|W-6SZPk*i^M}H+wFAi`Op4q06_-Hm? zbSlBep~Vira{69xUj7fO?)tsJvQyTP*Tht|1mY6-bZZ~zH2`|X-v{ok^KOzl1Itf7 zzi3YU@kD!lGW6VGs^L!Y5(v!cxv4&X+MBezwv%d6nJ|X*0Hi_7{SUB+FmY;sWwga3 z10rQq%Q~miFzz;vrZ$kX4(@&IRXT~X37$B-?cZ;C)YZZ31Rmro)H#=;~ zj>OmA-WSVLH){;*00=rh!8fsxTvq6W*1p0tKaUr*q~ z^#tiyU%7=qM@EM>W;J-rCu^_12GZk(b>0=3Yu$E=CwfVNE}Qa$6zc=<`||1*pu7>3 zxiAu~KRRuU!eRL?kAD=m# z($bM6*%8zxnC-eZ8i9OGor#$xj%oEBf8z8g@dGe0%sM)BN25(t2l$!00mfbF5Ajqs z?S=YJtGV_zRb?fJ+MgZ5f_?t{**UJ;waStRQ^tXCCq;Kt-oVnprar`jOIn5Jn6A2Q z>^R(g0q~W(b-`EmzdiWMhp($f?tgvomHp4eKTXwjy+0y3w0PtpS2KGUN7JkHK&Gy&kxR2oRdX#6PLU9$=n>vgAfD2 zA1qKL+c(dj&z2vKH4f~b2Ll8gScFte$3)@W$ApJz+aefFu}VNx!);v3P-i>2+VF_w zipfJZ4e#=dY>`X(25F36eEe86Ri+6B=fQ|*l)%OVCB2qsm?Zl4pIM^E;-ndpzLOy7 z?=?w3SCYQ@15E9!%Jdh02)O14g4#DhP@8`v1U0p|&19FDHC~HALzmsv(C%F`;7%nt z9kQHZsgbk>=_=&2`I0yI_>plBxS0eWE|juf1Im%syZ5Z z9p7y$XTd_c@wvA`eOjj*!i|r%efmkA*8Cr!hBQ|T#kj5uE11PG^YD{^4+Bgm4FWHL zp%-~1>qx%s{H^5MlB6CxdQuN2_?k-a{V-<#Fk?1?BKpIS{U(NN^BWnmER3Tr!#HN^ z9kpr3hgq;t@kr!`ucHOAQxl;>F7yVsA;-*yB$0xqf|+!UGvsL2HB~tCkuK6ACM2P; z6jbqL+S+$o)YQn?8+w=9^p=gUS=M3^e;}IPb(F;!I)B2H1j0$B-y-__$%Ztd*v+0G zHfQUhXS2Rufv~~mS=T1~+{<7La=)BiB$qdTx>5e|FP$_Iv^H^Mm0!*SrPHg5WgNedOQ$zOF9o(+hZo5A30e&fTO8jlhp@&{; zTT5y?X}SqdxQ-<^uJxTKj_?a(@*jNLB~^zJ;0&?w&Hn&h z?8&pOsabtzc0`P}oZF5aac!l-fR|ai#sxXy&MI}yi*QC-*6yDuEgBtBUWxzKs~5A1z9PyYhrI=BW`XGLc7 z=F$2y4))FhNOQZ}S$4n1irL-9@Q#K=geTokVEP_%-EVu>)FRJKEmG=)RZSfoE|hYx>!{qP8v$5z@t*5genhUb*e_|A^5G(LO*rSV~1rSan1D~+$duF`n1 zrqX!(=}P0p=PQjbrP6qitTeL2e^PaHWW?`nSSdsFLDI04GL{;v_|?8UcJMrB*=Glm zVP#!iBSO|fofgsKXDeoMVkd1Jfl$%Eo!E_zvD(>bL&aXN{5W7s(Zeh%l${p;H&&J3 zhXS$sdcoS^Ms{+Brkk&2raDoGXgPo~LHd|pF;DaP2ey?_scb#kQ(?zmMj+0vM%NYR z%Dtwu<^nQ@AN|&k4f8E23_;T&9q3>!of2o7^KCRBnVpCUtIa9hTM~alY02cc>FC)W zJQg|{^gK|~u)kNiYjz~*j3P%jTu$r6$kYj>m0CC|aucgMEdKMjVNbJETT~JZHyr#FaedTLH>I?YPGo zGV5Nu^7zG?C9DQbkCx^bQ}jT#qhxMx^0}#aXHojIZ(VO2 zM;3e)MsrR^>Y)@#zQj?E#-A-ajuYE)TTU|R#G8+jD2r{0)R2@N$I&zFkNvSvaenXq z*|$08J+>|Y3GgCOj?+E2^o&e`0IEH+?>73DMG?N+1tNTd zVU+`PUja&eFpjR|W3u)Wms;sZPs`C9R~){aE2kt^V5$C(VyS?P0B*`K#UWx4X~V7n zN?$v-O1)j?mNPK421unp4CuvTX(2QUFC1DL~S8Y$GhdduKdG)KO>a z*hXPiM8hJ{omgYk&|?f1z;luDZLITehxwK_E5U-%4Xh`+uanH7_%*#KzaVd1UfqlQ zSoP!fu~V&2^fMz+I1P+RCK!A{hdO}>-WnSyGEl~KR^!6Tf{FkK4tIotH>U#0WVuEY z;UoGR>QRg`!Cwjk0*mEcM+=s)^wdrUPLi}ES8`rrjj@L+a7mYDU(t$cWMipjZ8%?I zQN@iAE67Sbv(VIn7ols0T6gA^B6-66P;uVEqp&C509SuFh%A}a@tcu|8Ng?d0XB~%+m@W~3#=4;{E=8II3 z9J7Ho8`Q%%XmdY}w=;q|B%}!jd61Ho;;3npbdDWFb7x%Mi(){8#1=y4S_{zMQ*6D& z{7|2K(Vaz#UFa+J;FzajjyerXOup!PJ2^d^Wk?pl?=;45254;0aA^n{U51gO&(-if zHPdmVOOW5vKRWRR+E9~&%6Gve3iEj1zSUbwF)G7W^7a^?c@2IMU!Vv{5LaOj6UMbV zzvp;+@}}?qXvlla+b%%EWqQ#1AX)SUn_OO!asf9-c&)|Z`jSyQEg+g?F3tDLhUt+t zeoa-3xeBkM+JOnyp)kU7YE3tns0f)<25eJWxOC?Tvna7V877^?5NBaU8$-Zdg zQ;VJ?YDs2Mu2M_OPfr6Jv^ml$@-B;M4{xaSlaksK*mxP1k)^E9{Rdytqg8s*vYzLM zWsDZnoQ%b^KvVj&oOL0mvYcHKo9j|iEijJk41B`*;+d8T%N`^q7<%m}?J@w+R8Q$3 ztG#Gyl(hWpcxhk}FJeDi*w5ibWvKra!kxu4W@A^Cjdgq~xs0_0QP+>>1J9;d_Z3LHHyE9*i@ zkoGuG&$v6x=oBs+Pl)WbWhg3cAV9wskOm0<5Qi1@1Ab@tJy{5+wXN zPVmh>GXup4R=p(>l_+K0sEj#j?=5%R&CN0u8Ag@mdHN~~M?;Hj-J!-5Lf?VVVBRl0 zNG9{RT`Fg3kWImxQ__pWRA0FHw0Ci(Gk{)C_n*!tO6LrCUz9riAt>z?ptOwtb++yVV~hl1x2BR956 zR9xQl1kFOE=s2#DhdWWp#FiZ{fup3AE-@s=lno7>q$Vzm)}k7#+9FIXVQFh~Wx0n~ z%h6WL_bNVT9Pkx7S+~rhDPnde^_#kople;6K&UgZI9yo?=l|7E)K-!-REVc)E;AL= zJz8B+Lb|*9+}%%2?#GFk?@m0s_hOg*C?>hPt)XLsfsp{9HBOIJ-HL4}y&i;DzDpvK zMl}g4#Pxa$298`^uyG-LyYQOLO z)suhtP--dPpUDHnOq&#nnRfZzmsZCX&Kt1=q1x!0Ib z{q0)_lXGEwFFy2F?!B!~6n~6<|ZNbxF=ziKafFD`R zEa5`o0*pCywT5g=KRce;BuF^Oo84sYd@g{Gq)OuevxPfeObXj~w9($Tjm7!XG)=U2?H&;uA7Mm z(qbtNnl*As*2v%RX=JN*!jYiZ#3H*a~&sFDb(&IyizP);khUTPu< zgP_dKPE7>K>v}%NaujDSvX~>f$t%dSN$HWgZ(oTygT$5Jq|d^~DW^1T`QgW>4#U29yrh%GKW zl(7(|0t7(fT9@2py?&@r&RLY!8KP9Cx+_vHp#%oyY9#z8M(p>IJOENs79a6Cy z7MJYuS6NolOxh1uwOc$LE6ggnse?;2`+}OFz#_utz>rxD(W(eqvSaeWMof|e;*>ud zXVd|*euZBYfBmRXhdta4Q5cHRO>}g)fIo>ZhXd7@Zf86eSxb1#fMV~t%llFp-lg12 z`qaS?Zr{ZX$U!UWG0x8~X#TX~Ug1wEVpFcWxni?}SP9w^W($?zO=LLXM^jXv@kQ2} z^$m!WkvylBT5@8H&e+|_SD1q0c1~H5TE6G8vT!y7YDy!hVxqfm~mkzcV zs!?4@X%N*Gai$bADqS)vf^nFtg9apx#LL`M1vV2cngb?H9wC{Dm}fX>P`awo?Rh6R z;+O4sLT{TTN-kAeaq&~&zi7SSz6U|UoVU_to0(;sYS|{0jc3DZi{b%rjGqwEN}2Vu zITbdF`PZ54qt4+mK~k`bN2wyF7QV22CmTlcQf!p$i%4T}1E$+NWwc}r7S+_zH&~>B zgJZ%R*%r-M&G>?!)F8>bknoGL!vsTz1+Frd@`CV32&AFYEIDK9c_JJ}X>-|eaky2= zrAQ!@DrNfO^#a?!w*5-^1n=UCW>EV$-+s3Cw>;l|hjyS{bh<6Bvi{qfZg>8fr`zj| zb)If-Y;G!Z>dphqsXImI)SrLnIrZ`1`<(jokDpV2{%z;fELxUKsX5aRm{Hryr_@)q zYnFcZn^CuAdGXDR&ufc0f+d5m@-f!Lxnu2gXbD&1XF+1R3{ubvL#sa`rb*AGl}W{t z>L=K2t}9(l_*=}BHFn6DSm6onTCFCDDl#T#$23P;xb~20DW8aI>AkU}616u(d24Cg zicK7~d7y$UPX-f6-Z3I-x||DUp@PF=Joawv0kQcGQz6DhVJ2}blH4cIb~zkmT49eK zCDv;aXPUY2X9~enzDhX=V{OoU70>`TXx}x{WF3sgWq*_F#N~Ah_N39#*w!#Dl>uM0~{q97CK5ajm+@Ds<#i%9?JNb z$4Dnm}V?S{dZa;A&-$f*Kh43Df#TTz69R1;uDs9 z7d)S^4B{KwXTPhA9Q?!I(Ei*?oUj}`z@_YiLSnHWiN#s5)rnwCeu+S;&Y-|kmH5dp9L}t zy|9T&+GNM~y&Lq=j*raYc7!*bO*@_&T8@i87tl!qD2R;&89lh2YnQ6`=VsGhD<*%} zg!o-=3i10)h+i^REm{)~@cTN7Pm9*X2SQx;rTiWWc|9m5udkx}Of3#@Iig1jW%=Av zgN{=&hl{k-Te60cbibzOzk&7f74Oa%s21=;t&e-c0+#FJ7;egA>F%*~AJF=^x9a-1 zCDzBwEZ|M-|9YcR>>iDNj->AkN#Fmzdo*0J6z)efkW1lSd#t(uXDo#~MV7+7+J*SL&+h~27j1MdupBK|?=I!!u(qj6Pd2xvr#PK;UR3H^Z*M>P%K$eIc(P>dn+BKy=ZEYIy8LG%5 zy5r4U(5-d=(;pO$#TJQp*5iuVPLVaC2#&gq?3gI)gwt6-j}%&ZMvtUp2kpB?>tpF{ zw`7)f4)Es?fADp87k`fN2VXlo@Uw@ndvD<9U=M%Z!p|#AdwqgGAK>Sx13$;7_=Ckx z&)}!~7x+2H59jCb^A4ZhA+&dgr3>>ZAaI5?z5WH>nss>HKfova@XHQ7tzp{189pJl zCr9|ygs0tod|HF27xZ-<%XaZ;6P{ka#iwWRbVy*as&%aD>nWnPjv)6i%Lc+Yr6)x9_%HZ` z&^n0P2146G#5b_|U3$XmJ6OvGR^LHPH?Zb+Sj#42fBXTTu;v}4S_i4w!J0P_#^D}5 zA&gUO+a|&|LBeh#j4l#(6Jea=*Db8&)hRw<+1H4{7M6H-f=`4CK0QOY=lJy*mN=v| zEOCk?c}DbmflpZWh|&<+@i9Ij_J>%u*&reyBkjMWcPzL^z1|?4PUsN}9AP7y#0&?= z^oW4Fl%Yx0P>oHj;rNIisqZ)g0`DBsBi6h7f*z^A_UREpoD-8Zv9oru1DnKV$8YHo zp&bzjVze%SAWl0V)QQzjsD?F!cD_fCL@|Q4M%_oKuOYO~JA5SeJNTI%5yZg`JtBw> zRYn}R^M)R=-h=n_i1i+FDpuC*&?BPWCBPfR)|8icZvUJf33Vz)T(?KfB({4^bRfPv zrw$;-drLSF=j{^ti1m&s1M%K3)F5KMW6DcBceW2*`hh?a=lw#6FzZnRiT92<72zCp z>5<@YDz%E?V5?pe9AdV8>V;>RcZc#4L%pC@J;S^QBo2rI2Z!`Xqwbs@5xpal14MyC z5*S2*Ly{9jfgP>^F+1jB)OjE1k)V-O{0qGkzhK+fo)VM1qeq0ZPnACda$$ zq!CUvK1Db?oB`n+cj%EQKzX;YDQ`*eZDFyOB->~-cBz3|L^u*>G(tMR&?Aiyl2J4) zjxg^=9W%UmO^=vi_ZNCZd=Jj)5%YH6(Ievf@`N4{@CnyIOijY6j(|^h=n?7gl4>C7 zaDXCz_Xy?w3rZwlB)&*e9DJZh1h(IyM;fo37lEB}2I_>L=@Ef-2`+W{TatT3>5~`q zh?VW0&?E8M89h>EBuVCc#G)@>(<8CY8+t@&uQ@M` z7$o`@A-TIpkJL8A_Ze%2cl1asxl4~&@2fZTNL~Da9*OmTrbhz7H4ty@&?C0(!#+J? z+uo22e@fKp(j#de%0PW_ctnrX7cc1%LHtaWG1s5dBXuk(4(f{&Z2U7K$@wdK#2U^C z8nMRCFZ4)4kf0H3ygr~u;s?kuH~a0o&Iujc9XYO5s+i~R@$KAlZY&pGU%tlIm!5lR zyoMi0Iexx+k1Lq%Gw}FG7y9ZRnaWAbY z?GKtKzmSswOk01kA)kvo$UATOE*dcItTB~)+r^Z(t`ph=gJyGhEVr{m*juhOz)bI` zG4C8Zbgc=zAJY4wJD@5K_r#m$+KkNkOKR>2cXVg87Uv_J|03wmY%N zyWqtkzQ1r>QRW2^;e~IxeQeI&KE58<{={-`;r)OK=Qhez}t_?C?a z{}0dUHMGW9_V_PEJ^PE(_mEOYOeqZEfyEKK6Y7u?&%d#-#3_|O_55&lX<>zDM9H&R zz%Bk|C+@MGAz03sxKFh0PAxoJY<3C5?u|XL@wM}kU!CwPLxr?m%Cc*ZFP$0E`CwP+ zoY&B|0}qpTsOdW}S8zk-uU$&n^{uZCBKMl=er-*rv;K&<=jfd9J#xa)%yJ3kBcgxT zcZ?&;y~30e;-M4g()KCG&I^Jwyo8yG6NJQgJ4bwqyC-Vd`-R`5GSudsiH$UHjjlEE zD4BR<2YAHy>HUD;L+5g48PIxT*YbNa;73^~CYu5o5hXT7o0$HB74 zlEOj`==_CWe4sb9&NvJNYjisF!Rvd0QGRXPW8j90_)H`A4SyedlO9p2Lll;93~y)v zdmAu+y+o{jIpe`M@%ldAcWLBh?3{7E(EY|4vvuc?lS13r`{Nhh$zOT?fJVmaUwF`cwXQ~Du)L;Ly|&$3tnf8KeLcIe z9NhGMO&#?5*1x>{D)Ju@XCK*t7mkql#|JFs2iBz(^ewzg`}my@`~&Bj#OQ}}PPp~L z5Zm^GSo_%N`;j<4Cf+&rT#Llr@rii7^jHTRpX`g2(01)hpE7l2QUDxoA;QO8GmvLO zsGOX!7u(E7>Ybdj5S@~E+&M{zR0GHQcuXjtbfjkLSYvx2y8Psjr4O{z0-=B@FN6#p zdgH5jD7-!u$%=M7j?--4HI6M{FBpUI_;^FeznKu7Pl>xutt%A)7hu=Wi zVcn+({5l0mg-AzCdrFNwb;7>o_*BgiYYD0Kh(M<^+Ydb)JV@7{sqUYxkVts8&x3U4 zI>f8*I@Ft85M-h8&H>E_e{lfdkOW-^`dDbs?)fR_^o(`sbXh5ky=x$jWt90T8pAm3x`#50kk8#;Sd*dh;f9~T zVsqzLC!+A{lO47RY~uxJK%acMP}p!=UprwKP$N$4YX>peVX=-4S7p;q?`i~qsLx;T z$tu+xU_?bc)$L|xVLjcQ@xVQ&ZajxR5Z22vzx!9Hfdu~N?>G?`y3lMQo_Ko+7?Tx6 zjeC2A8VJe1v#%&_q`$F0aeQH1y(KyG)}H~Fqa1ll^n3fYXGhd}x5M$vLQ)nTC%k3b z%qYJEIcIcj8++nCjgR-%cu47DJ8T4iA=9&*U#SJVyR3vEW#Ey@{Y9u? z=POcZ_Z7dotg?yicSkdB{x0iV5KoNU?t6X@gBzC3yCwqT)nH0C<*IALlV?`(g7$i4o+Nw**_R2_RHY{XQrSQLLi221bTu zg*o4G#*o?iXqVMJ*wVy_M`vuK_k=Bd^g+CX%4I2nKu3=6kUep9$e+Q;0=*4GoQBd7 z8~U>^_5`@cr^)4eIa$2H_8%XKS9%fV15h5{Uh?;QJ20`(B@Ikze@zE3yjL%ZlOzx`CO8jT4%cpib=y zO${=QW$oz)P9dv-=4w>n)F!j!jQZxxn+O!oh!$rzLU6z5DVmt2bdULs4G0$z?4GcW z1iOd~o9+?Mv(YFrj%<%m=(1i#(504iZ_#$) z{#K_6zpzeqzlxTe)A&C3$V@+f%`aCrn=t2Z_#JFje4|c22SCoi8jzYj_j(qWJd@ha zM&g}!_-ANB2et0S&+)q7A4pp1r3K+X-NmZ1bv zo?u|0>utTDs~0>I%}Eq?&Fc!@XWdPJ_4U$V$tMc><|Rn_M5(b}>Ig%R>cz%p2d|gC z+5Y(1?3#xcE&O}&{QB`@oeNJy{u8rd*3Dyi|LloiE#rxS!>>L0)AgS&&7HO$F7N!w z?N5z*-E7qH-dX)y8H!Yt@2B{Eh=*yAv~)@j*9H7ac?WN&?dQcw!)u^LpfsHZQ-uaS zb@)upFH8zdG?!F-CpNG9h)e5qK2JayDNxSM(vt|v$h@l1wXZkZ{pH8!rnZl>rq+%b z%=&#h2wG9nuO-oxm&mDUQF)b*nBfJJ{{ zyt+GWtG}^cBr%ip{-`}9SmTjpNRah1bGRz0P+X?|vrX zx%Hb0&$~!Q`XD2@_2Z;u>?b5+Qe|0*cU5kU)$!w+{e;}3StE(&5{2B=f?y+)D&eh# z;Iy=!m4TW;bIn#6kAu``n45Umu$qjr4MRbV!%b532cQ686bvq&`y@_Pp%lp=6sIbN zvI`Y76;+|*8V|?W^6-(f<>N*AMNiex(_ld)t~FxB@Ceb+?0GQh6c^pAHzCb=#6{Pf z^N6Es&czuT8d!lcux8O<8e|Wqw5x+WT?-?*UU?qh%p=dflb`;_k9N(0(NQX0T*$jv z?nV=G9^nw-o63*-(D-O!VVsh?Zr%?%g{rjM7q&@>ni^xHN2%hdD3 zpe+*#&t^S^CtXD-Gec$TmGYwoj2j9sL+F*B{A8dxV*K>vlMBzm)b2Y&n1B&?$y9^M z9lu)rt4kjYwn3BxbDx2C6TPB5l`sGGfB*Bp|L6bt@BjSY|Mma=SCj$l@d+X`7`UGmI@k7dOcv+84Lt8n z2~!v)&|THgn?ma5^b4iNO{((1GX5|e4&l>07i!IN!)h>f+^UOfMT6?t!C#?3oFNqJ6pgJ7eUs4}1ky4bRRhIh(%YFKa|70CG zpYb1ksd9vC^}AX*5ag<5{5lIlXLy^gJo_{L6KOPF&{i~vw$+{;-q^OQje6wc#Z0K< z#9|D{X#iIlYjyak8~$a_0zGPo|JCZxDjGg37E~CZ7rFt+0jK-sh`S#Kj|FH`cjphk zoEmyF;0rf{hqt0qF}I?9t7TQWO3w<)oWwD+Hrdw3v#ozO9yt?KEieigRj5RMt*5_g z4T*$c91yd5doo-4avndV?9Z(oQzuG#`c!2apLd1(6TNkNv z^wjH{TWKjy@(eo@YX55ea`kZ3`i;dBwjoa@Y2PvhQj|lC=jc5pmvmLOnIQ7|7XGIb zIhgferc;G}M3w*R*Y^n;J1`Y;K^o$fwTy#@1_m0*5`a?M)b}pI_7AGDRWkeeT~izD zji>cwF=7g2mny|1ic42-UVRM~s)zPUu6JmLN&~Fl^#~Tw@7mIOzY!a}f-y3Z}h(%PT@9At*|6Wl1J)Jhj)J^-AWA z<-0O%Xb*<#bxzx}D8@3UTU-6cCZ``E%F&0-UULoRthVoazD%@xYa8p3I6zmCD7C-d zTwAkC=EQUD2)E$|Ky%!oClX{QH|p!A(cIV&N~I(skh~NtMC-s3B@>3uVAc-GFJ;ZJ`GI6vCVVNCJ;T5+nKW-KrR`Dtg7R1SrkIx{6HSHan_@TMlz$q3 zQFI;P8L5kso82vhX$izh#k141j zcT~i6EE_l_au8}Ziuvc_3Y;(8Yu#1CAy5tDwqJ&6J+5Ln^hl1f9z6mMxXj4z^Fic3 zAFZ%aU@VyEV-O<|3Mh{AG>#T+fYRRh+AddQRH%;U4jq5e4ee=^A23w>lLK6%cH%{+ zz${rr2@F^PLNf=LCB+vPDm+=vIE`!rJ2XRF6w~1o9Lhw?Blh9k+WlkE=W3#?SK}(0U zFul>Fu%$!kgLX}iw3K#Bk86Mia`4*vQ|Wrj$y<~R&0pj6FQWG5CVyBHOW-#mKVC<2 z#m~sg9Y%m4edg!24P2``rWbtb3LKx}%VD&Hhl%UB1#%)U&Df{=G@jvpk*ElP?eNP6 zwf$H5g6oB+;*t$>PvA^#j9i3|ez$;~5ejd9Y(&kYg08$*_m8M~^gR(ZS+<=;vMstf zGe1PgcSfduu7()7$_Uj#nv6qrOw%&7l2`7{m3EmL1rpLCVbCMrN!_-e>z9BtPz>Qi zJSPHHP$EVf3`e#rT*>*yMvf=Xi@+Qu-U-6D{uqW*96N}OHU2JM&VkP8ULMC!frbH@ z1A8CMFUIRmrnR^k;hf^z+t1^=$ymcHK=88B8V(4$&Q{TQ;Bi(42DNv#?GJKPqXmQJyZLc=OZF0+jDi@eXOl+l@ zI1XGxIo_1t;JwdQ#k4Cj+73k{TL{#(gT6Htv3wxMNlhlb3@76XT{)gv^3uaz&yE2U zHGUq)yb*rj?NAGWgGTqcJ%RalXt(H61r1D1{SMk$)LWAtCykdwT4l#t6 zx~7UhF6^U-WiYIx)YJkz3qZYjh7DhWIP`wMOKar23}zMB8PmH zpJy(CV(Tb~s!UDwDvEZg#4;cw;ODn*@Nto0+2D|%7{p(ui4tVODT&c} z6N)a0(c4NvN!)HB1G**a;8+Qn;Y}x2*dNtq{+Kd~!MG$4s>qeR?jv19e#ARHwA>xxF#;(UG0W0>PMv^ zcyyXZjo@@gs3^hgNH}>POd<*~URssDQby7A33915Z! z1atG&jIe4Mgw4DL6B5qZibks*JcQ$_r2xi$J6kk{dk0Xv(GgCZwuHlGxvEzYWek2Vij?aw)2lCTpXu94b z^;n}-k&1S)P-Kq_ri@i>Mz}YT0>k5@eNl__oLV0!$-*^>xP4ez#2k5lmJwQi}dv(S^4VC%+_u!Q(yOvpYO)a}dW&I*;iV+qq^JU8{ z(XuEoEw>Qo3ZPmfOPSG_(ye!x$k!=GeKOpetFYNetJ=7zk!>ai;c?CZup1@36`yG1 zy|7lPjvE#nn-M2RbmU76Q2V-EnI|Im+xlr^Y>wlRBZYcQ5JTQkb8*NOYp(TYrDdYC zs*Pm(#c|L0E^H#hpBfh{5C9L3wW2l8bi-W|6LDzaD2BTbAxlVtS@OuCtsck$PjfPu zkTJpU?m00|%shEkYG$TZ=G?@)2c3gg%tDjgKSh&Vo^aj8N)jh7d@}O|?PlOn_JlN7 zKNnF-$BPdn$04cr;;_q9`P?jA6u99q=7y-EkJ?7fg(;K=CealJV%?nfl+>IRF-1*N zqVnB1)o>>&1285d-~yv3i)4LTQHe&9jP4pQw#-cq)`9CTa<;DuLo>d!R>%tzV=iV0 zgvXEXKf+bKcqC>Ia{k6RON+k}MNh|Z5a>6@Ck-!CEXVO3LfLV4(`Fu>AMU7^ylf-S zxAGcn<5}=wav{y6a}i&{7`n-$v?J5?fot+AjR>4h&!%F1w36nCNz+(PrbjbchtTH7 zb4jnRn0qA@K&TSMydxZdP|^Jr#YQlldcMaXN2bbWcjXd|7+tf7y=SM*Jz1&6H!j(% zu*Csu@rELCmEo;QD}Ry@7{s0tyGmo3BKXRCG$}Dnj*9+ z_ty{~bN9Y4@>yy}J%P^$mu!>ts=UfUy`Dks1Z{C=JFoupq(@A=G>2QjEp<`b)T+cI z@|WHbe8MLf={)zv?aS78>l;BCX3!}60!`CX4ArUQy2x5W1c|xww{PM-o=|H8K*$?4 zDZxo;{Yv9Sxe?+FH<8zyi;oppH6H_@hRXev(?6A;H_t4(FTpM*6sBqb`rnp)Soh{Fpc?x1Ky{ zMvPIdt__CWP2D4)8C5Nh)!{O1m9JoF87^2B^6*@B;(g8kN+&4uzv92Fuj;W?Y+JSY zWjuVk?7X8mQnwi)ubr{nl&ROifevt#q!D zwe?g7MMpxtsnvHvXh>b;`kSKlRB!gi@M(R^ikp2STDU0=Y$~+42Pr5qK79$CN=Fyz z0e(7x#Z=zfrfICh|2H@3SaT&GWlKj{J*fPzvx+O7RYZXUFi}24UsY+rUb6AQz_=6m z6x{m8B6YI)x1&xr{|VK}+K1`n)oQMD(!Hx?jGVzhxY`Ky!nz1XD<2d7!?2G3<#@g^ z?C*AuPktL{9Xq=LaG*wX{jdLeUK4pJWC=XNx8n2_SX~Vl$#%{jfZf9 zi~I|2fYyF7}>iCQZF1?s8mh0e88qlkBg1@77-Zo%l6L zo)BMh-I6jHV|CZ0-1GGt8@Ff2%e{i0NiUv%3dbNO%ELJZW!6{NG3Z~W@hYYL@Iha#i}a?(L%AovwlrrxW5Za7L-p%FK{MVDd@o&^|BlA!CDX2#d1k;Oxa$+XAkO zTHvKl?GwsLYzXg4rL|J_OvL-VohP=!#L47nXJi7R7UtV8tw2(&5}*Cs@onSQn;F5( z*N%&ACytBpGZx-s^Fypxi+!Hw@ldFVu8&WZEP`W{lPBLQD}m-ya8`6}X^J-N7}#Zv za~xd87g;aBS8NUjw{D;J4YqSAxlIEy<0v6UK91Vx2&sYd?U5B2Jus#XCkSTtAmikp z0qXSwkP0IZW5{wm(P>!5(7rJ^7*>D;9D2wf6rZ|J7n%h!f;?`A7`RhwK)DIViyV({ zVOBl__8L(R`UrK<8EAMPI<7UAb|vHtkQwjQ3v{;fy9o04*nDjFstj_^bFSap4TX-l zE^BPwSOY+4rqKQy4>i>K6&6NTrGQ8(mDJ;4nUW-nLgEVL%DkA+L-w*j4!K_Bx4P)4 zY!TV#FTi*SxCiNUf0+bSI;FUFSbmK7d-cM7&O(2mLeM?zygU!PJmv=DTUxYo?>-R~ zRDS9i4k&(cYzz0v=fB$ zXc8FX=(khm3`NHiCDc%_v70HHN{`U!$iR?E1(uZXA^&*sTo1ac)FVB*z@8lQ+P5#g zJK1`-B8wJpN!4XYc}#Ajc%d{h&@LX$Ipr+p?7ah4{B-$Yn!)48xw)n?PsLoC$Eifz zo9eMX$scz)y+-YHJMH{>M?@>}HN*MW79PIDr_p)e%6wjC65k=`v|KY<+NN_^ATrwa zbKERpa|iOY-HPeU1U+}#7v2G}4-9(AQ(EkqAAb`jshT0ndnz@Q6Q@Mt?+IT8b{Y!; z=i1)sC!D0pr5-4G7&IXUp3Ly{GUy5({4PGnVFO|W82%bp7}V*)~v4&CD&^)RnM{U;+Hp!Pr^%gU1+A;ym%JI`h4 z0}oljuHgOja^yd1x4p-YIk*5i_Jkf{fEB;FadDv8et0V<{+>{^ASt&UdT-I0J=`)T z+vnRiIz?XDMy2SP0et`HU9@fZnY&RZ0TUqd0U`_BAV;w~kAgM3<@H7rSE*!_3XcOz zJgd-(74^~D`lcFYVj?V&3}X5j2Mk@9YWb$cf2C*0L<`$2J8&Dl^U_5(DtYLO>b(Z*`cDn(~S<=NP@j|6=|_oU3Pabmyd z5zkRiLyM7BgFy$_Y-Tp=xr( z!fIlIIV!1o%9WxR7nUV;+qyCFjnMG=a4TR|o_nol>SN~Apo zz)91TV!vUXlQ%ZEIGOhz)*Bnq<^yd>jG}#ri4^*mN_6p!&2?xw#q)n!p?FG+Bi;;P z-iliSD9%w&zMzKwB404ujeJ?BkV)f6cbF)%k8l^yZgtEcdj4#7-=3bnIXnM+^ro|O zwBKzV&)bpvfY>MLMoM6`B$`g;j)URUYPERYg7(uiwZu(}d`IxZ^Y+ic6gV-=&h5F! zz@+366R-D@pF#+eo_S6w00HCn$h-7rauJ;j7xZAm$QhhFoe~YkC=kGy>L^$8AX!5Y z3>|9HDNqcfuqvTXq>FX&`lR;{S+Pi@8OZefCZHb@rUs!mMLWj26mce`Cwl~WalnHp zPQolF$U>A;39X=rYl$gd#@io7>nR<;?~YeTu)mHep46Y$Qp08jg9_M%+VW z*D$ysnd!*4(Hdx3-Xdgk=oA!U61P#YTR!O618>{>dbLl{#z68%RMBhYmw8rzcwXC&q`U~H>#3WV>dHMTUK6JRiO^+ni7%28v4iin)B*if<|Q@w2nE3zEye^1R_}LAv)5H3S6^8m)y(? zbiICEMzZhSN`jG5>fjVO5q-rt7K?rV(QdG%HCkqA)vy|NttyS90j+tac-g+XI@L#L zn3XQn%TH`m$%4w9j`ox;D*4Q;(oS5S4fFCy(C8LNa#Sl0K(6p`pdCS^AD94+mfO2A#UrBCkY>q|8tI#SB4+k2 zVzQ`TlNa2q(9f3I&qxE&&kx88%f?Lx^*&OQ`Jw|c3Bbt~@=y_oZe>Bnn8JG;ZaxPC zYN&`v4>)9UZ#-T>XjKAbzyj0;U-u5U^@tCc@ zKolky6EdW;*utn38k)h#!g1Jl{60=!$!HrbU5`M)SjnPm&7yhkTujsxv)(REJ`Xvn zSKcgrqRi5}+ARGLXXzXDA2>^wgD5>ervrXoJXH?l1R0|mH<~cPrntr%n;Y_wU!%FP z5rwiIMibOo?HFTmGY1u$ntF>jlzC-x5CsBoXaq<>1#S}X+|V7Ij;ap?%IiPZxR0Tj#vH=qX9;|*v&YN zljczrIvo5;csedlmPpCuX*^{Zv-if=$ow0!MHBf zSV_n$nvm6GozrxMtJGt9;mG#SW@9ql1{@HI^SzN@U{u9rxk;4>eu97s8e+RpZPvh^ zqLJeE9UH`5Te>RCQcchtetmp++fQ0%;w3vK#_MtP2NpO-Zg%pyu(|h-7I0Zk#(|pjkn=8 zo~^5EksHr8qBG9*3Ws$k$*A4(*`&?7DGAGs1|M|Z*s9}7qq+u2cYFKRbkw?>w`Yk} zzUxSc4p$eVLB@GuoWgZOUpt^_SM^m6z`lKKg`*lw#i4%dNyA>FEkE}^HtWj4r8{v{ za4ydb;v}A*P*93~QfhLaY;u?V`(_>M^Aq(=9CsGlP@i}(?$9XirlE-ME#Fi!w8nFJ zORECYN0`c4sJoFj^Pw{O!vKzpf~7Jo&r}Mvd}vD&3$cP2EKp)Nf-;XqW$Ts$NF>gc zM=kIVyc;)PD%P9A8WTBSx)*DvVc#pE!`A4RGG96ov`y8ezAf&_gEF4z1@IvQ!riv0|C&0Uic-CJF zMx`REN6w!JR;Wyll#s(i8?*t&bt_rSh?Ufj44n z#b%<|jEhZYJrELH$iZdBq1ES-7&%`MDW2(IzHQn9#R<&KfCpivd}qzV(OZAq8kkWO zcAPQuGs#m+zU?t_T%wwI8Pf~p^J6lR9|eKxfSQCMZKDmDYjgJBiOh4+l zZfNzdjQ-f04al9(wb_>ial@ANaV~FNTIj+-2Wt|bGZQ3|4e zVuvvBt}rA`x$h0^D!1PCt}WBJ9OG$kQ=vt0;|xO+Yw4q(wa=Bf_AK;0w}K7FZ$F*9 zIp6=OWxT}`b=0ag<0pxkv2%L(lQHn1y?E5wwXt!Q?|=b6v7sL=_tv1rAgn3wR49d0 z0vG`So*7-M883i*_7`h19Rp%CAK;D$CgaPTC)Tau;AgZhur{U@)^y#dH3Uf{JvhC| zEfVAvX|;OIc+>s7^Y;AZ=eK7^fCtv*xqveEp~^^9f<`JZ-pKc6m!pV$K%UZ{ggv9y z*N%Od&C-+WwI`6T@~0BQz&oU%0M+9ol{qz$tlH@?bln$JGH-atWljR94PtV@G+V7lyKHQ7(1QXO?B-8m$c8>SsoUU2Q z%eeREc<1mWk>5|}f7{(Z%g#KOnXz#*7py(%EOJE(@W6DR{ga^c`76|RzJIcFf~`rX zVdcaoZcJ_%bVwZ_6SA_PT$#sb#Z>r{tP+*JSd;Lgk)we3T4Xo;^b?MC5*MXpd-ZlY zqMd(?SR!Hplyay&sYc0Y(IPrjZTCl>A*ar?G0I~l#yrx=$jgFXjDJh?C?ZYk^Z%w` z*fIbwA7gM-1E0Efr`vu1=4|it;mPUSa{wN9y7AJGs(strKRG`< z|L_?k)8}{lXI-eIz4pl!WLM=HYSO9iT%(rkc8^R$unmj`qXV^{os(Te*I^l0K8C`d z+jo7RZk(9^asE8prbwF$LfKpYQuhB+_W!KP{>MmmWd?P)hm3@HoSq&Xc6QEDlyuJa zNjU5rfs{xI^W2=Obji&`f__mIt6<-?Va^vWZb5e+Ue1fQf^!#W31?i?8d=rfsUAqM z==q1!{r2@5y6if9r$9X2{yWvwmTD&cIF-jSr8d@o@U`fsRo>Xzs3^CiuQ%7@>(STO zqWjS|wrF`5o@iqglgK4u#-(T@R;puhoTw8m@8j~OX(bML+UCbnGH2-`+9V8eb^xNg z))V)Lr=jXz`e6mHO|76QA!#rm8gKk|SI;*#=+{9Zt!B|+^AL%C2JWn@1 z6jLs}^d`83#%J9`9=_I$&v9Mm^xY(Jj%#dR+v8T)8jQR!j|fIrWJpm%ez+G^bg(gba;YPs<&a5!*2pE=znE+~CMx~1=r$Z%*Pfpw z)(c9FD8!kT&?URhC(O*sK%jSnA?N`3lipT|u|{RO(@8Myi{Gq z@TJovLA&(LIKXcaS-AkEt-^C@I15Ij3OGRu1^iNaq+u2wm=sq&IT$f99)S3^(x{8; zTqKBSE|eHvn6_L5#r0=4b5SGn7@n}v(8y%>3<{2Jr>MCC7?3Ib7Jrge$GKObXbQ#x zy2d~g#EmOiO5qf|qU>Z{UV^0!bW7913qoTj`Ye%(3gnU_14_^GLHUN(xa#7HK?2e) z#xOa?&&COSjzC4FFjaty_i9UMzdQYc9g>B?f<8&0l;{`@v88>J1$xmiD1bMQ2?bv< zC=zIA;#*iNWP`Q`PMATkeMl|@9y2}!u`X0@4tPOE(GMa)ie`Q-VjfPHnunsYC)XGV zImOKHC^h0?&XgD{3KR39SSgcv1)xtFqyIDn%{n_j0;`y@| zdCzzJ=43?_0p4DgF=cLzv&vth@DUFXM zSn;l;+tP3rskjJmQoF~{i|dj!=w(zHI=+2ljmIfPBGMHt!U_4aSvm4#&e9S+BOzy- zL1}H9K_gkmigd~Zy;Q8~q!JiP>ma2XMP>tyfi$`+7zjGpCoTCN8437%SPoi) zJ8&*t+TAN8Mu~+$J1z*H ze^ZJa6J!02Zv`|H<@==8xJX%3>k~Q})0Qu=Ch^W)R8=x&Es-+{+6p;k&R8H{+T21* z;W5Chh8J51&umi>3a|x}PX{)d($t{z`;a6Fa4BJ846?`*;jt2pl1LPxlo;#TWJ<11 zQ<0OxOVk>LG(bzqlf720!e5Cp8t@`y5vOZ1slo?%bfR$Dsx(odEG3CJHk#~@hQA-_Xq(Xl8Y%V?8-+;OqE$(J-4Lgsz~W)<0z zCsytuQi>2_#mzk8+eJHiIoo%R@Oe>AuE`X+ffr|4XfzC#8V$0dCmbgt**5kVkBwA% zEzqyB+D}@&3wo6SB`rEiT-uqLZOH4&D6??COznMfa=iV;?<=)gt9sE^nD78i?1l-? z{ld-Gz-5`=xp{L=4GO#x2rWAjmD~PBhoQ1TDaW5yXgR{k?{A7knCNVbH5m0YW>~44 z;~E$AF@-bKJD5T-6z<&^%95^CGUoKFh_D$4lP=t&YEyH%lNyR0r$Q*&kqYhwdNETM z5qw=0VdkQmDACqpx+sR3(Z$6yQEtnM^tPIPL7y{PW zOKgPMQX4_mA8nhbR>37kX)9TljXo6U1zF}(65t~HA&EiKlt|#Qw2$%{o!?Ot&vn4s ztIA0F618Jak7DHu6Ha93)FLObf~6g$W032gCJ}lgFQgMFiQ;c`m$eLIHR+L7&m+Q< z>F73a`Z*`sPsK<5JiDktepF7ie-|dwc<+yALB`1hX~cK%d z5vCxCQS6;9f)FHedLwHP-yZ}k3=oiu5q`|Y20z{d6U`4o@pDcB=ey+qdWc*8u}7m) zq{txh3ivgquy}$V)e5iN0uxL?(mroP>6!L#bLBQp4+5}s8wvloeJD1Rq)QKMY zMxP2e@1} zc3;BF@(U=hfLDnwOWup%vT(jWiEeUM{dr|l%>SHFg!i2yywBB15fG=Obbf?O)DvH4 zZk(7lM&R?(?$M!tN`YU{NfGEoFR54+>8T|ISTI5oB}ZNmX8Mb%1f%zdp_Kw}kslp8 ztR*Q#Sloj+3drJgkzskVyj4}j0yL0GiwTqk3?#O1JrT-2&ASOLAC)`AV)AR&UfrcT zn-uLC!r@Z_iA5aD856yeiQ5W&l|_l=ou!qkf>@u9@j8cWIvVHVdrVONAk!a~k_mJQ zP*mbkgtRj6eMy|aE?>TntaO}!>dT!-yI6sBW%Y#%DlVWIHRlbBLj4 zDMFMC1X5%D0;W6_C8Q4BXTAAbhScFGI*uAEM~2i{TaQEPaIBn}8Y^d@#>(ldv2uoL ztej~SD`!+BR?gxmIYQP=3;Lq{r~o-j(CDum8>c{2oE1aAd~Yb6Vqsmf*Pv6m@`6vu zrX?`wi0t`+EhuI|b!q*SEe(c}lR%0@@3~Lhp8JOEdFWt0E5_+57NKWJY@UK`=gbS; zL6*eKS=>0zxvWKMFqz^Za_$iw=YitlEN-(3a9PVK?#se3IIBd!xqs}NB`k^=mk1on zvSO&4g(3hlPc28`^VjyRaSACBeWDzNC?s+xX!Mgpqt~1xK_yYH2%SXM{CP#eFds{l z++f8BA4_6;tQ4CdS$AHSGb9~Qj&jL}A@DshLW+b6C>9u`SV)lXjRx`naX^ZM04W;$ zqj=bl?~nNLK(RiGh51-UfQ&U=J)U%GX(G^;O(;(Ek|TAJ08thBrbgbHXFWm zJ7QK8jaKnsfhry%L`Bi)6vg6FEQv_5QZS0|2}4mN!b8E>6Auw}q7XVOhniR#WMbv` z65khDqG(WwWvmo>Q{_;|IlPU%%i9D4pHrrV;XkuOA1n_{v06-uJUDrCD}*XD#V{Al zu5zMCd}pYORiZ_#7~kR{BU`M5=E~tL@Hz(GYf$?sPK>u*)r<;v^en#zsYN3ZDAiOm zZ1(gvYn(qhk%+%^ip(i8T3lT^zsSTppnFWd7iqo?WmSwB_A>cFfktw|ll+LtBo7yp zT3LY|(&2o70M z9db9B@=&n`gShgY!9duh*=;Rcd+tpHvVRiQ7g4Y>@54kADb`{44IhGCC%r{7<8r7T zLu&s~dhu`^ii5~vl6_YolY+EbDSF9w#w}TeMuqW`(jdFvge=JFIsUXl--*GO>E5Hn z=qMaM<$EKiJVeZtr4dJp2TJ+jAyQVwH8(CwX0Q1+MiH>}emfJ1Do!HX_x7EDw`fYv zISfQ3gEsWBC}jk+1v_!~2oSR4%7>9xp92Ok31s+iL+x-5>4nlUu zh%S+#EXv5^goUGSxhoM?@`PNp)XjK!RRX@#$AyO-p^{HrOIi)2$x0q$34&tUB3j0H zDnxwJ!a7Sj8AYzV@kgyup)N3IwRWlQ#94mU(*f2mk7jEi@{J7zVQF8;M%~lHHrKg! zdT*DTw4dp{+-g_$sC{r>+M;f>+0s2DUk;O{u**Yhf$Wc<^~7Nd7k3v(-u0gLR1y_=Lz~KpXPxUXii+p)v~(SPnIdxbgk54cP#~S>iB^Ixey`rA`j$L zw`6dSzssMluqRz{$FRi!^9EF^{Tg)66z9pl3~Pbo-h;U8t?sQ?+#juPO@rB3mAf68 zqTmx{`d*JlQPCo@aFz_B@P`#iA^@)F^A)V>E%$Jaau4Yux0-ic-tp6%+<60vzvp1b z<4I)6KAXDOuWWVqyNCC@`=LH}_j9*fsqf-ai~BHTaxUo1nA!_PWG+Q#WaQ>szr|4E z%y}rSMp4En-<@eh?o6A%p*z#s`c~}D#12Sa%)%Drn=Thgq?4T< zP^UjtJKZwfj86C4Zn?491oFTG_P&FEH?YTC;(~G6%I5+r0%+CFoXe5M4ME#0yXB2_ z@>#=2^h*P-YOFP$Rw&1SlHq-eJ^;pB{Gm@DnsvHEen>BC8(esOt-*PwTzGx0Np5W_ zdspt9Vfj(`_^}QDtHsDyd^?=^u3>~;Q&Gv zC|wfu0>rlW_%RU&e$4{vLIYdnU=dX>r@Q`_Hm=)Hw4dmcP~ zTn-TUw{Jl$u*1ssxa^vq8Nm0C-bLGnpSc_LAMghvA0V>8D9;7@?i^^0!*47ir3PZ7!?tVR7`|!oUx9VGqi{pzPImgX)e7eoNSQ;?JG5P4khMO~+tJkF zd4FsLfpKiuUqTELYK&^=d+524@eW2R44hd%gpPw+gBf%KJecLW8M!=G%HhZf%u;`3 z_pe@B!MW8dndNe&{b%f>yZ+3F@fy;Jv!G?SKVHn+SO7bD8XyPNkt1tk+r11&qP342 z*wnib)dnqqo|8GMjSJaP(9IwQD%t1&(1Gp8QV(#72*lh2gQjiymoxH|7PbGm{`fHu zXJE+a-(e=or9P zCAVYR>gyPW;vDIDtJAYac5OfehYI^6l%u2r+Y6if{5xssCFnKB?p6>2iAxU>zql*g zaTkMho%f|O*mDMK!iyH%jXk#UT4X$uZ3vS3ZVuAg%=&2YM@9IDDDfUYrW7{m32qnB zC_idc=7^BfH!g8g*mth&0eyPmdlSl7mWob6xvrz!VVa|TG>2*ohr>9WT9 z+oZCt&T*ne(tfC$H~0w=t&~X+yXMsLtx3=d&A-lU{}wv1GEa3AG>Uo04mlz23mfvY zG+~V!vx2R%K~3@s3{h`9wx)qS0GPVrV3`WFTW%Y=MyUb}Oy=!`(l1+NcNv4fIT zX`|MrIavM9w$ctMgUf+AGyC}pSID;@yahRMH-Ub4+*WCQefp&|&({bEKiZ`dXBtbK zA}ZMm?CRLMh2E?BI7z@|E&25I>$(c5xc}G#!ei3=@``{RI!V1#PRmxn4mLS*cBD!Ke)8v168={A6Gd zLgS|=pImr`miF=FuK|?xe3@$WJRiLnqgS8-?o+#iC@C0O1Men!9RgwH%YXgf|NQU& z`G5ZVKmYfC{lEVeWw2al!m9yM4bE3vc~RhvJ>X7ysiCv%m(QPF>$+NP9KN2N8F!yt z!x-Dcuw_)6PwUe!&p)~IIOhlkob6YuYqs^`+)SlM3{8AUCG`OlDMcw-wZ_h++cJ24hrZ%J zSx3%i{6}BNk`1))YUNYpT;tbS5IV!#bmiHf@t;VmiqX;nF0uM{wP%Mnw(U~Zk&S%Z zGS;~R3}b2ykk=*Yh@D!-ABMwWX8&aOgQ%p+ov@zjTwn~ZS`9zH{&~m+BpPc?frgN5 zMq_jO#aP?QtU$sBjvCy)uX0UV!RC5qK?=+OrTk}KcXjy9XA269&}6Gt{rdig4HZ~b za&fAibpBijzIf~bje~gv}O4A7zX0Ct@R^t`1OcV z5ZU3_yQu=tTC>nwP;t$2Ly0DT2tiC=+9{A$FYv~oqX~e|5SdSUUKn~4=<6-ffj7<| z9C3#lkDLjLGJvAt`gB9&MWItgF~Z%(nx}5hZ6fH{rjYKmw&*RROIg`yj+; zFv@@@j5_?6;tkLQGa$)UzqfBDQWZ8|`)l{=XW9KP`o`abAk!94WF*uR&)b-NmZhP9N_ECwmyIPM5$N1;BX za_XjGO$n%9mIBhVGgNhCE*dXN;b7LIzcf`{0jO5)9?)^Cp%6ICDC$Qy%NCgmiqer| zwOP*)PwQFYX}ut6kgnCh9)p!=4_54t+;Z7atUjuSRbg-`jp0xyB?Wj|p#Em9&lL~# z`sP*=)74OFwX7kSU-!jK6c-2z3JI$QG!7_En7IF;-rrmsS}UR{hsMgCy0~C2oO^WA zvZ9N{M2k$T`wENf(s>X$xAEs((UbMX@_p}Sb^PuRYsnZ~O$xW}%{XfDe9b%7j-HB_;~99#gs6IJOQC((O)9dJ-iH^jgA7-pDkPH;Mxy1Ln^--F0>P#x4E1^)7gUmJVYvakxIGVzj{;cPnyxnA zPd1NrRj^UdUVhljUtUQqNu@z#d|?&#*HQ2;Olyp0)*NahrAG<@!VOT+m7h1yUh5_k zkJQ{6#ePk-dU7*Z>*`e6N})nqJk?*vn>V*hbSwPXh*Ydxwo%q{l9g(EOVG~0OuEei z>N{CY)SR`OaqlLr2CD0+RUEOzSH1DA>6F$r|GIzmtjLOAwYi?ql*v`U=K6wFzk1W0_X(5oc3SJ&04c!01x3N z6l%CK4FSXVaFh50yn!sMXgd?%Q%4GqDyRTj^Jgk$1Io&jUsJRslwVJjCD&Gy{f`Sy zFtoj|pI>Ec8>9xNx?5Up9DexAuM1cHU0|mo zF~O>57ypxGj_6i#r`$eJsC9KA}G;`vdK4MT^d-dyEe+AaoXd}jE z#Jxqe@q(icAOiLd-+AiBcY0?uO?I*Cc-(33^)xPvk^3QRrommE#TM^$Jrv~oG1>ao zQYN#F#vREq?l#Rca(+F}$b!$D^p8q1vv1mlx;E33g zwy)fWud^{&7mZIWK17CJbnHOgx6iboGfaHlmfXs+C8HW|KuM6z3zh&F-d9yjc%HKp zpEJ|bsm&*7u%$TRMf9uK;-v9~t^|+=zf&9QsT}n!%JB>dfE>D&QA>S8H>7?y1QuG? z@o=OCWRQFZjhnx&v}URm#KjCQ9Wg#HA69!~uYZ+f$wstwm&rdjBRrNtXJODxKxQZ| z0-~wChUM+)NZ&SFyy~}*1`8nkEz&_C___D~U^ju=y~WuAj)IkT4TWVsX$8LM=VH?am6XU|@oE14oam5-O0lp1l(Azhua5`i>}EpLTb zsnrKPC)?=R`PDUrtWsG_ynLRia&+!6$h7?vIPlr@Ovvh#F{{)v%(JI@nKVcUo5j-~ zkiazMh=s5^1JNi$>M@HdswJh2>&#O5wuf3WuaIgAq;X4g`C{FU4h_xv(}JG;) z$g>+C*XZ`sDVKZJAa8DbrfWR4ZA7wcQDz1}1jWUiia zG@4I0Im;JHUT-$Y8JV*~9`lN;q#IW|zpFp_`6~Y8PTPO{c>DwW$(`--LVt4qe*WYf z2I6y@IHplCMKlPDoXIQZF|g#?X2tAsFG0#-+hT|D6Yi`vZGI)9xPa31f@dN>AJJM*^U83V*QLfhExjyyjk7nxt@?URIe`Dx@`-pThaC;XmA zKIS30W1&lBFX^J{xzdTMWR~srpOYSFu^Sn>ps}B8FYT|6HndVv?6R&DSAAS_p**rp z642-{NnCmtW7r`u=ozUxK0baNmLJ)5YV{x=``XGAyGI64Ha2d30iZImhoul(?OT z=xx&Ro$E5EW2;X&S|zsW<3JTrvzV90wvT# zC};`Q#$i=Lscof@u{dZA2W!#egy=fcjzV#S*q%xpz-6FNF(w^AT3kUyzekTiprPMz zKd+)}l)ncw7{4xvS0c5Gzj3I5AhS*kZpLL7^iEeCz{9?I;Ss-NTR1|6S(*wH)Bw}Q z+P0&BA$pIO?M3iA99H1X)OKU`$gOCpCe8{gWTDA*-@rnu8b|fb4L9#RfpBY#iE-2d zr=1KLlN_|6%HLwZrba8q!jTMsIYi6^76V}|yW`64(($cK6~d8?4)l215tph5w19yd z6(wcB`zh6;h6UJO%@|jD zO0sU;StJXTh&wn5i{dKa@E&Cbda9epwa|Oj#nFZ==_f>rt#w@$l{I9TWEu0s(ipqw zqfcS1l-MhBNR-F9l+ZJ(ldq_a$;xaIb|$vzBl;|uoF({;A*q4Fwm)998rr)J;|HbB zMJv{nO-ycx;qGg&i6~!#0E@fJ{dNnmsi#~tVm&st(Q%MAMx)-yX zVr9otmjSds(jq!V-MTW7fZ@6^1MX+XAL8w+3)9_RlpztI$g~#c<~Wn`-Bd2(4G zPBGOrGVL>^q-L5hbWFc8pKDtar=+X)Q1O4xjXLyMi8^#zQG@61&F2@D=l>sPgA1h- GNCg0hwdZ~S literal 0 HcmV?d00001 diff --git a/skyline_console/static/common.bundle.1741741357.js b/skyline_console/static/common.bundle.1741790621.js similarity index 100% rename from skyline_console/static/common.bundle.1741741357.js rename to skyline_console/static/common.bundle.1741790621.js diff --git a/skyline_console/static/common.bundle.1741741357.js.gz b/skyline_console/static/common.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/common.bundle.1741741357.js.gz rename to skyline_console/static/common.bundle.1741790621.js.gz diff --git a/skyline_console/static/compute.bundle.1741741357.js b/skyline_console/static/compute.bundle.1741790621.js similarity index 100% rename from skyline_console/static/compute.bundle.1741741357.js rename to skyline_console/static/compute.bundle.1741790621.js diff --git a/skyline_console/static/compute.bundle.1741741357.js.gz b/skyline_console/static/compute.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/compute.bundle.1741741357.js.gz rename to skyline_console/static/compute.bundle.1741790621.js.gz diff --git a/skyline_console/static/configuration.bundle.1741741357.js b/skyline_console/static/configuration.bundle.1741790621.js similarity index 100% rename from skyline_console/static/configuration.bundle.1741741357.js rename to skyline_console/static/configuration.bundle.1741790621.js diff --git a/skyline_console/static/configuration.bundle.1741741357.js.gz b/skyline_console/static/configuration.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/configuration.bundle.1741741357.js.gz rename to skyline_console/static/configuration.bundle.1741790621.js.gz diff --git a/skyline_console/static/container-infra.bundle.1741741357.js b/skyline_console/static/container-infra.bundle.1741790621.js similarity index 100% rename from skyline_console/static/container-infra.bundle.1741741357.js rename to skyline_console/static/container-infra.bundle.1741790621.js diff --git a/skyline_console/static/container-infra.bundle.1741741357.js.gz b/skyline_console/static/container-infra.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/container-infra.bundle.1741741357.js.gz rename to skyline_console/static/container-infra.bundle.1741790621.js.gz diff --git a/skyline_console/static/heat.bundle.1741741357.js b/skyline_console/static/heat.bundle.1741790621.js similarity index 100% rename from skyline_console/static/heat.bundle.1741741357.js rename to skyline_console/static/heat.bundle.1741790621.js diff --git a/skyline_console/static/heat.bundle.1741741357.js.gz b/skyline_console/static/heat.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/heat.bundle.1741741357.js.gz rename to skyline_console/static/heat.bundle.1741790621.js.gz diff --git a/skyline_console/static/identity.bundle.1741741357.js b/skyline_console/static/identity.bundle.1741790621.js similarity index 100% rename from skyline_console/static/identity.bundle.1741741357.js rename to skyline_console/static/identity.bundle.1741790621.js diff --git a/skyline_console/static/identity.bundle.1741741357.js.gz b/skyline_console/static/identity.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/identity.bundle.1741741357.js.gz rename to skyline_console/static/identity.bundle.1741790621.js.gz diff --git a/skyline_console/static/index.html b/skyline_console/static/index.html index 4f4c28ae..ea78d09b 100644 --- a/skyline_console/static/index.html +++ b/skyline_console/static/index.html @@ -8,5 +8,5 @@
- + diff --git a/skyline_console/static/main.bundle.1741741357.js b/skyline_console/static/main.bundle.1741790621.js similarity index 100% rename from skyline_console/static/main.bundle.1741741357.js rename to skyline_console/static/main.bundle.1741790621.js diff --git a/skyline_console/static/main.bundle.1741741357.js.gz b/skyline_console/static/main.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/main.bundle.1741741357.js.gz rename to skyline_console/static/main.bundle.1741790621.js.gz diff --git a/skyline_console/static/management.bundle.1741741357.js b/skyline_console/static/management.bundle.1741790621.js similarity index 100% rename from skyline_console/static/management.bundle.1741741357.js rename to skyline_console/static/management.bundle.1741790621.js diff --git a/skyline_console/static/monitor-center.bundle.1741741357.js b/skyline_console/static/monitor-center.bundle.1741790621.js similarity index 100% rename from skyline_console/static/monitor-center.bundle.1741741357.js rename to skyline_console/static/monitor-center.bundle.1741790621.js diff --git a/skyline_console/static/monitor-center.bundle.1741741357.js.gz b/skyline_console/static/monitor-center.bundle.1741790621.js.gz similarity index 100% rename from skyline_console/static/monitor-center.bundle.1741741357.js.gz rename to skyline_console/static/monitor-center.bundle.1741790621.js.gz diff --git a/skyline_console/static/network.bundle.1741741357.js.gz b/skyline_console/static/network.bundle.1741741357.js.gz deleted file mode 100644 index c4e1cbc53a62caeb97dbae57df2bd35bbba85b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86782 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 diff --git a/skyline_console/static/network.bundle.1741741357.js b/skyline_console/static/network.bundle.1741790621.js similarity index 99% rename from skyline_console/static/network.bundle.1741741357.js rename to skyline_console/static/network.bundle.1741790621.js index 0d030a81..15e8d69a 100644 --- a/skyline_console/static/network.bundle.1741741357.js +++ b/skyline_console/static/network.bundle.1741790621.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{1254:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.getInsertHeaderCard=a.getInsertHeadersFormValueFromListener=a.getInsertHeadersValueFromForm=a.getListenerInsertHeadersFormItem=a.insertHeaderDesc=a.insertHeaderTips=a.insertHeaderOptions=a.INSERT_HEADERS=a.healthProtocols=a.poolProtocols=a.listenerProtocols=a.sslParseMethod=a.getCertificateColumns=a.certificateStatus=a.certificateMode=a.provisioningStatusCodes=a.operatingStatusCodes=void 0;var l,o,s=n(r(54)),d=n(r(32)),u=n(r(28)),c=n(r(177)),f=n(r(0)),p={ONLINE:t("Online"),DRAINING:t("Draining"),OFFLINE:t("Offline"),DEGRADED:t("Degraded"),ERROR:t("Error"),NO_MONITOR:t("No Monitor")};a.operatingStatusCodes=p;var m={ACTIVE:t("Active"),DELETED:t("Deleted"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.provisioningStatusCodes=m;var h={SERVER:t("Server Certificate"),CA:t("CA Certificate")};a.certificateMode=h;var v={ACTIVE:t("Active"),ERROR:t("Error")};a.certificateStatus=v;a.getCertificateColumns=e=>[{title:t("Name"),dataIndex:"name"},{title:t("Certificate Type"),dataIndex:"mode",valueMap:h},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime"},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-"},{title:t("Listener"),dataIndex:"listener",render:t=>t?(0,s.default)(t).call(t,(t=>f.default.createElement("div",{key:t.id},e.getLinkRender("lbListenerDetail",t.name,{loadBalancerId:t.lb,id:t.id},null)))):"-"},{title:t("Status"),dataIndex:"status",valueMap:v},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime"}];var g=[{label:t("One-way authentication"),value:"one-way"},{label:t("Two-way authentication"),value:"two-way"}];a.sslParseMethod=g;a.listenerProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"HTTPS",value:"TERMINATED_HTTPS"},{label:"UDP",value:"UDP"}];a.poolProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP"}];a.healthProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP-CONNECT"}];var _={"X-Forwarded-For":t("Specify the client IP address"),"X-Forwarded-Port":t("Specify the listener port")};a.INSERT_HEADERS=_;var b=(0,s.default)(l=(0,d.default)(_)).call(l,(e=>({label:e,value:e})));a.insertHeaderOptions=b;var y=f.default.createElement(f.default.Fragment,null,(0,s.default)(o=(0,d.default)(_)).call(o,(e=>f.default.createElement("p",{key:e},e,": ",_[e]))));a.insertHeaderTips=y;var I=t("The optional headers to insert into the request before it is sent to the backend member.");a.insertHeaderDesc=I;a.getListenerInsertHeadersFormItem=()=>({name:"insert_headers",label:t("Custom Headers"),type:"check-group",extra:I,tip:y,options:b});a.getInsertHeadersValueFromForm=e=>{var t;if(!e)return null;var a={};return(0,u.default)(t=(0,d.default)(_)).call(t,(t=>{e[t]&&(a[t]="true")})),(0,c.default)(a)?null:a};a.getInsertHeadersFormValueFromListener=e=>{var t,{insert_headers:a}=e||{},r={};return(0,u.default)(t=(0,d.default)(_)).call(t,(e=>{a[e]&&(r[e]="true"===a[e])})),r};a.getInsertHeaderCard=e=>{var a,r=[];return(0,u.default)(a=(0,d.default)(_)).call(a,(t=>{e[t]&&r.push({label:t,content:e[t],tooltip:_[t]})})),{title:t("Custom Headers"),titleHelp:I,options:r}}},1275:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.VpnIPsecConnectionStore=void 0;var f,p=c(a(25)),m=c(a(35)),h=c(a(49)),v=c(a(55)),g=c(a(119)),_=a(36),b=c(a(1339)),y=c(a(1340)),I=c(a(50)),A=c(a(53));function S(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t"default"===e.name;a.isMine=e=>e.project_id===v.default.projectId;a.hasNoProject=e=>!e.project_name||"-"===e.project_name;a.getDefaultFilter=e=>{var t=(0,p.default)(g.yesNoOptions).call(g.yesNoOptions,(t=>t.key?b(b({},t),{},{checkLabel:e,isQuick:!0}):t));return{label:e,name:"notDefault",options:t,filterFunc:(e,t)=>(0,h.default)(t)?!t||e:"true"!==t||e}}},1294:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallPolicyStore=void 0;var f,p=c(a(28)),m=c(a(91)),h=c(a(54)),v=c(a(86)),g=c(a(29)),_=c(a(25)),b=c(a(49)),y=c(a(35)),I=c(a(55)),A=a(36),S=c(a(50)),w=a(1362),x=c(a(53));function P(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;tC(C({},e),{},{notDefault:!(0,w.isDefault)(e)})}listDidFetch(e){return(0,b.default)((function*(){var t,a=[];if((0,p.default)(e).call(e,(e=>{e.firewalls=[],e.rules=[];var{firewall_rules:t}=e;(0,p.default)(t).call(t,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)}))})),0===a.length)return e;var r=yield S.default.neutron.firewallRules.list(),i=(0,h.default)(t=r.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));(0,p.default)(e).call(e,(e=>{var{firewall_rules:t}=e;e.rules=(0,h.default)(t).call(t,(e=>(0,v.default)(i).call(i,(t=>t.id===e))))}));var n=(yield S.default.neutron.firewalls.list()).firewall_groups;return(0,p.default)(e).call(e,(e=>{e.firewalls=(0,g.default)(n).call(n,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id))})),e}))()}detailDidFetch(e){return(0,b.default)((function*(){var t,a=[];e.firewalls=[],e.rules=[];var{firewall_rules:r}=e;if((0,p.default)(r).call(r,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)})),0===a.length)return e;var i=yield S.default.neutron.firewallRules.list(),n=(0,h.default)(t=i.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));e.rules=(0,h.default)(r).call(r,(e=>(0,v.default)(n).call(n,(t=>t.id===e))));var l=(yield S.default.neutron.firewalls.list()).firewall_groups;return e.firewalls=(0,g.default)(l).call(l,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id)),e}))()}insertRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.insertRule(r,t))}))()}removeRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.removeRule(r,t))}))()}},(0,I.default)(f.prototype,"insertRule",[A.action],(0,_.default)(f.prototype,"insertRule"),f.prototype),(0,I.default)(f.prototype,"removeRule",[A.action],(0,_.default)(f.prototype,"removeRule"),f.prototype),f);t.FirewallPolicyStore=E;var D=new E;t.default=D},1306:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ListenerStore=void 0;var f=c(a(54)),p=c(a(431)),m=c(a(49)),h=c(a(35)),v=c(a(50)),g=c(a(53));function _(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function b(e){for(var t=1;t{var t;return b(b({},e),{},{lbIds:(0,f.default)(t=e.loadbalancers).call(t,(e=>e.id))})}}detailDidFetch(e){var t=this;return(0,m.default)((function*(){var a,{default_pool_id:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,[,o]=(i||"").split("/containers/"),[,s]=(n||"").split("/secrets/"),d=(0,f.default)(a=l||[]).call(a,(e=>{var[,t]=e.split("/containers/");return t}));(0,p.default)(e,{serverCertificateId:o,caCertificateId:s,sniCertificateId:d});var{loadbalancers:u=[]}=e,{loadbalancer:c}=yield t.lbClient.show(u[0].id);if(e.loadBalancer=c,!r)return e;try{var{pool:m}=yield t.poolClient.show(r);e.default_pool=m;var{healthmonitor_id:h}=m;if(h){var{healthmonitor:v}=yield t.healthMonitorClient.show(h);e.healthMonitor=v}return e}catch(t){return e}}))()}}t.ListenerStore=y;var I=new y;t.default=I},1307:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isDefault=a.isMine=a.tableOptions=a.tableFilter=a.tableColumns=a.protocolInfos=a.actionInfos=void 0;var l=n(r(164)),o=r(163),s=r(342),d=n(r(133)),u=r(1286),c={allow:t("ALLOW"),deny:t("DENY"),reject:t("REJECT")};a.actionInfos=c;var f={tcp:t("TCP"),udp:t("UDP"),icmp:t("ICMP"),any:t("ANY")};a.protocolInfos=f;var p=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",valueMap:f},{title:t("Source IP"),dataIndex:"source_ip_address"},{title:t("Source Port"),dataIndex:"source_port"},{title:t("Destination IP"),dataIndex:"destination_ip_address"},{title:t("Destination Port"),dataIndex:"destination_port"},{title:t("Rule Action"),dataIndex:"action",valueMap:c},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"}];a.tableColumns=p;var m=[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"protocol",options:(0,o.getOptions)(f)},{label:t("Rule Action"),name:"action",options:(0,o.getOptions)(c)},{label:t("Enabled"),name:"enabled",options:s.yesNoOptions},{label:t("Shared"),name:"shared",options:s.yesNoOptions},(0,u.getDefaultFilter)(t("Hide Default Rules"))];a.tableFilter=m;var h={filterParams:m,columns:p};a.tableOptions=h;a.isMine=e=>e.project_id===d.default.projectId;a.isDefault=e=>{var t;return(0,l.default)(t=["default egress ipv4","default egress ipv6","default ingress ipv4","default ingress ipv6"]).call(t,e.name)}},1321:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ipsecPolicyTransformProtocolOptions=a.ipsecPolicyEncapsulationModeOptions=a.ikePolicyIKEVersionOptions=a.pfsOptions=a.encryptionAlgorithmOptions=a.authAlgorithmOptions=a.vpnStatusOptions=a.vpnStatus=void 0;var l,o,s,d,u,c,f,p=n(r(54)),m=n(r(32)),h={ACTIVE:t("Active"),DOWN:t("Down"),BUILD:t("Build"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.vpnStatus=h;var v=(0,p.default)(l=(0,m.default)(h)).call(l,(e=>({label:h[e],value:e,key:e})));a.vpnStatusOptions=v;var g=(0,p.default)(o=["sha1","sha256","sha384","sha512"]).call(o,(e=>({label:e,value:e,key:e})));a.authAlgorithmOptions=g;var _=(0,p.default)(s=["3des","aes-128","aes-192","aes-256"]).call(s,(e=>({label:e,value:e,key:e})));a.encryptionAlgorithmOptions=_;var b=(0,p.default)(d=["group2","group5","group14"]).call(d,(e=>({label:e,value:e,key:e})));a.pfsOptions=b;var y=(0,p.default)(u=["v1","v2"]).call(u,(e=>({label:e,value:e,key:e})));a.ikePolicyIKEVersionOptions=y;var I=(0,p.default)(c=["tunnel","transport"]).call(c,(e=>({label:e,value:e,key:e})));a.ipsecPolicyEncapsulationModeOptions=I;var A=(0,p.default)(f=["esp","ah","ah-esp"]).call(f,(e=>({label:e,value:e,key:e})));a.ipsecPolicyTransformProtocolOptions=A},1337:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ContainersStore=void 0;var f,p,m=c(a(29)),h=c(a(164)),v=c(a(54)),g=c(a(63)),_=c(a(28)),b=c(a(86)),y=c(a(431)),I=c(a(345)),A=c(a(25)),S=c(a(49)),w=c(a(74)),x=c(a(35)),P=(c(a(75)),c(a(55))),C=c(a(53)),E=c(a(50)),D=a(36),k=a(1338),R=c(a(1306));function N(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t({limit:e,offset:t}))),(0,w.default)(this,"delete",p,this)}get client(){return E.default.barbican.containers}get payloadClient(){return E.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get secretStore(){return new k.SecretsStore}get mapper(){return e=>{var{container_ref:t,algorithm:a}=e,[,r]=t.split("/containers/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return j(j({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,S.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{container_ref:a}=e,r=(0,m.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,h.default)(t).call(t,a)}));return r.length&&(e.listener=(0,v.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}listDidFetch(e){var t=this;return(0,S.default)((function*(){if(0===e.length)return e;var[a,r]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),i=(0,v.default)(e).call(e,(e=>{var{secret_refs:i=[]}=e;return 0===i.length?e.hidden=!0:((0,_.default)(i).call(i,(t=>{var{secret_ref:r=""}=t,[,i]=r.split("/secrets/"),n=(0,b.default)(a).call(a,(e=>e.id===i));n?((0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode})):e.hidden=!0})),t.updateItem(e,r)),j({},e)}));return(0,m.default)(i).call(i,(e=>!0!==e.hidden))}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var a,{secret_refs:r=[]}=e,[i,n]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),l=[];(0,_.default)(r).call(r,function(){var t=(0,S.default)((function*(t){var{secret_ref:a=""}=t,[,r]=a.split("/secrets/"),n=(0,b.default)(i).call(i,(e=>e.id===r));n&&(l.push(n.id),(0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode}))}));return function(e){return t.apply(this,arguments)}}()),t.updateItem(e,n);var o=yield g.default.all((0,v.default)(l).call(l,(e=>t.payloadClient.list(e,{},{headers:{Accept:"text/plain"}}))));return(0,_.default)(a=o||[]).call(a,((e,t)=>{r[t].secret_info.payload=e})),e}))()}create(e){var t=this;return(0,S.default)((function*(){var a={name:e.name,mode:e.mode,payload_content_type:"text/plain",secret_type:"certificate",algorithm:(0,I.default)({domain:e.domain,expiration:e.expiration})},r=j(j({},a),{},{payload:e.certificate}),i=[t.secretStore.create(r)];if("SERVER"===e.mode){var n=j(j({},a),{},{payload:e.private_key});i.push(t.secretStore.create(n))}var[l,o]=yield g.default.all(i),s=[{name:"certificate",secret_ref:l.secret_ref}];o&&s.push({name:"private_key",secret_ref:o.secret_ref});var d={type:"certificate",name:e.name,secret_refs:s};return t.client.create(d)}))()}},(0,P.default)(f.prototype,"create",[D.action],(0,A.default)(f.prototype,"create"),f.prototype),p=(0,P.default)(f.prototype,"delete",[D.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){var e=this;return function(){var t=(0,S.default)((function*(t){var{id:a,secret_refs:r=[]}=t;return yield g.default.all((0,v.default)(r).call(r,(t=>{var{secret_ref:a=""}=t,[,r]=a.split("/secrets/");return e.secretStore.delete({id:r})}))),e.submitting(e.client.delete(a))}));return function(e){return t.apply(this,arguments)}}()}}),f);t.ContainersStore=M;var T=new M;t.default=T},1338:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.SecretsStore=void 0;var f,p=c(a(29)),m=c(a(164)),h=c(a(54)),v=c(a(63)),g=c(a(345)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(53)),w=c(a(50)),x=a(36),P=c(a(1306));function C(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t({limit:e,offset:t})))}get client(){return w.default.barbican.secrets}get payloadClient(){return w.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get paramsFunc(){return e=>E({},e)}get mapper(){return e=>{var{secret_ref:t,algorithm:a}=e,[,r]=t.split("/secrets/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return E(E({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,y.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{secret_ref:a}=e,r=(0,p.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,m.default)(t).call(t,a)}));return r.length&&(e.listener=(0,h.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}fetchDetail(e){var t=this;return(0,y.default)((function*(){var{id:a,silent:r}=e;r||(t.isLoading=!0);var[i,n,l]=yield v.default.all([t.client.show(a,{},{headers:{Accept:"application/json"}}),t.payloadClient.list(a,{},{headers:{Accept:"text/plain"}}),P.default.fetchList()]);i.payload=n,t.updateItem(i,l);var o=t.mapper(i||{});return t.detail=o,t.isLoading=!1,o}))()}listDidFetch(e){var t=this;return(0,y.default)((function*(){if(0===e.length)return e;var a=yield P.default.fetchList();return(0,h.default)(e).call(e,(e=>(t.updateItem(e,a),E({},e))))}))()}create(e){var t=this;return(0,y.default)((function*(){var{expiration:a,domain:r,algorithm:i}=e,n=E(E({},(0,b.default)(e,["expiration","domain","algorithm"])),{},{algorithm:i||(0,g.default)({domain:r,expiration:a})});return t.client.create(n)}))()}},(0,A.default)(f.prototype,"fetchDetail",[x.action],(0,_.default)(f.prototype,"fetchDetail"),f.prototype),(0,A.default)(f.prototype,"create",[x.action],(0,_.default)(f.prototype,"create"),f.prototype),f);t.SecretsStore=D;var k=new D;t.default=k},1339:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIKEPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ikePolicies}get listResponseKey(){return"ikepolicies"}get listFilterByProject(){return!0}}t.VpnIKEPolicyStore=o;var s=new o;t.default=s},1340:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIPsecPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ipsecPolicies}get listResponseKey(){return"ipsecpolicies"}get listFilterByProject(){return!0}}t.VpnIPsecPolicyStore=o;var s=new o;t.default=s},1341:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallStore=void 0;var f=c(a(28)),p=c(a(91)),m=c(a(86)),h=c(a(49)),v=c(a(35)),g=c(a(50)),_=a(1286),b=c(a(53)),y=c(a(460));function I(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function A(e){for(var t=1;tA(A({},e),{},{name:e.name||e.id,notDefault:!(0,_.isDefault)(e)})}listDidFetch(e){var t=this;return(0,h.default)((function*(){var a=[],r=[];if((0,f.default)(e).call(e,(e=>{var{egress_firewall_policy_id:t,ingress_firewall_policy_id:i}=e;(0,p.default)(a).call(a,t)<0&&a.push(t),(0,p.default)(r).call(r,i)<0&&r.push(i)})),0===a.length&&0===r.length)return e;var i=yield t.policyClient.list();return(0,f.default)(e).call(e,(e=>{var t,a,{egress_firewall_policy_id:r,ingress_firewall_policy_id:n}=e;e.egressPolicy=(0,m.default)(t=i.firewall_policies).call(t,(e=>e.id===r)),e.egressPolicyName=e.egressPolicy?e.egressPolicy.name:"-",e.ingressPolicy=(0,m.default)(a=i.firewall_policies).call(a,(e=>e.id===n)),e.ingressPolicyName=e.ingressPolicy?e.ingressPolicy.name:"-"})),e}))()}detailDidFetch(e){var t=this;return(0,h.default)((function*(){var{egress_firewall_policy_id:a,ingress_firewall_policy_id:r,project_id:i}=e;r&&(e.ingress=(yield t.fetchPolicy(r)).firewall_policy),a&&(e.egress=(yield t.fetchPolicy(a)).firewall_policy);var n=yield y.default.fetchProjectDetail({id:i});return e.project_name=n&&n.name||"-",e}))()}fetchPolicy(e){return this.policyClient.show(e)}}t.FirewallStore=S;var w=new S;t.default=w},1358:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnServicesStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.vpnservices}get listFilterByProject(){return!0}}t.VpnServicesStore=o;var s=new o;t.default=s},1359:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnEndPointGroupStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.endpointGroups}get listFilterByProject(){return!0}}t.VpnEndPointGroupStore=o;var s=new o;t.default=s},1360:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSZonesStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(75)),i(a(55))),f=a(36),p=i(a(50)),m=i(a(1646)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this)}get client(){return p.default.designate.zones}create(e){var t=this;return(0,d.default)((function*(){return t.submitting(t.client.create(e))}))()}},(0,c.default)(n.prototype,"create",[f.action],(0,s.default)(n.prototype,"create"),n.prototype),l=(0,c.default)(n.prototype,"delete",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t}=e;return this.submitting(this.client.delete(t))}}}),o=(0,c.default)(n.prototype,"update",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.patch(a,t))}}}),n);t.DNSZonesStore=h;var v=new h;t.default=v},1361:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSRecordSetsStore=void 0;var n,l,o,s,d=i(a(58)),u=i(a(74)),c=i(a(35)),f=i(a(55)),p=(i(a(75)),i(a(50))),m=a(36),h=i(a(1646)),v=(n=class extends h.default{constructor(){super(...arguments),(0,c.default)(this,"getFatherResourceId",(e=>e.zoneId||e.id)),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this),(0,u.default)(this,"create",s,this)}get client(){return p.default.designate.zones.recordsets}get isSubResource(){return!0}get paramsFuncPage(){return e=>{var{id:t,zoneId:a,all_projects:r,current:i}=e;return(0,d.default)(e,["id","zoneId","all_projects","current"])}}},l=(0,f.default)(n.prototype,"delete",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{zone_id:t,recordset_id:a}=e;return this.submitting(this.client.delete(t,a))}}}),o=(0,f.default)(n.prototype,"update",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t,a)=>this.submitting(this.client.update(e,t,a))}}),s=(0,f.default)(n.prototype,"create",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.create(a,t))}}}),n);t.DNSRecordSetsStore=v;var g=new v;t.default=g},1362:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isMine=a.isDefault=a.tableOptions=a.tableFilter=a.tableColumns=void 0;var l=n(r(54)),o=n(r(0)),s=n(r(133)),d=r(1286),u=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Rules"),dataIndex:"rules",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},e.name))):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo"}];a.tableColumns=u;var c=[{label:t("Name"),name:"name"},(0,d.getDefaultFilter)(t("Hide Default Policies"))];a.tableFilter=c;var f={filterParams:c,columns:u};a.tableOptions=f;a.isDefault=e=>"default egress"===e.name||"default ingress"===e.name;a.isMine=e=>e.project_id===s.default.projectId},1363:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallRuleStore=void 0;var f,p=c(a(28)),m=c(a(29)),h=c(a(91)),v=c(a(54)),g=c(a(86)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(119)),w=a(36),x=c(a(50)),P=a(1307),C=c(a(53));function E(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;tD(D({},e),{},{protocol:e.protocol||"any",notDefault:!(0,P.isDefault)(e)})}listDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return(0,p.default)(e).call(e,(e=>{e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0}))})),e}))()}detailDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0})),e}))()}fetchListByPolicy(){var e=arguments,t=this;return(0,y.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{limit:r,page:i,sortKey:n,sortOrder:l,conditions:o}=a,s=(0,b.default)(a,["limit","page","sortKey","sortOrder","conditions"]);t.list.isLoading=!0;var{tab:d,all_projects:u,firewall_rules:c}=s,f=(0,b.default)(s,["tab","all_projects","firewall_rules"]);if(0!==c.length){var p=D({},f);u&&(t.listFilterByProject||(p.all_projects=!0));var m=yield t.client.list(p),h=(0,S.default)(m,t.listResponseKey,[]),_=(0,v.default)(c).call(c,(e=>(0,g.default)(h).call(h,(t=>t.id===e)))),y=(0,v.default)(_).call(_,t.mapper),I=yield t.listDidFetchProject(y,u);return I=yield t.listDidFetch(I,u),t.list.update(D({data:I,total:y.length||0,limit:Number(r)||10,page:Number(i)||1,sortKey:n,sortOrder:l,filters:s,isLoading:!1},t.list.silent?{}:{selectedRowKeys:[]})),I}t.list.isLoading=!1}))()}},(0,A.default)(f.prototype,"fetchListByPolicy",[w.action],(0,_.default)(f.prototype,"fetchListByPolicy"),f.prototype),f);t.FirewallRuleStore=k;var R=new k;t.default=R},1400:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.Algorithm=a.algorithmTip=a.algorithmDict=a.BackendProtocol=void 0;var l,o=n(r(54)),s=n(r(32)),d=[{label:t("TCP"),value:"TCP"},{label:t("PING"),value:"PING"}];a.BackendProtocol=d;var u={LEAST_CONNECTIONS:t("LEAST_CONNECTIONS"),ROUND_ROBIN:t("ROUND_ROBIN"),SOURCE_IP:t("SOURCE_IP")};a.algorithmDict=u;var c={LEAST_CONNECTIONS:t("A dynamic scheduling algorithm that estimates the server load based on the number of currently active connections. The system allocates new connection requests to the server with the least number of current connections. Commonly used for long connection services, such as database connections and other services."),ROUND_ROBIN:t("Each new connection request is assigned to the next server in order, and all requests are finally divided equally among all servers. Commonly used for short connection services, such as HTTP services."),SOURCE_IP:t("Perform a consistent hash operation on the source IP address of the request to obtain a specific value. At the same time, the back-end server is numbered, and the request is distributed to the server with the corresponding number according to the calculation result. This can enable load distribution of visits from different source IPs, and at the same time enable requests from the same client IP to always be dispatched to a specific server. This method is suitable for load balancing TCP protocol without cookie function.")};a.algorithmTip=c;var f=(0,o.default)(l=(0,s.default)(u)).call(l,(e=>({label:u[e],value:e})));a.Algorithm=f},1401:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.pools}get listFilterByProject(){return!0}}t.PoolStore=o;var s=new o;t.default=s},1402:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolMemberStore=void 0;var n,l,o=i(a(25)),s=i(a(74)),d=(i(a(35)),i(a(75)),i(a(55))),u=a(36),c=i(a(50)),f=i(a(53)),p=(n=class extends f.default{constructor(){super(...arguments),(0,s.default)(this,"delete",l,this)}get client(){return this.poolClient.members}get poolClient(){return c.default.octavia.pools}get responseKey(){return"member"}get listFilterByProject(){return!0}listFetchByClient(e,t){var{pool_id:a}=t;return this.client.list(a)}create(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.client.create(t,r))}batchUpdate(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.poolClient.batchUpdateMembers(t,r))}update(e){var{default_pool_id:t,member_id:a,data:r}=e,i={};return i[this.responseKey]=r,this.submitting(this.client.update(t,a,i))}},(0,d.default)(n.prototype,"create",[u.action],(0,o.default)(n.prototype,"create"),n.prototype),(0,d.default)(n.prototype,"batchUpdate",[u.action],(0,o.default)(n.prototype,"batchUpdate"),n.prototype),(0,d.default)(n.prototype,"update",[u.action],(0,o.default)(n.prototype,"update"),n.prototype),l=(0,d.default)(n.prototype,"delete",[u.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t,default_pool_id:a}=e;return this.submitting(this.client.delete(a,t))}}}),n);t.PoolMemberStore=p;var m=new p;t.default=m},1403:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.ReverseStore=void 0;var n,l,o,s=i(a(634)),d=i(a(74)),u=(i(a(35)),i(a(55))),c=(i(a(75)),a(36)),f=i(a(50)),p=i(a(53)),m=(n=class extends p.default{constructor(){super(...arguments),(0,d.default)(this,"set",l,this),(0,d.default)(this,"unset",o,this)}get client(){return(0,s.default)(f.default.designate).floatingips}get reverseClient(){return(0,s.default)(f.default.designate)}get isSubResource(){return!0}detailFetchByClient(e){var{id:t}=e;return this.reverseClient.reverseDetail(t)}get paramsFunc(){return()=>{}}},l=(0,u.default)(n.prototype,"set",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.setReverse(a,t))}}}),o=(0,u.default)(n.prototype,"unset",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.unsetReverse(a,t))}}}),n);t.ReverseStore=m;var h=new m;t.default=h},1404:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ZONE_STATUS=a.validateZoneName=a.zoneNameMessage=a.zoneNameRegex=a.zoneTypeOptions=a.ZONE_TYPES=a.ZONE_TYPE_ENUM=void 0;var l=n(r(63)),o=n(r(430)),s=r(163),d={primary:"PRIMARY",secondary:"SECONDARY"};a.ZONE_TYPE_ENUM=d;var u={[d.primary]:t("Primary"),[d.secondary]:t("Secondary")};a.ZONE_TYPES=u;var c=(0,s.getOptions)(u);a.zoneTypeOptions=c;var f=/^.+\.$/;a.zoneNameRegex=f;var p=t('The zone name should end with "."');a.zoneNameMessage=p;a.validateZoneName=(e,a)=>a?f.test(a)?(0,o.default)(a).call(a).split(".").length<=1?l.default.reject(new Error(t('More than one label is required, such as: "example.org."'))):l.default.resolve():l.default.reject(p):l.default.resolve();var m={ACTIVE:t("Active"),PENDING:t("Pending"),ERROR:t("Error")};a.ZONE_STATUS=m},1405:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.RECORD_STATUS=a.getRecordSetFormItem=a.validateName=a.nameMessage=a.nameRegex=a.dnsRRTypeList=a.getRecordSetType=a.DNS_RECORD_TYPE=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(596)),d=n(r(32)),u=n(r(63)),c=n(r(164)),f=n(r(28)),p=n(r(134)),m=n(r(0)),h=r(565),v=r(1404),g={A:{name:t("Address Record"),nameExtra:"example.com.",recordsExtra:"192.168.1.1"},AAAA:{name:t("IPv6 Address Record"),nameExtra:"example.com.",recordsExtra:"2001:db8:3333:4444:5555:6666:7777:8888"},CAA:{name:t("Certificate Authority Authorization Record"),nameExtra:"example.com.",recordsExtra:t('0 iodef mailto:security@example.com

')},CNAME:{name:t("Canonical Name Record"),nameExtra:"first.example.com.",recordsExtra:"other-example.com"},MX:{name:t("Mail Exchange Record"),nameExtra:"example.com.",recordsExtra:t("10 mail.example.com
  • 10: Priority
  • mail.example.com: Value
")},NS:{name:t("Name Server"),nameExtra:"example.com.",recordsExtra:"ns1.example.com"},PTR:{name:t("Pointer Record"),nameExtra:"example.com.",recordsExtra:"1.1.0.192.in-addr.arpa."},SOA:{name:t("Start Of Authority"),nameExtra:"example.com.",recordsExtra:t("ns1.example.com admin.example.com 2013022001 86400 7200 604800 300
  • The primary name server for the domain, which is ns1.example.com or the first name server in the vanity name server list.
  • The responsible party for the domain: admin.example.com.
  • A timestamp that changes whenever you update your domain.
  • The number of seconds before the zone should be refreshed.
  • The number of seconds before a failed refresh should be retried.
  • The upper limit in seconds before a zone is considered no longer authoritative.
  • The negative result TTL (for example, how long a resolver should consider a negative result for a subdomain to be valid before retrying).
")},SPF:{name:t("Sender Policy Framework"),nameExtra:"example.com.",recordsExtra:t('"v=spf1 ipv4=192.1.1.1 include:examplesender.email +all"
  • v=spf1: Tells the server that this contains an SPF record. Every SPF record must begin with this string.
  • Guest List: Then comes the “guest list” portion of the SPF record or the list of authorized IP addresses. In this example, the SPF record is telling the server that ipv4=192.1.1.1 is authorized to send emails on behalf of the domain.
  • include:examplesender.net: is an example of the include tag, which tells the server what third-party organizations are authorized to send emails on behalf of the domain. This tag signals that the content of the SPF record for the included domain (examplesender.net) should be checked and the IP addresses it contains should also be considered authorized. Multiple domains can be included within an SPF record but this tag will only work for valid domains.
  • -all: Tells, the server that addresses not listed in the SPF record are not authorized to send emails and should be rejected.
')},SRV:{name:t("Service Locator"),nameExtra:"_sip._tcp.example.com.
  • _sip: represents the name of the service.
  • _tcp: represents the protocol of the service, this is usually either TCP or UDP.
  • example.com: represents the domain in which this record is for.
",recordsExtra:t('10 0 5060 server1.example.com.
  • "10" is the priority of the record. The lower the value, the higher the priority.
  • 0 is the weight of the record. This is the weight of which this record has a chance to be used when there are multiple matching SRV records of the same priority.
  • 5060 is the port of the record. This specifies the port on which the application or service is running.
  • server1.example.com is the target of the record. This specifies the domain of the application or service the record is for. SRV records must specify a target which is either an A record or AAAA record, and may not use CNAME records.
')},SSHFP:{name:t("SSH Public Key Fingerprint"),nameExtra:"example.com.",recordsExtra:t("4 2 123456789abcdef67890123456789abcdef67890123456789abcdef123456789
  • 4 is Algorithm: Algorithm (0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519; 6:Ed448)
  • 2 is Type: Algorithm used to hash the public key (0: reserved; 1: SHA-1; 2: SHA-256)
  • Last parameter is Fingerprint: Hexadecimal representation of the hash result, as text
")},TXT:{name:t("Text Record"),nameExtra:"example.com."}};a.DNS_RECORD_TYPE=g;a.getRecordSetType=e=>{var t;return g[e]?(0,l.default)(t="".concat(e," - ")).call(t,g[e].name):e};var _=()=>{var e,t;return(0,o.default)(e=(0,s.default)(t=(0,d.default)(g)).call(t)).call(e,(e=>{var t;return{label:(0,l.default)(t="".concat(e," - ")).call(t,g[e].name),value:e,key:e}}))};a.dnsRRTypeList=_;var b=/^.+\.$/;a.nameRegex=b;var y=t('The name should be end with "."');a.nameMessage=y;var I=(e,t)=>t?b.test(t)?u.default.resolve():u.default.reject(y):u.default.resolve();a.validateName=I;a.getRecordSetFormItem=(e,a)=>[{name:"type",label:t("Type"),type:"select",options:_(),onChange:a=>{var r,i,n;(0,c.default)(r=(0,d.default)(g)).call(r,a)&&e.setState({nameExtra:(0,l.default)(i="".concat(t("Exp: "))).call(i,g[a].nameExtra),recordsExtra:(0,p.default)(g[a].recordsExtra)?(0,l.default)(n="".concat(t("Exp: "))).call(n,g[a].recordsExtra):""})},required:!0},{name:"name",label:t("Name"),type:"input",required:!0,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),validator:I},{name:"description",label:t("Description"),type:"textarea"},{name:"ttl",label:t("TTL"),type:"input-number",required:!0},{name:"records",label:t("Records"),type:"add-select",isInput:!0,required:!0,placeholder:t("Please input at least one record"),width:280,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),validator:(e,r)=>{var{type:i}=a,{isIPv4:n,isIpv6:l}=h.ipValidate;return new u.default((e=>{r&&(0,f.default)(r).call(r,(e=>{if("A"===i&&!n(e.value))throw new Error(t("Please enter a valid IPv4 value."));if("AAAA"===i&&!l(e.value))throw new Error(t("Please enter a valid IPv6 value."))})),e()}))}}];var A=v.ZONE_STATUS;a.RECORD_STATUS=A},1406:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.anyProject=a.objectTypes=void 0;var i={network:t("Network"),qos_policy:t("QoS Policy")};a.objectTypes=i;a.anyProject={id:"*",name:"*"}},1471:function(e,t,a){var r=a(3860);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},1472:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3966)),l=i(a(3968)),o=i(a(3969)),s={actionConfigsContainer:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsSecret:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[n.default]}};t.default=s},1473:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.tableOptions=a.tableFilter=a.tableColumns=a.routerInterfaceOwners=a.instanceInterfaceOwners=void 0;var l=n(r(164)),o=r(163),s=r(1258);a.instanceInterfaceOwners=["compute:nova"];a.routerInterfaceOwners=["network:router_interface","network:ha_router_replicated_interface","network:router_interface_distributed"];var d=[{title:t("Port"),dataIndex:"id",width:150},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet"),dataIndex:"subnet_name"},{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Owner"),dataIndex:"owner"},{title:t("Device"),dataIndex:"device_name"},{title:t("Status"),dataIndex:"status",valueMap:s.portStatus}];a.tableColumns=d;var u=[{label:t("Network"),name:"network",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Device"),name:"router",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Status"),name:"status",options:(0,o.getOptions)(s.portStatus)}];a.tableFilter=u;var c={filterParams:u,columns:d};a.tableOptions=c},1474:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var m=p(r(63)),h=p(r(430)),v=p(r(1277)),g=p(r(54)),_=p(r(32)),b=p(r(164)),y=p(r(49)),I=p(r(58)),A=p(r(35)),S=p(r(601)),w=r(412),x=r(1241),P=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(1363)),C=r(1307),E=r(565),D=r(36),k=r(1251),R=r(571);function N(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(N=function(e){return e?a:t})(e)}function j(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function M(e){for(var t=1;t(a,r)=>{var i="source"===e?t("Source IP"):t("Destination IP");if(!r)return m.default.resolve();var n=(0,h.default)(r).call(r);if((0,S.default)(r)||0===n.length)return m.default.resolve();var{ip_version:l=4}=this.state,o=4===l;return!o||F(n)||O(n)?o||L(n)||Q(n)?m.default.resolve():m.default.reject(t("{ name } Format Error (e.g. FE80:0:0:0:0:0:0:1 or FE80:0:0:0:0:0:0:1/10)",{name:i})):m.default.reject(t("{ name } Format Error (e.g. 192.168.1.1 or 192.168.1.1/24)",{name:i}))})),(0,A.default)(this,"checkSourceIp",(()=>this.checkIp("source"))),(0,A.default)(this,"checkDestinationIp",(()=>this.checkIp("destination"))),(0,A.default)(this,"canChangeShared",(()=>{if(!(0,k.checkPolicyRule)("update_firewall_rule:shared"))return!1;if(this.id){var e,t=(0,D.toJS)(this.store.detail);return(0,v.default)(e=t.policies||[]).call(e,(e=>!e.shared))}return!0})),(0,A.default)(this,"onSubmit",(e=>{var{options:{enabled:t,shared:a},protocol:r,destination_ip_address:i,source_ip_address:n,source_port:l,destination_port:o}=e,s=M(M({},(0,I.default)(e,["options","protocol","destination_ip_address","source_ip_address","source_port","destination_port"])),{},{enabled:t,protocol:"any"===r?null:r,destination_ip_address:i||null,source_ip_address:n||null,source_port:l||null,destination_port:o||null});return this.canChangeShared()&&(s.shared=a),this.id?P.default.edit({id:this.id},s):P.default.create(s)}))}init(){this.store=new P.FirewallRuleStore,this.getDetail(),(0,R.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get isEdit(){return this.params&&!!this.params.id}get name(){return this.isEdit?t("Edit rule"):t("Create rule")}get id(){return this.params.id}static allowed(){return m.default.resolve(!0)}get disableSubmit(){return!this.isEdit&&(0,R.checkQuotaDisable)(T,B)}get showQuota(){return!this.isEdit}get quotaInfo(){return(0,R.getQuotaInfo)(this,T,B)}get defaultValue(){if(this.id){var e=(0,D.toJS)(this.store.detail);return M(M({},e),{},{options:{enabled:e.enabled,shared:e.shared}})}return{protocol:"tcp",action:"allow",ip_version:4,options:{enabled:!0,shared:!1}}}get protocolList(){var e;return(0,g.default)(e=(0,_.default)(C.protocolInfos)).call(e,(e=>({value:e,label:C.protocolInfos[e]})))}get actionList(){var e;return(0,g.default)(e=(0,_.default)(C.actionInfos)).call(e,(e=>({value:e,label:C.actionInfos[e]})))}get ipVersionList(){return[{value:4,label:t("IPv4")},{value:6,label:t("IPv6")}]}getDetail(){var e=this;return(0,y.default)((function*(){e.params.id&&(yield e.store.fetchDetail(e.params),e.updateDefaultValue(),e.updateState())}))()}get formItems(){var e,a,{protocol:r}=this.state;return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"protocol",label:t("Protocol"),type:"radio",options:this.protocolList,required:!0},{name:"action",label:t("Rule Action"),type:"select",options:this.actionList,required:!0},{name:"ip_version",label:t("IP Version"),type:"radio",options:this.ipVersionList},{name:"source_ip_address",label:t("Source IP Address/Subnet"),type:"input",validator:this.checkSourceIp()},{name:"source_port",label:t("Source Port/Port Range"),type:"port-range",hidden:(0,b.default)(e=["any","icmp"]).call(e,r)},{name:"destination_ip_address",label:t("Destination IP Address/Subnet"),type:"input",validator:this.checkDestinationIp()},{name:"destination_port",label:t("Destination Port/Port Range"),type:"input",help:t("Input destination port or port range (example: 80 or 80:160)"),hidden:(0,b.default)(a=["any","icmp"]).call(a,r)},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Enabled"),value:"enabled"},{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=q,(0,A.default)(q,"id","rule-create"),(0,A.default)(q,"title",t("Create Rule")),(0,A.default)(q,"path","/network/firewall-rule/create"),(0,A.default)(q,"policy","create_firewall_rule");var V=(0,w.inject)("rootStore")((0,w.observer)(q));a.default=V},1625:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Networks=void 0;var p=f(r(573)),m=f(r(29)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(571),b=r(233),y=r(342),I=f(r(1626));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;tthis.isAdminPage||this.isAllTab?S(S({},e),{},{all_projects:!0}):this.isProjectTab?S(S({},e),{},{project_id:this.currentProjectId}):this.isSharedTab?S(S({},e),{},{shared:!0}):this.isExternalTab?S(S({},e),{},{"router:external":!0}):S({},e)))}init(){this.store=new b.NetworkStore,this.downloadStore=new b.NetworkStore}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"status"}get policy(){return"get_network"}get name(){return t("networks")}get actionConfigs(){return I.default}get hasTab(){return!this.isAdminPage}get adminPageHasProjectFilter(){return!0}get tab(){if(this.isAdminPage)return null;var{tab:e="projectNetwork"}=this.props;return e}get isProjectTab(){return"projectNetwork"===this.tab}get isSharedTab(){return"sharedNetwork"===this.tab}get isExternalTab(){return"externalNetwork"===this.tab}get isAllTab(){return"allNetwork"===this.tab}getColumns(){var e=(0,_.networkColumns)(this);return this.isAdminPage||this.isAllTab?((0,p.default)(e).call(e,1,0,{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,sortKey:"project_id"}),e):this.isProjectTab?(0,m.default)(e).call(e,(e=>"tenant_id"!==e.dataIndex)):this.isSharedTab?(0,m.default)(e).call(e,(e=>"shared"!==e.dataIndex)):this.isExternalTab?(0,m.default)(e).call(e,(e=>"router:external"!==e.dataIndex)):e}get searchFilters(){var e={label:t("Name"),name:"name"},a={label:t("Shared"),name:"shared",options:y.yesNoOptions},r={label:t("External"),name:"router:external",options:y.yesNoOptions},i={label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]};return this.isSharedTab?[e,r,i]:this.isExternalTab?[e,a,i]:[e,a,r]}}a.Networks=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},1626:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1627)),l=i(a(1629)),o=i(a(3832)),s={rowActions:{firstAction:i(a(3833)).default,moreActions:[{action:l.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.default=s},1627:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateNetwork=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(91)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=f(r(352)),I=f(r(177)),A=r(412),S=r(1241),w=r(565),x=f(r(233)),P=f(r(340)),C=f(r(1270)),E=r(1251),D=f(r(1628)),k=r(571),R=r(1265),N=r(163),j=r(36),M=f(r(621));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],{left:r=0}=e||{},{left:i=0}=t||{};return a?0!==r&&0!==i?1:0:0!==r?1:0};class Y extends S.ModalAction{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var{name:t,project_id:a,provider_network_type:r,provider_physical_network:i,provider_segmentation_id:n,shared:l,external_network:o,availableZone:s,allocation_pools:d,host_routes:u,description:c,mtu:f,port_security_enabled:p}=e,m=(0,_.default)(e,["name","project_id","provider_network_type","provider_physical_network","provider_segmentation_id","shared","external_network","availableZone","allocation_pools","host_routes","description","mtu","port_security_enabled"]),h=K(d),v=G(u),g={name:t,description:c,port_security_enabled:p};s&&(g.availability_zone_hints=[s]),f&&(g.mtu=f);var b={"router:external":o,project_id:a?a.selectedRowKeys[0]:this.currentProjectId,"provider:network_type":r,"provider:physical_network":i,"provider:segmentation_id":n},y={shared:l},I=B({},g);return this.isAdminPage&&(I=B(B({},I),b)),this.isSystemAdmin&&(I=B(B({},I),y)),x.default.createAndMore(I,B(B({},m),{},{allocation_pools:h,host_routes:v}))})),(0,b.default)(this,"onOk",((e,a,r)=>(this.values=e,this.onSubmit(e,a).then((()=>{!this.isModal&&this.routing.push(this.listUrl),C.default.success(this.successText),r&&(0,y.default)(r)&&r(!0,!1)}),(a=>{var{type:i,error:n}=JSON.parse(a);"create_network"===i?C.default.errorWithDetail(n,this.errorText):"create_subnet"===i&&C.default.errorWithDetail(n,t("Unable to {action}, instance: {name}.",{action:t("Create Subnet"),name:e.subnet_name})),r&&(0,y.default)(r)&&r(!1,!0)}))))),(0,b.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!z(e))&&!("ipv6"===t&&!J(e))})),(0,b.default)(this,"checkGateway",(e=>!!(0,I.default)(e)||!!W(e))),(0,b.default)(this,"validateAllocationPools",((e,t)=>Q.call(this,e,t))),(0,b.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))})),(0,b.default)(this,"onCreateSubnetChange",(e=>{this.setState({create_subnet:e}),x.default.updateCreateWithSubnet(e)}))}get name(){return t("create network")}static get modalSize(){var{pathname:e}=window.location;return(0,N.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){x.default.updateCreateWithSubnet(!1),this.state.networkQuota={},this.state.subnetQuota={},this.state.quotaLoading=!0,this.state.create_subnet=!1,this.state.projectId=this.currentProjectId,this.projectStore=P.default,D.default.fetchAvailableZones(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}get isSystemAdmin(){return(0,E.checkSystemAdmin)()}static get disableSubmit(){var{neutronQuota:{network:e={},subnet:t={}}}=P.default,{createWithSubnet:a=!1}=x.default;return 0===X(e,t,a)}static get showQuota(){return!0}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,j.toJS)(this.projectStore.list.data)||[]}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{network:r={},subnet:i={}}=a||{};e.setState({networkQuota:r,subnetQuota:i,quotaLoading:!1})}))()}get quotaInfo(){var{networkQuota:e={},subnetQuota:a={},quotaLoading:r,create_subnet:i}=this.state;if(r)return[];var n=X(e,a,i);return[B(B({},e),{},{add:n,name:"network",title:t("Network")}),B(B({},a),{},{add:i?n:0,name:"subnet",title:t("Subnet"),type:"line"})]}get defaultValue(){var e={enable_dhcp:!0,provider_network_type:"vxlan",ip_version:"ipv4",disable_gateway:!1,more:!1,port_security_enabled:!0,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get availableZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=D.default.availableZones||[]).call(t,(e=>"available"===e.state&&"network"===e.resource))).call(e,(e=>({value:e.name,label:e.name})))}get SegIDTips(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215");case"vlan":return t("For VLAN networks, valid segmentation IDs are 1 to 4094");case"gre":return t("For GRE networks, valid segmentation IDs are 1 to 4294967295");default:return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215")}}get SegMax(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return 16777215;case"vlan":return 4094;case"gre":return 4294967295;default:return 16777215}}get formItems(){var{more:e,create_subnet:a=!1,provider_network_type:r="vxlan",ip_version:i="ipv4",disable_gateway:n=!1}=this.state,l=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,o=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,s=this.isAdminPage&&(0,h.default)(L).call(L,r)>-1,d=this.isAdminPage&&(0,h.default)(O).call(O,r)>-1,u="ipv4"===i;return[{name:"name",label:t("Network Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones},{name:"mtu",label:t("MTU"),type:"input-number",min:68,max:9e3,extra:t("Minimum value is 68 for IPv4, and 1280 for IPv6.")},{name:"create_subnet",label:t("Create Subnet"),type:"check",onChange:this.onCreateSubnetChange},{name:"shared",label:t("Shared"),type:"check",hidden:!this.isSystemAdmin},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"external_network",label:t("External Network"),type:"check",hidden:!this.isAdminPage},B({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},R.projectTableOptions),{name:"provider_network_type",label:t("Provider Network Type"),type:"select",hidden:!this.isAdminPage,required:this.isAdminPage,options:[{label:"vxlan",value:"vxlan"},{label:"flat",value:"flat"},{label:"vlan",value:"vlan"},{label:"gre",value:"gre"}],onChange:e=>{this.setState({provider_network_type:e})}},{name:"provider_physical_network",label:t("Provider Physical Network"),type:"input",hidden:!l,required:o},{name:"provider_segmentation_id",label:t("Segmentation ID"),type:"input-int",hidden:!s,required:d,min:1,max:this.SegMax,extra:this.SegIDTips},{name:"subnet_name",label:t("Subnet Name"),hidden:!a,type:"input",required:a,validator:Z},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0,hidden:!a},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?v.default.resolve():r&&r!==a?v.default.reject(new Error(t("Invalid combination"))):v.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i},{name:"cidr",label:t("CIDR"),type:"input",placeholder:u?"192.168.0.0/24":"1001:1001::/64",required:a,validator:(e,r)=>a||r?(0,I.default)(r)||this.checkCidr(r)?v.default.resolve():v.default.reject(new Error(t("Invalid: ")+t("CIDR"))):v.default.resolve(),hidden:!a,tip:u?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!(a&&e)},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===i?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(a&&e&&!n),validator:"ipv6"===i?(e,a)=>this.checkGateway(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!(a&&e)},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:u?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!(a&&e),validator:this.validateAllocationPools,dependencies:["gateway_ip"]},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:u?"114.114.114.114":"1001:1001::/64"}),hidden:!(a&&e),validator:u?q:V},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:u?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!(a&&e),validator:u?H:U},{name:"more",label:t("Advanced Options"),type:"more",hidden:!a}]}}a.CreateNetwork=Y,(0,b.default)(Y,"id","create-network"),(0,b.default)(Y,"title",t("Create Network")),(0,b.default)(Y,"policy",["create_network","create_subnet"]),(0,b.default)(Y,"allowed",(()=>v.default.resolve(!0)));var $=(0,A.inject)("rootStore")((0,A.observer)(Y));a.default=$},1628:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.NeutronStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(55))),f=(i(a(75)),a(36)),p=i(a(50)),m=i(a(53)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"availableZones",l,this),(0,u.default)(this,"zoneLoading",o,this)}get zoneClient(){return p.default.neutron.azones}fetchAvailableZones(){var e=this;return(0,d.default)((function*(){e.zoneLoading=!0;var t=yield e.zoneClient.list(),{availability_zones:a=[]}=t;e.availableZones=a,e.zoneLoading=!1}))()}},l=(0,c.default)(n.prototype,"availableZones",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),o=(0,c.default)(n.prototype,"zoneLoading",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,c.default)(n.prototype,"fetchAvailableZones",[f.action],(0,s.default)(n.prototype,"fetchAvailableZones"),n.prototype),n);t.NeutronStore=h;var v=new h;t.default=v},1629:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSubnet=void 0;var p=f(r(1252)),m=f(r(63)),h=f(r(49)),v=f(r(58)),g=f(r(35)),_=f(r(177)),b=r(412),y=r(1241),I=r(565),A=f(r(233)),S=f(r(340)),w=f(r(133)),x=r(571),P=r(1265),C=r(36),E=f(r(621));function D(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!L(e))&&!("ipv6"===t&&!O(e))})),(0,g.default)(this,"checkGateway",(e=>!!(0,_.default)(e)||!!Q(e))),(0,g.default)(this,"onSubmit",(e=>{var{allocation_pools:t,host_routes:a,project_id:r}=e,i=(0,v.default)(e,["allocation_pools","host_routes","project_id"]),n=B(t),l=F(a);return A.default.createSubnet(k(k({},i),{},{project_id:r?r.selectedRowKeys[0]:this.currentProjectId,network_id:this.network.id,allocation_pools:n,host_routes:l}))})),(0,g.default)(this,"validateAllocationPools",((e,t)=>R.call(this,e,t))),(0,g.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Create Subnet")}static get modalSize(){return w.default.hasAdminRole?"large":"small"}getModalSize(){return this.isSystemAdmin?"large":"small"}get network(){return this.props.containerProps.detail||this.item||{}}get instanceName(){return this.item.name||(0,p.default)(this).subnet_name}get defaultValue(){var e={enable_dhcp:!0,ip_version:"ipv4",disable_gateway:!1,more:!1,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isSystemAdmin&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}init(){this.state.projectId=this.currentProjectId,this.state.quota={},this.state.quotaLoading=!0,this.projectStore=S.default,this.isSystemAdmin&&this.getProjects(),this.getQuota()}getProjects(){var e=this;return(0,h.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,C.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{subnet:{left:e=0}={}}}=S.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{subnet:r={}}=a||{};e.setState({quota:r,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"subnet",title:t("Subnet")})]}get isSystemAdmin(){return this.props.rootStore.hasAdminRole}get networkProjectId(){var{project_id:e}=this.item;if(e)return e;var{detail:t={}}=this.containerProps;return t.project_id}get formItems(){var{more:e,ip_version:a="ipv4",disable_gateway:r=!1,projectId:i}=this.state,n="ipv4"===a;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0,withoutChinese:!0},k({name:"project_id",label:t("Project"),type:"select-table",required:!0,hidden:!this.isSystemAdmin,extra:i!==this.networkProjectId&&t("The selected project is different from the project to which the network belongs. That is, the subnet to be created is not under the same project as the network. Please do not continue unless you are quite sure what you are doing."),isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?m.default.resolve():r&&r!==a?m.default.reject(new Error(t("Invalid combination"))):m.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a},{name:"cidr",label:t("CIDR"),type:"input",placeholder:n?"192.168.0.0/24":"1001:1001::/64",required:!0,validator:(e,a)=>(0,_.default)(a)||this.checkCidr(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: ")+t("CIDR"))),tip:n?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===a?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!r),validator:"ipv6"===a?(e,a)=>this.checkGateway(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:n?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!e,validator:this.validateAllocationPools},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:n?"114.114.114.114":"1001:1001::"}),hidden:!e,validator:n?N:j},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:n?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!e,validator:n?M:T},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateSubnet=q,(0,g.default)(q,"id","create-subnet"),(0,g.default)(q,"title",t("Create Subnet")),(0,g.default)(q,"policy","create_subnet"),(0,g.default)(q,"allowed",((e,t)=>{var{project_id:a}=e||{},{detail:{project_id:r}={}}=t||{},i=a||r,n=w.default,{hasAdminRole:l=!1,user:{project:{id:o}={}}={}}=n;return l||i===o?m.default.resolve(!0):m.default.resolve(!1)}));var V=(0,b.inject)("rootStore")((0,b.observer)(q));a.default=V},1630:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1629)),l=i(a(3836)),o={rowActions:{firstAction:i(a(3837)).default,moreActions:[{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]};t.default=o},1631:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1632)),l=i(a(3842)),o=i(a(3843)),s=i(a(3844)),d=i(a(3845)),u=i(a(3846)),c=i(a(3847)),f=i(a(3848)),p=i(a(3849)),m={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:u.default},{action:c.default},{action:l.default},{action:s.default},{action:d.default},{action:f.default},{action:p.default}]},primaryActions:[n.default],batchActions:[l.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default]}};t.default=m},1632:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=f(r(570)),y=r(412),I=r(575),A=r(233),S=f(r(1628)),w=f(r(340)),x=r(1241),P=r(571),C=r(1393);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{(0,b.default)(e,"openExternalNetwork")&&this.setState({openExternalNetwork:e.openExternalNetwork})})),(0,_.default)(this,"onSubmit",(e=>{var{openExternalNetwork:t,externalNetwork:a,hints:r={}}=e,i=(0,g.default)(e,["openExternalNetwork","externalNetwork","hints"]),n=t?{external_gateway_info:{network_id:a.selectedRows[0].id}}:null,l=r.selectedRowKeys||[];return this.store.create(D(D(D({},i),n),{},{availability_zone_hints:l}))}))}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=new I.RouterStore,this.networkStore=new A.NetworkStore,this.projectStore=w.default,this.fetchAzones(),this.getQuota()}get name(){return t("create router")}static get modalSize(){return"large"}getModalSize(){return"large"}fetchAzones(){S.default.fetchAvailableZones()}get aZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=S.default.availableZones||[]).call(t,(e=>"available"===e.state&&"router"===e.resource))).call(e,(e=>D(D({},e),{},{id:e.name})))}static get disableSubmit(){var{neutronQuota:{router:{left:e=0}={}}={}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{router:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[D(D({},e),{},{add:i,name:"router",title:t("Router")})]}get defaultValue(){return{openExternalNetwork:!1}}get formItems(){var{openExternalNetwork:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"hints",label:t("Availability Zone Hints"),type:"select-table",data:this.aZones,isLoading:S.default.zoneLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("State"),dataIndex:"state",valueMap:C.availabilityZoneState},{title:t("Resource Type"),dataIndex:"resource",valueMap:C.availabilityZoneResource}]},{name:"openExternalNetwork",label:t("Options"),type:"check",content:t("Open External Gateway")},{name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:e,hidden:!e,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:P.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.Create=k,(0,_.default)(k,"id","create"),(0,_.default)(k,"title",t("Create Router")),(0,_.default)(k,"policy","create_router"),(0,_.default)(k,"allowed",(()=>h.default.resolve(!0)));var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},1633:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(91)),s=n(r(54)),d=n(r(77));r(589);var u=n(r(590));r(1384);var c=n(r(1385));r(231);var f=n(r(341));r(1303);var p=n(r(1290)),m=n(r(35)),h=n(r(0)),v=r(163),g=r(580),_=r(1267),b=(r(161),r(204)),y=n(r(3863)),I=n(r(1471));class A extends h.default.Component{constructor(e){super(e),(0,m.default)(this,"detailButtons",(()=>[{name:t("Clear Gateway"),click:null},{name:t("Associate IP"),click:null},{name:t("Associate Network"),click:null},{name:t("delete"),type:"danger",click:null}])),this.state={}}get statusMap(){return{SHUTOFF:{status:"default",text:t("Shutoff")},ACTIVE:{color:"green",text:t("Active")}}}get detailInfos(){var{data:{subnets:e}}=this.props,a=(0,l.default)(e).call(e,(e=>{var t;return-1===(0,o.default)(t=e.name).call(t,"HA subnet tenant")}));return[{title:t("Name"),dataIndex:"name",render:(e,t)=>e?h.default.createElement(b.Link,{to:"/network/router/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",render:e=>_.routerStatus[e]||e},{title:t("External Fixed IP"),dataIndex:"external_gateway_info",isHideable:!0,render:e=>{var t;return(0,s.default)(t=(e||{}).external_fixed_ips||[]).call(t,(e=>h.default.createElement("span",{key:e.ip_address},e.ip_address,h.default.createElement("br",null))))||"-"}},{title:t("Subnet"),dataIndex:"subnets",render:e=>{if(!a[0])return"-";var t=(0,l.default)(a).call(a,(t=>-1!==(0,o.default)(e).call(e,t.id)));return(0,s.default)(t).call(t,(e=>h.default.createElement("span",{key:e.id},e.name," (",e.cidr,")",h.default.createElement("br",null))))}}]}renderCardInfos(e){var t,a=(0,s.default)(t=this.detailInfos).call(t,(t=>{var a,{title:r,dataIndex:i,render:n}=t;return!this.isLoading&&e&&e.id?(a=n?n(e[i],e):e[i],"create_time"!==i&&"update_time"!==i&&"created_at"!==i||n||(a=(0,g.getLocalTimeStr)(a)),void 0===a&&(a="-")):a="-",{label:r,content:a}}));return h.default.createElement(p.default,{column:1,className:I.default["descriptions-item"]},(0,s.default)(a).call(a,(e=>h.default.createElement(p.default.Item,{label:e.label,key:"label-".concat((0,v.generateId)())},e.content))))}renderButton(){var e=this.detailButtons();return h.default.createElement("div",{className:I.default["card-button"]},(0,s.default)(e).call(e,(e=>h.default.createElement(f.default,{type:e.type?e.type:"primary"},e.name))))}renderCard(e,t){return h.default.createElement("div",{style:{width:e}},this.renderCardInfos(t))}renderTitle(e,t){var a;return h.default.createElement("div",{className:I.default["node-card-title"]},(0,d.default)(a="".concat(e,": ")).call(a,t))}render(){var{x:e,y:a}=this.props,{data:{routers:r},infoIndex:i}=this.props,n=r[i];return h.default.createElement("div",{className:I.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e,"px")}},h.default.createElement(u.default,{placement:"rightTop",content:this.renderCard(430,n),title:this.renderTitle(t("Router"),n.name)},h.default.createElement("div",{style:{textAlign:"center",width:"50px",height:"50px",overflow:"hidden"}},h.default.createElement(c.default,{src:y.default,shape:"square",size:30}),h.default.createElement("div",{style:{transform:"scale(0.9,1)"}},n.name))))}}a.default=A},1634:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=r(412),o=r(582),s=n(r(1243)),d=r(1258),u=n(r(3871));class c extends s.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{routerId:e}=this.params;return this.getRoutePath("routerDetail",{id:e},{tab:"interfaces"})}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.portStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}init(){this.store=new o.PortStore}}a.PortDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},1635:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var p=f(r(35)),m=r(412),h=f(r(1242)),v=r(576),g=r(1357),_=r(66),b=r(342),y=f(r(1636));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{switch(this.tabKey){case"projectQoSPolicy":return A(A({},e),{},{project_id:this.currentProjectId});case"sharedQoSPolicy":return A(A({},e),{},{shared:!0});default:return e}}))}init(){this.store=new v.QoSPolicyStore,this.downloadStore=new v.QoSPolicyStore}get isProjectTab(){var e=this.tabKey;return!this.isAdminPage&&(!e||"projectQoSPolicy"===e)}get checkEndpoint(){return!0}get endpoint(){return(0,_.qosEndpoint)()}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get name(){return t("QoS policies")}get actionConfigs(){return this.isAdminPage?y.default.actionConfigs:this.isProjectTab?y.default.consoleActions:b.emptyActionConfig}get hasTab(){return!this.isAdminPage}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"name"}get tabKey(){var{tab:e}=this.props;return e}getColumnParamsFromTabKey(){switch(this.tabKey){case"projectQoSPolicy":return{self:this,all:!1,shared:!1};case"sharedQoSPolicy":return{self:this,all:!1,shared:!0};case"allQoSPolicy":default:return{self:this,all:!0,shared:!1}}}getColumns(){return(0,g.getQosPolicyColumns)(this.getColumnParamsFromTabKey())}get searchFilters(){return(0,g.getQosPolicyFilters)(this.getColumnParamsFromTabKey())}}a.QoSPolicy=S;var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1636:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3888)),l=i(a(3889)),o=i(a(3890)),s=i(a(3891)),d=i(a(3892)),u=i(a(3893)),c=i(a(3894)),f=i(a(3895)),p=i(a(3896)),m=i(a(3897)),h=i(a(3898)),v={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:d.default},{action:h.default},{action:u.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},consoleActions:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]}};t.default=v},1637:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n,l=(0,i(a(54)).default)(n="0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,46,48,56".split(",")).call(n,(e=>({label:e,value:e})));t.default=l},1638:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3902)),l=i(a(3903)),o=i(a(3904)),s=i(a(1639)),d=i(a(3910)),u={rowActions:{firstAction:n.default,moreActions:[{action:o.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[s.default]};t.actionConfigs=u;var c={rowActions:{moreActions:[{action:l.default}]}};t.adminActions=c},1639:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(32)),d=n(r(91)),u=n(r(29)),c=n(r(63)),f=n(r(58)),p=n(r(35)),m=r(412),h=r(1241),v=n(r(581)),g=r(1254),_=n(r(3905)),b=n(r(3906)),y=n(r(3907)),I=n(r(3908)),A=n(r(3909));class S extends h.StepAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var t,{name:a,description:r,vip_address:i,vip_network_id:n,admin_state_enabled:c,enableHealthMonitor:p,listener_protocol:m,listener_ssl_parsing_method:h,listener_sni_enabled:v,listener_default_tls_container_ref:_,listener_client_ca_tls_container_ref:b,listener_sni_container_refs:y,listener_admin_state_up:I,pool_admin_state_up:A,monitor_admin_state_up:S,insert_headers:w}=e,x=(0,f.default)(e,["name","description","vip_address","vip_network_id","admin_state_enabled","enableHealthMonitor","listener_protocol","listener_ssl_parsing_method","listener_sni_enabled","listener_default_tls_container_ref","listener_client_ca_tls_container_ref","listener_sni_container_refs","listener_admin_state_up","pool_admin_state_up","monitor_admin_state_up","insert_headers"]),P={name:a,description:r,vip_network_id:n.selectedRowKeys[0]},{ip_address:C,subnet:E}=i[0];P.vip_subnet_id=E,C&&C.ip&&(P.vip_address=C.ip),P.admin_state_up=c;var D,k={admin_state_up:I,protocol:m},R=(0,g.getInsertHeadersValueFromForm)(w);(R&&(k.insert_headers=R),"TERMINATED_HTTPS"===m)&&(_&&(k.default_tls_container_ref=_.selectedRows[0].container_ref),"two-way"===h&&b&&(k.client_ca_tls_container_ref=b.selectedRows[0].secret_ref,k.client_authentication="MANDATORY"),v&&y&&(k.sni_container_refs=(0,l.default)(D=y.selectedRows).call(D,(e=>e.container_ref))));var N={admin_state_up:A},j={admin_state_up:S};(0,o.default)(t=(0,s.default)(x)).call(t,(t=>{0===(0,d.default)(t).call(t,"listener")?k[t.replace("listener_","")]=e[t]:0===(0,d.default)(t).call(t,"pool")?N[t.replace("pool_","")]=e[t]:0===(0,d.default)(t).call(t,"health")&&(j[t.replace("health_","")]=e[t])})),p&&(N.healthmonitor=j);var{extMembers:M=[],Member:{selectedRowKeys:T=[],selectedRows:B,memberUpdateValue:F=[]}={}}=x,L=[];return(0,o.default)(T).call(T,(e=>{var t=(0,u.default)(B).call(B,(t=>t.id===e))[0],a=(0,u.default)(F).call(F,(t=>t.id===e))[0],{weight:r=0,protocol_port:i=1}=a||{},{member_ip:n,fixed_ips:l=[]}=t;(0,o.default)(n).call(n,(e=>{var{subnet_id:t}=(0,u.default)(l).call(l,(t=>t.ip_address===e))[0],a={weight:r,protocol_port:i,address:e,subnet_id:t};L.push(a)}))})),(0,o.default)(M).call(M,(e=>{var{ip:t,protocol_port:a,weight:r,name:i=null,subnet_id:n}=e.ip_address,l={weight:r,protocol_port:a,address:t,name:i,subnet_id:n};L.push(l)})),N.members=L,k.default_pool=N,P.listeners=[k],this.store.create(P)}))}init(){this.store=v.default}static allowed(e,t){var{isAdminPage:a=!1}=t;return c.default.resolve(!a)}get name(){return t("Create Loadbalancer")}get listUrl(){return this.getRoutePath("lb")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:_.default},{title:t("Listener Detail"),component:b.default},{title:t("Pool Detail"),component:y.default},{title:t("Member Detail"),component:I.default},{title:t("Health Monitor Detail"),component:A.default}]}}a.StepCreate=S,(0,p.default)(S,"id","lb-create"),(0,p.default)(S,"title",t("Create Loadbalancer")),(0,p.default)(S,"path","/network/load-balancers/create"),(0,p.default)(S,"policy","os_load-balancer_api:loadbalancer:post");var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1640:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3913)),l=i(a(3914)),o=i(a(3915)),s=i(a(3916)),d=i(a(3917)),u=i(a(1641)),c=i(a(3919)),f={rowActions:{firstAction:o.default,moreActions:[{action:l.default},{action:n.default},{action:s.default},{action:c.default},{action:d.default}]},batchActions:[],primaryActions:[u.default]};t.actionConfigs=f;var p={rowActions:{moreActions:[{action:c.default},{action:l.default}]}};t.adminActions=p},1641:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=r(412),y=r(1241),I=r(1306),A=r(1337),S=r(1338),w=r(1254);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t"os_load-balancer_api:listener:post")),(0,_.default)(this,"onSubmit",(e=>{var t,{sni_enabled:a,ssl_parsing_method:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l,insert_headers:o}=e,s=P(P({},(0,g.default)(e,["sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs","insert_headers"])),{},{loadbalancer_id:this.containerProps.detail.id}),d=(0,w.getInsertHeadersValueFromForm)(o);(d&&(s.insert_headers=d),i&&(s.default_tls_container_ref=i.selectedRows[0].container_ref),n&&(s.client_ca_tls_container_ref=n.selectedRows[0].secret_ref,s.client_authentication="MANDATORY"),l)&&(s.sni_container_refs=(0,p.default)(t=l.selectedRows).call(t,(e=>e.container_ref)));return this.store.create(s)}))}get name(){return t("Create Listener")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.store=new I.ListenerStore,this.containersStore=new A.ContainersStore,this.secretsStore=new S.SecretsStore,this.fetchContainers(),this.fetchSecrets()}fetchContainers(){var e=this;return(0,v.default)((function*(){yield e.containersStore.fetchList(),e.updateDefaultValue()}))()}fetchSecrets(){var e=this;return(0,v.default)((function*(){yield e.secretsStore.fetchList({mode:"CA"}),e.updateDefaultValue()}))()}get ServerCertificate(){return this.containersStore.list.data||[]}get CaCertificate(){return this.secretsStore.list.data||[]}get SNICertificate(){var e;return(0,m.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get isEdit(){return!1}get nameForStateUpdate(){return["protocol","ssl_parsing_method","sni_enabled"]}get defaultValue(){return{ssl_parsing_method:"one-way",sni_enabled:!1,connection_limit:-1,admin_state_up:!0}}get formItems(){var e,{protocol:a,ssl_parsing_method:r,sni_enabled:i}=this.state,n=(0,w.getListenerInsertHeadersFormItem)();return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:w.listenerProtocols,required:!0,disabled:this.isEdit},{name:"ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:w.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.ServerCertificate,isLoading:this.containersStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CaCertificate,isLoading:this.secretsStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,m.default)(e=(0,w.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNICertificate,isLoading:this.containersStore.list.isLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,disabled:this.isEdit},{name:"connection_limit",label:t("Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.Create=C,(0,_.default)(C,"id","create_listener"),(0,_.default)(C,"title",t("Create Listener")),(0,_.default)(C,"policy","os_load-balancer_api:listener:post"),(0,_.default)(C,"allowed",(e=>h.default.resolve("ACTIVE"===e.provisioning_status)));var E=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=E},1642:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3950)),l=i(a(3952)),o=i(a(3953)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},1643:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3957)),l=i(a(3958)),o=i(a(3959)),s=i(a(1644)),d={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=d},1644:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(164)),m=f(r(234)),h=f(r(54)),v=f(r(28)),g=f(r(32)),_=f(r(431)),b=f(r(77)),y=f(r(63)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(570)),x=r(412),P=r(1241),C=f(r(622)),E=f(r(419)),D=f(r(340)),k=r(354),R=r(565);function N(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function j(e){for(var t=1;t{(0,w.default)(e,"portOrRange")&&this.setState({sourcePort:""},(()=>{this.updateDefaultValue()})),(0,w.default)(e,"remoteType")&&this.setState({remote_ip_prefix:"",remote_group_id:""},(()=>{this.updateDefaultValue()})),this.setState(j({},e))})),(0,S.default)(this,"handleDirectionChange",(e=>{this.setState({direction:e})})),(0,S.default)(this,"onSubmit",((e,t)=>{var a,{match:{params:{id:r}={}}={}}=t,{sourcePort:i,protocol:n,ipProtocol:l,icmpType:o,icmpCode:s,portOrRange:d,remoteType:u}=e,c=(0,A.default)(e,["sourcePort","protocol","ipProtocol","icmpType","icmpCode","portOrRange","remoteType"]),f=(0,p.default)(a=["custom_udp","custom_tcp"]).call(a,n)&&"range"===d,h=i.split(":"),v="custom_protocol"!==n?this.defaultRules[n].ip_protocol:l,g=j({security_group_id:r||this.item.id,port_range_min:"custom_icmp"===n?o:f?(0,m.default)(h[0],10):null,port_range_max:"custom_icmp"===n?s:f?(0,m.default)(h[1]||h[0],10):null,protocol:v},c);return(0,p.default)(n).call(n,"all")&&(delete g.remote_ip_prefix,delete g.remote_group_id),this.store.create(g)})),this.state={protocol:this.protocolList[0].value,portOrRange:"range",remoteType:"cidr",direction:"ingress",ipProtocol:"ah"}}get name(){return t("Create rule")}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=C.default,this.groupStore=E.default,this.projectStore=D.default,this.getAllGroups(),this.getQuota()}get messageHasItemName(){return!1}getAllGroups(){var e=this;return(0,I.default)((function*(){var t=yield E.default.fetchList();e.allGroups=(0,h.default)(t).call(t,(e=>({label:e.name,value:e.id})))}))()}static get disableSubmit(){var{neutronQuota:{security_group_rule:{left:e=0}={}}={}}=D.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,I.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group_rule:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e||{},i=0===r?0:1;return[j(j({},e),{},{add:i,name:"security_group_rule",title:t("Security Group Rule")})]}get defaultRules(){return{custom_tcp:{name:t("Custom TCP Rule"),ip_protocol:"tcp"},custom_udp:{name:t("Custom UDP Rule"),ip_protocol:"udp"},custom_icmp:{name:t("Custom ICMP Rule"),ip_protocol:"icmp"},all_proto:{name:t("All Proto"),ip_protocol:null},all_tcp:{name:t("All TCP"),ip_protocol:"tcp",from_port:"1",to_port:"65535"},all_udp:{name:t("All UDP"),ip_protocol:"udp",from_port:"1",to_port:"65535"},all_icmp:{name:t("All ICMP"),ip_protocol:"icmp"},custom_protocol:{name:t("Other Protocol")}}}get protocolList(){var e,t=[];return(0,v.default)(e=(0,g.default)(this.defaultRules)).call(e,(e=>{t.push({value:e,label:this.defaultRules[e].name})})),t}get ruleList(){return(0,_.default)(this.defaultRules,this.settingRules)}get defaultValue(){var e,t=this.state,{protocol:a}=t,r=(0,A.default)(t,["protocol"]),{from_port:i,to_port:n}=this.ruleList[a],{sourcePort:l=""}=this.state;i&&(l=i!==n?(0,b.default)(e="".concat(i,":")).call(e,n):i);return j(j({},r),{},{protocol:a,sourcePort:l})}get formItems(){var e,a,{protocol:r,portOrRange:i,remoteType:n,direction:l}=this.state,o="custom_protocol"===r,s="custom_icmp"===r,d=(0,p.default)(e=["custom_udp","custom_tcp"]).call(e,r),u=(0,p.default)(a=["custom_udp","custom_tcp","custom_icmp"]).call(a,r),c=d&&"range"===i,f=u&&"cidr"===n,m=u&&"sg"===n;return[{name:"protocol",label:t("Protocol"),type:"select",required:!0,options:this.protocolList},{name:"direction",label:t("Direction"),type:"select",required:!0,options:[{value:"ingress",label:t("Ingress")},{value:"egress",label:t("Egress")}],onChange:this.handleDirectionChange},{name:"ethertype",label:t("Ether Type"),type:"select",required:!0,options:[{value:"IPv4",label:t("IPv4")},{value:"IPv6",label:t("IPv6")}]},{name:"portOrRange",label:t("Port Type"),type:"select",required:d,options:[{value:"all",label:t("All Port")},{value:"range",label:t("Custom")}],hidden:!d},{name:"sourcePort",label:"egress"===l?t("Destination Port/Port Range"):t("Source Port/Port Range"),type:"port-range",required:c,hidden:!c,extra:"egress"===l&&t("Input destination port or port range (example: 80 or 80:160)")},{name:"ipProtocol",label:t("IP Protocol"),type:"select-input",options:k.ipProtocols,required:o,hidden:!o,formRef:this.formRef,help:t("Please input protocol number if it absent in select list.")},{name:"icmpType",label:t("ICMP Type"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP type(0-255)")},{name:"icmpCode",label:t("ICMP Code"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP code(0-255)")},{name:"remoteType",label:t("Remote Type"),type:"select",required:u,options:[{value:"cidr",label:t("cidr")},{value:"sg",label:t("Security Group")}],hidden:!u},{name:"remote_ip_prefix",label:t("Remote IP Prefix"),type:"input",hidden:!f,required:f,validator:f?R.cidrAllValidate:null,placeholder:t("Please input IPv4 or IPv6 cidr"),extra:t("Please input IPv4 or IPv6 cidr, (e.g. 192.168.0.0/24, 2001:DB8::/48)")},{name:"remote_group_id",label:t("Remote Security Group"),type:"select",required:m,hidden:!m,options:this.allGroups}]}}a.Create=M,(0,S.default)(M,"id","create"),(0,S.default)(M,"title",t("Create Rule")),(0,S.default)(M,"policy","create_security_group_rule"),(0,S.default)(M,"allowed",(()=>y.default.resolve(!0)));var T=(0,x.inject)("rootStore")((0,x.observer)(M));a.default=T},1645:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3975)),l=i(a(3976)),o={rowActions:{moreActions:[{action:n.default},{action:l.default}]}};t.default=o},1646:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(49)),l=i(a(58)),o=i(a(35)),s=i(a(53));class d extends s.default{constructor(){super(...arguments),(0,o.default)(this,"updateParamsSortPage",((e,t,a)=>{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")}))}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return(0,l.default)(e,["current","all_projects"])}}listFetchByClient(e,t){var{all_projects:a=!1}=t,r={headers:{"x-auth-all-projects":a}};if(!this.isSubResource)return this.client.list(e,r);var i=this.getFatherResourceId(t);return this.client.list(i,e,r)}detailFetchByClient(e,t,a){var{id:r}=e,{all_projects:i=!1}=a,n={headers:{"x-auth-all-projects":i}};if(!this.isSubResource)return this.client.show(r,t,n);var l=this.getFatherResourceId(e);return this.client.show(l,r,t,n)}getCountForPage(e,t,a,r){return(0,n.default)((function*(){var{metadata:e={}}=r,{total_count:t=0}=e||{};return{total:t,count:t}}))()}}t.default=d},1647:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(86)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=r(1404),I=f(r(1360)),A=r(565);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(!a||!a.length)return p.default.resolve();if((0,m.default)(a).call(a,(e=>!e.value||!(A.ipValidate.isIPv4(e.value)||!A.ipValidate.isIpv6(e.value)))))return p.default.reject(t("Please input a valid ip!"));var r=(0,m.default)(a).call(a,(e=>!!(0,m.default)(a).call(a,(t=>t.value===e.value&&t.index!==e.index))));return r?p.default.reject(t("The ip address {ip} is duplicated, please modify it.",{ip:r.value})):p.default.resolve()})),(0,g.default)(this,"onSubmit",(e=>{var{masters:t=[],type:a,email:r,ttl:i}=e,n=w(w({},(0,v.default)(e,["masters","type","email","ttl"])),{},{type:a,masters:(0,h.default)(t).call(t,(e=>e.value))});return"PRIMARY"===a&&(n.email=r,n.ttl=i),this.store.create(n)}))}init(){this.store=I.default}static get modalSize(){return"small"}get name(){return t("Create Zone")}static allowed(){return p.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:y.ZONE_TYPE_ENUM.primary}}get nameForStateUpdate(){return["type"]}get formItems(){var{type:e=y.ZONE_TYPE_ENUM.primary}=this.state,a=e===y.ZONE_TYPE_ENUM.primary;return[{name:"name",label:t("Name"),type:"input",required:!0,extra:y.zoneNameMessage,validator:y.validateZoneName},{name:"description",label:t("Description"),type:"textarea"},{name:"type",label:t("Type"),type:"select",options:y.zoneTypeOptions,tip:t("Primary is controlled by Designate, Secondary zones are slaved from another DNS Server.")},{name:"email",label:t("Email Address"),type:"input",required:a,hidden:!a,validator:A.emailValidate,extra:t("Email for the zone. Used in SOA records for the zone.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,required:a,hidden:!a,extra:t("TTL (Time to Live) for the zone.")},{name:"masters",label:t("Masters"),type:"add-select",isInput:!0,placeholder:t("Please input ip address"),tip:t("Mandatory for secondary zones. The servers to slave from to get DNS information."),minCount:1,hidden:a,required:!a,validator:this.validateMasters}]}}a.Create=x,(0,g.default)(x,"id","create_zone"),(0,g.default)(x,"title",t("Create Zone")),(0,g.default)(x,"policy","create_zone");var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},1648:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=f(r(1361)),I=r(1405);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{detail:t}=this.containerProps,{id:a}=t||this.item,{records:r}=e,i=(0,v.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=S({records:n},i);return this.store.create({id:a},l)}))}init(){var e,a;this.store=y.default,this.state=S(S({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE.A.nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE.A.recordsExtra)})}get name(){return t("Create Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:"A"}}get formItems(){return(0,I.getRecordSetFormItem)(this,this.currentFormValue)}}a.Create=w,(0,g.default)(w,"id","create-record-set"),(0,g.default)(w,"title",t("Create Record Set")),(0,g.default)(w,"policy","create_recordset");var x=(0,b.inject)("rootStore")((0,b.observer)(w));a.default=x},1649:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3986)),l=i(a(3987)),o=i(a(1648)),s={rowActions:{firstAction:n.default,moreActions:[{action:l.default}]},primaryActions:[o.default],batchActions:[l.default]};t.default=s},1650:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1651)),l=i(a(3992)),o=i(a(3993)),s={actionConfigs:{rowActions:{firstAction:i(a(3994)).default,moreActions:[{action:o.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=s},1651:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var p=f(r(63)),m=f(r(28)),h=f(r(29)),v=f(r(164)),g=f(r(86)),_=f(r(54)),b=f(r(49)),y=f(r(58)),I=f(r(35)),A=r(412),S=r(1241),w=f(r(1341)),x=f(r(1294)),P=f(r(575)),C=f(r(233)),E=f(r(582)),D=r(1362),k=r(1473),R=r(1258),N=r(36),j=r(571);function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t{var{ingressPolicy:t={},egressPolicy:a={},options:{admin_state_up:r=!0,shared:i=!1}={},ports:n={}}=e,l=(0,y.default)(e,["ingressPolicy","egressPolicy","options","ports"]),o=t.selectedRowKeys&&t.selectedRowKeys[0],s=a.selectedRowKeys&&a.selectedRowKeys[0],d=T({admin_state_up:r,shared:i},l);return o&&(d.ingress_firewall_policy_id=o),s&&(d.egress_firewall_policy_id=s),n.selectedRowKeys&&(d.ports=n.selectedRowKeys),this.store.create(d)}))}init(){this.store=w.default,this.policyStore=x.default,this.routerStore=P.default,this.networkStore=C.default,this.portStore=E.default,this.getNetworks(),this.getRouters(),this.getPolicies(),this.getPorts(),(0,j.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall")}get name(){return t("Create firewall")}static allowed(){return p.default.resolve(!0)}get disableSubmit(){return(0,j.checkQuotaDisable)(B,F)}get showQuota(){return!0}get quotaInfo(){return(0,j.getQuotaInfo)(this,B,F)}getNetworks(){this.networkStore.fetchList({isFirewall:!0})}getRouters(){this.routerStore.fetchList({isFirewall:!0})}getPolicies(){this.policyStore.fetchList()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,N.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,m.default)(e=(0,N.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,h.default)(r=e.ports).call(r,(e=>(0,v.default)(k.routerInterfaceOwners).call(k.routerInterfaceOwners,e.device_owner)));(0,m.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,g.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.network_name=a.network?a.network.name:"",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,g.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get policies(){var e,t;return(0,_.default)(e=(0,h.default)(t=this.policyStore.list.data||[]).call(t,(e=>e.firewalls.length<2))).call(e,(e=>T(T({},e),{},{key:e.id})))}get defaultValue(){return{options:{admin_state_up:!0}}}get instancePorts(){var e;return(0,_.default)(e=(0,N.toJS)(this.portStore.list.data||[])).call(e,(e=>T(T({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:T(T({data:this.ports},k.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:T(T({data:this.instancePorts},(0,R.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},T({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),T({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=L,(0,I.default)(L,"id","firewall-create"),(0,I.default)(L,"title",t("Create Firewall")),(0,I.default)(L,"path","/network/firewall/create"),(0,I.default)(L,"policy","create_firewall_group");var O=(0,A.inject)("rootStore")((0,A.observer)(L));a.default=O},1652:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1653)),l=i(a(3996)),o=i(a(1654)),s=i(a(3997)),d=i(a(3998)),u={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=u},1653:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(1294)),u=r(1241),c=r(1251),f=r(571),p=["firewall_policy"],m=[1];class h extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a,options:{shared:r,audited:i}={}}=e,n={name:t,shared:r,audited:i,description:a};return this.store.create(n)}))}get name(){return t("create firewall policy")}init(){this.store=d.default,(0,f.fetchNeutronQuota)(this)}static get disableSubmit(){return(0,f.checkQuotaDisable)(p,m)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,f.getQuotaInfo)(this,p,m)}get defaultValue(){return{options:{shared:!1,audited:!1}}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!(0,c.checkPolicyRule)("update_firewall_policy:shared")},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Create=h,(0,o.default)(h,"id","create-simple"),(0,o.default)(h,"title",t("Create Firewall Policy")),(0,o.default)(h,"buttonText",t("Create Policy")),(0,o.default)(h,"policy","create_firewall_policy"),(0,o.default)(h,"allowed",(()=>l.default.resolve(!0)));var v=(0,s.inject)("rootStore")((0,s.observer)(h));a.default=v},1654:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(35)),o=r(412),s=n(r(1294)),d=r(1241),u=r(1362),c=r(1251);class f extends d.ModalAction{constructor(){super(...arguments),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,options:{shared:r,audited:i}={},description:n}=e,l={name:a,audited:i,description:n};return this.canChangeShared()&&(l.shared=r),this.store.edit({id:t},l)}))}init(){this.store=s.default}get defaultValue(){var{name:e,shared:t,description:a,audited:r}=this.item;return{name:e,description:a,options:{shared:t,audited:r}}}canChangeShared(){return(0,c.checkPolicyRule)("update_firewall_policy:shared")}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=f,(0,l.default)(f,"id","edit"),(0,l.default)(f,"title",t("Edit")),(0,l.default)(f,"policy","update_firewall_policy"),(0,l.default)(f,"allowed",(e=>!(0,u.isDefault)(e)&&(0,u.isMine)(e)));var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},1655:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(35)),m=f(r(58)),h=f(r(49)),v=f(r(54)),g=f(r(203)),_=f(r(91)),b=f(r(0)),y=r(412),I=f(r(1242)),A=r(1363),S=r(1307),w=r(342),x=f(r(1656));function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends I.default{init(){this.store=new A.FirewallRuleStore}get policy(){return"get_firewall_rule"}get name(){return t("firewall rules")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?this.inDetailPage?w.emptyActionConfig:x.default.actionConfigsAdmin:this.inDetailPage?x.default.actionConfigsInDetail:x.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){var e={title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallRuleDetail")},a={title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},r={title:t("Related Policy"),dataIndex:"policies",isHideable:!0,render:e=>(0,v.default)(e).call(e,(e=>b.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id})))),stringify:e=>(0,v.default)(e).call(e,(e=>e.name)).join(",")};return[e,a,...(0,g.default)(S.tableColumns).call(S.tableColumns,1,2),r,...(0,g.default)(S.tableColumns).call(S.tableColumns,2,S.tableColumns.length)]}get searchFilters(){return S.tableFilter}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]),{detail:{firewall_rules:n=[]}={},match:l}=t.props,{path:f}=l,v=function(e){for(var t=1;t=0?(v.firewall_rules=n,yield t.store.fetchListByPolicy(v)):yield t.store.fetchList(v),t.list.silent=!1})))}))()}}a.Rule=C;var E=(0,y.inject)("rootStore")((0,y.observer)(C));a.default=E},1656:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1474)),l=i(a(1657)),o=i(a(3999)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsInDetail:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[],primaryActions:[]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=s},1657:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditForm=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1307),u=n(r(1474));class c extends u.default{get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get name(){return t("Edit rule")}static allowed(e){return l.default.resolve((0,d.isMine)(e))}}a.EditForm=c,(0,o.default)(c,"id","rule-edit"),(0,o.default)(c,"title",t("Edit Rule")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"path",(e=>"/network/firewall-rule/edit/".concat(e.id))),(0,o.default)(c,"policy","update_firewall_rule");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},1658:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(4008)),l=i(a(4009)),o=i(a(4010)),s={rowActions:{firstAction:l.default,moreActions:[{action:n.default}]},batchActions:[n.default],primaryActions:[o.default]};t.default=s},3829:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(416)),l=i(a(3830)),o=e=>(0,n.default)(l.default,e);t.default=o},3830:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1263)),l=i(a(579)),o=i(a(3831)),s=i(a(1625)),d=i(a(3834)),u=i(a(3839)),c=i(a(3841)),f=i(a(1466)),p=i(a(3850)),m=i(a(3856)),h=i(a(3864)),v=i(a(1634)),g=i(a(1395)),_=i(a(3872)),b=i(a(3887)),y=i(a(1635)),I=i(a(3899)),A=i(a(3901)),S=i(a(1639)),w=i(a(3911)),x=i(a(3920)),P=i(a(3928)),C=i(a(3954)),E=i(a(3956)),D=i(a(3960)),k=i(a(3964)),R=i(a(3970)),N=i(a(3972)),j=i(a(3974)),M=i(a(3977)),T=i(a(3979)),B=i(a(3983)),F=i(a(3988)),L=i(a(3990)),O=i(a(4e3)),Q=i(a(4003)),q=i(a(4004)),V=i(a(1474)),H=i(a(1657)),U=i(a(4005)),K=i(a(1653)),G=i(a(1654)),z=i(a(1651)),J=i(a(4007)),W=i(a(4011)),Z="/network",X=[{path:Z,component:n.default,routes:[{path:"".concat(Z,"/networks"),component:o.default,exact:!0},{path:"".concat(Z,"/networks-admin"),component:s.default,exact:!0},{path:"".concat(Z,"/networks/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance-admin/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/router"),component:c.default,exact:!0},{path:"".concat(Z,"/router-admin"),component:c.default,exact:!0},{path:"".concat(Z,"/router/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router-admin/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/router-admin/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/floatingip"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip-admin"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/floatingip-admin/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/port"),component:g.default,exact:!0},{path:"".concat(Z,"/port-admin"),component:g.default,exact:!0},{path:"".concat(Z,"/port/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/port-admin/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/qos-policy"),component:b.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin"),component:y.default,exact:!0},{path:"".concat(Z,"/qos-policy/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/topo"),component:m.default,exact:!0},{path:"".concat(Z,"/load-balancers"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers/create"),component:S.default,exact:!0},{path:"".concat(Z,"/load-balancers/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/certificate"),component:k.default,exact:!0},{path:"".concat(Z,"/certificate-container/detail/:id"),component:R.default,exact:!0},{path:"".concat(Z,"/certificate-secret/detail/:id"),component:N.default,exact:!0},{path:"".concat(Z,"/vpn"),component:P.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection-admin/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/vpn-admin"),component:P.default,exact:!0},{path:"".concat(Z,"/security-group"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group-admin"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/security-group-admin/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/dns/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns/reverse"),component:j.default,exact:!0},{path:"".concat(Z,"/dns/reverse/detail/:id"),component:M.default,exact:!0},{path:"".concat(Z,"/firewall"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-admin/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-policy/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-policy-admin/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-rule/create"),component:V.default,exact:!0},{path:"".concat(Z,"/firewall-rule/edit/:id"),component:H.default,exact:!0},{path:"".concat(Z,"/firewall-rule/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall-rule-admin/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall/create"),component:z.default,exact:!0},{path:"".concat(Z,"/firewall-policy/add"),component:K.default,exact:!0},{path:"".concat(Z,"/firewall-policy/edit/:id"),component:G.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin"),component:J.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin/detail/:id"),component:W.default,exact:!0},{path:"*",component:l.default}]}];t.default=X},3831:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Network=void 0;var l=r(412),o=n(r(1282)),s=n(r(1625));class d extends o.default{get tabs(){var e=[{title:t("Current Project Networks"),key:"projectNetwork",component:s.default},{title:t("Shared Networks"),key:"sharedNetwork",component:s.default},{title:t("External Networks"),key:"externalNetwork",component:s.default}];return this.hasAdminRole&&e.push({title:t("All Networks"),key:"allNetwork",component:s.default}),e}}a.Network=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3832:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(233)),d=r(1251),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_network"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Network")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete network")}isCurrentProject(e){var t=u.default;return!(!(0,d.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3833:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(233)),b=r(1251),y=f(r(133)),I=r(163);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{name:a,description:r,port_security_enabled:i}=e,n=(0,m.default)(e,["name","description","port_security_enabled"]),l={name:a,description:r,port_security_enabled:i};return this.isSystemAdmin&&(l.shared=n.shared),this.isAdminPage&&(l["router:external"]=n["router:external"]),_.default.edit({id:t},l)}))}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t{var t=y.default;return(0,b.checkSystemAdmin)()||e.project_id===t.user.project.id?p.default.resolve(!0):p.default.resolve(!1)}));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3834:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkDetail=void 0;var p=f(r(573)),m=f(r(35)),h=r(412),v=f(r(1243)),g=r(233),_=r(571),b=f(r(1395)),y=f(r(3835)),I=f(r(3838)),A=f(r(1626));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(this.store.fetchDetail){var t=w(w(w({},this.params),e||{}),{},{all_projects:this.isAdminPage});this.store.fetchDetailWithAvailabilityAndUsage(w(w({},t),{},{isAdminPage:this.isAdminPage,canAddNetworkIPUsageInfo:this.canAddNetworkIPUsageInfo})).catch(this.catch)}}))}get name(){return t("network")}get policy(){return"get_network"}get listUrl(){return this.getRoutePath("network")}get actionConfigs(){return A.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get detailInfos(){var e=[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:_.networkStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&((0,p.default)(e).call(e,2,0,{title:t("Project Name"),dataIndex:"projectName"}),(0,p.default)(e).call(e,7,0,{title:t("DHCP Agents"),dataIndex:"dhcp_agents"})),this.canAddNetworkIPUsageInfo&&(0,p.default)(e).call(e,4,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:I.default},{title:t("Subnets"),key:"subnets",component:y.default},{title:t("Ports"),key:"ports",component:b.default}]}init(){this.store=new g.NetworkStore}}a.NetworkDetail=x;var P=(0,h.inject)("rootStore")((0,h.observer)(x));a.default=P},3835:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Subnets=void 0;var l=n(r(573)),o=n(r(35)),s=n(r(0)),d=r(412),u=n(r(1242)),c=r(417),f=n(r(1630));class p extends u.default{constructor(){super(...arguments),(0,o.default)(this,"updateFetchParams",(()=>({network_id:this.id,network:this.props.detail,all_projects:this.isAdminPage}))),(0,o.default)(this,"getColumns",(()=>{var e=[{title:t("Subnet ID/Name"),dataIndex:"name",routeName:this.getRouteName("subnetDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})},{title:t("CIDR"),dataIndex:"cidr",isHideable:!0},{title:t("Gateway IP"),dataIndex:"gateway_ip",isHideable:!0},{title:t("IP Version"),dataIndex:"ip_version",isHideable:!0},{title:t("Port Count"),dataIndex:"subnetPorts",isHideable:!0,stringify:e=>(e||[]).length,render:(e,t)=>{var a=(e||[]).length;if(!a)return"-";var r=this.getLinkRender("subnetDetail",a,{id:t.id,networkId:t.network_id},{tab:"ports"});return s.default.createElement(s.default.Fragment,null,r)}},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}];return this.canAddNetworkIPUsageInfo&&(0,l.default)(e).call(e,5,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips",titleTip:this.isAdminPage?"":t("Number of IPs used by all projects")}),e}))}init(){this.store=new c.SubnetStore}get policy(){return"get_subnet"}get name(){return t("subnets")}get id(){return this.params.id}get actionConfigs(){return f.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Subnets=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3836:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(133)),d=n(r(417));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_subnet"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Subnet")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete subnet")}isOwnerOrAdmin(e){var{tenant_id:t}=e;return this.isAdminPage||t===s.default.projectId}}a.default=u},3837:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditSubnet=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=r(565),b=f(r(417)),y=f(r(133)),I=f(r(621));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{gateway_ip:t,allocation_pools:a,host_routes:r,dns:i,disable_gateway:n}=e,l=(0,m.default)(e,["gateway_ip","allocation_pools","host_routes","dns","disable_gateway"]),o=k(a),s=R(r),d=T(i),u=S(S({},l),{},{network_id:this.subnet.network_id,allocation_pools:o,host_routes:s,dns_nameservers:d});return n?u.gateway_ip=null:t&&t!==this.item.gateway_ip&&(u.gateway_ip=t),b.default.update(this.subnet,u)}))}get name(){return t("Edit Subnet")}get subnet(){return this.props.item}get defaultValue(){return S(S({},this.subnet),{},{subnet_name:this.subnet.name,allocation_pools:N(this.subnet.allocation_pools),host_routes:M(this.subnet.host_routes),dns:j(this.subnet.dns_nameservers),disable_gateway:!this.subnet.gateway_ip,gateway_ip:this.subnet.gateway_ip,more:!1})}get formItems(){var{more:e,disable_gateway:a=!this.item.gateway_ip}=this.state;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0},{name:"cidr",label:t("CIDR"),type:"input",placeholder:"192.168.0.0/24",disabled:!0,required:!0,validator:(e,a)=>(4===this.subnet.ip_version?B(a):F(a))?p.default.resolve(!0):p.default.reject(new Error(t("Invalid CIDR."))),tip:t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e},(()=>{this.formRef.current.validateFields(["gateway_ip"])}))},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ip-input",version:this.subnet.ip_version,required:!a,tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!a)},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. 192.168.1.2,192.168.1.200)"),hidden:!e,validator:4===this.subnet.ip_version?w:x},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. 114.114.114.114)"),hidden:!e,validator:4===this.subnet.ip_version?P:C},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. 192.168.200.0/24,10.56.1.254)"),hidden:!e,validator:4===this.subnet.ip_version?E:D},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.EditSubnet=L,(0,h.default)(L,"id","edit-subnet"),(0,h.default)(L,"title",t("Edit Subnet")),(0,h.default)(L,"buttonText",t("Edit")),(0,h.default)(L,"policy","update_subnet"),(0,h.default)(L,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t||{},{tenant_id:r}=e,i=a||r===y.default.projectId;return p.default.resolve(i)}));var O=(0,v.inject)("rootStore")((0,v.observer)(L));a.default=O},3838:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(66);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,s.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Availability Zone"),dataIndex:"availability_zones"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints"},{label:t("MTU"),dataIndex:"mtu"},{label:t("Router External"),dataIndex:"router:external",valueRender:"yesNo"},{label:t("Provider Network Type"),dataIndex:"provider:network_type"},{label:t("Provider Physical Network"),dataIndex:"provider:physical_network",render:e=>e||"-"},{label:t("Segmentation ID"),dataIndex:"provider:segmentation_id"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",render:e=>e||"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3839:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SubnetDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(417),g=f(r(1395)),_=f(r(3840)),b=f(r(1630));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;tI(I({},e),{},{inDetail:!0,canAddNetworkIPUsageInfo:this.store.hasAdminRole})))}get name(){return t("subnet")}get policy(){return"get_subnet"}get listUrl(){var{networkId:e}=this.params;return this.getRoutePath("networkDetail",{id:e},{tab:"subnets"})}get actionConfigs(){return b.default}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("CIDR"),dataIndex:"cidr"},{title:t("IP Version"),dataIndex:"ip_version"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:_.default},{title:t("Ports"),key:"ports",component:g.default}]}init(){this.store=new v.SubnetStore}}a.SubnetDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3840:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(0)),d=r(412),u=n(r(1249));class c extends u.default{get leftCards(){var e=[this.networkCard,this.baseInfoCard];return this.canAddNetworkIPUsageInfo&&e.push(this.ipUsageCard),e}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get networkCard(){var e=[{label:t("Network Name"),dataIndex:"network.name"},{label:t("Network ID"),dataIndex:"network.id",render:e=>this.getLinkRender("networkDetail",e,{id:e})}];return{title:t("Network Info"),options:e}}get baseInfoCard(){var e=[{label:t("Gateway IP"),dataIndex:"gateway_ip"},{label:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t,a=(0,l.default)(t=e||[]).call(t,(e=>{var t,{start:a,end:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,"-")).call(t,r)},a," - ",r)}));return s.default.createElement(s.default.Fragment,null,a)}},{label:t("Enable DHCP"),dataIndex:"enable_dhcp",valueRender:"yesNo"},{label:t("Host Routes"),dataIndex:"host_routes",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>{var t,{destination:a,nexthop:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,",")).call(t,r)},a,",",r)}));return s.default.createElement(s.default.Fragment,null,t)}},{label:t("DNS Nameservers"),dataIndex:"dns_nameservers",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>s.default.createElement("div",{key:e},e)));return s.default.createElement(s.default.Fragment,null,t)}}];return{title:t("Base Info"),options:e}}get ipUsageCard(){if(!this.canAddNetworkIPUsageInfo)return null;var e=[{label:t("Total IPs"),dataIndex:"total_ips"},{label:t("Used IPs"),dataIndex:"used_ips"}];return{title:t("IP Usage"),options:e}}}a.BaseDetail=c;var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3841:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Routes=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=r(1267),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(575)),p=o(r(1631));function m(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(m=function(e){return e?a:t})(e)}class h extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>(0,c.getRouterColumns)(this)))}init(){this.store=this.inDetailPage?new f.RouterStore:f.default,this.downloadStore=new f.RouterStore}get policy(){return"get_router"}get name(){return t("routers")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"status"}get searchFilters(){return c.routerFilters}}a.Routes=h;var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3842:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(232)),s=n(r(91)),d=n(r(49)),u=n(r(35)),c=n(r(92)),f=r(1241),p=n(r(575));class m extends f.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_router"),(0,u.default)(this,"submitErrorMsg",(e=>{var a=this.getName(e);return this.connectSubnets?t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.actionName||this.title,name:a,reason:t("the router has connected subnet")}):t("Unable to {action}, instance: {name}.",{action:this.actionName||this.title,name:a})})),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.notExternalGateway(e))),(0,u.default)(this,"performErrorMsg",(e=>{var a=(0,c.default)(e)?e[0]:e,{name:r}=a,i=t('You are not allowed to delete router "{ name }".',{name:r});return this.notExternalGateway(a)||(i=t('Unable to delete router "{ name }". External gateway is opened, please clear external gateway first.',{name:r})),i})),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a,r,i){if(i)return p.default.delete(a);var n=yield p.default.fetchConnectedSubnets(e.item);return n.connectSubnets.length?(e.connectSubnets=n.connectSubnets,e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:e.item.name,reason:t("the router has connected subnet")}),l.default.reject()):(e.showConfirmErrorBeforeSubmit=!1,p.default.delete(a))}));return function(e,t,r){return a.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Router")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete router")}notAssociatedNet(e){if(!e.ports||0===e.ports.length)return!0;var t,a=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];return!(e.ports.length>0)||!(0,o.default)(t=e.ports).call(t,(e=>(0,s.default)(a).call(a,e.device_owner)>-1))}notExternalGateway(e){return!e.hasExternalGateway}}a.default=m},3843:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(575)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return d.default.edit({id:t},e)}))}init(){this.store=d.default}get defaultValue(){var{item:e}=this.props;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name"),withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-router"),(0,o.default)(c,"title",t("Edit Router")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(e=>l.default.resolve("Default Router"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3844:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_router"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.hasGateway(e))),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.edit({id:t},{external_gateway_info:null})}))}get id(){return"clear-gateway"}get title(){return t("Close External Gateway")}get buttonText(){return t("Close External Gateway")}get actionName(){return t("Close external gateway")}hasGateway(e){return e.hasExternalGateway}}a.default=d},3845:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SetGateway=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(575)),g=r(233),_=r(1241),b=r(571);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{externalNetwork:t}=e,{id:a}=this.item,r={external_gateway_info:{network_id:t.selectedRowKeys[0]}};return this.store.edit({id:a},r)}))}init(){this.store=v.default,this.networkStore=new g.NetworkStore}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("open external gateway")}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"router"},I({name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:b.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",sorter:!1}]},b.networkSortProps)]}}a.SetGateway=A,(0,m.default)(A,"id","set-gateway"),(0,m.default)(A,"title",t("Open External Gateway")),(0,m.default)(A,"policy","update_router"),(0,m.default)(A,"allowed",(e=>p.default.resolve(!e.external_gateway_info)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3846:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ConnectSubnet=void 0;var l=n(r(91)),o=n(r(28)),s=n(r(77)),d=n(r(63)),u=n(r(35)),c=r(412),f=r(36),p=r(575),m=n(r(417)),h=r(582),v=r(1241);class g extends v.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"getSubnets",(()=>{var{networkId:e}=this.state;e&&this.subnetStore.fetchList({network_id:e})})),(0,u.default)(this,"onNetworkChange",(e=>{var{selectedRowKeys:t=[]}=e;this.setState({networkId:t[0]},(()=>{this.getSubnets()}))})),(0,u.default)(this,"disabledFuncSubnet",(e=>{var t,{allocation_pools:a=[]}=e;return 0===a.length||(0,l.default)(t=this.excludeSubnetIds).call(t,e.id)>=0})),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0],{networkId:i}=this.state;return this.store.connectSubnet({id:t,subnetId:r,networkId:i})}))}init(){this.store=new p.RouterStore,this.subnetStore=m.default,this.portStore=new h.PortStore,this.getPortList()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("connect subnet")}get subnets(){var{networkId:e}=this.state;return e?(0,f.toJS)(this.subnetStore.list.data||[]):[]}getPortList(){var{id:e}=this.item;this.portStore.fetchList({device_id:e})}get excludeSubnetIds(){var e,t=[];return(0,o.default)(e=(0,f.toJS)(this.portStore.list.data||[])).call(e,(e=>{var a;(0,o.default)(a=e.fixed_ips).call(a,(e=>{t.push(e.subnet_id)}))})),t}get formItems(){var{networkId:e}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"network",label:t("Network"),type:"network-select-table",required:!0,onChange:this.onNetworkChange},{name:"subnet",label:t("Subnet"),type:"select-table",data:this.subnets,isLoading:e&&this.subnetStore.list.isLoading,disabledFunc:this.disabledFuncSubnet,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,s.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.ConnectSubnet=g,(0,u.default)(g,"id","connect-subnet"),(0,u.default)(g,"title",t("Connect Subnet")),(0,u.default)(g,"policy","add_router_interface"),(0,u.default)(g,"allowed",(()=>d.default.resolve(!0)));var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3847:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.DisconnectSubnet=void 0;var l=n(r(28)),o=n(r(91)),s=n(r(63)),d=n(r(54)),u=n(r(350)),c=n(r(591)),f=n(r(86)),p=n(r(77)),m=n(r(49)),h=n(r(35)),v=r(412),g=r(36),_=r(575),b=n(r(233)),y=n(r(417)),I=r(582),A=r(1241);class S extends A.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0];return this.store.disconnectSubnet({id:t,subnetId:r})}))}init(){this.store=new _.RouterStore,this.networkStore=b.default,this.subnetStore=y.default,this.portStore=new I.PortStore,this.getSubnetList(),this.state.subnetLoading=!0}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("disconnect subnet")}getSubnetList(){var e=this;return(0,m.default)((function*(){var t,a,r,{id:i}=e.item;yield e.portStore.fetchList({device_id:i});var n=[],p=[],m=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];(0,l.default)(t=(0,g.toJS)(e.portStore.list.data||[])).call(t,(e=>{var t;(0,o.default)(m).call(m,e.device_owner)>-1&&(p.push(e.network_id),(0,l.default)(t=e.fixed_ips).call(t,(e=>{n.push(e.subnet_id)})))}));var h=yield s.default.all((0,d.default)(a=(0,u.default)(new c.default(n))).call(a,(t=>e.subnetStore.fetchDetail({id:t})))),v=yield s.default.all((0,d.default)(r=(0,u.default)(new c.default(p))).call(r,(t=>e.networkStore.fetchDetail({id:t}))));(0,l.default)(h).call(h,(e=>{var t=(0,f.default)(v).call(v,(t=>t.id===e.network_id));e.network=t})),e.setState({subnets:(0,d.default)(h).call(h,(e=>(0,g.toJS)(e))),subnetLoading:!1})}))()}get formItems(){var{subnets:e=[],subnetLoading:a}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"subnet",label:t("Subnet"),type:"select-table",data:e,isLoading:a,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Network"),dataIndex:"network",render:e=>e&&e.name||"-"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,p.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.DisconnectSubnet=S,(0,h.default)(S,"id","disconnect-subnet"),(0,h.default)(S,"title",t("Disconnect Subnet")),(0,h.default)(S,"policy","remove_router_interface"),(0,h.default)(S,"allowed",(()=>s.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3848:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>(null==e?void 0:e.external_gateway_info)&&!e.external_gateway_info.enable_snat)),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!0}};return s.default.edit({id:t},r)}))}get id(){return"enable-snat"}get title(){return t("Enable SNAT")}get actionName(){return t("Enable SNAT")}}a.default=d},3849:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>{var t;return null==e||null===(t=e.external_gateway_info)||void 0===t?void 0:t.enable_snat})),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!1}};return s.default.edit({id:t},r)}))}get id(){return"disable-snat"}get title(){return t("Disable SNAT")}get actionName(){return t("Disable SNAT")}}a.default=d},3850:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FloatingIpDetail=void 0;var l=n(r(1314)),o=r(412),s=n(r(1243)),d=r(1273),u=r(346),c=r(1393),f=n(r(1605)),p=n(r(3851)),m=n(r(3852));class h extends s.default{get name(){return t("floating ip")}get policy(){return"get_floatingip"}get listUrl(){return this.getRoutePath("fip")}get actionConfigs(){return this.isAdminPage?f.default.adminConfigs:f.default.actionConfigs}get detailInfos(){return[{title:t("Floating IP"),dataIndex:"floating_ip_address"},{title:t("Status"),dataIndex:"status",valueMap:d.floatingIpStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:p.default}];return(0,c.enablePFW)()&&(0,l.default)(this.detailData.fixed_ip_address)&&e.push({title:t("Port Forwardings"),key:"port_forwarding",component:m.default}),e}init(){this.store=new u.FloatingIpStore}}a.FloatingIpDetail=h;var v=(0,o.inject)("rootStore")((0,o.observer)(h));a.default=v},3851:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(77)),m=f(r(35)),h=r(412),v=r(346),g=f(r(1249));function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{router_id:e}=this.props.detail;e&&this.store.getAddInfo({router_id:e}).catch(this.catch)}))}init(){this.store=new v.FloatingIpStore}get isLoading(){var{router_id:e}=this.props.detail;return!!e&&this.store.isLoading}get detailData(){return b(b({},this.props.detail),{},{router_name:this.store.addInfo.name,network_name:this.store.addInfo.externalNetworkName})}get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Fixed IP"),dataIndex:"fixed_ip_address"},{label:t("Network Line"),dataIndex:"network_name"},{label:t("Router"),dataIndex:"router_id",render:(e,t)=>{if(e){var a,{router_name:r,network_name:i}=t;if("-"===r&&"-"===i)return e;var n=r?(0,p.default)(a="".concat(e," (")).call(a,r,")"):e;return this.getLinkRender("routerDetail",n,{id:e})}return"-"}}];return{title:t("Base Info"),options:e}}}a.BaseDetail=y;var I=(0,h.inject)("rootStore")((0,h.observer)(y));a.default=I},3852:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.PortForwarding=void 0;var p=f(r(164)),m=f(r(58)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(615),b=r(163),y=r(1273),I=f(r(3853));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.default{constructor(){super(...arguments),(0,h.default)(this,"updateFetchParams",(e=>{var{id:t,all_projects:a}=e,r=(0,m.default)(e,["id","all_projects"]);return function(e){for(var t=1;t[{title:t("ID"),dataIndex:"id"},{title:t("External Port/Port Range"),dataIndex:"external_port",splitColumnForDownload:!1,render:(e,t)=>e||t.external_port_range},{title:t("Internal Ip Address"),dataIndex:"internal_ip_address",isHideable:!0},{title:t("Internal Port/Port Range"),dataIndex:"internal_port",splitColumnForDownload:!1,isHideable:!0,render:(e,t)=>e||t.internal_port_range},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,valueMap:y.portForwardingProtocols},{title:t("Description"),dataIndex:"description",isHideable:!0}]))}init(){this.store=new _.PortForwardingStore}get policy(){return"get_floatingip_port_forwarding"}get name(){return t("port forwardings")}get isFilterByBackend(){return!1}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return[{label:t("Protocol"),name:"protocol",options:(0,b.getOptions)(y.portForwardingProtocols)},{label:t("External Port/Port Range"),name:"external_port",filterFunc:(e,t,a)=>{var r,i,{external_port:n,external_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Internal Ip Address"),name:"internal_ip_address",filterFunc:(e,t)=>(0,p.default)(e).call(e,t)},{label:t("Internal Port/Port Range"),name:"internal_port",filterFunc:(e,t,a)=>{var r,i,{internal_port:n,internal_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Description"),name:"description"}]}}a.PortForwarding=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3853:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1467)),l=i(a(3854)),o=i(a(3855)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default},batchActions:[],primaryActions:[]}};t.default=s},3854:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(29)),m=f(r(54)),h=f(r(164)),v=f(r(86)),g=f(r(431)),_=f(r(58)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(615)),S=f(r(572)),w=r(1267),x=r(1273),P=r(1258),C=r(1467);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tA.default.edit({fipId:this.fipId,id:this.item.id},e))),(0,y.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:i,internal_port:n,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[d,u]=this.getRangeFromString(s);return a>=d&&a<=u&&e.protocol===r}var c="external"===t?i:n;return this.item.id!==e.id&&a===c&&e.protocol===r})),(0,y.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,i=a.virtual_adapter.selectedRows[0].id;return this.item.id!==t.id&&t.internal_port_id===i&&t.internal_ip_address===r}))}get name(){return t("Edit Port Forwarding")}get instanceName(){var{floating_ip_address:e}=this.item;return(0,x.getPortForwardingName)(this.item,e)}get tips(){return""}get fipId(){return this.item.fip.id}getExtraInfo(){w.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:{fip:t}}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})).then((()=>{this.getInitialPortFixedIPs()}))}getInitialPortFixedIPs(){var e=this;return(0,b.default)((function*(){e.setState({fixedIpLoading:!0});var{internal_port_id:t,internal_ip_address:a}=e.item,r=yield S.default.fetchDetail({id:t});return e.handlePortSelect({selectedRows:[r]}).then((t=>{var i=(0,p.default)(t).call(t,(e=>e.fixed_ip_address===a)),n={selectedRowKeys:(0,m.default)(i).call(i,(e=>e.id)),selectedRows:i};return e.updateFormValue("virtual_adapter",{selectedRowKeys:[r.id],selectedRows:[r]}),n})).then((t=>{e.setState({fixed_ip_address:t})}))}))()}get defaultValue(){var e=this.item,{floating_ip_address:t,fip:a,internal_port_id:r,internal_ip_address:i}=e;return D({floatingIp:t,virtual_adapter:{selectedRowKeys:[r]},fixed_ip_address:{selectedRowKeys:[i],selectedRows:[{fixed_ip_address:i}]}},(0,_.default)(e,["floating_ip_address","fip","internal_port_id","internal_ip_address"]))}getSubmitData(e){var t,a,{floatingIp:r,virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:n=[]}={},external_port:l,internal_port:o}=e,s=D({},(0,_.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,h.default)(t=l.toString()).call(t,":")?s.external_port_range=l:s.external_port=l,(0,h.default)(a=o.toString()).call(a,":")?s.internal_port_range=o:s.internal_port=o,s.internal_ip_address=n[0].fixed_ip_address,s.internal_port_id=i[0].id,s}get formItems(){var e=super.formItems;if(this.supportRange)return e;var a=(0,v.default)(e).call(e,(e=>"external_port"===e.name)),r=(0,v.default)(e).call(e,(e=>"internal_port"===e.name));a.label=t("External Port"),r.label=t("Internal Port");var i={type:"input-int",min:1,max:65535,extra:t("Enter an integer value between 1 and 65535."),hasRequiredCheck:!0};return(0,g.default)(a,i,{placeholder:t("Please input {label}",{label:a.label})}),(0,g.default)(r,i,{placeholder:t("Please input {label}",{label:r.label})}),e}}a.Edit=k,(0,y.default)(k,"id","edit"),(0,y.default)(k,"title",t("Edit")),(0,y.default)(k,"policy","update_floatingip_port_forwarding"),(0,y.default)(k,"allowed",(()=>!0));var R=(0,I.inject)("rootStore")((0,I.observer)(k));a.default=R},3855:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(615)),d=r(1273);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_floatingip_port_forwarding"),(0,l.default)(this,"getItemName",(e=>(0,d.getPortForwardingName)(e,e.floating_ip_address))),(0,l.default)(this,"onSubmit",(e=>{var{fip:t,id:a}=e,r=t.id;return s.default.delete({floatingipId:r,id:a})}))}get id(){return"delete"}get title(){return t("Delete Port Forwarding")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete port forwarding")}}a.default=u},3856:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Topology=a.errorStrokeColor=a.errorShadowColor=a.activeShadowColor=void 0;var p=f(r(164)),m=f(r(28)),h=f(r(422)),v=f(r(91)),g=f(r(54)),_=f(r(77)),b=f(r(29)),y=f(r(345));r(347);var I=f(r(348));r(1280);var A=f(r(1281));r(583);var S=f(r(420));r(231);var w=f(r(341)),x=f(r(1583)),P=f(r(49)),C=f(r(35)),E=f(r(0)),D=(r(161),f(r(3857))),k=f(r(3858)),R=(r(564),r(412)),N=f(r(233)),j=r(3859),M=f(r(1388)),T=r(565),B=r(36),F=r(571),L=f(r(1471)),O=f(r(1632)),Q=f(r(1627)),q=f(r(1304)),V=f(r(3861)),H=f(r(1633));function U(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{G.on("node:mouseenter",(e=>{var t,{item:a}=e,{nodeType:r}=a._cfg.model;if((0,p.default)(t=["router","ins","lb"]).call(t,r)){var i,n=G.findAllByState("node","hover");(0,m.default)(n).call(n,(e=>{G.setItemState(e,"hover",!1)})),G.setItemState(a,"hover",!0);var l=G.findAllByState("edge","hover");(0,m.default)(l).call(l,(e=>{G.setItemState(e,"hover",!1),G.updateItem(e,{style:{stroke:e._cfg.target._cfg.model.style.stroke}})}));var o=a._cfg.model.style.stroke;(0,m.default)(i=a._cfg.edges).call(i,(e=>{G.setItemState(e,"hover",!0),G.updateItem(e,{style:{stroke:o}})}))}}))})),(0,C.default)(this,"updateGraph",(()=>{G&&(G.clear(),G.destroy(),G=null),this.setState({firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,withoutServerData:null,allData:null,showAll:!0}),this.initTopo()})),(0,C.default)(this,"renderRouterNode",((e,t)=>{var{routers:a}=this.topoInfo,r=[];if((0,m.default)(a).call(a,((a,i)=>{var{id:n,external_gateway_info:l,subnets:o,name:s}=a,d=(0,h.default)((t/10*i+t/20*3).toFixed(0));if(r.push({nodeCardX:d,nodeCardY:190}),e.nodes.push({id:n,x:d,y:190,type:"rect",nodeType:"router",infoIndex:i,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"ACTIVE"===a.status?globalCSS.successColor:Z,shadowColor:"ACTIVE"===a.status?J:W,shadowBlur:"ACTIVE"===a.status?5:4},anchorPoints:[[.5,0]]}),null!==l&&e.edges.push({id:"edge-".concat(s,"-ext"),target:"extNet",targetAnchor:1,source:n,sourceAnchor:0,type:"arrowLine",style:{stroke:j.subnetsColors[0][0]}}),0!==o.length){var u=0;(0,m.default)(o).call(o,(t=>{var a,r,i=(0,v.default)(a=(0,g.default)(r=e.subnetNodes).call(r,(e=>e.id))).call(a,t);if(-1!==i){var l,{style:{stroke:o}}=e.subnetNodes[i];u+=1,e.edges.push({id:(0,_.default)(l="edge-".concat(s,"-")).call(l,t),target:t,targetAnchor:0,source:n,sourceAnchor:u,type:"arrowLine",style:{stroke:o}})}})),e.nodes[e.nodes.length-1].anchorPoints=this.getAnchorPoints(1,u)}})),r[0]){var i=r[r.length-1].nodeCardX,{extendWidth:n}=this.state;if(i>=t-5){var l=Math.ceil((i-(t-5))/(t/10));this.setState({extendWidth:n+l*(t/10)})}this.setState({nodeCard:r})}})),(0,C.default)(this,"renderNetworkNode",((e,t)=>{var{subnets:a,networks:r}=this.topoInfo,{extendWidth:i}=this.state;e.subnetNodes=[],(0,m.default)(r).call(r,(r=>{if(!(0,F.isExternalNetwork)(r)){var n,l=[],{firstSubnetY:o}=this.state;(0,m.default)(n=r.subnets).call(n,(e=>{(0,m.default)(a).call(a,(t=>{t.id===e&&l.push(t)}))}));var s=o+32*l.length+60;(0,m.default)(l).call(l,((a,n)=>{var l=j.subnetsColors[0],d=l[n%l.length];e.subnetNodes.push({id:a.id,label:a.name,labelCfg:{position:"right",offset:-t/2,style:{fill:"#000000"}},type:"rect",x:t/2,y:o+32*n,cardY:s,anchorPoints:[[.5,0],[.5,1]],comboId:r.id,style:{radius:4,fill:d,stroke:d,width:t+i-50,height:20},pools:a.allocation_pools,networkId:a.network_id})})),0!==l.length&&(this.setState({firstSubnetY:e.subnetNodes[e.subnetNodes.length-1].y+200}),e.combos.push({id:r.id,label:r.name,type:"rect",size:[t-40,30],style:{fill:j.combosBackground[0],stroke:j.combosColors[0],radius:4},labelCfg:{refY:1,position:"top",style:{fontSize:12}}}))}}))})),(0,C.default)(this,"renderInstanceNode",((e,a)=>{var{servers:r,subnets:i,extNetwork:n}=this.topoInfo,l=[];(0,m.default)(r).call(r,((r,o)=>{var s,{fixed_addresses:d,fixed_networks:u}=r,c=(0,h.default)((a/10*2).toFixed(0)),f=null,p=0,g=[];(0,m.default)(n).call(n,(e=>g.push(...(0,B.toJS)(e.subnets))));var y=(0,b.default)(i).call(i,(e=>-1!==(0,v.default)(g).call(g,e.id)));if(!d[0]){var{insCard:I}=this.state;f=e.subnetNodes[0].cardY,(0,m.default)(I).call(I,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),Math.round(c)>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+(0,h.default)((a/10).toFixed(0))})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}var A=0;(0,m.default)(d).call(d,(i=>{var n,s=null,d=0;if((0,m.default)(y).call(y,(e=>{var t;(0,m.default)(t=e.allocation_pools).call(t,(e=>{z(i,e.start,e.end)&&(s="extNet",d=0)}))})),(0,m.default)(n=e.subnetNodes).call(n,((e,t)=>{var a;-1!==(0,v.default)(u).call(u,e.networkId)&&(0,m.default)(a=e.pools).call(a,(a=>{z(i,a.start,a.end)&&(s=e.id,d=t)}))})),e.nodes[e.nodes.length-1].id!==r.id&&s){var{insCard:g}=this.state;f=e.subnetNodes[d].cardY,(0,m.default)(g).call(g,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),c>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+a/10})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}s&&function(){var n,{style:{stroke:o}}=e.subnetNodes[d],u=e.subnetNodes[d].y;ue.source!==r.id&&e.linePath&&e.linePath.source_x===c&&e.topAnchorNum===p&&(e.linePath.source_y>=f&&e.linePath.target_y<=u||e.linePath.source_y<=f&&e.linePath.target_y>=u))),I=(0,b.default)(g=e.nodes).call(g,(e=>e.x===c&&e.y===f&&e.id!==r.id));if(0===y.length&&0===I.length)break;c+=(0,h.default)((a/10).toFixed(0)),e.nodes[e.nodes.length-1].x=c,l[l.length-1]=[c,f],Math.round(c)>=a+t.state.extendWidth&&t.setState((e=>({extendWidth:e.extendWidth+a/10})))}e.edges.push({id:(0,_.default)(n="edge-".concat(r.id,"-")).call(n,i),target:s,targetAnchor:u>f?0:1,source:r.id,sourceAnchor:A,type:"arrowLine",topAnchorNum:p,style:{stroke:o},linePath:{source_x:c,source_y:f,target_y:u}}),A+=1}()}));var S=this.getAnchorPoints(p,A-p),w=(0,b.default)(s=e.edges).call(s,(e=>e.source===r.id));(0,m.default)(w).call(w,((e,t)=>{"extNet"===e.target&&1===S[t][1]&&([S[t],S[p-1]]=[S[p-1],S[t]])})),e.nodes[e.nodes.length-1].anchorPoints=S,this.setState({insCard:l})}))})),(0,C.default)(this,"getAnchorPoints",((e,t)=>{var a=[];return e>0&&a.push(...(0,F.getAnchorData)(e,0)),t>0&&a.push(...(0,F.getAnchorData)(t,1)),a})),(0,C.default)(this,"renderG6",(()=>{D.default.registerEdge("arrowLine",{draw(e,t){var{endPoint:a,startPoint:r}=e,i=e.style.stroke;return t.addShape("path",{attrs:{path:[["M",r.x,r.y],["L",r.x,a.y]],endArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},startArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},stroke:i||"#C8DEFF",lineWidth:2},name:"path-shape"}),t}});var e=document.getElementById("container").scrollWidth,t={nodes:[{id:"networkImage",x:e/2,y:50,img:k.default,type:"image",size:56,clipCfg:{show:!1,type:"circle",r:15}},{id:"extNet",type:"rect",label:"extNetwork",labelCfg:{position:"right",offset:-e/2,style:{fill:"#000000"}},x:e/2,y:100,anchorPoints:[[.5,0],[0,1]],style:{radius:4,fill:"#FFFFFFFF",stroke:j.subnetsColors[0][0],width:e-10,height:20}}],edges:[{id:"edge3",target:"networkImage",source:"extNet",style:{startArrow:{path:D.default.Arrow.vee(4,6,-1),d:2},lineWidth:1,stroke:j.subnetsColors[0][0]}}],combos:[]},{servers:a}=this.topoInfo;if(a){t=G.cfg.data,this.renderRouterNode(t,e),this.extendNetworkWidth(t,e);var r=JSON.parse((0,y.default)(t));this.setState({withoutServerData:r}),this.renderInstanceNode(t,e),this.extendNetworkWidth(t,e);var i=JSON.parse((0,y.default)(t));this.setState({allData:i})}else this.renderNetworkNode(t,e),this.extendNetworkWidth(t,e);G&&(G.clear(),G.destroy());var{firstSubnetY:n,extendWidth:l}=this.state;(G=new D.default.Graph({container:"container",width:e+l,height:n,nodeStateStyles:{hover:{lineWidth:3}}})).data(t),G.render(),this.bindEvents(),this.setState({loading:!1})})),(0,C.default)(this,"extendNetworkWidth",((e,t)=>{var{subnetNodes:a,nodes:r}=e,{extendWidth:i}=this.state;i>0&&((0,m.default)(a).call(a,(e=>{e.style.width=t-50+i,e.x=(t+i)/2,e.labelCfg.offset=-(t+i)/2})),r[1].style.width=t+i-10,r[0].x=(t+i)/2,r[1].labelCfg.offset=-(t+i)/2,r[1].x=(t+i)/2),a&&a[0]&&(e.nodes=(0,_.default)(r).call(r,a))})),(0,C.default)(this,"onCheckChange",(()=>{var{firstSubnetY:e,extendWidth:t,showAll:a,withoutServerData:r,allData:i}=this.state,n=document.getElementById("container").scrollWidth,l=!a;this.setState({showAll:l});var o=n+t;l||(o=n-t),G.clear(),G.destroy(),G=null,(G=new D.default.Graph({container:"container",width:o,height:e,nodeStateStyles:{hover:{lineWidth:3}}})).data(l?i:r),G.render(),this.bindEvents()})),this.init(),this.state={firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,showAll:!0,withoutServerData:null,allData:null}}componentDidMount(){}get topoInfo(){return this.store.topology}initNetwork(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopoNetwork(K(K({},e.props.match.params),{},{metrics:!0})),e.renderG6()}))()}initAll(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopo(K(K({},e.props.match.params),{},{metrics:!0})),e.topoInfo.networks&&e.renderG6()}))()}initTopo(){this.initNetwork(),this.initAll()}init(){this.store=N.default,G=null,this.initTopo()}render(){var{nodeCard:e,insCard:a,loading:r,showAll:i}=this.state,{topology:n}=this.store;return E.default.createElement("div",{className:L.default.main},E.default.createElement("div",{style:{marginBottom:16,marginTop:16,marginLeft:16}},E.default.createElement(M.default,{primaryActions:[O.default]},t("create router")),E.default.createElement(M.default,{primaryActions:[Q.default]},t("Create Network")),E.default.createElement(M.default,{primaryActions:[q.default]},t("Create Instance")),E.default.createElement(w.default,{type:"primary",shape:"circle",style:{marginLeft:16},onClick:()=>this.updateGraph(),icon:E.default.createElement(x.default,null)}),E.default.createElement(S.default,{onChange:()=>this.onCheckChange(),checked:i},t("Show Instance"))),E.default.createElement(I.default,{spinning:r},E.default.createElement(A.default,{style:{margin:16},id:"card",className:L.default.container},E.default.createElement("div",{id:"container"},n&&(0,g.default)(e).call(e,((e,t)=>E.default.createElement(H.default,{key:t,x:e.nodeCardX,y:e.nodeCardY,data:this.topoInfo,infoIndex:t}))),i?n&&(0,g.default)(a).call(a,((e,t)=>E.default.createElement(V.default,{key:t,x:e[0],y:e[1],data:this.topoInfo,infoIndex:t}))):null))))}}a.Topology=X;var Y=(0,R.inject)("rootStore")((0,R.observer)(X));a.default=Y},3858:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/cloud.1741741357.png"},3859:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.subnetsColors=t.combosColors=t.combosBackground=void 0;t.combosBackground=["rgba(0,104,255,0.05)","rgba(94,246,255,0.08)","rgba(236,220,255,0.08)","rgba(255,255,240,0.3)"];t.combosColors=["#9AC3FF","#A5FFF0","#ECDCFF","#FFFF00"];t.subnetsColors=[["#9AC3FF","#4C95FF","#0068FF","#0080FF","#0066CC","#0000FF"],["#CCF2EC","#92DACF","#46B1A5","#CCF2EC","#92DACF","#46B1A5"],["#ECDCFF","#D6B3FF","#BA80FF","#ECDCFF","#D6B3FF","#BA80FF"],["#FFFACD","#FFFF00","#FFD700","#FFFACD","#FFFF00","#FFD700"]]},3860:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__node-tooltips--1M7su {\n position: absolute;\n}\n.index__node-tooltips--1M7su .ant-card-body {\n padding: 15px;\n}\n.index__image-icon--2ABo6 {\n width: 15px;\n height: 15px;\n margin-right: 2px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-item-label {\n width: 80px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-row > th,\n.index__descriptions-item--iUKkb .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.index__node-card-title--3zjAj {\n font-size: 16px;\n}\n.index__card-button--1hPxO .ant-btn-primary {\n margin-right: 6px;\n}\n.index__main--2dSfi {\n height: 100%;\n}\n.index__main--2dSfi .ant-btn-primary {\n margin-right: 16px;\n}\n.index__container--3ea1Q {\n height: calc(100vh - 170px);\n overflow-y: auto;\n}\n",""]),t.locals={"node-tooltips":"index__node-tooltips--1M7su","image-icon":"index__image-icon--2ABo6","descriptions-item":"index__descriptions-item--iUKkb","node-card-title":"index__node-card-title--3zjAj","card-button":"index__card-button--1hPxO",main:"index__main--2dSfi",container:"index__container--3ea1Q"}},3861:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54));r(589);var o=n(r(590));r(1384);var s=n(r(1385)),d=n(r(35)),u=n(r(0)),c=(r(161),r(1248)),f=n(r(3862)),p=n(r(597)),m=r(204),h=n(r(1471)),v=n(r(1633));class g extends v.default{constructor(e){super(e),(0,d.default)(this,"detailButtons",(()=>{var{data:{servers:e},infoIndex:a}=this.props,{status:r}=e[a];return[..."SHUTOFF"===r?[{name:t("Power On"),click:null}]:[{name:t("Power Off"),click:null}],{name:t("Associate IP"),click:null},{name:t("Add network"),click:null},{name:t("VNC"),click:null},{name:t("Delete"),type:"danger",click:null}]})),this.state={}}get detailInfos(){return[{title:t("Name"),dataIndex:"name",width:100,render:(e,t)=>e?u.default.createElement(m.Link,{to:"/compute/instance/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",isHideable:!0,render:e=>c.instanceStatus[e&&e.toLowerCase()]||"-"},{title:t("Image"),dataIndex:"image_os_distro",isHideable:!0,render:(e,t)=>u.default.createElement(p.default,{type:e,title:t.image_name}),stringify:(e,t)=>t.image_name},{title:t("Fixed IP"),dataIndex:"fixed_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-",stringify:e=>e.join(",")||"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-"}]}render(){var{x:e,y:a}=this.props,{data:{servers:r},infoIndex:i}=this.props,n=r[i];return u.default.createElement("div",{className:h.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e-8,"px")}},u.default.createElement(o.default,{placement:"rightTop",content:this.renderCard(435,n),title:this.renderTitle(t("Instance"),n.name)},u.default.createElement("div",{style:{textAlign:"center",width:"66px",height:"50px",overflow:"hidden"}},u.default.createElement(s.default,{src:f.default,shape:"square",size:28}),u.default.createElement("div",null,n.name))))}}a.default=g},3862:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,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"},3863:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/router.1741741357.png"},3864:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RouterDetail=void 0;var l=r(412),o=r(575),s=n(r(1243)),d=r(1267),u=n(r(3865)),c=n(r(3866)),f=n(r(3867)),p=n(r(1631));class m extends s.default{get name(){return t("router")}get policy(){return"get_router"}get listUrl(){return this.getRoutePath("router")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.routerStatus},{title:t("Admin State"),dataIndex:"admin_state_up",render:e=>(0,d.getRouterState)(e)||"-"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Ports"),key:"ports",component:c.default},{title:t("Static Routes"),key:"staticRoutes",component:f.default}]}init(){this.store=new o.RouterStore}}a.RouterDetail=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3865:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.aZoneCard]}get rightCards(){return[this.externalNetInfo]}get externalNetInfo(){var e=[{label:t("Network Name"),dataIndex:"externalNetworkName"},{label:t("Network ID"),dataIndex:"externalNetworkId"},{label:t("SNAT Enabled"),dataIndex:"external_gateway_info.enable_snat",valueRender:"yesNo"},{label:t("External Fixed IPs"),dataIndex:"external_gateway_info.external_fixed_ips",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,((e,a)=>o.default.createElement("div",{key:"ip-".concat(a)},o.default.createElement("div",{key:e.subnet_id},o.default.createElement("b",null,t("Subnet ID")),": ",e.subnet_id),o.default.createElement("div",{key:e.ip_address},o.default.createElement("b",null,t("IP Address")),": ",e.ip_address),o.default.createElement("div",{style:{marginBottom:"8px"}})))):"-"}];return{title:t("External Network Info"),options:e,labelCol:4}}get aZoneCard(){var e=[{label:t("Current Availability Zones"),dataIndex:"availability_zones",render:e=>(e||[]).join(",")||"-"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints",render:e=>(e||[]).join(",")||"-"}];return{title:t("Availability Zone Info"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3866:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(54)),m=f(r(58)),h=f(r(49)),v=f(r(35)),g=f(r(0)),_=r(412),b=f(r(1242)),y=r(1258),I=r(582),A=r(163);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){super(...arguments),(0,v.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("routerPortDetail"),routeParamsFunc:e=>({routerId:this.id,id:e.id})},{title:t("IP Address"),dataIndex:"fixed_ips",isHideable:!0,render:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>g.default.createElement("div",{key:e.ip_address},e.ip_address))):"-",stringify:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>e.ip_address)).join(","):"-"},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Associated Resources"),dataIndex:"device_owner",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=new I.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]);r&&(t.list.silent=!0);var{id:n}=t.props.match.params,{tab:l}=i,f=(0,m.default)(i,["tab"]);t.fetchListWithTry((0,h.default)((function*(){yield t.store.fetchList(function(e){for(var t=1;t[{title:t("Destination CIDR"),dataIndex:"destination"},{title:t("Next Hop"),dataIndex:"nexthop",isHideable:!0}]))}init(){this.store=d.default}get policy(){return"get_router"}get name(){return t("static routers")}get actionConfigs(){return this.isAdminPage?u.default.actionConfigsAdmin:u.default.actionConfigs}get searchFilters(){return[]}}a.StaticRouters=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3868:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3869)),l=i(a(3870)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]}};t.default=o},3869:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(623)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",((e,t)=>{var{match:{params:{id:a}={}}={}}=t,r=[e];return this.store.addStaticRoute({id:a,routes:r})}))}init(){this.store=d.default}get name(){return t("Create static route")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"destination",label:t("Destination CIDR"),type:"input",required:!0},{name:"nexthop",label:t("Next Hop"),type:"input",required:!0}]}}a.Create=c,(0,o.default)(c,"id","create"),(0,o.default)(c,"title",t("Create Static Route")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3870:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(35)),s=r(1241),d=n(r(623));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_router"),(0,o.default)(this,"getItemName",(e=>{var t,{destination:a,nexthop:r}=e;return(0,l.default)(t="".concat(a,"(")).call(t,r,")")})),(0,o.default)(this,"onSubmit",(e=>{var{destination:t,nexthop:a,router_id:r}=e,i=[{destination:t,nexthop:a}];return d.default.removeStaticRoute({id:r,routes:i})}))}get id(){return"delete"}get title(){return t("Delete Static Route")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete static route")}}a.default=u},3871:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(177)),d=n(r(0)),u=r(412),c=n(r(1249));class f extends c.default{get leftCards(){var e=[this.portInfo],{dns_assignment:t=[],fixed_ips:a=[],deviceOwner:r={}}=this.detailData;return t.length>0&&e.push(this.dnsAssignment),a.length>0&&e.push(this.fixedIps),r&&this.isAdmin&&e.push(this.deviceOwner),e.push(this.binding),e}get portInfo(){var e=[{label:t("Network Name"),dataIndex:"network_name"},{label:t("Network ID"),dataIndex:"network_id"},{label:t("MAC Address"),dataIndex:"mac_address"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{label:t("DNS Name"),dataIndex:"dns_name",hidden:!this.isAdmin}];return this.detailData.mac_state&&e.push({label:t("MAC Learning State"),dataIndex:"mac_state"}),this.detailData.qos_policy_id&&e.push({label:t("QoS Policy ID"),dataIndex:"qos_policy_id"}),{title:t("Port Info"),options:e}}get dnsAssignment(){var e=this.detailData.dns_assignment[0]||{},{hostname:a,ip_address:r}=e,i=[{label:t("Hostname"),dataIndex:"dns_assignment",render:()=>a},{label:t("IP Address"),dataIndex:"ip_address",render:()=>r}];return{title:t("DNS Assignment"),options:i}}get fixedIps(){var e=this.detailData.fixed_ips[0]||{},{ip_address:a,subnet_id:r}=e,i=[{label:t("IP Address"),dataIndex:"ip_address",render:()=>a},{label:t("Subnet ID"),dataIndex:"subnet_id",render:()=>r}];return{title:t("Fixed IPs"),options:i}}get deviceOwner(){var e=[{label:t("Device Owner"),dataIndex:"device_owner"},{label:t("Device ID"),dataIndex:"device_id"}];return{title:t("Attached Device"),options:e}}get binding(){var e=[{label:t("VNIC Type"),dataIndex:"binding__vnic_type"}];if(this.detailData.binding__host_id){var a=[{label:t("Host"),dataIndex:"binding__host_id"},{label:t("Profile"),dataIndex:"binding__profile",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t),": ",d.default.createElement("b",null,e[t]))))}},{label:t("VIF Type"),dataIndex:"binding__vif_type"},{label:t("VIF Details"),dataIndex:"binding__vif_details",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t)," ",d.default.createElement("span",null,e[t].toString()))))}}];e=[...e,...a]}return{title:t("Binding"),options:e}}}a.BaseDetail=f;var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3872:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=n(r(164)),o=n(r(29)),s=r(412),d=r(572),u=n(r(1243)),c=r(571),f=n(r(3873)),p=n(r(3878)),m=n(r(3882)),h=n(r(3886)),v=n(r(1606));class g extends u.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{networkId:e,subnetId:t,instanceId:a}=this.params;return this.isSubnetPortDetail?this.getRoutePath("subnetDetail",{id:t,networkId:e},{tab:"ports"}):this.isNetworkPortDetail?this.getRoutePath("networkDetail",{id:e},{tab:"ports"}):this.isInstancePortDetail?this.getRoutePath("instanceDetail",{id:a},{tab:"interface"}):this.getRoutePath("port")}get isSubnetPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"subnet")}get isNetworkPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"networks")&&!this.isSubnetPortDetail}get isInstancePortDetail(){var e;return(0,l.default)(e=this.path).call(e,"instance")}get actionConfigs(){return this.isAdminPage?v.default.adminActions:v.default.actionConfigs}getActionData(){return this.detailData.itemInList||{}}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Status"),dataIndex:"status",valueMap:c.networkStatus},{title:t("Owned Network"),dataIndex:"itemInList.network_name"},{title:t("Network ID"),dataIndex:"network_id"},{title:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:h.default},{title:t("Fixed IPs"),key:"fixed_ips",component:f.default},{title:t("Security Groups"),key:"security_groups",component:p.default},{title:t("Allowed Address Pairs"),key:"allowed_address_pair",component:m.default}],{port_security_enabled:a}=this.detailData;return a?e:(0,o.default)(e).call(e,(e=>"security_groups"!==e.key))}init(){this.store=new d.PortStore}}a.PortDetail=g;var _=(0,s.inject)("rootStore")((0,s.observer)(g));a.default=_},3873:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FixedIP=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(3874),u=n(r(3875));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>0===e.length?"-":e[0].floating_ip_address},{title:t("Owned Subnet"),dataIndex:"subnet",render:e=>e&&e.name||"-"}]))}init(){this.store=new d.FixedIpStore,this.downloadStore=new d.FixedIpStore}get rowKey(){return"ip_address"}get policy(){return"get_port"}get name(){return t("Fixed IP")}get actionConfigs(){return this.isAdminPage?u.default.adminConfigs:u.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Owned Subnet"),name:"subnet",filterFunc:(e,t)=>e.name===t}]}}a.FixedIP=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3874:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FixedIpStore=void 0;var f=c(a(350)),p=c(a(591)),m=c(a(54)),h=c(a(63)),v=c(a(28)),g=c(a(35)),_=c(a(49)),b=c(a(58)),y=c(a(233)),I=c(a(346)),A=c(a(50)),S=c(a(53));function w(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function x(e){for(var t=1;t{var{all_projects:t}=e;return(0,b.default)(e,["all_projects"])}}getItemFloatingIPs(e,t){return(0,_.default)((function*(){return I.default.pureFetchList({fixed_ip_address:e,port_id:t})}))()}listDidFetch(e){var t=this;return(0,_.default)((function*(){if(0===e.length)return[];var a=e[0],{fixed_ips:r=[],id:i}=a,n=(0,f.default)(new p.default((0,m.default)(r).call(r,(e=>e.subnet_id)))),l=yield h.default.all((0,m.default)(n).call(n,(e=>y.default.fetchSubnetDetail({id:e})))),o={};(0,v.default)(l).call(l,(e=>{o[e.id]=e}));var s=yield h.default.all((0,m.default)(r).call(r,(e=>t.getItemFloatingIPs(e.ip_address,i))));return(0,m.default)(r).call(r,((e,t)=>x(x({},e),{},{subnet:o[e.subnet_id],fip:s[t],port:a})))}))()}}t.FixedIpStore=P;var C=new P;t.default=C},3875:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3876)),l=i(a(3877)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3876:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AllocateIP=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(572)),p=r(233),m=r(417);class h extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{fixed_ips:t}=e,a=(0,l.default)(t).call(t,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}));return f.default.update(this.item,{fixed_ips:[...a,...this.item.fixed_ips]})}))}get name(){return t("Allocate IP")}init(){this.networkStore=new p.NetworkStore,this.subnetStore=new m.SubnetStore,this.getNetworkDetail(this.item.network_id),this.getSubnets(this.item.network_id)}getSubnets(e){var t=this;return(0,s.default)((function*(){var a=yield t.subnetStore.fetchList({network_id:e});t.setState({subnetDetails:a||[]})}))()}getNetworkDetail(e){var t=this;return(0,s.default)((function*(){var a=yield t.networkStore.fetchDetail({id:e});t.updateFormValue("network_name",a.name)}))()}get defaultValue(){return{network_id:this.item.network_id}}get isAllowed(){return!0}static get modalSize(){return"large"}get messageHasItemName(){return!1}get formItems(){var{subnetDetails:e=[]}=this.state;return[{name:"network_id",label:t("Owned Network ID"),type:"label"},{name:"network_name",label:t("Owned Network"),type:"label"},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:e,required:!0}]}}a.AllocateIP=h,(0,d.default)(h,"id","allocate-ip"),(0,d.default)(h,"title",t("Allocate IP")),(0,d.default)(h,"policy","update_port:fixed_ips:ip_address"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3877:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(28)),o=n(r(29)),s=n(r(63)),d=n(r(35)),u=r(1241),c=n(r(572));class f extends u.ConfirmAction{constructor(){super(...arguments),(0,d.default)(this,"getItemName",(e=>e.ip_address)),(0,d.default)(this,"policy","update_port"),(0,d.default)(this,"onSubmit",((e,t,a,r,i)=>{var{port:{id:n,fixed_ips:d=[]}={}}=e,u=d;if(a){if(0!==r)return s.default.resolve();(0,l.default)(i).call(i,(e=>{var{subnet_id:t,ip_address:a}=e;u=(0,o.default)(u).call(u,(e=>e.ip_address!==a||e.subnet_id!==t))}))}else{var{subnet_id:f,ip_address:p}=e;u=(0,o.default)(d).call(d,(e=>e.ip_address!==p||e.subnet_id!==f))}return c.default.update({id:n},{fixed_ips:u})}))}get id(){return"delete"}get title(){return t("Release Fixed IP")}get buttonText(){return t("Release")}get isDanger(){return!0}get actionName(){return t("release fixed ip")}get passiveAction(){return t("be released")}}a.default=f},3878:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroup=void 0;var l=n(r(54));r(347);var o=n(r(348));r(426);var s=n(r(429)),d=n(r(1458));r(584);var u=n(r(586)),c=n(r(343));r(1246);var f=n(r(1247));r(1244);var p=n(r(1245));r(231);var m=n(r(341));r(1300);var h=n(r(1301)),v=n(r(35));r(1468);var g=n(r(1469)),_=n(r(0)),b=r(412),y=r(572),I=(r(161),n(r(1607))),A=r(204),S=n(r(4)),w=r(36),x=(r(564),n(r(1388))),P=n(r(1302)),C=r(354),E=r(163),D=r(567),k=n(r(3879)),R=n(r(3880)),{Panel:N}=g.default;class j extends _.default.Component{constructor(e){super(e),(0,v.default)(this,"refreshSecurityGroup",(()=>{this.store.fetchSecurityGroupsDetail(this.portId)})),this.store=new y.PortStore}componentDidMount(){this.refreshSecurityGroup()}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,D.getPath)({key:t,params:{id:e}})}get portId(){var{detail:{id:e}}=this.props;return e}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}renderPanelTitle(e){var{security_groups:{data:a}}=this.store,r=this.getDetailUrl(e.id);return _.default.createElement(f.default,null,_.default.createElement(p.default,{span:18},_.default.createElement("span",null,t("Security Group")),_.default.createElement(h.default,{type:"vertical",className:R.default["header-divider"]}),_.default.createElement(m.default,{type:"link"},e.name)),_.default.createElement(p.default,{span:6},!this.isAdminPage&&_.default.createElement(_.default.Fragment,null,_.default.createElement(A.Link,{style:{fontSize:12,marginRight:16},to:r},t("Edit Rule"))),!this.isAdminPage&&1!==a.length&&_.default.createElement(_.default.Fragment,null,_.default.createElement(P.default,{actions:{firstAction:k.default},onFinishAction:this.refreshSecurityGroup,item:e,containerProps:this.props},t("Detach")))))}renderPanel(e,t){return _.default.createElement(N,{header:this.renderPanelTitle(e,t),key:t,className:R.default.panel},_.default.createElement(u.default,(0,c.default)({size:"middle",pagination:!1,bordered:!1,rowKey:"id"},this.state,{columns:(0,C.getSelfColumns)(this),dataSource:e.security_group_rules?(0,w.toJS)(e.security_group_rules):null})))}render(){var e,{security_groups:t}=this.store;return _.default.createElement("div",{className:(0,S.default)(R.default.wrapper,this.className)},this.isAdminPage?null:_.default.createElement("div",{style:{marginBottom:20}},_.default.createElement(x.default,{containerProps:this.props,primaryActions:[I.default],onFinishAction:this.refreshSecurityGroup})),_.default.createElement(o.default,{spinning:t.isLoading},t.data&&0!==t.data.length?_.default.createElement(g.default,{className:R.default.collapse,accordion:!0,bordered:!1,expandIcon:e=>{var{isActive:t}=e;return _.default.createElement(d.default,{rotate:t?90:0})}},(0,l.default)(e=t.data).call(e,((e,t)=>this.renderPanel(e,t)))):_.default.createElement(s.default,{image:s.default.PRESENTED_IMAGE_SIMPLE,style:{backgroundColor:"white",padding:"32px 0"}})))}}a.SecurityGroup=j;var M=(0,b.inject)("rootStore")((0,b.observer)(j));a.default=M},3879:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(35)),s=r(1241),d=n(r(572));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_port"),(0,o.default)(this,"allowedCheckFunc",(()=>!0)),(0,o.default)(this,"onSubmit",(e=>{var{port:{id:t,security_groups:a=[]}={}}=e,r={security_groups:(0,l.default)(a).call(a,(t=>t!==e.id))};return d.default.update({id:t},r)}))}get id(){return"detach"}get title(){return t("Detach Security Group")}get isDanger(){return!0}get buttonText(){return t("Detach")}get actionName(){return t("detach security group")}}a.default=u},3880:function(e,t,a){var r=a(3881);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},3881:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3LuNN {\n min-height: calc(100vh - 108px);\n padding: 0 16px;\n}\n.index__collapse--3_l12 {\n margin-bottom: 24px;\n overflow: hidden;\n}\n.index__panel--3V7V- {\n margin-bottom: 24px;\n padding-top: 12px;\n padding-bottom: 12px;\n font-size: larger;\n background: #fff;\n}\n.index__header-divider--EyyRf {\n width: 2px;\n margin: 0 5px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__image--XS90m {\n width: 100px;\n padding: 10px;\n}\n.index__radio-button--2oJLs .ant-radio-button-wrapper {\n width: 250px;\n height: 100px;\n margin-right: 40px;\n padding: 15px;\n}\n.index__security-group-text--1Hv_J {\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3LuNN",collapse:"index__collapse--3_l12",panel:"index__panel--3V7V-","header-divider":"index__header-divider--EyyRf",image:"index__image--XS90m","radio-button":"index__radio-button--2oJLs","security-group-text":"index__security-group-text--1Hv_J"}},3882:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.AllowedAddressPair=void 0;var p=f(r(54)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(572)),b=f(r(432)),y=f(r(3883));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;tthis.props.detail.allowed_address_pairs)),(0,h.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Mac Address"),dataIndex:"mac_address"}]))}init(){this.store=_.default,this.store.setDetail(this.props.detail)}get list(){var e,t=new b.default;this.props.detail.allowed_address_pairs&&t.update({data:(0,p.default)(e=this.props.detail.allowed_address_pairs||[]).call(e,((e,t)=>A(A({},e),{},{id:"port_detail_allowed_address_pair_".concat(t)})))});return t}get isLoading(){return!1}getData(){return(0,m.default)((function*(){}))()}get policy(){return"get_port"}get name(){return t("Allowed Address Pairs")}get actionConfigs(){return this.isAdminPage?y.default.adminConfigs:y.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Mac Address"),name:"mac_address"}]}}a.AllowedAddressPair=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3883:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3884)),l=i(a(3885)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3884:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAllowedAddressPair=void 0;var l=n(r(1252)),o=n(r(63)),s=n(r(35)),d=n(r(177)),u=r(412),c=r(1241),f=n(r(572)),p=r(565),{isIpCidr:m,isIPv6Cidr:h}=p.ipValidate;class v extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{allowed_address_pairs:t=[]}=this.item,{ip_address:a,mac_address:r}=e,i={ip_address:a};return"manual"===r.type&&(i.mac_address=r.mac),f.default.update(this.item,{allowed_address_pairs:[i,...t]}).then((e=>{f.default.setDetail(e.port)}))})),(0,s.default)(this,"checkCidr",(e=>{if((0,d.default)(e))return!1;var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!m(e))&&!("ipv6"===t&&!h(e))}))}init(){this.store=f.default}get name(){return t("create allowed address pair")}get instanceName(){return(0,l.default)(this).ip_address}get isAllowed(){return!0}static get modalSize(){return"middle"}get defaultValue(){return{ip_version:"ipv4"}}get formItems(){return[{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e},(()=>{this.formRef.current.validateFields()}))},required:!0},{name:"ip_address",label:t("CIDR"),type:"input",required:!0,validator:(e,a)=>this.checkCidr(a)?o.default.resolve():o.default.reject(new Error(t("Invalid CIDR.")))},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address",options:[{label:t("From port"),value:"auto"},{label:t("Manual input"),value:"manual"}]}]}}a.CreateAllowedAddressPair=v,(0,s.default)(v,"id","create-ip"),(0,s.default)(v,"title",t("Create Allowed Address Pair")),(0,s.default)(v,"policy","update_port"),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3885:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(572));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"getItemName",(e=>e.ip_address)),(0,s.default)(this,"policy","update_port"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,s.default)(this,"onSubmit",function(){var e=(0,o.default)((function*(e,t){var{allowed_address_pairs:a=[],id:r}=t.detail,i=(0,l.default)(a).call(a,(t=>t.ip_address!==e.ip_address));return u.default.update({id:r},{allowed_address_pairs:i}).then((e=>{u.default.setDetail(e.port)}))}));return function(t,a){return e.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Allowed Address Pair")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete allowed address pair")}isOwnerOrAdmin(){return!0}}a.default=c},3886:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(77)),o=r(412),s=n(r(1249)),d=r(66);class u extends s.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,d.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Bind Device Type"),dataIndex:"device_owner"},{label:t("Bind Device"),dataIndex:"device_id",render:(e,t)=>{var{itemInList:{device_id:a,device_owner:r,server_name:i}={}}=t;if(a&&"compute:nova"===r){var n,o=i?(0,l.default)(n="".concat(a," (")).call(n,i,")"):a;return this.getLinkRender("instanceDetail",o,{id:a},{tab:"interface"})}return e||"-"}},{label:t("VNIC Type"),dataIndex:"binding:vnic_type"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",copyable:!1,render:e=>{var t;if(!e)return"-";var{qosPolicy:a}=this.detailData,{name:r}=a||{},i=r?(0,l.default)(t="".concat(e,"(")).call(t,r,")"):e;return this.getLinkRender("networkQosDetail",i,{id:e})}}),{title:t("Base Info"),options:e}}}a.BaseDetail=u;var c=(0,o.inject)("rootStore")((0,o.observer)(u));a.default=c},3887:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(1635));class u extends o.default{get checkEndpoint(){return!0}get endpoint(){return(0,s.qosEndpoint)()}get tabs(){var e=[{title:t("Current Project QoS Policies"),key:"projectQoSPolicy",component:d.default},{title:t("Shared QoS Policies"),key:"sharedQoSPolicy",component:d.default}];return this.hasAdminRole&&e.push({title:t("All QoS Policies"),key:"allQoSPolicy",component:d.default}),e}}a.QoSPolicy=u;var c=(0,l.inject)("rootStore")((0,l.observer)(u));a.default=c},3888:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(340)),b=r(576),y=r(1265),I=r(163),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{name:t,description:a,shared:r,is_default:i,project_id:n}=e;return this.store.create({name:t,description:a,shared:r,is_default:i,project_id:n?n.selectedRowKeys[0]:this.props.rootStore.user.project.id})}))}get name(){return t("Create QoS Policy")}static get modalSize(){var{pathname:e}=window.location;return(0,I.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){this.store=new b.QoSPolicyStore,this.projectStore=_.default,this.isAdminPage&&this.fetchProjectList()}fetchProjectList(){var e=this;return(0,m.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}get defaultValue(){return this.isAdminPage?{project_id:{selectedRowKeys:[this.props.rootStore.user.project.id]}}:{}}get formItems(){return[{name:"name",label:t("Policy Name"),type:"input-name",required:!0,withoutChinese:!0},w({name:"project_id",label:t("Project"),type:"select-table",required:this.isAdminPage,isLoading:_.default.list.isLoading,data:this.projects,hidden:!this.isAdminPage},y.projectTableOptions),{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Create=x,(0,h.default)(x,"id","create_qos_policy"),(0,h.default)(x,"title",t("Create QoS Policy")),(0,h.default)(x,"policy","create_policy"),(0,h.default)(x,"aliasPolicy","neutron:create_policy"),(0,h.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,v.inject)("rootStore")((0,v.observer)(x));a.default=P},3889:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(576);function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class b extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"policy",(()=>({rules:[["network","edit_qos_policy"]]}))),(0,m.default)(this,"onSubmit",(e=>this.store.update(this.props.item,e)))}get name(){return t("Edit QoS Policy")}init(){this.store=new g.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var y=(0,h.inject)("rootStore")((0,h.observer)(b));a.default=y},3890:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(576));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_policy"),(0,l.default)(this,"aliasPolicy","neutron:delete_policy"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete QoS Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete qos policy")}isOwnerOrAdmin(){return!0}}a.default=d},3891:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateBandwidthLimitRule=void 0;var p=f(r(232)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=f(r(0)),_=r(412),b=r(1241),y=f(r(576));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{var{max_kbps:t,max_burst_kbps:a}=e,r=A(A({},(0,h.default)(e,["max_kbps","max_burst_kbps"])),{},{max_kbps:1024*t,max_burst_kbps:1024*a});return y.default.createBandwidthLimitRule(this.props.item,r)}))}get name(){return t("create bandwidth limit rule")}get defaultValue(){return{max_kbps:1,max_burst_kbps:1,direction:"egress"}}get formItems(){return[{label:t("Type"),type:"label",component:g.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"direction",label:t("Direction"),type:"select",options:[{label:t("egress"),value:"egress"},{label:t("ingress"),value:"ingress"}]}]}}a.CreateBandwidthLimitRule=S,(0,v.default)(S,"id","create_bandwidth_limit_rule"),(0,v.default)(S,"title",t("Create Bandwidth Limit Rule")),(0,v.default)(S,"policy","create_policy_bandwidth_limit_rule"),(0,v.default)(S,"allowed",(e=>{var{rules:t=[]}=e,a=(0,p.default)(t).call(t,(e=>"ingress"===e.direction)),r=(0,p.default)(t).call(t,(e=>"egress"===e.direction));return m.default.resolve(!(a&&r))}));var w=(0,_.inject)("rootStore")((0,_.observer)(S));a.default=w},3892:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateDSCPMarkingRules=void 0;var l=n(r(232)),o=n(r(63)),s=n(r(35)),d=n(r(0)),u=r(412),c=r(1241),f=n(r(576)),p=n(r(1637));class m extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>f.default.createDSCPMarkingRule(this.props.item,e)))}get name(){return t("create DSCP marking rule")}get defaultValue(){return{dscp_mark:0}}get formItems(){return[{label:t("Type"),type:"label",component:d.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:p.default}]}}a.CreateDSCPMarkingRules=m,(0,s.default)(m,"id","create_DSCP_marking_rule"),(0,s.default)(m,"title",t("Create DSCP Marking Rule")),(0,s.default)(m,"policy","create_policy_dscp_marking_rule"),(0,s.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type));return o.default.resolve(!a)}));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3893:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_dscp_marking_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasDSCPMarkingRule(e))),(0,s.default)(this,"hasDSCPMarkingRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"dscp_marking"===e.type));return u.default.deleteDSCPMarkingRules(e,a)}))}get id(){return"delete"}get title(){return t("Delete DSCP Marking Rules")}get isDanger(){return!0}get buttonText(){return t("Delete DSCP Marking Rules")}get actionName(){return t("delete dscp marking rules")}isOwnerOrAdmin(){return!0}}a.default=c},3894:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasEgressRule(e))),(0,s.default)(this,"hasEgressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"egress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-egress"}get title(){return t("Delete Bandwidth Egress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Egress Rules")}get actionName(){return t("delete bandwidth egress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3895:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasIngressRule(e))),(0,s.default)(this,"hasIngressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"ingress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-ingress"}get title(){return t("Delete Bandwidth Ingress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Ingress Rules")}get actionName(){return t("delete bandwidth ingress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3896:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthEgressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r={max_kbps:1024*t,max_burst_kbps:1024*a};return p.default.updateBandwidthLimitRule(this.props.item,this.egressRule.id,r)}))}get name(){return t("Edit Bandwidth Egress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.egressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.egressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Egress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthEgressRule=m,(0,d.default)(m,"id","edit_bandwidth_egress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Egress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"egress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3897:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthIngressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateBandwidthLimitRule(this.props.item,this.ingressRule.id,{max_kbps:1024*e.max_kbps,max_burst_kbps:1024*e.max_burst_kbps})))}get name(){return t("Edit Bandwidth Ingress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.ingressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.ingressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Ingress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthIngressRule=m,(0,d.default)(m,"id","edit_bandwidth_ingress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Ingress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"ingress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3898:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditDSCPMarkingRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576)),m=n(r(1637));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateDSCPMarkingRule(this.props.item,this.dscpMarkingRule.id,e)))}get name(){return t("Edit DSCP Marking Rule")}get defaultValue(){return{dscp_mark:this.dscpMarkingRule.dscp_mark||0}}init(){var{rules:e=[]}=this.item;this.dscpMarkingRule=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:m.default}]}}a.EditDSCPMarkingRule=h,(0,d.default)(h,"id","edit_DSCP_marking_rule"),(0,d.default)(h,"title",t("Edit DSCP Marking Rule")),(0,d.default)(h,"policy","update_policy_dscp_marking_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"dscp_marking"===e.type));return s.default.resolve(a)}));var v=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=v},3899:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicyDetail=void 0;var l=n(r(573)),o=r(412),s=n(r(1243)),d=r(576),u=n(r(1466)),c=n(r(3900)),f=n(r(1636));class p extends s.default{get name(){return t("qoS policy")}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get listUrl(){return this.getRoutePath("networkQos")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigs:f.default.consoleActions}get detailInfos(){var e=[{title:t("Policy Name"),dataIndex:"name"},{title:t("Rule Numbers"),dataIndex:"rules",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&(0,l.default)(e).call(e,3,0,{title:t("Owned Project"),dataIndex:"project_name"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:c.default},{title:t("Floating IPs"),key:"fip",component:u.default}]}init(){this.store=new d.QoSPolicyStore}}a.QoSPolicyDetail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3900:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[...this.BandwidthCard,this.DSCPMarkingCard]}getOptions(e){var{max_kbps:a="-",max_burst_kbps:r="-"}=e||{};return[{label:t("Max BandWidth"),content:"".concat("-"===a?a:a/1024," Mbps")},{label:t("Max Burst"),content:"".concat("-"===r?r:r/1024," Mbps")}]}get BandwidthCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction)),r=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return[{title:t("BandWidth Limit Egress"),options:this.getOptions(a)},{title:t("BandWidth Limit Ingress"),options:this.getOptions(r)}]}get DSCPMarkingCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{},r=[{label:t("Value"),content:0===a.dscp_mark?"0":a.dscp_mark||"-"}];return{title:t("DSCP Marking"),options:r}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3901:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.LoadBalancerInstance=void 0,r(1246);var l=n(r(1247));r(1244);var o=n(r(1245)),s=n(r(49)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=(r(161),r(581)),m=r(1254),h=r(66),v=r(1638);class g extends f.default{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"fetchDataByPage",function(){var t=(0,s.default)((function*(t){yield e.store.fetchListByPageWithFip(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"fetchDownloadData",function(){var t=(0,s.default)((function*(t){return e.isFilterByBackend?yield e.downloadStore.fetchListByPageWithFip(e.updateFetchParamsByPage(t)):yield e.downloadStore.fetchList(e.updateFetchParams(t))}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Network ID"),dataIndex:"vip_network_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>e||"-"},{title:t("Port ID"),dataIndex:"vip_port_id"},{title:t("Operating Status"),dataIndex:"operating_status",valueMap:m.operatingStatusCodes,titleTip:u.default.createElement(l.default,null,u.default.createElement(o.default,null,t("DRAINING: The member is not accepting new connections")),u.default.createElement(o.default,null,t("DEGRADED: One or more of the entity’s components are in ERROR")))},{title:t("Provisioning Status"),dataIndex:"provisioning_status",valueMap:m.provisioningStatusCodes},{title:t("Listener Number"),dataIndex:"listeners",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}]))}init(){this.store=new p.LbaasStore,this.downloadStore=new p.LbaasStore}get fetchDataByCurrentProject(){return!0}get policy(){return"os_load-balancer_api:loadbalancer:get_all"}get checkEndpoint(){return!0}get endpoint(){return(0,h.lbEndpoint)()}get name(){return t("Load Balancers")}get isFilterByBackend(){return!0}get actionConfigs(){return this.isAdminPage?v.adminActions:v.actionConfigs}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.LoadBalancerInstance=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3902:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(581));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"policy",(()=>"edit_load_balancer")),(0,o.default)(this,"onSubmit",(e=>u.default.update({id:this.item.id},e)))}get name(){return t("Edit Load Balancer")}get defaultValue(){var{item:e}=this;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=c,(0,o.default)(c,"id","edit_load_balancer"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","os_load-balancer_api:loadbalancer:put"),(0,o.default)(c,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status)}));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3903:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(581)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:loadbalancer:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})+t("This will delete all child objects of the load balancer.")})),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(this.isCurrentProject(e)&&"ACTIVE"===e.provisioning_status||"ERROR"===e.provisioning_status))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Load Balancer")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete load balancer")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3904:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(412),u=n(r(346)),c=r(1241),f=r(1258),p=r(1273),m=r(1267);class h extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>p.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],i=a.selectedRowKeys[0];return u.default.associateFip({id:i,port_id:this.item.vip_port_id,fixed_ip_address:r.ip_address})}))}init(){this.getInterfaces(),m.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,portFixedIPs:[],canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[{port_id:e.item.vip_port_id,network_id:e.item.vip_network_id,fixed_ips:[{ip_address:e.item.vip_address,subnet_id:e.item.vip_subnet_id}]}],a=yield(0,p.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return f.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{lb:e}}getFIPFormItemExtra(){return(0,p.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,p.disableFIPAssociate)(e)}get formItems(){var e=(0,p.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,p.getFIPFormItemForAssociate)(this);return[{name:"lb",label:t("Load Balancer"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=h,(0,s.default)(h,"id","AssociateFip"),(0,s.default)(h,"title",t("Associate Floating IP")),(0,s.default)(h,"policy","update_floatingip"),(0,s.default)(h,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status&&function(e){return null===e.fip||void 0===e.fip}(e))}));var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3905:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=n(r(1250)),u=r(412),c=r(233),f=r(417),p=r(581);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,s.default)(this,"allowed",(()=>l.default.resolve())),(0,s.default)(this,"handleOwnedNetworkChange",(e=>{var{network_id:t}=this.state,a=e.selectedRowKeys[0];this.setState({network_id:a},(()=>{var{network_id:e}=this.state;t&&t!==e&&this.formRef.current.setFieldsValue({vip_address:void 0})})),this.getSubnets(a)})),(0,s.default)(this,"fetchSubnetDetails",function(){var t=(0,o.default)((function*(t){var a=yield e.subnetStore.fetchList({network_id:t});e.setState({subnetDetails:a||[]})}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new p.LbaasStore,this.networkStore=new c.NetworkStore,this.subnetStore=new f.SubnetStore}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){return{project_id:this.props.rootStore.user.project.id,admin_state_enabled:!0}}getSubnets(e){var t=this;return(0,o.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get formItems(){var{network_id:e,subnetDetails:a=[]}=this.state;return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"vip_network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"vip_address",label:t("Owned Subnet"),type:"ip-distributor",subnets:a,formRef:this.formRef,maxNumber:1,hidden:!e,required:!0},{name:"admin_state_enabled",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the port.")}]}}a.BaseStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3906:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(35)),d=r(412),u=n(r(1250)),c=r(1254),f=r(1337),p=r(1338);class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"allowed",(()=>l.default.resolve()))}init(){this.containersStore=new f.ContainersStore,this.secretsStore=new p.SecretsStore,this.fetchContainers(),this.fetchSecrets()}get title(){return"Listener Detail"}get name(){return"Listener Detail"}get isStep(){return!0}fetchContainers(){this.containersStore.fetchList()}fetchSecrets(){this.secretsStore.fetchList({mode:"CA"})}get SERVERSecrets(){return this.containersStore.list.data||[]}get CASecrets(){return this.secretsStore.list.data||[]}get SNISecrets(){var e;return(0,o.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get defaultValue(){return{listener_ssl_parsing_method:"one-way",listener_sni_enabled:!1,listener_connection_limit:-1,listener_admin_state_up:!0}}get nameForStateUpdate(){return["listener_protocol","listener_ssl_parsing_method","listener_sni_enabled"]}get formItems(){var e,{listener_protocol:a,listener_ssl_parsing_method:r,listener_sni_enabled:i}=this.state,n=(0,c.getListenerInsertHeadersFormItem)();return[{name:"listener_name",label:t("Listener Name"),type:"input-name",required:!0},{name:"listener_description",label:t("Listener Description"),type:"textarea"},{name:"listener_protocol",label:t("Listener Protocol"),type:"select",options:c.listenerProtocols,onChange:()=>{this.updateContext({pool_protocol:"",health_type:""})},required:!0},{name:"listener_ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:c.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"listener_default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.SERVERSecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"listener_client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CASecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,o.default)(e=(0,c.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"listener_sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"listener_sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNISecrets,isLoading:!1,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"listener_protocol_port",label:t("Listener Protocol Port"),type:"input-number",required:!0},{name:"listener_connection_limit",label:t("Listener Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"listener_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.ListenerStep=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3907:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PoolStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1400),p=r(1254);class m extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve())),(0,d.default)(this,"handleAlgorithmChange",(e=>{this.setState({pool_lb_algorithm:e})}))}get title(){return"Pool Detail"}get name(){return"Pool Detail"}get isStep(){return!0}get filterOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(p.poolProtocols).call(p.poolProtocols,(t=>(0,s.default)(e).call(e,t.label)))}init(){this.state={pool_lb_algorithm:void 0}}get defaultValue(){return{pool_admin_state_up:!0}}get formItems(){var{pool_lb_algorithm:e}=this.state;return[{name:"pool_name",label:t("Pool Name"),type:"input-name",required:!0},{name:"pool_description",label:t("Pool Description"),type:"textarea"},{name:"pool_lb_algorithm",label:t("Pool Algorithm"),type:"select",options:f.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&f.algorithmTip[e],required:!0},{name:"pool_protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,onChange:()=>{this.updateContext({health_type:""})},required:!0},{name:"pool_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.PoolStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3908:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.MemberStep=void 0;var n=i(a(63)),l=i(a(29)),o=i(a(35)),s=i(a(119)),d=a(412),u=i(a(1250)),c=a(572);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"allowed",(()=>n.default.resolve()))}init(){this.store=new c.PortStore,this.state={ports:[]},this.store.fetchList().then((e=>{this.setState({ports:(0,l.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}get title(){return"Member Detail"}get name(){return"Member Detail"}get isStep(){return!0}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,s.default)(this.props.context,"vip_address[0].subnet",""),isLoading:this.store.list.isLoading,ports:this.state.ports}]}}t.MemberStep=f;var p=(0,d.inject)("rootStore")((0,d.observer)(f));t.default=p},3909:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.HealthMonitorStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1254);class p extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve()))}get title(){return"Health Monitor Detail"}get name(){return"Health Monitor Detail"}get isStep(){return!0}get filteredProtocolOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(f.healthProtocols).call(f.healthProtocols,(t=>(0,s.default)(e).call(e,t.label)))}get defaultValue(){return{enableHealthMonitor:!0,health_delay:5,health_timeout:3,health_max_retries:3,health_type:"",monitor_admin_state_up:!0}}get formItems(){var{health_delay:e,enableHealthMonitor:a}=this.state;return[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"health_name",label:t("Health Monitor Name"),type:"input-name",required:!0,hidden:!a},{name:"health_delay",label:t("Health Monitor Delay"),type:"input-number",onChange:e=>{this.setState({health_delay:e})},min:0,extra:t("Maximum interval time for each health check response"),required:!0,hidden:!a},{name:"health_max_retries",label:t("Health Monitor Max Retries"),type:"input-number",min:1,max:10,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),required:!0,hidden:!a},{name:"health_timeout",label:t("Health Monitor Timeout"),type:"input-number",min:e||0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),required:!0,hidden:!a},{name:"health_type",label:t("Health Monitor Type"),type:"select",options:this.filteredProtocolOptions,required:!0,hidden:!a},{name:"monitor_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!a}]}}a.HealthMonitorStep=p;var m=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=m},3910:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(346));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>"ACTIVE"===e.provisioning_status&&!!e.fip_id)),(0,l.default)(this,"onSubmit",(()=>s.default.disassociateFip({id:this.item.fip_id})))}get id(){return"disassociate-fip-from-lb"}get title(){return t("Disassociate Floating IP")}get buttonText(){return t("Disassociate Floating IP")}get actionName(){return t("disassociate floating ip")}}a.default=d},3911:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.LoadBalancerDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(581),g=r(1254),_=f(r(3912)),b=r(1638);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{if(this.store.fetchDetailWithFip){var t=I(I(I({},this.params),e||{}),{},{silent:!0,all_projects:this.isAdminPage});this.store.fetchDetailWithFip(t).catch(this.catch)}}))}get name(){return t("load balancer")}get policy(){return"os_load-balancer_api:loadbalancer:get_one"}get listUrl(){return this.getRoutePath("lb")}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes},{title:t("Network"),dataIndex:"vip_network_id"},{title:t("Subnet"),dataIndex:"vip_subnet_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip"},{title:t("Provider"),dataIndex:"provider"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Listeners"),key:"listener",component:_.default}]}init(){this.store=new v.LbaasStore}}a.LoadBalancerDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3912:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Listeners=void 0;var p=f(r(58)),m=f(r(35)),h=r(412),v=f(r(1242)),g=r(1254),_=r(1306),b=r(342),y=r(1640);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends v.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParamsByPage",(e=>{var{id:t}=e;return function(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbListenerDetail"),routeParamsFunc:e=>({loadBalancerId:this.id,id:e.id})},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes,isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")}]))}init(){this.store=new _.ListenerStore,this.downloadStore=new _.ListenerStore}get policy(){return"os_load-balancer_api:listener:get_all"}get name(){return t("listeners")}get id(){return this.params.id}get isFilterByBackend(){return!0}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){var{provisioning_status:e}=this.props.detail;return"ACTIVE"!==e?b.emptyActionConfig:this.isAdminPage?y.adminActions:y.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Listeners=A;var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3913:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreatePool=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(412),f=r(1241),p=n(r(1401)),m=n(r(581)),h=r(1400),v=r(1254);class g extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"handleAlgorithmChange",(e=>{this.setState({algorithm:e})})),(0,u.default)(this,"onSubmit",(e=>(e.listener_id=this.item.id,p.default.create(e))))}get name(){return t("create default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filterOptions(){var{protocol:e=""}=this.item;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}init(){this.state={algorithm:void 0}}get defaultValue(){return{admin_state_up:!0}}get formItems(){var{algorithm:e}=this.state;return[{name:"name",label:t("Pool Name"),type:"input-name",required:!0},{name:"description",label:t("Pool Description"),type:"textarea"},{name:"lb_algorithm",label:t("Pool Algorithm"),type:"select",options:h.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&h.algorithmTip[e],required:!0},{name:"protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.CreatePool=g,(0,u.default)(g,"id","pool-create"),(0,u.default)(g,"title",t("Create Default Pool")),(0,u.default)(g,"buttonText",t("Create Default Pool")),(0,u.default)(g,"policy","os_load-balancer_api:pool:post"),(0,u.default)(g,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield m.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3914:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1306)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:listener:delete"),(0,s.default)(this,"allowed",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Listener")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete listener")}}a.default=f},3915:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(164)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1306)),A=f(r(581)),S=r(1254),w=r(1641);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class P extends w.Create{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var t,{id:a}=this.item,{protocol:r,protocol_port:i,sni_enabled:n,ssl_parsing_method:l,default_tls_container_ref:f,client_ca_tls_container_ref:m,sni_container_refs:h,insert_headers:v}=e,g=function(e){for(var t=1;te.container_ref)):[]);return I.default.edit({id:a},g)}))}get name(){return t("Edit Listener")}get isEdit(){return!0}get defaultValue(){var{item:e}=this.props,{name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,admin_state_up:l}=e||{},o={name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,insert_headers:(0,S.getInsertHeadersFormValueFromListener)(e),admin_state_up:l};if("TERMINATED_HTTPS"===e.protocol){if(e.default_tls_container_ref){var s,[,d]=e.default_tls_container_ref.split("/containers/");o.default_tls_container_ref={selectedRowKeys:[d],selectedRows:(0,m.default)(s=this.ServerCertificate).call(s,(e=>e.id===d))}}if(e.client_ca_tls_container_ref){var u,[,c]=e.client_ca_tls_container_ref.split("/secrets/");o.ssl_parsing_method="two-way",o.client_ca_tls_container_ref={selectedRowKeys:[c],selectedRows:(0,m.default)(u=this.CaCertificate).call(u,(e=>e.id===c))}}else o.ssl_parsing_method="one-way";if(e.sni_container_refs&&e.sni_container_refs.length){var f,v;o.sni_enabled=!0;var g=(0,p.default)(f=e.sni_container_refs).call(f,(e=>{var[,t]=e.split("/containers/");return t}));o.sni_container_refs={selectedRowKeys:g,selectedRows:(0,m.default)(v=this.SNICertificate).call(v,(e=>(0,h.default)(g).call(g,e.id)))}}else o.sni_enabled=!1}return o}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>("sni_enabled"===e.name&&(e.disabled=this.item.sni_container_refs&&this.item.sni_container_refs.length,e.tip=t("If the listener has an SNI certificate installed, it cannot be removed. Please delete the listener or replace the SNI certificate")),e)))}}a.Edit=P,(0,b.default)(P,"id","edit-listener"),(0,b.default)(P,"title",t("Edit Listener")),(0,b.default)(P,"buttonText",t("Edit")),(0,b.default)(P,"policy","os_load-balancer_api:listener:put"),(0,b.default)(P,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield A.default.pureFetchDetail(e.loadbalancers[0])),v.default.resolve("ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var C=(0,y.inject)("rootStore")((0,y.observer)(P));a.default=C},3916:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditPoolInfo=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(58)),c=n(r(35)),f=r(412),p=r(1241),m=n(r(1401)),h=r(1400),v=r(1254),g=n(r(581));class _ extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{protocol:a}=e,r=(0,u.default)(e,["protocol"]);return this.store.edit({id:t},r)}))}init(){this.state.pool={},this.store=m.default,this.getPoolDetail()}get name(){return t("edit default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{pool:{protocol:e=""}={}}=this.state;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}get defaultValue(){var{pool:e}=this.state,{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}=e;return{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}}getPoolDetail(){var e=this;return(0,d.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.store.fetchDetail({id:t});e.setState({pool:a},(()=>{e.updateDefaultValue()}))}))()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea",maxLength:255},{name:"protocol",label:t("Protocol"),type:"select",options:this.filteredProtocolOptions,required:!0},{name:"lb_algorithm",label:t("LB Algorithm"),type:"select",options:h.Algorithm,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.EditPoolInfo=_,(0,c.default)(_,"id","pool-edit"),(0,c.default)(_,"title",t("Edit Default Pool")),(0,c.default)(_,"buttonText",t("Edit Default Pool")),(0,c.default)(_,"policy","os_load-balancer_api:pool:put"),(0,c.default)(_,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield g.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var b=(0,f.inject)("rootStore")((0,f.observer)(_));a.default=b},3917:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditHealthMonitor=void 0;var m=p(r(63)),h=p(r(29)),v=p(r(164)),g=p(r(49)),_=p(r(58)),b=p(r(35)),y=r(412),I=r(1241),A=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(3918)),S=r(1254),w=r(1401),x=p(r(581)),P=r(1306);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{default_pool_id:t}=this.item,{healthMonitor:a}=this.state,{id:r}=a||{},{enableHealthMonitor:i,type:n}=e,l=(0,_.default)(e,["enableHealthMonitor","type"]);if(r)return i?A.default.edit({id:r},l):A.default.delete({id:r});if(!i)return m.default.resolve();var o=D(D({type:n},l),{},{pool_id:t});return A.default.create(o)}))}init(){this.store=new A.HealthMonitorStore,this.listenerStore=new P.ListenerStore,this.poolStore=new w.PoolStore,this.state={enableHealthMonitor:!1,dataLoading:!0,healthMonitor:null}}componentDidMount(){this.getHealthMonitor()}get name(){return t("edit health monitor")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{protocol:e=""}=this.item;return(0,h.default)(S.healthProtocols).call(S.healthProtocols,(t=>(0,v.default)(e).call(e,t.label)))}get defaultValue(){var{healthMonitor:e}=this.state;if(!e)return{delay:5,timeout:3,max_retries:3,enableHealthMonitor:!1,admin_state_up:!0};var{admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}=e;return{enableHealthMonitor:!0,admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}}getHealthMonitor(){var e=this;return(0,g.default)((function*(){var t=yield e.listenerStore.fetchDetail(e.item),{healthMonitor:a}=t;e.setState({healthMonitor:a,enableHealthMonitor:!!a,dataLoading:!1},(()=>{e.updateDefaultValue()}))}))()}get formItems(){var{enableHealthMonitor:e,dataLoading:a,healthMonitor:r}=this.state;return a?[{name:"loading",type:"loading"}]:[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",required:!0,options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"type",label:t("HealthMonitor Type"),type:"select",options:this.filteredProtocolOptions,hidden:!e,required:!0,disabled:!!r},{name:"delay",label:t("Delay Interval(s)"),type:"input-int",min:0,extra:t("Maximum interval time for each health check response"),hidden:!e,required:!0},{name:"timeout",label:t("Timeout(s)"),type:"input-int",min:0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),hidden:!e,required:!0},{name:"max_retries",label:t("Max Retries"),type:"input-int",min:0,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),hidden:!e,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!e}]}}a.EditHealthMonitor=k,(0,b.default)(k,"id","health-monitor-edit"),(0,b.default)(k,"title",t("Edit Health Monitor")),(0,b.default)(k,"buttonText",t("Edit Health Monitor")),(0,b.default)(k,"policy","os_load-balancer_api:healthmonitor:put"),(0,b.default)(k,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield x.default.pureFetchDetail(e.loadbalancers[0])),m.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},3918:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.HealthMonitorStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.healthMonitors}get listFilterByProject(){return!0}}t.HealthMonitorStore=o;var s=new o;t.default=s},3919:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1401)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:pool:delete"),(0,s.default)(this,"allowedCheckFunc",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(()=>u.default.delete({id:this.item.default_pool_id})))}get id(){return"delete"}get title(){return t("Delete Default Pool")}get isDanger(){return!0}get buttonText(){return t("Delete Default Pool")}get actionName(){return t("delete default pool")}isOwnerOrAdmin(){return!0}}a.default=f},3920:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerDetail=void 0;var l=r(412),o=r(1306),s=r(1254),d=n(r(1243)),u=n(r(3921)),c=n(r(3922)),f=r(1640);class p extends d.default{get name(){return t("listener")}get policy(){return"os_load-balancer_api:listener:get_one"}get listUrl(){var{loadBalancerId:e}=this.params;return this.getRoutePath("lbDetail",{id:e})}get actionConfigs(){return this.isAdminPage?f.adminActions:f.actionConfigs}get detailInfos(){return[{title:t("Listener Name"),dataIndex:"name"},{title:t("Protocol Type"),dataIndex:"protocol",render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:s.provisioningStatusCodes},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")},{title:t("Description"),dataIndex:"description"}]}get forceLoadingTabs(){return["detail"]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Members"),key:"members",component:c.default}]}init(){this.store=new o.ListenerStore}}a.ListenerDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},3921:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(177)),d=r(412),u=n(r(1249)),c=r(1254),f=r(1400);class p extends u.default{get leftCards(){var e=[this.poolCard],{insert_headers:t={},default_pool_id:a}=this.detailData;return a&&e.push(this.healthMonitor),(0,s.default)(t)||e.push(this.customHeaders),e}get rightCards(){var{protocol:e}=this.detailData||{};return"TERMINATED_HTTPS"!==e||this.isAdminPage?[]:[this.certificateInfo]}get poolCard(){var{default_pool:e={},default_pool_id:a}=this.detailData||{},{name:r,protocol:i,lb_algorithm:n,description:l,admin_state_up:o}=e,s=a?[{label:t("Name"),content:r||"-"},{label:t("Protocol"),content:i||"-"},{label:t("LB Algorithm"),content:f.algorithmDict[n]||n||"-"},{label:t("Admin State Up"),content:o?t("On"):t("Off")},{label:t("Description"),content:l||"-"}]:[{label:"",content:t("No default pool set")}];return{title:t("Pool Info"),options:s}}get customHeaders(){var{insert_headers:e={}}=this.detailData||{};return(0,c.getInsertHeaderCard)(e||{})}get healthMonitor(){var e=this.detailData.healthMonitor||{},{type:a,delay:r,timeout:i,max_retries:n,admin_state_up:l}=e,o=[{label:t("Enable Health Monitor"),content:(0,s.default)(e)?t("No"):t("Yes")}];return(0,s.default)(e)||o.push({label:t("Health Monitor Type"),content:a},{label:t("Delay Interval(s)"),content:r},{label:t("Timeout(s)"),content:i},{label:t("Max Retries"),content:n},{label:t("Admin State Up"),content:l?t("On"):t("Off")}),{title:t("Health Monitor"),options:o}}get certificateInfo(){var e=[{label:t("Server Certificate"),dataIndex:"serverCertificateId",render:e=>e?this.getLinkRender("certificateContainerDetail",e,{id:e},null):"-"},{label:t("CA Certificate"),dataIndex:"caCertificateId",render:e=>e?this.getLinkRender("certificateSecretDetail",e,{id:e},null):"-"},{label:t("SNI Certificate"),dataIndex:"sniCertificateId",render:e=>e.length?(0,l.default)(e).call(e,((t,a)=>{var r;return this.getLinkRender("certificateContainerDetail",(0,o.default)(r="".concat(t)).call(r,a===e.length-1?"":" , "),{id:t})}),null):"-"}];return{title:t("certificate"),options:e,labelCol:4}}}a.BaseDetail=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3922:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Members=void 0;var l=n(r(49)),o=n(r(35)),s=r(412),d=n(r(1242)),u=r(1254),c=n(r(1402)),f=r(418),p=r(3923);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"fetchData",(0,l.default)((function*(){var{default_pool_id:t}=e.props.detail;t?e.fetchListWithTry((0,l.default)((function*(){yield e.store.fetchList({pool_id:t}),e.list.silent=!1}))):(e.list.data=[],e.list.isLoading=!1)}))),(0,o.default)(this,"getColumns",(()=>[f.idNameColumn,{title:t("Status"),dataIndex:"provisioning_status",valueMap:u.provisioningStatusCodes,isHideable:!0},{title:t("Ip Address"),dataIndex:"address",isHideable:!0},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Weight"),dataIndex:"weight"}]))}init(){this.store=c.default}get policy(){return"os_load-balancer_api:member:get_all"}get name(){return t("Members")}get id(){return this.params.id}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?p.adminActions:p.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Members=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3923:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3924)),l=i(a(3925)),o={rowActions:{firstAction:i(a(3927)).default,moreActions:[{action:n.default}]},batchActions:[],primaryActions:[l.default]};t.actionConfigs=o;var s={rowActions:{moreActions:[{action:n.default}]},batchActions:[],primaryActions:[]};t.adminActions=s},3924:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1402));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:member:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&"ACTIVE"===e.provisioning_status)),(0,l.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail;return s.default.delete({id:e.id,default_pool_id:t})}))}get id(){return"delete"}get title(){return t("Delete Member")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete member")}isOwnerOrAdmin(){return!0}}a.default=d},3925:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(29)),d=n(r(63)),u=n(r(49)),c=n(r(35)),f=n(r(119)),p=n(r(3926)),m=n(r(0)),h=r(412),v=r(1241),g=r(1402),_=r(572),b=r(36),y=n(r(581)),I=n(r(1459));class A extends v.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var t,{default_pool_id:a}=this.item,{extMembers:r=[]}=e,i=(0,l.default)(t=(0,b.toJS)(this.memberStore.list.data)).call(t,(e=>{var{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}=e;return{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}}));return(0,o.default)(r).call(r,(e=>{var{ip:t,protocol_port:a,weight:r,name:n=null,subnet_id:l}=e.ip_address,o={weight:r,protocol_port:a,address:t,name:n,subnet_id:l};i.push(o)})),this.memberStore.batchUpdate({default_pool_id:a,data:(0,p.default)(i,I.default)})}))}get name(){return t("Add Member")}init(){this.store=new _.PortStore,this.memberStore=new g.PoolMemberStore,this.lbDetail={},this.state={ports:[]}}componentDidMount(){this.getMember(),y.default.fetchDetail({id:this.props.containerProps.match.params.loadBalancerId}).then((e=>(this.lbDetail=e,this.store.fetchList()))).then((e=>{this.setState({ports:(0,s.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}static get modalSize(){return"large"}getMember(){var e=this;return(0,u.default)((function*(){var{default_pool_id:t}=e.item;yield e.memberStore.fetchList({pool_id:t})}))()}getModalSize(){return"large"}get item(){var{item:e}=this.props;return e||this.containerProps.detail}get defaultValue(){return{}}get tips(){return m.default.createElement("div",{style:{display:"inline-table"}},m.default.createElement("p",{style:{color:globalCSS.primaryColor}},t("The amphora instance is required for load balancing service setup and is not recommended")))}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,f.default)(this.lbDetail,"vip_subnet_id",""),isLoading:this.store.list.isLoading,ports:this.state.ports,members:this.memberStore.list.data}]}}a.CreateAction=A,(0,c.default)(A,"id","manage-member"),(0,c.default)(A,"title",t("Add Member")),(0,c.default)(A,"policy","os_load-balancer_api:member:post"),(0,c.default)(A,"allowed",(e=>d.default.resolve("ACTIVE"===e.provisioning_status&&!!e.default_pool_id)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3927:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(86)),o=n(r(63)),s=n(r(54)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(1402)),p=r(36);class m extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"protocolValidator",((e,a)=>{var r,{address:i,protocol_port:n}=this.item;return(0,l.default)(r=f.default.list.data||[]).call(r,(e=>e.address===i&&a===e.protocol_port&&a!==n))?o.default.reject(new Error(t("Invalid IP Address and Port"))):o.default.resolve()})),(0,d.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail,{id:a}=this.item,r=(0,p.toJS)(this.store.list.data),i=(0,s.default)(r).call(r,(t=>{if(t.id===a){var{weight:r,protocol_port:i}=e;t.weight=r,t.protocol_port=i}var{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}=t;return{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}}));return this.store.batchUpdate({default_pool_id:t,data:i})}))}init(){this.state={},this.store=f.default}get name(){return t("edit member")}get defaultValue(){var{weight:e,protocol_port:t}=this.item;return e&&t&&this.formRef.current&&this.formRef.current.setFieldsValue({weight:e,protocol_port:t}),{weight:e,protocol_port:t}}get formItems(){return[{name:"weight",label:t("Weight"),type:"input-number",required:!0},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,validator:this.protocolValidator}]}}a.Edit=m,(0,d.default)(m,"id","member-edit"),(0,d.default)(m,"title",t("Edit Member")),(0,d.default)(m,"buttonText",t("Edit Member")),(0,d.default)(m,"policy","os_load-balancer_api:member:put"),(0,d.default)(m,"allowed",(e=>o.default.resolve("ACTIVE"===e.provisioning_status)));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3928:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPN=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3929)),u=n(r(3934)),c=n(r(3939)),f=n(r(3944)),p=n(r(3949));class m extends o.default{get name(){return t("VPN")}get checkEndpoint(){return!0}get endpoint(){return(0,s.vpnEndpoint)()}get tabs(){return[{title:t("VPN Gateways"),key:"vpn_gateway",component:d.default},{title:t("VPN EndPoint Groups"),key:"vpn_endpoint_groups",component:u.default},{title:t("IKE Policies"),key:"ike_policy",component:c.default},{title:t("IPsec Policies"),key:"ipsec_policy",component:f.default},{title:t("IPsec Site Connections"),key:"ipsec_site_connections",component:p.default}]}}a.VPN=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3929:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPNGateway=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1358),u=r(1321),c=r(418),f=r(3930);class p extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[c.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("External IP"),dataIndex:"null",render:(e,t)=>t.external_v4_ip||t.external_v6_ip},{title:t("Router ID"),dataIndex:"router_id",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnServicesStore,this.downloadStore=new d.VpnServicesStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_vpnservice"}get name(){return t("vpn services")}get hasTab(){return!0}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?f.adminConfigs:f.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:u.vpnStatusOptions},{label:t("Router ID"),name:"router_id"},{label:t("External IP(V4)"),name:"external_v4_ip"},{label:t("External IP(V6)"),name:"external_v6_ip"}]}}a.VPNGateway=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3930:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3931)),l=i(a(3932)),o=i(a(3933)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3931:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(575),_=f(r(1358)),b=r(1267);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{name:t,description:a,router_id:r}=e;return _.default.create({name:t,description:a,router_id:r.selectedRowKeys[0]})}))}get name(){return t("create vpn")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new g.RouterStore}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},I(I({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,b.getRouterSelectTablePropsBackend)(this)),{},{disabledFunc:e=>!e.external_gateway_info,required:!0})]}}a.Create=A,(0,m.default)(A,"id","create-vpn"),(0,m.default)(A,"title",t("Create VPN")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_vpnservice"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3932:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1358));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn"),(0,o.default)(c,"title",t("Edit VPN")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_vpnservice"),(0,o.default)(c,"allowed",(e=>"ACTIVE"!==e.status?l.default.resolve(!1):l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3933:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1358)),m=n(r(133)),h=n(r(1275));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_vpnservice"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({vpnservice_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the vpn gateway is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpnservice"}get title(){return t("Delete VPN")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn")}isCurrentProject(e){var t=m.default;return!(!f.checkSystemAdmin&&e.project_id!==t.user.project.id)}}a.default=v},3934:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EndpointGroup=void 0;var s=o(r(77)),d=o(r(54)),u=o(r(63));r(347);var c=o(r(348));r(1246);var f=o(r(1247));r(1244);var p=o(r(1245)),m=o(r(49));r(589);var h=o(r(590)),v=o(r(610)),g=o(r(35)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),b=r(412),y=o(r(1242)),I=r(1359),A=(r(161),r(564),r(417)),S=r(418),w=r(3935);function x(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(x=function(e){return e?a:t})(e)}class P extends y.default{constructor(){super(...arguments),(0,g.default)(this,"getColumns",(()=>[S.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Type"),dataIndex:"type",isHideable:!0,render:e=>{switch(e){case"subnet":return t("Local");case"cidr":return t("Peer");default:return""}}},{title:t("Endpoint Counts"),dataIndex:"endpoints",render:(e,a)=>{var r=_.default.createElement(C,{record:a});return _.default.createElement(_.default.Fragment,null,e.length," ",_.default.createElement(h.default,{content:r,title:"cidr"===a.type?t("Peer Network"):t("Local Network"),destroyTooltipOnHide:!0},_.default.createElement(v.default,null)))},stringify:e=>{var t;return(0,s.default)(t="".concat(e.length,"(")).call(t,e.join(","),")")}}]))}init(){this.store=new I.VpnEndPointGroupStore,this.downloadStore=new I.VpnEndPointGroupStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_endpoint_group"}get aliasPolicy(){return"neutron:get_endpoint_group"}get name(){return t("vpn endpoint groups")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?w.adminConfigs:w.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}function C(e){var{record:t}=e,{type:a,endpoints:r}=t,[i,n]=(0,_.useState)([]);return(0,_.useEffect)((()=>{"subnet"===a&&0===i.length&&(0,m.default)((function*(){var e=(0,d.default)(r).call(r,(e=>(new A.SubnetStore).fetchDetail({id:e}))),t=yield u.default.all(e);n(t)}))()})),"cidr"===a?_.default.createElement(f.default,null,(0,d.default)(r).call(r,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},e)}))):0===i.length?_.default.createElement(c.default,null):_.default.createElement(f.default,{style:{maxWidth:550}},(0,d.default)(i).call(i,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},_.default.createElement(f.default,{gutter:24},_.default.createElement(p.default,{span:6},e.name),_.default.createElement(p.default,{span:6},e.cidr),_.default.createElement(p.default,{span:12},e.id)))})))}a.EndpointGroup=P;var E=(0,b.inject)("rootStore")((0,b.observer)(P));a.default=E},3935:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3936)),l=i(a(3937)),o=i(a(3938)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3936:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(29)),m=f(r(1390)),h=f(r(232)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=r(1241),A=r(565),S=r(575),w=r(417),x=f(r(1359)),P=r(1267),C=r(1273);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{type:t}=this.state,{name:a,description:r}=e,i=(0,_.default)(e,["name","description"]),n={name:a,description:r,type:t};if("subnet"===t){var{subnet_id:l}=i;n.endpoints=l.selectedRowKeys}else if("cidr"===t){var{endpoints:o}=i;n.endpoints=o.split("\n")}return x.default.create(n)})),(0,b.default)(this,"handleRouterChange",function(){var t=(0,g.default)((function*(t){var a;e.setState({subnetLoading:!0});var r=yield(0,C.getPortsWithFixedIPs)(),i=(0,C.getSubnetToRouter)(r,t.selectedRows,!1);e.setState({subnets:(0,p.default)(a=e.allSubnets).call(a,(e=>(0,m.default)(i).call(i,(t=>t.subnet_id===e.id))>-1)),subnetLoading:!1}),e.formRef.current.resetFields(["subnet_id"])}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("create vpn endpoint group")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new S.RouterStore,this.subnetStore=new w.SubnetStore,this.state={subnets:[],type:"subnet",subnetLoading:!0},this.getAllSubnets()}getAllSubnets(){var e=this;return(0,g.default)((function*(){e.allSubnets=yield e.subnetStore.pureFetchList(),e.setState({subnetLoading:!1})}))()}get defaultValue(){return{type:"subnet"}}get formItems(){var{subnets:e,type:a,subnetLoading:r}=this.state,i="subnet"===a;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"type",label:t("Type"),type:"select",required:!0,options:[{label:t("Peer"),value:"cidr"},{label:t("Local"),value:"subnet"}],onChange:e=>{this.setState({type:e})}},D(D({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,P.getRouterSelectTablePropsBackend)(this)),{},{required:!0,onChange:this.handleRouterChange,hidden:!i}),{name:"subnet_id",label:t("Subnet"),type:"select-table",data:e,isLoading:r,isMulti:!0,columns:[{title:t("Name"),dataIndex:"name",isLink:!0},{title:t("CIDR"),dataIndex:"cidr"}],required:!0,hidden:!i},{name:"endpoints",label:t("Peer Network Segment"),type:"textarea",validator:(e,a)=>{var r;return(0,h.default)(r=a.split("\n")).call(r,(e=>!k(e)&&!R(e)))?v.default.reject(new Error(t("Invalid: CIDR Format Error(e.g. 10.10.10.0/24)"))):v.default.resolve(!0)},extra:t("Please fill in the peer network segment and subnet mask of CIDR format, the written subnets should be under the same router, one per line."),hidden:i,required:!0}]}}a.Create=N,(0,b.default)(N,"id","create-vpn-endpoint-group"),(0,b.default)(N,"title",t("Create VPN Endpoint Group")),(0,b.default)(N,"buttonText",t("Create")),(0,b.default)(N,"policy","create_endpoint_group"),(0,b.default)(N,"aliasPolicy","neutron:create_endpoint_group"),(0,b.default)(N,"allowed",(()=>v.default.resolve(!0)));var j=(0,y.inject)("rootStore")((0,y.observer)(N));a.default=j},3937:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1359));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn-endpoint-groups"),(0,o.default)(c,"title",t("Edit VPN EndPoint Groups")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_endpoint_group"),(0,o.default)(c,"aliasPolicy","neutron:update_endpoint_group"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3938:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1359)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_endpoint_group"),(0,u.default)(this,"aliasPolicy","neutron:delete_endpoint_group"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r;switch(a.type){case"cidr":r={peer_ep_group_id:a.id};break;case"subnet":r={local_ep_group_id:a.id}}var i,n=yield m.default.fetchList(r);return n.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(i="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(i,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(n).call(n,(e=>e.name)).join(", "),ids:(0,o.default)(n).call(n,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-endpoint-group"}get title(){return t("Delete VPN EndPoint Groups")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn endpoint groups")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3939:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IKEPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1339),m=r(1321),h=r(418),v=r(3940);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("IKE Version"),dataIndex:"ike_version",isHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIKEPolicyStore,this.downloadStore=new p.VpnIKEPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ikepolicy"}get name(){return t("vpn IKE policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("IKE Version"),name:"ike_version",options:m.ikePolicyIKEVersionOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IKEPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3940:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3941)),l=i(a(3942)),o=i(a(3943)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3941:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1339)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3942:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1339)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t,canSubmit:a}=e,r=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue","canSubmit"]));return I.default.update({id:this.item.id},r)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ikepolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t}=e;return w(w({},(0,v.default)(e,["lifetime"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,{canSubmit:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return n?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:n},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(a=["3des","aes-128","aes-192","aes-256"]).call(a,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(r=["group2","group5","group14"]).call(r,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:(0,h.default)(i=["v1","v2"]).call(i,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ike-policy"),(0,g.default)(x,"title",t("Edit VPN IKE Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ikepolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3943:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1339)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ikepolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ikepolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ike-policy"}get title(){return t("Delete VPN IKE Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IKE policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3944:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1340),m=r(1321),h=r(418),v=r(3945);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encapsulation Mode"),dataIndex:"encapsulation_mode",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("Transform Protocol"),dataIndex:"transform_protocol",idHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIPsecPolicyStore,this.downloadStore=new p.VpnIPsecPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsecpolicy"}get name(){return t("vpn IPsec policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encapsulation Mode"),name:"encapsulation_mode",options:m.ipsecPolicyEncapsulationModeOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("Transform Protocol"),name:"transform_protocol",options:m.ipsecPolicyTransformProtocolOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IPsecPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3945:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3946)),l=i(a(3947)),o=i(a(3948)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3946:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1340)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3947:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1340)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t}=e,a=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue"]));return I.default.update({id:this.item.id},a)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ipsecpolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t,canSubmit:a}=e;return w(w({},(0,v.default)(e,["lifetime","canSubmit"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,n,{canSubmit:l}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return l?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:l},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:(0,h.default)(a=["tunnel","transport"]).call(a,(e=>({label:e,value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(r=["3des","aes-128","aes-192","aes-256"]).call(r,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(i=["group2","group5","group14"]).call(i,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:(0,h.default)(n=["esp","ah","ah-esp"]).call(n,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ipsec-policy"),(0,g.default)(x,"title",t("Edit VPN IPsec Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ipsecpolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3948:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1340)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ipsecpolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ipsecpolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ipsec-policy"}get title(){return t("Delete VPN IPsec Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IPsec policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3949:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1275),u=r(1321),c=r(1642);class f extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("ipsecDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id",isHideable:!0},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id",isHideable:!0},{title:t("Peer Address"),dataIndex:"peer_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnIPsecConnectionStore,this.downloadStore=new d.VpnIPsecConnectionStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsec_site_connection"}get name(){return t("ipsec site connection")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Local Endpoint Group ID"),name:"local_ep_group_id"},{label:t("Peer Endpoint Group ID"),name:"peer_ep_group_id"},{label:t("Peer Address"),name:"peer_address"},{label:t("Status"),name:"status",options:u.vpnStatusOptions}]}}a.IPsecSiteConnection=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3950:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(77)),g=f(r(86));r(1246);var _=f(r(1247));r(1244);var b=f(r(1245));r(426);var y=f(r(429)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(607)),x=f(r(0)),P=r(412),C=r(1241),E=r(565),D=f(r(1358)),k=f(r(1339)),R=f(r(1340)),N=f(r(1359)),j=(r(161),f(r(1275))),M=f(r(3951));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t{var t=(0,w.default)({},this.defaultValue,e),{interval:a,timeout:r,action:i,password:n,confirmPassword:l,more:o}=t,s=(0,A.default)(t,["interval","timeout","action","password","confirmPassword","more"]),d=B(B({},s),{},{psk:n,peer_id:s.peer_address,dpd:{interval:a,timeout:r,action:i}});return j.default.create(d)}))}get name(){return t("create ipsec site connection")}init(){this.vpnServiceStore=D.default,this.ikePolicyStore=k.default,this.ipsecPolicyStore=R.default,this.endpointGroupStore=N.default,this.fetchData()}fetchData(){var e=this;return(0,I.default)((function*(){yield p.default.all([e.vpnServiceStore.fetchList(),e.ikePolicyStore.fetchList(),e.ipsecPolicyStore.fetchList(),e.endpointGroupStore.fetchList()])}))()}get defaultValue(){return{mtu:1500,initiator:"bi-directional",action:"hold",interval:30,timeout:120}}get formItems(){var e,a,r,i,n,l,o,s,d,u,c,{local_ep_group_id:f,peer_ep_group_id:I,more:A}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"vpnservice_id",label:t("VPN Service"),type:"select",options:(0,m.default)(e=this.vpnServiceStore.list.data).call(e,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ikepolicy_id",label:t("IKE Policy"),type:"select",options:(0,m.default)(a=this.ikePolicyStore.list.data).call(a,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ipsecpolicy_id",label:t("IPsec Policy"),type:"select",options:(0,m.default)(r=this.ipsecPolicyStore.list.data).call(r,(e=>({label:e.name,value:e.id}))),required:!0},{name:"local_ep_group_id",label:t("Local Endpoint Group"),type:"select",options:(0,m.default)(i=(0,h.default)(n=this.endpointGroupStore.list.data).call(n,(e=>"subnet"===e.type))).call(i,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({local_ep_group_id:e})},required:!0},{name:"local_subnet",type:"label",label:t("Local Subnet"),component:x.default.createElement(M.default,{data:this.endpointGroupStore.list.data,local_ep_group_id:f})},{name:"peer_address",type:"input",label:t("Peer Gateway Public Address"),extra:t("Peer gateway public address for the IPsec site connection"),validator:(e,a)=>{var r;return F(a)||L(a)?p.default.resolve():p.default.reject(new Error((0,v.default)(r="".concat(t("Invalid")," ")).call(r,t("Peer Gateway Public Address"))))},required:!0},{name:"peer_ep_group_id",label:t("Peer Endpoint Group"),type:"select",options:(0,m.default)(l=(0,h.default)(o=this.endpointGroupStore.list.data).call(o,(e=>"cidr"===e.type))).call(l,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({peer_ep_group_id:e})},required:!0},{name:"peer_cidrs",type:"label",label:t("Peer Cidrs"),component:x.default.createElement(_.default,null,I?(0,m.default)(s=(0,g.default)(d=this.endpointGroupStore.list.data).call(d,(e=>e.id===I)).endpoints).call(s,(e=>x.default.createElement(b.default,{span:24},e))):x.default.createElement(b.default,{span:24},x.default.createElement(y.default,null)))},{name:"password",type:"input-password",label:t("Pre-Shared Key(PSK) String"),otherRule:(0,E.getPasswordOtherRule)("password","instance"),required:!0},{name:"confirmPassword",type:"input-password",label:t("Confirm Shared Key"),otherRule:(0,E.getPasswordOtherRule)("confirmPassword","instance",void 0,t("Pre-Shared Key must be the same with Confirm Shared Key.")),required:!0},{name:"mtu",type:"input-number",label:t("MTU"),min:68,tip:t("The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6."),required:!0,hidden:!A},{name:"initiator",label:t("Initiator Mode"),type:"select",options:(0,m.default)(u=["bi-directional","response-only"]).call(u,(e=>({label:e,value:e}))),tip:t("Indicates whether this VPN can only respond to connections or both respond to and initiate connections."),required:!0,hidden:!A},{name:"action",label:t("DPD Action"),type:"select",options:(0,m.default)(c=["clear","hold","restart","disabled","restart-by-peer"]).call(c,(e=>({label:e,value:e}))),tip:t("DPD actions controls the use of Dead Peer Detection Protocol."),required:!0,hidden:!A},{name:"interval",type:"input-number",label:t("DPD Interval (sec)"),min:0,tip:t("Sec for DPD delay, > 0"),required:!0,hidden:!A},{name:"timeout",type:"input-number",label:t("DPD timeout (sec)"),min:0,tip:t("Sec for DPD timeout, > 0 & > DPD Interval"),required:!0,hidden:!A},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Create=O,(0,S.default)(O,"id","create-ipsec-site-connection"),(0,S.default)(O,"title",t("Create IPsec Site Connection")),(0,S.default)(O,"buttonText",t("Create")),(0,S.default)(O,"policy","create_ipsec_site_connection"),(0,S.default)(O,"allowed",(()=>p.default.resolve(!0)));var Q=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=Q},3951:function(e,t,a){"use strict";var r=a(162),i=a(20),n=a(25),l=a(21);i(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(86)),s=l(a(54)),d=l(a(63));a(347);var u=l(a(348));a(1244);var c=l(a(1245));a(426);var f=l(a(429)),p=l(a(49)),m=l(a(119)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=i&&n;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?n(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),v=l(a(16)),g=(a(161),a(417));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class b extends h.Component{constructor(e){super(e),this.state={subnets:[],isLoading:!0}}componentDidUpdate(e){var{local_ep_group_id:t}=this.props,{local_ep_group_id:a}=e;t!==a&&this.getSubnets()}get currentEndpoints(){var{data:e,local_ep_group_id:t}=this.props;return(0,m.default)((0,o.default)(e).call(e,(e=>e.id===t)),"endpoints",[])}getSubnets(){var e=this;return(0,p.default)((function*(){var t;e.setState({isLoading:!0});var a=(0,s.default)(t=e.currentEndpoints).call(t,(e=>(new g.SubnetStore).fetchDetail({id:e}))),r=yield d.default.all(a);e.setState({subnets:r,isLoading:!1})}))()}render(){var e,{local_ep_group_id:t}=this.props,{subnets:a,isLoading:r}=this.state;return t?r?h.default.createElement(c.default,null,h.default.createElement(u.default,null)):h.default.createElement(h.default.Fragment,null,(0,s.default)(e=this.currentEndpoints).call(e,((e,t)=>h.default.createElement(c.default,{span:24,key:"cep_".concat(t)},(0,m.default)(a[t],"cidr"))))):h.default.createElement(c.default,null,h.default.createElement(f.default,null))}}b.propTypes={data:v.default.array,local_ep_group_id:v.default.string},b.defaultProps={data:[],local_ep_group_id:void 0};var y=b;t.default=y},3952:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(91)),s=n(r(35)),d=r(412),u=r(1241),c=n(r(1275)),f=["ACTIVE","DOWN"];class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return c.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=p,(0,s.default)(p,"id","edit-ipsec-site-connection"),(0,s.default)(p,"title",t("Edit IPsec Site Connection")),(0,s.default)(p,"buttonText",t("Edit")),(0,s.default)(p,"policy","update_ipsec_site_connection"),(0,s.default)(p,"allowed",(e=>l.default.resolve((0,o.default)(f).call(f,e.status)>-1)));var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3953:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(1275)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_ipsec_site_connection"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete-ipsec-site-connection"}get title(){return t("Delete IPsec Site Connection")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete ipsec site connection")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3954:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=r(412),o=n(r(1243)),s=r(1275),d=r(1321),u=n(r(3955)),c=r(1642);class f extends o.default{init(){this.store=new s.VpnIPsecConnectionStore}get name(){return t("IPsec Site Connection")}get policy(){return"get_ipsec_site_connection"}get listUrl(){return this.getRoutePath("vpn",null,{tab:"ipsec_site_connections"})}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id",hidden:!this.isAdminPage},{title:t("VPN Service ID"),dataIndex:"vpnservice_id"},{title:t("Status"),dataIndex:"status",valueMap:d.vpnStatus},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id"},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id"},{title:t("Peer Address"),dataIndex:"peer_address"},{title:t("Peer ID"),dataIndex:"peer_id"},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}}a.IPsecSiteConnection=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3955:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(54)),m=f(r(32)),h=f(r(77)),v=f(r(49)),g=f(r(35)),_=r(412),b=f(r(1249)),y=r(1275),I=f(r(0)),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){var e;super(...arguments),e=this,(0,g.default)(this,"fetchData",function(){var t=(0,v.default)((function*(t){e.store.fetchDetailWithPolicyDetail(function(e){for(var t=1;te||"-"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("IKE Version"),dataIndex:"ike_version"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IKE Policy"),options:e,sourceData:this.detailData.ikeDetail}}get ipsecInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encapsulation Mode"),dataIndex:"encapsulation_mode"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("Transform Protocol"),dataIndex:"transform_protocol"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IPsec Policy"),options:e,sourceData:this.detailData.ipsecDetail}}get advancedInfo(){var e=[{label:t("MTU"),dataIndex:"mtu"},{label:t("Initiator Mode"),dataIndex:"initiator"},{label:t("DPD Action"),dataIndex:"dpd",render:e=>e&&e.action},{label:t("DPD Interval (sec)"),dataIndex:"dpd",render:e=>e&&e.interval},{label:t("DPD timeout (sec)"),dataIndex:"dpd",render:e=>e&&e.timeout}];return{title:t("Advanced Params"),options:e}}}a.BaseDetail=w;var x=(0,_.inject)("rootStore")((0,_.observer)(w));a.default=x},3956:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.SecurityGroups=void 0;var s=o(r(164)),d=o(r(35)),u=r(412),c=o(r(1242)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(419)),p=r(342),m=o(r(1643));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends c.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("securityGroupDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=f.default,this.downloadStore=new f.SecurityGroupStore}get policy(){return"get_security_group"}get name(){return t("security groups")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,s.default)(e=this.path).call(e,"recycle-bin")}get actionConfigs(){return this.isRecycleBinDetail?p.emptyActionConfig:this.isAdminPage?m.default.actionConfigsAdmin:m.default.actionConfigs}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.SecurityGroups=v;var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3957:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(419)),b=f(r(340));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{left:a=0}=e||{},{left:r=0}=t||{};return 0!==a&&(r>=2||-1===r)?1:0};class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>_.default.create(e)))}get name(){return t("Create security group")}init(){this.state.groupQuota={},this.state.ruleQuota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}static get disableSubmit(){var{neutronQuota:{security_group:e={},security_group_rule:t={}}={}}=b.default;return 0===A(e,t)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group:a={},security_group_rule:r={}}=t||{};e.setState({groupQuota:a,ruleQuota:r,quotaLoading:!1})}))()}get tips(){return t("This operation creates a security group with default security group rules for the IPv4 and IPv6 ether types.")}get quotaInfo(){var{groupQuota:e={},ruleQuota:a={},quotaLoading:r}=this.state;if(r)return[];var i=A(e,a);return[I(I({},e),{},{add:i,name:"security_group",title:t("Security Group")}),I(I({},a),{},{add:2*i,name:"security_group_rule",title:t("Security Group Rule"),type:"line"})]}get defaultValue(){return{}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateAction=S,(0,h.default)(S,"id","create"),(0,h.default)(S,"title",t("Create Security Group")),(0,h.default)(S,"policy","create_security_group"),(0,h.default)(S,"allowed",(()=>p.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3958:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(419));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return u.default.edit({id:t},e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.EditAction=c,(0,o.default)(c,"id","edit"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","update_security_group"),(0,o.default)(c,"allowed",(e=>l.default.resolve("default"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3959:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(419));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_security_group"),(0,l.default)(this,"hasNoProject",(e=>!e.project_name||"-"===e.project_name)),(0,l.default)(this,"allowedCheckFunc",(e=>this.isAdminPage&&this.hasNoProject(e)||"default"!==e.name)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Security Group")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Security Group")}}a.default=d},3960:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroupDetail=void 0;var l=n(r(205)),o=r(412),s=r(419),d=n(r(1243)),u=n(r(3961)),c=n(r(1643));class f extends d.default{get name(){return t("security group")}get policy(){return"get_security_group"}get listUrl(){return this.getRoutePath("securityGroup")}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Rules"),key:"rules",component:u.default}]}init(){this.store=new s.SecurityGroupStore}componentDidUpdate(e){(0,l.default)(this.props.match.params,e.match.params)||this.fetchDataWithPolicy()}}a.SecurityGroupDetail=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3961:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(622)),b=r(354),y=r(567),I=f(r(3962));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t(0,b.getSelfColumns)(this)))}init(){this.store=_.default}get policy(){return"get_security_group_rule"}get name(){return t("security group rules")}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,y.getPath)({key:t,params:{id:e}})}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return b.filterParams}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]),{detail:n={}}=t.props,{id:l}=n;r&&(t.list.silent=!0),l&&(yield t.store.fetchList(S(S({},i),{},{security_group_id:l}))),t.list.silent=!1}))()}}a.Rule=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},3962:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1644)),l=i(a(3963)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=o},3963:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(234)),o=n(r(77)),s=n(r(35)),d=r(1241),u=n(r(622));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_security_group_rule"),(0,s.default)(this,"getItemName",(e=>{var a,r,i;if(e.name)return e.name;var n,s,d,u,{ethertype:c,port_range_min:f,port_range_max:p,protocol:m,remote_group_id:h,remote_ip_prefix:v}=e,g="",_=(0,l.default)(f,10),b=(0,l.default)(p,10),y=m.toLowerCase();_&&(g=_===b?(0,o.default)(s="".concat(_," / ")).call(s,y):(0,o.default)(d=(0,o.default)(u="".concat(_," - ")).call(u,b," / ")).call(d,y));var I="egress"===e.direction?"to":"from";return n=h||(v||t("ANY")),(0,o.default)(a=(0,o.default)(r=(0,o.default)(i="ALLOW ".concat(c," ")).call(i,g," ")).call(r,I," ")).call(a,n)})),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Rule")}}a.default=c},3964:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var l=r(412),o=n(r(1282)),s=n(r(3965));class d extends o.default{get tabs(){return[{title:t("Server Certificates"),key:"SERVER",component:s.default},{title:t("CA Certificates"),key:"CA",component:s.default}]}}a.Certificate=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3965:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var m=p(r(54)),h=p(r(203)),v=p(r(35)),g=p(r(0)),_=r(412),b=p(r(1242)),y=C(r(1337)),I=r(1251),A=C(r(1338)),S=r(1254),w=r(349),x=p(r(1472));function P(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(P=function(e){return e?a:t})(e)}function C(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=P(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}return r.default=e,a&&a.set(e,r),r}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tD(D({},e),{},{mode:this.currentMode}))),(0,v.default)(this,"getColumns",(()=>[{title:this.showDetail?t("ID/Name"):t("Name"),dataIndex:"name",routeName:this.showDetail?this.getRouteName(this.routeLinkPath):null},{title:t("Certificate Type"),dataIndex:"mode",valueMap:S.certificateMode,isHideable:!0},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime",isHideable:!0},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-",hidden:"CA"===this.currentMode,isHideable:!0},{title:t("Listener"),dataIndex:"listener",render:e=>e?(0,m.default)(e).call(e,(e=>g.default.createElement("div",{key:e.id},this.getLinkRender("lbListenerDetail",e.name,{loadBalancerId:e.lb,id:e.id},null)))):"-",isHideable:!0,stringify:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,m.default)(e).call(e,(e=>e.name)).join(",")||"-"}},{title:t("Status"),dataIndex:"status",valueMap:S.certificateStatus},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime",isHideable:!0}]))}init(){"SERVER"===this.currentMode?(this.store=y.default,this.downloadStore=new y.ContainersStore):(this.store=A.default,this.downloadStore=new A.SecretsStore)}get policy(){return["containers:get","secrets:get"]}get aliasPolicy(){return["barbican:containers:get","barbican:secrets:get"]}get showDetail(){return(0,I.checkPolicyRule)("barbican:secret:decrypt")}get name(){return t("certificate")}get hasTab(){return!0}get actionConfigs(){return"SERVER"===this.currentMode?x.default.actionConfigsContainer:x.default.actionConfigsSecret}get currentMode(){var e,t=(0,w.parse)((0,h.default)(e=this.props.location.search).call(e,1)),{tab:a="SERVER"}=t;return a}get routeLinkPath(){return"SERVER"===this.currentMode?"certificateContainerDetail":"certificateSecretDetail"}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Certificate=k;var R=(0,_.inject)("rootStore")((0,_.observer)(k));a.default=R},3966:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(164)),o=n(r(63)),s=n(r(1277)),d=n(r(203)),u=n(r(29)),c=n(r(35)),f=r(412),p=r(1241),m=r(163),h=r(565),v=r(1254),g=r(3967),_=n(r(1337)),b=n(r(112)),y=r(349);class I extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"validateDomain",((e,a)=>{var r;if((0,l.default)(r=[void 0,null,""]).call(r,a))return o.default.resolve();var i=a.split(","),n=(0,s.default)(i).call(i,(e=>e.length<=100&&(0,h.isDomain)(e)));return i.length>30||!n?o.default.reject(t("Please enter a correct domain, format is refer to the left tip!")):o.default.resolve()})),(0,c.default)(this,"validateCertificateContent",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN CERTIFICATE-----"===i&&"-----END CERTIFICATE-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct certificate content, format is refer to the left tip!"))})),(0,c.default)(this,"validateCertificateKeyPair",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN RSA PRIVATE KEY-----"===i&&"-----END RSA PRIVATE KEY-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct private key, format is refer to the left tip!"))})),(0,c.default)(this,"onSubmit",(e=>this.store.create(e)))}init(){this.store=_.default}get name(){return t("Create Certificate")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){return{mode:this.typeTab}}get typeTab(){var{location:{search:e=""}={}}=this.containerProps;return(0,y.parse)((0,d.default)(e).call(e,1)).tab||"SERVER"}get certificateModeOptions(){var e;return(0,u.default)(e=(0,m.getOptions)(v.certificateMode)).call(e,(e=>e.value===this.typeTab))}get certificateContentTip(){return g.certificateContentTip}get certificateKeyPairTip(){return g.certificateKeyPairTip}get formItems(){var{mode:e}=this.state;return[{name:"name",label:t("Certificate Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mode",label:t("Certificate Type"),type:"radio",options:this.certificateModeOptions},{name:"certificate",label:t("Certificate Content"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".crt,.pem",tip:this.certificateContentTip,required:!0,rows:6},{name:"private_key",label:t("Private Key"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".key,.pem",tip:this.certificateKeyPairTip,required:!0,display:"SERVER"===e,rows:6},{name:"domain",label:t("Domain Name"),type:"textarea",placeholder:t("Please input"),maxLength:1024,hidden:"CA"===e,validator:this.validateDomain,tip:t("The domain name can only be composed of letters, numbers, dashes, in A dash cannot be at the beginning or end, and a single string cannot exceed more than 63 characters, separated by dots; At most can support 30 domain names, separated by commas;The length of a single domain name does not exceed 100 characters, and the total length degree does not exceed 1024 characters."),extra:t("If it is an SNI type certificate, a domain name needs to be specified")},{name:"expiration",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<=(0,b.default)().endOf("d")}]}}a.CreateAction=I,(0,c.default)(I,"id","create-certificate"),(0,c.default)(I,"title",t("Create Certificate")),(0,c.default)(I,"policy",["secrets:post","containers:post"]),(0,c.default)(I,"allowed",(()=>o.default.resolve(!0)));var A=(0,f.inject)("rootStore")((0,f.observer)(I));a.default=A},3967:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.certificateKeyPairTip=a.certificateContentTip=void 0;var l=n(r(0)),o=l.default.createElement("div",null,l.default.createElement("p",null,t('The certificate contains information such as the public key and signature of the certificate. The extension of the certificate is "pem" or "crt", you can directly enter certificate content or upload certificate file.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The format of the certificate content is: by "----BEGIN CERTIFICATE-----" as the beginning,"-----END CERTIFICATE----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateContentTip=o;var s=l.default.createElement("div",null,l.default.createElement("p",null,t('The private key of the certificate, the extension of the private key is "key", you can directly enter the content of the private key file or upload a private key that conforms to the format document.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The private key content format is: with "-----BEGIN RSA PRIVATE KEY-----" as the beginning,"-----END RSA PRIVATE KEY-----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateKeyPairTip=s},3968:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1337));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["secret:delete","container:delete"]),(0,l.default)(this,"aliasPolicy",["barbican:secret:delete","barbican:container:delete"]),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3969:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1338));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","secret:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3970:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1243)),s=r(1337),d=r(1254),u=n(r(3971)),c=n(r(1472));class f extends o.default{init(){this.store=new s.ContainersStore}get policy(){return"container:get"}get aliasPolicy(){return"barbican:container:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"SERVER"})}get actionConfigs(){return c.default.actionConfigsContainer}get detailInfos(){return(0,d.getCertificateColumns)(this)}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:u.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3971:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get rightCards(){return[this.keyPairCard]}get contentCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"certificate"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:r}}get keyPairCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"private_key"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Private Key"),labelCol:0,contentCol:24,options:r}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3972:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=n(r(29)),o=r(412),s=n(r(1243)),d=r(1338),u=r(1254),c=n(r(3973)),f=n(r(1472));class p extends s.default{init(){this.store=new d.SecretsStore}get policy(){return"secret:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"CA"})}get actionConfigs(){return f.default.actionConfigsSecret}get detailInfos(){var e;return(0,l.default)(e=(0,u.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex))}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:c.default}]}}a.Detail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3973:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(0)),o=r(412),s=n(r(1249));class d extends s.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get contentCard(){var{payload:e}=this.props.detail,a=[{content:l.default.createElement("pre",null,e),copyable:{text:e}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:a}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3974:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Reverse=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1403)),f=o(r(1645));function p(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(p=function(e){return e?a:t})(e)}class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Address"),dataIndex:"address",isLink:!0,routeName:"dnsReverseDetail",routeParamsFunc:e=>({id:e.id})},{title:t("PTR Domain Name"),dataIndex:"ptrdname",isHideable:!0},{title:t("Status"),dataIndex:"status",isHideable:!0}]))}init(){this.store=c.default,this.downloadStore=new c.ReverseStore}get policy(){return"get_images"}get name(){return t("Reverse Dns")}get actionConfigs(){return f.default}}a.Reverse=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3975:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Set=void 0;var l=n(r(63)),o=n(r(35)),s=r(1241),d=r(412),u=n(r(1403));class c extends s.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.set({id:t},e)}))}init(){this.store=u.default}static get modalSize(){return"small"}get name(){return t("Set Domain Name PTR")}static allowed(){return l.default.resolve(!0)}get formItems(){return[{name:"ptrdname",label:t("Domain Name"),type:"input",required:!0,placeholder:t("smtp.example.com"),tip:t("Domain name ending in.")},{name:"description",label:t("Description"),type:"textarea",tip:t("Details about the PTR record.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,tip:t("Time To Live in seconds."),placeholder:t("3600")}]}}a.Set=c,(0,o.default)(c,"id","set-reverse"),(0,o.default)(c,"title",t("Set")),(0,o.default)(c,"policy","get_images");var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3976:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1403));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunc",(e=>null!==e.ptrdname&&"ACTIVE"===e.status)),(0,l.default)(this,"policy","instance:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.unset({id:e.id},{ptrdname:null})))}get id(){return"usnet"}get title(){return t("Unset")}get actionName(){return t("Unset")}get buttonText(){return t("Unset")}}a.default=d},3977:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ReverseDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1403)),d=n(r(3978)),u=n(r(1645));class c extends o.default{init(){this.store=s.default}get name(){return t("Reverse Detail")}get policy(){return"get_image"}get listUrl(){return this.getRoutePath("dns-reverse")}get actionConfigs(){return u.default}get tabs(){return[{title:t("Detail"),key:"detail",component:d.default}]}}a.ReverseDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3978:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249));class s extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Address"),dataIndex:"address"},{label:t("PTR Domain Name"),dataIndex:"ptrdname"},{label:t("Description"),dataIndex:"description"},{label:t("ID"),dataIndex:"id"},{label:t("Time To Live"),dataIndex:"ttl"},{label:t("Status"),dataIndex:"status"},{label:t("Action"),dataIndex:"action"}];return{title:t("Base Info"),options:e}}}a.BaseDetail=s;var d=(0,l.inject)("rootStore")((0,l.observer)(s));a.default=d},3979:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Zones=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1360)),f=r(1404),p=r(163),m=o(r(3980));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Zone ID/Name"),dataIndex:"name",isHideable:!0,isLink:!0,routeName:this.getRouteName("dnsZonesDetail"),sortKey:"id"},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage,sortKey:"tenant_id"},{title:t("Type"),dataIndex:"type",isHideable:!0,sorter:!1,valueMap:f.ZONE_TYPES},{title:t("Status"),dataIndex:"status",isHideable:!0,valueMap:f.ZONE_STATUS},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=c.default,this.downloadStore=new c.DNSZonesStore}get policy(){return"get_zones"}get name(){return t("dns zones")}get actionConfigs(){return m.default}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,p.getOptions)(f.ZONE_TYPES)},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.ZONE_STATUS)}]}}a.Zones=v;var g=(0,d.inject)("rootStore")((0,d.observer)(v));a.default=g},3980:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1647)),l=i(a(3981)),o=i(a(3982)),s=i(a(1648)),d={rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},primaryActions:[n.default],batchActions:[o.default]};t.default=d},3981:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(54)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=r(412),_=f(r(1360)),b=r(1647);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{id:t}=this.item,{type:a}=this.item,{masters:r=[],email:i,ttl:n,description:l}=e,o={description:l,masters:(0,p.default)(r).call(r,(e=>e.value))};return"PRIMARY"===a&&(o.email=i,o.ttl=n),this.store.update({id:t},o)}))}init(){this.store=_.default}get name(){return t("Edit")}static allowed(){return m.default.resolve(!0)}get defaultValue(){var e=this.item,{masters:t=[]}=e,a=(0,h.default)(e,["masters"]),r=(0,p.default)(t).call(t,((e,t)=>({index:t,value:e})));return I(I({},a),{},{masters:r})}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?I(I({},e),{},{disabled:!0}):e))}}a.Update=A,(0,v.default)(A,"id","update-dns-zone"),(0,v.default)(A,"title",t("Edit")),(0,v.default)(A,"policy","update_zone");var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},3982:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1360));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_zone"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.delete({id:e.id})))}get id(){return"delete"}get title(){return t("Delete Zone")}get actionName(){return t("Delete Zone")}get buttonText(){return t("Delete")}get isDanger(){return!0}get isAsyncAction(){return!0}}a.default=d},3983:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ZonesDetail=void 0;var l=r(412),o=r(1360),s=n(r(1243)),d=r(1404),u=n(r(3984)),c=n(r(3985));class f extends s.default{init(){this.store=new o.DNSZonesStore}get name(){return t("DNS Zones Detail")}get listUrl(){return this.getRoutePath("dnsZones")}get policy(){return"get_zone"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",valueMap:d.ZONE_TYPES},{title:t("Status"),dataIndex:"status",valueMap:d.ZONE_STATUS},{title:t("Email"),dataIndex:"email"}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default},{title:t("Record Sets"),key:"record_sets",component:c.default}]}}a.ZonesDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3984:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(345)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.attributesCard,this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Serial"),dataIndex:"serial"},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{label:t("Transferred"),dataIndex:"transferred_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),options:e}}get attributesCard(){var e=[{label:t("Attributes"),dataIndex:"attributes",render:e=>(0,l.default)(e)}];return{title:t("Attributes"),options:e}}get associationsCard(){var e=[{label:t("Pool ID"),dataIndex:"pool_id"},{label:t("Project ID"),dataIndex:"project_id"},{label:t("Masters"),dataIndex:"masters",render:e=>(0,l.default)(e)}];return{title:t("Associations"),options:e}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3985:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSets=void 0,r(1311);var l=n(r(1312)),o=n(r(54)),s=n(r(0)),d=n(r(1242)),u=r(412),c=(r(161),r(1361)),f=r(1405),p=r(163),m=n(r(1649));class h extends d.default{init(){this.store=new c.DNSRecordSetsStore,this.downloadStore=new c.DNSRecordSetsStore}get name(){return t("recordsets")}get policy(){return"get_recordsets"}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get actionConfigs(){return m.default}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("dnsRecordSetDetail"),routeParamsFunc:e=>({zoneId:e.zone_id,id:e.id}),isLink:!0,sortKey:"id"},{title:t("Type"),dataIndex:"type",render:e=>(0,f.getRecordSetType)(e)},{title:t("Records"),dataIndex:"records",render:e=>(0,o.default)(e).call(e,(e=>s.default.createElement(l.default,{key:e},e))),stringify:e=>e.join("\n"),sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:f.RECORD_STATUS,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,f.dnsRRTypeList)()},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.RECORD_STATUS)}]}}a.RecordSets=h;var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3986:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(54)),g=f(r(58)),_=f(r(35)),b=r(1241),y=r(412),I=r(1405),A=f(r(1361));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{zone_id:t}=this.item,a=this.item.id,{records:r}=e,i=(0,g.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=w({records:n},i);return this.store.update(t,a,l)}))}init(){var e,a;this.store=A.default,this.state=w(w({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE[this.item.type].nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE[this.item.type].recordsExtra)})}get name(){return t("Update Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){var{records:e,type:t,name:a,description:r,ttl:i}=this.item;return{type:t,name:a,description:r,ttl:i,records:(0,v.default)(e).call(e,((e,t)=>({index:t,value:e})))}}get formItems(){var e=(0,I.getRecordSetFormItem)(this,this.currentFormValue);return(0,v.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?w(w({},e),{},{disabled:!0}):e))}}a.Update=x,(0,_.default)(x,"id","create-record-set"),(0,_.default)(x,"title",t("Update Record Set")),(0,_.default)(x,"buttonText",t("Update")),(0,_.default)(x,"policy","update_recordset");var P=(0,y.inject)("rootStore")((0,y.observer)(x));a.default=P},3987:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1361));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_recordset"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e),r=this.getItemId(e);return t("Are you sure to {action}? (Record Set: {name} - {id})",{action:this.actionNameDisplay||this.title,name:a,id:r})})),(0,l.default)(this,"onSubmit",(e=>{var{zone_id:t}=e,a=e.id;return s.default.delete({zone_id:t,recordset_id:a})}))}get id(){return"delete"}get title(){return t("Delete Record Set")}get actionName(){return t("Delete Record Set")}get buttonText(){return t("Delete")}get isDanger(){return!0}}a.default=d},3988:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSetsDetail=void 0;var l=r(412),o=n(r(1243)),s=r(1361),d=r(1405),u=n(r(3989)),c=n(r(1649));class f extends o.default{init(){this.store=new s.DNSRecordSetsStore}get titleValue(){return this.detailData.id}get name(){return t("Recordset Detail")}get listUrl(){return this.getRoutePath("dnsZonesDetail",{id:this.detailData.zone_id},{tab:"record_sets"})}get actionConfigs(){return c.default}get policy(){return"get_recordset"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",render:e=>(0,d.getRecordSetType)(e)},{title:t("Status"),dataIndex:"status",valueMap:d.RECORD_STATUS}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default}]}}a.RecordSetsDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3989:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Records"),dataIndex:"records",render:e=>(0,l.default)(e).call(e,(e=>o.default.createElement("div",null,e)))},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),labelCol:6,contentCol:18,options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),labelCol:6,contentCol:18,options:e}}get associationsCard(){var e=[{label:t("Zone ID"),dataIndex:"zone_id",copyable:!0},{label:t("Zone Name"),dataIndex:"zone_name"},{label:t("Project ID"),dataIndex:"project_id",copyable:!0}];return{title:t("Associations"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3990:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3991)),u=n(r(3995)),c=n(r(1655));class f extends o.default{get name(){return t("firewalls")}get checkEndpoint(){return!0}get endpoint(){return(0,s.firewallEndpoint)()}get tabs(){return[{title:t("Firewalls"),key:"firewalls",component:d.default},{title:t("Firewall Policies"),key:"policies",component:u.default},{title:t("Firewall Rules"),key:"rules",component:c.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3991:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Firewall=void 0;var l=r(412),o=n(r(1242)),s=n(r(1341)),d=r(1286),u=r(163),c=n(r(1650));class f extends o.default{init(){this.store=s.default}get policy(){return"get_firewall_group"}get name(){return t("firewalls")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get transitionStatusList(){return d.transitionStatus}get adminPageHasProjectFilter(){return!0}get initFilter(){return{notDefault:!0}}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Ingress Policy"),dataIndex:"ingressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"ingress_firewall_policy_id",isHideable:!0},{title:t("Egress Policy"),dataIndex:"egressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"egress_firewall_policy_id",isHideable:!0},{title:t("Associated Ports"),dataIndex:"ports",render:e=>e.length,isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueMap:d.adminState}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,u.getOptions)(d.firewallStatus),include:!1},{label:t("Admin State"),name:"admin_state_up",options:(0,u.getOptions)(d.adminState)},(0,d.getDefaultFilter)(t("Hide Default Firewalls"))]}}a.Firewall=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3992:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1341)),d=r(1286);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_group"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(!(!this.isAdminPage||!(0,d.hasNoProject)(e))||!(0,d.isDefault)(e)&&this.isNotActive(e)&&((0,d.isMine)(e)||this.isAdminPage)))),(0,l.default)(this,"isNotActive",(e=>"ACTIVE"!==e.status)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Firewall")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete firewall")}}a.default=u},3993:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.ManagePort=void 0;var p=f(r(28)),m=f(r(29)),h=f(r(164)),v=f(r(86)),g=f(r(54)),_=f(r(63)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(575)),S=f(r(233)),w=f(r(1341)),x=f(r(582)),P=r(1241),C=r(1473),E=r(1258),D=r(36),k=r(1286);function R(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var{id:t}=this.item,{ports:a}=e,r={ports:a.selectedRowKeys||null};return this.store.edit({id:t},r)}))}init(){this.store=w.default,this.routerStore=A.default,this.networkStore=S.default,this.portStore=x.default,this.getNetworks(),this.getRouters(),this.getPorts()}get name(){return t("manage ports")}static get modalSize(){return"large"}getModalSize(){return"large"}getNetworks(){var e=this;return(0,b.default)((function*(){e.networkStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getRouters(){var e=this;return(0,b.default)((function*(){e.routerStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,D.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,p.default)(e=(0,D.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,m.default)(r=e.ports).call(r,(e=>(0,h.default)(C.routerInterfaceOwners).call(C.routerInterfaceOwners,e.device_owner)));(0,p.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,v.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.router=e,a.network_name=a.network?a.network.name:"-",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,v.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get instancePorts(){var e;return(0,g.default)(e=(0,D.toJS)(this.portStore.list.data||[])).call(e,(e=>N(N({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:N(N({data:this.ports},C.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:N(N({data:this.instancePorts},(0,E.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get defaultValue(){var e;return{name:this.item.name,ports:{selectedRows:(0,g.default)(e=this.item.ports).call(e,(e=>({id:e,name:e}))),selectedRowKeys:this.item.ports}}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"firewall"},{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs}]}}a.ManagePort=j,(0,y.default)(j,"id","manage-port"),(0,y.default)(j,"title",t("Manage Ports")),(0,y.default)(j,"policy","update_firewall_group"),(0,y.default)(j,"allowed",(e=>_.default.resolve((0,k.isMine)(e))));var M=(0,I.inject)("rootStore")((0,I.observer)(j));a.default=M},3994:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(86)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1294)),A=f(r(1341)),S=r(1241),w=r(1362),x=r(1286);function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t{var{id:t}=this.item,{ingressPolicy:a,egressPolicy:r,options:{admin_state_up:i=!0}={}}=e,n=(0,_.default)(e,["ingressPolicy","egressPolicy","options"]),l=C({admin_state_up:i,ingress_firewall_policy_id:a.selectedRowKeys[0]||null,egress_firewall_policy_id:r.selectedRowKeys[0]||null},n);return this.store.edit({id:t},l)}))}init(){this.store=A.default,this.policyStore=I.default,this.getPolicies()}static get modalSize(){return"large"}getModalSize(){return"large"}getPolicies(){var e=this;return(0,g.default)((function*(){yield e.policyStore.fetchList(),e.updateDefaultValue()}))()}get policies(){var e,t,{id:a}=this.item;return(0,p.default)(e=(0,m.default)(t=this.policyStore.list.data||[]).call(t,(e=>{var t;return e.firewalls.length<2||!!(0,h.default)(t=e.firewalls).call(t,(e=>e.id===a))}))).call(e,(e=>C(C({},e),{},{key:e.id})))}get defaultValue(){if(0===this.policies.length)return{};var{ingress_firewall_policy_id:e,egress_firewall_policy_id:t,admin_state_up:a,description:r}=this.item;return{name:this.item.name,ingressPolicy:{selectedRowKeys:e?[e]:[]},egressPolicy:{selectedRowKeys:t?[t]:[]},options:{admin_state_up:a},description:r}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},C({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),C({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=E,(0,b.default)(E,"id","edit"),(0,b.default)(E,"title",t("Edit")),(0,b.default)(E,"policy","update_firewall_group"),(0,b.default)(E,"allowed",(e=>v.default.resolve(!(0,x.isDefault)(e)&&(0,x.isMine)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(E));a.default=D},3995:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Policy=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1242)),u=n(r(1294)),c=r(342),f=r(1286),p=n(r(1652));class m extends d.default{init(){this.store=u.default}get policy(){return"get_firewall_policy"}get name(){return t("firewall policies")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?p.default.actionConfigsAdmin:p.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallPolicyDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Rules"),dataIndex:"rules",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallRuleDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Firewalls"),dataIndex:"firewalls",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo",width:100}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Shared"),name:"shared",options:c.yesNoOptions},{label:t("Audited"),name:"audited",options:c.yesNoOptions},(0,f.getDefaultFilter)(t("Hide Default Policies"))]}}a.Policy=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3996:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54)),o=n(r(35)),s=n(r(92)),d=r(1241),u=n(r(1294)),c=r(1362);class f extends d.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","delete_firewall_policy"),(0,o.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,c.isMine)(e)||this.isAdminPage))),(0,o.default)(this,"performErrorMsg",(e=>{var a,r=(0,s.default)(e)?e[0]:e,i=t('You are not allowed to delete policy "{ name }".',{name:r.name});this.isNotUse(r)||(i=t('You are not allowed to delete policy "{ name }" used by firewalls: { firewalls }.',{name:r.name,firewalls:(0,l.default)(a=r.firewalls).call(a,(e=>e.name)).join(", ")}));return i})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return u.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete policy")}isNotUse(e){return 0===e.firewalls.length}}a.default=f},3997:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(1277)),v=f(r(63)),g=f(r(35)),_=r(412),b=f(r(1294)),y=f(r(1363)),I=r(1241),A=r(1307);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.item,{rule:a,insert:r,current:{selectedRowKeys:i=[]}={}}=e,n=a.selectedRowKeys[0],l="",o="";i.length>0&&("before"===r?o=i[0]:l=i[0]);var s={firewall_policy_id:t,firewall_rule_id:n,insert_before:o,insert_after:l};return this.store.insertRule({id:t},s)}))}init(){this.store=b.default,this.ruleStore=y.default,this.getRules()}get name(){return t("insert rule")}static get modalSize(){return"large"}getModalSize(){return"large"}getRules(){this.ruleStore.fetchList()}get rules(){var e,t,a;return(0,p.default)(e=(0,m.default)(t=(0,m.default)(a=this.ruleStore.list.data||[]).call(a,(e=>{var t;return(0,h.default)(t=this.currentRules).call(t,(t=>t.id!==e.id))}))).call(t,(e=>!this.item.shared||e.shared))).call(e,(e=>w(w({},e),{},{key:e.id})))}get currentRules(){var{rules:e}=this.item;return e}get defaultValue(){var{name:e}=this.item;return{name:e,insert:"before"}}get insertTypes(){return[{label:t("Insert Before"),value:"before"},{label:t("Insert After"),value:"after"}]}get tips(){var e=t("A rule specified before insertion or after insertion a rule. If both are not specified, the new rule is inserted as the first rule of the policy.");return this.item.shared?e+t("Shared policy only can insert shared rules."):e}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},w({name:"rule",label:t("Rule"),type:"select-table",required:!0,data:this.rules,isLoading:this.ruleStore.list.isLoading,isMulti:!1},A.tableOptions),{name:"insert",label:t("Insert"),type:"radio",options:this.insertTypes,required:!0},w({name:"current",label:t("Current Rules"),type:"select-table",data:this.currentRules,isMulti:!1},A.tableOptions)]}}a.Edit=x,(0,g.default)(x,"id","edit"),(0,g.default)(x,"title",t("Insert Rule")),(0,g.default)(x,"policy","update_firewall_policy"),(0,g.default)(x,"allowed",(e=>v.default.resolve((0,A.isMine)(e))));var P=(0,_.inject)("rootStore")((0,_.observer)(x));a.default=P},3998:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(1294)),g=r(1241),_=r(1307);function b(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function y(e){for(var t=1;t{var{id:t}=this.item,{rule:a}=e,r={firewall_rule_id:a.selectedRowKeys[0]};return v.default.removeRule({id:t},r)}))}get name(){return t("remove rule")}static get modalSize(){return"large"}getModalSize(){return"large"}get rules(){var{rules:e}=this.item;return e}get defaultValue(){return{name:this.item.name}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},y({name:"rule",label:t("Rules"),type:"select-table",required:!0,data:this.rules,isMulti:!1},_.tableOptions)]}}a.Edit=I,(0,m.default)(I,"id","edit"),(0,m.default)(I,"title",t("Remove Rule")),(0,m.default)(I,"policy","update_firewall_policy"),(0,m.default)(I,"allowed",(e=>p.default.resolve((0,_.isMine)(e))));var A=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=A},3999:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=n(r(92)),s=r(1241),d=n(r(1363)),u=r(1307);class c extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_rule"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,u.isMine)(e)||this.isAdminPage))),(0,l.default)(this,"performErrorMsg",(e=>{var a=(0,o.default)(e)?e[0]:e,r=t('You are not allowed to delete rule "{ name }".',{name:a.name});return this.isNotUse(a)||(r=t('You are not allowed to delete rule "{ name }" in use.',{name:a.name})),r})),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return d.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete rule")}isNotUse(e){return 0===e.policies.length}}a.default=c},4e3:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FirewallDetail=void 0;var l=r(412),o=r(1341),s=n(r(1243)),d=r(1286),u=n(r(4001)),c=n(r(4002)),f=n(r(1650));class p extends s.default{get name(){return t("firewall")}get policy(){return"get_firewall_group"}get listUrl(){return this.getRoutePath("firewall")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigsAdmin:f.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Base Info"),key:"base",component:u.default},{title:t("Ports"),key:"ports",component:c.default}]}init(){this.store=new o.FirewallStore}}a.FirewallDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},4001:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=r(1286),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Ingress Policy ID"),dataIndex:"ingress_firewall_policy_id"},{label:t("Ingress Policy Name"),dataIndex:"ingress",render:e=>e?e.name:"-"},{label:t("Egress Policy ID"),dataIndex:"egress_firewall_policy_id"},{label:t("Egress Policy Name"),dataIndex:"egress",render:e=>e?e.name:"-"},{label:t("Admin State"),dataIndex:"admin_state_up",valueMap:o.adminState}];return{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},4002:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(1473),b=r(582),y=r(1258);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.default{constructor(){super(...arguments),(0,h.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",width:150,isLink:!0,routeName:this.getRouteName("firewallPortDetail"),routeParamsFunc:e=>({firewallId:this.id,portId:e.id})},{title:t("Network ID/Name"),dataIndex:"network.name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network.id"},{title:t("Owner"),dataIndex:"owner",isHideable:!0},{title:t("Device ID/Name"),dataIndex:"router.name",isLink:!0,routeName:this.getRouteName("routerDetail"),idKey:"router.id"},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus}]))}init(){this.store=new b.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]);r&&(t.list.silent=!0);var{tab:n}=i,l=(0,p.default)(i,["tab"]),{detail:{ports:f=[]}={}}=t.props,v=function(e){for(var t=1;tI(I({},e),{},{label:e.title}))),r=[{label:t("Related Policy"),dataIndex:"policies",render:e=>{var t;return(0,m.default)(t=e||[]).call(t,(e=>v.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id}))))}},...a];return{title:t("Base Info"),options:r}}}a.BaseDetail=A;var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},4007:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicies=void 0;var l=r(412),o=n(r(1242)),s=r(604),d=r(1406),u=r(163),c=n(r(1658));class f extends o.default{init(){this.store=new s.RbacPoliciesStore,this.downloadStore=new s.RbacPoliciesStore}get policy(){return"get_rbac_policy"}get name(){return t("RBAC Policies")}get actionConfigs(){return c.default}getColumns(){return[{title:t("ID"),dataIndex:"id",routeName:this.getRouteName("rbacPolicyDetail"),isLink:!0,withoutName:!0},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0},{title:t("Object Type"),dataIndex:"object_type",isHideable:!0,valueMap:d.objectTypes},{title:t("Object ID/Name"),dataIndex:"object_name",isHideable:!0,idKey:"object_id",isLink:!0,getRouteName:(e,t)=>{var{object_type:a}=t||{};return"network"===a?this.getRouteName("networkDetail"):"qos_policy"===a?this.getRouteName("networkQosDetail"):""}},{title:t("Target Project ID/Name"),dataIndex:"target_tenant_name",isHideable:!0,idKey:"target_tenant_id",routeName:this.getRouteName("projectDetail"),isLink:!0,emptyRender:()=>"*"}]}get objectTypes(){return(0,u.getOptions)(d.objectTypes)}get searchFilters(){return[{label:t("Id"),name:"id"},{label:t("Target Project ID"),name:"target_tenant"},{label:t("Target Project Name"),name:"target_tenant_name"},{label:t("Object Type"),name:"object_type",options:this.objectTypes},{label:t("Object"),name:"object_name"},{label:t("Project ID"),name:"project_id"},{label:t("Project Name"),name:"project_name"}]}}a.RbacPolicies=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4008:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(604));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_rbac_policy"),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete RBAC Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get messageHasItemName(){return!1}get actionName(){return t("delete")}}a.default=d},4009:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=r(604),p=r(340),m=r(1406);class h extends c.ModalAction{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"onSubmit",function(){var t=(0,s.default)((function*(t){var{id:a}=e.item;return e.store.update({id:a},t)}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Edit")}get messageHasItemName(){return!1}init(){this.store=new f.RbacPoliciesStore,this.projectStore=new p.ProjectStore,this.state.projects=[],this.state.isReady=!1,this.getProjects()}get tips(){return t("You may update the editable properties of the RBAC policy here.")}getProjects(){var e=this;return(0,s.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(m.anyProject),e.setState({projects:t,isReady:!0})}))()}get projects(){var e,{projects:t}=this.state;return(0,l.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get defaultValue(){var{target_tenant:e}=this.item;return{target_tenant:e}}get formItems(){return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,loading:!this.state.isReady,required:!0}]}}a.Edit=h,(0,d.default)(h,"id","edit-policy"),(0,d.default)(h,"title",t("Edit")),(0,d.default)(h,"policy","update_rbac_policy"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},4010:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(58)),g=f(r(49)),_=f(r(35)),b=r(412),y=r(1241),I=r(604),A=r(340),S=r(233),w=r(576),x=r(66),P=r(1406);function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function E(e){for(var t=1;t{e.updateFormValue("object_id",void 0)}))}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Create")}get messageHasItemName(){return!1}init(){this.state=E(E({},this.state),{},{isReady:!1,allNetworks:[],qosPolices:[]}),this.store=new I.RbacPoliciesStore,this.projectStore=new A.ProjectStore,this.qosPolicyStore=new w.QoSPolicyStore,this.networkStore=new S.NetworkStore,this.getAllData()}getAllData(){var e=this;return(0,g.default)((function*(){yield p.default.all([e.getProjects(),e.getQoSPolicy(),e.getNetworks()]),e.setState({isReady:!0})}))()}get enableQosPolicy(){return(0,x.qosEndpoint)()}getProjects(){var e=this;return(0,g.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(P.anyProject),e.setState({allProjects:t})}))()}getQoSPolicy(){var e=this;return(0,g.default)((function*(){e.enableQosPolicy&&(yield e.qosPolicyStore.fetchList())}))()}getNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList();e.setState({allNetworks:t})}))()}get projects(){var e,{allProjects:t}=this.state;return(0,m.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get qosPolicy(){var e;return(0,m.default)(e=this.qosPolicyStore.list.data||[]).call(e,(e=>({value:e.id,label:e.name})))}get sharedNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e.shared))).call(e,(e=>({value:e.id,label:e.name})))}get externalNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e["router:external"]))).call(e,(e=>({value:e.id,label:e.name})))}get createObjectList(){var e=[{value:"network",label:t("Shared Network")},{value:"external-network",label:t("External Network")}];return this.enableQosPolicy&&e.push({value:"qos_policy",label:t("Shared QoS Policy")}),e}get formItems(){var{object_type:e}=this.state,a="network"===e,r="external-network"===e,i="qos_policy"===e;return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,isLoading:!this.state.isReady,required:!0},{name:"object_type",label:t("Object Type"),placeholder:t("Select an object type"),type:"select",onChange:this.onChangeHandler,options:this.createObjectList,required:!0},{name:"object_id",label:t("Shared Network"),placeholder:t("Select a network"),type:"select",options:this.sharedNetworks,hidden:!a,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("External Network"),placeholder:t("Select a network"),type:"select",options:this.externalNetworks,hidden:!r,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("QoS Policy"),placeholder:t("Select a QoS Policy"),type:"select",options:this.qosPolicy,hidden:!i,isLoading:!this.state.isReady,required:!0}]}}a.Create=D,(0,_.default)(D,"id","create-policy"),(0,_.default)(D,"title",t("Create RBAC Policy")),(0,_.default)(D,"policy","create_rbac_policy"),(0,_.default)(D,"allowed",(()=>p.default.resolve(!0)));var k=(0,b.inject)("rootStore")((0,b.observer)(D));a.default=k},4011:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicyDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1658)),d=r(604),u=n(r(4012));class c extends o.default{get name(){return t("Rbac Policy")}get listUrl(){return this.getRoutePath("rbacPolicy")}get actionConfigs(){return s.default}get detailInfos(){return[{title:t("Project ID"),dataIndex:"project_id"}]}get tabs(){return[{title:t("Detail"),key:"rbacPolicyDetailAdmin",component:u.default}]}init(){this.store=new d.RbacPoliciesStore}}a.RbacPolicyDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},4012:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(1406);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Object Type"),dataIndex:"object_type",valueMap:s.objectTypes},{label:t("Object ID"),dataIndex:"object_id",render:e=>{var{object_type:t}=this.detailData;return"network"===t?this.getLinkRender("networkDetail",e,{id:e}):"qos_policy"===t?this.getLinkRender("networkQosDetail",e,{id:e}):e}},{label:t("Object Name"),dataIndex:"object.name"},{label:t("Action"),dataIndex:"action"},{label:t("Target Tenant"),dataIndex:"target_tenant",render:e=>{if("*"===e)return e;var{targetProject:t}=this.detailData;return this.getLinkRender("projectDetail",(null==t?void 0:t.name)||e,{id:e})}}];return{title:t("Detail Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{1254:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.getInsertHeaderCard=a.getInsertHeadersFormValueFromListener=a.getInsertHeadersValueFromForm=a.getListenerInsertHeadersFormItem=a.insertHeaderDesc=a.insertHeaderTips=a.insertHeaderOptions=a.INSERT_HEADERS=a.healthProtocols=a.poolProtocols=a.listenerProtocols=a.sslParseMethod=a.getCertificateColumns=a.certificateStatus=a.certificateMode=a.provisioningStatusCodes=a.operatingStatusCodes=void 0;var l,o,s=n(r(54)),d=n(r(32)),u=n(r(28)),c=n(r(177)),f=n(r(0)),p={ONLINE:t("Online"),DRAINING:t("Draining"),OFFLINE:t("Offline"),DEGRADED:t("Degraded"),ERROR:t("Error"),NO_MONITOR:t("No Monitor")};a.operatingStatusCodes=p;var m={ACTIVE:t("Active"),DELETED:t("Deleted"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.provisioningStatusCodes=m;var h={SERVER:t("Server Certificate"),CA:t("CA Certificate")};a.certificateMode=h;var v={ACTIVE:t("Active"),ERROR:t("Error")};a.certificateStatus=v;a.getCertificateColumns=e=>[{title:t("Name"),dataIndex:"name"},{title:t("Certificate Type"),dataIndex:"mode",valueMap:h},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime"},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-"},{title:t("Listener"),dataIndex:"listener",render:t=>t?(0,s.default)(t).call(t,(t=>f.default.createElement("div",{key:t.id},e.getLinkRender("lbListenerDetail",t.name,{loadBalancerId:t.lb,id:t.id},null)))):"-"},{title:t("Status"),dataIndex:"status",valueMap:v},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime"}];var g=[{label:t("One-way authentication"),value:"one-way"},{label:t("Two-way authentication"),value:"two-way"}];a.sslParseMethod=g;a.listenerProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"HTTPS",value:"TERMINATED_HTTPS"},{label:"UDP",value:"UDP"}];a.poolProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP"}];a.healthProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP-CONNECT"}];var _={"X-Forwarded-For":t("Specify the client IP address"),"X-Forwarded-Port":t("Specify the listener port")};a.INSERT_HEADERS=_;var b=(0,s.default)(l=(0,d.default)(_)).call(l,(e=>({label:e,value:e})));a.insertHeaderOptions=b;var y=f.default.createElement(f.default.Fragment,null,(0,s.default)(o=(0,d.default)(_)).call(o,(e=>f.default.createElement("p",{key:e},e,": ",_[e]))));a.insertHeaderTips=y;var I=t("The optional headers to insert into the request before it is sent to the backend member.");a.insertHeaderDesc=I;a.getListenerInsertHeadersFormItem=()=>({name:"insert_headers",label:t("Custom Headers"),type:"check-group",extra:I,tip:y,options:b});a.getInsertHeadersValueFromForm=e=>{var t;if(!e)return null;var a={};return(0,u.default)(t=(0,d.default)(_)).call(t,(t=>{e[t]&&(a[t]="true")})),(0,c.default)(a)?null:a};a.getInsertHeadersFormValueFromListener=e=>{var t,{insert_headers:a}=e||{},r={};return(0,u.default)(t=(0,d.default)(_)).call(t,(e=>{a[e]&&(r[e]="true"===a[e])})),r};a.getInsertHeaderCard=e=>{var a,r=[];return(0,u.default)(a=(0,d.default)(_)).call(a,(t=>{e[t]&&r.push({label:t,content:e[t],tooltip:_[t]})})),{title:t("Custom Headers"),titleHelp:I,options:r}}},1275:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.VpnIPsecConnectionStore=void 0;var f,p=c(a(25)),m=c(a(35)),h=c(a(49)),v=c(a(55)),g=c(a(119)),_=a(36),b=c(a(1339)),y=c(a(1340)),I=c(a(50)),A=c(a(53));function S(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t"default"===e.name;a.isMine=e=>e.project_id===v.default.projectId;a.hasNoProject=e=>!e.project_name||"-"===e.project_name;a.getDefaultFilter=e=>{var t=(0,p.default)(g.yesNoOptions).call(g.yesNoOptions,(t=>t.key?b(b({},t),{},{checkLabel:e,isQuick:!0}):t));return{label:e,name:"notDefault",options:t,filterFunc:(e,t)=>(0,h.default)(t)?!t||e:"true"!==t||e}}},1294:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallPolicyStore=void 0;var f,p=c(a(28)),m=c(a(91)),h=c(a(54)),v=c(a(86)),g=c(a(29)),_=c(a(25)),b=c(a(49)),y=c(a(35)),I=c(a(55)),A=a(36),S=c(a(50)),w=a(1362),x=c(a(53));function P(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;tC(C({},e),{},{notDefault:!(0,w.isDefault)(e)})}listDidFetch(e){return(0,b.default)((function*(){var t,a=[];if((0,p.default)(e).call(e,(e=>{e.firewalls=[],e.rules=[];var{firewall_rules:t}=e;(0,p.default)(t).call(t,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)}))})),0===a.length)return e;var r=yield S.default.neutron.firewallRules.list(),i=(0,h.default)(t=r.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));(0,p.default)(e).call(e,(e=>{var{firewall_rules:t}=e;e.rules=(0,h.default)(t).call(t,(e=>(0,v.default)(i).call(i,(t=>t.id===e))))}));var n=(yield S.default.neutron.firewalls.list()).firewall_groups;return(0,p.default)(e).call(e,(e=>{e.firewalls=(0,g.default)(n).call(n,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id))})),e}))()}detailDidFetch(e){return(0,b.default)((function*(){var t,a=[];e.firewalls=[],e.rules=[];var{firewall_rules:r}=e;if((0,p.default)(r).call(r,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)})),0===a.length)return e;var i=yield S.default.neutron.firewallRules.list(),n=(0,h.default)(t=i.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));e.rules=(0,h.default)(r).call(r,(e=>(0,v.default)(n).call(n,(t=>t.id===e))));var l=(yield S.default.neutron.firewalls.list()).firewall_groups;return e.firewalls=(0,g.default)(l).call(l,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id)),e}))()}insertRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.insertRule(r,t))}))()}removeRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.removeRule(r,t))}))()}},(0,I.default)(f.prototype,"insertRule",[A.action],(0,_.default)(f.prototype,"insertRule"),f.prototype),(0,I.default)(f.prototype,"removeRule",[A.action],(0,_.default)(f.prototype,"removeRule"),f.prototype),f);t.FirewallPolicyStore=E;var D=new E;t.default=D},1306:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ListenerStore=void 0;var f=c(a(54)),p=c(a(431)),m=c(a(49)),h=c(a(35)),v=c(a(50)),g=c(a(53));function _(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function b(e){for(var t=1;t{var t;return b(b({},e),{},{lbIds:(0,f.default)(t=e.loadbalancers).call(t,(e=>e.id))})}}detailDidFetch(e){var t=this;return(0,m.default)((function*(){var a,{default_pool_id:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,[,o]=(i||"").split("/containers/"),[,s]=(n||"").split("/secrets/"),d=(0,f.default)(a=l||[]).call(a,(e=>{var[,t]=e.split("/containers/");return t}));(0,p.default)(e,{serverCertificateId:o,caCertificateId:s,sniCertificateId:d});var{loadbalancers:u=[]}=e,{loadbalancer:c}=yield t.lbClient.show(u[0].id);if(e.loadBalancer=c,!r)return e;try{var{pool:m}=yield t.poolClient.show(r);e.default_pool=m;var{healthmonitor_id:h}=m;if(h){var{healthmonitor:v}=yield t.healthMonitorClient.show(h);e.healthMonitor=v}return e}catch(t){return e}}))()}}t.ListenerStore=y;var I=new y;t.default=I},1307:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isDefault=a.isMine=a.tableOptions=a.tableFilter=a.tableColumns=a.protocolInfos=a.actionInfos=void 0;var l=n(r(164)),o=r(163),s=r(342),d=n(r(133)),u=r(1286),c={allow:t("ALLOW"),deny:t("DENY"),reject:t("REJECT")};a.actionInfos=c;var f={tcp:t("TCP"),udp:t("UDP"),icmp:t("ICMP"),any:t("ANY")};a.protocolInfos=f;var p=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",valueMap:f},{title:t("Source IP"),dataIndex:"source_ip_address"},{title:t("Source Port"),dataIndex:"source_port"},{title:t("Destination IP"),dataIndex:"destination_ip_address"},{title:t("Destination Port"),dataIndex:"destination_port"},{title:t("Rule Action"),dataIndex:"action",valueMap:c},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"}];a.tableColumns=p;var m=[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"protocol",options:(0,o.getOptions)(f)},{label:t("Rule Action"),name:"action",options:(0,o.getOptions)(c)},{label:t("Enabled"),name:"enabled",options:s.yesNoOptions},{label:t("Shared"),name:"shared",options:s.yesNoOptions},(0,u.getDefaultFilter)(t("Hide Default Rules"))];a.tableFilter=m;var h={filterParams:m,columns:p};a.tableOptions=h;a.isMine=e=>e.project_id===d.default.projectId;a.isDefault=e=>{var t;return(0,l.default)(t=["default egress ipv4","default egress ipv6","default ingress ipv4","default ingress ipv6"]).call(t,e.name)}},1321:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ipsecPolicyTransformProtocolOptions=a.ipsecPolicyEncapsulationModeOptions=a.ikePolicyIKEVersionOptions=a.pfsOptions=a.encryptionAlgorithmOptions=a.authAlgorithmOptions=a.vpnStatusOptions=a.vpnStatus=void 0;var l,o,s,d,u,c,f,p=n(r(54)),m=n(r(32)),h={ACTIVE:t("Active"),DOWN:t("Down"),BUILD:t("Build"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.vpnStatus=h;var v=(0,p.default)(l=(0,m.default)(h)).call(l,(e=>({label:h[e],value:e,key:e})));a.vpnStatusOptions=v;var g=(0,p.default)(o=["sha1","sha256","sha384","sha512"]).call(o,(e=>({label:e,value:e,key:e})));a.authAlgorithmOptions=g;var _=(0,p.default)(s=["3des","aes-128","aes-192","aes-256"]).call(s,(e=>({label:e,value:e,key:e})));a.encryptionAlgorithmOptions=_;var b=(0,p.default)(d=["group2","group5","group14"]).call(d,(e=>({label:e,value:e,key:e})));a.pfsOptions=b;var y=(0,p.default)(u=["v1","v2"]).call(u,(e=>({label:e,value:e,key:e})));a.ikePolicyIKEVersionOptions=y;var I=(0,p.default)(c=["tunnel","transport"]).call(c,(e=>({label:e,value:e,key:e})));a.ipsecPolicyEncapsulationModeOptions=I;var A=(0,p.default)(f=["esp","ah","ah-esp"]).call(f,(e=>({label:e,value:e,key:e})));a.ipsecPolicyTransformProtocolOptions=A},1337:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ContainersStore=void 0;var f,p,m=c(a(29)),h=c(a(164)),v=c(a(54)),g=c(a(63)),_=c(a(28)),b=c(a(86)),y=c(a(431)),I=c(a(345)),A=c(a(25)),S=c(a(49)),w=c(a(74)),x=c(a(35)),P=(c(a(75)),c(a(55))),C=c(a(53)),E=c(a(50)),D=a(36),k=a(1338),R=c(a(1306));function N(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t({limit:e,offset:t}))),(0,w.default)(this,"delete",p,this)}get client(){return E.default.barbican.containers}get payloadClient(){return E.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get secretStore(){return new k.SecretsStore}get mapper(){return e=>{var{container_ref:t,algorithm:a}=e,[,r]=t.split("/containers/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return j(j({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,S.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{container_ref:a}=e,r=(0,m.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,h.default)(t).call(t,a)}));return r.length&&(e.listener=(0,v.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}listDidFetch(e){var t=this;return(0,S.default)((function*(){if(0===e.length)return e;var[a,r]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),i=(0,v.default)(e).call(e,(e=>{var{secret_refs:i=[]}=e;return 0===i.length?e.hidden=!0:((0,_.default)(i).call(i,(t=>{var{secret_ref:r=""}=t,[,i]=r.split("/secrets/"),n=(0,b.default)(a).call(a,(e=>e.id===i));n?((0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode})):e.hidden=!0})),t.updateItem(e,r)),j({},e)}));return(0,m.default)(i).call(i,(e=>!0!==e.hidden))}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var a,{secret_refs:r=[]}=e,[i,n]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),l=[];(0,_.default)(r).call(r,function(){var t=(0,S.default)((function*(t){var{secret_ref:a=""}=t,[,r]=a.split("/secrets/"),n=(0,b.default)(i).call(i,(e=>e.id===r));n&&(l.push(n.id),(0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode}))}));return function(e){return t.apply(this,arguments)}}()),t.updateItem(e,n);var o=yield g.default.all((0,v.default)(l).call(l,(e=>t.payloadClient.list(e,{},{headers:{Accept:"text/plain"}}))));return(0,_.default)(a=o||[]).call(a,((e,t)=>{r[t].secret_info.payload=e})),e}))()}create(e){var t=this;return(0,S.default)((function*(){var a={name:e.name,mode:e.mode,payload_content_type:"text/plain",secret_type:"certificate",algorithm:(0,I.default)({domain:e.domain,expiration:e.expiration})},r=j(j({},a),{},{payload:e.certificate}),i=[t.secretStore.create(r)];if("SERVER"===e.mode){var n=j(j({},a),{},{payload:e.private_key});i.push(t.secretStore.create(n))}var[l,o]=yield g.default.all(i),s=[{name:"certificate",secret_ref:l.secret_ref}];o&&s.push({name:"private_key",secret_ref:o.secret_ref});var d={type:"certificate",name:e.name,secret_refs:s};return t.client.create(d)}))()}},(0,P.default)(f.prototype,"create",[D.action],(0,A.default)(f.prototype,"create"),f.prototype),p=(0,P.default)(f.prototype,"delete",[D.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){var e=this;return function(){var t=(0,S.default)((function*(t){var{id:a,secret_refs:r=[]}=t;return yield g.default.all((0,v.default)(r).call(r,(t=>{var{secret_ref:a=""}=t,[,r]=a.split("/secrets/");return e.secretStore.delete({id:r})}))),e.submitting(e.client.delete(a))}));return function(e){return t.apply(this,arguments)}}()}}),f);t.ContainersStore=M;var T=new M;t.default=T},1338:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.SecretsStore=void 0;var f,p=c(a(29)),m=c(a(164)),h=c(a(54)),v=c(a(63)),g=c(a(345)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(53)),w=c(a(50)),x=a(36),P=c(a(1306));function C(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t({limit:e,offset:t})))}get client(){return w.default.barbican.secrets}get payloadClient(){return w.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get paramsFunc(){return e=>E({},e)}get mapper(){return e=>{var{secret_ref:t,algorithm:a}=e,[,r]=t.split("/secrets/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return E(E({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,y.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{secret_ref:a}=e,r=(0,p.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,m.default)(t).call(t,a)}));return r.length&&(e.listener=(0,h.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}fetchDetail(e){var t=this;return(0,y.default)((function*(){var{id:a,silent:r}=e;r||(t.isLoading=!0);var[i,n,l]=yield v.default.all([t.client.show(a,{},{headers:{Accept:"application/json"}}),t.payloadClient.list(a,{},{headers:{Accept:"text/plain"}}),P.default.fetchList()]);i.payload=n,t.updateItem(i,l);var o=t.mapper(i||{});return t.detail=o,t.isLoading=!1,o}))()}listDidFetch(e){var t=this;return(0,y.default)((function*(){if(0===e.length)return e;var a=yield P.default.fetchList();return(0,h.default)(e).call(e,(e=>(t.updateItem(e,a),E({},e))))}))()}create(e){var t=this;return(0,y.default)((function*(){var{expiration:a,domain:r,algorithm:i}=e,n=E(E({},(0,b.default)(e,["expiration","domain","algorithm"])),{},{algorithm:i||(0,g.default)({domain:r,expiration:a})});return t.client.create(n)}))()}},(0,A.default)(f.prototype,"fetchDetail",[x.action],(0,_.default)(f.prototype,"fetchDetail"),f.prototype),(0,A.default)(f.prototype,"create",[x.action],(0,_.default)(f.prototype,"create"),f.prototype),f);t.SecretsStore=D;var k=new D;t.default=k},1339:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIKEPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ikePolicies}get listResponseKey(){return"ikepolicies"}get listFilterByProject(){return!0}}t.VpnIKEPolicyStore=o;var s=new o;t.default=s},1340:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIPsecPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ipsecPolicies}get listResponseKey(){return"ipsecpolicies"}get listFilterByProject(){return!0}}t.VpnIPsecPolicyStore=o;var s=new o;t.default=s},1341:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallStore=void 0;var f=c(a(28)),p=c(a(91)),m=c(a(86)),h=c(a(49)),v=c(a(35)),g=c(a(50)),_=a(1286),b=c(a(53)),y=c(a(460));function I(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function A(e){for(var t=1;tA(A({},e),{},{name:e.name||e.id,notDefault:!(0,_.isDefault)(e)})}listDidFetch(e){var t=this;return(0,h.default)((function*(){var a=[],r=[];if((0,f.default)(e).call(e,(e=>{var{egress_firewall_policy_id:t,ingress_firewall_policy_id:i}=e;(0,p.default)(a).call(a,t)<0&&a.push(t),(0,p.default)(r).call(r,i)<0&&r.push(i)})),0===a.length&&0===r.length)return e;var i=yield t.policyClient.list();return(0,f.default)(e).call(e,(e=>{var t,a,{egress_firewall_policy_id:r,ingress_firewall_policy_id:n}=e;e.egressPolicy=(0,m.default)(t=i.firewall_policies).call(t,(e=>e.id===r)),e.egressPolicyName=e.egressPolicy?e.egressPolicy.name:"-",e.ingressPolicy=(0,m.default)(a=i.firewall_policies).call(a,(e=>e.id===n)),e.ingressPolicyName=e.ingressPolicy?e.ingressPolicy.name:"-"})),e}))()}detailDidFetch(e){var t=this;return(0,h.default)((function*(){var{egress_firewall_policy_id:a,ingress_firewall_policy_id:r,project_id:i}=e;r&&(e.ingress=(yield t.fetchPolicy(r)).firewall_policy),a&&(e.egress=(yield t.fetchPolicy(a)).firewall_policy);var n=yield y.default.fetchProjectDetail({id:i});return e.project_name=n&&n.name||"-",e}))()}fetchPolicy(e){return this.policyClient.show(e)}}t.FirewallStore=S;var w=new S;t.default=w},1358:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnServicesStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.vpnservices}get listFilterByProject(){return!0}}t.VpnServicesStore=o;var s=new o;t.default=s},1359:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnEndPointGroupStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.endpointGroups}get listFilterByProject(){return!0}}t.VpnEndPointGroupStore=o;var s=new o;t.default=s},1360:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSZonesStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(75)),i(a(55))),f=a(36),p=i(a(50)),m=i(a(1646)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this)}get client(){return p.default.designate.zones}create(e){var t=this;return(0,d.default)((function*(){return t.submitting(t.client.create(e))}))()}},(0,c.default)(n.prototype,"create",[f.action],(0,s.default)(n.prototype,"create"),n.prototype),l=(0,c.default)(n.prototype,"delete",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t}=e;return this.submitting(this.client.delete(t))}}}),o=(0,c.default)(n.prototype,"update",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.patch(a,t))}}}),n);t.DNSZonesStore=h;var v=new h;t.default=v},1361:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSRecordSetsStore=void 0;var n,l,o,s,d=i(a(58)),u=i(a(74)),c=i(a(35)),f=i(a(55)),p=(i(a(75)),i(a(50))),m=a(36),h=i(a(1646)),v=(n=class extends h.default{constructor(){super(...arguments),(0,c.default)(this,"getFatherResourceId",(e=>e.zoneId||e.id)),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this),(0,u.default)(this,"create",s,this)}get client(){return p.default.designate.zones.recordsets}get isSubResource(){return!0}get paramsFuncPage(){return e=>{var{id:t,zoneId:a,all_projects:r,current:i}=e;return(0,d.default)(e,["id","zoneId","all_projects","current"])}}},l=(0,f.default)(n.prototype,"delete",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{zone_id:t,recordset_id:a}=e;return this.submitting(this.client.delete(t,a))}}}),o=(0,f.default)(n.prototype,"update",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t,a)=>this.submitting(this.client.update(e,t,a))}}),s=(0,f.default)(n.prototype,"create",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.create(a,t))}}}),n);t.DNSRecordSetsStore=v;var g=new v;t.default=g},1362:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isMine=a.isDefault=a.tableOptions=a.tableFilter=a.tableColumns=void 0;var l=n(r(54)),o=n(r(0)),s=n(r(133)),d=r(1286),u=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Rules"),dataIndex:"rules",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},e.name))):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo"}];a.tableColumns=u;var c=[{label:t("Name"),name:"name"},(0,d.getDefaultFilter)(t("Hide Default Policies"))];a.tableFilter=c;var f={filterParams:c,columns:u};a.tableOptions=f;a.isDefault=e=>"default egress"===e.name||"default ingress"===e.name;a.isMine=e=>e.project_id===s.default.projectId},1363:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallRuleStore=void 0;var f,p=c(a(28)),m=c(a(29)),h=c(a(91)),v=c(a(54)),g=c(a(86)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(119)),w=a(36),x=c(a(50)),P=a(1307),C=c(a(53));function E(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;tD(D({},e),{},{protocol:e.protocol||"any",notDefault:!(0,P.isDefault)(e)})}listDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return(0,p.default)(e).call(e,(e=>{e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0}))})),e}))()}detailDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0})),e}))()}fetchListByPolicy(){var e=arguments,t=this;return(0,y.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{limit:r,page:i,sortKey:n,sortOrder:l,conditions:o}=a,s=(0,b.default)(a,["limit","page","sortKey","sortOrder","conditions"]);t.list.isLoading=!0;var{tab:d,all_projects:u,firewall_rules:c}=s,f=(0,b.default)(s,["tab","all_projects","firewall_rules"]);if(0!==c.length){var p=D({},f);u&&(t.listFilterByProject||(p.all_projects=!0));var m=yield t.client.list(p),h=(0,S.default)(m,t.listResponseKey,[]),_=(0,v.default)(c).call(c,(e=>(0,g.default)(h).call(h,(t=>t.id===e)))),y=(0,v.default)(_).call(_,t.mapper),I=yield t.listDidFetchProject(y,u);return I=yield t.listDidFetch(I,u),t.list.update(D({data:I,total:y.length||0,limit:Number(r)||10,page:Number(i)||1,sortKey:n,sortOrder:l,filters:s,isLoading:!1},t.list.silent?{}:{selectedRowKeys:[]})),I}t.list.isLoading=!1}))()}},(0,A.default)(f.prototype,"fetchListByPolicy",[w.action],(0,_.default)(f.prototype,"fetchListByPolicy"),f.prototype),f);t.FirewallRuleStore=k;var R=new k;t.default=R},1400:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.Algorithm=a.algorithmTip=a.algorithmDict=a.BackendProtocol=void 0;var l,o=n(r(54)),s=n(r(32)),d=[{label:t("TCP"),value:"TCP"},{label:t("PING"),value:"PING"}];a.BackendProtocol=d;var u={LEAST_CONNECTIONS:t("LEAST_CONNECTIONS"),ROUND_ROBIN:t("ROUND_ROBIN"),SOURCE_IP:t("SOURCE_IP")};a.algorithmDict=u;var c={LEAST_CONNECTIONS:t("A dynamic scheduling algorithm that estimates the server load based on the number of currently active connections. The system allocates new connection requests to the server with the least number of current connections. Commonly used for long connection services, such as database connections and other services."),ROUND_ROBIN:t("Each new connection request is assigned to the next server in order, and all requests are finally divided equally among all servers. Commonly used for short connection services, such as HTTP services."),SOURCE_IP:t("Perform a consistent hash operation on the source IP address of the request to obtain a specific value. At the same time, the back-end server is numbered, and the request is distributed to the server with the corresponding number according to the calculation result. This can enable load distribution of visits from different source IPs, and at the same time enable requests from the same client IP to always be dispatched to a specific server. This method is suitable for load balancing TCP protocol without cookie function.")};a.algorithmTip=c;var f=(0,o.default)(l=(0,s.default)(u)).call(l,(e=>({label:u[e],value:e})));a.Algorithm=f},1401:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.pools}get listFilterByProject(){return!0}}t.PoolStore=o;var s=new o;t.default=s},1402:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolMemberStore=void 0;var n,l,o=i(a(25)),s=i(a(74)),d=(i(a(35)),i(a(75)),i(a(55))),u=a(36),c=i(a(50)),f=i(a(53)),p=(n=class extends f.default{constructor(){super(...arguments),(0,s.default)(this,"delete",l,this)}get client(){return this.poolClient.members}get poolClient(){return c.default.octavia.pools}get responseKey(){return"member"}get listFilterByProject(){return!0}listFetchByClient(e,t){var{pool_id:a}=t;return this.client.list(a)}create(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.client.create(t,r))}batchUpdate(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.poolClient.batchUpdateMembers(t,r))}update(e){var{default_pool_id:t,member_id:a,data:r}=e,i={};return i[this.responseKey]=r,this.submitting(this.client.update(t,a,i))}},(0,d.default)(n.prototype,"create",[u.action],(0,o.default)(n.prototype,"create"),n.prototype),(0,d.default)(n.prototype,"batchUpdate",[u.action],(0,o.default)(n.prototype,"batchUpdate"),n.prototype),(0,d.default)(n.prototype,"update",[u.action],(0,o.default)(n.prototype,"update"),n.prototype),l=(0,d.default)(n.prototype,"delete",[u.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t,default_pool_id:a}=e;return this.submitting(this.client.delete(a,t))}}}),n);t.PoolMemberStore=p;var m=new p;t.default=m},1403:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.ReverseStore=void 0;var n,l,o,s=i(a(634)),d=i(a(74)),u=(i(a(35)),i(a(55))),c=(i(a(75)),a(36)),f=i(a(50)),p=i(a(53)),m=(n=class extends p.default{constructor(){super(...arguments),(0,d.default)(this,"set",l,this),(0,d.default)(this,"unset",o,this)}get client(){return(0,s.default)(f.default.designate).floatingips}get reverseClient(){return(0,s.default)(f.default.designate)}get isSubResource(){return!0}detailFetchByClient(e){var{id:t}=e;return this.reverseClient.reverseDetail(t)}get paramsFunc(){return()=>{}}},l=(0,u.default)(n.prototype,"set",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.setReverse(a,t))}}}),o=(0,u.default)(n.prototype,"unset",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.unsetReverse(a,t))}}}),n);t.ReverseStore=m;var h=new m;t.default=h},1404:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ZONE_STATUS=a.validateZoneName=a.zoneNameMessage=a.zoneNameRegex=a.zoneTypeOptions=a.ZONE_TYPES=a.ZONE_TYPE_ENUM=void 0;var l=n(r(63)),o=n(r(430)),s=r(163),d={primary:"PRIMARY",secondary:"SECONDARY"};a.ZONE_TYPE_ENUM=d;var u={[d.primary]:t("Primary"),[d.secondary]:t("Secondary")};a.ZONE_TYPES=u;var c=(0,s.getOptions)(u);a.zoneTypeOptions=c;var f=/^.+\.$/;a.zoneNameRegex=f;var p=t('The zone name should end with "."');a.zoneNameMessage=p;a.validateZoneName=(e,a)=>a?f.test(a)?(0,o.default)(a).call(a).split(".").length<=1?l.default.reject(new Error(t('More than one label is required, such as: "example.org."'))):l.default.resolve():l.default.reject(p):l.default.resolve();var m={ACTIVE:t("Active"),PENDING:t("Pending"),ERROR:t("Error")};a.ZONE_STATUS=m},1405:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.RECORD_STATUS=a.getRecordSetFormItem=a.validateName=a.nameMessage=a.nameRegex=a.dnsRRTypeList=a.getRecordSetType=a.DNS_RECORD_TYPE=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(596)),d=n(r(32)),u=n(r(63)),c=n(r(164)),f=n(r(28)),p=n(r(134)),m=n(r(0)),h=r(565),v=r(1404),g={A:{name:t("Address Record"),nameExtra:"example.com.",recordsExtra:"192.168.1.1"},AAAA:{name:t("IPv6 Address Record"),nameExtra:"example.com.",recordsExtra:"2001:db8:3333:4444:5555:6666:7777:8888"},CAA:{name:t("Certificate Authority Authorization Record"),nameExtra:"example.com.",recordsExtra:t('0 iodef mailto:security@example.com
  • 0: is flag. An unsigned integer between 0-255.
  • iodef: An ASCII string that represents the identifier of the property represented by the record.
    Available Tags: "issue", "issuewild", "iodef"
  • mailto:security@example.com: The value associated with the tag.
')},CNAME:{name:t("Canonical Name Record"),nameExtra:"first.example.com.",recordsExtra:"other-example.com"},MX:{name:t("Mail Exchange Record"),nameExtra:"example.com.",recordsExtra:t("10 mail.example.com
  • 10: Priority
  • mail.example.com: Value
")},NS:{name:t("Name Server"),nameExtra:"example.com.",recordsExtra:"ns1.example.com"},PTR:{name:t("Pointer Record"),nameExtra:"example.com.",recordsExtra:"1.1.0.192.in-addr.arpa."},SOA:{name:t("Start Of Authority"),nameExtra:"example.com.",recordsExtra:t("ns1.example.com admin.example.com 2013022001 86400 7200 604800 300
  • The primary name server for the domain, which is ns1.example.com or the first name server in the vanity name server list.
  • The responsible party for the domain: admin.example.com.
  • A timestamp that changes whenever you update your domain.
  • The number of seconds before the zone should be refreshed.
  • The number of seconds before a failed refresh should be retried.
  • The upper limit in seconds before a zone is considered no longer authoritative.
  • The negative result TTL (for example, how long a resolver should consider a negative result for a subdomain to be valid before retrying).
")},SPF:{name:t("Sender Policy Framework"),nameExtra:"example.com.",recordsExtra:t('"v=spf1 ipv4=192.1.1.1 include:examplesender.email +all"
  • v=spf1: Tells the server that this contains an SPF record. Every SPF record must begin with this string.
  • Guest List: Then comes the “guest list” portion of the SPF record or the list of authorized IP addresses. In this example, the SPF record is telling the server that ipv4=192.1.1.1 is authorized to send emails on behalf of the domain.
  • include:examplesender.net: is an example of the include tag, which tells the server what third-party organizations are authorized to send emails on behalf of the domain. This tag signals that the content of the SPF record for the included domain (examplesender.net) should be checked and the IP addresses it contains should also be considered authorized. Multiple domains can be included within an SPF record but this tag will only work for valid domains.
  • -all: Tells, the server that addresses not listed in the SPF record are not authorized to send emails and should be rejected.
')},SRV:{name:t("Service Locator"),nameExtra:"_sip._tcp.example.com.
  • _sip: represents the name of the service.
  • _tcp: represents the protocol of the service, this is usually either TCP or UDP.
  • example.com: represents the domain in which this record is for.
",recordsExtra:t('10 0 5060 server1.example.com.
  • "10" is the priority of the record. The lower the value, the higher the priority.
  • 0 is the weight of the record. This is the weight of which this record has a chance to be used when there are multiple matching SRV records of the same priority.
  • 5060 is the port of the record. This specifies the port on which the application or service is running.
  • server1.example.com is the target of the record. This specifies the domain of the application or service the record is for. SRV records must specify a target which is either an A record or AAAA record, and may not use CNAME records.
')},SSHFP:{name:t("SSH Public Key Fingerprint"),nameExtra:"example.com.",recordsExtra:t("4 2 123456789abcdef67890123456789abcdef67890123456789abcdef123456789
  • 4 is Algorithm: Algorithm (0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519; 6:Ed448)
  • 2 is Type: Algorithm used to hash the public key (0: reserved; 1: SHA-1; 2: SHA-256)
  • Last parameter is Fingerprint: Hexadecimal representation of the hash result, as text
")},TXT:{name:t("Text Record"),nameExtra:"example.com."}};a.DNS_RECORD_TYPE=g;a.getRecordSetType=e=>{var t;return g[e]?(0,l.default)(t="".concat(e," - ")).call(t,g[e].name):e};var _=()=>{var e,t;return(0,o.default)(e=(0,s.default)(t=(0,d.default)(g)).call(t)).call(e,(e=>{var t;return{label:(0,l.default)(t="".concat(e," - ")).call(t,g[e].name),value:e,key:e}}))};a.dnsRRTypeList=_;var b=/^.+\.$/;a.nameRegex=b;var y=t('The name should be end with "."');a.nameMessage=y;var I=(e,t)=>t?b.test(t)?u.default.resolve():u.default.reject(y):u.default.resolve();a.validateName=I;a.getRecordSetFormItem=(e,a)=>[{name:"type",label:t("Type"),type:"select",options:_(),onChange:a=>{var r,i,n;(0,c.default)(r=(0,d.default)(g)).call(r,a)&&e.setState({nameExtra:(0,l.default)(i="".concat(t("Exp: "))).call(i,g[a].nameExtra),recordsExtra:(0,p.default)(g[a].recordsExtra)?(0,l.default)(n="".concat(t("Exp: "))).call(n,g[a].recordsExtra):""})},required:!0},{name:"name",label:t("Name"),type:"input",required:!0,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),validator:I},{name:"description",label:t("Description"),type:"textarea"},{name:"ttl",label:t("TTL"),type:"input-number",required:!0},{name:"records",label:t("Records"),type:"add-select",isInput:!0,required:!0,placeholder:t("Please input at least one record"),width:280,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),validator:(e,r)=>{var{type:i}=a,{isIPv4:n,isIpv6:l}=h.ipValidate;return new u.default((e=>{r&&(0,f.default)(r).call(r,(e=>{if("A"===i&&!n(e.value))throw new Error(t("Please enter a valid IPv4 value."));if("AAAA"===i&&!l(e.value))throw new Error(t("Please enter a valid IPv6 value."))})),e()}))}}];var A=v.ZONE_STATUS;a.RECORD_STATUS=A},1406:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.anyProject=a.objectTypes=void 0;var i={network:t("Network"),qos_policy:t("QoS Policy")};a.objectTypes=i;a.anyProject={id:"*",name:"*"}},1471:function(e,t,a){var r=a(3860);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},1472:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3966)),l=i(a(3968)),o=i(a(3969)),s={actionConfigsContainer:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsSecret:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[n.default]}};t.default=s},1473:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.tableOptions=a.tableFilter=a.tableColumns=a.routerInterfaceOwners=a.instanceInterfaceOwners=void 0;var l=n(r(164)),o=r(163),s=r(1258);a.instanceInterfaceOwners=["compute:nova"];a.routerInterfaceOwners=["network:router_interface","network:ha_router_replicated_interface","network:router_interface_distributed"];var d=[{title:t("Port"),dataIndex:"id",width:150},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet"),dataIndex:"subnet_name"},{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Owner"),dataIndex:"owner"},{title:t("Device"),dataIndex:"device_name"},{title:t("Status"),dataIndex:"status",valueMap:s.portStatus}];a.tableColumns=d;var u=[{label:t("Network"),name:"network",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Device"),name:"router",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Status"),name:"status",options:(0,o.getOptions)(s.portStatus)}];a.tableFilter=u;var c={filterParams:u,columns:d};a.tableOptions=c},1474:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var m=p(r(63)),h=p(r(430)),v=p(r(1277)),g=p(r(54)),_=p(r(32)),b=p(r(164)),y=p(r(49)),I=p(r(58)),A=p(r(35)),S=p(r(601)),w=r(412),x=r(1241),P=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(1363)),C=r(1307),E=r(565),D=r(36),k=r(1251),R=r(571);function N(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(N=function(e){return e?a:t})(e)}function j(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function M(e){for(var t=1;t(a,r)=>{var i="source"===e?t("Source IP"):t("Destination IP");if(!r)return m.default.resolve();var n=(0,h.default)(r).call(r);if((0,S.default)(r)||0===n.length)return m.default.resolve();var{ip_version:l=4}=this.state,o=4===l;return!o||F(n)||O(n)?o||L(n)||Q(n)?m.default.resolve():m.default.reject(t("{ name } Format Error (e.g. FE80:0:0:0:0:0:0:1 or FE80:0:0:0:0:0:0:1/10)",{name:i})):m.default.reject(t("{ name } Format Error (e.g. 192.168.1.1 or 192.168.1.1/24)",{name:i}))})),(0,A.default)(this,"checkSourceIp",(()=>this.checkIp("source"))),(0,A.default)(this,"checkDestinationIp",(()=>this.checkIp("destination"))),(0,A.default)(this,"canChangeShared",(()=>{if(!(0,k.checkPolicyRule)("update_firewall_rule:shared"))return!1;if(this.id){var e,t=(0,D.toJS)(this.store.detail);return(0,v.default)(e=t.policies||[]).call(e,(e=>!e.shared))}return!0})),(0,A.default)(this,"onSubmit",(e=>{var{options:{enabled:t,shared:a},protocol:r,destination_ip_address:i,source_ip_address:n,source_port:l,destination_port:o}=e,s=M(M({},(0,I.default)(e,["options","protocol","destination_ip_address","source_ip_address","source_port","destination_port"])),{},{enabled:t,protocol:"any"===r?null:r,destination_ip_address:i||null,source_ip_address:n||null,source_port:l||null,destination_port:o||null});return this.canChangeShared()&&(s.shared=a),this.id?P.default.edit({id:this.id},s):P.default.create(s)}))}init(){this.store=new P.FirewallRuleStore,this.getDetail(),(0,R.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get isEdit(){return this.params&&!!this.params.id}get name(){return this.isEdit?t("Edit rule"):t("Create rule")}get id(){return this.params.id}static allowed(){return m.default.resolve(!0)}get disableSubmit(){return!this.isEdit&&(0,R.checkQuotaDisable)(T,B)}get showQuota(){return!this.isEdit}get quotaInfo(){return(0,R.getQuotaInfo)(this,T,B)}get defaultValue(){if(this.id){var e=(0,D.toJS)(this.store.detail);return M(M({},e),{},{options:{enabled:e.enabled,shared:e.shared}})}return{protocol:"tcp",action:"allow",ip_version:4,options:{enabled:!0,shared:!1}}}get protocolList(){var e;return(0,g.default)(e=(0,_.default)(C.protocolInfos)).call(e,(e=>({value:e,label:C.protocolInfos[e]})))}get actionList(){var e;return(0,g.default)(e=(0,_.default)(C.actionInfos)).call(e,(e=>({value:e,label:C.actionInfos[e]})))}get ipVersionList(){return[{value:4,label:t("IPv4")},{value:6,label:t("IPv6")}]}getDetail(){var e=this;return(0,y.default)((function*(){e.params.id&&(yield e.store.fetchDetail(e.params),e.updateDefaultValue(),e.updateState())}))()}get formItems(){var e,a,{protocol:r}=this.state;return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"protocol",label:t("Protocol"),type:"radio",options:this.protocolList,required:!0},{name:"action",label:t("Rule Action"),type:"select",options:this.actionList,required:!0},{name:"ip_version",label:t("IP Version"),type:"radio",options:this.ipVersionList},{name:"source_ip_address",label:t("Source IP Address/Subnet"),type:"input",validator:this.checkSourceIp()},{name:"source_port",label:t("Source Port/Port Range"),type:"port-range",hidden:(0,b.default)(e=["any","icmp"]).call(e,r)},{name:"destination_ip_address",label:t("Destination IP Address/Subnet"),type:"input",validator:this.checkDestinationIp()},{name:"destination_port",label:t("Destination Port/Port Range"),type:"input",help:t("Input destination port or port range (example: 80 or 80:160)"),hidden:(0,b.default)(a=["any","icmp"]).call(a,r)},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Enabled"),value:"enabled"},{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=q,(0,A.default)(q,"id","rule-create"),(0,A.default)(q,"title",t("Create Rule")),(0,A.default)(q,"path","/network/firewall-rule/create"),(0,A.default)(q,"policy","create_firewall_rule");var V=(0,w.inject)("rootStore")((0,w.observer)(q));a.default=V},1625:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Networks=void 0;var p=f(r(573)),m=f(r(29)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(571),b=r(233),y=r(342),I=f(r(1626));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;tthis.isAdminPage||this.isAllTab?S(S({},e),{},{all_projects:!0}):this.isProjectTab?S(S({},e),{},{project_id:this.currentProjectId}):this.isSharedTab?S(S({},e),{},{shared:!0}):this.isExternalTab?S(S({},e),{},{"router:external":!0}):S({},e)))}init(){this.store=new b.NetworkStore,this.downloadStore=new b.NetworkStore}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"status"}get policy(){return"get_network"}get name(){return t("networks")}get actionConfigs(){return I.default}get hasTab(){return!this.isAdminPage}get adminPageHasProjectFilter(){return!0}get tab(){if(this.isAdminPage)return null;var{tab:e="projectNetwork"}=this.props;return e}get isProjectTab(){return"projectNetwork"===this.tab}get isSharedTab(){return"sharedNetwork"===this.tab}get isExternalTab(){return"externalNetwork"===this.tab}get isAllTab(){return"allNetwork"===this.tab}getColumns(){var e=(0,_.networkColumns)(this);return this.isAdminPage||this.isAllTab?((0,p.default)(e).call(e,1,0,{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,sortKey:"project_id"}),e):this.isProjectTab?(0,m.default)(e).call(e,(e=>"tenant_id"!==e.dataIndex)):this.isSharedTab?(0,m.default)(e).call(e,(e=>"shared"!==e.dataIndex)):this.isExternalTab?(0,m.default)(e).call(e,(e=>"router:external"!==e.dataIndex)):e}get searchFilters(){var e={label:t("Name"),name:"name"},a={label:t("Shared"),name:"shared",options:y.yesNoOptions},r={label:t("External"),name:"router:external",options:y.yesNoOptions},i={label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]};return this.isSharedTab?[e,r,i]:this.isExternalTab?[e,a,i]:[e,a,r]}}a.Networks=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},1626:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1627)),l=i(a(1629)),o=i(a(3832)),s={rowActions:{firstAction:i(a(3833)).default,moreActions:[{action:l.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.default=s},1627:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateNetwork=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(91)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=f(r(352)),I=f(r(177)),A=r(412),S=r(1241),w=r(565),x=f(r(233)),P=f(r(340)),C=f(r(1270)),E=r(1251),D=f(r(1628)),k=r(571),R=r(1265),N=r(163),j=r(36),M=f(r(621));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],{left:r=0}=e||{},{left:i=0}=t||{};return a?0!==r&&0!==i?1:0:0!==r?1:0};class Y extends S.ModalAction{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var{name:t,project_id:a,provider_network_type:r,provider_physical_network:i,provider_segmentation_id:n,shared:l,external_network:o,availableZone:s,allocation_pools:d,host_routes:u,description:c,mtu:f,port_security_enabled:p}=e,m=(0,_.default)(e,["name","project_id","provider_network_type","provider_physical_network","provider_segmentation_id","shared","external_network","availableZone","allocation_pools","host_routes","description","mtu","port_security_enabled"]),h=K(d),v=G(u),g={name:t,description:c,port_security_enabled:p};s&&(g.availability_zone_hints=[s]),f&&(g.mtu=f);var b={"router:external":o,project_id:a?a.selectedRowKeys[0]:this.currentProjectId,"provider:network_type":r,"provider:physical_network":i,"provider:segmentation_id":n},y={shared:l},I=B({},g);return this.isAdminPage&&(I=B(B({},I),b)),this.isSystemAdmin&&(I=B(B({},I),y)),x.default.createAndMore(I,B(B({},m),{},{allocation_pools:h,host_routes:v}))})),(0,b.default)(this,"onOk",((e,a,r)=>(this.values=e,this.onSubmit(e,a).then((()=>{!this.isModal&&this.routing.push(this.listUrl),C.default.success(this.successText),r&&(0,y.default)(r)&&r(!0,!1)}),(a=>{var{type:i,error:n}=JSON.parse(a);"create_network"===i?C.default.errorWithDetail(n,this.errorText):"create_subnet"===i&&C.default.errorWithDetail(n,t("Unable to {action}, instance: {name}.",{action:t("Create Subnet"),name:e.subnet_name})),r&&(0,y.default)(r)&&r(!1,!0)}))))),(0,b.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!z(e))&&!("ipv6"===t&&!J(e))})),(0,b.default)(this,"checkGateway",(e=>!!(0,I.default)(e)||!!W(e))),(0,b.default)(this,"validateAllocationPools",((e,t)=>Q.call(this,e,t))),(0,b.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))})),(0,b.default)(this,"onCreateSubnetChange",(e=>{this.setState({create_subnet:e}),x.default.updateCreateWithSubnet(e)}))}get name(){return t("create network")}static get modalSize(){var{pathname:e}=window.location;return(0,N.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){x.default.updateCreateWithSubnet(!1),this.state.networkQuota={},this.state.subnetQuota={},this.state.quotaLoading=!0,this.state.create_subnet=!1,this.state.projectId=this.currentProjectId,this.projectStore=P.default,D.default.fetchAvailableZones(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}get isSystemAdmin(){return(0,E.checkSystemAdmin)()}static get disableSubmit(){var{neutronQuota:{network:e={},subnet:t={}}}=P.default,{createWithSubnet:a=!1}=x.default;return 0===X(e,t,a)}static get showQuota(){return!0}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,j.toJS)(this.projectStore.list.data)||[]}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{network:r={},subnet:i={}}=a||{};e.setState({networkQuota:r,subnetQuota:i,quotaLoading:!1})}))()}get quotaInfo(){var{networkQuota:e={},subnetQuota:a={},quotaLoading:r,create_subnet:i}=this.state;if(r)return[];var n=X(e,a,i);return[B(B({},e),{},{add:n,name:"network",title:t("Network")}),B(B({},a),{},{add:i?n:0,name:"subnet",title:t("Subnet"),type:"line"})]}get defaultValue(){var e={enable_dhcp:!0,provider_network_type:"vxlan",ip_version:"ipv4",disable_gateway:!1,more:!1,port_security_enabled:!0,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get availableZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=D.default.availableZones||[]).call(t,(e=>"available"===e.state&&"network"===e.resource))).call(e,(e=>({value:e.name,label:e.name})))}get SegIDTips(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215");case"vlan":return t("For VLAN networks, valid segmentation IDs are 1 to 4094");case"gre":return t("For GRE networks, valid segmentation IDs are 1 to 4294967295");default:return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215")}}get SegMax(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return 16777215;case"vlan":return 4094;case"gre":return 4294967295;default:return 16777215}}get formItems(){var{more:e,create_subnet:a=!1,provider_network_type:r="vxlan",ip_version:i="ipv4",disable_gateway:n=!1}=this.state,l=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,o=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,s=this.isAdminPage&&(0,h.default)(L).call(L,r)>-1,d=this.isAdminPage&&(0,h.default)(O).call(O,r)>-1,u="ipv4"===i;return[{name:"name",label:t("Network Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones},{name:"mtu",label:t("MTU"),type:"input-number",min:68,max:9e3,extra:t("Minimum value is 68 for IPv4, and 1280 for IPv6.")},{name:"create_subnet",label:t("Create Subnet"),type:"check",onChange:this.onCreateSubnetChange},{name:"shared",label:t("Shared"),type:"check",hidden:!this.isSystemAdmin},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"external_network",label:t("External Network"),type:"check",hidden:!this.isAdminPage},B({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},R.projectTableOptions),{name:"provider_network_type",label:t("Provider Network Type"),type:"select",hidden:!this.isAdminPage,required:this.isAdminPage,options:[{label:"vxlan",value:"vxlan"},{label:"flat",value:"flat"},{label:"vlan",value:"vlan"},{label:"gre",value:"gre"}],onChange:e=>{this.setState({provider_network_type:e})}},{name:"provider_physical_network",label:t("Provider Physical Network"),type:"input",hidden:!l,required:o},{name:"provider_segmentation_id",label:t("Segmentation ID"),type:"input-int",hidden:!s,required:d,min:1,max:this.SegMax,extra:this.SegIDTips},{name:"subnet_name",label:t("Subnet Name"),hidden:!a,type:"input",required:a,validator:Z},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0,hidden:!a},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?v.default.resolve():r&&r!==a?v.default.reject(new Error(t("Invalid combination"))):v.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i},{name:"cidr",label:t("CIDR"),type:"input",placeholder:u?"192.168.0.0/24":"1001:1001::/64",required:a,validator:(e,r)=>a||r?(0,I.default)(r)||this.checkCidr(r)?v.default.resolve():v.default.reject(new Error(t("Invalid: ")+t("CIDR"))):v.default.resolve(),hidden:!a,tip:u?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!(a&&e)},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===i?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(a&&e&&!n),validator:"ipv6"===i?(e,a)=>this.checkGateway(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!(a&&e)},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:u?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!(a&&e),validator:this.validateAllocationPools,dependencies:["gateway_ip"]},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:u?"114.114.114.114":"1001:1001::/64"}),hidden:!(a&&e),validator:u?q:V},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:u?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!(a&&e),validator:u?H:U},{name:"more",label:t("Advanced Options"),type:"more",hidden:!a}]}}a.CreateNetwork=Y,(0,b.default)(Y,"id","create-network"),(0,b.default)(Y,"title",t("Create Network")),(0,b.default)(Y,"policy",["create_network","create_subnet"]),(0,b.default)(Y,"allowed",(()=>v.default.resolve(!0)));var $=(0,A.inject)("rootStore")((0,A.observer)(Y));a.default=$},1628:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.NeutronStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(55))),f=(i(a(75)),a(36)),p=i(a(50)),m=i(a(53)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"availableZones",l,this),(0,u.default)(this,"zoneLoading",o,this)}get zoneClient(){return p.default.neutron.azones}fetchAvailableZones(){var e=this;return(0,d.default)((function*(){e.zoneLoading=!0;var t=yield e.zoneClient.list(),{availability_zones:a=[]}=t;e.availableZones=a,e.zoneLoading=!1}))()}},l=(0,c.default)(n.prototype,"availableZones",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),o=(0,c.default)(n.prototype,"zoneLoading",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,c.default)(n.prototype,"fetchAvailableZones",[f.action],(0,s.default)(n.prototype,"fetchAvailableZones"),n.prototype),n);t.NeutronStore=h;var v=new h;t.default=v},1629:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSubnet=void 0;var p=f(r(1252)),m=f(r(63)),h=f(r(49)),v=f(r(58)),g=f(r(35)),_=f(r(177)),b=r(412),y=r(1241),I=r(565),A=f(r(233)),S=f(r(340)),w=f(r(133)),x=r(571),P=r(1265),C=r(36),E=f(r(621));function D(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!L(e))&&!("ipv6"===t&&!O(e))})),(0,g.default)(this,"checkGateway",(e=>!!(0,_.default)(e)||!!Q(e))),(0,g.default)(this,"onSubmit",(e=>{var{allocation_pools:t,host_routes:a,project_id:r}=e,i=(0,v.default)(e,["allocation_pools","host_routes","project_id"]),n=B(t),l=F(a);return A.default.createSubnet(k(k({},i),{},{project_id:r?r.selectedRowKeys[0]:this.currentProjectId,network_id:this.network.id,allocation_pools:n,host_routes:l}))})),(0,g.default)(this,"validateAllocationPools",((e,t)=>R.call(this,e,t))),(0,g.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Create Subnet")}static get modalSize(){return w.default.hasAdminRole?"large":"small"}getModalSize(){return this.isSystemAdmin?"large":"small"}get network(){return this.props.containerProps.detail||this.item||{}}get instanceName(){return this.item.name||(0,p.default)(this).subnet_name}get defaultValue(){var e={enable_dhcp:!0,ip_version:"ipv4",disable_gateway:!1,more:!1,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isSystemAdmin&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}init(){this.state.projectId=this.currentProjectId,this.state.quota={},this.state.quotaLoading=!0,this.projectStore=S.default,this.isSystemAdmin&&this.getProjects(),this.getQuota()}getProjects(){var e=this;return(0,h.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,C.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{subnet:{left:e=0}={}}}=S.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{subnet:r={}}=a||{};e.setState({quota:r,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"subnet",title:t("Subnet")})]}get isSystemAdmin(){return this.props.rootStore.hasAdminRole}get networkProjectId(){var{project_id:e}=this.item;if(e)return e;var{detail:t={}}=this.containerProps;return t.project_id}get formItems(){var{more:e,ip_version:a="ipv4",disable_gateway:r=!1,projectId:i}=this.state,n="ipv4"===a;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0,withoutChinese:!0},k({name:"project_id",label:t("Project"),type:"select-table",required:!0,hidden:!this.isSystemAdmin,extra:i!==this.networkProjectId&&t("The selected project is different from the project to which the network belongs. That is, the subnet to be created is not under the same project as the network. Please do not continue unless you are quite sure what you are doing."),isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?m.default.resolve():r&&r!==a?m.default.reject(new Error(t("Invalid combination"))):m.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a},{name:"cidr",label:t("CIDR"),type:"input",placeholder:n?"192.168.0.0/24":"1001:1001::/64",required:!0,validator:(e,a)=>(0,_.default)(a)||this.checkCidr(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: ")+t("CIDR"))),tip:n?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===a?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!r),validator:"ipv6"===a?(e,a)=>this.checkGateway(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:n?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!e,validator:this.validateAllocationPools},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:n?"114.114.114.114":"1001:1001::"}),hidden:!e,validator:n?N:j},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:n?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!e,validator:n?M:T},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateSubnet=q,(0,g.default)(q,"id","create-subnet"),(0,g.default)(q,"title",t("Create Subnet")),(0,g.default)(q,"policy","create_subnet"),(0,g.default)(q,"allowed",((e,t)=>{var{project_id:a}=e||{},{detail:{project_id:r}={}}=t||{},i=a||r,n=w.default,{hasAdminRole:l=!1,user:{project:{id:o}={}}={}}=n;return l||i===o?m.default.resolve(!0):m.default.resolve(!1)}));var V=(0,b.inject)("rootStore")((0,b.observer)(q));a.default=V},1630:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1629)),l=i(a(3836)),o={rowActions:{firstAction:i(a(3837)).default,moreActions:[{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]};t.default=o},1631:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1632)),l=i(a(3842)),o=i(a(3843)),s=i(a(3844)),d=i(a(3845)),u=i(a(3846)),c=i(a(3847)),f=i(a(3848)),p=i(a(3849)),m={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:u.default},{action:c.default},{action:l.default},{action:s.default},{action:d.default},{action:f.default},{action:p.default}]},primaryActions:[n.default],batchActions:[l.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default]}};t.default=m},1632:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=f(r(570)),y=r(412),I=r(575),A=r(233),S=f(r(1628)),w=f(r(340)),x=r(1241),P=r(571),C=r(1393);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{(0,b.default)(e,"openExternalNetwork")&&this.setState({openExternalNetwork:e.openExternalNetwork})})),(0,_.default)(this,"onSubmit",(e=>{var{openExternalNetwork:t,externalNetwork:a,hints:r={}}=e,i=(0,g.default)(e,["openExternalNetwork","externalNetwork","hints"]),n=t?{external_gateway_info:{network_id:a.selectedRows[0].id}}:null,l=r.selectedRowKeys||[];return this.store.create(D(D(D({},i),n),{},{availability_zone_hints:l}))}))}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=new I.RouterStore,this.networkStore=new A.NetworkStore,this.projectStore=w.default,this.fetchAzones(),this.getQuota()}get name(){return t("create router")}static get modalSize(){return"large"}getModalSize(){return"large"}fetchAzones(){S.default.fetchAvailableZones()}get aZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=S.default.availableZones||[]).call(t,(e=>"available"===e.state&&"router"===e.resource))).call(e,(e=>D(D({},e),{},{id:e.name})))}static get disableSubmit(){var{neutronQuota:{router:{left:e=0}={}}={}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{router:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[D(D({},e),{},{add:i,name:"router",title:t("Router")})]}get defaultValue(){return{openExternalNetwork:!1}}get formItems(){var{openExternalNetwork:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"hints",label:t("Availability Zone Hints"),type:"select-table",data:this.aZones,isLoading:S.default.zoneLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("State"),dataIndex:"state",valueMap:C.availabilityZoneState},{title:t("Resource Type"),dataIndex:"resource",valueMap:C.availabilityZoneResource}]},{name:"openExternalNetwork",label:t("Options"),type:"check",content:t("Open External Gateway")},{name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:e,hidden:!e,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:P.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.Create=k,(0,_.default)(k,"id","create"),(0,_.default)(k,"title",t("Create Router")),(0,_.default)(k,"policy","create_router"),(0,_.default)(k,"allowed",(()=>h.default.resolve(!0)));var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},1633:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(91)),s=n(r(54)),d=n(r(77));r(589);var u=n(r(590));r(1384);var c=n(r(1385));r(231);var f=n(r(341));r(1303);var p=n(r(1290)),m=n(r(35)),h=n(r(0)),v=r(163),g=r(580),_=r(1267),b=(r(161),r(204)),y=n(r(3863)),I=n(r(1471));class A extends h.default.Component{constructor(e){super(e),(0,m.default)(this,"detailButtons",(()=>[{name:t("Clear Gateway"),click:null},{name:t("Associate IP"),click:null},{name:t("Associate Network"),click:null},{name:t("delete"),type:"danger",click:null}])),this.state={}}get statusMap(){return{SHUTOFF:{status:"default",text:t("Shutoff")},ACTIVE:{color:"green",text:t("Active")}}}get detailInfos(){var{data:{subnets:e}}=this.props,a=(0,l.default)(e).call(e,(e=>{var t;return-1===(0,o.default)(t=e.name).call(t,"HA subnet tenant")}));return[{title:t("Name"),dataIndex:"name",render:(e,t)=>e?h.default.createElement(b.Link,{to:"/network/router/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",render:e=>_.routerStatus[e]||e},{title:t("External Fixed IP"),dataIndex:"external_gateway_info",isHideable:!0,render:e=>{var t;return(0,s.default)(t=(e||{}).external_fixed_ips||[]).call(t,(e=>h.default.createElement("span",{key:e.ip_address},e.ip_address,h.default.createElement("br",null))))||"-"}},{title:t("Subnet"),dataIndex:"subnets",render:e=>{if(!a[0])return"-";var t=(0,l.default)(a).call(a,(t=>-1!==(0,o.default)(e).call(e,t.id)));return(0,s.default)(t).call(t,(e=>h.default.createElement("span",{key:e.id},e.name," (",e.cidr,")",h.default.createElement("br",null))))}}]}renderCardInfos(e){var t,a=(0,s.default)(t=this.detailInfos).call(t,(t=>{var a,{title:r,dataIndex:i,render:n}=t;return!this.isLoading&&e&&e.id?(a=n?n(e[i],e):e[i],"create_time"!==i&&"update_time"!==i&&"created_at"!==i||n||(a=(0,g.getLocalTimeStr)(a)),void 0===a&&(a="-")):a="-",{label:r,content:a}}));return h.default.createElement(p.default,{column:1,className:I.default["descriptions-item"]},(0,s.default)(a).call(a,(e=>h.default.createElement(p.default.Item,{label:e.label,key:"label-".concat((0,v.generateId)())},e.content))))}renderButton(){var e=this.detailButtons();return h.default.createElement("div",{className:I.default["card-button"]},(0,s.default)(e).call(e,(e=>h.default.createElement(f.default,{type:e.type?e.type:"primary"},e.name))))}renderCard(e,t){return h.default.createElement("div",{style:{width:e}},this.renderCardInfos(t))}renderTitle(e,t){var a;return h.default.createElement("div",{className:I.default["node-card-title"]},(0,d.default)(a="".concat(e,": ")).call(a,t))}render(){var{x:e,y:a}=this.props,{data:{routers:r},infoIndex:i}=this.props,n=r[i];return h.default.createElement("div",{className:I.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e,"px")}},h.default.createElement(u.default,{placement:"rightTop",content:this.renderCard(430,n),title:this.renderTitle(t("Router"),n.name)},h.default.createElement("div",{style:{textAlign:"center",width:"50px",height:"50px",overflow:"hidden"}},h.default.createElement(c.default,{src:y.default,shape:"square",size:30}),h.default.createElement("div",{style:{transform:"scale(0.9,1)"}},n.name))))}}a.default=A},1634:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=r(412),o=r(582),s=n(r(1243)),d=r(1258),u=n(r(3871));class c extends s.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{routerId:e}=this.params;return this.getRoutePath("routerDetail",{id:e},{tab:"interfaces"})}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.portStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}init(){this.store=new o.PortStore}}a.PortDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},1635:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var p=f(r(35)),m=r(412),h=f(r(1242)),v=r(576),g=r(1357),_=r(66),b=r(342),y=f(r(1636));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{switch(this.tabKey){case"projectQoSPolicy":return A(A({},e),{},{project_id:this.currentProjectId});case"sharedQoSPolicy":return A(A({},e),{},{shared:!0});default:return e}}))}init(){this.store=new v.QoSPolicyStore,this.downloadStore=new v.QoSPolicyStore}get isProjectTab(){var e=this.tabKey;return!this.isAdminPage&&(!e||"projectQoSPolicy"===e)}get checkEndpoint(){return!0}get endpoint(){return(0,_.qosEndpoint)()}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get name(){return t("QoS policies")}get actionConfigs(){return this.isAdminPage?y.default.actionConfigs:this.isProjectTab?y.default.consoleActions:b.emptyActionConfig}get hasTab(){return!this.isAdminPage}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"name"}get tabKey(){var{tab:e}=this.props;return e}getColumnParamsFromTabKey(){switch(this.tabKey){case"projectQoSPolicy":return{self:this,all:!1,shared:!1};case"sharedQoSPolicy":return{self:this,all:!1,shared:!0};case"allQoSPolicy":default:return{self:this,all:!0,shared:!1}}}getColumns(){return(0,g.getQosPolicyColumns)(this.getColumnParamsFromTabKey())}get searchFilters(){return(0,g.getQosPolicyFilters)(this.getColumnParamsFromTabKey())}}a.QoSPolicy=S;var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1636:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3888)),l=i(a(3889)),o=i(a(3890)),s=i(a(3891)),d=i(a(3892)),u=i(a(3893)),c=i(a(3894)),f=i(a(3895)),p=i(a(3896)),m=i(a(3897)),h=i(a(3898)),v={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:d.default},{action:h.default},{action:u.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},consoleActions:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]}};t.default=v},1637:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n,l=(0,i(a(54)).default)(n="0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,46,48,56".split(",")).call(n,(e=>({label:e,value:e})));t.default=l},1638:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3902)),l=i(a(3903)),o=i(a(3904)),s=i(a(1639)),d=i(a(3910)),u={rowActions:{firstAction:n.default,moreActions:[{action:o.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[s.default]};t.actionConfigs=u;var c={rowActions:{moreActions:[{action:l.default}]}};t.adminActions=c},1639:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(32)),d=n(r(91)),u=n(r(29)),c=n(r(63)),f=n(r(58)),p=n(r(35)),m=r(412),h=r(1241),v=n(r(581)),g=r(1254),_=n(r(3905)),b=n(r(3906)),y=n(r(3907)),I=n(r(3908)),A=n(r(3909));class S extends h.StepAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var t,{name:a,description:r,vip_address:i,vip_network_id:n,admin_state_enabled:c,enableHealthMonitor:p,listener_protocol:m,listener_ssl_parsing_method:h,listener_sni_enabled:v,listener_default_tls_container_ref:_,listener_client_ca_tls_container_ref:b,listener_sni_container_refs:y,listener_admin_state_up:I,pool_admin_state_up:A,monitor_admin_state_up:S,insert_headers:w}=e,x=(0,f.default)(e,["name","description","vip_address","vip_network_id","admin_state_enabled","enableHealthMonitor","listener_protocol","listener_ssl_parsing_method","listener_sni_enabled","listener_default_tls_container_ref","listener_client_ca_tls_container_ref","listener_sni_container_refs","listener_admin_state_up","pool_admin_state_up","monitor_admin_state_up","insert_headers"]),P={name:a,description:r,vip_network_id:n.selectedRowKeys[0]},{ip_address:C,subnet:E}=i[0];P.vip_subnet_id=E,C&&C.ip&&(P.vip_address=C.ip),P.admin_state_up=c;var D,k={admin_state_up:I,protocol:m},R=(0,g.getInsertHeadersValueFromForm)(w);(R&&(k.insert_headers=R),"TERMINATED_HTTPS"===m)&&(_&&(k.default_tls_container_ref=_.selectedRows[0].container_ref),"two-way"===h&&b&&(k.client_ca_tls_container_ref=b.selectedRows[0].secret_ref,k.client_authentication="MANDATORY"),v&&y&&(k.sni_container_refs=(0,l.default)(D=y.selectedRows).call(D,(e=>e.container_ref))));var N={admin_state_up:A},j={admin_state_up:S};(0,o.default)(t=(0,s.default)(x)).call(t,(t=>{0===(0,d.default)(t).call(t,"listener")?k[t.replace("listener_","")]=e[t]:0===(0,d.default)(t).call(t,"pool")?N[t.replace("pool_","")]=e[t]:0===(0,d.default)(t).call(t,"health")&&(j[t.replace("health_","")]=e[t])})),p&&(N.healthmonitor=j);var{extMembers:M=[],Member:{selectedRowKeys:T=[],selectedRows:B,memberUpdateValue:F=[]}={}}=x,L=[];return(0,o.default)(T).call(T,(e=>{var t=(0,u.default)(B).call(B,(t=>t.id===e))[0],a=(0,u.default)(F).call(F,(t=>t.id===e))[0],{weight:r=0,protocol_port:i=1}=a||{},{member_ip:n,fixed_ips:l=[]}=t;(0,o.default)(n).call(n,(e=>{var{subnet_id:t}=(0,u.default)(l).call(l,(t=>t.ip_address===e))[0],a={weight:r,protocol_port:i,address:e,subnet_id:t};L.push(a)}))})),(0,o.default)(M).call(M,(e=>{var{ip:t,protocol_port:a,weight:r,name:i=null,subnet_id:n}=e.ip_address,l={weight:r,protocol_port:a,address:t,name:i,subnet_id:n};L.push(l)})),N.members=L,k.default_pool=N,P.listeners=[k],this.store.create(P)}))}init(){this.store=v.default}static allowed(e,t){var{isAdminPage:a=!1}=t;return c.default.resolve(!a)}get name(){return t("Create Loadbalancer")}get listUrl(){return this.getRoutePath("lb")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:_.default},{title:t("Listener Detail"),component:b.default},{title:t("Pool Detail"),component:y.default},{title:t("Member Detail"),component:I.default},{title:t("Health Monitor Detail"),component:A.default}]}}a.StepCreate=S,(0,p.default)(S,"id","lb-create"),(0,p.default)(S,"title",t("Create Loadbalancer")),(0,p.default)(S,"path","/network/load-balancers/create"),(0,p.default)(S,"policy","os_load-balancer_api:loadbalancer:post");var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1640:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3913)),l=i(a(3914)),o=i(a(3915)),s=i(a(3916)),d=i(a(3917)),u=i(a(1641)),c=i(a(3919)),f={rowActions:{firstAction:o.default,moreActions:[{action:l.default},{action:n.default},{action:s.default},{action:c.default},{action:d.default}]},batchActions:[],primaryActions:[u.default]};t.actionConfigs=f;var p={rowActions:{moreActions:[{action:c.default},{action:l.default}]}};t.adminActions=p},1641:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=r(412),y=r(1241),I=r(1306),A=r(1337),S=r(1338),w=r(1254);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t"os_load-balancer_api:listener:post")),(0,_.default)(this,"onSubmit",(e=>{var t,{sni_enabled:a,ssl_parsing_method:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l,insert_headers:o}=e,s=P(P({},(0,g.default)(e,["sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs","insert_headers"])),{},{loadbalancer_id:this.containerProps.detail.id}),d=(0,w.getInsertHeadersValueFromForm)(o);(d&&(s.insert_headers=d),i&&(s.default_tls_container_ref=i.selectedRows[0].container_ref),n&&(s.client_ca_tls_container_ref=n.selectedRows[0].secret_ref,s.client_authentication="MANDATORY"),l)&&(s.sni_container_refs=(0,p.default)(t=l.selectedRows).call(t,(e=>e.container_ref)));return this.store.create(s)}))}get name(){return t("Create Listener")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.store=new I.ListenerStore,this.containersStore=new A.ContainersStore,this.secretsStore=new S.SecretsStore,this.fetchContainers(),this.fetchSecrets()}fetchContainers(){var e=this;return(0,v.default)((function*(){yield e.containersStore.fetchList(),e.updateDefaultValue()}))()}fetchSecrets(){var e=this;return(0,v.default)((function*(){yield e.secretsStore.fetchList({mode:"CA"}),e.updateDefaultValue()}))()}get ServerCertificate(){return this.containersStore.list.data||[]}get CaCertificate(){return this.secretsStore.list.data||[]}get SNICertificate(){var e;return(0,m.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get isEdit(){return!1}get nameForStateUpdate(){return["protocol","ssl_parsing_method","sni_enabled"]}get defaultValue(){return{ssl_parsing_method:"one-way",sni_enabled:!1,connection_limit:-1,admin_state_up:!0}}get formItems(){var e,{protocol:a,ssl_parsing_method:r,sni_enabled:i}=this.state,n=(0,w.getListenerInsertHeadersFormItem)();return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:w.listenerProtocols,required:!0,disabled:this.isEdit},{name:"ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:w.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.ServerCertificate,isLoading:this.containersStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CaCertificate,isLoading:this.secretsStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,m.default)(e=(0,w.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNICertificate,isLoading:this.containersStore.list.isLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,disabled:this.isEdit},{name:"connection_limit",label:t("Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.Create=C,(0,_.default)(C,"id","create_listener"),(0,_.default)(C,"title",t("Create Listener")),(0,_.default)(C,"policy","os_load-balancer_api:listener:post"),(0,_.default)(C,"allowed",(e=>h.default.resolve("ACTIVE"===e.provisioning_status)));var E=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=E},1642:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3950)),l=i(a(3952)),o=i(a(3953)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},1643:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3957)),l=i(a(3958)),o=i(a(3959)),s=i(a(1644)),d={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=d},1644:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(164)),m=f(r(234)),h=f(r(54)),v=f(r(28)),g=f(r(32)),_=f(r(431)),b=f(r(77)),y=f(r(63)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(570)),x=r(412),P=r(1241),C=f(r(622)),E=f(r(419)),D=f(r(340)),k=r(354),R=r(565);function N(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function j(e){for(var t=1;t{(0,w.default)(e,"portOrRange")&&this.setState({sourcePort:""},(()=>{this.updateDefaultValue()})),(0,w.default)(e,"remoteType")&&this.setState({remote_ip_prefix:"",remote_group_id:""},(()=>{this.updateDefaultValue()})),this.setState(j({},e))})),(0,S.default)(this,"handleDirectionChange",(e=>{this.setState({direction:e})})),(0,S.default)(this,"onSubmit",((e,t)=>{var a,{match:{params:{id:r}={}}={}}=t,{sourcePort:i,protocol:n,ipProtocol:l,icmpType:o,icmpCode:s,portOrRange:d,remoteType:u}=e,c=(0,A.default)(e,["sourcePort","protocol","ipProtocol","icmpType","icmpCode","portOrRange","remoteType"]),f=(0,p.default)(a=["custom_udp","custom_tcp"]).call(a,n)&&"range"===d,h=i.split(":"),v="custom_protocol"!==n?this.defaultRules[n].ip_protocol:l,g=j({security_group_id:r||this.item.id,port_range_min:"custom_icmp"===n?o:f?(0,m.default)(h[0],10):null,port_range_max:"custom_icmp"===n?s:f?(0,m.default)(h[1]||h[0],10):null,protocol:v},c);return(0,p.default)(n).call(n,"all")&&(delete g.remote_ip_prefix,delete g.remote_group_id),this.store.create(g)})),this.state={protocol:this.protocolList[0].value,portOrRange:"range",remoteType:"cidr",direction:"ingress",ipProtocol:"ah"}}get name(){return t("Create rule")}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=C.default,this.groupStore=E.default,this.projectStore=D.default,this.getAllGroups(),this.getQuota()}get messageHasItemName(){return!1}getAllGroups(){var e=this;return(0,I.default)((function*(){var t=yield E.default.fetchList();e.allGroups=(0,h.default)(t).call(t,(e=>({label:e.name,value:e.id})))}))()}static get disableSubmit(){var{neutronQuota:{security_group_rule:{left:e=0}={}}={}}=D.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,I.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group_rule:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e||{},i=0===r?0:1;return[j(j({},e),{},{add:i,name:"security_group_rule",title:t("Security Group Rule")})]}get defaultRules(){return{custom_tcp:{name:t("Custom TCP Rule"),ip_protocol:"tcp"},custom_udp:{name:t("Custom UDP Rule"),ip_protocol:"udp"},custom_icmp:{name:t("Custom ICMP Rule"),ip_protocol:"icmp"},all_proto:{name:t("All Proto"),ip_protocol:null},all_tcp:{name:t("All TCP"),ip_protocol:"tcp",from_port:"1",to_port:"65535"},all_udp:{name:t("All UDP"),ip_protocol:"udp",from_port:"1",to_port:"65535"},all_icmp:{name:t("All ICMP"),ip_protocol:"icmp"},custom_protocol:{name:t("Other Protocol")}}}get protocolList(){var e,t=[];return(0,v.default)(e=(0,g.default)(this.defaultRules)).call(e,(e=>{t.push({value:e,label:this.defaultRules[e].name})})),t}get ruleList(){return(0,_.default)(this.defaultRules,this.settingRules)}get defaultValue(){var e,t=this.state,{protocol:a}=t,r=(0,A.default)(t,["protocol"]),{from_port:i,to_port:n}=this.ruleList[a],{sourcePort:l=""}=this.state;i&&(l=i!==n?(0,b.default)(e="".concat(i,":")).call(e,n):i);return j(j({},r),{},{protocol:a,sourcePort:l})}get formItems(){var e,a,{protocol:r,portOrRange:i,remoteType:n,direction:l}=this.state,o="custom_protocol"===r,s="custom_icmp"===r,d=(0,p.default)(e=["custom_udp","custom_tcp"]).call(e,r),u=(0,p.default)(a=["custom_udp","custom_tcp","custom_icmp"]).call(a,r),c=d&&"range"===i,f=u&&"cidr"===n,m=u&&"sg"===n;return[{name:"protocol",label:t("Protocol"),type:"select",required:!0,options:this.protocolList},{name:"direction",label:t("Direction"),type:"select",required:!0,options:[{value:"ingress",label:t("Ingress")},{value:"egress",label:t("Egress")}],onChange:this.handleDirectionChange},{name:"ethertype",label:t("Ether Type"),type:"select",required:!0,options:[{value:"IPv4",label:t("IPv4")},{value:"IPv6",label:t("IPv6")}]},{name:"portOrRange",label:t("Port Type"),type:"select",required:d,options:[{value:"all",label:t("All Port")},{value:"range",label:t("Custom")}],hidden:!d},{name:"sourcePort",label:"egress"===l?t("Destination Port/Port Range"):t("Source Port/Port Range"),type:"port-range",required:c,hidden:!c,extra:"egress"===l&&t("Input destination port or port range (example: 80 or 80:160)")},{name:"ipProtocol",label:t("IP Protocol"),type:"select-input",options:k.ipProtocols,required:o,hidden:!o,formRef:this.formRef,help:t("Please input protocol number if it absent in select list.")},{name:"icmpType",label:t("ICMP Type"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP type(0-255)")},{name:"icmpCode",label:t("ICMP Code"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP code(0-255)")},{name:"remoteType",label:t("Remote Type"),type:"select",required:u,options:[{value:"cidr",label:t("cidr")},{value:"sg",label:t("Security Group")}],hidden:!u},{name:"remote_ip_prefix",label:t("Remote IP Prefix"),type:"input",hidden:!f,required:f,validator:f?R.cidrAllValidate:null,placeholder:t("Please input IPv4 or IPv6 cidr"),extra:t("Please input IPv4 or IPv6 cidr, (e.g. 192.168.0.0/24, 2001:DB8::/48)")},{name:"remote_group_id",label:t("Remote Security Group"),type:"select",required:m,hidden:!m,options:this.allGroups}]}}a.Create=M,(0,S.default)(M,"id","create"),(0,S.default)(M,"title",t("Create Rule")),(0,S.default)(M,"policy","create_security_group_rule"),(0,S.default)(M,"allowed",(()=>y.default.resolve(!0)));var T=(0,x.inject)("rootStore")((0,x.observer)(M));a.default=T},1645:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3975)),l=i(a(3976)),o={rowActions:{moreActions:[{action:n.default},{action:l.default}]}};t.default=o},1646:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(49)),l=i(a(58)),o=i(a(35)),s=i(a(53));class d extends s.default{constructor(){super(...arguments),(0,o.default)(this,"updateParamsSortPage",((e,t,a)=>{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")}))}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return(0,l.default)(e,["current","all_projects"])}}listFetchByClient(e,t){var{all_projects:a=!1}=t,r={headers:{"x-auth-all-projects":a}};if(!this.isSubResource)return this.client.list(e,r);var i=this.getFatherResourceId(t);return this.client.list(i,e,r)}detailFetchByClient(e,t,a){var{id:r}=e,{all_projects:i=!1}=a,n={headers:{"x-auth-all-projects":i}};if(!this.isSubResource)return this.client.show(r,t,n);var l=this.getFatherResourceId(e);return this.client.show(l,r,t,n)}getCountForPage(e,t,a,r){return(0,n.default)((function*(){var{metadata:e={}}=r,{total_count:t=0}=e||{};return{total:t,count:t}}))()}}t.default=d},1647:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(86)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=r(1404),I=f(r(1360)),A=r(565);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(!a||!a.length)return p.default.resolve();if((0,m.default)(a).call(a,(e=>!e.value||!(A.ipValidate.isIPv4(e.value)||!A.ipValidate.isIpv6(e.value)))))return p.default.reject(t("Please input a valid ip!"));var r=(0,m.default)(a).call(a,(e=>!!(0,m.default)(a).call(a,(t=>t.value===e.value&&t.index!==e.index))));return r?p.default.reject(t("The ip address {ip} is duplicated, please modify it.",{ip:r.value})):p.default.resolve()})),(0,g.default)(this,"onSubmit",(e=>{var{masters:t=[],type:a,email:r,ttl:i}=e,n=w(w({},(0,v.default)(e,["masters","type","email","ttl"])),{},{type:a,masters:(0,h.default)(t).call(t,(e=>e.value))});return"PRIMARY"===a&&(n.email=r,n.ttl=i),this.store.create(n)}))}init(){this.store=I.default}static get modalSize(){return"small"}get name(){return t("Create Zone")}static allowed(){return p.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:y.ZONE_TYPE_ENUM.primary}}get nameForStateUpdate(){return["type"]}get formItems(){var{type:e=y.ZONE_TYPE_ENUM.primary}=this.state,a=e===y.ZONE_TYPE_ENUM.primary;return[{name:"name",label:t("Name"),type:"input",required:!0,extra:y.zoneNameMessage,validator:y.validateZoneName},{name:"description",label:t("Description"),type:"textarea"},{name:"type",label:t("Type"),type:"select",options:y.zoneTypeOptions,tip:t("Primary is controlled by Designate, Secondary zones are slaved from another DNS Server.")},{name:"email",label:t("Email Address"),type:"input",required:a,hidden:!a,validator:A.emailValidate,extra:t("Email for the zone. Used in SOA records for the zone.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,required:a,hidden:!a,extra:t("TTL (Time to Live) for the zone.")},{name:"masters",label:t("Masters"),type:"add-select",isInput:!0,placeholder:t("Please input ip address"),tip:t("Mandatory for secondary zones. The servers to slave from to get DNS information."),minCount:1,hidden:a,required:!a,validator:this.validateMasters}]}}a.Create=x,(0,g.default)(x,"id","create_zone"),(0,g.default)(x,"title",t("Create Zone")),(0,g.default)(x,"policy","create_zone");var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},1648:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=f(r(1361)),I=r(1405);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{detail:t}=this.containerProps,{id:a}=t||this.item,{records:r}=e,i=(0,v.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=S({records:n},i);return this.store.create({id:a},l)}))}init(){var e,a;this.store=y.default,this.state=S(S({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE.A.nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE.A.recordsExtra)})}get name(){return t("Create Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:"A"}}get formItems(){return(0,I.getRecordSetFormItem)(this,this.currentFormValue)}}a.Create=w,(0,g.default)(w,"id","create-record-set"),(0,g.default)(w,"title",t("Create Record Set")),(0,g.default)(w,"policy","create_recordset");var x=(0,b.inject)("rootStore")((0,b.observer)(w));a.default=x},1649:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3986)),l=i(a(3987)),o=i(a(1648)),s={rowActions:{firstAction:n.default,moreActions:[{action:l.default}]},primaryActions:[o.default],batchActions:[l.default]};t.default=s},1650:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1651)),l=i(a(3992)),o=i(a(3993)),s={actionConfigs:{rowActions:{firstAction:i(a(3994)).default,moreActions:[{action:o.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=s},1651:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var p=f(r(63)),m=f(r(28)),h=f(r(29)),v=f(r(164)),g=f(r(86)),_=f(r(54)),b=f(r(49)),y=f(r(58)),I=f(r(35)),A=r(412),S=r(1241),w=f(r(1341)),x=f(r(1294)),P=f(r(575)),C=f(r(233)),E=f(r(582)),D=r(1362),k=r(1473),R=r(1258),N=r(36),j=r(571);function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t{var{ingressPolicy:t={},egressPolicy:a={},options:{admin_state_up:r=!0,shared:i=!1}={},ports:n={}}=e,l=(0,y.default)(e,["ingressPolicy","egressPolicy","options","ports"]),o=t.selectedRowKeys&&t.selectedRowKeys[0],s=a.selectedRowKeys&&a.selectedRowKeys[0],d=T({admin_state_up:r,shared:i},l);return o&&(d.ingress_firewall_policy_id=o),s&&(d.egress_firewall_policy_id=s),n.selectedRowKeys&&(d.ports=n.selectedRowKeys),this.store.create(d)}))}init(){this.store=w.default,this.policyStore=x.default,this.routerStore=P.default,this.networkStore=C.default,this.portStore=E.default,this.getNetworks(),this.getRouters(),this.getPolicies(),this.getPorts(),(0,j.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall")}get name(){return t("Create firewall")}static allowed(){return p.default.resolve(!0)}get disableSubmit(){return(0,j.checkQuotaDisable)(B,F)}get showQuota(){return!0}get quotaInfo(){return(0,j.getQuotaInfo)(this,B,F)}getNetworks(){this.networkStore.fetchList({isFirewall:!0})}getRouters(){this.routerStore.fetchList({isFirewall:!0})}getPolicies(){this.policyStore.fetchList()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,N.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,m.default)(e=(0,N.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,h.default)(r=e.ports).call(r,(e=>(0,v.default)(k.routerInterfaceOwners).call(k.routerInterfaceOwners,e.device_owner)));(0,m.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,g.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.network_name=a.network?a.network.name:"",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,g.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get policies(){var e,t;return(0,_.default)(e=(0,h.default)(t=this.policyStore.list.data||[]).call(t,(e=>e.firewalls.length<2))).call(e,(e=>T(T({},e),{},{key:e.id})))}get defaultValue(){return{options:{admin_state_up:!0}}}get instancePorts(){var e;return(0,_.default)(e=(0,N.toJS)(this.portStore.list.data||[])).call(e,(e=>T(T({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:T(T({data:this.ports},k.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:T(T({data:this.instancePorts},(0,R.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},T({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),T({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=L,(0,I.default)(L,"id","firewall-create"),(0,I.default)(L,"title",t("Create Firewall")),(0,I.default)(L,"path","/network/firewall/create"),(0,I.default)(L,"policy","create_firewall_group");var O=(0,A.inject)("rootStore")((0,A.observer)(L));a.default=O},1652:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1653)),l=i(a(3996)),o=i(a(1654)),s=i(a(3997)),d=i(a(3998)),u={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=u},1653:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(1294)),u=r(1241),c=r(1251),f=r(571),p=["firewall_policy"],m=[1];class h extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a,options:{shared:r,audited:i}={}}=e,n={name:t,shared:r,audited:i,description:a};return this.store.create(n)}))}get name(){return t("create firewall policy")}init(){this.store=d.default,(0,f.fetchNeutronQuota)(this)}static get disableSubmit(){return(0,f.checkQuotaDisable)(p,m)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,f.getQuotaInfo)(this,p,m)}get defaultValue(){return{options:{shared:!1,audited:!1}}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!(0,c.checkPolicyRule)("update_firewall_policy:shared")},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Create=h,(0,o.default)(h,"id","create-simple"),(0,o.default)(h,"title",t("Create Firewall Policy")),(0,o.default)(h,"buttonText",t("Create Policy")),(0,o.default)(h,"policy","create_firewall_policy"),(0,o.default)(h,"allowed",(()=>l.default.resolve(!0)));var v=(0,s.inject)("rootStore")((0,s.observer)(h));a.default=v},1654:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(35)),o=r(412),s=n(r(1294)),d=r(1241),u=r(1362),c=r(1251);class f extends d.ModalAction{constructor(){super(...arguments),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,options:{shared:r,audited:i}={},description:n}=e,l={name:a,audited:i,description:n};return this.canChangeShared()&&(l.shared=r),this.store.edit({id:t},l)}))}init(){this.store=s.default}get defaultValue(){var{name:e,shared:t,description:a,audited:r}=this.item;return{name:e,description:a,options:{shared:t,audited:r}}}canChangeShared(){return(0,c.checkPolicyRule)("update_firewall_policy:shared")}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=f,(0,l.default)(f,"id","edit"),(0,l.default)(f,"title",t("Edit")),(0,l.default)(f,"policy","update_firewall_policy"),(0,l.default)(f,"allowed",(e=>!(0,u.isDefault)(e)&&(0,u.isMine)(e)));var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},1655:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(35)),m=f(r(58)),h=f(r(49)),v=f(r(54)),g=f(r(203)),_=f(r(91)),b=f(r(0)),y=r(412),I=f(r(1242)),A=r(1363),S=r(1307),w=r(342),x=f(r(1656));function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends I.default{init(){this.store=new A.FirewallRuleStore}get policy(){return"get_firewall_rule"}get name(){return t("firewall rules")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?this.inDetailPage?w.emptyActionConfig:x.default.actionConfigsAdmin:this.inDetailPage?x.default.actionConfigsInDetail:x.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){var e={title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallRuleDetail")},a={title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},r={title:t("Related Policy"),dataIndex:"policies",isHideable:!0,render:e=>(0,v.default)(e).call(e,(e=>b.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id})))),stringify:e=>(0,v.default)(e).call(e,(e=>e.name)).join(",")};return[e,a,...(0,g.default)(S.tableColumns).call(S.tableColumns,1,2),r,...(0,g.default)(S.tableColumns).call(S.tableColumns,2,S.tableColumns.length)]}get searchFilters(){return S.tableFilter}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]),{detail:{firewall_rules:n=[]}={},match:l}=t.props,{path:f}=l,v=function(e){for(var t=1;t=0?(v.firewall_rules=n,yield t.store.fetchListByPolicy(v)):yield t.store.fetchList(v),t.list.silent=!1})))}))()}}a.Rule=C;var E=(0,y.inject)("rootStore")((0,y.observer)(C));a.default=E},1656:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1474)),l=i(a(1657)),o=i(a(3999)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsInDetail:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[],primaryActions:[]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=s},1657:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditForm=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1307),u=n(r(1474));class c extends u.default{get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get name(){return t("Edit rule")}static allowed(e){return l.default.resolve((0,d.isMine)(e))}}a.EditForm=c,(0,o.default)(c,"id","rule-edit"),(0,o.default)(c,"title",t("Edit Rule")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"path",(e=>"/network/firewall-rule/edit/".concat(e.id))),(0,o.default)(c,"policy","update_firewall_rule");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},1658:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(4008)),l=i(a(4009)),o=i(a(4010)),s={rowActions:{firstAction:l.default,moreActions:[{action:n.default}]},batchActions:[n.default],primaryActions:[o.default]};t.default=s},3829:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(416)),l=i(a(3830)),o=e=>(0,n.default)(l.default,e);t.default=o},3830:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1263)),l=i(a(579)),o=i(a(3831)),s=i(a(1625)),d=i(a(3834)),u=i(a(3839)),c=i(a(3841)),f=i(a(1466)),p=i(a(3850)),m=i(a(3856)),h=i(a(3864)),v=i(a(1634)),g=i(a(1395)),_=i(a(3872)),b=i(a(3887)),y=i(a(1635)),I=i(a(3899)),A=i(a(3901)),S=i(a(1639)),w=i(a(3911)),x=i(a(3920)),P=i(a(3928)),C=i(a(3954)),E=i(a(3956)),D=i(a(3960)),k=i(a(3964)),R=i(a(3970)),N=i(a(3972)),j=i(a(3974)),M=i(a(3977)),T=i(a(3979)),B=i(a(3983)),F=i(a(3988)),L=i(a(3990)),O=i(a(4e3)),Q=i(a(4003)),q=i(a(4004)),V=i(a(1474)),H=i(a(1657)),U=i(a(4005)),K=i(a(1653)),G=i(a(1654)),z=i(a(1651)),J=i(a(4007)),W=i(a(4011)),Z="/network",X=[{path:Z,component:n.default,routes:[{path:"".concat(Z,"/networks"),component:o.default,exact:!0},{path:"".concat(Z,"/networks-admin"),component:s.default,exact:!0},{path:"".concat(Z,"/networks/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance-admin/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/router"),component:c.default,exact:!0},{path:"".concat(Z,"/router-admin"),component:c.default,exact:!0},{path:"".concat(Z,"/router/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router-admin/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/router-admin/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/floatingip"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip-admin"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/floatingip-admin/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/port"),component:g.default,exact:!0},{path:"".concat(Z,"/port-admin"),component:g.default,exact:!0},{path:"".concat(Z,"/port/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/port-admin/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/qos-policy"),component:b.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin"),component:y.default,exact:!0},{path:"".concat(Z,"/qos-policy/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/topo"),component:m.default,exact:!0},{path:"".concat(Z,"/load-balancers"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers/create"),component:S.default,exact:!0},{path:"".concat(Z,"/load-balancers/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/certificate"),component:k.default,exact:!0},{path:"".concat(Z,"/certificate-container/detail/:id"),component:R.default,exact:!0},{path:"".concat(Z,"/certificate-secret/detail/:id"),component:N.default,exact:!0},{path:"".concat(Z,"/vpn"),component:P.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection-admin/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/vpn-admin"),component:P.default,exact:!0},{path:"".concat(Z,"/security-group"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group-admin"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/security-group-admin/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/dns/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns/reverse"),component:j.default,exact:!0},{path:"".concat(Z,"/dns/reverse/detail/:id"),component:M.default,exact:!0},{path:"".concat(Z,"/firewall"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-admin/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-policy/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-policy-admin/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-rule/create"),component:V.default,exact:!0},{path:"".concat(Z,"/firewall-rule/edit/:id"),component:H.default,exact:!0},{path:"".concat(Z,"/firewall-rule/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall-rule-admin/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall/create"),component:z.default,exact:!0},{path:"".concat(Z,"/firewall-policy/add"),component:K.default,exact:!0},{path:"".concat(Z,"/firewall-policy/edit/:id"),component:G.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin"),component:J.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin/detail/:id"),component:W.default,exact:!0},{path:"*",component:l.default}]}];t.default=X},3831:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Network=void 0;var l=r(412),o=n(r(1282)),s=n(r(1625));class d extends o.default{get tabs(){var e=[{title:t("Current Project Networks"),key:"projectNetwork",component:s.default},{title:t("Shared Networks"),key:"sharedNetwork",component:s.default},{title:t("External Networks"),key:"externalNetwork",component:s.default}];return this.hasAdminRole&&e.push({title:t("All Networks"),key:"allNetwork",component:s.default}),e}}a.Network=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3832:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(233)),d=r(1251),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_network"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Network")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete network")}isCurrentProject(e){var t=u.default;return!(!(0,d.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3833:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(233)),b=r(1251),y=f(r(133)),I=r(163);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{name:a,description:r,port_security_enabled:i}=e,n=(0,m.default)(e,["name","description","port_security_enabled"]),l={name:a,description:r,port_security_enabled:i};return this.isSystemAdmin&&(l.shared=n.shared),this.isAdminPage&&(l["router:external"]=n["router:external"]),_.default.edit({id:t},l)}))}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t{var t=y.default;return(0,b.checkSystemAdmin)()||e.project_id===t.user.project.id?p.default.resolve(!0):p.default.resolve(!1)}));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3834:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkDetail=void 0;var p=f(r(573)),m=f(r(35)),h=r(412),v=f(r(1243)),g=r(233),_=r(571),b=f(r(1395)),y=f(r(3835)),I=f(r(3838)),A=f(r(1626));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(this.store.fetchDetail){var t=w(w(w({},this.params),e||{}),{},{all_projects:this.isAdminPage});this.store.fetchDetailWithAvailabilityAndUsage(w(w({},t),{},{isAdminPage:this.isAdminPage,canAddNetworkIPUsageInfo:this.canAddNetworkIPUsageInfo})).catch(this.catch)}}))}get name(){return t("network")}get policy(){return"get_network"}get listUrl(){return this.getRoutePath("network")}get actionConfigs(){return A.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get detailInfos(){var e=[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:_.networkStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&((0,p.default)(e).call(e,2,0,{title:t("Project Name"),dataIndex:"projectName"}),(0,p.default)(e).call(e,7,0,{title:t("DHCP Agents"),dataIndex:"dhcp_agents"})),this.canAddNetworkIPUsageInfo&&(0,p.default)(e).call(e,4,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:I.default},{title:t("Subnets"),key:"subnets",component:y.default},{title:t("Ports"),key:"ports",component:b.default}]}init(){this.store=new g.NetworkStore}}a.NetworkDetail=x;var P=(0,h.inject)("rootStore")((0,h.observer)(x));a.default=P},3835:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Subnets=void 0;var l=n(r(573)),o=n(r(35)),s=n(r(0)),d=r(412),u=n(r(1242)),c=r(417),f=n(r(1630));class p extends u.default{constructor(){super(...arguments),(0,o.default)(this,"updateFetchParams",(()=>({network_id:this.id,network:this.props.detail,all_projects:this.isAdminPage}))),(0,o.default)(this,"getColumns",(()=>{var e=[{title:t("Subnet ID/Name"),dataIndex:"name",routeName:this.getRouteName("subnetDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})},{title:t("CIDR"),dataIndex:"cidr",isHideable:!0},{title:t("Gateway IP"),dataIndex:"gateway_ip",isHideable:!0},{title:t("IP Version"),dataIndex:"ip_version",isHideable:!0},{title:t("Port Count"),dataIndex:"subnetPorts",isHideable:!0,stringify:e=>(e||[]).length,render:(e,t)=>{var a=(e||[]).length;if(!a)return"-";var r=this.getLinkRender("subnetDetail",a,{id:t.id,networkId:t.network_id},{tab:"ports"});return s.default.createElement(s.default.Fragment,null,r)}},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}];return this.canAddNetworkIPUsageInfo&&(0,l.default)(e).call(e,5,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips",titleTip:this.isAdminPage?"":t("Number of IPs used by all projects")}),e}))}init(){this.store=new c.SubnetStore}get policy(){return"get_subnet"}get name(){return t("subnets")}get id(){return this.params.id}get actionConfigs(){return f.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Subnets=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3836:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(133)),d=n(r(417));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_subnet"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Subnet")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete subnet")}isOwnerOrAdmin(e){var{tenant_id:t}=e;return this.isAdminPage||t===s.default.projectId}}a.default=u},3837:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditSubnet=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=r(565),b=f(r(417)),y=f(r(133)),I=f(r(621));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{gateway_ip:t,allocation_pools:a,host_routes:r,dns:i,disable_gateway:n}=e,l=(0,m.default)(e,["gateway_ip","allocation_pools","host_routes","dns","disable_gateway"]),o=k(a),s=R(r),d=T(i),u=S(S({},l),{},{network_id:this.subnet.network_id,allocation_pools:o,host_routes:s,dns_nameservers:d});return n?u.gateway_ip=null:t&&t!==this.item.gateway_ip&&(u.gateway_ip=t),b.default.update(this.subnet,u)}))}get name(){return t("Edit Subnet")}get subnet(){return this.props.item}get defaultValue(){return S(S({},this.subnet),{},{subnet_name:this.subnet.name,allocation_pools:N(this.subnet.allocation_pools),host_routes:M(this.subnet.host_routes),dns:j(this.subnet.dns_nameservers),disable_gateway:!this.subnet.gateway_ip,gateway_ip:this.subnet.gateway_ip,more:!1})}get formItems(){var{more:e,disable_gateway:a=!this.item.gateway_ip}=this.state;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0},{name:"cidr",label:t("CIDR"),type:"input",placeholder:"192.168.0.0/24",disabled:!0,required:!0,validator:(e,a)=>(4===this.subnet.ip_version?B(a):F(a))?p.default.resolve(!0):p.default.reject(new Error(t("Invalid CIDR."))),tip:t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e},(()=>{this.formRef.current.validateFields(["gateway_ip"])}))},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ip-input",version:this.subnet.ip_version,required:!a,tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!a)},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. 192.168.1.2,192.168.1.200)"),hidden:!e,validator:4===this.subnet.ip_version?w:x},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. 114.114.114.114)"),hidden:!e,validator:4===this.subnet.ip_version?P:C},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. 192.168.200.0/24,10.56.1.254)"),hidden:!e,validator:4===this.subnet.ip_version?E:D},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.EditSubnet=L,(0,h.default)(L,"id","edit-subnet"),(0,h.default)(L,"title",t("Edit Subnet")),(0,h.default)(L,"buttonText",t("Edit")),(0,h.default)(L,"policy","update_subnet"),(0,h.default)(L,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t||{},{tenant_id:r}=e,i=a||r===y.default.projectId;return p.default.resolve(i)}));var O=(0,v.inject)("rootStore")((0,v.observer)(L));a.default=O},3838:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(66);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,s.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Availability Zone"),dataIndex:"availability_zones"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints"},{label:t("MTU"),dataIndex:"mtu"},{label:t("Router External"),dataIndex:"router:external",valueRender:"yesNo"},{label:t("Provider Network Type"),dataIndex:"provider:network_type"},{label:t("Provider Physical Network"),dataIndex:"provider:physical_network",render:e=>e||"-"},{label:t("Segmentation ID"),dataIndex:"provider:segmentation_id"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",render:e=>e||"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3839:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SubnetDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(417),g=f(r(1395)),_=f(r(3840)),b=f(r(1630));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;tI(I({},e),{},{inDetail:!0,canAddNetworkIPUsageInfo:this.store.hasAdminRole})))}get name(){return t("subnet")}get policy(){return"get_subnet"}get listUrl(){var{networkId:e}=this.params;return this.getRoutePath("networkDetail",{id:e},{tab:"subnets"})}get actionConfigs(){return b.default}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("CIDR"),dataIndex:"cidr"},{title:t("IP Version"),dataIndex:"ip_version"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:_.default},{title:t("Ports"),key:"ports",component:g.default}]}init(){this.store=new v.SubnetStore}}a.SubnetDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3840:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(0)),d=r(412),u=n(r(1249));class c extends u.default{get leftCards(){var e=[this.networkCard,this.baseInfoCard];return this.canAddNetworkIPUsageInfo&&e.push(this.ipUsageCard),e}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get networkCard(){var e=[{label:t("Network Name"),dataIndex:"network.name"},{label:t("Network ID"),dataIndex:"network.id",render:e=>this.getLinkRender("networkDetail",e,{id:e})}];return{title:t("Network Info"),options:e}}get baseInfoCard(){var e=[{label:t("Gateway IP"),dataIndex:"gateway_ip"},{label:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t,a=(0,l.default)(t=e||[]).call(t,(e=>{var t,{start:a,end:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,"-")).call(t,r)},a," - ",r)}));return s.default.createElement(s.default.Fragment,null,a)}},{label:t("Enable DHCP"),dataIndex:"enable_dhcp",valueRender:"yesNo"},{label:t("Host Routes"),dataIndex:"host_routes",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>{var t,{destination:a,nexthop:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,",")).call(t,r)},a,",",r)}));return s.default.createElement(s.default.Fragment,null,t)}},{label:t("DNS Nameservers"),dataIndex:"dns_nameservers",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>s.default.createElement("div",{key:e},e)));return s.default.createElement(s.default.Fragment,null,t)}}];return{title:t("Base Info"),options:e}}get ipUsageCard(){if(!this.canAddNetworkIPUsageInfo)return null;var e=[{label:t("Total IPs"),dataIndex:"total_ips"},{label:t("Used IPs"),dataIndex:"used_ips"}];return{title:t("IP Usage"),options:e}}}a.BaseDetail=c;var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3841:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Routes=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=r(1267),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(575)),p=o(r(1631));function m(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(m=function(e){return e?a:t})(e)}class h extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>(0,c.getRouterColumns)(this)))}init(){this.store=this.inDetailPage?new f.RouterStore:f.default,this.downloadStore=new f.RouterStore}get policy(){return"get_router"}get name(){return t("routers")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"status"}get searchFilters(){return c.routerFilters}}a.Routes=h;var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3842:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(232)),s=n(r(91)),d=n(r(49)),u=n(r(35)),c=n(r(92)),f=r(1241),p=n(r(575));class m extends f.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_router"),(0,u.default)(this,"submitErrorMsg",(e=>{var a=this.getName(e);return this.connectSubnets?t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.actionName||this.title,name:a,reason:t("the router has connected subnet")}):t("Unable to {action}, instance: {name}.",{action:this.actionName||this.title,name:a})})),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.notExternalGateway(e))),(0,u.default)(this,"performErrorMsg",(e=>{var a=(0,c.default)(e)?e[0]:e,{name:r}=a,i=t('You are not allowed to delete router "{ name }".',{name:r});return this.notExternalGateway(a)||(i=t('Unable to delete router "{ name }". External gateway is opened, please clear external gateway first.',{name:r})),i})),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a,r,i){if(i)return p.default.delete(a);var n=yield p.default.fetchConnectedSubnets(e.item);return n.connectSubnets.length?(e.connectSubnets=n.connectSubnets,e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:e.item.name,reason:t("the router has connected subnet")}),l.default.reject()):(e.showConfirmErrorBeforeSubmit=!1,p.default.delete(a))}));return function(e,t,r){return a.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Router")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete router")}notAssociatedNet(e){if(!e.ports||0===e.ports.length)return!0;var t,a=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];return!(e.ports.length>0)||!(0,o.default)(t=e.ports).call(t,(e=>(0,s.default)(a).call(a,e.device_owner)>-1))}notExternalGateway(e){return!e.hasExternalGateway}}a.default=m},3843:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(575)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return d.default.edit({id:t},e)}))}init(){this.store=d.default}get defaultValue(){var{item:e}=this.props;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name"),withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-router"),(0,o.default)(c,"title",t("Edit Router")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(e=>l.default.resolve("Default Router"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3844:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_router"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.hasGateway(e))),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.edit({id:t},{external_gateway_info:null})}))}get id(){return"clear-gateway"}get title(){return t("Close External Gateway")}get buttonText(){return t("Close External Gateway")}get actionName(){return t("Close external gateway")}hasGateway(e){return e.hasExternalGateway}}a.default=d},3845:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SetGateway=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(575)),g=r(233),_=r(1241),b=r(571);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{externalNetwork:t}=e,{id:a}=this.item,r={external_gateway_info:{network_id:t.selectedRowKeys[0]}};return this.store.edit({id:a},r)}))}init(){this.store=v.default,this.networkStore=new g.NetworkStore}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("open external gateway")}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"router"},I({name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:b.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",sorter:!1}]},b.networkSortProps)]}}a.SetGateway=A,(0,m.default)(A,"id","set-gateway"),(0,m.default)(A,"title",t("Open External Gateway")),(0,m.default)(A,"policy","update_router"),(0,m.default)(A,"allowed",(e=>p.default.resolve(!e.external_gateway_info)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3846:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ConnectSubnet=void 0;var l=n(r(91)),o=n(r(28)),s=n(r(77)),d=n(r(63)),u=n(r(35)),c=r(412),f=r(36),p=r(575),m=n(r(417)),h=r(582),v=r(1241);class g extends v.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"getSubnets",(()=>{var{networkId:e}=this.state;e&&this.subnetStore.fetchList({network_id:e})})),(0,u.default)(this,"onNetworkChange",(e=>{var{selectedRowKeys:t=[]}=e;this.setState({networkId:t[0]},(()=>{this.getSubnets()}))})),(0,u.default)(this,"disabledFuncSubnet",(e=>{var t,{allocation_pools:a=[]}=e;return 0===a.length||(0,l.default)(t=this.excludeSubnetIds).call(t,e.id)>=0})),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0],{networkId:i}=this.state;return this.store.connectSubnet({id:t,subnetId:r,networkId:i})}))}init(){this.store=new p.RouterStore,this.subnetStore=m.default,this.portStore=new h.PortStore,this.getPortList()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("connect subnet")}get subnets(){var{networkId:e}=this.state;return e?(0,f.toJS)(this.subnetStore.list.data||[]):[]}getPortList(){var{id:e}=this.item;this.portStore.fetchList({device_id:e})}get excludeSubnetIds(){var e,t=[];return(0,o.default)(e=(0,f.toJS)(this.portStore.list.data||[])).call(e,(e=>{var a;(0,o.default)(a=e.fixed_ips).call(a,(e=>{t.push(e.subnet_id)}))})),t}get formItems(){var{networkId:e}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"network",label:t("Network"),type:"network-select-table",required:!0,onChange:this.onNetworkChange},{name:"subnet",label:t("Subnet"),type:"select-table",data:this.subnets,isLoading:e&&this.subnetStore.list.isLoading,disabledFunc:this.disabledFuncSubnet,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,s.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.ConnectSubnet=g,(0,u.default)(g,"id","connect-subnet"),(0,u.default)(g,"title",t("Connect Subnet")),(0,u.default)(g,"policy","add_router_interface"),(0,u.default)(g,"allowed",(()=>d.default.resolve(!0)));var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3847:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.DisconnectSubnet=void 0;var l=n(r(28)),o=n(r(91)),s=n(r(63)),d=n(r(54)),u=n(r(350)),c=n(r(591)),f=n(r(86)),p=n(r(77)),m=n(r(49)),h=n(r(35)),v=r(412),g=r(36),_=r(575),b=n(r(233)),y=n(r(417)),I=r(582),A=r(1241);class S extends A.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0];return this.store.disconnectSubnet({id:t,subnetId:r})}))}init(){this.store=new _.RouterStore,this.networkStore=b.default,this.subnetStore=y.default,this.portStore=new I.PortStore,this.getSubnetList(),this.state.subnetLoading=!0}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("disconnect subnet")}getSubnetList(){var e=this;return(0,m.default)((function*(){var t,a,r,{id:i}=e.item;yield e.portStore.fetchList({device_id:i});var n=[],p=[],m=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];(0,l.default)(t=(0,g.toJS)(e.portStore.list.data||[])).call(t,(e=>{var t;(0,o.default)(m).call(m,e.device_owner)>-1&&(p.push(e.network_id),(0,l.default)(t=e.fixed_ips).call(t,(e=>{n.push(e.subnet_id)})))}));var h=yield s.default.all((0,d.default)(a=(0,u.default)(new c.default(n))).call(a,(t=>e.subnetStore.fetchDetail({id:t})))),v=yield s.default.all((0,d.default)(r=(0,u.default)(new c.default(p))).call(r,(t=>e.networkStore.fetchDetail({id:t}))));(0,l.default)(h).call(h,(e=>{var t=(0,f.default)(v).call(v,(t=>t.id===e.network_id));e.network=t})),e.setState({subnets:(0,d.default)(h).call(h,(e=>(0,g.toJS)(e))),subnetLoading:!1})}))()}get formItems(){var{subnets:e=[],subnetLoading:a}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"subnet",label:t("Subnet"),type:"select-table",data:e,isLoading:a,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Network"),dataIndex:"network",render:e=>e&&e.name||"-"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,p.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.DisconnectSubnet=S,(0,h.default)(S,"id","disconnect-subnet"),(0,h.default)(S,"title",t("Disconnect Subnet")),(0,h.default)(S,"policy","remove_router_interface"),(0,h.default)(S,"allowed",(()=>s.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3848:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>(null==e?void 0:e.external_gateway_info)&&!e.external_gateway_info.enable_snat)),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!0}};return s.default.edit({id:t},r)}))}get id(){return"enable-snat"}get title(){return t("Enable SNAT")}get actionName(){return t("Enable SNAT")}}a.default=d},3849:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>{var t;return null==e||null===(t=e.external_gateway_info)||void 0===t?void 0:t.enable_snat})),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!1}};return s.default.edit({id:t},r)}))}get id(){return"disable-snat"}get title(){return t("Disable SNAT")}get actionName(){return t("Disable SNAT")}}a.default=d},3850:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FloatingIpDetail=void 0;var l=n(r(1314)),o=r(412),s=n(r(1243)),d=r(1273),u=r(346),c=r(1393),f=n(r(1605)),p=n(r(3851)),m=n(r(3852));class h extends s.default{get name(){return t("floating ip")}get policy(){return"get_floatingip"}get listUrl(){return this.getRoutePath("fip")}get actionConfigs(){return this.isAdminPage?f.default.adminConfigs:f.default.actionConfigs}get detailInfos(){return[{title:t("Floating IP"),dataIndex:"floating_ip_address"},{title:t("Status"),dataIndex:"status",valueMap:d.floatingIpStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:p.default}];return(0,c.enablePFW)()&&(0,l.default)(this.detailData.fixed_ip_address)&&e.push({title:t("Port Forwardings"),key:"port_forwarding",component:m.default}),e}init(){this.store=new u.FloatingIpStore}}a.FloatingIpDetail=h;var v=(0,o.inject)("rootStore")((0,o.observer)(h));a.default=v},3851:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(77)),m=f(r(35)),h=r(412),v=r(346),g=f(r(1249));function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{router_id:e}=this.props.detail;e&&this.store.getAddInfo({router_id:e}).catch(this.catch)}))}init(){this.store=new v.FloatingIpStore}get isLoading(){var{router_id:e}=this.props.detail;return!!e&&this.store.isLoading}get detailData(){return b(b({},this.props.detail),{},{router_name:this.store.addInfo.name,network_name:this.store.addInfo.externalNetworkName})}get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Fixed IP"),dataIndex:"fixed_ip_address"},{label:t("Network Line"),dataIndex:"network_name"},{label:t("Router"),dataIndex:"router_id",render:(e,t)=>{if(e){var a,{router_name:r,network_name:i}=t;if("-"===r&&"-"===i)return e;var n=r?(0,p.default)(a="".concat(e," (")).call(a,r,")"):e;return this.getLinkRender("routerDetail",n,{id:e})}return"-"}}];return{title:t("Base Info"),options:e}}}a.BaseDetail=y;var I=(0,h.inject)("rootStore")((0,h.observer)(y));a.default=I},3852:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.PortForwarding=void 0;var p=f(r(164)),m=f(r(58)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(615),b=r(163),y=r(1273),I=f(r(3853));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.default{constructor(){super(...arguments),(0,h.default)(this,"updateFetchParams",(e=>{var{id:t,all_projects:a}=e,r=(0,m.default)(e,["id","all_projects"]);return function(e){for(var t=1;t[{title:t("ID"),dataIndex:"id"},{title:t("External Port/Port Range"),dataIndex:"external_port",splitColumnForDownload:!1,render:(e,t)=>e||t.external_port_range},{title:t("Internal Ip Address"),dataIndex:"internal_ip_address",isHideable:!0},{title:t("Internal Port/Port Range"),dataIndex:"internal_port",splitColumnForDownload:!1,isHideable:!0,render:(e,t)=>e||t.internal_port_range},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,valueMap:y.portForwardingProtocols},{title:t("Description"),dataIndex:"description",isHideable:!0}]))}init(){this.store=new _.PortForwardingStore}get policy(){return"get_floatingip_port_forwarding"}get name(){return t("port forwardings")}get isFilterByBackend(){return!1}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return[{label:t("Protocol"),name:"protocol",options:(0,b.getOptions)(y.portForwardingProtocols)},{label:t("External Port/Port Range"),name:"external_port",filterFunc:(e,t,a)=>{var r,i,{external_port:n,external_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Internal Ip Address"),name:"internal_ip_address",filterFunc:(e,t)=>(0,p.default)(e).call(e,t)},{label:t("Internal Port/Port Range"),name:"internal_port",filterFunc:(e,t,a)=>{var r,i,{internal_port:n,internal_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Description"),name:"description"}]}}a.PortForwarding=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3853:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1467)),l=i(a(3854)),o=i(a(3855)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default},batchActions:[],primaryActions:[]}};t.default=s},3854:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(29)),m=f(r(54)),h=f(r(164)),v=f(r(86)),g=f(r(431)),_=f(r(58)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(615)),S=f(r(572)),w=r(1267),x=r(1273),P=r(1258),C=r(1467);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tA.default.edit({fipId:this.fipId,id:this.item.id},e))),(0,y.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:i,internal_port:n,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[d,u]=this.getRangeFromString(s);return a>=d&&a<=u&&e.protocol===r}var c="external"===t?i:n;return this.item.id!==e.id&&a===c&&e.protocol===r})),(0,y.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,i=a.virtual_adapter.selectedRows[0].id;return this.item.id!==t.id&&t.internal_port_id===i&&t.internal_ip_address===r}))}get name(){return t("Edit Port Forwarding")}get instanceName(){var{floating_ip_address:e}=this.item;return(0,x.getPortForwardingName)(this.item,e)}get tips(){return""}get fipId(){return this.item.fip.id}getExtraInfo(){w.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:{fip:t}}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})).then((()=>{this.getInitialPortFixedIPs()}))}getInitialPortFixedIPs(){var e=this;return(0,b.default)((function*(){e.setState({fixedIpLoading:!0});var{internal_port_id:t,internal_ip_address:a}=e.item,r=yield S.default.fetchDetail({id:t});return e.handlePortSelect({selectedRows:[r]}).then((t=>{var i=(0,p.default)(t).call(t,(e=>e.fixed_ip_address===a)),n={selectedRowKeys:(0,m.default)(i).call(i,(e=>e.id)),selectedRows:i};return e.updateFormValue("virtual_adapter",{selectedRowKeys:[r.id],selectedRows:[r]}),n})).then((t=>{e.setState({fixed_ip_address:t})}))}))()}get defaultValue(){var e=this.item,{floating_ip_address:t,fip:a,internal_port_id:r,internal_ip_address:i}=e;return D({floatingIp:t,virtual_adapter:{selectedRowKeys:[r]},fixed_ip_address:{selectedRowKeys:[i],selectedRows:[{fixed_ip_address:i}]}},(0,_.default)(e,["floating_ip_address","fip","internal_port_id","internal_ip_address"]))}getSubmitData(e){var t,a,{floatingIp:r,virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:n=[]}={},external_port:l,internal_port:o}=e,s=D({},(0,_.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,h.default)(t=l.toString()).call(t,":")?s.external_port_range=l:s.external_port=l,(0,h.default)(a=o.toString()).call(a,":")?s.internal_port_range=o:s.internal_port=o,s.internal_ip_address=n[0].fixed_ip_address,s.internal_port_id=i[0].id,s}get formItems(){var e=super.formItems;if(this.supportRange)return e;var a=(0,v.default)(e).call(e,(e=>"external_port"===e.name)),r=(0,v.default)(e).call(e,(e=>"internal_port"===e.name));a.label=t("External Port"),r.label=t("Internal Port");var i={type:"input-int",min:1,max:65535,extra:t("Enter an integer value between 1 and 65535."),hasRequiredCheck:!0};return(0,g.default)(a,i,{placeholder:t("Please input {label}",{label:a.label})}),(0,g.default)(r,i,{placeholder:t("Please input {label}",{label:r.label})}),e}}a.Edit=k,(0,y.default)(k,"id","edit"),(0,y.default)(k,"title",t("Edit")),(0,y.default)(k,"policy","update_floatingip_port_forwarding"),(0,y.default)(k,"allowed",(()=>!0));var R=(0,I.inject)("rootStore")((0,I.observer)(k));a.default=R},3855:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(615)),d=r(1273);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_floatingip_port_forwarding"),(0,l.default)(this,"getItemName",(e=>(0,d.getPortForwardingName)(e,e.floating_ip_address))),(0,l.default)(this,"onSubmit",(e=>{var{fip:t,id:a}=e,r=t.id;return s.default.delete({floatingipId:r,id:a})}))}get id(){return"delete"}get title(){return t("Delete Port Forwarding")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete port forwarding")}}a.default=u},3856:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Topology=a.errorStrokeColor=a.errorShadowColor=a.activeShadowColor=void 0;var p=f(r(164)),m=f(r(28)),h=f(r(422)),v=f(r(91)),g=f(r(54)),_=f(r(77)),b=f(r(29)),y=f(r(345));r(347);var I=f(r(348));r(1280);var A=f(r(1281));r(583);var S=f(r(420));r(231);var w=f(r(341)),x=f(r(1583)),P=f(r(49)),C=f(r(35)),E=f(r(0)),D=(r(161),f(r(3857))),k=f(r(3858)),R=(r(564),r(412)),N=f(r(233)),j=r(3859),M=f(r(1388)),T=r(565),B=r(36),F=r(571),L=f(r(1471)),O=f(r(1632)),Q=f(r(1627)),q=f(r(1304)),V=f(r(3861)),H=f(r(1633));function U(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{G.on("node:mouseenter",(e=>{var t,{item:a}=e,{nodeType:r}=a._cfg.model;if((0,p.default)(t=["router","ins","lb"]).call(t,r)){var i,n=G.findAllByState("node","hover");(0,m.default)(n).call(n,(e=>{G.setItemState(e,"hover",!1)})),G.setItemState(a,"hover",!0);var l=G.findAllByState("edge","hover");(0,m.default)(l).call(l,(e=>{G.setItemState(e,"hover",!1),G.updateItem(e,{style:{stroke:e._cfg.target._cfg.model.style.stroke}})}));var o=a._cfg.model.style.stroke;(0,m.default)(i=a._cfg.edges).call(i,(e=>{G.setItemState(e,"hover",!0),G.updateItem(e,{style:{stroke:o}})}))}}))})),(0,C.default)(this,"updateGraph",(()=>{G&&(G.clear(),G.destroy(),G=null),this.setState({firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,withoutServerData:null,allData:null,showAll:!0}),this.initTopo()})),(0,C.default)(this,"renderRouterNode",((e,t)=>{var{routers:a}=this.topoInfo,r=[];if((0,m.default)(a).call(a,((a,i)=>{var{id:n,external_gateway_info:l,subnets:o,name:s}=a,d=(0,h.default)((t/10*i+t/20*3).toFixed(0));if(r.push({nodeCardX:d,nodeCardY:190}),e.nodes.push({id:n,x:d,y:190,type:"rect",nodeType:"router",infoIndex:i,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"ACTIVE"===a.status?globalCSS.successColor:Z,shadowColor:"ACTIVE"===a.status?J:W,shadowBlur:"ACTIVE"===a.status?5:4},anchorPoints:[[.5,0]]}),null!==l&&e.edges.push({id:"edge-".concat(s,"-ext"),target:"extNet",targetAnchor:1,source:n,sourceAnchor:0,type:"arrowLine",style:{stroke:j.subnetsColors[0][0]}}),0!==o.length){var u=0;(0,m.default)(o).call(o,(t=>{var a,r,i=(0,v.default)(a=(0,g.default)(r=e.subnetNodes).call(r,(e=>e.id))).call(a,t);if(-1!==i){var l,{style:{stroke:o}}=e.subnetNodes[i];u+=1,e.edges.push({id:(0,_.default)(l="edge-".concat(s,"-")).call(l,t),target:t,targetAnchor:0,source:n,sourceAnchor:u,type:"arrowLine",style:{stroke:o}})}})),e.nodes[e.nodes.length-1].anchorPoints=this.getAnchorPoints(1,u)}})),r[0]){var i=r[r.length-1].nodeCardX,{extendWidth:n}=this.state;if(i>=t-5){var l=Math.ceil((i-(t-5))/(t/10));this.setState({extendWidth:n+l*(t/10)})}this.setState({nodeCard:r})}})),(0,C.default)(this,"renderNetworkNode",((e,t)=>{var{subnets:a,networks:r}=this.topoInfo,{extendWidth:i}=this.state;e.subnetNodes=[],(0,m.default)(r).call(r,(r=>{if(!(0,F.isExternalNetwork)(r)){var n,l=[],{firstSubnetY:o}=this.state;(0,m.default)(n=r.subnets).call(n,(e=>{(0,m.default)(a).call(a,(t=>{t.id===e&&l.push(t)}))}));var s=o+32*l.length+60;(0,m.default)(l).call(l,((a,n)=>{var l=j.subnetsColors[0],d=l[n%l.length];e.subnetNodes.push({id:a.id,label:a.name,labelCfg:{position:"right",offset:-t/2,style:{fill:"#000000"}},type:"rect",x:t/2,y:o+32*n,cardY:s,anchorPoints:[[.5,0],[.5,1]],comboId:r.id,style:{radius:4,fill:d,stroke:d,width:t+i-50,height:20},pools:a.allocation_pools,networkId:a.network_id})})),0!==l.length&&(this.setState({firstSubnetY:e.subnetNodes[e.subnetNodes.length-1].y+200}),e.combos.push({id:r.id,label:r.name,type:"rect",size:[t-40,30],style:{fill:j.combosBackground[0],stroke:j.combosColors[0],radius:4},labelCfg:{refY:1,position:"top",style:{fontSize:12}}}))}}))})),(0,C.default)(this,"renderInstanceNode",((e,a)=>{var{servers:r,subnets:i,extNetwork:n}=this.topoInfo,l=[];(0,m.default)(r).call(r,((r,o)=>{var s,{fixed_addresses:d,fixed_networks:u}=r,c=(0,h.default)((a/10*2).toFixed(0)),f=null,p=0,g=[];(0,m.default)(n).call(n,(e=>g.push(...(0,B.toJS)(e.subnets))));var y=(0,b.default)(i).call(i,(e=>-1!==(0,v.default)(g).call(g,e.id)));if(!d[0]){var{insCard:I}=this.state;f=e.subnetNodes[0].cardY,(0,m.default)(I).call(I,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),Math.round(c)>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+(0,h.default)((a/10).toFixed(0))})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}var A=0;(0,m.default)(d).call(d,(i=>{var n,s=null,d=0;if((0,m.default)(y).call(y,(e=>{var t;(0,m.default)(t=e.allocation_pools).call(t,(e=>{z(i,e.start,e.end)&&(s="extNet",d=0)}))})),(0,m.default)(n=e.subnetNodes).call(n,((e,t)=>{var a;-1!==(0,v.default)(u).call(u,e.networkId)&&(0,m.default)(a=e.pools).call(a,(a=>{z(i,a.start,a.end)&&(s=e.id,d=t)}))})),e.nodes[e.nodes.length-1].id!==r.id&&s){var{insCard:g}=this.state;f=e.subnetNodes[d].cardY,(0,m.default)(g).call(g,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),c>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+a/10})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}s&&function(){var n,{style:{stroke:o}}=e.subnetNodes[d],u=e.subnetNodes[d].y;ue.source!==r.id&&e.linePath&&e.linePath.source_x===c&&e.topAnchorNum===p&&(e.linePath.source_y>=f&&e.linePath.target_y<=u||e.linePath.source_y<=f&&e.linePath.target_y>=u))),I=(0,b.default)(g=e.nodes).call(g,(e=>e.x===c&&e.y===f&&e.id!==r.id));if(0===y.length&&0===I.length)break;c+=(0,h.default)((a/10).toFixed(0)),e.nodes[e.nodes.length-1].x=c,l[l.length-1]=[c,f],Math.round(c)>=a+t.state.extendWidth&&t.setState((e=>({extendWidth:e.extendWidth+a/10})))}e.edges.push({id:(0,_.default)(n="edge-".concat(r.id,"-")).call(n,i),target:s,targetAnchor:u>f?0:1,source:r.id,sourceAnchor:A,type:"arrowLine",topAnchorNum:p,style:{stroke:o},linePath:{source_x:c,source_y:f,target_y:u}}),A+=1}()}));var S=this.getAnchorPoints(p,A-p),w=(0,b.default)(s=e.edges).call(s,(e=>e.source===r.id));(0,m.default)(w).call(w,((e,t)=>{"extNet"===e.target&&1===S[t][1]&&([S[t],S[p-1]]=[S[p-1],S[t]])})),e.nodes[e.nodes.length-1].anchorPoints=S,this.setState({insCard:l})}))})),(0,C.default)(this,"getAnchorPoints",((e,t)=>{var a=[];return e>0&&a.push(...(0,F.getAnchorData)(e,0)),t>0&&a.push(...(0,F.getAnchorData)(t,1)),a})),(0,C.default)(this,"renderG6",(()=>{D.default.registerEdge("arrowLine",{draw(e,t){var{endPoint:a,startPoint:r}=e,i=e.style.stroke;return t.addShape("path",{attrs:{path:[["M",r.x,r.y],["L",r.x,a.y]],endArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},startArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},stroke:i||"#C8DEFF",lineWidth:2},name:"path-shape"}),t}});var e=document.getElementById("container").scrollWidth,t={nodes:[{id:"networkImage",x:e/2,y:50,img:k.default,type:"image",size:56,clipCfg:{show:!1,type:"circle",r:15}},{id:"extNet",type:"rect",label:"extNetwork",labelCfg:{position:"right",offset:-e/2,style:{fill:"#000000"}},x:e/2,y:100,anchorPoints:[[.5,0],[0,1]],style:{radius:4,fill:"#FFFFFFFF",stroke:j.subnetsColors[0][0],width:e-10,height:20}}],edges:[{id:"edge3",target:"networkImage",source:"extNet",style:{startArrow:{path:D.default.Arrow.vee(4,6,-1),d:2},lineWidth:1,stroke:j.subnetsColors[0][0]}}],combos:[]},{servers:a}=this.topoInfo;if(a){t=G.cfg.data,this.renderRouterNode(t,e),this.extendNetworkWidth(t,e);var r=JSON.parse((0,y.default)(t));this.setState({withoutServerData:r}),this.renderInstanceNode(t,e),this.extendNetworkWidth(t,e);var i=JSON.parse((0,y.default)(t));this.setState({allData:i})}else this.renderNetworkNode(t,e),this.extendNetworkWidth(t,e);G&&(G.clear(),G.destroy());var{firstSubnetY:n,extendWidth:l}=this.state;(G=new D.default.Graph({container:"container",width:e+l,height:n,nodeStateStyles:{hover:{lineWidth:3}}})).data(t),G.render(),this.bindEvents(),this.setState({loading:!1})})),(0,C.default)(this,"extendNetworkWidth",((e,t)=>{var{subnetNodes:a,nodes:r}=e,{extendWidth:i}=this.state;i>0&&((0,m.default)(a).call(a,(e=>{e.style.width=t-50+i,e.x=(t+i)/2,e.labelCfg.offset=-(t+i)/2})),r[1].style.width=t+i-10,r[0].x=(t+i)/2,r[1].labelCfg.offset=-(t+i)/2,r[1].x=(t+i)/2),a&&a[0]&&(e.nodes=(0,_.default)(r).call(r,a))})),(0,C.default)(this,"onCheckChange",(()=>{var{firstSubnetY:e,extendWidth:t,showAll:a,withoutServerData:r,allData:i}=this.state,n=document.getElementById("container").scrollWidth,l=!a;this.setState({showAll:l});var o=n+t;l||(o=n-t),G.clear(),G.destroy(),G=null,(G=new D.default.Graph({container:"container",width:o,height:e,nodeStateStyles:{hover:{lineWidth:3}}})).data(l?i:r),G.render(),this.bindEvents()})),this.init(),this.state={firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,showAll:!0,withoutServerData:null,allData:null}}componentDidMount(){}get topoInfo(){return this.store.topology}initNetwork(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopoNetwork(K(K({},e.props.match.params),{},{metrics:!0})),e.renderG6()}))()}initAll(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopo(K(K({},e.props.match.params),{},{metrics:!0})),e.topoInfo.networks&&e.renderG6()}))()}initTopo(){this.initNetwork(),this.initAll()}init(){this.store=N.default,G=null,this.initTopo()}render(){var{nodeCard:e,insCard:a,loading:r,showAll:i}=this.state,{topology:n}=this.store;return E.default.createElement("div",{className:L.default.main},E.default.createElement("div",{style:{marginBottom:16,marginTop:16,marginLeft:16}},E.default.createElement(M.default,{primaryActions:[O.default]},t("create router")),E.default.createElement(M.default,{primaryActions:[Q.default]},t("Create Network")),E.default.createElement(M.default,{primaryActions:[q.default]},t("Create Instance")),E.default.createElement(w.default,{type:"primary",shape:"circle",style:{marginLeft:16},onClick:()=>this.updateGraph(),icon:E.default.createElement(x.default,null)}),E.default.createElement(S.default,{onChange:()=>this.onCheckChange(),checked:i},t("Show Instance"))),E.default.createElement(I.default,{spinning:r},E.default.createElement(A.default,{style:{margin:16},id:"card",className:L.default.container},E.default.createElement("div",{id:"container"},n&&(0,g.default)(e).call(e,((e,t)=>E.default.createElement(H.default,{key:t,x:e.nodeCardX,y:e.nodeCardY,data:this.topoInfo,infoIndex:t}))),i?n&&(0,g.default)(a).call(a,((e,t)=>E.default.createElement(V.default,{key:t,x:e[0],y:e[1],data:this.topoInfo,infoIndex:t}))):null))))}}a.Topology=X;var Y=(0,R.inject)("rootStore")((0,R.observer)(X));a.default=Y},3858:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/cloud.1741790621.png"},3859:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.subnetsColors=t.combosColors=t.combosBackground=void 0;t.combosBackground=["rgba(0,104,255,0.05)","rgba(94,246,255,0.08)","rgba(236,220,255,0.08)","rgba(255,255,240,0.3)"];t.combosColors=["#9AC3FF","#A5FFF0","#ECDCFF","#FFFF00"];t.subnetsColors=[["#9AC3FF","#4C95FF","#0068FF","#0080FF","#0066CC","#0000FF"],["#CCF2EC","#92DACF","#46B1A5","#CCF2EC","#92DACF","#46B1A5"],["#ECDCFF","#D6B3FF","#BA80FF","#ECDCFF","#D6B3FF","#BA80FF"],["#FFFACD","#FFFF00","#FFD700","#FFFACD","#FFFF00","#FFD700"]]},3860:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__node-tooltips--1M7su {\n position: absolute;\n}\n.index__node-tooltips--1M7su .ant-card-body {\n padding: 15px;\n}\n.index__image-icon--2ABo6 {\n width: 15px;\n height: 15px;\n margin-right: 2px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-item-label {\n width: 80px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-row > th,\n.index__descriptions-item--iUKkb .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.index__node-card-title--3zjAj {\n font-size: 16px;\n}\n.index__card-button--1hPxO .ant-btn-primary {\n margin-right: 6px;\n}\n.index__main--2dSfi {\n height: 100%;\n}\n.index__main--2dSfi .ant-btn-primary {\n margin-right: 16px;\n}\n.index__container--3ea1Q {\n height: calc(100vh - 170px);\n overflow-y: auto;\n}\n",""]),t.locals={"node-tooltips":"index__node-tooltips--1M7su","image-icon":"index__image-icon--2ABo6","descriptions-item":"index__descriptions-item--iUKkb","node-card-title":"index__node-card-title--3zjAj","card-button":"index__card-button--1hPxO",main:"index__main--2dSfi",container:"index__container--3ea1Q"}},3861:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54));r(589);var o=n(r(590));r(1384);var s=n(r(1385)),d=n(r(35)),u=n(r(0)),c=(r(161),r(1248)),f=n(r(3862)),p=n(r(597)),m=r(204),h=n(r(1471)),v=n(r(1633));class g extends v.default{constructor(e){super(e),(0,d.default)(this,"detailButtons",(()=>{var{data:{servers:e},infoIndex:a}=this.props,{status:r}=e[a];return[..."SHUTOFF"===r?[{name:t("Power On"),click:null}]:[{name:t("Power Off"),click:null}],{name:t("Associate IP"),click:null},{name:t("Add network"),click:null},{name:t("VNC"),click:null},{name:t("Delete"),type:"danger",click:null}]})),this.state={}}get detailInfos(){return[{title:t("Name"),dataIndex:"name",width:100,render:(e,t)=>e?u.default.createElement(m.Link,{to:"/compute/instance/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",isHideable:!0,render:e=>c.instanceStatus[e&&e.toLowerCase()]||"-"},{title:t("Image"),dataIndex:"image_os_distro",isHideable:!0,render:(e,t)=>u.default.createElement(p.default,{type:e,title:t.image_name}),stringify:(e,t)=>t.image_name},{title:t("Fixed IP"),dataIndex:"fixed_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-",stringify:e=>e.join(",")||"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-"}]}render(){var{x:e,y:a}=this.props,{data:{servers:r},infoIndex:i}=this.props,n=r[i];return u.default.createElement("div",{className:h.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e-8,"px")}},u.default.createElement(o.default,{placement:"rightTop",content:this.renderCard(435,n),title:this.renderTitle(t("Instance"),n.name)},u.default.createElement("div",{style:{textAlign:"center",width:"66px",height:"50px",overflow:"hidden"}},u.default.createElement(s.default,{src:f.default,shape:"square",size:28}),u.default.createElement("div",null,n.name))))}}a.default=g},3862:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,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"},3863:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/router.1741790621.png"},3864:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RouterDetail=void 0;var l=r(412),o=r(575),s=n(r(1243)),d=r(1267),u=n(r(3865)),c=n(r(3866)),f=n(r(3867)),p=n(r(1631));class m extends s.default{get name(){return t("router")}get policy(){return"get_router"}get listUrl(){return this.getRoutePath("router")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.routerStatus},{title:t("Admin State"),dataIndex:"admin_state_up",render:e=>(0,d.getRouterState)(e)||"-"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Ports"),key:"ports",component:c.default},{title:t("Static Routes"),key:"staticRoutes",component:f.default}]}init(){this.store=new o.RouterStore}}a.RouterDetail=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3865:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.aZoneCard]}get rightCards(){return[this.externalNetInfo]}get externalNetInfo(){var e=[{label:t("Network Name"),dataIndex:"externalNetworkName"},{label:t("Network ID"),dataIndex:"externalNetworkId"},{label:t("SNAT Enabled"),dataIndex:"external_gateway_info.enable_snat",valueRender:"yesNo"},{label:t("External Fixed IPs"),dataIndex:"external_gateway_info.external_fixed_ips",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,((e,a)=>o.default.createElement("div",{key:"ip-".concat(a)},o.default.createElement("div",{key:e.subnet_id},o.default.createElement("b",null,t("Subnet ID")),": ",e.subnet_id),o.default.createElement("div",{key:e.ip_address},o.default.createElement("b",null,t("IP Address")),": ",e.ip_address),o.default.createElement("div",{style:{marginBottom:"8px"}})))):"-"}];return{title:t("External Network Info"),options:e,labelCol:4}}get aZoneCard(){var e=[{label:t("Current Availability Zones"),dataIndex:"availability_zones",render:e=>(e||[]).join(",")||"-"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints",render:e=>(e||[]).join(",")||"-"}];return{title:t("Availability Zone Info"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3866:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(54)),m=f(r(58)),h=f(r(49)),v=f(r(35)),g=f(r(0)),_=r(412),b=f(r(1242)),y=r(1258),I=r(582),A=r(163);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){super(...arguments),(0,v.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("routerPortDetail"),routeParamsFunc:e=>({routerId:this.id,id:e.id})},{title:t("IP Address"),dataIndex:"fixed_ips",isHideable:!0,render:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>g.default.createElement("div",{key:e.ip_address},e.ip_address))):"-",stringify:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>e.ip_address)).join(","):"-"},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Associated Resources"),dataIndex:"device_owner",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=new I.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]);r&&(t.list.silent=!0);var{id:n}=t.props.match.params,{tab:l}=i,f=(0,m.default)(i,["tab"]);t.fetchListWithTry((0,h.default)((function*(){yield t.store.fetchList(function(e){for(var t=1;t[{title:t("Destination CIDR"),dataIndex:"destination"},{title:t("Next Hop"),dataIndex:"nexthop",isHideable:!0}]))}init(){this.store=d.default}get policy(){return"get_router"}get name(){return t("static routers")}get actionConfigs(){return this.isAdminPage?u.default.actionConfigsAdmin:u.default.actionConfigs}get searchFilters(){return[]}}a.StaticRouters=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3868:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3869)),l=i(a(3870)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]}};t.default=o},3869:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(623)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",((e,t)=>{var{match:{params:{id:a}={}}={}}=t,r=[e];return this.store.addStaticRoute({id:a,routes:r})}))}init(){this.store=d.default}get name(){return t("Create static route")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"destination",label:t("Destination CIDR"),type:"input",required:!0},{name:"nexthop",label:t("Next Hop"),type:"input",required:!0}]}}a.Create=c,(0,o.default)(c,"id","create"),(0,o.default)(c,"title",t("Create Static Route")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3870:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(35)),s=r(1241),d=n(r(623));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_router"),(0,o.default)(this,"getItemName",(e=>{var t,{destination:a,nexthop:r}=e;return(0,l.default)(t="".concat(a,"(")).call(t,r,")")})),(0,o.default)(this,"onSubmit",(e=>{var{destination:t,nexthop:a,router_id:r}=e,i=[{destination:t,nexthop:a}];return d.default.removeStaticRoute({id:r,routes:i})}))}get id(){return"delete"}get title(){return t("Delete Static Route")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete static route")}}a.default=u},3871:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(177)),d=n(r(0)),u=r(412),c=n(r(1249));class f extends c.default{get leftCards(){var e=[this.portInfo],{dns_assignment:t=[],fixed_ips:a=[],deviceOwner:r={}}=this.detailData;return t.length>0&&e.push(this.dnsAssignment),a.length>0&&e.push(this.fixedIps),r&&this.isAdmin&&e.push(this.deviceOwner),e.push(this.binding),e}get portInfo(){var e=[{label:t("Network Name"),dataIndex:"network_name"},{label:t("Network ID"),dataIndex:"network_id"},{label:t("MAC Address"),dataIndex:"mac_address"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{label:t("DNS Name"),dataIndex:"dns_name",hidden:!this.isAdmin}];return this.detailData.mac_state&&e.push({label:t("MAC Learning State"),dataIndex:"mac_state"}),this.detailData.qos_policy_id&&e.push({label:t("QoS Policy ID"),dataIndex:"qos_policy_id"}),{title:t("Port Info"),options:e}}get dnsAssignment(){var e=this.detailData.dns_assignment[0]||{},{hostname:a,ip_address:r}=e,i=[{label:t("Hostname"),dataIndex:"dns_assignment",render:()=>a},{label:t("IP Address"),dataIndex:"ip_address",render:()=>r}];return{title:t("DNS Assignment"),options:i}}get fixedIps(){var e=this.detailData.fixed_ips[0]||{},{ip_address:a,subnet_id:r}=e,i=[{label:t("IP Address"),dataIndex:"ip_address",render:()=>a},{label:t("Subnet ID"),dataIndex:"subnet_id",render:()=>r}];return{title:t("Fixed IPs"),options:i}}get deviceOwner(){var e=[{label:t("Device Owner"),dataIndex:"device_owner"},{label:t("Device ID"),dataIndex:"device_id"}];return{title:t("Attached Device"),options:e}}get binding(){var e=[{label:t("VNIC Type"),dataIndex:"binding__vnic_type"}];if(this.detailData.binding__host_id){var a=[{label:t("Host"),dataIndex:"binding__host_id"},{label:t("Profile"),dataIndex:"binding__profile",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t),": ",d.default.createElement("b",null,e[t]))))}},{label:t("VIF Type"),dataIndex:"binding__vif_type"},{label:t("VIF Details"),dataIndex:"binding__vif_details",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t)," ",d.default.createElement("span",null,e[t].toString()))))}}];e=[...e,...a]}return{title:t("Binding"),options:e}}}a.BaseDetail=f;var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3872:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=n(r(164)),o=n(r(29)),s=r(412),d=r(572),u=n(r(1243)),c=r(571),f=n(r(3873)),p=n(r(3878)),m=n(r(3882)),h=n(r(3886)),v=n(r(1606));class g extends u.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{networkId:e,subnetId:t,instanceId:a}=this.params;return this.isSubnetPortDetail?this.getRoutePath("subnetDetail",{id:t,networkId:e},{tab:"ports"}):this.isNetworkPortDetail?this.getRoutePath("networkDetail",{id:e},{tab:"ports"}):this.isInstancePortDetail?this.getRoutePath("instanceDetail",{id:a},{tab:"interface"}):this.getRoutePath("port")}get isSubnetPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"subnet")}get isNetworkPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"networks")&&!this.isSubnetPortDetail}get isInstancePortDetail(){var e;return(0,l.default)(e=this.path).call(e,"instance")}get actionConfigs(){return this.isAdminPage?v.default.adminActions:v.default.actionConfigs}getActionData(){return this.detailData.itemInList||{}}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Status"),dataIndex:"status",valueMap:c.networkStatus},{title:t("Owned Network"),dataIndex:"itemInList.network_name"},{title:t("Network ID"),dataIndex:"network_id"},{title:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:h.default},{title:t("Fixed IPs"),key:"fixed_ips",component:f.default},{title:t("Security Groups"),key:"security_groups",component:p.default},{title:t("Allowed Address Pairs"),key:"allowed_address_pair",component:m.default}],{port_security_enabled:a}=this.detailData;return a?e:(0,o.default)(e).call(e,(e=>"security_groups"!==e.key))}init(){this.store=new d.PortStore}}a.PortDetail=g;var _=(0,s.inject)("rootStore")((0,s.observer)(g));a.default=_},3873:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FixedIP=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(3874),u=n(r(3875));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>0===e.length?"-":e[0].floating_ip_address},{title:t("Owned Subnet"),dataIndex:"subnet",render:e=>e&&e.name||"-"}]))}init(){this.store=new d.FixedIpStore,this.downloadStore=new d.FixedIpStore}get rowKey(){return"ip_address"}get policy(){return"get_port"}get name(){return t("Fixed IP")}get actionConfigs(){return this.isAdminPage?u.default.adminConfigs:u.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Owned Subnet"),name:"subnet",filterFunc:(e,t)=>e.name===t}]}}a.FixedIP=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3874:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FixedIpStore=void 0;var f=c(a(350)),p=c(a(591)),m=c(a(54)),h=c(a(63)),v=c(a(28)),g=c(a(35)),_=c(a(49)),b=c(a(58)),y=c(a(233)),I=c(a(346)),A=c(a(50)),S=c(a(53));function w(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function x(e){for(var t=1;t{var{all_projects:t}=e;return(0,b.default)(e,["all_projects"])}}getItemFloatingIPs(e,t){return(0,_.default)((function*(){return I.default.pureFetchList({fixed_ip_address:e,port_id:t})}))()}listDidFetch(e){var t=this;return(0,_.default)((function*(){if(0===e.length)return[];var a=e[0],{fixed_ips:r=[],id:i}=a,n=(0,f.default)(new p.default((0,m.default)(r).call(r,(e=>e.subnet_id)))),l=yield h.default.all((0,m.default)(n).call(n,(e=>y.default.fetchSubnetDetail({id:e})))),o={};(0,v.default)(l).call(l,(e=>{o[e.id]=e}));var s=yield h.default.all((0,m.default)(r).call(r,(e=>t.getItemFloatingIPs(e.ip_address,i))));return(0,m.default)(r).call(r,((e,t)=>x(x({},e),{},{subnet:o[e.subnet_id],fip:s[t],port:a})))}))()}}t.FixedIpStore=P;var C=new P;t.default=C},3875:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3876)),l=i(a(3877)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3876:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AllocateIP=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(572)),p=r(233),m=r(417);class h extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{fixed_ips:t}=e,a=(0,l.default)(t).call(t,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}));return f.default.update(this.item,{fixed_ips:[...a,...this.item.fixed_ips]})}))}get name(){return t("Allocate IP")}init(){this.networkStore=new p.NetworkStore,this.subnetStore=new m.SubnetStore,this.getNetworkDetail(this.item.network_id),this.getSubnets(this.item.network_id)}getSubnets(e){var t=this;return(0,s.default)((function*(){var a=yield t.subnetStore.fetchList({network_id:e});t.setState({subnetDetails:a||[]})}))()}getNetworkDetail(e){var t=this;return(0,s.default)((function*(){var a=yield t.networkStore.fetchDetail({id:e});t.updateFormValue("network_name",a.name)}))()}get defaultValue(){return{network_id:this.item.network_id}}get isAllowed(){return!0}static get modalSize(){return"large"}get messageHasItemName(){return!1}get formItems(){var{subnetDetails:e=[]}=this.state;return[{name:"network_id",label:t("Owned Network ID"),type:"label"},{name:"network_name",label:t("Owned Network"),type:"label"},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:e,required:!0}]}}a.AllocateIP=h,(0,d.default)(h,"id","allocate-ip"),(0,d.default)(h,"title",t("Allocate IP")),(0,d.default)(h,"policy","update_port:fixed_ips:ip_address"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3877:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(28)),o=n(r(29)),s=n(r(63)),d=n(r(35)),u=r(1241),c=n(r(572));class f extends u.ConfirmAction{constructor(){super(...arguments),(0,d.default)(this,"getItemName",(e=>e.ip_address)),(0,d.default)(this,"policy","update_port"),(0,d.default)(this,"onSubmit",((e,t,a,r,i)=>{var{port:{id:n,fixed_ips:d=[]}={}}=e,u=d;if(a){if(0!==r)return s.default.resolve();(0,l.default)(i).call(i,(e=>{var{subnet_id:t,ip_address:a}=e;u=(0,o.default)(u).call(u,(e=>e.ip_address!==a||e.subnet_id!==t))}))}else{var{subnet_id:f,ip_address:p}=e;u=(0,o.default)(d).call(d,(e=>e.ip_address!==p||e.subnet_id!==f))}return c.default.update({id:n},{fixed_ips:u})}))}get id(){return"delete"}get title(){return t("Release Fixed IP")}get buttonText(){return t("Release")}get isDanger(){return!0}get actionName(){return t("release fixed ip")}get passiveAction(){return t("be released")}}a.default=f},3878:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroup=void 0;var l=n(r(54));r(347);var o=n(r(348));r(426);var s=n(r(429)),d=n(r(1458));r(584);var u=n(r(586)),c=n(r(343));r(1246);var f=n(r(1247));r(1244);var p=n(r(1245));r(231);var m=n(r(341));r(1300);var h=n(r(1301)),v=n(r(35));r(1468);var g=n(r(1469)),_=n(r(0)),b=r(412),y=r(572),I=(r(161),n(r(1607))),A=r(204),S=n(r(4)),w=r(36),x=(r(564),n(r(1388))),P=n(r(1302)),C=r(354),E=r(163),D=r(567),k=n(r(3879)),R=n(r(3880)),{Panel:N}=g.default;class j extends _.default.Component{constructor(e){super(e),(0,v.default)(this,"refreshSecurityGroup",(()=>{this.store.fetchSecurityGroupsDetail(this.portId)})),this.store=new y.PortStore}componentDidMount(){this.refreshSecurityGroup()}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,D.getPath)({key:t,params:{id:e}})}get portId(){var{detail:{id:e}}=this.props;return e}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}renderPanelTitle(e){var{security_groups:{data:a}}=this.store,r=this.getDetailUrl(e.id);return _.default.createElement(f.default,null,_.default.createElement(p.default,{span:18},_.default.createElement("span",null,t("Security Group")),_.default.createElement(h.default,{type:"vertical",className:R.default["header-divider"]}),_.default.createElement(m.default,{type:"link"},e.name)),_.default.createElement(p.default,{span:6},!this.isAdminPage&&_.default.createElement(_.default.Fragment,null,_.default.createElement(A.Link,{style:{fontSize:12,marginRight:16},to:r},t("Edit Rule"))),!this.isAdminPage&&1!==a.length&&_.default.createElement(_.default.Fragment,null,_.default.createElement(P.default,{actions:{firstAction:k.default},onFinishAction:this.refreshSecurityGroup,item:e,containerProps:this.props},t("Detach")))))}renderPanel(e,t){return _.default.createElement(N,{header:this.renderPanelTitle(e,t),key:t,className:R.default.panel},_.default.createElement(u.default,(0,c.default)({size:"middle",pagination:!1,bordered:!1,rowKey:"id"},this.state,{columns:(0,C.getSelfColumns)(this),dataSource:e.security_group_rules?(0,w.toJS)(e.security_group_rules):null})))}render(){var e,{security_groups:t}=this.store;return _.default.createElement("div",{className:(0,S.default)(R.default.wrapper,this.className)},this.isAdminPage?null:_.default.createElement("div",{style:{marginBottom:20}},_.default.createElement(x.default,{containerProps:this.props,primaryActions:[I.default],onFinishAction:this.refreshSecurityGroup})),_.default.createElement(o.default,{spinning:t.isLoading},t.data&&0!==t.data.length?_.default.createElement(g.default,{className:R.default.collapse,accordion:!0,bordered:!1,expandIcon:e=>{var{isActive:t}=e;return _.default.createElement(d.default,{rotate:t?90:0})}},(0,l.default)(e=t.data).call(e,((e,t)=>this.renderPanel(e,t)))):_.default.createElement(s.default,{image:s.default.PRESENTED_IMAGE_SIMPLE,style:{backgroundColor:"white",padding:"32px 0"}})))}}a.SecurityGroup=j;var M=(0,b.inject)("rootStore")((0,b.observer)(j));a.default=M},3879:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(35)),s=r(1241),d=n(r(572));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_port"),(0,o.default)(this,"allowedCheckFunc",(()=>!0)),(0,o.default)(this,"onSubmit",(e=>{var{port:{id:t,security_groups:a=[]}={}}=e,r={security_groups:(0,l.default)(a).call(a,(t=>t!==e.id))};return d.default.update({id:t},r)}))}get id(){return"detach"}get title(){return t("Detach Security Group")}get isDanger(){return!0}get buttonText(){return t("Detach")}get actionName(){return t("detach security group")}}a.default=u},3880:function(e,t,a){var r=a(3881);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},3881:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3LuNN {\n min-height: calc(100vh - 108px);\n padding: 0 16px;\n}\n.index__collapse--3_l12 {\n margin-bottom: 24px;\n overflow: hidden;\n}\n.index__panel--3V7V- {\n margin-bottom: 24px;\n padding-top: 12px;\n padding-bottom: 12px;\n font-size: larger;\n background: #fff;\n}\n.index__header-divider--EyyRf {\n width: 2px;\n margin: 0 5px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__image--XS90m {\n width: 100px;\n padding: 10px;\n}\n.index__radio-button--2oJLs .ant-radio-button-wrapper {\n width: 250px;\n height: 100px;\n margin-right: 40px;\n padding: 15px;\n}\n.index__security-group-text--1Hv_J {\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3LuNN",collapse:"index__collapse--3_l12",panel:"index__panel--3V7V-","header-divider":"index__header-divider--EyyRf",image:"index__image--XS90m","radio-button":"index__radio-button--2oJLs","security-group-text":"index__security-group-text--1Hv_J"}},3882:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.AllowedAddressPair=void 0;var p=f(r(54)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(572)),b=f(r(432)),y=f(r(3883));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;tthis.props.detail.allowed_address_pairs)),(0,h.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Mac Address"),dataIndex:"mac_address"}]))}init(){this.store=_.default,this.store.setDetail(this.props.detail)}get list(){var e,t=new b.default;this.props.detail.allowed_address_pairs&&t.update({data:(0,p.default)(e=this.props.detail.allowed_address_pairs||[]).call(e,((e,t)=>A(A({},e),{},{id:"port_detail_allowed_address_pair_".concat(t)})))});return t}get isLoading(){return!1}getData(){return(0,m.default)((function*(){}))()}get policy(){return"get_port"}get name(){return t("Allowed Address Pairs")}get actionConfigs(){return this.isAdminPage?y.default.adminConfigs:y.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Mac Address"),name:"mac_address"}]}}a.AllowedAddressPair=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3883:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3884)),l=i(a(3885)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3884:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAllowedAddressPair=void 0;var l=n(r(1252)),o=n(r(63)),s=n(r(35)),d=n(r(177)),u=r(412),c=r(1241),f=n(r(572)),p=r(565),{isIpCidr:m,isIPv6Cidr:h}=p.ipValidate;class v extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{allowed_address_pairs:t=[]}=this.item,{ip_address:a,mac_address:r}=e,i={ip_address:a};return"manual"===r.type&&(i.mac_address=r.mac),f.default.update(this.item,{allowed_address_pairs:[i,...t]}).then((e=>{f.default.setDetail(e.port)}))})),(0,s.default)(this,"checkCidr",(e=>{if((0,d.default)(e))return!1;var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!m(e))&&!("ipv6"===t&&!h(e))}))}init(){this.store=f.default}get name(){return t("create allowed address pair")}get instanceName(){return(0,l.default)(this).ip_address}get isAllowed(){return!0}static get modalSize(){return"middle"}get defaultValue(){return{ip_version:"ipv4"}}get formItems(){return[{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e},(()=>{this.formRef.current.validateFields()}))},required:!0},{name:"ip_address",label:t("CIDR"),type:"input",required:!0,validator:(e,a)=>this.checkCidr(a)?o.default.resolve():o.default.reject(new Error(t("Invalid CIDR.")))},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address",options:[{label:t("From port"),value:"auto"},{label:t("Manual input"),value:"manual"}]}]}}a.CreateAllowedAddressPair=v,(0,s.default)(v,"id","create-ip"),(0,s.default)(v,"title",t("Create Allowed Address Pair")),(0,s.default)(v,"policy","update_port"),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3885:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(572));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"getItemName",(e=>e.ip_address)),(0,s.default)(this,"policy","update_port"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,s.default)(this,"onSubmit",function(){var e=(0,o.default)((function*(e,t){var{allowed_address_pairs:a=[],id:r}=t.detail,i=(0,l.default)(a).call(a,(t=>t.ip_address!==e.ip_address));return u.default.update({id:r},{allowed_address_pairs:i}).then((e=>{u.default.setDetail(e.port)}))}));return function(t,a){return e.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Allowed Address Pair")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete allowed address pair")}isOwnerOrAdmin(){return!0}}a.default=c},3886:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(77)),o=r(412),s=n(r(1249)),d=r(66);class u extends s.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,d.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Bind Device Type"),dataIndex:"device_owner"},{label:t("Bind Device"),dataIndex:"device_id",render:(e,t)=>{var{itemInList:{device_id:a,device_owner:r,server_name:i}={}}=t;if(a&&"compute:nova"===r){var n,o=i?(0,l.default)(n="".concat(a," (")).call(n,i,")"):a;return this.getLinkRender("instanceDetail",o,{id:a},{tab:"interface"})}return e||"-"}},{label:t("VNIC Type"),dataIndex:"binding:vnic_type"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",copyable:!1,render:e=>{var t;if(!e)return"-";var{qosPolicy:a}=this.detailData,{name:r}=a||{},i=r?(0,l.default)(t="".concat(e,"(")).call(t,r,")"):e;return this.getLinkRender("networkQosDetail",i,{id:e})}}),{title:t("Base Info"),options:e}}}a.BaseDetail=u;var c=(0,o.inject)("rootStore")((0,o.observer)(u));a.default=c},3887:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(1635));class u extends o.default{get checkEndpoint(){return!0}get endpoint(){return(0,s.qosEndpoint)()}get tabs(){var e=[{title:t("Current Project QoS Policies"),key:"projectQoSPolicy",component:d.default},{title:t("Shared QoS Policies"),key:"sharedQoSPolicy",component:d.default}];return this.hasAdminRole&&e.push({title:t("All QoS Policies"),key:"allQoSPolicy",component:d.default}),e}}a.QoSPolicy=u;var c=(0,l.inject)("rootStore")((0,l.observer)(u));a.default=c},3888:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(340)),b=r(576),y=r(1265),I=r(163),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{name:t,description:a,shared:r,is_default:i,project_id:n}=e;return this.store.create({name:t,description:a,shared:r,is_default:i,project_id:n?n.selectedRowKeys[0]:this.props.rootStore.user.project.id})}))}get name(){return t("Create QoS Policy")}static get modalSize(){var{pathname:e}=window.location;return(0,I.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){this.store=new b.QoSPolicyStore,this.projectStore=_.default,this.isAdminPage&&this.fetchProjectList()}fetchProjectList(){var e=this;return(0,m.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}get defaultValue(){return this.isAdminPage?{project_id:{selectedRowKeys:[this.props.rootStore.user.project.id]}}:{}}get formItems(){return[{name:"name",label:t("Policy Name"),type:"input-name",required:!0,withoutChinese:!0},w({name:"project_id",label:t("Project"),type:"select-table",required:this.isAdminPage,isLoading:_.default.list.isLoading,data:this.projects,hidden:!this.isAdminPage},y.projectTableOptions),{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Create=x,(0,h.default)(x,"id","create_qos_policy"),(0,h.default)(x,"title",t("Create QoS Policy")),(0,h.default)(x,"policy","create_policy"),(0,h.default)(x,"aliasPolicy","neutron:create_policy"),(0,h.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,v.inject)("rootStore")((0,v.observer)(x));a.default=P},3889:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(576);function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class b extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"policy",(()=>({rules:[["network","edit_qos_policy"]]}))),(0,m.default)(this,"onSubmit",(e=>this.store.update(this.props.item,e)))}get name(){return t("Edit QoS Policy")}init(){this.store=new g.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var y=(0,h.inject)("rootStore")((0,h.observer)(b));a.default=y},3890:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(576));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_policy"),(0,l.default)(this,"aliasPolicy","neutron:delete_policy"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete QoS Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete qos policy")}isOwnerOrAdmin(){return!0}}a.default=d},3891:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateBandwidthLimitRule=void 0;var p=f(r(232)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=f(r(0)),_=r(412),b=r(1241),y=f(r(576));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{var{max_kbps:t,max_burst_kbps:a}=e,r=A(A({},(0,h.default)(e,["max_kbps","max_burst_kbps"])),{},{max_kbps:1024*t,max_burst_kbps:1024*a});return y.default.createBandwidthLimitRule(this.props.item,r)}))}get name(){return t("create bandwidth limit rule")}get defaultValue(){return{max_kbps:1,max_burst_kbps:1,direction:"egress"}}get formItems(){return[{label:t("Type"),type:"label",component:g.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"direction",label:t("Direction"),type:"select",options:[{label:t("egress"),value:"egress"},{label:t("ingress"),value:"ingress"}]}]}}a.CreateBandwidthLimitRule=S,(0,v.default)(S,"id","create_bandwidth_limit_rule"),(0,v.default)(S,"title",t("Create Bandwidth Limit Rule")),(0,v.default)(S,"policy","create_policy_bandwidth_limit_rule"),(0,v.default)(S,"allowed",(e=>{var{rules:t=[]}=e,a=(0,p.default)(t).call(t,(e=>"ingress"===e.direction)),r=(0,p.default)(t).call(t,(e=>"egress"===e.direction));return m.default.resolve(!(a&&r))}));var w=(0,_.inject)("rootStore")((0,_.observer)(S));a.default=w},3892:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateDSCPMarkingRules=void 0;var l=n(r(232)),o=n(r(63)),s=n(r(35)),d=n(r(0)),u=r(412),c=r(1241),f=n(r(576)),p=n(r(1637));class m extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>f.default.createDSCPMarkingRule(this.props.item,e)))}get name(){return t("create DSCP marking rule")}get defaultValue(){return{dscp_mark:0}}get formItems(){return[{label:t("Type"),type:"label",component:d.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:p.default}]}}a.CreateDSCPMarkingRules=m,(0,s.default)(m,"id","create_DSCP_marking_rule"),(0,s.default)(m,"title",t("Create DSCP Marking Rule")),(0,s.default)(m,"policy","create_policy_dscp_marking_rule"),(0,s.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type));return o.default.resolve(!a)}));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3893:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_dscp_marking_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasDSCPMarkingRule(e))),(0,s.default)(this,"hasDSCPMarkingRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"dscp_marking"===e.type));return u.default.deleteDSCPMarkingRules(e,a)}))}get id(){return"delete"}get title(){return t("Delete DSCP Marking Rules")}get isDanger(){return!0}get buttonText(){return t("Delete DSCP Marking Rules")}get actionName(){return t("delete dscp marking rules")}isOwnerOrAdmin(){return!0}}a.default=c},3894:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasEgressRule(e))),(0,s.default)(this,"hasEgressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"egress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-egress"}get title(){return t("Delete Bandwidth Egress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Egress Rules")}get actionName(){return t("delete bandwidth egress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3895:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasIngressRule(e))),(0,s.default)(this,"hasIngressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"ingress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-ingress"}get title(){return t("Delete Bandwidth Ingress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Ingress Rules")}get actionName(){return t("delete bandwidth ingress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3896:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthEgressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r={max_kbps:1024*t,max_burst_kbps:1024*a};return p.default.updateBandwidthLimitRule(this.props.item,this.egressRule.id,r)}))}get name(){return t("Edit Bandwidth Egress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.egressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.egressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Egress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthEgressRule=m,(0,d.default)(m,"id","edit_bandwidth_egress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Egress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"egress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3897:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthIngressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateBandwidthLimitRule(this.props.item,this.ingressRule.id,{max_kbps:1024*e.max_kbps,max_burst_kbps:1024*e.max_burst_kbps})))}get name(){return t("Edit Bandwidth Ingress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.ingressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.ingressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Ingress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthIngressRule=m,(0,d.default)(m,"id","edit_bandwidth_ingress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Ingress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"ingress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3898:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditDSCPMarkingRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576)),m=n(r(1637));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateDSCPMarkingRule(this.props.item,this.dscpMarkingRule.id,e)))}get name(){return t("Edit DSCP Marking Rule")}get defaultValue(){return{dscp_mark:this.dscpMarkingRule.dscp_mark||0}}init(){var{rules:e=[]}=this.item;this.dscpMarkingRule=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:m.default}]}}a.EditDSCPMarkingRule=h,(0,d.default)(h,"id","edit_DSCP_marking_rule"),(0,d.default)(h,"title",t("Edit DSCP Marking Rule")),(0,d.default)(h,"policy","update_policy_dscp_marking_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"dscp_marking"===e.type));return s.default.resolve(a)}));var v=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=v},3899:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicyDetail=void 0;var l=n(r(573)),o=r(412),s=n(r(1243)),d=r(576),u=n(r(1466)),c=n(r(3900)),f=n(r(1636));class p extends s.default{get name(){return t("qoS policy")}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get listUrl(){return this.getRoutePath("networkQos")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigs:f.default.consoleActions}get detailInfos(){var e=[{title:t("Policy Name"),dataIndex:"name"},{title:t("Rule Numbers"),dataIndex:"rules",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&(0,l.default)(e).call(e,3,0,{title:t("Owned Project"),dataIndex:"project_name"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:c.default},{title:t("Floating IPs"),key:"fip",component:u.default}]}init(){this.store=new d.QoSPolicyStore}}a.QoSPolicyDetail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3900:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[...this.BandwidthCard,this.DSCPMarkingCard]}getOptions(e){var{max_kbps:a="-",max_burst_kbps:r="-"}=e||{};return[{label:t("Max BandWidth"),content:"".concat("-"===a?a:a/1024," Mbps")},{label:t("Max Burst"),content:"".concat("-"===r?r:r/1024," Mbps")}]}get BandwidthCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction)),r=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return[{title:t("BandWidth Limit Egress"),options:this.getOptions(a)},{title:t("BandWidth Limit Ingress"),options:this.getOptions(r)}]}get DSCPMarkingCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{},r=[{label:t("Value"),content:0===a.dscp_mark?"0":a.dscp_mark||"-"}];return{title:t("DSCP Marking"),options:r}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3901:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.LoadBalancerInstance=void 0,r(1246);var l=n(r(1247));r(1244);var o=n(r(1245)),s=n(r(49)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=(r(161),r(581)),m=r(1254),h=r(66),v=r(1638);class g extends f.default{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"fetchDataByPage",function(){var t=(0,s.default)((function*(t){yield e.store.fetchListByPageWithFip(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"fetchDownloadData",function(){var t=(0,s.default)((function*(t){return e.isFilterByBackend?yield e.downloadStore.fetchListByPageWithFip(e.updateFetchParamsByPage(t)):yield e.downloadStore.fetchList(e.updateFetchParams(t))}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Network ID"),dataIndex:"vip_network_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>e||"-"},{title:t("Port ID"),dataIndex:"vip_port_id"},{title:t("Operating Status"),dataIndex:"operating_status",valueMap:m.operatingStatusCodes,titleTip:u.default.createElement(l.default,null,u.default.createElement(o.default,null,t("DRAINING: The member is not accepting new connections")),u.default.createElement(o.default,null,t("DEGRADED: One or more of the entity’s components are in ERROR")))},{title:t("Provisioning Status"),dataIndex:"provisioning_status",valueMap:m.provisioningStatusCodes},{title:t("Listener Number"),dataIndex:"listeners",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}]))}init(){this.store=new p.LbaasStore,this.downloadStore=new p.LbaasStore}get fetchDataByCurrentProject(){return!0}get policy(){return"os_load-balancer_api:loadbalancer:get_all"}get checkEndpoint(){return!0}get endpoint(){return(0,h.lbEndpoint)()}get name(){return t("Load Balancers")}get isFilterByBackend(){return!0}get actionConfigs(){return this.isAdminPage?v.adminActions:v.actionConfigs}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.LoadBalancerInstance=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3902:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(581));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"policy",(()=>"edit_load_balancer")),(0,o.default)(this,"onSubmit",(e=>u.default.update({id:this.item.id},e)))}get name(){return t("Edit Load Balancer")}get defaultValue(){var{item:e}=this;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=c,(0,o.default)(c,"id","edit_load_balancer"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","os_load-balancer_api:loadbalancer:put"),(0,o.default)(c,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status)}));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3903:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(581)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:loadbalancer:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})+t("This will delete all child objects of the load balancer.")})),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(this.isCurrentProject(e)&&"ACTIVE"===e.provisioning_status||"ERROR"===e.provisioning_status))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Load Balancer")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete load balancer")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3904:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(412),u=n(r(346)),c=r(1241),f=r(1258),p=r(1273),m=r(1267);class h extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>p.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],i=a.selectedRowKeys[0];return u.default.associateFip({id:i,port_id:this.item.vip_port_id,fixed_ip_address:r.ip_address})}))}init(){this.getInterfaces(),m.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,portFixedIPs:[],canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[{port_id:e.item.vip_port_id,network_id:e.item.vip_network_id,fixed_ips:[{ip_address:e.item.vip_address,subnet_id:e.item.vip_subnet_id}]}],a=yield(0,p.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return f.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{lb:e}}getFIPFormItemExtra(){return(0,p.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,p.disableFIPAssociate)(e)}get formItems(){var e=(0,p.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,p.getFIPFormItemForAssociate)(this);return[{name:"lb",label:t("Load Balancer"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=h,(0,s.default)(h,"id","AssociateFip"),(0,s.default)(h,"title",t("Associate Floating IP")),(0,s.default)(h,"policy","update_floatingip"),(0,s.default)(h,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status&&function(e){return null===e.fip||void 0===e.fip}(e))}));var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3905:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=n(r(1250)),u=r(412),c=r(233),f=r(417),p=r(581);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,s.default)(this,"allowed",(()=>l.default.resolve())),(0,s.default)(this,"handleOwnedNetworkChange",(e=>{var{network_id:t}=this.state,a=e.selectedRowKeys[0];this.setState({network_id:a},(()=>{var{network_id:e}=this.state;t&&t!==e&&this.formRef.current.setFieldsValue({vip_address:void 0})})),this.getSubnets(a)})),(0,s.default)(this,"fetchSubnetDetails",function(){var t=(0,o.default)((function*(t){var a=yield e.subnetStore.fetchList({network_id:t});e.setState({subnetDetails:a||[]})}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new p.LbaasStore,this.networkStore=new c.NetworkStore,this.subnetStore=new f.SubnetStore}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){return{project_id:this.props.rootStore.user.project.id,admin_state_enabled:!0}}getSubnets(e){var t=this;return(0,o.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get formItems(){var{network_id:e,subnetDetails:a=[]}=this.state;return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"vip_network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"vip_address",label:t("Owned Subnet"),type:"ip-distributor",subnets:a,formRef:this.formRef,maxNumber:1,hidden:!e,required:!0},{name:"admin_state_enabled",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the port.")}]}}a.BaseStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3906:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(35)),d=r(412),u=n(r(1250)),c=r(1254),f=r(1337),p=r(1338);class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"allowed",(()=>l.default.resolve()))}init(){this.containersStore=new f.ContainersStore,this.secretsStore=new p.SecretsStore,this.fetchContainers(),this.fetchSecrets()}get title(){return"Listener Detail"}get name(){return"Listener Detail"}get isStep(){return!0}fetchContainers(){this.containersStore.fetchList()}fetchSecrets(){this.secretsStore.fetchList({mode:"CA"})}get SERVERSecrets(){return this.containersStore.list.data||[]}get CASecrets(){return this.secretsStore.list.data||[]}get SNISecrets(){var e;return(0,o.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get defaultValue(){return{listener_ssl_parsing_method:"one-way",listener_sni_enabled:!1,listener_connection_limit:-1,listener_admin_state_up:!0}}get nameForStateUpdate(){return["listener_protocol","listener_ssl_parsing_method","listener_sni_enabled"]}get formItems(){var e,{listener_protocol:a,listener_ssl_parsing_method:r,listener_sni_enabled:i}=this.state,n=(0,c.getListenerInsertHeadersFormItem)();return[{name:"listener_name",label:t("Listener Name"),type:"input-name",required:!0},{name:"listener_description",label:t("Listener Description"),type:"textarea"},{name:"listener_protocol",label:t("Listener Protocol"),type:"select",options:c.listenerProtocols,onChange:()=>{this.updateContext({pool_protocol:"",health_type:""})},required:!0},{name:"listener_ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:c.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"listener_default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.SERVERSecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"listener_client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CASecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,o.default)(e=(0,c.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"listener_sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"listener_sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNISecrets,isLoading:!1,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"listener_protocol_port",label:t("Listener Protocol Port"),type:"input-number",required:!0},{name:"listener_connection_limit",label:t("Listener Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"listener_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.ListenerStep=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3907:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PoolStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1400),p=r(1254);class m extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve())),(0,d.default)(this,"handleAlgorithmChange",(e=>{this.setState({pool_lb_algorithm:e})}))}get title(){return"Pool Detail"}get name(){return"Pool Detail"}get isStep(){return!0}get filterOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(p.poolProtocols).call(p.poolProtocols,(t=>(0,s.default)(e).call(e,t.label)))}init(){this.state={pool_lb_algorithm:void 0}}get defaultValue(){return{pool_admin_state_up:!0}}get formItems(){var{pool_lb_algorithm:e}=this.state;return[{name:"pool_name",label:t("Pool Name"),type:"input-name",required:!0},{name:"pool_description",label:t("Pool Description"),type:"textarea"},{name:"pool_lb_algorithm",label:t("Pool Algorithm"),type:"select",options:f.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&f.algorithmTip[e],required:!0},{name:"pool_protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,onChange:()=>{this.updateContext({health_type:""})},required:!0},{name:"pool_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.PoolStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3908:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.MemberStep=void 0;var n=i(a(63)),l=i(a(29)),o=i(a(35)),s=i(a(119)),d=a(412),u=i(a(1250)),c=a(572);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"allowed",(()=>n.default.resolve()))}init(){this.store=new c.PortStore,this.state={ports:[]},this.store.fetchList().then((e=>{this.setState({ports:(0,l.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}get title(){return"Member Detail"}get name(){return"Member Detail"}get isStep(){return!0}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,s.default)(this.props.context,"vip_address[0].subnet",""),isLoading:this.store.list.isLoading,ports:this.state.ports}]}}t.MemberStep=f;var p=(0,d.inject)("rootStore")((0,d.observer)(f));t.default=p},3909:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.HealthMonitorStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1254);class p extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve()))}get title(){return"Health Monitor Detail"}get name(){return"Health Monitor Detail"}get isStep(){return!0}get filteredProtocolOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(f.healthProtocols).call(f.healthProtocols,(t=>(0,s.default)(e).call(e,t.label)))}get defaultValue(){return{enableHealthMonitor:!0,health_delay:5,health_timeout:3,health_max_retries:3,health_type:"",monitor_admin_state_up:!0}}get formItems(){var{health_delay:e,enableHealthMonitor:a}=this.state;return[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"health_name",label:t("Health Monitor Name"),type:"input-name",required:!0,hidden:!a},{name:"health_delay",label:t("Health Monitor Delay"),type:"input-number",onChange:e=>{this.setState({health_delay:e})},min:0,extra:t("Maximum interval time for each health check response"),required:!0,hidden:!a},{name:"health_max_retries",label:t("Health Monitor Max Retries"),type:"input-number",min:1,max:10,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),required:!0,hidden:!a},{name:"health_timeout",label:t("Health Monitor Timeout"),type:"input-number",min:e||0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),required:!0,hidden:!a},{name:"health_type",label:t("Health Monitor Type"),type:"select",options:this.filteredProtocolOptions,required:!0,hidden:!a},{name:"monitor_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!a}]}}a.HealthMonitorStep=p;var m=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=m},3910:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(346));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>"ACTIVE"===e.provisioning_status&&!!e.fip_id)),(0,l.default)(this,"onSubmit",(()=>s.default.disassociateFip({id:this.item.fip_id})))}get id(){return"disassociate-fip-from-lb"}get title(){return t("Disassociate Floating IP")}get buttonText(){return t("Disassociate Floating IP")}get actionName(){return t("disassociate floating ip")}}a.default=d},3911:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.LoadBalancerDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(581),g=r(1254),_=f(r(3912)),b=r(1638);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{if(this.store.fetchDetailWithFip){var t=I(I(I({},this.params),e||{}),{},{silent:!0,all_projects:this.isAdminPage});this.store.fetchDetailWithFip(t).catch(this.catch)}}))}get name(){return t("load balancer")}get policy(){return"os_load-balancer_api:loadbalancer:get_one"}get listUrl(){return this.getRoutePath("lb")}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes},{title:t("Network"),dataIndex:"vip_network_id"},{title:t("Subnet"),dataIndex:"vip_subnet_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip"},{title:t("Provider"),dataIndex:"provider"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Listeners"),key:"listener",component:_.default}]}init(){this.store=new v.LbaasStore}}a.LoadBalancerDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3912:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Listeners=void 0;var p=f(r(58)),m=f(r(35)),h=r(412),v=f(r(1242)),g=r(1254),_=r(1306),b=r(342),y=r(1640);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends v.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParamsByPage",(e=>{var{id:t}=e;return function(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbListenerDetail"),routeParamsFunc:e=>({loadBalancerId:this.id,id:e.id})},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes,isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")}]))}init(){this.store=new _.ListenerStore,this.downloadStore=new _.ListenerStore}get policy(){return"os_load-balancer_api:listener:get_all"}get name(){return t("listeners")}get id(){return this.params.id}get isFilterByBackend(){return!0}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){var{provisioning_status:e}=this.props.detail;return"ACTIVE"!==e?b.emptyActionConfig:this.isAdminPage?y.adminActions:y.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Listeners=A;var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3913:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreatePool=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(412),f=r(1241),p=n(r(1401)),m=n(r(581)),h=r(1400),v=r(1254);class g extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"handleAlgorithmChange",(e=>{this.setState({algorithm:e})})),(0,u.default)(this,"onSubmit",(e=>(e.listener_id=this.item.id,p.default.create(e))))}get name(){return t("create default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filterOptions(){var{protocol:e=""}=this.item;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}init(){this.state={algorithm:void 0}}get defaultValue(){return{admin_state_up:!0}}get formItems(){var{algorithm:e}=this.state;return[{name:"name",label:t("Pool Name"),type:"input-name",required:!0},{name:"description",label:t("Pool Description"),type:"textarea"},{name:"lb_algorithm",label:t("Pool Algorithm"),type:"select",options:h.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&h.algorithmTip[e],required:!0},{name:"protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.CreatePool=g,(0,u.default)(g,"id","pool-create"),(0,u.default)(g,"title",t("Create Default Pool")),(0,u.default)(g,"buttonText",t("Create Default Pool")),(0,u.default)(g,"policy","os_load-balancer_api:pool:post"),(0,u.default)(g,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield m.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3914:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1306)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:listener:delete"),(0,s.default)(this,"allowed",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Listener")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete listener")}}a.default=f},3915:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(164)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1306)),A=f(r(581)),S=r(1254),w=r(1641);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class P extends w.Create{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var t,{id:a}=this.item,{protocol:r,protocol_port:i,sni_enabled:n,ssl_parsing_method:l,default_tls_container_ref:f,client_ca_tls_container_ref:m,sni_container_refs:h,insert_headers:v}=e,g=function(e){for(var t=1;te.container_ref)):[]);return I.default.edit({id:a},g)}))}get name(){return t("Edit Listener")}get isEdit(){return!0}get defaultValue(){var{item:e}=this.props,{name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,admin_state_up:l}=e||{},o={name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,insert_headers:(0,S.getInsertHeadersFormValueFromListener)(e),admin_state_up:l};if("TERMINATED_HTTPS"===e.protocol){if(e.default_tls_container_ref){var s,[,d]=e.default_tls_container_ref.split("/containers/");o.default_tls_container_ref={selectedRowKeys:[d],selectedRows:(0,m.default)(s=this.ServerCertificate).call(s,(e=>e.id===d))}}if(e.client_ca_tls_container_ref){var u,[,c]=e.client_ca_tls_container_ref.split("/secrets/");o.ssl_parsing_method="two-way",o.client_ca_tls_container_ref={selectedRowKeys:[c],selectedRows:(0,m.default)(u=this.CaCertificate).call(u,(e=>e.id===c))}}else o.ssl_parsing_method="one-way";if(e.sni_container_refs&&e.sni_container_refs.length){var f,v;o.sni_enabled=!0;var g=(0,p.default)(f=e.sni_container_refs).call(f,(e=>{var[,t]=e.split("/containers/");return t}));o.sni_container_refs={selectedRowKeys:g,selectedRows:(0,m.default)(v=this.SNICertificate).call(v,(e=>(0,h.default)(g).call(g,e.id)))}}else o.sni_enabled=!1}return o}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>("sni_enabled"===e.name&&(e.disabled=this.item.sni_container_refs&&this.item.sni_container_refs.length,e.tip=t("If the listener has an SNI certificate installed, it cannot be removed. Please delete the listener or replace the SNI certificate")),e)))}}a.Edit=P,(0,b.default)(P,"id","edit-listener"),(0,b.default)(P,"title",t("Edit Listener")),(0,b.default)(P,"buttonText",t("Edit")),(0,b.default)(P,"policy","os_load-balancer_api:listener:put"),(0,b.default)(P,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield A.default.pureFetchDetail(e.loadbalancers[0])),v.default.resolve("ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var C=(0,y.inject)("rootStore")((0,y.observer)(P));a.default=C},3916:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditPoolInfo=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(58)),c=n(r(35)),f=r(412),p=r(1241),m=n(r(1401)),h=r(1400),v=r(1254),g=n(r(581));class _ extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{protocol:a}=e,r=(0,u.default)(e,["protocol"]);return this.store.edit({id:t},r)}))}init(){this.state.pool={},this.store=m.default,this.getPoolDetail()}get name(){return t("edit default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{pool:{protocol:e=""}={}}=this.state;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}get defaultValue(){var{pool:e}=this.state,{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}=e;return{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}}getPoolDetail(){var e=this;return(0,d.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.store.fetchDetail({id:t});e.setState({pool:a},(()=>{e.updateDefaultValue()}))}))()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea",maxLength:255},{name:"protocol",label:t("Protocol"),type:"select",options:this.filteredProtocolOptions,required:!0},{name:"lb_algorithm",label:t("LB Algorithm"),type:"select",options:h.Algorithm,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.EditPoolInfo=_,(0,c.default)(_,"id","pool-edit"),(0,c.default)(_,"title",t("Edit Default Pool")),(0,c.default)(_,"buttonText",t("Edit Default Pool")),(0,c.default)(_,"policy","os_load-balancer_api:pool:put"),(0,c.default)(_,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield g.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var b=(0,f.inject)("rootStore")((0,f.observer)(_));a.default=b},3917:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditHealthMonitor=void 0;var m=p(r(63)),h=p(r(29)),v=p(r(164)),g=p(r(49)),_=p(r(58)),b=p(r(35)),y=r(412),I=r(1241),A=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(3918)),S=r(1254),w=r(1401),x=p(r(581)),P=r(1306);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{default_pool_id:t}=this.item,{healthMonitor:a}=this.state,{id:r}=a||{},{enableHealthMonitor:i,type:n}=e,l=(0,_.default)(e,["enableHealthMonitor","type"]);if(r)return i?A.default.edit({id:r},l):A.default.delete({id:r});if(!i)return m.default.resolve();var o=D(D({type:n},l),{},{pool_id:t});return A.default.create(o)}))}init(){this.store=new A.HealthMonitorStore,this.listenerStore=new P.ListenerStore,this.poolStore=new w.PoolStore,this.state={enableHealthMonitor:!1,dataLoading:!0,healthMonitor:null}}componentDidMount(){this.getHealthMonitor()}get name(){return t("edit health monitor")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{protocol:e=""}=this.item;return(0,h.default)(S.healthProtocols).call(S.healthProtocols,(t=>(0,v.default)(e).call(e,t.label)))}get defaultValue(){var{healthMonitor:e}=this.state;if(!e)return{delay:5,timeout:3,max_retries:3,enableHealthMonitor:!1,admin_state_up:!0};var{admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}=e;return{enableHealthMonitor:!0,admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}}getHealthMonitor(){var e=this;return(0,g.default)((function*(){var t=yield e.listenerStore.fetchDetail(e.item),{healthMonitor:a}=t;e.setState({healthMonitor:a,enableHealthMonitor:!!a,dataLoading:!1},(()=>{e.updateDefaultValue()}))}))()}get formItems(){var{enableHealthMonitor:e,dataLoading:a,healthMonitor:r}=this.state;return a?[{name:"loading",type:"loading"}]:[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",required:!0,options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"type",label:t("HealthMonitor Type"),type:"select",options:this.filteredProtocolOptions,hidden:!e,required:!0,disabled:!!r},{name:"delay",label:t("Delay Interval(s)"),type:"input-int",min:0,extra:t("Maximum interval time for each health check response"),hidden:!e,required:!0},{name:"timeout",label:t("Timeout(s)"),type:"input-int",min:0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),hidden:!e,required:!0},{name:"max_retries",label:t("Max Retries"),type:"input-int",min:0,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),hidden:!e,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!e}]}}a.EditHealthMonitor=k,(0,b.default)(k,"id","health-monitor-edit"),(0,b.default)(k,"title",t("Edit Health Monitor")),(0,b.default)(k,"buttonText",t("Edit Health Monitor")),(0,b.default)(k,"policy","os_load-balancer_api:healthmonitor:put"),(0,b.default)(k,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield x.default.pureFetchDetail(e.loadbalancers[0])),m.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},3918:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.HealthMonitorStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.healthMonitors}get listFilterByProject(){return!0}}t.HealthMonitorStore=o;var s=new o;t.default=s},3919:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1401)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:pool:delete"),(0,s.default)(this,"allowedCheckFunc",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(()=>u.default.delete({id:this.item.default_pool_id})))}get id(){return"delete"}get title(){return t("Delete Default Pool")}get isDanger(){return!0}get buttonText(){return t("Delete Default Pool")}get actionName(){return t("delete default pool")}isOwnerOrAdmin(){return!0}}a.default=f},3920:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerDetail=void 0;var l=r(412),o=r(1306),s=r(1254),d=n(r(1243)),u=n(r(3921)),c=n(r(3922)),f=r(1640);class p extends d.default{get name(){return t("listener")}get policy(){return"os_load-balancer_api:listener:get_one"}get listUrl(){var{loadBalancerId:e}=this.params;return this.getRoutePath("lbDetail",{id:e})}get actionConfigs(){return this.isAdminPage?f.adminActions:f.actionConfigs}get detailInfos(){return[{title:t("Listener Name"),dataIndex:"name"},{title:t("Protocol Type"),dataIndex:"protocol",render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:s.provisioningStatusCodes},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")},{title:t("Description"),dataIndex:"description"}]}get forceLoadingTabs(){return["detail"]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Members"),key:"members",component:c.default}]}init(){this.store=new o.ListenerStore}}a.ListenerDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},3921:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(177)),d=r(412),u=n(r(1249)),c=r(1254),f=r(1400);class p extends u.default{get leftCards(){var e=[this.poolCard],{insert_headers:t={},default_pool_id:a}=this.detailData;return a&&e.push(this.healthMonitor),(0,s.default)(t)||e.push(this.customHeaders),e}get rightCards(){var{protocol:e}=this.detailData||{};return"TERMINATED_HTTPS"!==e||this.isAdminPage?[]:[this.certificateInfo]}get poolCard(){var{default_pool:e={},default_pool_id:a}=this.detailData||{},{name:r,protocol:i,lb_algorithm:n,description:l,admin_state_up:o}=e,s=a?[{label:t("Name"),content:r||"-"},{label:t("Protocol"),content:i||"-"},{label:t("LB Algorithm"),content:f.algorithmDict[n]||n||"-"},{label:t("Admin State Up"),content:o?t("On"):t("Off")},{label:t("Description"),content:l||"-"}]:[{label:"",content:t("No default pool set")}];return{title:t("Pool Info"),options:s}}get customHeaders(){var{insert_headers:e={}}=this.detailData||{};return(0,c.getInsertHeaderCard)(e||{})}get healthMonitor(){var e=this.detailData.healthMonitor||{},{type:a,delay:r,timeout:i,max_retries:n,admin_state_up:l}=e,o=[{label:t("Enable Health Monitor"),content:(0,s.default)(e)?t("No"):t("Yes")}];return(0,s.default)(e)||o.push({label:t("Health Monitor Type"),content:a},{label:t("Delay Interval(s)"),content:r},{label:t("Timeout(s)"),content:i},{label:t("Max Retries"),content:n},{label:t("Admin State Up"),content:l?t("On"):t("Off")}),{title:t("Health Monitor"),options:o}}get certificateInfo(){var e=[{label:t("Server Certificate"),dataIndex:"serverCertificateId",render:e=>e?this.getLinkRender("certificateContainerDetail",e,{id:e},null):"-"},{label:t("CA Certificate"),dataIndex:"caCertificateId",render:e=>e?this.getLinkRender("certificateSecretDetail",e,{id:e},null):"-"},{label:t("SNI Certificate"),dataIndex:"sniCertificateId",render:e=>e.length?(0,l.default)(e).call(e,((t,a)=>{var r;return this.getLinkRender("certificateContainerDetail",(0,o.default)(r="".concat(t)).call(r,a===e.length-1?"":" , "),{id:t})}),null):"-"}];return{title:t("certificate"),options:e,labelCol:4}}}a.BaseDetail=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3922:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Members=void 0;var l=n(r(49)),o=n(r(35)),s=r(412),d=n(r(1242)),u=r(1254),c=n(r(1402)),f=r(418),p=r(3923);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"fetchData",(0,l.default)((function*(){var{default_pool_id:t}=e.props.detail;t?e.fetchListWithTry((0,l.default)((function*(){yield e.store.fetchList({pool_id:t}),e.list.silent=!1}))):(e.list.data=[],e.list.isLoading=!1)}))),(0,o.default)(this,"getColumns",(()=>[f.idNameColumn,{title:t("Status"),dataIndex:"provisioning_status",valueMap:u.provisioningStatusCodes,isHideable:!0},{title:t("Ip Address"),dataIndex:"address",isHideable:!0},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Weight"),dataIndex:"weight"}]))}init(){this.store=c.default}get policy(){return"os_load-balancer_api:member:get_all"}get name(){return t("Members")}get id(){return this.params.id}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?p.adminActions:p.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Members=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3923:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3924)),l=i(a(3925)),o={rowActions:{firstAction:i(a(3927)).default,moreActions:[{action:n.default}]},batchActions:[],primaryActions:[l.default]};t.actionConfigs=o;var s={rowActions:{moreActions:[{action:n.default}]},batchActions:[],primaryActions:[]};t.adminActions=s},3924:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1402));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:member:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&"ACTIVE"===e.provisioning_status)),(0,l.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail;return s.default.delete({id:e.id,default_pool_id:t})}))}get id(){return"delete"}get title(){return t("Delete Member")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete member")}isOwnerOrAdmin(){return!0}}a.default=d},3925:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(29)),d=n(r(63)),u=n(r(49)),c=n(r(35)),f=n(r(119)),p=n(r(3926)),m=n(r(0)),h=r(412),v=r(1241),g=r(1402),_=r(572),b=r(36),y=n(r(581)),I=n(r(1459));class A extends v.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var t,{default_pool_id:a}=this.item,{extMembers:r=[]}=e,i=(0,l.default)(t=(0,b.toJS)(this.memberStore.list.data)).call(t,(e=>{var{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}=e;return{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}}));return(0,o.default)(r).call(r,(e=>{var{ip:t,protocol_port:a,weight:r,name:n=null,subnet_id:l}=e.ip_address,o={weight:r,protocol_port:a,address:t,name:n,subnet_id:l};i.push(o)})),this.memberStore.batchUpdate({default_pool_id:a,data:(0,p.default)(i,I.default)})}))}get name(){return t("Add Member")}init(){this.store=new _.PortStore,this.memberStore=new g.PoolMemberStore,this.lbDetail={},this.state={ports:[]}}componentDidMount(){this.getMember(),y.default.fetchDetail({id:this.props.containerProps.match.params.loadBalancerId}).then((e=>(this.lbDetail=e,this.store.fetchList()))).then((e=>{this.setState({ports:(0,s.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}static get modalSize(){return"large"}getMember(){var e=this;return(0,u.default)((function*(){var{default_pool_id:t}=e.item;yield e.memberStore.fetchList({pool_id:t})}))()}getModalSize(){return"large"}get item(){var{item:e}=this.props;return e||this.containerProps.detail}get defaultValue(){return{}}get tips(){return m.default.createElement("div",{style:{display:"inline-table"}},m.default.createElement("p",{style:{color:globalCSS.primaryColor}},t("The amphora instance is required for load balancing service setup and is not recommended")))}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,f.default)(this.lbDetail,"vip_subnet_id",""),isLoading:this.store.list.isLoading,ports:this.state.ports,members:this.memberStore.list.data}]}}a.CreateAction=A,(0,c.default)(A,"id","manage-member"),(0,c.default)(A,"title",t("Add Member")),(0,c.default)(A,"policy","os_load-balancer_api:member:post"),(0,c.default)(A,"allowed",(e=>d.default.resolve("ACTIVE"===e.provisioning_status&&!!e.default_pool_id)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3927:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(86)),o=n(r(63)),s=n(r(54)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(1402)),p=r(36);class m extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"protocolValidator",((e,a)=>{var r,{address:i,protocol_port:n}=this.item;return(0,l.default)(r=f.default.list.data||[]).call(r,(e=>e.address===i&&a===e.protocol_port&&a!==n))?o.default.reject(new Error(t("Invalid IP Address and Port"))):o.default.resolve()})),(0,d.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail,{id:a}=this.item,r=(0,p.toJS)(this.store.list.data),i=(0,s.default)(r).call(r,(t=>{if(t.id===a){var{weight:r,protocol_port:i}=e;t.weight=r,t.protocol_port=i}var{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}=t;return{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}}));return this.store.batchUpdate({default_pool_id:t,data:i})}))}init(){this.state={},this.store=f.default}get name(){return t("edit member")}get defaultValue(){var{weight:e,protocol_port:t}=this.item;return e&&t&&this.formRef.current&&this.formRef.current.setFieldsValue({weight:e,protocol_port:t}),{weight:e,protocol_port:t}}get formItems(){return[{name:"weight",label:t("Weight"),type:"input-number",required:!0},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,validator:this.protocolValidator}]}}a.Edit=m,(0,d.default)(m,"id","member-edit"),(0,d.default)(m,"title",t("Edit Member")),(0,d.default)(m,"buttonText",t("Edit Member")),(0,d.default)(m,"policy","os_load-balancer_api:member:put"),(0,d.default)(m,"allowed",(e=>o.default.resolve("ACTIVE"===e.provisioning_status)));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3928:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPN=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3929)),u=n(r(3934)),c=n(r(3939)),f=n(r(3944)),p=n(r(3949));class m extends o.default{get name(){return t("VPN")}get checkEndpoint(){return!0}get endpoint(){return(0,s.vpnEndpoint)()}get tabs(){return[{title:t("VPN Gateways"),key:"vpn_gateway",component:d.default},{title:t("VPN EndPoint Groups"),key:"vpn_endpoint_groups",component:u.default},{title:t("IKE Policies"),key:"ike_policy",component:c.default},{title:t("IPsec Policies"),key:"ipsec_policy",component:f.default},{title:t("IPsec Site Connections"),key:"ipsec_site_connections",component:p.default}]}}a.VPN=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3929:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPNGateway=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1358),u=r(1321),c=r(418),f=r(3930);class p extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[c.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("External IP"),dataIndex:"null",render:(e,t)=>t.external_v4_ip||t.external_v6_ip},{title:t("Router ID"),dataIndex:"router_id",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnServicesStore,this.downloadStore=new d.VpnServicesStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_vpnservice"}get name(){return t("vpn services")}get hasTab(){return!0}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?f.adminConfigs:f.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:u.vpnStatusOptions},{label:t("Router ID"),name:"router_id"},{label:t("External IP(V4)"),name:"external_v4_ip"},{label:t("External IP(V6)"),name:"external_v6_ip"}]}}a.VPNGateway=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3930:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3931)),l=i(a(3932)),o=i(a(3933)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3931:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(575),_=f(r(1358)),b=r(1267);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{name:t,description:a,router_id:r}=e;return _.default.create({name:t,description:a,router_id:r.selectedRowKeys[0]})}))}get name(){return t("create vpn")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new g.RouterStore}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},I(I({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,b.getRouterSelectTablePropsBackend)(this)),{},{disabledFunc:e=>!e.external_gateway_info,required:!0})]}}a.Create=A,(0,m.default)(A,"id","create-vpn"),(0,m.default)(A,"title",t("Create VPN")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_vpnservice"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3932:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1358));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn"),(0,o.default)(c,"title",t("Edit VPN")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_vpnservice"),(0,o.default)(c,"allowed",(e=>"ACTIVE"!==e.status?l.default.resolve(!1):l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3933:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1358)),m=n(r(133)),h=n(r(1275));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_vpnservice"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({vpnservice_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the vpn gateway is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpnservice"}get title(){return t("Delete VPN")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn")}isCurrentProject(e){var t=m.default;return!(!f.checkSystemAdmin&&e.project_id!==t.user.project.id)}}a.default=v},3934:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EndpointGroup=void 0;var s=o(r(77)),d=o(r(54)),u=o(r(63));r(347);var c=o(r(348));r(1246);var f=o(r(1247));r(1244);var p=o(r(1245)),m=o(r(49));r(589);var h=o(r(590)),v=o(r(610)),g=o(r(35)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),b=r(412),y=o(r(1242)),I=r(1359),A=(r(161),r(564),r(417)),S=r(418),w=r(3935);function x(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(x=function(e){return e?a:t})(e)}class P extends y.default{constructor(){super(...arguments),(0,g.default)(this,"getColumns",(()=>[S.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Type"),dataIndex:"type",isHideable:!0,render:e=>{switch(e){case"subnet":return t("Local");case"cidr":return t("Peer");default:return""}}},{title:t("Endpoint Counts"),dataIndex:"endpoints",render:(e,a)=>{var r=_.default.createElement(C,{record:a});return _.default.createElement(_.default.Fragment,null,e.length," ",_.default.createElement(h.default,{content:r,title:"cidr"===a.type?t("Peer Network"):t("Local Network"),destroyTooltipOnHide:!0},_.default.createElement(v.default,null)))},stringify:e=>{var t;return(0,s.default)(t="".concat(e.length,"(")).call(t,e.join(","),")")}}]))}init(){this.store=new I.VpnEndPointGroupStore,this.downloadStore=new I.VpnEndPointGroupStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_endpoint_group"}get aliasPolicy(){return"neutron:get_endpoint_group"}get name(){return t("vpn endpoint groups")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?w.adminConfigs:w.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}function C(e){var{record:t}=e,{type:a,endpoints:r}=t,[i,n]=(0,_.useState)([]);return(0,_.useEffect)((()=>{"subnet"===a&&0===i.length&&(0,m.default)((function*(){var e=(0,d.default)(r).call(r,(e=>(new A.SubnetStore).fetchDetail({id:e}))),t=yield u.default.all(e);n(t)}))()})),"cidr"===a?_.default.createElement(f.default,null,(0,d.default)(r).call(r,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},e)}))):0===i.length?_.default.createElement(c.default,null):_.default.createElement(f.default,{style:{maxWidth:550}},(0,d.default)(i).call(i,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},_.default.createElement(f.default,{gutter:24},_.default.createElement(p.default,{span:6},e.name),_.default.createElement(p.default,{span:6},e.cidr),_.default.createElement(p.default,{span:12},e.id)))})))}a.EndpointGroup=P;var E=(0,b.inject)("rootStore")((0,b.observer)(P));a.default=E},3935:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3936)),l=i(a(3937)),o=i(a(3938)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3936:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(29)),m=f(r(1390)),h=f(r(232)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=r(1241),A=r(565),S=r(575),w=r(417),x=f(r(1359)),P=r(1267),C=r(1273);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{type:t}=this.state,{name:a,description:r}=e,i=(0,_.default)(e,["name","description"]),n={name:a,description:r,type:t};if("subnet"===t){var{subnet_id:l}=i;n.endpoints=l.selectedRowKeys}else if("cidr"===t){var{endpoints:o}=i;n.endpoints=o.split("\n")}return x.default.create(n)})),(0,b.default)(this,"handleRouterChange",function(){var t=(0,g.default)((function*(t){var a;e.setState({subnetLoading:!0});var r=yield(0,C.getPortsWithFixedIPs)(),i=(0,C.getSubnetToRouter)(r,t.selectedRows,!1);e.setState({subnets:(0,p.default)(a=e.allSubnets).call(a,(e=>(0,m.default)(i).call(i,(t=>t.subnet_id===e.id))>-1)),subnetLoading:!1}),e.formRef.current.resetFields(["subnet_id"])}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("create vpn endpoint group")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new S.RouterStore,this.subnetStore=new w.SubnetStore,this.state={subnets:[],type:"subnet",subnetLoading:!0},this.getAllSubnets()}getAllSubnets(){var e=this;return(0,g.default)((function*(){e.allSubnets=yield e.subnetStore.pureFetchList(),e.setState({subnetLoading:!1})}))()}get defaultValue(){return{type:"subnet"}}get formItems(){var{subnets:e,type:a,subnetLoading:r}=this.state,i="subnet"===a;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"type",label:t("Type"),type:"select",required:!0,options:[{label:t("Peer"),value:"cidr"},{label:t("Local"),value:"subnet"}],onChange:e=>{this.setState({type:e})}},D(D({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,P.getRouterSelectTablePropsBackend)(this)),{},{required:!0,onChange:this.handleRouterChange,hidden:!i}),{name:"subnet_id",label:t("Subnet"),type:"select-table",data:e,isLoading:r,isMulti:!0,columns:[{title:t("Name"),dataIndex:"name",isLink:!0},{title:t("CIDR"),dataIndex:"cidr"}],required:!0,hidden:!i},{name:"endpoints",label:t("Peer Network Segment"),type:"textarea",validator:(e,a)=>{var r;return(0,h.default)(r=a.split("\n")).call(r,(e=>!k(e)&&!R(e)))?v.default.reject(new Error(t("Invalid: CIDR Format Error(e.g. 10.10.10.0/24)"))):v.default.resolve(!0)},extra:t("Please fill in the peer network segment and subnet mask of CIDR format, the written subnets should be under the same router, one per line."),hidden:i,required:!0}]}}a.Create=N,(0,b.default)(N,"id","create-vpn-endpoint-group"),(0,b.default)(N,"title",t("Create VPN Endpoint Group")),(0,b.default)(N,"buttonText",t("Create")),(0,b.default)(N,"policy","create_endpoint_group"),(0,b.default)(N,"aliasPolicy","neutron:create_endpoint_group"),(0,b.default)(N,"allowed",(()=>v.default.resolve(!0)));var j=(0,y.inject)("rootStore")((0,y.observer)(N));a.default=j},3937:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1359));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn-endpoint-groups"),(0,o.default)(c,"title",t("Edit VPN EndPoint Groups")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_endpoint_group"),(0,o.default)(c,"aliasPolicy","neutron:update_endpoint_group"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3938:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1359)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_endpoint_group"),(0,u.default)(this,"aliasPolicy","neutron:delete_endpoint_group"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r;switch(a.type){case"cidr":r={peer_ep_group_id:a.id};break;case"subnet":r={local_ep_group_id:a.id}}var i,n=yield m.default.fetchList(r);return n.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(i="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(i,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(n).call(n,(e=>e.name)).join(", "),ids:(0,o.default)(n).call(n,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-endpoint-group"}get title(){return t("Delete VPN EndPoint Groups")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn endpoint groups")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3939:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IKEPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1339),m=r(1321),h=r(418),v=r(3940);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("IKE Version"),dataIndex:"ike_version",isHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIKEPolicyStore,this.downloadStore=new p.VpnIKEPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ikepolicy"}get name(){return t("vpn IKE policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("IKE Version"),name:"ike_version",options:m.ikePolicyIKEVersionOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IKEPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3940:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3941)),l=i(a(3942)),o=i(a(3943)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3941:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1339)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3942:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1339)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t,canSubmit:a}=e,r=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue","canSubmit"]));return I.default.update({id:this.item.id},r)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ikepolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t}=e;return w(w({},(0,v.default)(e,["lifetime"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,{canSubmit:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return n?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:n},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(a=["3des","aes-128","aes-192","aes-256"]).call(a,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(r=["group2","group5","group14"]).call(r,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:(0,h.default)(i=["v1","v2"]).call(i,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ike-policy"),(0,g.default)(x,"title",t("Edit VPN IKE Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ikepolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3943:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1339)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ikepolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ikepolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ike-policy"}get title(){return t("Delete VPN IKE Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IKE policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3944:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1340),m=r(1321),h=r(418),v=r(3945);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encapsulation Mode"),dataIndex:"encapsulation_mode",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("Transform Protocol"),dataIndex:"transform_protocol",idHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIPsecPolicyStore,this.downloadStore=new p.VpnIPsecPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsecpolicy"}get name(){return t("vpn IPsec policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encapsulation Mode"),name:"encapsulation_mode",options:m.ipsecPolicyEncapsulationModeOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("Transform Protocol"),name:"transform_protocol",options:m.ipsecPolicyTransformProtocolOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IPsecPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3945:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3946)),l=i(a(3947)),o=i(a(3948)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3946:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1340)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3947:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1340)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t}=e,a=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue"]));return I.default.update({id:this.item.id},a)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ipsecpolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t,canSubmit:a}=e;return w(w({},(0,v.default)(e,["lifetime","canSubmit"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,n,{canSubmit:l}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return l?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:l},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:(0,h.default)(a=["tunnel","transport"]).call(a,(e=>({label:e,value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(r=["3des","aes-128","aes-192","aes-256"]).call(r,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(i=["group2","group5","group14"]).call(i,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:(0,h.default)(n=["esp","ah","ah-esp"]).call(n,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ipsec-policy"),(0,g.default)(x,"title",t("Edit VPN IPsec Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ipsecpolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3948:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1340)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ipsecpolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ipsecpolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ipsec-policy"}get title(){return t("Delete VPN IPsec Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IPsec policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3949:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1275),u=r(1321),c=r(1642);class f extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("ipsecDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id",isHideable:!0},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id",isHideable:!0},{title:t("Peer Address"),dataIndex:"peer_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnIPsecConnectionStore,this.downloadStore=new d.VpnIPsecConnectionStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsec_site_connection"}get name(){return t("ipsec site connection")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Local Endpoint Group ID"),name:"local_ep_group_id"},{label:t("Peer Endpoint Group ID"),name:"peer_ep_group_id"},{label:t("Peer Address"),name:"peer_address"},{label:t("Status"),name:"status",options:u.vpnStatusOptions}]}}a.IPsecSiteConnection=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3950:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(77)),g=f(r(86));r(1246);var _=f(r(1247));r(1244);var b=f(r(1245));r(426);var y=f(r(429)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(607)),x=f(r(0)),P=r(412),C=r(1241),E=r(565),D=f(r(1358)),k=f(r(1339)),R=f(r(1340)),N=f(r(1359)),j=(r(161),f(r(1275))),M=f(r(3951));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t{var t=(0,w.default)({},this.defaultValue,e),{interval:a,timeout:r,action:i,password:n,confirmPassword:l,more:o}=t,s=(0,A.default)(t,["interval","timeout","action","password","confirmPassword","more"]),d=B(B({},s),{},{psk:n,peer_id:s.peer_address,dpd:{interval:a,timeout:r,action:i}});return j.default.create(d)}))}get name(){return t("create ipsec site connection")}init(){this.vpnServiceStore=D.default,this.ikePolicyStore=k.default,this.ipsecPolicyStore=R.default,this.endpointGroupStore=N.default,this.fetchData()}fetchData(){var e=this;return(0,I.default)((function*(){yield p.default.all([e.vpnServiceStore.fetchList(),e.ikePolicyStore.fetchList(),e.ipsecPolicyStore.fetchList(),e.endpointGroupStore.fetchList()])}))()}get defaultValue(){return{mtu:1500,initiator:"bi-directional",action:"hold",interval:30,timeout:120}}get formItems(){var e,a,r,i,n,l,o,s,d,u,c,{local_ep_group_id:f,peer_ep_group_id:I,more:A}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"vpnservice_id",label:t("VPN Service"),type:"select",options:(0,m.default)(e=this.vpnServiceStore.list.data).call(e,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ikepolicy_id",label:t("IKE Policy"),type:"select",options:(0,m.default)(a=this.ikePolicyStore.list.data).call(a,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ipsecpolicy_id",label:t("IPsec Policy"),type:"select",options:(0,m.default)(r=this.ipsecPolicyStore.list.data).call(r,(e=>({label:e.name,value:e.id}))),required:!0},{name:"local_ep_group_id",label:t("Local Endpoint Group"),type:"select",options:(0,m.default)(i=(0,h.default)(n=this.endpointGroupStore.list.data).call(n,(e=>"subnet"===e.type))).call(i,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({local_ep_group_id:e})},required:!0},{name:"local_subnet",type:"label",label:t("Local Subnet"),component:x.default.createElement(M.default,{data:this.endpointGroupStore.list.data,local_ep_group_id:f})},{name:"peer_address",type:"input",label:t("Peer Gateway Public Address"),extra:t("Peer gateway public address for the IPsec site connection"),validator:(e,a)=>{var r;return F(a)||L(a)?p.default.resolve():p.default.reject(new Error((0,v.default)(r="".concat(t("Invalid")," ")).call(r,t("Peer Gateway Public Address"))))},required:!0},{name:"peer_ep_group_id",label:t("Peer Endpoint Group"),type:"select",options:(0,m.default)(l=(0,h.default)(o=this.endpointGroupStore.list.data).call(o,(e=>"cidr"===e.type))).call(l,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({peer_ep_group_id:e})},required:!0},{name:"peer_cidrs",type:"label",label:t("Peer Cidrs"),component:x.default.createElement(_.default,null,I?(0,m.default)(s=(0,g.default)(d=this.endpointGroupStore.list.data).call(d,(e=>e.id===I)).endpoints).call(s,(e=>x.default.createElement(b.default,{span:24},e))):x.default.createElement(b.default,{span:24},x.default.createElement(y.default,null)))},{name:"password",type:"input-password",label:t("Pre-Shared Key(PSK) String"),otherRule:(0,E.getPasswordOtherRule)("password","instance"),required:!0},{name:"confirmPassword",type:"input-password",label:t("Confirm Shared Key"),otherRule:(0,E.getPasswordOtherRule)("confirmPassword","instance",void 0,t("Pre-Shared Key must be the same with Confirm Shared Key.")),required:!0},{name:"mtu",type:"input-number",label:t("MTU"),min:68,tip:t("The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6."),required:!0,hidden:!A},{name:"initiator",label:t("Initiator Mode"),type:"select",options:(0,m.default)(u=["bi-directional","response-only"]).call(u,(e=>({label:e,value:e}))),tip:t("Indicates whether this VPN can only respond to connections or both respond to and initiate connections."),required:!0,hidden:!A},{name:"action",label:t("DPD Action"),type:"select",options:(0,m.default)(c=["clear","hold","restart","disabled","restart-by-peer"]).call(c,(e=>({label:e,value:e}))),tip:t("DPD actions controls the use of Dead Peer Detection Protocol."),required:!0,hidden:!A},{name:"interval",type:"input-number",label:t("DPD Interval (sec)"),min:0,tip:t("Sec for DPD delay, > 0"),required:!0,hidden:!A},{name:"timeout",type:"input-number",label:t("DPD timeout (sec)"),min:0,tip:t("Sec for DPD timeout, > 0 & > DPD Interval"),required:!0,hidden:!A},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Create=O,(0,S.default)(O,"id","create-ipsec-site-connection"),(0,S.default)(O,"title",t("Create IPsec Site Connection")),(0,S.default)(O,"buttonText",t("Create")),(0,S.default)(O,"policy","create_ipsec_site_connection"),(0,S.default)(O,"allowed",(()=>p.default.resolve(!0)));var Q=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=Q},3951:function(e,t,a){"use strict";var r=a(162),i=a(20),n=a(25),l=a(21);i(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(86)),s=l(a(54)),d=l(a(63));a(347);var u=l(a(348));a(1244);var c=l(a(1245));a(426);var f=l(a(429)),p=l(a(49)),m=l(a(119)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=i&&n;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?n(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),v=l(a(16)),g=(a(161),a(417));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class b extends h.Component{constructor(e){super(e),this.state={subnets:[],isLoading:!0}}componentDidUpdate(e){var{local_ep_group_id:t}=this.props,{local_ep_group_id:a}=e;t!==a&&this.getSubnets()}get currentEndpoints(){var{data:e,local_ep_group_id:t}=this.props;return(0,m.default)((0,o.default)(e).call(e,(e=>e.id===t)),"endpoints",[])}getSubnets(){var e=this;return(0,p.default)((function*(){var t;e.setState({isLoading:!0});var a=(0,s.default)(t=e.currentEndpoints).call(t,(e=>(new g.SubnetStore).fetchDetail({id:e}))),r=yield d.default.all(a);e.setState({subnets:r,isLoading:!1})}))()}render(){var e,{local_ep_group_id:t}=this.props,{subnets:a,isLoading:r}=this.state;return t?r?h.default.createElement(c.default,null,h.default.createElement(u.default,null)):h.default.createElement(h.default.Fragment,null,(0,s.default)(e=this.currentEndpoints).call(e,((e,t)=>h.default.createElement(c.default,{span:24,key:"cep_".concat(t)},(0,m.default)(a[t],"cidr"))))):h.default.createElement(c.default,null,h.default.createElement(f.default,null))}}b.propTypes={data:v.default.array,local_ep_group_id:v.default.string},b.defaultProps={data:[],local_ep_group_id:void 0};var y=b;t.default=y},3952:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(91)),s=n(r(35)),d=r(412),u=r(1241),c=n(r(1275)),f=["ACTIVE","DOWN"];class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return c.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=p,(0,s.default)(p,"id","edit-ipsec-site-connection"),(0,s.default)(p,"title",t("Edit IPsec Site Connection")),(0,s.default)(p,"buttonText",t("Edit")),(0,s.default)(p,"policy","update_ipsec_site_connection"),(0,s.default)(p,"allowed",(e=>l.default.resolve((0,o.default)(f).call(f,e.status)>-1)));var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3953:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(1275)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_ipsec_site_connection"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete-ipsec-site-connection"}get title(){return t("Delete IPsec Site Connection")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete ipsec site connection")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3954:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=r(412),o=n(r(1243)),s=r(1275),d=r(1321),u=n(r(3955)),c=r(1642);class f extends o.default{init(){this.store=new s.VpnIPsecConnectionStore}get name(){return t("IPsec Site Connection")}get policy(){return"get_ipsec_site_connection"}get listUrl(){return this.getRoutePath("vpn",null,{tab:"ipsec_site_connections"})}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id",hidden:!this.isAdminPage},{title:t("VPN Service ID"),dataIndex:"vpnservice_id"},{title:t("Status"),dataIndex:"status",valueMap:d.vpnStatus},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id"},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id"},{title:t("Peer Address"),dataIndex:"peer_address"},{title:t("Peer ID"),dataIndex:"peer_id"},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}}a.IPsecSiteConnection=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3955:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(54)),m=f(r(32)),h=f(r(77)),v=f(r(49)),g=f(r(35)),_=r(412),b=f(r(1249)),y=r(1275),I=f(r(0)),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){var e;super(...arguments),e=this,(0,g.default)(this,"fetchData",function(){var t=(0,v.default)((function*(t){e.store.fetchDetailWithPolicyDetail(function(e){for(var t=1;te||"-"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("IKE Version"),dataIndex:"ike_version"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IKE Policy"),options:e,sourceData:this.detailData.ikeDetail}}get ipsecInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encapsulation Mode"),dataIndex:"encapsulation_mode"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("Transform Protocol"),dataIndex:"transform_protocol"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IPsec Policy"),options:e,sourceData:this.detailData.ipsecDetail}}get advancedInfo(){var e=[{label:t("MTU"),dataIndex:"mtu"},{label:t("Initiator Mode"),dataIndex:"initiator"},{label:t("DPD Action"),dataIndex:"dpd",render:e=>e&&e.action},{label:t("DPD Interval (sec)"),dataIndex:"dpd",render:e=>e&&e.interval},{label:t("DPD timeout (sec)"),dataIndex:"dpd",render:e=>e&&e.timeout}];return{title:t("Advanced Params"),options:e}}}a.BaseDetail=w;var x=(0,_.inject)("rootStore")((0,_.observer)(w));a.default=x},3956:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.SecurityGroups=void 0;var s=o(r(164)),d=o(r(35)),u=r(412),c=o(r(1242)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(419)),p=r(342),m=o(r(1643));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends c.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("securityGroupDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=f.default,this.downloadStore=new f.SecurityGroupStore}get policy(){return"get_security_group"}get name(){return t("security groups")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,s.default)(e=this.path).call(e,"recycle-bin")}get actionConfigs(){return this.isRecycleBinDetail?p.emptyActionConfig:this.isAdminPage?m.default.actionConfigsAdmin:m.default.actionConfigs}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.SecurityGroups=v;var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3957:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(419)),b=f(r(340));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{left:a=0}=e||{},{left:r=0}=t||{};return 0!==a&&(r>=2||-1===r)?1:0};class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>_.default.create(e)))}get name(){return t("Create security group")}init(){this.state.groupQuota={},this.state.ruleQuota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}static get disableSubmit(){var{neutronQuota:{security_group:e={},security_group_rule:t={}}={}}=b.default;return 0===A(e,t)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group:a={},security_group_rule:r={}}=t||{};e.setState({groupQuota:a,ruleQuota:r,quotaLoading:!1})}))()}get tips(){return t("This operation creates a security group with default security group rules for the IPv4 and IPv6 ether types.")}get quotaInfo(){var{groupQuota:e={},ruleQuota:a={},quotaLoading:r}=this.state;if(r)return[];var i=A(e,a);return[I(I({},e),{},{add:i,name:"security_group",title:t("Security Group")}),I(I({},a),{},{add:2*i,name:"security_group_rule",title:t("Security Group Rule"),type:"line"})]}get defaultValue(){return{}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateAction=S,(0,h.default)(S,"id","create"),(0,h.default)(S,"title",t("Create Security Group")),(0,h.default)(S,"policy","create_security_group"),(0,h.default)(S,"allowed",(()=>p.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3958:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(419));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return u.default.edit({id:t},e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.EditAction=c,(0,o.default)(c,"id","edit"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","update_security_group"),(0,o.default)(c,"allowed",(e=>l.default.resolve("default"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3959:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(419));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_security_group"),(0,l.default)(this,"hasNoProject",(e=>!e.project_name||"-"===e.project_name)),(0,l.default)(this,"allowedCheckFunc",(e=>this.isAdminPage&&this.hasNoProject(e)||"default"!==e.name)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Security Group")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Security Group")}}a.default=d},3960:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroupDetail=void 0;var l=n(r(205)),o=r(412),s=r(419),d=n(r(1243)),u=n(r(3961)),c=n(r(1643));class f extends d.default{get name(){return t("security group")}get policy(){return"get_security_group"}get listUrl(){return this.getRoutePath("securityGroup")}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Rules"),key:"rules",component:u.default}]}init(){this.store=new s.SecurityGroupStore}componentDidUpdate(e){(0,l.default)(this.props.match.params,e.match.params)||this.fetchDataWithPolicy()}}a.SecurityGroupDetail=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3961:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(622)),b=r(354),y=r(567),I=f(r(3962));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t(0,b.getSelfColumns)(this)))}init(){this.store=_.default}get policy(){return"get_security_group_rule"}get name(){return t("security group rules")}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,y.getPath)({key:t,params:{id:e}})}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return b.filterParams}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]),{detail:n={}}=t.props,{id:l}=n;r&&(t.list.silent=!0),l&&(yield t.store.fetchList(S(S({},i),{},{security_group_id:l}))),t.list.silent=!1}))()}}a.Rule=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},3962:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1644)),l=i(a(3963)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=o},3963:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(234)),o=n(r(77)),s=n(r(35)),d=r(1241),u=n(r(622));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_security_group_rule"),(0,s.default)(this,"getItemName",(e=>{var a,r,i;if(e.name)return e.name;var n,s,d,u,{ethertype:c,port_range_min:f,port_range_max:p,protocol:m,remote_group_id:h,remote_ip_prefix:v}=e,g="",_=(0,l.default)(f,10),b=(0,l.default)(p,10),y=m.toLowerCase();_&&(g=_===b?(0,o.default)(s="".concat(_," / ")).call(s,y):(0,o.default)(d=(0,o.default)(u="".concat(_," - ")).call(u,b," / ")).call(d,y));var I="egress"===e.direction?"to":"from";return n=h||(v||t("ANY")),(0,o.default)(a=(0,o.default)(r=(0,o.default)(i="ALLOW ".concat(c," ")).call(i,g," ")).call(r,I," ")).call(a,n)})),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Rule")}}a.default=c},3964:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var l=r(412),o=n(r(1282)),s=n(r(3965));class d extends o.default{get tabs(){return[{title:t("Server Certificates"),key:"SERVER",component:s.default},{title:t("CA Certificates"),key:"CA",component:s.default}]}}a.Certificate=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3965:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var m=p(r(54)),h=p(r(203)),v=p(r(35)),g=p(r(0)),_=r(412),b=p(r(1242)),y=C(r(1337)),I=r(1251),A=C(r(1338)),S=r(1254),w=r(349),x=p(r(1472));function P(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(P=function(e){return e?a:t})(e)}function C(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=P(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}return r.default=e,a&&a.set(e,r),r}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tD(D({},e),{},{mode:this.currentMode}))),(0,v.default)(this,"getColumns",(()=>[{title:this.showDetail?t("ID/Name"):t("Name"),dataIndex:"name",routeName:this.showDetail?this.getRouteName(this.routeLinkPath):null},{title:t("Certificate Type"),dataIndex:"mode",valueMap:S.certificateMode,isHideable:!0},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime",isHideable:!0},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-",hidden:"CA"===this.currentMode,isHideable:!0},{title:t("Listener"),dataIndex:"listener",render:e=>e?(0,m.default)(e).call(e,(e=>g.default.createElement("div",{key:e.id},this.getLinkRender("lbListenerDetail",e.name,{loadBalancerId:e.lb,id:e.id},null)))):"-",isHideable:!0,stringify:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,m.default)(e).call(e,(e=>e.name)).join(",")||"-"}},{title:t("Status"),dataIndex:"status",valueMap:S.certificateStatus},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime",isHideable:!0}]))}init(){"SERVER"===this.currentMode?(this.store=y.default,this.downloadStore=new y.ContainersStore):(this.store=A.default,this.downloadStore=new A.SecretsStore)}get policy(){return["containers:get","secrets:get"]}get aliasPolicy(){return["barbican:containers:get","barbican:secrets:get"]}get showDetail(){return(0,I.checkPolicyRule)("barbican:secret:decrypt")}get name(){return t("certificate")}get hasTab(){return!0}get actionConfigs(){return"SERVER"===this.currentMode?x.default.actionConfigsContainer:x.default.actionConfigsSecret}get currentMode(){var e,t=(0,w.parse)((0,h.default)(e=this.props.location.search).call(e,1)),{tab:a="SERVER"}=t;return a}get routeLinkPath(){return"SERVER"===this.currentMode?"certificateContainerDetail":"certificateSecretDetail"}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Certificate=k;var R=(0,_.inject)("rootStore")((0,_.observer)(k));a.default=R},3966:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(164)),o=n(r(63)),s=n(r(1277)),d=n(r(203)),u=n(r(29)),c=n(r(35)),f=r(412),p=r(1241),m=r(163),h=r(565),v=r(1254),g=r(3967),_=n(r(1337)),b=n(r(112)),y=r(349);class I extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"validateDomain",((e,a)=>{var r;if((0,l.default)(r=[void 0,null,""]).call(r,a))return o.default.resolve();var i=a.split(","),n=(0,s.default)(i).call(i,(e=>e.length<=100&&(0,h.isDomain)(e)));return i.length>30||!n?o.default.reject(t("Please enter a correct domain, format is refer to the left tip!")):o.default.resolve()})),(0,c.default)(this,"validateCertificateContent",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN CERTIFICATE-----"===i&&"-----END CERTIFICATE-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct certificate content, format is refer to the left tip!"))})),(0,c.default)(this,"validateCertificateKeyPair",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN RSA PRIVATE KEY-----"===i&&"-----END RSA PRIVATE KEY-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct private key, format is refer to the left tip!"))})),(0,c.default)(this,"onSubmit",(e=>this.store.create(e)))}init(){this.store=_.default}get name(){return t("Create Certificate")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){return{mode:this.typeTab}}get typeTab(){var{location:{search:e=""}={}}=this.containerProps;return(0,y.parse)((0,d.default)(e).call(e,1)).tab||"SERVER"}get certificateModeOptions(){var e;return(0,u.default)(e=(0,m.getOptions)(v.certificateMode)).call(e,(e=>e.value===this.typeTab))}get certificateContentTip(){return g.certificateContentTip}get certificateKeyPairTip(){return g.certificateKeyPairTip}get formItems(){var{mode:e}=this.state;return[{name:"name",label:t("Certificate Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mode",label:t("Certificate Type"),type:"radio",options:this.certificateModeOptions},{name:"certificate",label:t("Certificate Content"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".crt,.pem",tip:this.certificateContentTip,required:!0,rows:6},{name:"private_key",label:t("Private Key"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".key,.pem",tip:this.certificateKeyPairTip,required:!0,display:"SERVER"===e,rows:6},{name:"domain",label:t("Domain Name"),type:"textarea",placeholder:t("Please input"),maxLength:1024,hidden:"CA"===e,validator:this.validateDomain,tip:t("The domain name can only be composed of letters, numbers, dashes, in A dash cannot be at the beginning or end, and a single string cannot exceed more than 63 characters, separated by dots; At most can support 30 domain names, separated by commas;The length of a single domain name does not exceed 100 characters, and the total length degree does not exceed 1024 characters."),extra:t("If it is an SNI type certificate, a domain name needs to be specified")},{name:"expiration",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<=(0,b.default)().endOf("d")}]}}a.CreateAction=I,(0,c.default)(I,"id","create-certificate"),(0,c.default)(I,"title",t("Create Certificate")),(0,c.default)(I,"policy",["secrets:post","containers:post"]),(0,c.default)(I,"allowed",(()=>o.default.resolve(!0)));var A=(0,f.inject)("rootStore")((0,f.observer)(I));a.default=A},3967:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.certificateKeyPairTip=a.certificateContentTip=void 0;var l=n(r(0)),o=l.default.createElement("div",null,l.default.createElement("p",null,t('The certificate contains information such as the public key and signature of the certificate. The extension of the certificate is "pem" or "crt", you can directly enter certificate content or upload certificate file.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The format of the certificate content is: by "----BEGIN CERTIFICATE-----" as the beginning,"-----END CERTIFICATE----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateContentTip=o;var s=l.default.createElement("div",null,l.default.createElement("p",null,t('The private key of the certificate, the extension of the private key is "key", you can directly enter the content of the private key file or upload a private key that conforms to the format document.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The private key content format is: with "-----BEGIN RSA PRIVATE KEY-----" as the beginning,"-----END RSA PRIVATE KEY-----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateKeyPairTip=s},3968:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1337));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["secret:delete","container:delete"]),(0,l.default)(this,"aliasPolicy",["barbican:secret:delete","barbican:container:delete"]),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3969:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1338));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","secret:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3970:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1243)),s=r(1337),d=r(1254),u=n(r(3971)),c=n(r(1472));class f extends o.default{init(){this.store=new s.ContainersStore}get policy(){return"container:get"}get aliasPolicy(){return"barbican:container:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"SERVER"})}get actionConfigs(){return c.default.actionConfigsContainer}get detailInfos(){return(0,d.getCertificateColumns)(this)}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:u.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3971:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get rightCards(){return[this.keyPairCard]}get contentCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"certificate"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:r}}get keyPairCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"private_key"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Private Key"),labelCol:0,contentCol:24,options:r}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3972:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=n(r(29)),o=r(412),s=n(r(1243)),d=r(1338),u=r(1254),c=n(r(3973)),f=n(r(1472));class p extends s.default{init(){this.store=new d.SecretsStore}get policy(){return"secret:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"CA"})}get actionConfigs(){return f.default.actionConfigsSecret}get detailInfos(){var e;return(0,l.default)(e=(0,u.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex))}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:c.default}]}}a.Detail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3973:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(0)),o=r(412),s=n(r(1249));class d extends s.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get contentCard(){var{payload:e}=this.props.detail,a=[{content:l.default.createElement("pre",null,e),copyable:{text:e}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:a}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3974:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Reverse=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1403)),f=o(r(1645));function p(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(p=function(e){return e?a:t})(e)}class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Address"),dataIndex:"address",isLink:!0,routeName:"dnsReverseDetail",routeParamsFunc:e=>({id:e.id})},{title:t("PTR Domain Name"),dataIndex:"ptrdname",isHideable:!0},{title:t("Status"),dataIndex:"status",isHideable:!0}]))}init(){this.store=c.default,this.downloadStore=new c.ReverseStore}get policy(){return"get_images"}get name(){return t("Reverse Dns")}get actionConfigs(){return f.default}}a.Reverse=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3975:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Set=void 0;var l=n(r(63)),o=n(r(35)),s=r(1241),d=r(412),u=n(r(1403));class c extends s.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.set({id:t},e)}))}init(){this.store=u.default}static get modalSize(){return"small"}get name(){return t("Set Domain Name PTR")}static allowed(){return l.default.resolve(!0)}get formItems(){return[{name:"ptrdname",label:t("Domain Name"),type:"input",required:!0,placeholder:t("smtp.example.com"),tip:t("Domain name ending in.")},{name:"description",label:t("Description"),type:"textarea",tip:t("Details about the PTR record.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,tip:t("Time To Live in seconds."),placeholder:t("3600")}]}}a.Set=c,(0,o.default)(c,"id","set-reverse"),(0,o.default)(c,"title",t("Set")),(0,o.default)(c,"policy","get_images");var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3976:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1403));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunc",(e=>null!==e.ptrdname&&"ACTIVE"===e.status)),(0,l.default)(this,"policy","instance:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.unset({id:e.id},{ptrdname:null})))}get id(){return"usnet"}get title(){return t("Unset")}get actionName(){return t("Unset")}get buttonText(){return t("Unset")}}a.default=d},3977:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ReverseDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1403)),d=n(r(3978)),u=n(r(1645));class c extends o.default{init(){this.store=s.default}get name(){return t("Reverse Detail")}get policy(){return"get_image"}get listUrl(){return this.getRoutePath("dns-reverse")}get actionConfigs(){return u.default}get tabs(){return[{title:t("Detail"),key:"detail",component:d.default}]}}a.ReverseDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3978:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249));class s extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Address"),dataIndex:"address"},{label:t("PTR Domain Name"),dataIndex:"ptrdname"},{label:t("Description"),dataIndex:"description"},{label:t("ID"),dataIndex:"id"},{label:t("Time To Live"),dataIndex:"ttl"},{label:t("Status"),dataIndex:"status"},{label:t("Action"),dataIndex:"action"}];return{title:t("Base Info"),options:e}}}a.BaseDetail=s;var d=(0,l.inject)("rootStore")((0,l.observer)(s));a.default=d},3979:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Zones=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1360)),f=r(1404),p=r(163),m=o(r(3980));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Zone ID/Name"),dataIndex:"name",isHideable:!0,isLink:!0,routeName:this.getRouteName("dnsZonesDetail"),sortKey:"id"},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage,sortKey:"tenant_id"},{title:t("Type"),dataIndex:"type",isHideable:!0,sorter:!1,valueMap:f.ZONE_TYPES},{title:t("Status"),dataIndex:"status",isHideable:!0,valueMap:f.ZONE_STATUS},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=c.default,this.downloadStore=new c.DNSZonesStore}get policy(){return"get_zones"}get name(){return t("dns zones")}get actionConfigs(){return m.default}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,p.getOptions)(f.ZONE_TYPES)},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.ZONE_STATUS)}]}}a.Zones=v;var g=(0,d.inject)("rootStore")((0,d.observer)(v));a.default=g},3980:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1647)),l=i(a(3981)),o=i(a(3982)),s=i(a(1648)),d={rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},primaryActions:[n.default],batchActions:[o.default]};t.default=d},3981:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(54)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=r(412),_=f(r(1360)),b=r(1647);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{id:t}=this.item,{type:a}=this.item,{masters:r=[],email:i,ttl:n,description:l}=e,o={description:l,masters:(0,p.default)(r).call(r,(e=>e.value))};return"PRIMARY"===a&&(o.email=i,o.ttl=n),this.store.update({id:t},o)}))}init(){this.store=_.default}get name(){return t("Edit")}static allowed(){return m.default.resolve(!0)}get defaultValue(){var e=this.item,{masters:t=[]}=e,a=(0,h.default)(e,["masters"]),r=(0,p.default)(t).call(t,((e,t)=>({index:t,value:e})));return I(I({},a),{},{masters:r})}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?I(I({},e),{},{disabled:!0}):e))}}a.Update=A,(0,v.default)(A,"id","update-dns-zone"),(0,v.default)(A,"title",t("Edit")),(0,v.default)(A,"policy","update_zone");var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},3982:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1360));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_zone"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.delete({id:e.id})))}get id(){return"delete"}get title(){return t("Delete Zone")}get actionName(){return t("Delete Zone")}get buttonText(){return t("Delete")}get isDanger(){return!0}get isAsyncAction(){return!0}}a.default=d},3983:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ZonesDetail=void 0;var l=r(412),o=r(1360),s=n(r(1243)),d=r(1404),u=n(r(3984)),c=n(r(3985));class f extends s.default{init(){this.store=new o.DNSZonesStore}get name(){return t("DNS Zones Detail")}get listUrl(){return this.getRoutePath("dnsZones")}get policy(){return"get_zone"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",valueMap:d.ZONE_TYPES},{title:t("Status"),dataIndex:"status",valueMap:d.ZONE_STATUS},{title:t("Email"),dataIndex:"email"}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default},{title:t("Record Sets"),key:"record_sets",component:c.default}]}}a.ZonesDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3984:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(345)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.attributesCard,this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Serial"),dataIndex:"serial"},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{label:t("Transferred"),dataIndex:"transferred_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),options:e}}get attributesCard(){var e=[{label:t("Attributes"),dataIndex:"attributes",render:e=>(0,l.default)(e)}];return{title:t("Attributes"),options:e}}get associationsCard(){var e=[{label:t("Pool ID"),dataIndex:"pool_id"},{label:t("Project ID"),dataIndex:"project_id"},{label:t("Masters"),dataIndex:"masters",render:e=>(0,l.default)(e)}];return{title:t("Associations"),options:e}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3985:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSets=void 0,r(1311);var l=n(r(1312)),o=n(r(54)),s=n(r(0)),d=n(r(1242)),u=r(412),c=(r(161),r(1361)),f=r(1405),p=r(163),m=n(r(1649));class h extends d.default{init(){this.store=new c.DNSRecordSetsStore,this.downloadStore=new c.DNSRecordSetsStore}get name(){return t("recordsets")}get policy(){return"get_recordsets"}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get actionConfigs(){return m.default}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("dnsRecordSetDetail"),routeParamsFunc:e=>({zoneId:e.zone_id,id:e.id}),isLink:!0,sortKey:"id"},{title:t("Type"),dataIndex:"type",render:e=>(0,f.getRecordSetType)(e)},{title:t("Records"),dataIndex:"records",render:e=>(0,o.default)(e).call(e,(e=>s.default.createElement(l.default,{key:e},e))),stringify:e=>e.join("\n"),sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:f.RECORD_STATUS,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,f.dnsRRTypeList)()},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.RECORD_STATUS)}]}}a.RecordSets=h;var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3986:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(54)),g=f(r(58)),_=f(r(35)),b=r(1241),y=r(412),I=r(1405),A=f(r(1361));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{zone_id:t}=this.item,a=this.item.id,{records:r}=e,i=(0,g.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=w({records:n},i);return this.store.update(t,a,l)}))}init(){var e,a;this.store=A.default,this.state=w(w({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE[this.item.type].nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE[this.item.type].recordsExtra)})}get name(){return t("Update Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){var{records:e,type:t,name:a,description:r,ttl:i}=this.item;return{type:t,name:a,description:r,ttl:i,records:(0,v.default)(e).call(e,((e,t)=>({index:t,value:e})))}}get formItems(){var e=(0,I.getRecordSetFormItem)(this,this.currentFormValue);return(0,v.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?w(w({},e),{},{disabled:!0}):e))}}a.Update=x,(0,_.default)(x,"id","create-record-set"),(0,_.default)(x,"title",t("Update Record Set")),(0,_.default)(x,"buttonText",t("Update")),(0,_.default)(x,"policy","update_recordset");var P=(0,y.inject)("rootStore")((0,y.observer)(x));a.default=P},3987:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1361));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_recordset"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e),r=this.getItemId(e);return t("Are you sure to {action}? (Record Set: {name} - {id})",{action:this.actionNameDisplay||this.title,name:a,id:r})})),(0,l.default)(this,"onSubmit",(e=>{var{zone_id:t}=e,a=e.id;return s.default.delete({zone_id:t,recordset_id:a})}))}get id(){return"delete"}get title(){return t("Delete Record Set")}get actionName(){return t("Delete Record Set")}get buttonText(){return t("Delete")}get isDanger(){return!0}}a.default=d},3988:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSetsDetail=void 0;var l=r(412),o=n(r(1243)),s=r(1361),d=r(1405),u=n(r(3989)),c=n(r(1649));class f extends o.default{init(){this.store=new s.DNSRecordSetsStore}get titleValue(){return this.detailData.id}get name(){return t("Recordset Detail")}get listUrl(){return this.getRoutePath("dnsZonesDetail",{id:this.detailData.zone_id},{tab:"record_sets"})}get actionConfigs(){return c.default}get policy(){return"get_recordset"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",render:e=>(0,d.getRecordSetType)(e)},{title:t("Status"),dataIndex:"status",valueMap:d.RECORD_STATUS}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default}]}}a.RecordSetsDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3989:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Records"),dataIndex:"records",render:e=>(0,l.default)(e).call(e,(e=>o.default.createElement("div",null,e)))},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),labelCol:6,contentCol:18,options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),labelCol:6,contentCol:18,options:e}}get associationsCard(){var e=[{label:t("Zone ID"),dataIndex:"zone_id",copyable:!0},{label:t("Zone Name"),dataIndex:"zone_name"},{label:t("Project ID"),dataIndex:"project_id",copyable:!0}];return{title:t("Associations"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3990:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3991)),u=n(r(3995)),c=n(r(1655));class f extends o.default{get name(){return t("firewalls")}get checkEndpoint(){return!0}get endpoint(){return(0,s.firewallEndpoint)()}get tabs(){return[{title:t("Firewalls"),key:"firewalls",component:d.default},{title:t("Firewall Policies"),key:"policies",component:u.default},{title:t("Firewall Rules"),key:"rules",component:c.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3991:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Firewall=void 0;var l=r(412),o=n(r(1242)),s=n(r(1341)),d=r(1286),u=r(163),c=n(r(1650));class f extends o.default{init(){this.store=s.default}get policy(){return"get_firewall_group"}get name(){return t("firewalls")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get transitionStatusList(){return d.transitionStatus}get adminPageHasProjectFilter(){return!0}get initFilter(){return{notDefault:!0}}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Ingress Policy"),dataIndex:"ingressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"ingress_firewall_policy_id",isHideable:!0},{title:t("Egress Policy"),dataIndex:"egressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"egress_firewall_policy_id",isHideable:!0},{title:t("Associated Ports"),dataIndex:"ports",render:e=>e.length,isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueMap:d.adminState}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,u.getOptions)(d.firewallStatus),include:!1},{label:t("Admin State"),name:"admin_state_up",options:(0,u.getOptions)(d.adminState)},(0,d.getDefaultFilter)(t("Hide Default Firewalls"))]}}a.Firewall=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3992:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1341)),d=r(1286);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_group"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(!(!this.isAdminPage||!(0,d.hasNoProject)(e))||!(0,d.isDefault)(e)&&this.isNotActive(e)&&((0,d.isMine)(e)||this.isAdminPage)))),(0,l.default)(this,"isNotActive",(e=>"ACTIVE"!==e.status)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Firewall")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete firewall")}}a.default=u},3993:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.ManagePort=void 0;var p=f(r(28)),m=f(r(29)),h=f(r(164)),v=f(r(86)),g=f(r(54)),_=f(r(63)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(575)),S=f(r(233)),w=f(r(1341)),x=f(r(582)),P=r(1241),C=r(1473),E=r(1258),D=r(36),k=r(1286);function R(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var{id:t}=this.item,{ports:a}=e,r={ports:a.selectedRowKeys||null};return this.store.edit({id:t},r)}))}init(){this.store=w.default,this.routerStore=A.default,this.networkStore=S.default,this.portStore=x.default,this.getNetworks(),this.getRouters(),this.getPorts()}get name(){return t("manage ports")}static get modalSize(){return"large"}getModalSize(){return"large"}getNetworks(){var e=this;return(0,b.default)((function*(){e.networkStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getRouters(){var e=this;return(0,b.default)((function*(){e.routerStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,D.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,p.default)(e=(0,D.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,m.default)(r=e.ports).call(r,(e=>(0,h.default)(C.routerInterfaceOwners).call(C.routerInterfaceOwners,e.device_owner)));(0,p.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,v.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.router=e,a.network_name=a.network?a.network.name:"-",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,v.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get instancePorts(){var e;return(0,g.default)(e=(0,D.toJS)(this.portStore.list.data||[])).call(e,(e=>N(N({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:N(N({data:this.ports},C.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:N(N({data:this.instancePorts},(0,E.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get defaultValue(){var e;return{name:this.item.name,ports:{selectedRows:(0,g.default)(e=this.item.ports).call(e,(e=>({id:e,name:e}))),selectedRowKeys:this.item.ports}}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"firewall"},{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs}]}}a.ManagePort=j,(0,y.default)(j,"id","manage-port"),(0,y.default)(j,"title",t("Manage Ports")),(0,y.default)(j,"policy","update_firewall_group"),(0,y.default)(j,"allowed",(e=>_.default.resolve((0,k.isMine)(e))));var M=(0,I.inject)("rootStore")((0,I.observer)(j));a.default=M},3994:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(86)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1294)),A=f(r(1341)),S=r(1241),w=r(1362),x=r(1286);function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t{var{id:t}=this.item,{ingressPolicy:a,egressPolicy:r,options:{admin_state_up:i=!0}={}}=e,n=(0,_.default)(e,["ingressPolicy","egressPolicy","options"]),l=C({admin_state_up:i,ingress_firewall_policy_id:a.selectedRowKeys[0]||null,egress_firewall_policy_id:r.selectedRowKeys[0]||null},n);return this.store.edit({id:t},l)}))}init(){this.store=A.default,this.policyStore=I.default,this.getPolicies()}static get modalSize(){return"large"}getModalSize(){return"large"}getPolicies(){var e=this;return(0,g.default)((function*(){yield e.policyStore.fetchList(),e.updateDefaultValue()}))()}get policies(){var e,t,{id:a}=this.item;return(0,p.default)(e=(0,m.default)(t=this.policyStore.list.data||[]).call(t,(e=>{var t;return e.firewalls.length<2||!!(0,h.default)(t=e.firewalls).call(t,(e=>e.id===a))}))).call(e,(e=>C(C({},e),{},{key:e.id})))}get defaultValue(){if(0===this.policies.length)return{};var{ingress_firewall_policy_id:e,egress_firewall_policy_id:t,admin_state_up:a,description:r}=this.item;return{name:this.item.name,ingressPolicy:{selectedRowKeys:e?[e]:[]},egressPolicy:{selectedRowKeys:t?[t]:[]},options:{admin_state_up:a},description:r}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},C({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),C({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=E,(0,b.default)(E,"id","edit"),(0,b.default)(E,"title",t("Edit")),(0,b.default)(E,"policy","update_firewall_group"),(0,b.default)(E,"allowed",(e=>v.default.resolve(!(0,x.isDefault)(e)&&(0,x.isMine)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(E));a.default=D},3995:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Policy=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1242)),u=n(r(1294)),c=r(342),f=r(1286),p=n(r(1652));class m extends d.default{init(){this.store=u.default}get policy(){return"get_firewall_policy"}get name(){return t("firewall policies")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?p.default.actionConfigsAdmin:p.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallPolicyDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Rules"),dataIndex:"rules",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallRuleDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Firewalls"),dataIndex:"firewalls",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo",width:100}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Shared"),name:"shared",options:c.yesNoOptions},{label:t("Audited"),name:"audited",options:c.yesNoOptions},(0,f.getDefaultFilter)(t("Hide Default Policies"))]}}a.Policy=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3996:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54)),o=n(r(35)),s=n(r(92)),d=r(1241),u=n(r(1294)),c=r(1362);class f extends d.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","delete_firewall_policy"),(0,o.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,c.isMine)(e)||this.isAdminPage))),(0,o.default)(this,"performErrorMsg",(e=>{var a,r=(0,s.default)(e)?e[0]:e,i=t('You are not allowed to delete policy "{ name }".',{name:r.name});this.isNotUse(r)||(i=t('You are not allowed to delete policy "{ name }" used by firewalls: { firewalls }.',{name:r.name,firewalls:(0,l.default)(a=r.firewalls).call(a,(e=>e.name)).join(", ")}));return i})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return u.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete policy")}isNotUse(e){return 0===e.firewalls.length}}a.default=f},3997:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(1277)),v=f(r(63)),g=f(r(35)),_=r(412),b=f(r(1294)),y=f(r(1363)),I=r(1241),A=r(1307);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.item,{rule:a,insert:r,current:{selectedRowKeys:i=[]}={}}=e,n=a.selectedRowKeys[0],l="",o="";i.length>0&&("before"===r?o=i[0]:l=i[0]);var s={firewall_policy_id:t,firewall_rule_id:n,insert_before:o,insert_after:l};return this.store.insertRule({id:t},s)}))}init(){this.store=b.default,this.ruleStore=y.default,this.getRules()}get name(){return t("insert rule")}static get modalSize(){return"large"}getModalSize(){return"large"}getRules(){this.ruleStore.fetchList()}get rules(){var e,t,a;return(0,p.default)(e=(0,m.default)(t=(0,m.default)(a=this.ruleStore.list.data||[]).call(a,(e=>{var t;return(0,h.default)(t=this.currentRules).call(t,(t=>t.id!==e.id))}))).call(t,(e=>!this.item.shared||e.shared))).call(e,(e=>w(w({},e),{},{key:e.id})))}get currentRules(){var{rules:e}=this.item;return e}get defaultValue(){var{name:e}=this.item;return{name:e,insert:"before"}}get insertTypes(){return[{label:t("Insert Before"),value:"before"},{label:t("Insert After"),value:"after"}]}get tips(){var e=t("A rule specified before insertion or after insertion a rule. If both are not specified, the new rule is inserted as the first rule of the policy.");return this.item.shared?e+t("Shared policy only can insert shared rules."):e}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},w({name:"rule",label:t("Rule"),type:"select-table",required:!0,data:this.rules,isLoading:this.ruleStore.list.isLoading,isMulti:!1},A.tableOptions),{name:"insert",label:t("Insert"),type:"radio",options:this.insertTypes,required:!0},w({name:"current",label:t("Current Rules"),type:"select-table",data:this.currentRules,isMulti:!1},A.tableOptions)]}}a.Edit=x,(0,g.default)(x,"id","edit"),(0,g.default)(x,"title",t("Insert Rule")),(0,g.default)(x,"policy","update_firewall_policy"),(0,g.default)(x,"allowed",(e=>v.default.resolve((0,A.isMine)(e))));var P=(0,_.inject)("rootStore")((0,_.observer)(x));a.default=P},3998:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(1294)),g=r(1241),_=r(1307);function b(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function y(e){for(var t=1;t{var{id:t}=this.item,{rule:a}=e,r={firewall_rule_id:a.selectedRowKeys[0]};return v.default.removeRule({id:t},r)}))}get name(){return t("remove rule")}static get modalSize(){return"large"}getModalSize(){return"large"}get rules(){var{rules:e}=this.item;return e}get defaultValue(){return{name:this.item.name}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},y({name:"rule",label:t("Rules"),type:"select-table",required:!0,data:this.rules,isMulti:!1},_.tableOptions)]}}a.Edit=I,(0,m.default)(I,"id","edit"),(0,m.default)(I,"title",t("Remove Rule")),(0,m.default)(I,"policy","update_firewall_policy"),(0,m.default)(I,"allowed",(e=>p.default.resolve((0,_.isMine)(e))));var A=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=A},3999:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=n(r(92)),s=r(1241),d=n(r(1363)),u=r(1307);class c extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_rule"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,u.isMine)(e)||this.isAdminPage))),(0,l.default)(this,"performErrorMsg",(e=>{var a=(0,o.default)(e)?e[0]:e,r=t('You are not allowed to delete rule "{ name }".',{name:a.name});return this.isNotUse(a)||(r=t('You are not allowed to delete rule "{ name }" in use.',{name:a.name})),r})),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return d.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete rule")}isNotUse(e){return 0===e.policies.length}}a.default=c},4e3:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FirewallDetail=void 0;var l=r(412),o=r(1341),s=n(r(1243)),d=r(1286),u=n(r(4001)),c=n(r(4002)),f=n(r(1650));class p extends s.default{get name(){return t("firewall")}get policy(){return"get_firewall_group"}get listUrl(){return this.getRoutePath("firewall")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigsAdmin:f.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Base Info"),key:"base",component:u.default},{title:t("Ports"),key:"ports",component:c.default}]}init(){this.store=new o.FirewallStore}}a.FirewallDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},4001:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=r(1286),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Ingress Policy ID"),dataIndex:"ingress_firewall_policy_id"},{label:t("Ingress Policy Name"),dataIndex:"ingress",render:e=>e?e.name:"-"},{label:t("Egress Policy ID"),dataIndex:"egress_firewall_policy_id"},{label:t("Egress Policy Name"),dataIndex:"egress",render:e=>e?e.name:"-"},{label:t("Admin State"),dataIndex:"admin_state_up",valueMap:o.adminState}];return{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},4002:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(1473),b=r(582),y=r(1258);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.default{constructor(){super(...arguments),(0,h.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",width:150,isLink:!0,routeName:this.getRouteName("firewallPortDetail"),routeParamsFunc:e=>({firewallId:this.id,portId:e.id})},{title:t("Network ID/Name"),dataIndex:"network.name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network.id"},{title:t("Owner"),dataIndex:"owner",isHideable:!0},{title:t("Device ID/Name"),dataIndex:"router.name",isLink:!0,routeName:this.getRouteName("routerDetail"),idKey:"router.id"},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus}]))}init(){this.store=new b.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]);r&&(t.list.silent=!0);var{tab:n}=i,l=(0,p.default)(i,["tab"]),{detail:{ports:f=[]}={}}=t.props,v=function(e){for(var t=1;tI(I({},e),{},{label:e.title}))),r=[{label:t("Related Policy"),dataIndex:"policies",render:e=>{var t;return(0,m.default)(t=e||[]).call(t,(e=>v.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id}))))}},...a];return{title:t("Base Info"),options:r}}}a.BaseDetail=A;var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},4007:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicies=void 0;var l=r(412),o=n(r(1242)),s=r(604),d=r(1406),u=r(163),c=n(r(1658));class f extends o.default{init(){this.store=new s.RbacPoliciesStore,this.downloadStore=new s.RbacPoliciesStore}get policy(){return"get_rbac_policy"}get name(){return t("RBAC Policies")}get actionConfigs(){return c.default}getColumns(){return[{title:t("ID"),dataIndex:"id",routeName:this.getRouteName("rbacPolicyDetail"),isLink:!0,withoutName:!0},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0},{title:t("Object Type"),dataIndex:"object_type",isHideable:!0,valueMap:d.objectTypes},{title:t("Object ID/Name"),dataIndex:"object_name",isHideable:!0,idKey:"object_id",isLink:!0,getRouteName:(e,t)=>{var{object_type:a}=t||{};return"network"===a?this.getRouteName("networkDetail"):"qos_policy"===a?this.getRouteName("networkQosDetail"):""}},{title:t("Target Project ID/Name"),dataIndex:"target_tenant_name",isHideable:!0,idKey:"target_tenant_id",routeName:this.getRouteName("projectDetail"),isLink:!0,emptyRender:()=>"*"}]}get objectTypes(){return(0,u.getOptions)(d.objectTypes)}get searchFilters(){return[{label:t("Id"),name:"id"},{label:t("Target Project ID"),name:"target_tenant"},{label:t("Target Project Name"),name:"target_tenant_name"},{label:t("Object Type"),name:"object_type",options:this.objectTypes},{label:t("Object"),name:"object_name"},{label:t("Project ID"),name:"project_id"},{label:t("Project Name"),name:"project_name"}]}}a.RbacPolicies=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4008:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(604));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_rbac_policy"),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete RBAC Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get messageHasItemName(){return!1}get actionName(){return t("delete")}}a.default=d},4009:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=r(604),p=r(340),m=r(1406);class h extends c.ModalAction{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"onSubmit",function(){var t=(0,s.default)((function*(t){var{id:a}=e.item;return e.store.update({id:a},t)}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Edit")}get messageHasItemName(){return!1}init(){this.store=new f.RbacPoliciesStore,this.projectStore=new p.ProjectStore,this.state.projects=[],this.state.isReady=!1,this.getProjects()}get tips(){return t("You may update the editable properties of the RBAC policy here.")}getProjects(){var e=this;return(0,s.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(m.anyProject),e.setState({projects:t,isReady:!0})}))()}get projects(){var e,{projects:t}=this.state;return(0,l.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get defaultValue(){var{target_tenant:e}=this.item;return{target_tenant:e}}get formItems(){return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,loading:!this.state.isReady,required:!0}]}}a.Edit=h,(0,d.default)(h,"id","edit-policy"),(0,d.default)(h,"title",t("Edit")),(0,d.default)(h,"policy","update_rbac_policy"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},4010:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(58)),g=f(r(49)),_=f(r(35)),b=r(412),y=r(1241),I=r(604),A=r(340),S=r(233),w=r(576),x=r(66),P=r(1406);function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function E(e){for(var t=1;t{e.updateFormValue("object_id",void 0)}))}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Create")}get messageHasItemName(){return!1}init(){this.state=E(E({},this.state),{},{isReady:!1,allNetworks:[],qosPolices:[]}),this.store=new I.RbacPoliciesStore,this.projectStore=new A.ProjectStore,this.qosPolicyStore=new w.QoSPolicyStore,this.networkStore=new S.NetworkStore,this.getAllData()}getAllData(){var e=this;return(0,g.default)((function*(){yield p.default.all([e.getProjects(),e.getQoSPolicy(),e.getNetworks()]),e.setState({isReady:!0})}))()}get enableQosPolicy(){return(0,x.qosEndpoint)()}getProjects(){var e=this;return(0,g.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(P.anyProject),e.setState({allProjects:t})}))()}getQoSPolicy(){var e=this;return(0,g.default)((function*(){e.enableQosPolicy&&(yield e.qosPolicyStore.fetchList())}))()}getNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList();e.setState({allNetworks:t})}))()}get projects(){var e,{allProjects:t}=this.state;return(0,m.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get qosPolicy(){var e;return(0,m.default)(e=this.qosPolicyStore.list.data||[]).call(e,(e=>({value:e.id,label:e.name})))}get sharedNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e.shared))).call(e,(e=>({value:e.id,label:e.name})))}get externalNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e["router:external"]))).call(e,(e=>({value:e.id,label:e.name})))}get createObjectList(){var e=[{value:"network",label:t("Shared Network")},{value:"external-network",label:t("External Network")}];return this.enableQosPolicy&&e.push({value:"qos_policy",label:t("Shared QoS Policy")}),e}get formItems(){var{object_type:e}=this.state,a="network"===e,r="external-network"===e,i="qos_policy"===e;return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,isLoading:!this.state.isReady,required:!0},{name:"object_type",label:t("Object Type"),placeholder:t("Select an object type"),type:"select",onChange:this.onChangeHandler,options:this.createObjectList,required:!0},{name:"object_id",label:t("Shared Network"),placeholder:t("Select a network"),type:"select",options:this.sharedNetworks,hidden:!a,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("External Network"),placeholder:t("Select a network"),type:"select",options:this.externalNetworks,hidden:!r,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("QoS Policy"),placeholder:t("Select a QoS Policy"),type:"select",options:this.qosPolicy,hidden:!i,isLoading:!this.state.isReady,required:!0}]}}a.Create=D,(0,_.default)(D,"id","create-policy"),(0,_.default)(D,"title",t("Create RBAC Policy")),(0,_.default)(D,"policy","create_rbac_policy"),(0,_.default)(D,"allowed",(()=>p.default.resolve(!0)));var k=(0,b.inject)("rootStore")((0,b.observer)(D));a.default=k},4011:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicyDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1658)),d=r(604),u=n(r(4012));class c extends o.default{get name(){return t("Rbac Policy")}get listUrl(){return this.getRoutePath("rbacPolicy")}get actionConfigs(){return s.default}get detailInfos(){return[{title:t("Project ID"),dataIndex:"project_id"}]}get tabs(){return[{title:t("Detail"),key:"rbacPolicyDetailAdmin",component:u.default}]}init(){this.store=new d.RbacPoliciesStore}}a.RbacPolicyDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},4012:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(1406);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Object Type"),dataIndex:"object_type",valueMap:s.objectTypes},{label:t("Object ID"),dataIndex:"object_id",render:e=>{var{object_type:t}=this.detailData;return"network"===t?this.getLinkRender("networkDetail",e,{id:e}):"qos_policy"===t?this.getLinkRender("networkQosDetail",e,{id:e}):e}},{label:t("Object Name"),dataIndex:"object.name"},{label:t("Action"),dataIndex:"action"},{label:t("Target Tenant"),dataIndex:"target_tenant",render:e=>{if("*"===e)return e;var{targetProject:t}=this.detailData;return this.getLinkRender("projectDetail",(null==t?void 0:t.name)||e,{id:e})}}];return{title:t("Detail Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u}}]); \ No newline at end of file diff --git a/skyline_console/static/network.bundle.1741790621.js.gz b/skyline_console/static/network.bundle.1741790621.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9b41bc84a9a467bc2312c61a8a99a945c633d211 GIT binary patch literal 86783 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
t9Sb^vsdKfofS{0?=+v;R4SS4{*^O+x?$f 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

W+73XB7uj5Y-6L>AW#6;^+UHdwez! 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ℑGUxyQ}fQoq3VIQXPqEU;@+ZjrVHO%}lY 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 literal 0 HcmV?d00001 diff --git a/skyline_console/static/runtime.1741741357.js b/skyline_console/static/runtime.1741790621.js similarity index 97% rename from skyline_console/static/runtime.1741741357.js rename to skyline_console/static/runtime.1741790621.js index 05a3af27..813f88fd 100644 --- a/skyline_console/static/runtime.1741741357.js +++ b/skyline_console/static/runtime.1741790621.js @@ -1 +1 @@ -!function(e){function t(t){for(var n,u,i=t[0],c=t[1],l=t[2],p=0,s=[];p -

+
tag : dec5a5f342
diff --git a/src/layouts/Base/index.jsx b/src/layouts/Base/index.jsx index eb1e17e8..4248b3b5 100644 --- a/src/layouts/Base/index.jsx +++ b/src/layouts/Base/index.jsx @@ -65,6 +65,7 @@ export class BaseLayout extends Component { } const { type, value } = event.data; + if (type === 'SET_DATA') { const { currency, floatingIps, userEmail, consoleHost, computePrices } = value; @@ -295,12 +296,17 @@ export class BaseLayout extends Component { const keystoneToken = JSON.parse( localStorage.getItem('keystone_token') ).value; - const origin = localStorage.getItem('consoleHost'); - const message = { - status: 'popupCompleted', - token: keystoneToken, - }; - window.opener.postMessage(message, origin); + const allowedOrigins = [ + 'https://baha-dev.felcloud.io', + 'https://demo.felcloud.io', + ]; + allowedOrigins.forEach((origin) => { + const message = { + status: 'popupCompleted', + token: keystoneToken, + }; + window.opener.postMessage(message, origin); + }); return (