\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.427e7e65.chunk.js b/portal-ui/build/static/js/1440.427e7e65.chunk.js
deleted file mode 100644
index 04afca093..000000000
--- a/portal-ui/build/static/js/1440.427e7e65.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(61889),c=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(r.ZP,{container:!0,children:[(0,c.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),i=n(1413),r=n(72791),c=n(60364),a=n(11135),s=n(25787),l=n(26181),d=n.n(l),u=n(61889),m=n(47919),f=n(86856),h=n(23814),p=n(92983),v=n(81207),x=n(23804),Z=n(60680),b=n(38442),j=n(56087),k=n(75578),g=n(40603),S=n(87995),I=n(80184),z=(0,k.Z)(r.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),C=(0,k.Z)(r.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,s.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.qg),h.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=e.match,i=(0,c.I0)(),a=(0,c.v9)((function(e){return e.buckets.bucketDetails.loadingBucket})),s=(0,r.useState)(!1),l=(0,o.Z)(s,2),h=l[0],k=l[1],E=(0,r.useState)(!0),F=(0,o.Z)(E,2),P=F[0],y=F[1],N=(0,r.useState)([]),T=(0,o.Z)(N,2),w=T[0],O=T[1],_=(0,r.useState)(!1),A=(0,o.Z)(_,2),B=A[0],M=A[1],H=(0,r.useState)(null),R=(0,o.Z)(H,2),V=R[0],K=R[1],D=n.params.bucketName,L=(0,b.F)(D,[j.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,r.useEffect)((function(){a&&y(!0)}),[a,y]),(0,r.useEffect)((function(){P&&(L?v.Z.invoke("GET","/api/v1/buckets/".concat(D,"/events")).then((function(e){var t=d()(e,"events",[]);y(!1),O(t||[])})).catch((function(e){y(!1),i((0,S.Ih)(e))})):y(!1))}),[P,i,D,L]);var U=[{type:"delete",onClick:function(e){M(!0),K(e)}}];return(0,I.jsxs)(r.Fragment,{children:[B&&(0,I.jsx)(z,{deleteOpen:B,selectedBucket:D,bucketEvent:V,closeDeleteModalAndRefresh:function(e){M(!1),e&&y(!0)}}),h&&(0,I.jsx)(C,{open:h,selectedBucket:D,closeModalAndRefresh:function(){k(!1),y(!0)}}),(0,I.jsxs)(u.ZP,{container:!0,children:[(0,I.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,I.jsx)(Z.Z,{children:"Events"}),(0,I.jsx)(b.s,{scopes:[j.Ft.S3_PUT_BUCKET_NOTIFICATIONS,j.Ft.ADMIN_SERVER_INFO],resource:D,matchAll:!0,errorProps:{disabled:!0},children:(0,I.jsx)(g.Z,{tooltip:"Subscribe to Event",onClick:function(){k(!0)},text:"Subscribe to Event",icon:(0,I.jsx)(m.Z,{}),color:"primary",variant:"contained"})})]}),(0,I.jsx)(u.ZP,{item:!0,xs:12,children:(0,I.jsx)(b.s,{scopes:[j.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:D,errorProps:{disabled:!0},children:(0,I.jsx)(p.Z,{itemActions:U,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,I.jsx)(r.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:P,records:w,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!P&&(0,I.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,I.jsx)("br",{}),(0,I.jsx)(x.Z,{title:"Lambda Notifications",iconComponent:(0,I.jsx)(f.Z,{}),help:(0,I.jsxs)(r.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,I.jsx)("br",{}),(0,I.jsx)("br",{}),"You can learn more at our"," ",(0,I.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var o=n(4942),i=n(63366),r=n(87462),c=n(72791),a=n(90767),s=n(12065),l=n(97278),d=n(76189),u=n(80184),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(93736),x=n(47630),Z=n(95159);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(30208).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],g=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,i=e.ownerState;return(0,r.Z)({color:n.palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:(0,s.Fq)("default"===i.color?n.palette.action.active:n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:n.palette[i.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:n.palette.action.disabled}),t))})),S=(0,u.jsx)(f,{}),I=(0,u.jsx)(m,{}),z=(0,u.jsx)(h,{}),C=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?S:l,m=s.color,f=void 0===m?"primary":m,h=s.icon,x=void 0===h?I:h,Z=s.indeterminate,j=void 0!==Z&&Z,C=s.indeterminateIcon,E=void 0===C?z:C,F=s.inputProps,P=s.size,y=void 0===P?"medium":P,N=(0,i.Z)(s,k),T=j?E:x,w=j?E:d,O=(0,r.Z)({},s,{color:f,indeterminate:j,size:y}),_=function(e){var t=e.classes,n=e.indeterminate,o=e.color,i={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(i,b,t);return(0,r.Z)({},t,c)}(O);return(0,u.jsx)(g,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":j},F),icon:c.cloneElement(T,{fontSize:null!=(n=T.props.fontSize)?n:y}),checkedIcon:c.cloneElement(w,{fontSize:null!=(o=w.props.fontSize)?o:y}),ownerState:O,ref:t},N,{classes:_}))}))},26769:function(e,t,n){var o=n(39066),i=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&r(e)&&"[object String]"==o(e)}}}]);
-//# sourceMappingURL=1440.427e7e65.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.f0f58c9c.chunk.js b/portal-ui/build/static/js/1440.f0f58c9c.chunk.js
new file mode 100644
index 000000000..b94076f08
--- /dev/null
+++ b/portal-ui/build/static/js/1440.f0f58c9c.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(61889),c=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(r.ZP,{container:!0,children:[(0,c.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),i=n(1413),r=n(72791),c=n(60364),a=n(11135),s=n(25787),l=n(26181),d=n.n(l),u=n(61889),m=n(47919),f=n(86856),h=n(23814),p=n(92983),v=n(81207),x=n(23804),Z=n(60680),b=n(38442),j=n(56087),k=n(75578),S=n(40603),g=n(87995),I=n(9859),z=n(80184),C=(0,k.Z)(r.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),E=(0,k.Z)(r.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,s.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.qg),h.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=e.match,i=(0,c.I0)(),a=(0,c.v9)(I.HQ),s=(0,r.useState)(!1),l=(0,o.Z)(s,2),h=l[0],k=l[1],F=(0,r.useState)(!0),P=(0,o.Z)(F,2),y=P[0],N=P[1],T=(0,r.useState)([]),w=(0,o.Z)(T,2),O=w[0],_=w[1],A=(0,r.useState)(!1),H=(0,o.Z)(A,2),M=H[0],B=H[1],R=(0,r.useState)(null),V=(0,o.Z)(R,2),K=V[0],L=V[1],D=n.params.bucketName,U=(0,b.F)(D,[j.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,r.useEffect)((function(){a&&N(!0)}),[a,N]),(0,r.useEffect)((function(){y&&(U?v.Z.invoke("GET","/api/v1/buckets/".concat(D,"/events")).then((function(e){var t=d()(e,"events",[]);N(!1),_(t||[])})).catch((function(e){N(!1),i((0,g.Ih)(e))})):N(!1))}),[y,i,D,U]);var G=[{type:"delete",onClick:function(e){B(!0),L(e)}}];return(0,z.jsxs)(r.Fragment,{children:[M&&(0,z.jsx)(C,{deleteOpen:M,selectedBucket:D,bucketEvent:K,closeDeleteModalAndRefresh:function(e){B(!1),e&&N(!0)}}),h&&(0,z.jsx)(E,{open:h,selectedBucket:D,closeModalAndRefresh:function(){k(!1),N(!0)}}),(0,z.jsxs)(u.ZP,{container:!0,children:[(0,z.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,z.jsx)(Z.Z,{children:"Events"}),(0,z.jsx)(b.s,{scopes:[j.Ft.S3_PUT_BUCKET_NOTIFICATIONS,j.Ft.ADMIN_SERVER_INFO],resource:D,matchAll:!0,errorProps:{disabled:!0},children:(0,z.jsx)(S.Z,{tooltip:"Subscribe to Event",onClick:function(){k(!0)},text:"Subscribe to Event",icon:(0,z.jsx)(m.Z,{}),color:"primary",variant:"contained"})})]}),(0,z.jsx)(u.ZP,{item:!0,xs:12,children:(0,z.jsx)(b.s,{scopes:[j.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:D,errorProps:{disabled:!0},children:(0,z.jsx)(p.Z,{itemActions:G,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,z.jsx)(r.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:y,records:O,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!y&&(0,z.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,z.jsx)("br",{}),(0,z.jsx)(x.Z,{title:"Lambda Notifications",iconComponent:(0,z.jsx)(f.Z,{}),help:(0,z.jsxs)(r.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,z.jsx)("br",{}),(0,z.jsx)("br",{}),"You can learn more at our"," ",(0,z.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var o=n(4942),i=n(63366),r=n(87462),c=n(72791),a=n(90767),s=n(12065),l=n(97278),d=n(76189),u=n(80184),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(93736),x=n(47630),Z=n(95159);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(30208).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],S=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,i=e.ownerState;return(0,r.Z)({color:n.palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:(0,s.Fq)("default"===i.color?n.palette.action.active:n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:n.palette[i.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:n.palette.action.disabled}),t))})),g=(0,u.jsx)(f,{}),I=(0,u.jsx)(m,{}),z=(0,u.jsx)(h,{}),C=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?g:l,m=s.color,f=void 0===m?"primary":m,h=s.icon,x=void 0===h?I:h,Z=s.indeterminate,j=void 0!==Z&&Z,C=s.indeterminateIcon,E=void 0===C?z:C,F=s.inputProps,P=s.size,y=void 0===P?"medium":P,N=(0,i.Z)(s,k),T=j?E:x,w=j?E:d,O=(0,r.Z)({},s,{color:f,indeterminate:j,size:y}),_=function(e){var t=e.classes,n=e.indeterminate,o=e.color,i={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(i,b,t);return(0,r.Z)({},t,c)}(O);return(0,u.jsx)(S,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":j},F),icon:c.cloneElement(T,{fontSize:null!=(n=T.props.fontSize)?n:y}),checkedIcon:c.cloneElement(w,{fontSize:null!=(o=w.props.fontSize)?o:y}),ownerState:O,ref:t},N,{classes:_}))}))},26769:function(e,t,n){var o=n(39066),i=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&r(e)&&"[object String]"==o(e)}}}]);
+//# sourceMappingURL=1440.f0f58c9c.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.427e7e65.chunk.js.map b/portal-ui/build/static/js/1440.f0f58c9c.chunk.js.map
similarity index 59%
rename from portal-ui/build/static/js/1440.427e7e65.chunk.js.map
rename to portal-ui/build/static/js/1440.f0f58c9c.chunk.js.map
index e9754e1de..6576f5d6d 100644
--- a/portal-ui/build/static/js/1440.427e7e65.chunk.js.map
+++ b/portal-ui/build/static/js/1440.f0f58c9c.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/1440.427e7e65.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\n\nimport { AppState } from \"../../../../store\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n match: any;\n}\n\nconst BucketEventsPanel = ({ classes, match }: IBucketEventsProps) => {\n const dispatch = useDispatch();\n\n const loadingBucket = useSelector(\n (state: AppState) => state.buckets.bucketDetails.loadingBucket\n );\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n {\n setAddEventScreenOpen(true);\n }}\n text={\"Subscribe to Event\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n {!loadingEvents && (\n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return
{children}
;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: theme.palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","match","dispatch","useDispatch","loadingBucket","useSelector","state","buckets","bucketDetails","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","params","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","text","icon","color","variant","itemActions","columns","label","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","capitalize","_extends","palette","secondary","disableRipple","alpha","action","active","main","hoverOpacity","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/1440.f0f58c9c.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n match: any;\n}\n\nconst BucketEventsPanel = ({ classes, match }: IBucketEventsProps) => {\n const dispatch = useDispatch();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n {\n setAddEventScreenOpen(true);\n }}\n text={\"Subscribe to Event\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n {!loadingEvents && (\n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return
{children}
;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: theme.palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","match","dispatch","useDispatch","loadingBucket","useSelector","selBucketDetailsLoading","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","params","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","text","icon","color","variant","itemActions","columns","label","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","capitalize","_extends","palette","secondary","disableRipple","alpha","action","active","main","hoverOpacity","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.182e4e51.chunk.js b/portal-ui/build/static/js/1829.182e4e51.chunk.js
new file mode 100644
index 000000000..d23a7b56c
--- /dev/null
+++ b/portal-ui/build/static/js/1829.182e4e51.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{23804:function(e,n,t){t(72791);var a=t(11135),o=t(25787),i=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,a=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(i.ZP,{container:!0,children:[(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},47986:function(e,n,t){t(72791);var a=t(61889),o=t(64554),i=t(23804),r=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,r.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,r.jsx)(a.ZP,{item:!0,xs:12,children:(0,r.jsx)(i.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(o.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,r.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,r.jsxs)("div",{children:["Please deploy a server in"," ",(0,r.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){var a=t(1413),o=t(72791),i=t(61889),r=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(84570),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,a.Z)((0,a.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,l=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,m=void 0!==x&&x,b=e.noTopMargin,g=void 0!==b&&b,j=e.tooltip,Z=void 0===j?"":j,v=e.overrideLabelClasses,k=void 0===v?"":v,S=e.overrideCheckboxStyles,C=e.classes,y=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(y||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:l,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:C.checkedIcon}),icon:(0,h.jsx)("span",{className:C.unCheckedIcon}),disabled:m,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:S||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(k),children:[(0,h.jsx)("span",{children:n}),""!==Z&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.Z,{})})})})]})]})})}))},61829:function(e,n,t){t.r(n);var a=t(29439),o=t(1413),i=t(72791),r=t(60364),s=t(28353),c=t(4834),l=t(61889),d=t(68096),u=t(58406),f=t(23786),h=t(27391),p=t(36151),x=t(95087),m=t(11135),b=t(25787),g=t(26824),j=t(45248),Z=t(23814),v=t(56087),k=t(62410),S=t(34866),C=t(32291),y=t(81207),N=t(74794),w=t(38442),H=t(47986),I=t(87995),R=t(72455),E=t(80184),F=(0,R.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({graphContainer:{backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,padding:"19px 38px",marginTop:15},scanInfo:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between"},scanData:{fontSize:13},formBox:{padding:15,border:"1px solid #EAEAEA"},buttonBar:{display:"flex",alignItems:"center",justifyContent:"flex-end"},bucketField:{flex:1},prefixField:(0,o.Z)((0,o.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))})),P=(0,b.Z)((function(e){return(0,m.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(c.ZP);n.default=function(){var e=F(),n=(0,r.v9)(I.N5),t=(0,i.useState)(!1),o=(0,a.Z)(t,2),c=o[0],m=o[1],b=(0,i.useState)(""),Z=(0,a.Z)(b,2),R=Z[0],T=Z[1],B=(0,i.useState)([]),D=(0,a.Z)(B,2),z=D[0],A=D[1],G=(0,i.useState)(""),L=(0,a.Z)(G,2),M=L[0],W=L[1],Y=(0,i.useState)(!1),O=(0,a.Z)(Y,2),U=O[0],_=O[1],q=(0,i.useState)(!1),J=(0,a.Z)(q,2),V=J[0],X=J[1],K=(0,i.useState)(!1),Q=(0,a.Z)(K,2),$=Q[0],ee=Q[1],ne=(0,i.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),te=(0,a.Z)(ne,2),ae=te[0],oe=te[1];(0,i.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),A(n)})).catch((function(e){console.error(e)}))}),[]),(0,i.useEffect)((function(){!0===V&&ee(!1)}),[V]),(0,i.useEffect)((function(){!0===$&&X(!1)}),[$]);var ie=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,i.useEffect)((function(){if(c){var e={Green:0,Yellow:0,Red:0,Grey:0},n={Green:0,Yellow:0,Red:0,Grey:0},t=new URL(window.location.toString()),o=t.port,i=new URL(document.baseURI).pathname,r=(0,g.x2)(t.protocol),s=new x.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(o).concat(i,"ws/heal/").concat(R,"?prefix=").concat(M,"&recursive=").concat(U,"&force-start=").concat(V,"&force-stop=").concat($));if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok")},s.onmessage=function(t){for(var o=JSON.parse(t.data.toString()),i=0,r=Object.entries(o.healthAfterCols);i.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n \n \n \n )}\n \n \n );\n};\n\nexport default Heal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","useStyles","makeStyles","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","spacing","SelectStyled","lineHeight","InputBase","distributedSetup","useSelector","selDistSet","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.187799ba.chunk.js b/portal-ui/build/static/js/1829.187799ba.chunk.js
deleted file mode 100644
index 1e327afc7..000000000
--- a/portal-ui/build/static/js/1829.187799ba.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{23804:function(e,n,t){t(72791);var a=t(11135),i=t(25787),o=t(61889),r=t(80184);n.Z=(0,i.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,a=e.title,i=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},47986:function(e,n,t){t(72791);var a=t(61889),i=t(64554),o=t(23804),r=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,r.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,r.jsx)(a.ZP,{item:!0,xs:12,children:(0,r.jsx)(o.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(i.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,r.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,r.jsxs)("div",{children:["Please deploy a server in"," ",(0,r.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){var a=t(1413),i=t(72791),o=t(61889),r=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(84570),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,a.Z)((0,a.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,l=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,m=void 0!==x&&x,b=e.noTopMargin,g=void 0!==b&&b,j=e.tooltip,Z=void 0===j?"":j,v=e.overrideLabelClasses,S=void 0===v?"":v,k=e.overrideCheckboxStyles,C=e.classes,y=e.className;return(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(y||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:l,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:C.checkedIcon}),icon:(0,h.jsx)("span",{className:C.unCheckedIcon}),disabled:m,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:k||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(S),children:[(0,h.jsx)("span",{children:n}),""!==Z&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.Z,{})})})})]})]})})}))},61829:function(e,n,t){t.r(n);var a=t(29439),i=t(1413),o=t(72791),r=t(60364),s=t(28353),c=t(4834),l=t(61889),d=t(68096),u=t(58406),f=t(23786),h=t(27391),p=t(36151),x=t(95087),m=t(11135),b=t(25787),g=t(26824),j=t(45248),Z=t(23814),v=t(56087),S=t(62410),k=t(34866),C=t(32291),y=t(81207),w=t(74794),N=t(38442),H=t(47986),I=t(80184),R=(0,b.Z)((function(e){return(0,m.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(c.ZP),E=(0,r.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null);n.default=E((0,b.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({graphContainer:{backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,padding:"19px 38px",marginTop:15},scanInfo:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between"},scanData:{fontSize:13},formBox:{padding:15,border:"1px solid #EAEAEA"},buttonBar:{display:"flex",alignItems:"center",justifyContent:"flex-end"},bucketField:{flex:1},prefixField:(0,i.Z)((0,i.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,i.Z)((0,i.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.distributedSetup,i=(0,o.useState)(!1),r=(0,a.Z)(i,2),c=r[0],m=r[1],b=(0,o.useState)(""),Z=(0,a.Z)(b,2),E=Z[0],F=Z[1],P=(0,o.useState)([]),T=(0,a.Z)(P,2),B=T[0],D=T[1],z=(0,o.useState)(""),A=(0,a.Z)(z,2),G=A[0],L=A[1],M=(0,o.useState)(!1),W=(0,a.Z)(M,2),Y=W[0],O=W[1],U=(0,o.useState)(!1),_=(0,a.Z)(U,2),q=_[0],J=_[1],V=(0,o.useState)(!1),X=(0,a.Z)(V,2),$=X[0],K=X[1],Q=(0,o.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),ee=(0,a.Z)(Q,2),ne=ee[0],te=ee[1];(0,o.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),D(n)})).catch((function(e){console.error(e)}))}),[]),(0,o.useEffect)((function(){!0===q&&K(!1)}),[q]),(0,o.useEffect)((function(){!0===$&&J(!1)}),[$]);var ae=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,o.useEffect)((function(){if(c){var e={Green:0,Yellow:0,Red:0,Grey:0},n={Green:0,Yellow:0,Red:0,Grey:0},t=new URL(window.location.toString()),i=t.port,o=new URL(document.baseURI).pathname,r=(0,g.x2)(t.protocol),s=new x.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(i).concat(o,"ws/heal/").concat(E,"?prefix=").concat(G,"&recursive=").concat(Y,"&force-start=").concat(q,"&force-stop=").concat($));if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok")},s.onmessage=function(t){for(var i=JSON.parse(t.data.toString()),o=0,r=Object.entries(i.healthAfterCols);o.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n \n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Heal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","SelectStyled","lineHeight","spacing","InputBase","connector","connect","state","distributedSetup","system","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2080.2ddaba07.chunk.js.map b/portal-ui/build/static/js/2080.2ddaba07.chunk.js.map
index 5d4a2767a..13770dfff 100644
--- a/portal-ui/build/static/js/2080.2ddaba07.chunk.js.map
+++ b/portal-ui/build/static/js/2080.2ddaba07.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/2080.2ddaba07.chunk.js","mappings":"yWAsDMA,EAAqC,CACzCC,KAAAA,EAAAA,GACAC,KAAM,kBAAMC,EAAAA,EAAAA,OAAsBD,EAAAA,KAG9BE,EAAaC,EAAAA,GAAAA,MACjB,CACE,IAAK,CACHC,gBAAiB,WAEnB,cAAe,CACbC,WAAY,WAEd,0BAA2B,CACzBC,gBAAiB,WAEnB,cAAe,CACbF,gBAAiB,UACjBG,MAAO,UACPC,OAAQ,QAEV,2BAA4B,CAC1BC,YAAa,qBAEf,oBAAqB,CACnBC,SAAU,QAEZ,WAAY,CACVA,SAAU,OACVH,MAAO,UACP,aAAS,CACPA,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChBH,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBG,MAAO,WAET,qBAAsB,CACpBH,gBAAiB,WAEnB,qBAAsB,CACpBO,WAAY,KAEd,2BAA4B,CAC1BP,gBAAiB,UACjBG,MAAO,YAGX,CACEK,MAAM,IAIJC,EAAYV,EAAAA,GAAAA,MAChB,CACE,IAAK,CACHC,gBAAiB,UACjBG,MAAO,WAGT,2BAA4B,CAC1BE,YAAa,qBAEf,oBAAqB,CACnBC,SAAU,QAEZ,WAAY,CACVA,SAAU,OACV,yBAAgB,CACdH,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChBH,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBG,MAAO,WAET,6CAA8C,CAC5CH,gBAAiB,UAGrB,CACEQ,MAAM,IAqHV,KAAeE,EAAAA,EAAAA,IAxNA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAsNP,EAjH0B,SAAC,GASN,IARnBC,EAQkB,EARlBA,MAQkB,IAPlBC,MAAAA,OAOkB,MAPV,GAOU,MANlBC,QAAAA,OAMkB,MANR,GAMQ,MALlBC,KAAAA,OAKkB,MALX,OAKW,EAJlBC,EAIkB,EAJlBA,QACAC,EAGkB,EAHlBA,eAGkB,IAFlBC,SAAAA,OAEkB,aADlBC,aAAAA,OACkB,MADH,QACG,EAClB,GAAsCC,EAAAA,EAAAA,WAAkB,GAAxD,eAAOC,EAAP,KAAoBC,EAApB,KAGIC,EAA6B,GAKjC,OAJI/B,EAAcuB,KAChBQ,EAAa,kBAAOA,GAAP,CAAsB/B,EAAcuB,SAIjD,UAAC,WAAD,YACE,UAAC,IAAD,CAAYS,UAAWR,EAAQS,WAA/B,WACE,0BAAOZ,IACM,KAAZC,IACC,gBAAKU,UAAWR,EAAQU,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOb,EAASc,UAAU,YAAnC,UACE,gBAAKJ,UAAWR,EAAQF,QAAxB,UACE,SAAC,IAAD,cAMV,SAAC,KAAD,CAAMe,MAAI,EAACC,GAAI,GAAf,UACE,qBAGF,UAAC,KAAD,CACED,MAAI,EACJC,GAAI,GACJC,GAAI,CACF7B,OAAQ,qBAJZ,WAOE,SAAC,KAAD,CAAM2B,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,KAAD,CACElB,MAAOA,EACPH,MAAOY,EAAcd,EAAYX,EACjCoC,WAAYT,EACZU,UAAWf,EACXgB,YAAY,EACZC,OAAQhB,EACRiB,SAAU,SAACC,EAAWC,GACpBrB,EAAe,KAAM,KAAMoB,SAIjC,SAAC,KAAD,CACER,MAAI,EACJC,GAAI,GACJC,GAAI,CACFQ,UAAW,oBACXC,WAAYnB,EAAc,UAAY,WAL1C,UAQE,UAAC,IAAD,CACEG,UAAWH,EAAc,aAAe,GACxCU,GAAI,CACFU,QAAS,OACTC,WAAY,SACZC,QAAS,MACTC,aAAc,MACdC,eAAgB,WAChB,WAAY,CACVV,OAAQ,OACRW,MAAO,OACPH,QAAS,MACT,aAAc,CACZI,WAAY,MAIhB,sBAAuB,CACrBP,WAAY,YAlBlB,WAsBE,SAAC,IAAD,CACE1B,QAAS,eACTkC,QAAS,WACP1B,GAAgBD,IAElB4B,KAAM,GACNC,MAAM,SAAC,MAAD,IACNjD,MAAO,UACPkD,QAAS,cAEX,SAAC,IAAD,CAAiBF,KAAMrC,EAAvB,UACE,SAAC,IAAD,CACEE,QAAS,oBACTkC,QAAS,aACTC,KAAM,GACNC,MAAM,SAAC,MAAD,IACNjD,MAAO,UACPkD,QAAS,8B,oEC7MzB,IAxBoC,SAAC,GAAwC,IAAtCC,EAAqC,EAArCA,SAAUzB,EAA2B,EAA3BA,MAAO0B,EAAoB,EAApBA,QAASH,EAAW,EAAXA,KAC/D,OACE,UAAC,IAAD,CACEnB,GAAI,CACFU,QAAS,OACTE,QAAS,OACTW,IAAK,OACLC,oBAAqB,CACnBC,GAAI,YACJ1B,GAAI,OAEN5B,OAAQ,qBATZ,WAYE,UAAC,IAAD,YACE,SAAC,IAAD,CAAcgD,KAAMA,EAApB,SAA2BvB,IAC1ByB,KAGFC,O,2OC1BDI,EAAc,SAAC,GAMd,IALLP,EAKI,EALJA,KACAQ,EAII,EAJJA,YAKA,OACE,UAACC,EAAA,EAAD,CACE5B,GAAI,CACFU,QAAS,OACT,cAAe,CACbmB,YAAa,OACbzB,OAAQ,OACRW,MAAO,OACPe,aAAc,SAPpB,UAWGX,EAAM,KACP,gBAAKY,MAAO,CAAE1D,SAAU,OAAQ2D,UAAW,SAAU9D,MAAO,WAA5D,SACGyD,QAgET,EA1DyB,WACvB,OACE,UAACC,EAAA,EAAD,CACE5B,GAAI,CACFiC,KAAM,EACN9D,OAAQ,oBACR+D,aAAc,MACdxB,QAAS,OACTyB,SAAU,SACVvB,QAAS,QAPb,WAUE,UAACgB,EAAA,EAAD,CACE5B,GAAI,CACF3B,SAAU,OACVC,WAAY,IACZoC,QAAS,OACTC,WAAY,SACZmB,aAAc,OACdM,cAAe,OAEf,cAAe,CACbhC,OAAQ,OACRW,MAAO,OACPc,YAAa,SAZnB,WAgBE,SAAC,MAAD,KACA,2DAEF,UAACD,EAAA,EAAD,CAAK5B,GAAI,CAAE3B,SAAU,OAAQyD,aAAc,QAA3C,WACE,UAACF,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,WACE,SAACV,EAAD,CACEP,MAAM,SAAC,MAAD,IACNQ,YAAW,qBAEb,UAACC,EAAA,EAAD,CAAK5B,GAAI,CAAEqC,WAAY,QAAvB,uQAI4D,WAG9D,SAACT,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,yGAIA,SAACR,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,gM,6EC4FR,GAAe3D,EAAAA,EAAAA,IA7IA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX2D,gBAAiB,CACf5B,QAAS,OACT6B,SAAU,EACV5B,WAAY,SACZ6B,OAAQ,OACR1B,eAAgB,SAChB,QAAS,CACPC,MAAO,IACP,4BAA6B,CAC3BoB,SAAU,aAIbM,EAAAA,IACAC,EAAAA,OA6HP,EA1HwB,SAAC,GAAiC,EAA/BzD,QAAgC,IACnD0D,GAAWC,EAAAA,EAAAA,MAEjB,GAAoCvD,EAAAA,EAAAA,WAAkB,GAAtD,eAAOwD,EAAP,KAAmBC,EAAnB,KACA,GAAoCzD,EAAAA,EAAAA,UAAiB,IAArD,eAAO0D,EAAP,KAAmBC,EAAnB,KACA,GAAgD3D,EAAAA,EAAAA,UAAiB,IAAjE,eAAO4D,EAAP,KAAyBC,EAAzB,KAkCMC,EAAkC,KAAtBJ,EAAWK,SAA8C,IAA7BL,EAAWM,QAAQ,KAEjE,OACE,SAAC,EAAAC,SAAD,WACE,UAACC,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,WACE,SAACyD,EAAA,EAAD,CACE1E,OAAO,SAAC2E,EAAA,EAAD,CAAUC,GAAIC,EAAAA,GAAAA,SAAoB7E,MAAO,gBAElD,SAAC8E,EAAA,EAAD,WACE,SAACC,EAAA,EAAD,CACEjE,MAAO,gBACPuB,MAAM,SAAC,MAAD,IACNG,SAAS,SAAC,EAAD,IAHX,UAKE,iBACEwC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,GACCA,EAjDhBC,iBACFrB,IAGJC,GAAc,GACdqB,EAAAA,EAAAA,OACU,OAAQ,mBAAoB,CAClCC,KAAMrB,EACNsB,OAAQpB,IAETqB,MAAK,SAACC,GACLzB,GAAc,GACd0B,EAAAA,EAAAA,KAAA,UAAgBb,EAAAA,GAAAA,cAEjBc,OAAM,SAACC,GACN5B,GAAc,GACdH,GAASgC,EAAAA,EAAAA,IAAqBD,SA6B1B,UAOE,UAACnB,EAAA,GAAD,CAAMqB,WAAS,EAAC9E,MAAI,EAAC+E,QAAS,EAAGC,UAAW,MAA5C,WACE,SAACvB,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgF,EAAA,EAAD,CACEC,GAAG,cACHZ,KAAK,cACLtF,MAAM,cACNmG,WAAW,EACXpG,MAAOkE,EACPmC,MAnCS,SAACnC,GAC1B,OAAiC,IAA7BA,EAAWM,QAAQ,KACd,oCACK,GAgCS8B,CAAmBpC,GAC1B1C,SAAU,SAAC4D,GACTjB,EAAciB,EAAEmB,OAAOvG,aAI7B,SAAC0E,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,UACE,SAACsF,EAAA,EAAD,CACEvG,MAAO,eACPD,MAAOoE,EACP/D,eAAgB,SAACoG,EAAQC,EAAM1G,GAC7BqE,EAAoBrE,IAEtBO,aAAc,aAGlB,SAACmE,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAIyF,UAAW,QAA9B,UACE,UAAC5D,EAAA,EAAD,CACE5B,GAAI,CACFU,QAAS,OACTC,WAAY,SACZG,eAAgB,WAChBgE,UAAW,OACXvD,IAAK,QANT,WASE,SAACkE,EAAA,EAAD,CACEC,KAAK,SACLtE,QAAQ,WACRlD,MAAM,UACN+C,QAtEF,WAChB+B,EAAc,IACdE,EAAoB,KAgEJ,oBASA,SAACuC,EAAA,EAAD,CACEC,KAAK,SACLtE,QAAQ,YACRlD,MAAM,UACNyH,SAAU9C,IAAeM,EAJ3B,yC,sBCvKL,SAASyC,EAAgBC,GAItC,OAHAD,EAAkBE,OAAOC,eAAiBD,OAAOE,eAAiB,SAAyBH,GACzF,OAAOA,EAAEI,WAAaH,OAAOE,eAAeH,IAEvCD,EAAgBC,G,sGCHV,SAASK,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIC,UAAU,sDAGtBF,EAASG,UAAYR,OAAOS,OAAOH,GAAcA,EAAWE,UAAW,CACrEE,YAAa,CACX3H,MAAOsH,EACPM,UAAU,EACVC,cAAc,KAGlBZ,OAAOa,eAAeR,EAAU,YAAa,CAC3CM,UAAU,IAERL,IAAY,OAAeD,EAAUC,K,qBChB5B,SAASQ,EAAQC,GAG9B,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIL,cAAgBM,QAAUD,IAAQC,OAAOR,UAAY,gBAAkBO,GACvHD,EAAQC,G,+CCLE,SAASG,EAA2BC,EAAMC,GACvD,GAAIA,IAA2B,WAAlBN,EAAQM,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIb,UAAU,4DAGtB,OAAO,EAAAc,EAAA,GAAsBF","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormLayout.tsx","screens/Console/Policies/AddPolicyHelpBox.tsx","screens/Console/Policies/AddPolicyScreen.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport SectionTitle from \"./SectionTitle\";\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n helpbox?: React.ReactNode;\n};\n\nconst FormLayout: React.FC = ({ children, title, helpbox, icon }) => {\n return (\n \n \n {title}\n {children}\n \n\n {helpbox}\n \n );\n};\n\nexport default FormLayout;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { HelpIconFilled, IAMPoliciesIcon } from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n \n \n \n }\n description={`Create Policies`}\n />\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user has\n access. Each policy describes one or more actions and conditions\n that outline the permissions of a user or group of users.{\" \"}\n \n \n \n MinIO PBAC is built for compatibility with AWS IAM policy syntax,\n structure, and behavior.\n \n \n Each user can access only those resources and operations which are\n explicitly granted by the built-in role. MinIO denies access to any\n other resource or action by default.\n \n \n \n );\n};\n\nexport default AddPolicyHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../../src/history\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddPolicyHelpBox from \"./AddPolicyHelpBox\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport { useDispatch } from \"react-redux\";\nimport { AddAccessRuleIcon } from \"../../../icons\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport FormLayout from \"../Common/FormLayout\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\n\ninterface IAddPolicyProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPolicyScreen = ({ classes }: IAddPolicyProps) => {\n const dispatch = useDispatch();\n\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n history.push(`${IAM_PAGES.POLICIES}`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validatePolicyname = (policyName: string) => {\n if (policyName.indexOf(\" \") !== -1) {\n return \"Policy name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = policyName.trim() !== \"\" && policyName.indexOf(\" \") === -1;\n\n return (\n \n \n }\n />\n \n }\n helpbox={}\n >\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(AddPolicyScreen);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","color","border","borderRight","fontSize","fontWeight","dark","darkTheme","withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","inputLabel","tooltipContainer","title","placement","item","xs","sx","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","display","alignItems","padding","paddingRight","justifyContent","width","marginLeft","onClick","text","icon","variant","children","helpbox","gap","gridTemplateColumns","md","FeatureItem","description","Box","marginRight","marginBottom","style","fontStyle","flex","borderRadius","flexFlow","paddingBottom","paddingTop","bottomContainer","flexGrow","margin","formFieldStyles","modalStyleUtils","dispatch","useDispatch","addLoading","setAddLoading","policyName","setPolicyName","policyDefinition","setPolicyDefinition","validSave","trim","indexOf","Fragment","Grid","PageHeader","BackLink","to","IAM_PAGES","PageLayout","FormLayout","noValidate","autoComplete","onSubmit","e","preventDefault","api","name","policy","then","res","history","catch","err","setErrorSnackMessage","container","spacing","marginTop","InputBoxWrapper","id","autoFocus","error","validatePolicyname","target","CodeMirrorWrapper","editor","data","textAlign","Button","type","disabled","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","self","call","assertThisInitialized"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/2080.2ddaba07.chunk.js","mappings":"yWAsDMA,EAAqC,CACzCC,KAAAA,EAAAA,GACAC,KAAM,kBAAMC,EAAAA,EAAAA,OAAsBD,EAAAA,KAG9BE,EAAaC,EAAAA,GAAAA,MACjB,CACE,IAAK,CACHC,gBAAiB,WAEnB,cAAe,CACbC,WAAY,WAEd,0BAA2B,CACzBC,gBAAiB,WAEnB,cAAe,CACbF,gBAAiB,UACjBG,MAAO,UACPC,OAAQ,QAEV,2BAA4B,CAC1BC,YAAa,qBAEf,oBAAqB,CACnBC,SAAU,QAEZ,WAAY,CACVA,SAAU,OACVH,MAAO,UACP,aAAS,CACPA,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChBH,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBG,MAAO,WAET,qBAAsB,CACpBH,gBAAiB,WAEnB,qBAAsB,CACpBO,WAAY,KAEd,2BAA4B,CAC1BP,gBAAiB,UACjBG,MAAO,YAGX,CACEK,MAAM,IAIJC,EAAYV,EAAAA,GAAAA,MAChB,CACE,IAAK,CACHC,gBAAiB,UACjBG,MAAO,WAGT,2BAA4B,CAC1BE,YAAa,qBAEf,oBAAqB,CACnBC,SAAU,QAEZ,WAAY,CACVA,SAAU,OACV,yBAAgB,CACdH,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChBH,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBG,MAAO,WAET,6CAA8C,CAC5CH,gBAAiB,UAGrB,CACEQ,MAAM,IAqHV,KAAeE,EAAAA,EAAAA,IAxNA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAsNP,EAjH0B,SAAC,GASN,IARnBC,EAQkB,EARlBA,MAQkB,IAPlBC,MAAAA,OAOkB,MAPV,GAOU,MANlBC,QAAAA,OAMkB,MANR,GAMQ,MALlBC,KAAAA,OAKkB,MALX,OAKW,EAJlBC,EAIkB,EAJlBA,QACAC,EAGkB,EAHlBA,eAGkB,IAFlBC,SAAAA,OAEkB,aADlBC,aAAAA,OACkB,MADH,QACG,EAClB,GAAsCC,EAAAA,EAAAA,WAAkB,GAAxD,eAAOC,EAAP,KAAoBC,EAApB,KAGIC,EAA6B,GAKjC,OAJI/B,EAAcuB,KAChBQ,EAAa,kBAAOA,GAAP,CAAsB/B,EAAcuB,SAIjD,UAAC,WAAD,YACE,UAAC,IAAD,CAAYS,UAAWR,EAAQS,WAA/B,WACE,0BAAOZ,IACM,KAAZC,IACC,gBAAKU,UAAWR,EAAQU,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOb,EAASc,UAAU,YAAnC,UACE,gBAAKJ,UAAWR,EAAQF,QAAxB,UACE,SAAC,IAAD,cAMV,SAAC,KAAD,CAAMe,MAAI,EAACC,GAAI,GAAf,UACE,qBAGF,UAAC,KAAD,CACED,MAAI,EACJC,GAAI,GACJC,GAAI,CACF7B,OAAQ,qBAJZ,WAOE,SAAC,KAAD,CAAM2B,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,KAAD,CACElB,MAAOA,EACPH,MAAOY,EAAcd,EAAYX,EACjCoC,WAAYT,EACZU,UAAWf,EACXgB,YAAY,EACZC,OAAQhB,EACRiB,SAAU,SAACC,EAAWC,GACpBrB,EAAe,KAAM,KAAMoB,SAIjC,SAAC,KAAD,CACER,MAAI,EACJC,GAAI,GACJC,GAAI,CACFQ,UAAW,oBACXC,WAAYnB,EAAc,UAAY,WAL1C,UAQE,UAAC,IAAD,CACEG,UAAWH,EAAc,aAAe,GACxCU,GAAI,CACFU,QAAS,OACTC,WAAY,SACZC,QAAS,MACTC,aAAc,MACdC,eAAgB,WAChB,WAAY,CACVV,OAAQ,OACRW,MAAO,OACPH,QAAS,MACT,aAAc,CACZI,WAAY,MAIhB,sBAAuB,CACrBP,WAAY,YAlBlB,WAsBE,SAAC,IAAD,CACE1B,QAAS,eACTkC,QAAS,WACP1B,GAAgBD,IAElB4B,KAAM,GACNC,MAAM,SAAC,MAAD,IACNjD,MAAO,UACPkD,QAAS,cAEX,SAAC,IAAD,CAAiBF,KAAMrC,EAAvB,UACE,SAAC,IAAD,CACEE,QAAS,oBACTkC,QAAS,aACTC,KAAM,GACNC,MAAM,SAAC,MAAD,IACNjD,MAAO,UACPkD,QAAS,8B,oEC5MzB,IAxBoC,SAAC,GAAwC,IAAtCC,EAAqC,EAArCA,SAAUzB,EAA2B,EAA3BA,MAAO0B,EAAoB,EAApBA,QAASH,EAAW,EAAXA,KAC/D,OACE,UAAC,IAAD,CACEnB,GAAI,CACFU,QAAS,OACTE,QAAS,OACTW,IAAK,OACLC,oBAAqB,CACnBC,GAAI,YACJ1B,GAAI,OAEN5B,OAAQ,qBATZ,WAYE,UAAC,IAAD,YACE,SAAC,IAAD,CAAcgD,KAAMA,EAApB,SAA2BvB,IAC1ByB,KAGFC,O,2OC3BDI,EAAc,SAAC,GAMd,IALLP,EAKI,EALJA,KACAQ,EAII,EAJJA,YAKA,OACE,UAACC,EAAA,EAAD,CACE5B,GAAI,CACFU,QAAS,OACT,cAAe,CACbmB,YAAa,OACbzB,OAAQ,OACRW,MAAO,OACPe,aAAc,SAPpB,UAWGX,EAAM,KACP,gBAAKY,MAAO,CAAE1D,SAAU,OAAQ2D,UAAW,SAAU9D,MAAO,WAA5D,SACGyD,QAgET,EA1DyB,WACvB,OACE,UAACC,EAAA,EAAD,CACE5B,GAAI,CACFiC,KAAM,EACN9D,OAAQ,oBACR+D,aAAc,MACdxB,QAAS,OACTyB,SAAU,SACVvB,QAAS,QAPb,WAUE,UAACgB,EAAA,EAAD,CACE5B,GAAI,CACF3B,SAAU,OACVC,WAAY,IACZoC,QAAS,OACTC,WAAY,SACZmB,aAAc,OACdM,cAAe,OAEf,cAAe,CACbhC,OAAQ,OACRW,MAAO,OACPc,YAAa,SAZnB,WAgBE,SAAC,MAAD,KACA,2DAEF,UAACD,EAAA,EAAD,CAAK5B,GAAI,CAAE3B,SAAU,OAAQyD,aAAc,QAA3C,WACE,UAACF,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,WACE,SAACV,EAAD,CACEP,MAAM,SAAC,MAAD,IACNQ,YAAW,qBAEb,UAACC,EAAA,EAAD,CAAK5B,GAAI,CAAEqC,WAAY,QAAvB,uQAI4D,WAG9D,SAACT,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,yGAIA,SAACR,EAAA,EAAD,CAAK5B,GAAI,CAAEoC,cAAe,QAA1B,gM,6EC4FR,GAAe3D,EAAAA,EAAAA,IA7IA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX2D,gBAAiB,CACf5B,QAAS,OACT6B,SAAU,EACV5B,WAAY,SACZ6B,OAAQ,OACR1B,eAAgB,SAChB,QAAS,CACPC,MAAO,IACP,4BAA6B,CAC3BoB,SAAU,aAIbM,EAAAA,IACAC,EAAAA,OA6HP,EA1HwB,SAAC,GAAiC,EAA/BzD,QAAgC,IACnD0D,GAAWC,EAAAA,EAAAA,MAEjB,GAAoCvD,EAAAA,EAAAA,WAAkB,GAAtD,eAAOwD,EAAP,KAAmBC,EAAnB,KACA,GAAoCzD,EAAAA,EAAAA,UAAiB,IAArD,eAAO0D,EAAP,KAAmBC,EAAnB,KACA,GAAgD3D,EAAAA,EAAAA,UAAiB,IAAjE,eAAO4D,EAAP,KAAyBC,EAAzB,KAkCMC,EAAkC,KAAtBJ,EAAWK,SAA8C,IAA7BL,EAAWM,QAAQ,KAEjE,OACE,SAAC,EAAAC,SAAD,WACE,UAACC,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,WACE,SAACyD,EAAA,EAAD,CACE1E,OAAO,SAAC2E,EAAA,EAAD,CAAUC,GAAIC,EAAAA,GAAAA,SAAoB7E,MAAO,gBAElD,SAAC8E,EAAA,EAAD,WACE,SAACC,EAAA,EAAD,CACEjE,MAAO,gBACPuB,MAAM,SAAC,MAAD,IACNG,SAAS,SAAC,EAAD,IAHX,UAKE,iBACEwC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,GACCA,EAjDhBC,iBACFrB,IAGJC,GAAc,GACdqB,EAAAA,EAAAA,OACU,OAAQ,mBAAoB,CAClCC,KAAMrB,EACNsB,OAAQpB,IAETqB,MAAK,SAACC,GACLzB,GAAc,GACd0B,EAAAA,EAAAA,KAAA,UAAgBb,EAAAA,GAAAA,cAEjBc,OAAM,SAACC,GACN5B,GAAc,GACdH,GAASgC,EAAAA,EAAAA,IAAqBD,SA6B1B,UAOE,UAACnB,EAAA,GAAD,CAAMqB,WAAS,EAAC9E,MAAI,EAAC+E,QAAS,EAAGC,UAAW,MAA5C,WACE,SAACvB,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgF,EAAA,EAAD,CACEC,GAAG,cACHZ,KAAK,cACLtF,MAAM,cACNmG,WAAW,EACXpG,MAAOkE,EACPmC,MAnCS,SAACnC,GAC1B,OAAiC,IAA7BA,EAAWM,QAAQ,KACd,oCACK,GAgCS8B,CAAmBpC,GAC1B1C,SAAU,SAAC4D,GACTjB,EAAciB,EAAEmB,OAAOvG,aAI7B,SAAC0E,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAf,UACE,SAACsF,EAAA,EAAD,CACEvG,MAAO,eACPD,MAAOoE,EACP/D,eAAgB,SAACoG,EAAQC,EAAM1G,GAC7BqE,EAAoBrE,IAEtBO,aAAc,aAGlB,SAACmE,EAAA,GAAD,CAAMzD,MAAI,EAACC,GAAI,GAAIyF,UAAW,QAA9B,UACE,UAAC5D,EAAA,EAAD,CACE5B,GAAI,CACFU,QAAS,OACTC,WAAY,SACZG,eAAgB,WAChBgE,UAAW,OACXvD,IAAK,QANT,WASE,SAACkE,EAAA,EAAD,CACEC,KAAK,SACLtE,QAAQ,WACRlD,MAAM,UACN+C,QAtEF,WAChB+B,EAAc,IACdE,EAAoB,KAgEJ,oBASA,SAACuC,EAAA,EAAD,CACEC,KAAK,SACLtE,QAAQ,YACRlD,MAAM,UACNyH,SAAU9C,IAAeM,EAJ3B,yC,sBCvKL,SAASyC,EAAgBC,GAItC,OAHAD,EAAkBE,OAAOC,eAAiBD,OAAOE,eAAiB,SAAyBH,GACzF,OAAOA,EAAEI,WAAaH,OAAOE,eAAeH,IAEvCD,EAAgBC,G,sGCHV,SAASK,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIC,UAAU,sDAGtBF,EAASG,UAAYR,OAAOS,OAAOH,GAAcA,EAAWE,UAAW,CACrEE,YAAa,CACX3H,MAAOsH,EACPM,UAAU,EACVC,cAAc,KAGlBZ,OAAOa,eAAeR,EAAU,YAAa,CAC3CM,UAAU,IAERL,IAAY,OAAeD,EAAUC,K,qBChB5B,SAASQ,EAAQC,GAG9B,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIL,cAAgBM,QAAUD,IAAQC,OAAOR,UAAY,gBAAkBO,GACvHD,EAAQC,G,+CCLE,SAASG,EAA2BC,EAAMC,GACvD,GAAIA,IAA2B,WAAlBN,EAAQM,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIb,UAAU,4DAGtB,OAAO,EAAAc,EAAA,GAAsBF","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormLayout.tsx","screens/Console/Policies/AddPolicyHelpBox.tsx","screens/Console/Policies/AddPolicyScreen.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport SectionTitle from \"./SectionTitle\";\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n helpbox?: React.ReactNode;\n children: React.ReactNode;\n};\n\nconst FormLayout: React.FC = ({ children, title, helpbox, icon }) => {\n return (\n \n \n {title}\n {children}\n \n\n {helpbox}\n \n );\n};\n\nexport default FormLayout;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { HelpIconFilled, IAMPoliciesIcon } from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n \n \n \n }\n description={`Create Policies`}\n />\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user has\n access. Each policy describes one or more actions and conditions\n that outline the permissions of a user or group of users.{\" \"}\n \n \n \n MinIO PBAC is built for compatibility with AWS IAM policy syntax,\n structure, and behavior.\n \n \n Each user can access only those resources and operations which are\n explicitly granted by the built-in role. MinIO denies access to any\n other resource or action by default.\n \n \n \n );\n};\n\nexport default AddPolicyHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../../src/history\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddPolicyHelpBox from \"./AddPolicyHelpBox\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport { useDispatch } from \"react-redux\";\nimport { AddAccessRuleIcon } from \"../../../icons\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport FormLayout from \"../Common/FormLayout\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\n\ninterface IAddPolicyProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPolicyScreen = ({ classes }: IAddPolicyProps) => {\n const dispatch = useDispatch();\n\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n history.push(`${IAM_PAGES.POLICIES}`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validatePolicyname = (policyName: string) => {\n if (policyName.indexOf(\" \") !== -1) {\n return \"Policy name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = policyName.trim() !== \"\" && policyName.indexOf(\" \") === -1;\n\n return (\n \n \n }\n />\n \n }\n helpbox={}\n >\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(AddPolicyScreen);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","color","border","borderRight","fontSize","fontWeight","dark","darkTheme","withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","inputLabel","tooltipContainer","title","placement","item","xs","sx","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","display","alignItems","padding","paddingRight","justifyContent","width","marginLeft","onClick","text","icon","variant","children","helpbox","gap","gridTemplateColumns","md","FeatureItem","description","Box","marginRight","marginBottom","style","fontStyle","flex","borderRadius","flexFlow","paddingBottom","paddingTop","bottomContainer","flexGrow","margin","formFieldStyles","modalStyleUtils","dispatch","useDispatch","addLoading","setAddLoading","policyName","setPolicyName","policyDefinition","setPolicyDefinition","validSave","trim","indexOf","Fragment","Grid","PageHeader","BackLink","to","IAM_PAGES","PageLayout","FormLayout","noValidate","autoComplete","onSubmit","e","preventDefault","api","name","policy","then","res","history","catch","err","setErrorSnackMessage","container","spacing","marginTop","InputBoxWrapper","id","autoFocus","error","validatePolicyname","target","CodeMirrorWrapper","editor","data","textAlign","Button","type","disabled","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","self","call","assertThisInitialized"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2180.50fad27b.chunk.js b/portal-ui/build/static/js/2180.50fad27b.chunk.js
deleted file mode 100644
index f46817d9e..000000000
--- a/portal-ui/build/static/js/2180.50fad27b.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2180],{47494:function(e,t,n){"use strict";n.r(t);var o=n(29439),c=n(1413),r=n(72791),i=n(60364),a=n(11135),s=n(25787),l=n(10703),u=n(92983),d=n(81207),f=n(47919),p=n(61889),m=n(23814),h=n(56087),Z=n(60680),v=n(38442),k=n(75578),b=n(40603),x=n(87995),C=n(80184),j=(0,k.Z)(r.lazy((function(){return n.e(4619).then(n.bind(n,94619))}))),S=(0,k.Z)(r.lazy((function(){return n.e(8990).then(n.bind(n,8990))}))),_=(0,k.Z)(r.lazy((function(){return n.e(8455).then(n.bind(n,58455))}))),g=(0,i.$j)((function(e){return{session:e.console.session,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),null);t.default=(0,s.Z)((function(e){return(0,a.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)({"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}},m.VX),m.OR),m.qg),m.cx),(0,m.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.match,c=e.loadingBucket,a=(e.bucketInfo,(0,i.I0)()),s=(0,r.useState)(!0),m=(0,o.Z)(s,2),k=m[0],g=m[1],z=(0,r.useState)([]),E=(0,o.Z)(z,2),I=E[0],B=E[1],F=(0,r.useState)(!1),P=(0,o.Z)(F,2),y=P[0],w=P[1],T=(0,r.useState)(!1),O=(0,o.Z)(T,2),L=O[0],A=O[1],R=(0,r.useState)(""),U=(0,o.Z)(R,2),V=U[0],H=U[1],K=(0,r.useState)(!1),M=(0,o.Z)(K,2),D=M[0],Y=M[1],N=(0,r.useState)(""),G=(0,o.Z)(N,2),q=G[0],X=G[1],$=(0,r.useState)(""),J=(0,o.Z)($,2),Q=J[0],W=J[1],ee=n.params.bucketName,te=(0,v.F)(ee,[h.Ft.S3_GET_BUCKET_POLICY]),ne=(0,v.F)(ee,[h.Ft.S3_DELETE_BUCKET_POLICY]),oe=(0,v.F)(ee,[h.Ft.S3_PUT_BUCKET_POLICY]);(0,r.useEffect)((function(){c&&g(!0)}),[c,g]);var ce=[{type:"delete",disableButtonFunction:function(){return!ne},onClick:function(e){A(!0),H(e.prefix)}},{type:"view",disableButtonFunction:function(){return!oe},onClick:function(e){X(e.prefix),W(e.access),Y(!0)}}];(0,r.useEffect)((function(){k&&(te?d.Z.invoke("GET","/api/v1/bucket/".concat(ee,"/access-rules")).then((function(e){B(e.accessRules),g(!1)})).catch((function(e){a((0,x.Ih)(e)),g(!1)})):g(!1))}),[k,a,te,ee]);return(0,C.jsxs)(r.Fragment,{children:[y&&(0,C.jsx)(j,{modalOpen:y,onClose:function(){w(!1),g(!0)},bucket:ee}),L&&(0,C.jsx)(S,{modalOpen:L,onClose:function(){A(!1),g(!0)},bucket:ee,toDelete:V}),D&&(0,C.jsx)(_,{modalOpen:D,onClose:function(){Y(!1),g(!0)},bucket:ee,toEdit:q,initial:Q}),(0,C.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,C.jsx)(Z.Z,{children:"Access Rules"}),(0,C.jsx)(v.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY,h.Ft.S3_PUT_BUCKET_POLICY],resource:ee,matchAll:!0,errorProps:{disabled:!0},children:(0,C.jsx)(b.Z,{tooltip:"Add Access Rule",onClick:function(){w(!0)},text:"Add Access Rule",icon:(0,C.jsx)(f.Z,{}),color:"primary",variant:"contained"})})]}),(0,C.jsx)(l.Z,{className:t.tableBlock,children:(0,C.jsx)(v.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:ee,errorProps:{disabled:!0},children:(0,C.jsx)(u.Z,{noBackground:!0,itemActions:ce,columns:[{label:"Prefix",elementKey:"prefix"},{label:"Access",elementKey:"access"}],isLoading:k,records:I,entityName:"Access Rules",idField:"prefix"})})})]})})))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),c=n(25787),r=n(80184);t.Z=(0,c.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=i},70366:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=i},97911:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=i},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return z}});var o=n(4942),c=n(63366),r=n(87462),i=n(72791),a=n(90767),s=n(12065),l=n(97278),u=n(76189),d=n(80184),f=(0,u.Z)((0,d.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),p=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),m=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),h=n(14036),Z=n(93736),v=n(47630),k=n(95159);function b(e){return(0,k.Z)("MuiCheckbox",e)}var x=(0,n(30208).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),C=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],j=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,c=e.ownerState;return(0,r.Z)({color:n.palette.text.secondary},!c.disableRipple&&{"&:hover":{backgroundColor:(0,s.Fq)("default"===c.color?n.palette.action.active:n.palette[c.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==c.color&&(t={},(0,o.Z)(t,"&.".concat(x.checked,", &.").concat(x.indeterminate),{color:n.palette[c.color].main}),(0,o.Z)(t,"&.".concat(x.disabled),{color:n.palette.action.disabled}),t))})),S=(0,d.jsx)(p,{}),_=(0,d.jsx)(f,{}),g=(0,d.jsx)(m,{}),z=i.forwardRef((function(e,t){var n,o,s=(0,Z.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,u=void 0===l?S:l,f=s.color,p=void 0===f?"primary":f,m=s.icon,v=void 0===m?_:m,k=s.indeterminate,x=void 0!==k&&k,z=s.indeterminateIcon,E=void 0===z?g:z,I=s.inputProps,B=s.size,F=void 0===B?"medium":B,P=(0,c.Z)(s,C),y=x?E:v,w=x?E:u,T=(0,r.Z)({},s,{color:p,indeterminate:x,size:F}),O=function(e){var t=e.classes,n=e.indeterminate,o=e.color,c={root:["root",n&&"indeterminate","color".concat((0,h.Z)(o))]},i=(0,a.Z)(c,b,t);return(0,r.Z)({},t,i)}(T);return(0,d.jsx)(j,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":x},I),icon:i.cloneElement(y,{fontSize:null!=(n=y.props.fontSize)?n:F}),checkedIcon:i.cloneElement(w,{fontSize:null!=(o=w.props.fontSize)?o:F}),ownerState:T,ref:t},P,{classes:O}))}))},26769:function(e,t,n){var o=n(39066),c=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!c(e)&&r(e)&&"[object String]"==o(e)}}}]);
-//# sourceMappingURL=2180.50fad27b.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2180.50fad27b.chunk.js.map b/portal-ui/build/static/js/2180.50fad27b.chunk.js.map
deleted file mode 100644
index 6d64ebefd..000000000
--- a/portal-ui/build/static/js/2180.50fad27b.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2180.50fad27b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport { AppState } from \"../../../../store\";\nimport { ISessionResponse } from \"../../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { BucketInfo } from \"../types\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\nconst AddAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./AddAccessRule\"))\n);\nconst DeleteAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./DeleteAccessRule\"))\n);\nconst EditAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./EditAccessRule\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, null);\n\ninterface IAccessRuleProps {\n session: ISessionResponse;\n classes: any;\n match: any;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n}\n\nconst AccessRule = ({\n classes,\n match,\n loadingBucket,\n bucketInfo,\n}: IAccessRuleProps) => {\n const dispatch = useDispatch();\n const [loadingAccessRules, setLoadingAccessRules] = useState(true);\n const [accessRules, setAccessRules] = useState([]);\n const [addAccessRuleOpen, setAddAccessRuleOpen] = useState(false);\n const [deleteAccessRuleOpen, setDeleteAccessRuleOpen] =\n useState(false);\n const [accessRuleToDelete, setAccessRuleToDelete] = useState(\"\");\n const [editAccessRuleOpen, setEditAccessRuleOpen] = useState(false);\n const [accessRuleToEdit, setAccessRuleToEdit] = useState(\"\");\n const [initialAccess, setInitialAccess] = useState(\"\");\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]);\n\n const deleteAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const editAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingAccessRules(true);\n }\n }, [loadingBucket, setLoadingAccessRules]);\n\n const AccessRuleActions = [\n {\n type: \"delete\",\n disableButtonFunction: () => !deleteAccessRules,\n onClick: (accessRule: any) => {\n setDeleteAccessRuleOpen(true);\n setAccessRuleToDelete(accessRule.prefix);\n },\n },\n {\n type: \"view\",\n disableButtonFunction: () => !editAccessRules,\n onClick: (accessRule: any) => {\n setAccessRuleToEdit(accessRule.prefix);\n setInitialAccess(accessRule.access);\n setEditAccessRuleOpen(true);\n },\n },\n ];\n\n useEffect(() => {\n if (loadingAccessRules) {\n if (displayAccessRules) {\n api\n .invoke(\"GET\", `/api/v1/bucket/${bucketName}/access-rules`)\n .then((res: any) => {\n setAccessRules(res.accessRules);\n setLoadingAccessRules(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingAccessRules(false);\n });\n } else {\n setLoadingAccessRules(false);\n }\n }\n }, [loadingAccessRules, dispatch, displayAccessRules, bucketName]);\n\n const closeAddAccessRuleModal = () => {\n setAddAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeDeleteAccessRuleModal = () => {\n setDeleteAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeEditAccessRuleModal = () => {\n setEditAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n return (\n \n {addAccessRuleOpen && (\n \n )}\n {deleteAccessRuleOpen && (\n \n )}\n {editAccessRuleOpen && (\n \n )}\n \n Access Rules\n \n {\n setAddAccessRuleOpen(true);\n }}\n text={\"Add Access Rule\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(connector(AccessRule));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return
{children}
;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: theme.palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["AddAccessRuleModal","withSuspense","React","DeleteAccessRuleModal","EditAccessRuleModal","connector","connect","state","session","console","loadingBucket","buckets","bucketDetails","bucketInfo","withStyles","theme","createStyles","backgroundImage","tableStyles","actionsTray","searchField","objectBrowserCommon","containerForHeader","spacing","classes","match","dispatch","useDispatch","useState","loadingAccessRules","setLoadingAccessRules","accessRules","setAccessRules","addAccessRuleOpen","setAddAccessRuleOpen","deleteAccessRuleOpen","setDeleteAccessRuleOpen","accessRuleToDelete","setAccessRuleToDelete","editAccessRuleOpen","setEditAccessRuleOpen","accessRuleToEdit","setAccessRuleToEdit","initialAccess","setInitialAccess","bucketName","params","displayAccessRules","hasPermission","IAM_SCOPES","deleteAccessRules","editAccessRules","useEffect","AccessRuleActions","type","disableButtonFunction","onClick","accessRule","prefix","access","api","then","res","catch","err","setErrorSnackMessage","Fragment","modalOpen","onClose","bucket","toDelete","toEdit","initial","item","xs","className","scopes","resource","matchAll","errorProps","disabled","tooltip","text","icon","color","variant","tableBlock","noBackground","itemActions","columns","label","elementKey","isLoading","records","entityName","idField","root","padding","margin","fontSize","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","capitalize","_extends","palette","secondary","disableRipple","backgroundColor","alpha","action","active","main","hoverOpacity","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2180.63708ff1.chunk.js b/portal-ui/build/static/js/2180.63708ff1.chunk.js
new file mode 100644
index 000000000..081818584
--- /dev/null
+++ b/portal-ui/build/static/js/2180.63708ff1.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2180],{47494:function(e,t,n){"use strict";n.r(t);var o=n(29439),c=n(1413),r=n(72791),i=n(60364),a=n(11135),s=n(10703),l=n(92983),u=n(81207),d=n(47919),f=n(61889),p=n(23814),m=n(56087),h=n(60680),Z=n(38442),v=n(75578),x=n(40603),b=n(87995),k=n(72455),C=n(9859),j=n(80184),S=(0,v.Z)(r.lazy((function(){return n.e(4619).then(n.bind(n,94619))}))),_=(0,v.Z)(r.lazy((function(){return n.e(8990).then(n.bind(n,8990))}))),z=(0,v.Z)(r.lazy((function(){return n.e(8455).then(n.bind(n,58455))}))),g=(0,k.Z)((function(e){return(0,a.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)({"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}},p.VX),p.OR),p.qg),p.cx),(0,p.Bz)(e.spacing(4))))}));t.default=function(e){var t=e.match,n=(0,i.I0)(),c=g(),a=(0,i.v9)(C.HQ),p=(0,r.useState)(!0),v=(0,o.Z)(p,2),k=v[0],E=v[1],F=(0,r.useState)([]),P=(0,o.Z)(F,2),y=P[0],I=P[1],B=(0,r.useState)(!1),w=(0,o.Z)(B,2),T=w[0],O=w[1],L=(0,r.useState)(!1),A=(0,o.Z)(L,2),R=A[0],H=A[1],U=(0,r.useState)(""),V=(0,o.Z)(U,2),K=V[0],M=V[1],Y=(0,r.useState)(!1),D=(0,o.Z)(Y,2),N=D[0],G=D[1],q=(0,r.useState)(""),Q=(0,o.Z)(q,2),X=Q[0],J=Q[1],W=(0,r.useState)(""),$=(0,o.Z)(W,2),ee=$[0],te=$[1],ne=t.params.bucketName,oe=(0,Z.F)(ne,[m.Ft.S3_GET_BUCKET_POLICY]),ce=(0,Z.F)(ne,[m.Ft.S3_DELETE_BUCKET_POLICY]),re=(0,Z.F)(ne,[m.Ft.S3_PUT_BUCKET_POLICY]);(0,r.useEffect)((function(){a&&E(!0)}),[a,E]);var ie=[{type:"delete",disableButtonFunction:function(){return!ce},onClick:function(e){H(!0),M(e.prefix)}},{type:"view",disableButtonFunction:function(){return!re},onClick:function(e){J(e.prefix),te(e.access),G(!0)}}];(0,r.useEffect)((function(){k&&(oe?u.Z.invoke("GET","/api/v1/bucket/".concat(ne,"/access-rules")).then((function(e){I(e.accessRules),E(!1)})).catch((function(e){n((0,b.Ih)(e)),E(!1)})):E(!1))}),[k,n,oe,ne]);return(0,j.jsxs)(r.Fragment,{children:[T&&(0,j.jsx)(S,{modalOpen:T,onClose:function(){O(!1),E(!0)},bucket:ne}),R&&(0,j.jsx)(_,{modalOpen:R,onClose:function(){H(!1),E(!0)},bucket:ne,toDelete:K}),N&&(0,j.jsx)(z,{modalOpen:N,onClose:function(){G(!1),E(!0)},bucket:ne,toEdit:X,initial:ee}),(0,j.jsxs)(f.ZP,{item:!0,xs:12,className:c.actionsTray,children:[(0,j.jsx)(h.Z,{children:"Access Rules"}),(0,j.jsx)(Z.s,{scopes:[m.Ft.S3_GET_BUCKET_POLICY,m.Ft.S3_PUT_BUCKET_POLICY],resource:ne,matchAll:!0,errorProps:{disabled:!0},children:(0,j.jsx)(x.Z,{tooltip:"Add Access Rule",onClick:function(){O(!0)},text:"Add Access Rule",icon:(0,j.jsx)(d.Z,{}),color:"primary",variant:"contained"})})]}),(0,j.jsx)(s.Z,{className:c.tableBlock,children:(0,j.jsx)(Z.s,{scopes:[m.Ft.S3_GET_BUCKET_POLICY],resource:ne,errorProps:{disabled:!0},children:(0,j.jsx)(l.Z,{noBackground:!0,itemActions:ie,columns:[{label:"Prefix",elementKey:"prefix"},{label:"Access",elementKey:"access"}],isLoading:k,records:y,entityName:"Access Rules",idField:"prefix"})})})]})}},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),c=n(25787),r=n(80184);t.Z=(0,c.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=i},70366:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=i},97911:function(e,t,n){"use strict";var o=n(95318);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=i},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var o=n(4942),c=n(63366),r=n(87462),i=n(72791),a=n(90767),s=n(12065),l=n(97278),u=n(76189),d=n(80184),f=(0,u.Z)((0,d.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),p=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),m=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),h=n(14036),Z=n(93736),v=n(47630),x=n(95159);function b(e){return(0,x.Z)("MuiCheckbox",e)}var k=(0,n(30208).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),C=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],j=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,c=e.ownerState;return(0,r.Z)({color:n.palette.text.secondary},!c.disableRipple&&{"&:hover":{backgroundColor:(0,s.Fq)("default"===c.color?n.palette.action.active:n.palette[c.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==c.color&&(t={},(0,o.Z)(t,"&.".concat(k.checked,", &.").concat(k.indeterminate),{color:n.palette[c.color].main}),(0,o.Z)(t,"&.".concat(k.disabled),{color:n.palette.action.disabled}),t))})),S=(0,d.jsx)(p,{}),_=(0,d.jsx)(f,{}),z=(0,d.jsx)(m,{}),g=i.forwardRef((function(e,t){var n,o,s=(0,Z.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,u=void 0===l?S:l,f=s.color,p=void 0===f?"primary":f,m=s.icon,v=void 0===m?_:m,x=s.indeterminate,k=void 0!==x&&x,g=s.indeterminateIcon,E=void 0===g?z:g,F=s.inputProps,P=s.size,y=void 0===P?"medium":P,I=(0,c.Z)(s,C),B=k?E:v,w=k?E:u,T=(0,r.Z)({},s,{color:p,indeterminate:k,size:y}),O=function(e){var t=e.classes,n=e.indeterminate,o=e.color,c={root:["root",n&&"indeterminate","color".concat((0,h.Z)(o))]},i=(0,a.Z)(c,b,t);return(0,r.Z)({},t,i)}(T);return(0,d.jsx)(j,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":k},F),icon:i.cloneElement(B,{fontSize:null!=(n=B.props.fontSize)?n:y}),checkedIcon:i.cloneElement(w,{fontSize:null!=(o=w.props.fontSize)?o:y}),ownerState:T,ref:t},I,{classes:O}))}))},26769:function(e,t,n){var o=n(39066),c=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!c(e)&&r(e)&&"[object String]"==o(e)}}}]);
+//# sourceMappingURL=2180.63708ff1.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2180.63708ff1.chunk.js.map b/portal-ui/build/static/js/2180.63708ff1.chunk.js.map
new file mode 100644
index 000000000..5bbaf185a
--- /dev/null
+++ b/portal-ui/build/static/js/2180.63708ff1.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/2180.63708ff1.chunk.js","mappings":"kVA+CMA,GAAqBC,EAAAA,EAAAA,GACzBC,EAAAA,MAAW,kBAAM,oCAEbC,GAAwBF,EAAAA,EAAAA,GAC5BC,EAAAA,MAAW,kBAAM,mCAEbE,GAAsBH,EAAAA,EAAAA,GAC1BC,EAAAA,MAAW,kBAAM,oCAGbG,GAAYC,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,wCACX,UAAW,CACT,+BAAgC,CAC9BC,gBAAiB,mCAEnB,iCAAkC,CAChCA,gBAAiB,uCAGlBC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,KACAC,EAAAA,EAAAA,IAAmBP,EAAMQ,QAAQ,SA2KxC,UAnKmB,SAAC,GAAiC,IAA/BC,EAA8B,EAA9BA,MACdC,GAAWC,EAAAA,EAAAA,MACXC,EAAUd,IAEVe,GAAgBC,EAAAA,EAAAA,IAAYC,EAAAA,IAElC,GAAoDC,EAAAA,EAAAA,WAAkB,GAAtE,eAAOC,EAAP,KAA2BC,EAA3B,KACA,GAAsCF,EAAAA,EAAAA,UAAS,IAA/C,eAAOG,EAAP,KAAoBC,EAApB,KACA,GAAkDJ,EAAAA,EAAAA,WAAkB,GAApE,eAAOK,EAAP,KAA0BC,EAA1B,KACA,GACEN,EAAAA,EAAAA,WAAkB,GADpB,eAAOO,EAAP,KAA6BC,EAA7B,KAEA,GAAoDR,EAAAA,EAAAA,UAAiB,IAArE,eAAOS,EAAP,KAA2BC,EAA3B,KACA,GAAoDV,EAAAA,EAAAA,WAAkB,GAAtE,eAAOW,EAAP,KAA2BC,EAA3B,KACA,GAAgDZ,EAAAA,EAAAA,UAAiB,IAAjE,eAAOa,EAAP,KAAyBC,EAAzB,KACA,GAA0Cd,EAAAA,EAAAA,UAAiB,IAA3D,eAAOe,GAAP,KAAsBC,GAAtB,KAEMC,GAAaxB,EAAMyB,OAAN,WAEbC,IAAqBC,EAAAA,EAAAA,GAAcH,GAAY,CACnDI,EAAAA,GAAAA,uBAGIC,IAAoBF,EAAAA,EAAAA,GAAcH,GAAY,CAClDI,EAAAA,GAAAA,0BAGIE,IAAkBH,EAAAA,EAAAA,GAAcH,GAAY,CAChDI,EAAAA,GAAAA,wBAGFG,EAAAA,EAAAA,YAAU,WACJ3B,GACFK,GAAsB,KAEvB,CAACL,EAAeK,IAEnB,IAAMuB,GAAoB,CACxB,CACEC,KAAM,SACNC,sBAAuB,kBAAOL,IAC9BM,QAAS,SAACC,GACRrB,GAAwB,GACxBE,EAAsBmB,EAAWC,UAGrC,CACEJ,KAAM,OACNC,sBAAuB,kBAAOJ,IAC9BK,QAAS,SAACC,GACRf,EAAoBe,EAAWC,QAC/Bd,GAAiBa,EAAWE,QAC5BnB,GAAsB,OAK5BY,EAAAA,EAAAA,YAAU,WACJvB,IACEkB,GACFa,EAAAA,EAAAA,OACU,MADV,yBACmCf,GADnC,kBAEGgB,MAAK,SAACC,GACL9B,EAAe8B,EAAI/B,aACnBD,GAAsB,MAEvBiC,OAAM,SAACC,GACN1C,GAAS2C,EAAAA,EAAAA,IAAqBD,IAC9BlC,GAAsB,MAG1BA,GAAsB,MAGzB,CAACD,EAAoBP,EAAUyB,GAAoBF,KAiBtD,OACE,UAAC,EAAAqB,SAAD,WACGjC,IACC,SAAC5B,EAAD,CACE8D,UAAWlC,EACXmC,QApBwB,WAC9BlC,GAAqB,GACrBJ,GAAsB,IAmBhBuC,OAAQxB,KAGXV,IACC,SAAC3B,EAAD,CACE2D,UAAWhC,EACXiC,QAtB2B,WACjChC,GAAwB,GACxBN,GAAsB,IAqBhBuC,OAAQxB,GACRyB,SAAUjC,IAGbE,IACC,SAAC9B,EAAD,CACE0D,UAAW5B,EACX6B,QAzByB,WAC/B5B,GAAsB,GACtBV,GAAsB,IAwBhBuC,OAAQxB,GACR0B,OAAQ9B,EACR+B,QAAS7B,MAGb,UAAC,KAAD,CAAM8B,MAAI,EAACC,GAAI,GAAIC,UAAWnD,EAAQR,YAAtC,WACE,SAAC,IAAD,4BACA,SAAC,IAAD,CACE4D,OAAQ,CACN3B,EAAAA,GAAAA,qBACAA,EAAAA,GAAAA,sBAEF4B,SAAUhC,GACViC,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAP1B,UASE,SAAC,IAAD,CACEC,QAAS,kBACTzB,QAAS,WACPtB,GAAqB,IAEvBgD,KAAM,kBACNC,MAAM,SAAC,IAAD,IACNC,MAAM,UACNC,QAAS,oBAIf,SAAC,IAAD,CAAOV,UAAWnD,EAAQ8D,WAA1B,UACE,SAAC,IAAD,CACEV,OAAQ,CAAC3B,EAAAA,GAAAA,sBACT4B,SAAUhC,GACVkC,WAAY,CAAEC,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEO,cAAc,EACdC,YAAanC,GACboC,QAAS,CACP,CAAEC,MAAO,SAAUC,WAAY,UAC/B,CAAED,MAAO,SAAUC,WAAY,WAEjCC,UAAW/D,EACXgE,QAAS9D,EACT+D,WAAW,eACXC,QAAQ,oB,iFClMpB,KAAeC,EAAAA,EAAAA,IAlBA,SAACpF,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXoF,KAAM,CACJC,QAAS,EACTC,OAAQ,EACRC,SAAU,aAahB,EAJmB,SAAC,GAAwC,IAAtC5E,EAAqC,EAArCA,QAAS6E,EAA4B,EAA5BA,SAC7B,OAAO,eAAI1B,UAAWnD,EAAQyE,KAAvB,SAA8BI,Q,uCCnCnCC,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,iBAEJN,EAAQ,EAAUG,G,uCCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,eAEJN,EAAQ,EAAUG,G,uCCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sEACD,cAEJN,EAAQ,EAAUG,G,yKCVlB,GAAeI,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,+FACD,wBCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,wIACD,YCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,kGACD,yB,4CCRG,SAASG,EAAwBC,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,GAE7C,IACA,GADwBE,E,SAAAA,GAAuB,cAAe,CAAC,OAAQ,UAAW,WAAY,gBAAiB,eAAgB,mBCFzHC,EAAY,CAAC,cAAe,QAAS,OAAQ,gBAAiB,oBAAqB,aAAc,QA6BjGC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,GAC1DE,KAAM,cACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAO9B,KAAM+B,EAAWC,eAAiBF,EAAOE,cAAoC,YAArBD,EAAW5C,OAAuB2C,EAAO,QAAD,QAASG,EAAAA,EAAAA,GAAWF,EAAW5C,YAR7HmC,EAUlB,kBACD3G,EADC,EACDA,MACAoH,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACb/C,MAAOxE,EAAMwH,QAAQlD,KAAKmD,YACxBL,EAAWM,eAAiB,CAC9B,UAAW,CACTC,iBAAiBC,EAAAA,EAAAA,IAA2B,YAArBR,EAAW5C,MAAsBxE,EAAMwH,QAAQK,OAAOC,OAAS9H,EAAMwH,QAAQJ,EAAW5C,OAAOuD,KAAM/H,EAAMwH,QAAQK,OAAOG,cAEjJ,uBAAwB,CACtBL,gBAAiB,iBAGC,YAArBP,EAAW5C,QAAX,2BACKyD,EAAAA,QADL,eACmCA,EAAAA,eAAkC,CACpEzD,MAAOxE,EAAMwH,QAAQJ,EAAW5C,OAAOuD,QAFxC,qBAIKE,EAAAA,UAA6B,CACjCzD,MAAOxE,EAAMwH,QAAQK,OAAOzD,WAL7B,OASG8D,GAAkC9B,EAAAA,EAAAA,KAAK+B,EAAc,IAErDC,GAA2BhC,EAAAA,EAAAA,KAAKiC,EAA0B,IAE1DC,GAAwClC,EAAAA,EAAAA,KAAKmC,EAA2B,IAoK9E,EAlK8B5I,EAAAA,YAAiB,SAAkB6I,EAASC,GACxE,IAAIC,EAAsBC,EAEpBzB,GAAQ0B,EAAAA,EAAAA,GAAc,CAC1B1B,MAAOsB,EACPxB,KAAM,gBAGR,EAQIE,EAPF2B,YAAAA,OADF,MACgBX,EADhB,IAQIhB,EANF1C,MAAAA,OAFF,MAEU,UAFV,IAQI0C,EALF3C,KAAMuE,OAHR,MAGmBV,EAHnB,IAQIlB,EAJFG,cAAAA,OAJF,WAQIH,EAHF6B,kBAAmBC,OALrB,MAK6CV,EAL7C,EAMEW,EAEE/B,EAFF+B,WANF,EAQI/B,EADFgC,KAAAA,OAPF,MAOS,SAPT,EASMC,GAAQC,EAAAA,EAAAA,GAA8BlC,EAAOT,GAE7ClC,EAAO8C,EAAgB2B,EAAwBF,EAC/CC,EAAoB1B,EAAgB2B,EAAwBH,EAE5DzB,GAAaG,EAAAA,EAAAA,GAAS,GAAIL,EAAO,CACrC1C,MAAAA,EACA6C,cAAAA,EACA6B,KAAAA,IAGItI,EA/EkB,SAAAwG,GACxB,IACExG,EAGEwG,EAHFxG,QACAyG,EAEED,EAFFC,cACA7C,EACE4C,EADF5C,MAEI6E,EAAQ,CACZhE,KAAM,CAAC,OAAQgC,GAAiB,gBAA1B,gBAAmDC,EAAAA,EAAAA,GAAW9C,MAEhE8E,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOhD,EAAyBzF,GACvE,OAAO2G,EAAAA,EAAAA,GAAS,GAAI3G,EAAS0I,GAqEbE,CAAkBpC,GAClC,OAAoBhB,EAAAA,EAAAA,KAAKM,GAAca,EAAAA,EAAAA,GAAS,CAC9C7E,KAAM,WACNuG,YAAY1B,EAAAA,EAAAA,GAAS,CACnB,qBAAsBF,GACrB4B,GACH1E,KAAmB5E,EAAAA,aAAmB4E,EAAM,CAC1CiB,SAA0D,OAA/CkD,EAAuBnE,EAAK2C,MAAM1B,UAAoBkD,EAAuBQ,IAE1FL,YAA0BlJ,EAAAA,aAAmBoJ,EAAmB,CAC9DvD,SAAwE,OAA7DmD,EAAwBI,EAAkB7B,MAAM1B,UAAoBmD,EAAwBO,IAEzG9B,WAAYA,EACZqB,IAAKA,GACJU,EAAO,CACRvI,QAASA,S,sBChHb,IAAI6I,EAAa9D,EAAQ,OACrB+D,EAAU/D,EAAQ,OAClBgE,EAAehE,EAAQ,OA2B3BiE,EAAOhE,QALP,SAAkBiE,GAChB,MAAuB,iBAATA,IACVH,EAAQG,IAAUF,EAAaE,IArBrB,mBAqB+BJ,EAAWI","sources":["screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Paper } from \"@mui/material\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\n\nconst AddAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./AddAccessRule\"))\n);\nconst DeleteAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./DeleteAccessRule\"))\n);\nconst EditAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./EditAccessRule\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\ninterface IAccessRuleProps {\n match: any;\n}\n\nconst AccessRule = ({ match }: IAccessRuleProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [loadingAccessRules, setLoadingAccessRules] = useState(true);\n const [accessRules, setAccessRules] = useState([]);\n const [addAccessRuleOpen, setAddAccessRuleOpen] = useState(false);\n const [deleteAccessRuleOpen, setDeleteAccessRuleOpen] =\n useState(false);\n const [accessRuleToDelete, setAccessRuleToDelete] = useState(\"\");\n const [editAccessRuleOpen, setEditAccessRuleOpen] = useState(false);\n const [accessRuleToEdit, setAccessRuleToEdit] = useState(\"\");\n const [initialAccess, setInitialAccess] = useState(\"\");\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]);\n\n const deleteAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const editAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingAccessRules(true);\n }\n }, [loadingBucket, setLoadingAccessRules]);\n\n const AccessRuleActions = [\n {\n type: \"delete\",\n disableButtonFunction: () => !deleteAccessRules,\n onClick: (accessRule: any) => {\n setDeleteAccessRuleOpen(true);\n setAccessRuleToDelete(accessRule.prefix);\n },\n },\n {\n type: \"view\",\n disableButtonFunction: () => !editAccessRules,\n onClick: (accessRule: any) => {\n setAccessRuleToEdit(accessRule.prefix);\n setInitialAccess(accessRule.access);\n setEditAccessRuleOpen(true);\n },\n },\n ];\n\n useEffect(() => {\n if (loadingAccessRules) {\n if (displayAccessRules) {\n api\n .invoke(\"GET\", `/api/v1/bucket/${bucketName}/access-rules`)\n .then((res: any) => {\n setAccessRules(res.accessRules);\n setLoadingAccessRules(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingAccessRules(false);\n });\n } else {\n setLoadingAccessRules(false);\n }\n }\n }, [loadingAccessRules, dispatch, displayAccessRules, bucketName]);\n\n const closeAddAccessRuleModal = () => {\n setAddAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeDeleteAccessRuleModal = () => {\n setDeleteAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeEditAccessRuleModal = () => {\n setEditAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n return (\n \n {addAccessRuleOpen && (\n \n )}\n {deleteAccessRuleOpen && (\n \n )}\n {editAccessRuleOpen && (\n \n )}\n \n Access Rules\n \n {\n setAddAccessRuleOpen(true);\n }}\n text={\"Add Access Rule\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n \n );\n};\n\nexport default AccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return
{children}
;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: theme.palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["AddAccessRuleModal","withSuspense","React","DeleteAccessRuleModal","EditAccessRuleModal","useStyles","makeStyles","theme","createStyles","backgroundImage","tableStyles","actionsTray","searchField","objectBrowserCommon","containerForHeader","spacing","match","dispatch","useDispatch","classes","loadingBucket","useSelector","selBucketDetailsLoading","useState","loadingAccessRules","setLoadingAccessRules","accessRules","setAccessRules","addAccessRuleOpen","setAddAccessRuleOpen","deleteAccessRuleOpen","setDeleteAccessRuleOpen","accessRuleToDelete","setAccessRuleToDelete","editAccessRuleOpen","setEditAccessRuleOpen","accessRuleToEdit","setAccessRuleToEdit","initialAccess","setInitialAccess","bucketName","params","displayAccessRules","hasPermission","IAM_SCOPES","deleteAccessRules","editAccessRules","useEffect","AccessRuleActions","type","disableButtonFunction","onClick","accessRule","prefix","access","api","then","res","catch","err","setErrorSnackMessage","Fragment","modalOpen","onClose","bucket","toDelete","toEdit","initial","item","xs","className","scopes","resource","matchAll","errorProps","disabled","tooltip","text","icon","color","variant","tableBlock","noBackground","itemActions","columns","label","elementKey","isLoading","records","entityName","idField","withStyles","root","padding","margin","fontSize","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","capitalize","_extends","palette","secondary","disableRipple","backgroundColor","alpha","action","active","main","hoverOpacity","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2249.16ea4e27.chunk.js b/portal-ui/build/static/js/2249.16ea4e27.chunk.js
new file mode 100644
index 000000000..5b3983ddf
--- /dev/null
+++ b/portal-ui/build/static/js/2249.16ea4e27.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2249],{23804:function(n,e,o){o(72791);var i=o(11135),t=o(25787),r=o(61889),a=o(80184);e.Z=(0,t.Z)((function(n){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(n){var e=n.classes,o=n.iconComponent,i=n.title,t=n.help;return(0,a.jsx)("div",{className:e.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:e.leftItems,children:[o,i]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:e.helpText,children:t})]})})}))},60937:function(n,e,o){o.d(e,{Z:function(){return d}});var i=o(32291),t=o(72791),r=o(61889),a=o(64554),c=o(23804),l=o(80184),s=function(n){var e=n.iconComponent,o=void 0===e?null:e,i=n.title,t=void 0===i?"":i,s=n.message,u=void 0===s?"":s;return(0,l.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,l.jsx)(r.ZP,{item:!0,xs:12,children:(0,l.jsx)(c.Z,{title:t,iconComponent:o,help:(0,l.jsx)(a.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(n){return n.colors.link},textDecoration:"underline"}},children:u})})})})},u=o(74794),d=function(n){var e=n.pageHeaderText,o=void 0===e?"":e,r=n.icon,a=void 0===r?null:r,c=n.title,d=void 0===c?"":c,f=n.message,x=void 0===f?null:f;return(0,l.jsxs)(t.Fragment,{children:[(0,l.jsx)(i.Z,{label:o}),(0,l.jsx)(u.Z,{children:(0,l.jsx)(s,{iconComponent:a,title:d,message:x})})]})}},75578:function(n,e,o){var i=o(1413),t=o(72791),r=o(80184);e.Z=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function o(o){return(0,r.jsx)(t.Suspense,{fallback:e,children:(0,r.jsx)(n,(0,i.Z)({},o))})}return o}},2249:function(n,e,o){o.r(e),o.d(e,{default:function(){return _}});var i=o(72791),t=o(79271),r=o(62666),a=o(50099),c=o(1413),l=o(11135),s=o(61889),u=o(23814),d=o(32291),f=o(91523),x=o(25787),g=o(80184),p=(0,x.Z)((function(n){return(0,l.Z)({configurationLink:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,width:190,maxWidth:190,height:80,margin:14,display:"flex",alignItems:"center",color:"#072C4F",fontSize:14,fontWeight:700,textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",lineClamp:2,"& svg":{fontSize:35,marginRight:15},"&:hover":{backgroundColor:"#FBFAFA"},"&.disabled":{backgroundColor:"#F9F9F9",color:"#ababab",cursor:"not-allowed"}}})}))((function(n){var e=n.classes,o=n.configuration,i=n.prefix,t=void 0===i?"settings":i,r=n.disabled,a=void 0!==r&&r;return(0,g.jsxs)(f.rU,{to:a?"/".concat(t):"/".concat(t,"/").concat(o.configuration_id),className:"".concat(e.configurationLink," ").concat(a?"disabled":""),children:[o.icon,o.configuration_label]})})),m=o(74794),h=o(62410),b=o(56087),Z=o(38442),v=(0,o(72455).Z)((function(n){return(0,l.Z)((0,c.Z)((0,c.Z)((0,c.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,padding:5,backgroundColor:"#fff"}},u.qg),u.OR),(0,u.Bz)(n.spacing(4))))})),j=function(){var n=v(),e=[{icon:(0,g.jsx)(h.I$E,{}),configuration_id:"logs",configuration_label:"Logs",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_LOGS])},{icon:(0,g.jsx)(h.W1M,{}),configuration_id:"audit-logs",configuration_label:"Audit Logs",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_AUDITLOGS])},{icon:(0,g.jsx)(h.fOu,{}),configuration_id:"watch",configuration_label:"Watch",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_WATCH])},{icon:(0,g.jsx)(h.C_0,{}),configuration_id:"trace",configuration_label:"Trace",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_TRACE])},{icon:(0,g.jsx)(h.lnI,{}),configuration_id:"heal",configuration_label:"Heal",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_HEAL])},{icon:(0,g.jsx)(h.MXM,{}),configuration_id:"diagnostics",configuration_label:"Diagnostics",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_DIAGNOSTICS])},{icon:(0,g.jsx)(h.QBB,{}),configuration_id:"speedtest",configuration_label:"Speedtest",disabled:!(0,Z.F)(b.C3,b.LC[b.gA.TOOLS_SPEEDTEST])}];return(0,g.jsxs)(i.Fragment,{children:[(0,g.jsx)(d.Z,{label:"Tools"}),(0,g.jsx)(m.Z,{children:(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:n.settingsOptionsContainer,children:e.map((function(n){return(0,g.jsx)(p,{prefix:"tools",configuration:n,disabled:n.disabled||!1},"configItem-".concat(n.configuration_label))}))})})})})]})},C=o(60937),S=o(25183),y=o(75578),A=(0,y.Z)(i.lazy((function(){return Promise.all([o.e(7757),o.e(8833)]).then(o.bind(o,58833))}))),L=(0,y.Z)(i.lazy((function(){return o.e(471).then(o.bind(o,80471))}))),F=(0,y.Z)(i.lazy((function(){return o.e(483).then(o.bind(o,70483))}))),_=function(){return(0,g.jsx)(t.F0,{history:r.Z,children:(0,g.jsxs)(t.rs,{children:[(0,g.jsx)(t.AW,{path:b.gA.TOOLS,exact:!0,component:j}),(0,g.jsx)(t.AW,{path:b.gA.REGISTER_SUPPORT,exact:!0,component:L}),(0,g.jsx)(t.AW,{path:b.gA.PROFILE,exact:!0,component:F}),(0,g.jsx)(t.AW,{path:b.gA.CALL_HOME,exact:!0,render:function(){return(0,g.jsx)(C.Z,{icon:(0,g.jsx)(S.aw,{}),pageHeaderText:"Support",title:"Call Home",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(t.AW,{path:b.gA.SUPPORT_INSPECT,exact:!0,component:A}),(0,g.jsx)(t.AW,{component:a.Z})]})})}},50099:function(n,e,o){o.d(e,{Z:function(){return s}});o(72791);var i=o(64554),t=o(20890),r=o(23060),a=o(80184);function c(){return(0,a.jsxs)(t.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,a.jsx)(r.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=o(74794),s=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(i.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(i.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,a.jsx)(i.Z,{mt:5,children:(0,a.jsx)(c,{})})]})})}},23060:function(n,e,o){o.d(e,{Z:function(){return A}});var i=o(29439),t=o(4942),r=o(63366),a=o(87462),c=o(72791),l=o(28182),s=o(90767),u=o(18529),d=o(12065),f=o(14036),x=o(47630),g=o(93736),p=o(23031),m=o(42071),h=o(20890),b=o(95159);function Z(n){return(0,b.Z)("MuiLink",n)}var v=(0,o(30208).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),j=o(80184),C=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},y=(0,x.ZP)(h.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(n,e){var o=n.ownerState;return[e.root,e["underline".concat((0,f.Z)(o.underline))],"button"===o.component&&e.button]}})((function(n){var e=n.theme,o=n.ownerState,i=(0,u.D)(e,"palette.".concat(function(n){return S[n]||n}(o.color)))||o.color;return(0,a.Z)({},"none"===o.underline&&{textDecoration:"none"},"hover"===o.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===o.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==i?(0,d.Fq)(i,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===o.component&&(0,t.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(v.focusVisible),{outline:"auto"}))})),A=c.forwardRef((function(n,e){var o=(0,g.Z)({props:n,name:"MuiLink"}),t=o.className,u=o.color,d=void 0===u?"primary":u,x=o.component,h=void 0===x?"a":x,b=o.onBlur,v=o.onFocus,S=o.TypographyClasses,A=o.underline,L=void 0===A?"always":A,F=o.variant,_=void 0===F?"inherit":F,O=(0,r.Z)(o,C),T=(0,p.Z)(),w=T.isFocusVisibleRef,E=T.onBlur,k=T.onFocus,R=T.ref,P=c.useState(!1),I=(0,i.Z)(P,2),W=I[0],D=I[1],z=(0,m.Z)(e,R),B=(0,a.Z)({},o,{color:d,component:h,focusVisible:W,underline:L,variant:_}),N=function(n){var e=n.classes,o=n.component,i=n.focusVisible,t=n.underline,r={root:["root","underline".concat((0,f.Z)(t)),"button"===o&&"button",i&&"focusVisible"]};return(0,s.Z)(r,Z,e)}(B);return(0,j.jsx)(y,(0,a.Z)({className:(0,l.Z)(N.root,t),classes:S,color:d,component:h,onBlur:function(n){E(n),!1===w.current&&D(!1),b&&b(n)},onFocus:function(n){k(n),!0===w.current&&D(!0),v&&v(n)},ref:z,ownerState:B,variant:_},O))}))}}]);
+//# sourceMappingURL=2249.16ea4e27.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2249.16ea4e27.chunk.js.map b/portal-ui/build/static/js/2249.16ea4e27.chunk.js.map
new file mode 100644
index 000000000..72434b791
--- /dev/null
+++ b/portal-ui/build/static/js/2249.16ea4e27.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/2249.16ea4e27.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/FeatureNotAvailable.tsx","screens/Console/Common/Components/FeatureNotAvailablePage.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SettingsCard/SettingsCard.tsx","screens/Console/Tools/ToolsPanel/ToolsList.tsx","screens/Console/Tools/Tools.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n SpeedtestIcon,\n TraceIcon,\n WatchIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst ToolsList = () => {\n const classes = useStyles();\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n \n \n \n \n );\n};\n\nexport default ToolsList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n SpeedtestIcon,\n TraceIcon,\n WatchIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { AppState } from \"../../../../store\";\nimport { connect } from \"react-redux\";\n\ninterface IConfigurationOptions {\n classes: any;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst ToolsList = ({ classes, features }: IConfigurationOptions) => {\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(ToolsList));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
\n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n \n \n );\n};\n\nexport default TierTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n AzureTierIconXs,\n GoogleTierIcon,\n GoogleTierIconXs,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n S3TierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n"],"names":["children","sx","border","padding","lg","xs","onClick","icon","name","style","display","alignItems","justifyContent","background","borderRadius","cursor","Box","height","width","fontWeight","marginLeft","history","Fragment","PageHeader","label","BackLink","to","IAM_PAGES","actions","PageLayout","ContentBox","fontSize","paddingBottom","margin","gridGap","gridTemplateColumns","sm","md","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","logo","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/2338.8430dcc6.chunk.js","mappings":"gJAuCA,IAhBoC,SAAC,GAAkB,IAAhBA,EAAe,EAAfA,SACrC,OACE,SAAC,IAAD,CACEC,GAAI,CACFC,OAAQ,oBACRC,QAAS,CACPC,GAAI,OACJC,GAAI,SALV,SASGL,M,oJCgCP,EA1CqB,SAAC,GAAgD,IAA9CM,EAA6C,EAA7CA,QAASC,EAAoC,EAApCA,KAAMC,EAA8B,EAA9BA,KACrC,OACE,oBACEC,MAAO,CACLC,QAAS,OACTC,WAAY,SACZC,eAAgB,aAChBT,QAAS,GACTU,WAAY,cACZX,OAAQ,oBACRY,aAAc,EACdC,OAAQ,WAEVT,QAAS,WACPA,EAAQE,IAZZ,UAeGD,GACC,SAACS,EAAA,EAAD,CACEf,GAAI,CACF,cAAe,CACbgB,OAAQ,OACRC,MAAO,SAJb,SAQGX,IAED,MAEJ,gBACEE,MAAO,CACLU,WAAY,IACZC,WAAY,IAHhB,SAMGZ,Q,sBCsBT,EAnDyB,SAAC,GAAmC,IAAjCa,EAAgC,EAAhCA,QAK1B,OACE,UAAC,EAAAC,SAAD,YACE,SAACC,EAAA,EAAD,CACEC,OACE,SAAC,EAAAF,SAAD,WACE,SAACG,EAAA,EAAD,CAAUC,GAAIC,EAAAA,GAAAA,MAAiBH,MAAM,iBAGzCI,SAAS,SAAC,WAAD,OAGX,SAACC,EAAA,EAAD,WACE,UAACC,EAAA,EAAD,YACE,gBAAKrB,MAAO,CAAEsB,SAAU,GAAIZ,WAAY,IAAKa,cAAe,IAA5D,+BAGA,SAAChB,EAAA,EAAD,CACEf,GAAI,CACFgC,OAAQ,SACRvB,QAAS,OACTwB,QAAS,OACTC,oBAAqB,CACnB9B,GAAI,iBACJ+B,GAAI,iBACJC,GAAI,iBACJjC,GAAI,mBATV,SAaGkC,EAAAA,GAAAA,KAAc,SAACC,EAAUC,GAAX,OACb,SAAC,EAAD,CAEEhC,KAAM+B,EAASE,YACfnC,QAAS,WArCJ,IAACoC,EAAAA,EAsCOH,EAASI,YArClCtB,EAAQuB,KAAR,UAAgBjB,EAAAA,GAAAA,UAAhB,YAAuCe,KAuC3BnC,KAAMgC,EAASM,MANjB,kBACkBL,EAAMM,SADxB,YACoCP,EAASE,6B,iLCxC9CM,EAAmB,QACnBC,EAAiB,MACjBC,EAAgB,KAChBC,EAAmB,QAEnBZ,EAAY,CACvB,CACEK,YAAaI,EACbN,YAAa,QACbI,MAAM,SAAC,MAAD,IACNM,QAAQ,SAAC,MAAD,KAEV,CACER,YAAaK,EACbP,YAAa,uBACbI,MAAM,SAAC,MAAD,IACNM,QAAQ,SAAC,MAAD,KAEV,CACER,YAAaM,EACbR,YAAa,SACbI,MAAM,SAAC,MAAD,IACNM,QAAQ,SAAC,MAAD,KAEV,CACER,YAAaO,EACbT,YAAa,QACbI,MAAM,SAAC,MAAD,IACNM,QAAQ,SAAC,MAAD","sources":["screens/Console/Common/ContentBox.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeCard.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst ContentBox: React.FC = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n\nexport default ContentBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n return (\n \n );\n};\n\nexport default TierTypeCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\n\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { tierTypes } from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box } from \"@mui/material\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\nimport ContentBox from \"../../Common/ContentBox\";\n\ninterface ITypeTiersConfig {\n history: any;\n}\n\nconst TierTypeSelector = ({ history }: ITypeTiersConfig) => {\n const typeSelect = (selectName: string) => {\n history.push(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n \n
\n Select Tier Type\n
\n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n \n \n );\n};\n\nexport default TierTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n AzureTierIconXs,\n GoogleTierIcon,\n GoogleTierIconXs,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n S3TierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n"],"names":["children","sx","border","padding","lg","xs","onClick","icon","name","style","display","alignItems","justifyContent","background","borderRadius","cursor","Box","height","width","fontWeight","marginLeft","history","Fragment","PageHeader","label","BackLink","to","IAM_PAGES","actions","PageLayout","ContentBox","fontSize","paddingBottom","margin","gridGap","gridTemplateColumns","sm","md","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","logo","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2731.1f028be6.chunk.js b/portal-ui/build/static/js/2731.1f028be6.chunk.js
new file mode 100644
index 000000000..3f74a95d7
--- /dev/null
+++ b/portal-ui/build/static/js/2731.1f028be6.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2731],{37798:function(e,t,n){n.r(t),n.d(t,{default:function(){return S}});var i=n(1413),o=n(72791),r=n(26181),s=n.n(r),a=n(11135),c=n(25787),l=n(56028),d=n(61889),u=n(77196),p=n(63466),m=n(85531),x=n(78029),h=n.n(x),f=n(62410),y=n(23814),g=n(80184),v=(0,c.Z)((function(e){return(0,a.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,o=void 0===i?"":i,r=e.classes,s=void 0===r?{}:r;return(0,g.jsxs)("div",{className:s.container,children:[(0,g.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:s.inputWithCopy,children:(0,g.jsx)(u.Z,{value:o,readOnly:!0,endAdornment:(0,g.jsx)(p.Z,{position:"end",children:(0,g.jsx)(h(),{text:o,children:(0,g.jsx)(m.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,g.jsx)(f.TIy,{})})})})})})]})})),j=n(89357),Z=n(40603),b=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+t),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},S=(0,c.Z)((function(e){return(0,a.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,r=e.open,a=e.closeModal,c=e.entity;if(!n)return null;var u=s()(n,"console",null),p=s()(n,"idp",!1);return(0,g.jsx)(l.Z,{modalOpen:r,onClose:function(){a()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,g.jsx)(f.tVY,{}),children:(0,g.jsxs)(d.ZP,{container:!0,children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",c," has been created with the following details:",!p&&u&&(0,g.jsx)(o.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(u)&&u.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:u.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:u.secretKey})]})]})}),(null===u||void 0===u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:n.accessKey||""}),(0,g.jsx)(v,{label:"Secret Key",value:n.secretKey||""})]}),p?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(j.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!p&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z.Z,{id:"download-button",tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",text:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};u?e=Array.isArray(u)?u.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:u.url,accessKey:u.accessKey,secretKey:u.secretKey,api:"s3v4",path:"auto"}:e={url:n.url,accessKey:n.accessKey,secretKey:n.secretKey,api:"s3v4",path:"auto"};b("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"contained",color:"primary"}),Array.isArray(u)&&u.length>1&&(0,g.jsx)(Z.Z,{id:"download-all-button",tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",text:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=u.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));b("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"contained",color:"primary"})]})})]})})}))},92217:function(e,t,n){var i=n(93433),o=n(29439),r=n(1413),s=n(72791),a=n(61889),c=(n(2574),n(69874)),l=n(9461),d=n(73975),u=n(80745),p=n(30829),m=n(20068),x=n(64554),h=n(11135),f=n(25787),y=n(84570),g=n(23814),v=n(62410),j=n(40603),Z=n(78029),b=n.n(Z),S=n(64294),C=n(80184),w={json:d.AV,yaml:function(){return l.i.define(u.r)}},A=S.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=S.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,h.Z)((0,r.Z)({},g.YI))}))((function(e){var t=e.value,n=e.label,r=void 0===n?"":n,l=e.tooltip,d=void 0===l?"":l,u=e.mode,h=void 0===u?"json":u,f=e.classes,g=e.onBeforeChange,Z=e.readOnly,S=void 0!==Z&&Z,k=e.editorHeight,K=void 0===k?"250px":k,N=(0,s.useState)(!1),B=(0,o.Z)(N,2),E=B[0],I=B[1],M=[];return w[h]&&(M=[].concat((0,i.Z)(M),[w[h]()])),(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(p.Z,{className:f.inputLabel,children:[(0,C.jsx)("span",{children:r}),""!==d&&(0,C.jsx)("div",{className:f.tooltipContainer,children:(0,C.jsx)(m.Z,{title:d,placement:"top-start",children:(0,C.jsx)("div",{className:f.tooltip,children:(0,C.jsx)(y.Z,{})})})})]}),(0,C.jsx)(a.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,C.jsx)(a.ZP,{item:!0,xs:12,children:(0,C.jsx)(c.ZP,{value:t,theme:E?P:A,extensions:M,editable:!S,basicSetup:!0,height:K,onChange:function(e,t){g(null,null,e)}})}),(0,C.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,C.jsxs)(x.Z,{className:E?"dark-theme":"",sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}},"&.dark-theme button":{background:"#FFFFFF"}},children:[(0,C.jsx)(j.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,C.jsx)(v.EOM,{}),color:"primary",variant:"outlined"}),(0,C.jsx)(b(),{text:t,children:(0,C.jsx)(j.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,C.jsx)(v.TIy,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),r=n(72791),s=n(60364),a=n(13400),c=n(55646),l=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),x=n(23814),h=n(29823),f=n(28057),y=n(87995),g=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,x=e.classes,v=e.wideLimit,j=void 0===v||v,Z=e.noContentPadding,b=e.titleIcon,S=void 0===b?null:b,C=(0,s.I0)(),w=(0,r.useState)(!1),A=(0,i.Z)(w,2),P=A[0],k=A[1],K=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,r.useEffect)((function(){C((0,y.MK)(""))}),[C]),(0,r.useEffect)((function(){if(K){if(""===K.message)return void k(!1);"error"!==K.type&&k(!0)}}),[K]);var N=j?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return K&&(B=K.detailedErrorMsg,(""===K.detailedErrorMsg||K.detailedErrorMsg.length<5)&&(B=K.message)),(0,g.jsxs)(l.Z,(0,o.Z)((0,o.Z)({open:n,classes:x},N),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:x.root,children:[(0,g.jsxs)(d.Z,{className:x.title,children:[(0,g.jsxs)("div",{className:x.titleText,children:[S," ",p]}),(0,g.jsx)("div",{className:x.closeContainer,children:(0,g.jsx)(a.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(h.Z,{})})})]}),(0,g.jsx)(f.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:P,className:x.snackBarModal,onClose:function(){k(!1),C((0,y.MK)(""))},message:B,ContentProps:{className:"".concat(x.snackBar," ").concat(K&&"error"===K.type?x.errorSnackBar:"")},autoHideDuration:K&&"error"===K.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:Z?"":x.content,children:m})]}))}))},6069:function(e,t,n){n.r(t),n.d(t,{default:function(){return I}});var i=n(29439),o=n(1413),r=n(72791),s=n(11135),a=n(25787),c=n(23814),l=n(61889),d=n(64554),u=n(36151),p=n(62410),m=n(92217),x=n(32291),h=n(74794),f=n(62666),y=n(21435),g=n(37516),v=n(84669),j=n(60364),Z=n(3579),b=n(20165),S=n(56087),C=n(81207),w=n(37798),A=n(50896),P=n(84741),k=n(80184),K=function(e){var t=e.icon,n=e.description;return(0,k.jsxs)(d.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,k.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},N=function(){return(0,k.jsxs)(d.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:[(0,k.jsxs)(d.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,k.jsx)(p.M9A,{}),(0,k.jsx)("div",{children:"Learn more about Service Accounts"})]}),(0,k.jsxs)(d.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:[(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.nO6,{}),description:"Create Service Accounts"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"20px"},children:"Service Accounts inherit the policies explicitly attached to the parent user, and the policies attached to each group in which the parent user has membership."})]}),(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.tvm,{}),description:"Assign Custom Credentials"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"Randomized access credentials are recommended, and provided by default. You may use your own custom Access Key and Secret Key by replacing the default values. After creation of any Service Account, you will be given the opportunity to view and download the account credentials."}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"Service Accounts support programmatic access by applications. You cannot use a Service Account to log into the MinIO Console."})]}),(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.v42,{}),description:"Assign Access Policies"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"You cannot modify the optional Service Account IAM policy after saving."})]})]}),(0,k.jsx)(d.Z,{sx:{display:"flex",flexFlow:"column"}})]})},B=n(45248),E=n(87995),I=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}}},c.DF),c.ID))}))((function(e){var t=e.classes,n=e.match,o=(0,j.I0)(),s=(0,r.useState)(!1),a=(0,i.Z)(s,2),c=a[0],K=a[1],I=(0,r.useState)((0,P.z)(16)),M=(0,i.Z)(I,2),L=M[0],z=M[1],F=(0,r.useState)((0,P.z)(32)),O=(0,i.Z)(F,2),T=O[0],R=O[1],D=(0,r.useState)(!1),Y=(0,i.Z)(D,2),W=Y[0],_=Y[1],J=(0,r.useState)(null),V=(0,i.Z)(J,2),G=V[0],H=V[1],U=(0,r.useState)(!1),Q=(0,i.Z)(U,2),q=Q[0],X=Q[1],$=(0,r.useState)(""),ee=(0,i.Z)($,2),te=ee[0],ne=ee[1],ie=(0,B.IO)(n.params.userName);(0,r.useEffect)((function(){c&&C.Z.invoke("POST","/api/v1/user/".concat((0,B.LL)(ie),"/service-account-credentials"),{policy:te,accessKey:L,secretKey:T}).then((function(e){K(!1),H({accessKey:e.accessKey||"",secretKey:e.secretKey||"",url:e.url||""})})).catch((function(e){K(!1),o((0,E.Ih)(e))}))}),[c,K,o,te,ie,L,T]),(0,r.useEffect)((function(){W&&C.Z.invoke("GET","/api/v1/user/".concat((0,B.LL)(ie),"/policies")).then((function(e){ne(JSON.stringify(JSON.parse(e.policy),null,4))})).catch((function(e){(0,E.Ih)(e)}))}),[W,ie]);return(0,k.jsxs)(r.Fragment,{children:[G&&(0,k.jsx)(w.default,{newServiceAccount:G,open:!0,closeModal:function(){H(null),f.Z.push("".concat(S.gA.USERS,"/").concat((0,B.LL)(ie)))},entity:"Service Account"}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,k.jsx)(x.Z,{label:(0,k.jsx)(v.Z,{to:"".concat(S.gA.USERS,"/").concat((0,B.LL)(ie)),label:"User Details - "+ie})}),(0,k.jsx)(h.Z,{children:(0,k.jsxs)(d.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,k.jsxs)(d.Z,{children:[(0,k.jsx)(A.Z,{icon:(0,k.jsx)(p.tVY,{}),children:"Create Service Account for ".concat(ie)}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),K(!0)}(e)},children:(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",sx:{marginTop:1},children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)(l.ZP,{container:!0,item:!0,spacing:"20",children:(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsxs)(l.ZP,{container:!0,children:[(0,k.jsx)(l.ZP,{item:!0,xs:1,children:(0,k.jsx)(p.tvm,{})}),(0,k.jsx)(l.ZP,{item:!0,children:(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",children:[(0,k.jsxs)(l.ZP,{item:!0,xs:12,children:[" ",(0,k.jsx)("div",{className:t.stackedInputs,children:(0,k.jsx)(y.Z,{value:L,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){z(e.target.value)}})})]}),(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)("div",{className:t.stackedInputs,children:(0,k.jsx)(y.Z,{value:T,label:"Secret Key",id:"secretKey",name:"secretKey",type:q?"text":"password",placeholder:"Enter Secret Key",onChange:function(e){R(e.target.value)},overlayIcon:q?(0,k.jsx)(b.Z,{}):(0,k.jsx)(Z.Z,{}),overlayAction:function(){return X(!q)}})})})]})})]})})})}),(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsxs)(l.ZP,{container:!0,children:[(0,k.jsx)(l.ZP,{item:!0,xs:1,children:(0,k.jsx)(p.v42,{})}),(0,k.jsx)(l.ZP,{item:!0,xs:11,children:(0,k.jsx)(g.Z,{value:"serviceAccountPolicy",id:"serviceAccountPolicy",name:"serviceAccountPolicy",checked:W,onChange:function(e){_(e.target.checked)},label:"Restrict beyond user policy",tooltip:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."})})]})}),W&&(0,k.jsx)(l.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,k.jsx)(l.ZP,{item:!0,xs:12,className:t.formScrollable,children:(0,k.jsx)(m.Z,{label:"Policy",value:te,onBeforeChange:function(e,t,n){ne(n)}})})})]}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,k.jsx)(u.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){H(null),z(""),R(""),X(!1)},children:"Clear"}),(0,k.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",children:"Create"})]})]})})]}),(0,k.jsx)(N,{})]})})]})]})}))},3579:function(e,t,n){var i=n(95318);t.Z=void 0;var o=i(n(45649)),r=n(80184),s=(0,o.default)((0,r.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=s},20165:function(e,t,n){var i=n(95318);t.Z=void 0;var o=i(n(45649)),r=n(80184),s=(0,o.default)((0,r.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=s},63466:function(e,t,n){n.d(t,{Z:function(){return b}});var i=n(4942),o=n(63366),r=n(87462),s=n(72791),a=n(28182),c=n(90767),l=n(14036),d=n(20890),u=n(93840),p=n(52930),m=n(47630),x=n(95159);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,y=(0,n(30208).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=n(93736),v=n(80184),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],Z=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,l.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(y.positionStart,"&:not(.").concat(y.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),b=s.forwardRef((function(e,t){var n=(0,g.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,m=n.className,x=n.component,y=void 0===x?"div":x,b=n.disablePointerEvents,S=void 0!==b&&b,C=n.disableTypography,w=void 0!==C&&C,A=n.position,P=n.variant,k=(0,o.Z)(n,j),K=(0,p.Z)()||{},N=P;P&&K.variant,K&&!N&&(N=K.variant);var B=(0,r.Z)({},n,{hiddenLabel:K.hiddenLabel,size:K.size,disablePointerEvents:S,position:A,variant:N}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,o=e.position,r=e.size,s=e.variant,a={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,l.Z)(o)),s,i&&"hiddenLabel",r&&"size".concat((0,l.Z)(r))]};return(0,c.Z)(a,h,t)}(B);return(0,v.jsx)(u.Z.Provider,{value:null,children:(0,v.jsx)(Z,(0,r.Z)({as:y,ownerState:B,className:(0,a.Z)(E.root,m),ref:t},k,{children:"string"!==typeof i||w?(0,v.jsxs)(s.Fragment,{children:["start"===A?f||(f=(0,v.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,v.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},61120:function(e,t,n){function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}n.d(t,{Z:function(){return i}})},60136:function(e,t,n){n.d(t,{Z:function(){return o}});var i=n(89611);function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,i.Z)(e,t)}},6215:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}n.d(t,{Z:function(){return r}});var o=n(97326);function r(e,t){if(t&&("object"===i(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,o.Z)(e)}}}]);
+//# sourceMappingURL=2731.1f028be6.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2731.1f028be6.chunk.js.map b/portal-ui/build/static/js/2731.1f028be6.chunk.js.map
new file mode 100644
index 000000000..b9b146431
--- /dev/null
+++ b/portal-ui/build/static/js/2731.1f028be6.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/2731.1f028be6.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Users/AddUserServiceAccountHelpBox.tsx","screens/Console/Users/AddUserServiceAccountScreen.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + text\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n \n \n {!idp && (\n <>\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\"\n />\n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n {\n let allCredentials = {};\n if (consoleCreds) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\"\n />\n )}\n >\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n \n \n \n }\n description={`Create Service Accounts`}\n />\n \n Service Accounts inherit the policies explicitly attached to the\n parent user, and the policies attached to each group in which the\n parent user has membership.\n \n \n \n }\n description={`Assign Custom Credentials`}\n />\n \n Randomized access credentials are recommended, and provided by\n default. You may use your own custom Access Key and Secret Key by\n replacing the default values. After creation of any Service Account,\n you will be given the opportunity to view and download the account\n credentials.\n \n \n Service Accounts support programmatic access by applications. You\n cannot use a Service Account to log into the MinIO Console.\n \n \n \n }\n description={`Assign Access Policies`}\n />\n \n You can specify an optional JSON-formatted IAM policy to further\n restrict Service Account access to a subset of the actions and\n resources explicitly allowed for the parent user. Additional access\n beyond that of the parent user cannot be implemented through these\n policies.\n \n \n You cannot modify the optional Service Account IAM policy after\n saving.\n \n \n \n \n \n );\n};\n\nexport default AddUserServiceAccountHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button } from \"@mui/material\";\nimport {\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n} from \"../../../icons\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport history from \"../../../../src/history\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { useDispatch } from \"react-redux\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport SectionTitle from \"../Common/SectionTitle\";\nimport { getRandomString } from \"../../../screens/Console/Tenants/utils\";\nimport AddUserServiceAccountHelpBox from \"./AddUserServiceAccountHelpBox\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\n\ninterface IAddServiceAccountProps {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddServiceAccount = ({ classes, match }: IAddServiceAccountProps) => {\n const dispatch = useDispatch();\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(16));\n const [secretKey, setSecretKey] = useState(getRandomString(32));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [showPassword, setShowPassword] = useState(false);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n const userName = decodeURLString(match.params[\"userName\"]);\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\n \"POST\",\n `/api/v1/user/${encodeURLString(\n userName\n )}/service-account-credentials`,\n {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n }\n )\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [\n addSending,\n setAddSending,\n dispatch,\n policyJSON,\n userName,\n accessKey,\n secretKey,\n ]);\n\n useEffect(() => {\n if(isRestrictedByPolicy){\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(userName)}/policies`) \n \n .then((res) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res.policy), null, 4));\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n });\n }\n }, [isRestrictedByPolicy, userName]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n setShowPassword(false);\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n history.push(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`);\n };\n\n return (\n \n {newServiceAccount && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n \n \n }\n />\n \n \n \n }>\n {`Create Service Account for ${userName}`}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(AddServiceAccount);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","download","filename","element","document","createElement","setAttribute","style","body","appendChild","click","removeChild","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","undefined","WarnIcon","RBIconButton","id","consoleExtras","itemMap","url","api","path","JSON","stringify","icon","variant","length","allCredentials","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","dark","darkTheme","mode","onBeforeChange","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","onChange","v","vu","borderTop","paddingRight","justifyContent","marginLeft","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","dispatch","useDispatch","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","type","customSize","paper","fullWidth","detailedErrorMsg","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","FeatureItem","description","Box","marginBottom","fontStyle","flex","borderRadius","paddingTop","bottomContainer","flexGrow","formFieldStyles","modalStyleUtils","match","addSending","setAddSending","getRandomString","setAccessKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","setNewServiceAccount","showPassword","setShowPassword","policyJSON","setPolicyJSON","userName","decodeURLString","params","encodeURLString","policy","then","res","catch","err","setErrorSnackMessage","parse","Fragment","CredentialsPrompt","history","IAM_PAGES","PageHeader","BackLink","to","PageLayout","gap","gridTemplateColumns","md","SectionTitle","noValidate","autoComplete","onSubmit","e","preventDefault","addUserServiceAccount","spacing","stackedInputs","InputBoxWrapper","name","placeholder","target","overlayIcon","VisibilityOff","RemoveRedEye","overlayAction","FormSwitchWrapper","checked","codeMirrorContainer","CodeMirrorWrapper","editor","data","modalButtonBar","Button","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","props","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","palette","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","self","call","assertThisInitialized"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2731.2c59ed4f.chunk.js b/portal-ui/build/static/js/2731.2c59ed4f.chunk.js
deleted file mode 100644
index 0b7da5b19..000000000
--- a/portal-ui/build/static/js/2731.2c59ed4f.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2731],{37798:function(e,t,n){n.r(t),n.d(t,{default:function(){return C}});var i=n(1413),o=n(72791),r=n(26181),s=n.n(r),a=n(11135),c=n(25787),l=n(56028),d=n(61889),u=n(77196),p=n(63466),m=n(85531),x=n(78029),h=n.n(x),f=n(62410),y=n(23814),g=n(80184),v=(0,c.Z)((function(e){return(0,a.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,o=void 0===i?"":i,r=e.classes,s=void 0===r?{}:r;return(0,g.jsxs)("div",{className:s.container,children:[(0,g.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:s.inputWithCopy,children:(0,g.jsx)(u.Z,{value:o,readOnly:!0,endAdornment:(0,g.jsx)(p.Z,{position:"end",children:(0,g.jsx)(h(),{text:o,children:(0,g.jsx)(m.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,g.jsx)(f.TIy,{})})})})})})]})})),j=n(89357),Z=n(40603),b=n(45248),S=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+(0,b.LL)(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},C=(0,c.Z)((function(e){return(0,a.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,r=e.open,a=e.closeModal,c=e.entity;if(!n)return null;var u=s()(n,"console",null),p=s()(n,"idp",!1);return(0,g.jsx)(l.Z,{modalOpen:r,onClose:function(){a()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,g.jsx)(f.tVY,{}),children:(0,g.jsxs)(d.ZP,{container:!0,children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",c," has been created with the following details:",!p&&u&&(0,g.jsx)(o.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(u)&&u.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:u.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:u.secretKey})]})]})}),(null===u||void 0===u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:n.accessKey||""}),(0,g.jsx)(v,{label:"Secret Key",value:n.secretKey||""})]}),p?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(j.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!p&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z.Z,{id:"download-button",tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",text:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};u?e=Array.isArray(u)?u.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:u.url,accessKey:u.accessKey,secretKey:u.secretKey,api:"s3v4",path:"auto"}:e={url:n.url,accessKey:n.accessKey,secretKey:n.secretKey,api:"s3v4",path:"auto"};S("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"contained",color:"primary"}),Array.isArray(u)&&u.length>1&&(0,g.jsx)(Z.Z,{id:"download-all-button",tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",text:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=u.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));S("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"contained",color:"primary"})]})})]})})}))},92217:function(e,t,n){var i=n(93433),o=n(29439),r=n(1413),s=n(72791),a=n(61889),c=(n(2574),n(69874)),l=n(9461),d=n(73975),u=n(80745),p=n(30829),m=n(20068),x=n(64554),h=n(11135),f=n(25787),y=n(84570),g=n(23814),v=n(62410),j=n(40603),Z=n(78029),b=n.n(Z),S=n(64294),C=n(80184),w={json:d.AV,yaml:function(){return l.i.define(u.r)}},A=S.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=S.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,h.Z)((0,r.Z)({},g.YI))}))((function(e){var t=e.value,n=e.label,r=void 0===n?"":n,l=e.tooltip,d=void 0===l?"":l,u=e.mode,h=void 0===u?"json":u,f=e.classes,g=e.onBeforeChange,Z=e.readOnly,S=void 0!==Z&&Z,k=e.editorHeight,K=void 0===k?"250px":k,N=(0,s.useState)(!1),B=(0,o.Z)(N,2),E=B[0],I=B[1],M=[];return w[h]&&(M=[].concat((0,i.Z)(M),[w[h]()])),(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(p.Z,{className:f.inputLabel,children:[(0,C.jsx)("span",{children:r}),""!==d&&(0,C.jsx)("div",{className:f.tooltipContainer,children:(0,C.jsx)(m.Z,{title:d,placement:"top-start",children:(0,C.jsx)("div",{className:f.tooltip,children:(0,C.jsx)(y.Z,{})})})})]}),(0,C.jsx)(a.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,C.jsx)(a.ZP,{item:!0,xs:12,children:(0,C.jsx)(c.ZP,{value:t,theme:E?P:A,extensions:M,editable:!S,basicSetup:!0,height:K,onChange:function(e,t){g(null,null,e)}})}),(0,C.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,C.jsxs)(x.Z,{className:E?"dark-theme":"",sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}},"&.dark-theme button":{background:"#FFFFFF"}},children:[(0,C.jsx)(j.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,C.jsx)(v.EOM,{}),color:"primary",variant:"outlined"}),(0,C.jsx)(b(),{text:t,children:(0,C.jsx)(j.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,C.jsx)(v.TIy,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),r=n(72791),s=n(60364),a=n(13400),c=n(55646),l=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),x=n(23814),h=n(29823),f=n(28057),y=n(87995),g=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,x=e.classes,v=e.wideLimit,j=void 0===v||v,Z=e.noContentPadding,b=e.titleIcon,S=void 0===b?null:b,C=(0,s.I0)(),w=(0,r.useState)(!1),A=(0,i.Z)(w,2),P=A[0],k=A[1],K=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,r.useEffect)((function(){C((0,y.MK)(""))}),[C]),(0,r.useEffect)((function(){if(K){if(""===K.message)return void k(!1);"error"!==K.type&&k(!0)}}),[K]);var N=j?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return K&&(B=K.detailedErrorMsg,(""===K.detailedErrorMsg||K.detailedErrorMsg.length<5)&&(B=K.message)),(0,g.jsxs)(l.Z,(0,o.Z)((0,o.Z)({open:n,classes:x},N),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:x.root,children:[(0,g.jsxs)(d.Z,{className:x.title,children:[(0,g.jsxs)("div",{className:x.titleText,children:[S," ",p]}),(0,g.jsx)("div",{className:x.closeContainer,children:(0,g.jsx)(a.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(h.Z,{})})})]}),(0,g.jsx)(f.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:P,className:x.snackBarModal,onClose:function(){k(!1),C((0,y.MK)(""))},message:B,ContentProps:{className:"".concat(x.snackBar," ").concat(K&&"error"===K.type?x.errorSnackBar:"")},autoHideDuration:K&&"error"===K.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:Z?"":x.content,children:m})]}))}))},6069:function(e,t,n){n.r(t),n.d(t,{default:function(){return I}});var i=n(29439),o=n(1413),r=n(72791),s=n(11135),a=n(25787),c=n(23814),l=n(61889),d=n(64554),u=n(36151),p=n(62410),m=n(92217),x=n(32291),h=n(74794),f=n(62666),y=n(21435),g=n(37516),v=n(84669),j=n(60364),Z=n(3579),b=n(20165),S=n(56087),C=n(81207),w=n(37798),A=n(50896),P=n(84741),k=n(80184),K=function(e){var t=e.icon,n=e.description;return(0,k.jsxs)(d.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,k.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},N=function(){return(0,k.jsxs)(d.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:[(0,k.jsxs)(d.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,k.jsx)(p.M9A,{}),(0,k.jsx)("div",{children:"Learn more about Service Accounts"})]}),(0,k.jsxs)(d.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:[(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.nO6,{}),description:"Create Service Accounts"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"20px"},children:"Service Accounts inherit the policies explicitly attached to the parent user, and the policies attached to each group in which the parent user has membership."})]}),(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.tvm,{}),description:"Assign Custom Credentials"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"Randomized access credentials are recommended, and provided by default. You may use your own custom Access Key and Secret Key by replacing the default values. After creation of any Service Account, you will be given the opportunity to view and download the account credentials."}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"Service Accounts support programmatic access by applications. You cannot use a Service Account to log into the MinIO Console."})]}),(0,k.jsxs)(d.Z,{sx:{paddingBottom:"20px"},children:[(0,k.jsx)(K,{icon:(0,k.jsx)(p.v42,{}),description:"Assign Access Policies"}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."}),(0,k.jsx)(d.Z,{sx:{paddingTop:"10px"},children:"You cannot modify the optional Service Account IAM policy after saving."})]})]}),(0,k.jsx)(d.Z,{sx:{display:"flex",flexFlow:"column"}})]})},B=n(45248),E=n(87995),I=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}}},c.DF),c.ID))}))((function(e){var t=e.classes,n=e.match,o=(0,j.I0)(),s=(0,r.useState)(!1),a=(0,i.Z)(s,2),c=a[0],K=a[1],I=(0,r.useState)((0,P.z)(16)),M=(0,i.Z)(I,2),L=M[0],z=M[1],F=(0,r.useState)((0,P.z)(32)),T=(0,i.Z)(F,2),O=T[0],R=T[1],D=(0,r.useState)(!1),Y=(0,i.Z)(D,2),W=Y[0],_=Y[1],J=(0,r.useState)(null),V=(0,i.Z)(J,2),H=V[0],G=V[1],U=(0,r.useState)(!1),Q=(0,i.Z)(U,2),q=Q[0],X=Q[1],$=(0,r.useState)(""),ee=(0,i.Z)($,2),te=ee[0],ne=ee[1],ie=(0,B.IO)(n.params.userName);(0,r.useEffect)((function(){c&&C.Z.invoke("POST","/api/v1/user/".concat((0,B.LL)(ie),"/service-account-credentials"),{policy:te,accessKey:L,secretKey:O}).then((function(e){K(!1),G({accessKey:e.accessKey||"",secretKey:e.secretKey||"",url:e.url||""})})).catch((function(e){K(!1),o((0,E.Ih)(e))}))}),[c,K,o,te,ie,L,O]);return(0,k.jsxs)(r.Fragment,{children:[H&&(0,k.jsx)(w.default,{newServiceAccount:H,open:!0,closeModal:function(){G(null),f.Z.push("".concat(S.gA.USERS,"/").concat((0,B.LL)(ie)))},entity:"Service Account"}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,k.jsx)(x.Z,{label:(0,k.jsx)(v.Z,{to:"".concat(S.gA.USERS,"/").concat((0,B.LL)(ie)),label:"User Details - "+ie})}),(0,k.jsx)(h.Z,{children:(0,k.jsxs)(d.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,k.jsxs)(d.Z,{children:[(0,k.jsxs)(A.Z,{icon:(0,k.jsx)(p.tVY,{}),children:["Create Service Account for ",ie]}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),K(!0)}(e)},children:(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",sx:{marginTop:1},children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)(l.ZP,{container:!0,item:!0,spacing:"20",children:(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsxs)(l.ZP,{container:!0,children:[(0,k.jsx)(l.ZP,{item:!0,xs:1,children:(0,k.jsx)(p.tvm,{})}),(0,k.jsx)(l.ZP,{item:!0,children:(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",children:[(0,k.jsxs)(l.ZP,{item:!0,xs:12,children:[" ",(0,k.jsx)("div",{className:t.stackedInputs,children:(0,k.jsx)(y.Z,{value:L,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){z(e.target.value)}})})]}),(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)("div",{className:t.stackedInputs,children:(0,k.jsx)(y.Z,{value:O,label:"Secret Key",id:"secretKey",name:"secretKey",type:q?"text":"password",placeholder:"Enter Secret Key",onChange:function(e){R(e.target.value)},overlayIcon:q?(0,k.jsx)(b.Z,{}):(0,k.jsx)(Z.Z,{}),overlayAction:function(){return X(!q)}})})})]})})]})})})}),(0,k.jsxs)(l.ZP,{container:!0,item:!0,spacing:"20",children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsxs)(l.ZP,{container:!0,children:[(0,k.jsx)(l.ZP,{item:!0,xs:1,children:(0,k.jsx)(p.v42,{})}),(0,k.jsx)(l.ZP,{item:!0,xs:11,children:(0,k.jsx)(g.Z,{value:"serviceAccountPolicy",id:"serviceAccountPolicy",name:"serviceAccountPolicy",checked:W,onChange:function(e){_(e.target.checked)},label:"Restrict beyond user policy",tooltip:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."})})]})}),W&&(0,k.jsx)(l.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,k.jsx)(l.ZP,{item:!0,xs:12,className:t.formScrollable,children:(0,k.jsx)(m.Z,{label:"Policy",value:te,onBeforeChange:function(e,t,n){ne(n)}})})})]}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,k.jsx)(u.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){G(null),z(""),R(""),X(!1)},children:"Clear"}),(0,k.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",children:"Create"})]})]})})]}),(0,k.jsx)(N,{})]})})]})]})}))},3579:function(e,t,n){var i=n(95318);t.Z=void 0;var o=i(n(45649)),r=n(80184),s=(0,o.default)((0,r.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=s},20165:function(e,t,n){var i=n(95318);t.Z=void 0;var o=i(n(45649)),r=n(80184),s=(0,o.default)((0,r.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=s},63466:function(e,t,n){n.d(t,{Z:function(){return b}});var i=n(4942),o=n(63366),r=n(87462),s=n(72791),a=n(28182),c=n(90767),l=n(14036),d=n(20890),u=n(93840),p=n(52930),m=n(47630),x=n(95159);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,y=(0,n(30208).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=n(93736),v=n(80184),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],Z=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,l.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(y.positionStart,"&:not(.").concat(y.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),b=s.forwardRef((function(e,t){var n=(0,g.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,m=n.className,x=n.component,y=void 0===x?"div":x,b=n.disablePointerEvents,S=void 0!==b&&b,C=n.disableTypography,w=void 0!==C&&C,A=n.position,P=n.variant,k=(0,o.Z)(n,j),K=(0,p.Z)()||{},N=P;P&&K.variant,K&&!N&&(N=K.variant);var B=(0,r.Z)({},n,{hiddenLabel:K.hiddenLabel,size:K.size,disablePointerEvents:S,position:A,variant:N}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,o=e.position,r=e.size,s=e.variant,a={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,l.Z)(o)),s,i&&"hiddenLabel",r&&"size".concat((0,l.Z)(r))]};return(0,c.Z)(a,h,t)}(B);return(0,v.jsx)(u.Z.Provider,{value:null,children:(0,v.jsx)(Z,(0,r.Z)({as:y,ownerState:B,className:(0,a.Z)(E.root,m),ref:t},k,{children:"string"!==typeof i||w?(0,v.jsxs)(s.Fragment,{children:["start"===A?f||(f=(0,v.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,v.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},61120:function(e,t,n){function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}n.d(t,{Z:function(){return i}})},60136:function(e,t,n){n.d(t,{Z:function(){return o}});var i=n(89611);function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,i.Z)(e,t)}},6215:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}n.d(t,{Z:function(){return r}});var o=n(97326);function r(e,t){if(t&&("object"===i(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,o.Z)(e)}}}]);
-//# sourceMappingURL=2731.2c59ed4f.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2731.2c59ed4f.chunk.js.map b/portal-ui/build/static/js/2731.2c59ed4f.chunk.js.map
deleted file mode 100644
index 7fe2ac736..000000000
--- a/portal-ui/build/static/js/2731.2c59ed4f.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2731.2c59ed4f.chunk.js","mappings":"yUA+FA,GAAeA,EAAAA,EAAAA,IArEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,UAAW,CACTC,QAAS,OACTC,SAAU,SACVC,QAAS,gBAEXC,cAAe,CACb,wBAAyB,CACvBC,MAAO,OACPC,WAAY,UACZ,wBAAyB,CACvBC,OAAQ,SAEV,mCAAoC,CAClCC,YAAa,QACb,wBAAyB,CACvBD,OAAQ,UAId,kCAAmC,CACjCF,MAAO,QACPE,OAAQ,UAGZE,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERC,SAAU,cAyChB,EArCuB,SAAC,GAQjB,IAAD,IAPJC,MAAAA,OAOI,MAPI,GAOJ,MANJC,MAAAA,OAMI,MANI,GAMJ,MALJC,QAAAA,OAKI,MALM,GAKN,EACJ,OACE,iBAAKC,UAAWD,EAAQd,UAAxB,WACE,iBAAKe,UAAWD,EAAQL,WAAxB,UAAqCG,EAArC,QACA,gBAAKG,UAAWD,EAAQV,cAAxB,UACE,SAACY,EAAA,EAAD,CACEH,MAAOA,EACPI,UAAQ,EACRC,cACE,SAACC,EAAA,EAAD,CAAgBC,SAAS,MAAzB,UACE,SAAC,IAAD,CAAiBC,KAAMR,EAAvB,UACE,SAACS,EAAA,EAAD,CACE,aAAW,OACXC,QAAS,OACTC,QAAS,aACTC,YAAa,aACbC,KAAK,MALP,UAOE,SAAC,MAAD,oB,iCCTZC,EAAW,SAACC,EAAkBP,GAClC,IAAIQ,EAAUC,SAASC,cAAc,KACrCF,EAAQG,aACN,OACA,kCAAmCC,EAAAA,EAAAA,IAAgBZ,IAErDQ,EAAQG,aAAa,WAAYJ,GAEjCC,EAAQK,MAAMjC,QAAU,OACxB6B,SAASK,KAAKC,YAAYP,GAE1BA,EAAQQ,QACRP,SAASK,KAAKG,YAAYT,IA6L5B,GAAehC,EAAAA,EAAAA,IArPA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXwC,aAAc,CACZC,MAAO,MACP7B,SAAU,SACV8B,OAAQ,kBACRxC,QAAS,OACTyC,WAAY,SACZ,SAAU,CACRlC,YAAa,QACbD,OAAQ,GACRF,MAAO,KAGXsC,gBAAiB,CACfxC,QAAS,cACTyC,WAAY,IACZjC,SAAU,SAEZkC,gBAAiB,CACfC,UAAW,QACXC,UAAW,QAEbC,iBAAkB,CAChBC,UAAW,OACXC,UAAW,KAEbC,YAAa,CACXlD,QAAS,OACTyC,WAAY,UAEdU,aAAc,CACZ5C,YAAa,aAqNnB,EA1L0B,SAAC,GAMK,IAL9BM,EAK6B,EAL7BA,QACAuC,EAI6B,EAJ7BA,kBACAC,EAG6B,EAH7BA,KACAC,EAE6B,EAF7BA,WACAC,EAC6B,EAD7BA,OAEA,IAAKH,EACH,OAAO,KAET,IAAMI,EAAeC,GAAAA,CAAIL,EAAmB,UAAW,MACjDM,EAAMD,GAAAA,CAAIL,EAAmB,OAAO,GAE1C,OACE,SAACO,EAAA,EAAD,CACEC,UAAWP,EACXQ,QAAS,WACPP,KAEFQ,OACE,gBAAKhD,UAAWD,EAAQqC,YAAxB,UACE,kCAAUK,EAAV,gBAGJQ,WAAW,SAAC,MAAD,IAVb,UAYE,UAACC,EAAA,GAAD,CAAMjE,WAAS,EAAf,WACE,UAACiE,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIpD,UAAWD,EAAQsD,eAAtC,mBACSZ,EADT,iDAEIG,GAAOF,IACP,SAAC,WAAD,WACE,UAACQ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIpD,UAAWD,EAAQkC,iBAAtC,WACE,gBAAKjC,UAAWD,EAAQ6B,gBAAxB,iCAGC0B,MAAMC,QAAQb,IACbA,EAAac,KAAI,SAACC,EAAiBC,GACjC,OACE,iCACE,SAAC,EAAD,CACE7D,MAAM,aACNC,MAAO2D,EAAgBE,aAEzB,SAAC,EAAD,CACE9D,MAAM,aACNC,MAAO2D,EAAgBG,mBAK/BN,MAAMC,QAAQb,KACd,iCACE,SAAC,EAAD,CACE7C,MAAM,aACNC,MAAO4C,EAAaiB,aAEtB,SAAC,EAAD,CACE9D,MAAM,aACNC,MAAO4C,EAAakB,qBAOb,OAAjBlB,QAA0CmB,IAAjBnB,KACzB,iCACE,SAAC,EAAD,CACE7C,MAAM,aACNC,MAAOwC,EAAkBqB,WAAa,MAExC,SAAC,EAAD,CACE9D,MAAM,aACNC,MAAOwC,EAAkBsB,WAAa,QAI3ChB,GACC,gBAAK5C,UAAWD,EAAQyB,aAAxB,0EAIA,iBAAKxB,UAAWD,EAAQyB,aAAxB,WACE,SAACsC,EAAA,EAAD,KACA,8GAON,SAACZ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIpD,UAAWD,EAAQ+B,gBAAtC,UACIc,IACA,iCACE,SAACmB,EAAA,EAAD,CACEC,GAAI,kBACJxD,QACE,wIAEFF,KAAM,sBACNN,UAAWD,EAAQsC,aACnB5B,QAAS,WACP,IAAIwD,EAAgB,GAEhBvB,EAmBAuB,EAlBGX,MAAMC,QAAQb,GASFA,EAAac,KAAI,SAACU,GAC/B,MAAO,CACLC,IAAKD,EAAQC,IACbR,UAAWO,EAAQP,UACnBC,UAAWM,EAAQN,UACnBQ,IAAK,OACLC,KAAM,WAGa,GAjBP,CACdF,IAAKzB,EAAayB,IAClBR,UAAWjB,EAAaiB,UACxBC,UAAWlB,EAAakB,UACxBQ,IAAK,OACLC,KAAM,QAeVJ,EAAgB,CACdE,IAAK7B,EAAkB6B,IACvBR,UAAWrB,EAAkBqB,UAC7BC,UAAWtB,EAAkBsB,UAC7BQ,IAAK,OACLC,KAAM,QAIVzD,EACE,mBACA0D,KAAKC,WAAL,UACKN,MAITO,MAAM,SAAC,MAAD,IACNC,QAAQ,YACRhD,MAAM,YAGP6B,MAAMC,QAAQb,IAAiBA,EAAagC,OAAS,IACpD,SAACX,EAAA,EAAD,CACEC,GAAI,sBACJxD,QACE,iNAEFF,KAAM,kCACNN,UAAWD,EAAQsC,aACnB5B,QAAS,WACP,IAAIkE,EAAiB,GACjBjC,IAOFiC,EANejC,EAAac,KAAI,SAACU,GAC/B,MAAO,CACLP,UAAWO,EAAQP,UACnBC,UAAWM,EAAQN,eAKzBhD,EACE,uBACA0D,KAAKC,WAAL,UACKI,MAITH,MAAM,SAAC,MAAD,IACNC,QAAQ,YACRhD,MAAM,0B,kRCnNlBmD,EAAqC,CACzCC,KAAAA,EAAAA,GACAC,KAAM,kBAAMC,EAAAA,EAAAA,OAAsBD,EAAAA,KAG9BE,EAAaC,EAAAA,GAAAA,MACjB,CACE,IAAK,CACHC,gBAAiB,WAEnB,cAAe,CACbC,WAAY,WAEd,0BAA2B,CACzBC,gBAAiB,WAEnB,cAAe,CACbF,gBAAiB,UACjBzD,MAAO,UACP4D,OAAQ,QAEV,2BAA4B,CAC1BC,YAAa,qBAEf,oBAAqB,CACnB1F,SAAU,QAEZ,WAAY,CACVA,SAAU,OACV6B,MAAO,UACP,aAAS,CACPA,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChByD,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBzD,MAAO,WAET,qBAAsB,CACpByD,gBAAiB,WAEnB,qBAAsB,CACpBrD,WAAY,KAEd,2BAA4B,CAC1BqD,gBAAiB,UACjBzD,MAAO,YAGX,CACE8D,MAAM,IAIJC,EAAYP,EAAAA,GAAAA,MAChB,CACE,IAAK,CACHC,gBAAiB,UACjBzD,MAAO,WAGT,2BAA4B,CAC1B6D,YAAa,qBAEf,oBAAqB,CACnB1F,SAAU,QAEZ,WAAY,CACVA,SAAU,OACV,yBAAgB,CACd6B,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChByD,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjBzD,MAAO,WAET,6CAA8C,CAC5CyD,gBAAiB,UAGrB,CACEK,MAAM,IAqHV,KAAezG,EAAAA,EAAAA,IAxNA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRW,EAAAA,OAsNP,EAjH0B,SAAC,GASN,IARnBG,EAQkB,EARlBA,MAQkB,IAPlBD,MAAAA,OAOkB,MAPV,GAOU,MANlBW,QAAAA,OAMkB,MANR,GAMQ,MALlBiF,KAAAA,OAKkB,MALX,OAKW,EAJlB1F,EAIkB,EAJlBA,QACA2F,EAGkB,EAHlBA,eAGkB,IAFlBxF,SAAAA,OAEkB,aADlByF,aAAAA,OACkB,MADH,QACG,EAClB,GAAsCC,EAAAA,EAAAA,WAAkB,GAAxD,eAAOC,EAAP,KAAoBC,EAApB,KAGIC,EAA6B,GAKjC,OAJInB,EAAca,KAChBM,EAAa,kBAAOA,GAAP,CAAsBnB,EAAca,SAIjD,UAAC,WAAD,YACE,UAAC,IAAD,CAAYzF,UAAWD,EAAQL,WAA/B,WACE,0BAAOG,IACM,KAAZW,IACC,gBAAKR,UAAWD,EAAQiG,iBAAxB,UACE,SAAC,IAAD,CAAShD,MAAOxC,EAASyF,UAAU,YAAnC,UACE,gBAAKjG,UAAWD,EAAQS,QAAxB,UACE,SAAC,IAAD,cAMV,SAAC,KAAD,CAAM2C,MAAI,EAACC,GAAI,GAAf,UACE,qBAGF,UAAC,KAAD,CACED,MAAI,EACJC,GAAI,GACJ8C,GAAI,CACFb,OAAQ,qBAJZ,WAOE,SAAC,KAAD,CAAMlC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,KAAD,CACEtD,MAAOA,EACPf,MAAO8G,EAAcL,EAAYR,EACjCmB,WAAYJ,EACZK,UAAWlG,EACXmG,YAAY,EACZ7G,OAAQmG,EACRW,SAAU,SAACC,EAAWC,GACpBd,EAAe,KAAM,KAAMa,SAIjC,SAAC,KAAD,CACEpD,MAAI,EACJC,GAAI,GACJ8C,GAAI,CACFO,UAAW,oBACXlH,WAAYsG,EAAc,UAAY,WAL1C,UAQE,UAAC,IAAD,CACE7F,UAAW6F,EAAc,aAAe,GACxCK,GAAI,CACFhH,QAAS,OACTyC,WAAY,SACZvC,QAAS,MACTsH,aAAc,MACdC,eAAgB,WAChB,WAAY,CACVnH,OAAQ,OACRF,MAAO,OACPF,QAAS,MACT,aAAc,CACZwH,WAAY,MAIhB,sBAAuB,CACrBrH,WAAY,YAlBlB,WAsBE,SAAC,IAAD,CACEiB,QAAS,eACTC,QAAS,WACPqF,GAAgBD,IAElBvF,KAAM,GACNkE,MAAM,SAAC,MAAD,IACN/C,MAAO,UACPgD,QAAS,cAEX,SAAC,IAAD,CAAiBnE,KAAMR,EAAvB,UACE,SAAC,IAAD,CACEU,QAAS,oBACTC,QAAS,aACTH,KAAM,GACNkE,MAAM,SAAC,MAAD,IACN/C,MAAO,UACPgD,QAAS,8B,wMClFzB,KAAe3F,EAAAA,EAAAA,IAlIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACR6H,EAAAA,IADO,IAEVC,QAAS,CACP1H,QAAS,GACT2H,cAAe,GAEjBC,iBAAkB,CAChB1H,MAAO,OACP2H,SAAU,MAETC,EAAAA,OAuHP,EApHqB,SAAC,GASF,IARlBnE,EAQiB,EARjBA,QACAD,EAOiB,EAPjBA,UACAE,EAMiB,EANjBA,MACAmE,EAKiB,EALjBA,SACApH,EAIiB,EAJjBA,QAIiB,IAHjBqH,UAAAA,OAGiB,SAFjBC,EAEiB,EAFjBA,iBAEiB,IADjBpE,UAAAA,OACiB,MADL,KACK,EACXqE,GAAWC,EAAAA,EAAAA,MACjB,GAAwC3B,EAAAA,EAAAA,WAAkB,GAA1D,eAAO4B,EAAP,KAAqBC,EAArB,KAEMC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMC,OAAOC,kBAGpCC,EAAAA,EAAAA,YAAU,WACRT,GAASU,EAAAA,EAAAA,IAAqB,OAC7B,CAACV,KAEJS,EAAAA,EAAAA,YAAU,WACR,GAAIL,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBO,QAEpB,YADAR,GAAgB,GAIa,UAA3BC,EAAkBQ,MACpBT,GAAgB,MAGnB,CAACC,IAEJ,IAKMS,EAAaf,EACf,CACErH,QAAS,CACPqI,MAAOrI,EAAQiH,mBAGnB,CAAEC,SAAU,KAAeoB,WAAW,GAEtCJ,EAAU,GAYd,OAVIP,IACFO,EAAUP,EAAkBY,kBAEa,KAAvCZ,EAAkBY,kBAClBZ,EAAkBY,iBAAiB5D,OAAS,KAE5CuD,EAAUP,EAAkBO,WAK9B,UAAC,KAAD,gBACE1F,KAAMO,EACN/C,QAASA,GACLoI,GAHN,IAIEI,OAAQ,QACRxF,QAAS,SAACyF,EAAOC,GACA,kBAAXA,GACF1F,KAGJ/C,UAAWD,EAAQ2I,KAVrB,WAYE,UAAC,IAAD,CAAa1I,UAAWD,EAAQiD,MAAhC,WACE,iBAAKhD,UAAWD,EAAQ4I,UAAxB,UACG1F,EADH,IACeD,MAEf,gBAAKhD,UAAWD,EAAQ6I,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACX5E,GAAI,QACJhE,UAAWD,EAAQ8I,YACnBpI,QAASsC,EACT+F,eAAa,EACbC,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWC,SAAS,KACpB,SAAC,IAAD,CACEzG,KAAMiF,EACNxH,UAAWD,EAAQkJ,cACnBlG,QAAS,WA3Db0E,GAAgB,GAChBH,GAASU,EAAAA,EAAAA,IAAqB,MA6D1BC,QAASA,EACTiB,aAAc,CACZlJ,UAAU,GAAD,OAAKD,EAAQoJ,SAAb,YACPzB,GAAgD,UAA3BA,EAAkBQ,KACnCnI,EAAQqJ,cACR,KAGRC,iBACE3B,GAAgD,UAA3BA,EAAkBQ,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAelI,UAAWqH,EAAmB,GAAKtH,EAAQ+G,QAA1D,SACGK,Y,kWC/IHmC,EAAc,SAAC,GAMd,IALL9E,EAKI,EALJA,KACA+E,EAII,EAJJA,YAKA,OACE,UAACC,EAAA,EAAD,CACEtD,GAAI,CACFhH,QAAS,OACT,cAAe,CACbO,YAAa,OACbD,OAAQ,OACRF,MAAO,OACPmK,aAAc,SAPpB,UAWGjF,EAAM,KACP,gBAAKrD,MAAO,CAAEvB,SAAU,OAAQ8J,UAAW,SAAUjI,MAAO,WAA5D,SACG8H,QAgGT,EA3FqC,WACnC,OACE,UAACC,EAAA,EAAD,CACEtD,GAAI,CACFyD,KAAM,EACNtE,OAAQ,oBACRuE,aAAc,MACd1K,QAAS,OACTC,SAAU,SACVC,QAAS,OACT4C,UAAW,CACToB,GAAI,QATV,WAaE,UAACoG,EAAA,EAAD,CACEtD,GAAI,CACFtG,SAAU,OACViC,WAAY,IACZ3C,QAAS,OACTyC,WAAY,SACZ8H,aAAc,OACd1C,cAAe,OAEf,cAAe,CACbvH,OAAQ,OACRF,MAAO,OACPG,YAAa,SAZnB,WAgBE,SAAC,MAAD,KACA,mEAEF,UAAC+J,EAAA,EAAD,CAAKtD,GAAI,CAAEtG,SAAU,OAAQ6J,aAAc,QAA3C,WACE,UAACD,EAAA,EAAD,CAAKtD,GAAI,CAAEa,cAAe,QAA1B,WACE,SAACuC,EAAD,CACE9E,MAAM,SAAC,MAAD,IACN+E,YAAW,6BAEb,SAACC,EAAA,EAAD,CAAKtD,GAAI,CAAE2D,WAAY,QAAvB,gLAMF,UAACL,EAAA,EAAD,CAAKtD,GAAI,CAAEa,cAAe,QAA1B,WACE,SAACuC,EAAD,CACE9E,MAAM,SAAC,MAAD,IACN+E,YAAW,+BAEb,SAACC,EAAA,EAAD,CAAKtD,GAAI,CAAE2D,WAAY,QAAvB,oSAOA,SAACL,EAAA,EAAD,CAAKtD,GAAI,CAAE2D,WAAY,QAAvB,+IAKF,UAACL,EAAA,EAAD,CAAKtD,GAAI,CAAEa,cAAe,QAA1B,WACE,SAACuC,EAAD,CACE9E,MAAM,SAAC,MAAD,IACN+E,YAAW,4BAEb,SAACC,EAAA,EAAD,CAAKtD,GAAI,CAAE2D,WAAY,QAAvB,+RAOA,SAACL,EAAA,EAAD,CAAKtD,GAAI,CAAE2D,WAAY,QAAvB,4FAMJ,SAACL,EAAA,EAAD,CACEtD,GAAI,CACFhH,QAAS,OACTC,SAAU,gB,sBCkLpB,GAAeL,EAAAA,EAAAA,IA/PA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX8K,gBAAiB,CACf5K,QAAS,OACT6K,SAAU,EACVpI,WAAY,SACZD,OAAQ,OACRiF,eAAgB,SAChB,QAAS,CACPrH,MAAO,IACP,4BAA6B,CAC3BH,SAAU,aAIb6K,EAAAA,IACAC,EAAAA,OA+OP,EA5O0B,SAAC,GAAiD,IAA/ClK,EAA8C,EAA9CA,QAASmK,EAAqC,EAArCA,MAC9B5C,GAAWC,EAAAA,EAAAA,MACjB,GAAoC3B,EAAAA,EAAAA,WAAkB,GAAtD,eAAOuE,EAAP,KAAmBC,EAAnB,KACA,GAAkCxE,EAAAA,EAAAA,WAAiByE,EAAAA,EAAAA,GAAgB,KAAnE,eAAO1G,EAAP,KAAkB2G,EAAlB,KACA,GAAkC1E,EAAAA,EAAAA,WAAiByE,EAAAA,EAAAA,GAAgB,KAAnE,eAAOzG,EAAP,KAAkB2G,EAAlB,KACA,GACE3E,EAAAA,EAAAA,WAAkB,GADpB,eAAO4E,EAAP,KAA6BC,EAA7B,KAEA,GACE7E,EAAAA,EAAAA,UAAmC,MADrC,eAAOtD,EAAP,KAA0BoI,EAA1B,KAEA,GAAwC9E,EAAAA,EAAAA,WAAkB,GAA1D,eAAO+E,EAAP,KAAqBC,EAArB,KACA,GAAoChF,EAAAA,EAAAA,UAAiB,IAArD,gBAAOiF,GAAP,MAAmBC,GAAnB,MAEMC,IAAWC,EAAAA,EAAAA,IAAgBd,EAAMe,OAAN,WAEjClD,EAAAA,EAAAA,YAAU,WACJoC,GACF/F,EAAAA,EAAAA,OAEI,OAFJ,wBAGoBlD,EAAAA,EAAAA,IACd6J,IAJN,gCAMI,CACEG,OAAQL,GACRlH,UAAWA,EACXC,UAAWA,IAGduH,MAAK,SAACC,GACLhB,GAAc,GACdM,EAAqB,CACnB/G,UAAWyH,EAAIzH,WAAa,GAC5BC,UAAWwH,EAAIxH,WAAa,GAC5BO,IAAKiH,EAAIjH,KAAO,QAGnBkH,OAAM,SAACC,GACNlB,GAAc,GACd9C,GAASiE,EAAAA,EAAAA,IAAqBD,SAGnC,CACDnB,EACAC,EACA9C,EACAuD,GACAE,GACApH,EACAC,IAoBF,OACE,UAAC,EAAA4H,SAAD,WACGlJ,IACC,SAACmJ,EAAA,QAAD,CACEnJ,kBAAmBA,EACnBC,MAAI,EACJC,WAAY,WAVlBkI,EAAqB,MACrBgB,EAAAA,EAAAA,KAAA,UAAgBC,EAAAA,GAAAA,MAAhB,aAAmCzK,EAAAA,EAAAA,IAAgB6J,OAY7CtI,OAAO,qBAGX,UAACS,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,WACE,SAACwI,EAAA,EAAD,CACE/L,OACE,SAACgM,EAAA,EAAD,CACEC,GAAE,UAAKH,EAAAA,GAAAA,MAAL,aAAwBzK,EAAAA,EAAAA,IAAgB6J,KAC1ClL,MAAO,kBAAoBkL,QAIjC,SAACgB,EAAA,EAAD,WACE,UAACvC,EAAA,EAAD,CACEtD,GAAI,CACFhH,QAAS,OACTE,QAAS,OACT4M,IAAK,OACLC,oBAAqB,CACnBC,GAAI,YACJ9I,GAAI,OAENiC,OAAQ,qBATZ,WAYE,UAACmE,EAAA,EAAD,YACE,UAAC2C,EAAA,EAAD,CAAc3H,MAAM,SAAC,MAAD,IAApB,wCAC8BuG,OAE9B,iBACEqB,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,IA1DK,SAACA,GAC7BA,EAAEC,iBACFpC,GAAc,GAyDAqC,CAAsBF,IAJ1B,UAOE,UAACrJ,EAAA,GAAD,CAAMjE,WAAS,EAACkE,MAAI,EAACuJ,QAAQ,KAAKxG,GAAI,CAAElE,UAAW,GAAnD,WACE,SAACkB,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,SAACF,EAAA,GAAD,CAAMjE,WAAS,EAACkE,MAAI,EAACuJ,QAAQ,KAA7B,UACE,SAACxJ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,UAACF,EAAA,GAAD,CAAMjE,WAAS,EAAf,WACE,SAACiE,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,EAAf,UACE,SAAC,MAAD,OAEF,SAACF,EAAA,GAAD,CAAMC,MAAI,EAAV,UACE,UAACD,EAAA,GAAD,CAAMjE,WAAS,EAACkE,MAAI,EAACuJ,QAAQ,KAA7B,WACE,UAACxJ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACG,KACD,gBAAKpD,UAAWD,EAAQ4M,cAAxB,UACE,SAACC,EAAA,EAAD,CACE9M,MAAO6D,EACP9D,MAAO,aACPmE,GAAI,YACJ6I,KAAM,YACNC,YAAa,mBACbxG,SAAU,SAACiG,GACTjC,EAAaiC,EAAEQ,OAAOjN,gBAK9B,SAACoD,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKpD,UAAWD,EAAQ4M,cAAxB,UACE,SAACC,EAAA,EAAD,CACE9M,MAAO8D,EACP/D,MAAO,aACPmE,GAAI,YACJ6I,KAAM,YACN3E,KAAMyC,EAAe,OAAS,WAC9BmC,YAAa,mBACbxG,SAAU,SAACiG,GACThC,EAAagC,EAAEQ,OAAOjN,QAExBkN,YACErC,GACE,SAACsC,EAAA,EAAD,KAEA,SAACC,EAAA,EAAD,IAGJC,cAAe,kBACbvC,GAAiBD,yBAWrC,UAACzH,EAAA,GAAD,CAAMjE,WAAS,EAACkE,MAAI,EAACuJ,QAAQ,KAA7B,WACE,SAACxJ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,UAACF,EAAA,GAAD,CAAMjE,WAAS,EAAf,WACE,SAACiE,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,EAAf,UACE,SAAC,MAAD,OAEF,SAACF,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,SAACgK,EAAA,EAAD,CACEtN,MAAM,uBACNkE,GAAG,uBACH6I,KAAK,uBACLQ,QAAS7C,EACTlE,SAAU,SACRkC,GAEAiC,EAAwBjC,EAAMuE,OAAOM,UAEvCxN,MAAO,8BACPW,QACE,4RAMTgK,IACC,SAACtH,EAAA,GAAD,CACEC,MAAI,EACJC,GAAI,GACJpD,UAAWD,EAAQuN,oBAHrB,UAKE,SAACpK,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIpD,UAAWD,EAAQsD,eAAtC,UACE,SAACkK,EAAA,EAAD,CACE1N,MAAO,SACPC,MAAO+K,GACPnF,eAAgB,SAAC8H,EAAQC,EAAM3N,GAC7BgL,GAAchL,cAO1B,UAACoD,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIpD,UAAWD,EAAQ2N,eAAtC,WACE,SAACC,EAAA,EAAD,CACEzF,KAAK,SACLzD,QAAQ,WACRhD,MAAM,UACNhB,QAjKF,WAChBiK,EAAqB,MACrBJ,EAAa,IACbC,EAAa,IACbK,GAAgB,IAyJA,oBAQA,SAAC+C,EAAA,EAAD,CAAQzF,KAAK,SAASzD,QAAQ,YAAYhD,MAAM,UAAhD,gCAOR,SAAC,EAAD,mB,yBC9SRmM,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sNACD,gBAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,8fACD,iBAEJN,EAAQ,EAAUG,G,6LChBX,SAASI,EAA8BC,GAC5C,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,GAEnD,ICDIE,EDEJ,GAD8BC,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,SAAU,WAAY,WAAY,gBAAiB,cAAe,uBAAwB,cAAe,c,sBCCtLC,EAAY,CAAC,WAAY,YAAa,YAAa,uBAAwB,oBAAqB,WAAY,WAqC5GC,GAAqBC,EAAAA,EAAAA,IAAO,MAAO,CACvC/B,KAAM,oBACNyB,KAAM,OACNO,kBAzBwB,SAACC,EAAOC,GAChC,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAOrG,KAAMqG,EAAO,WAAD,QAAYE,EAAAA,EAAAA,GAAWD,EAAW3O,aAAkD,IAApC2O,EAAWE,sBAAiCH,EAAOG,qBAAsBH,EAAOC,EAAWvK,YAkB7ImK,EAIxB,gBACD7P,EADC,EACDA,MACAiQ,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACbjQ,QAAS,OACTM,OAAQ,SAER2C,UAAW,MACXR,WAAY,SACZyN,WAAY,SACZ3N,MAAO1C,EAAMsQ,QAAQC,OAAOC,QACJ,WAAvBP,EAAWvK,UAAX,sBAEK+K,EAAAA,cAFL,kBAEkDA,EAAAA,YAFlD,KAEyF,CACxFxN,UAAW,KAEY,UAAxBgN,EAAW3O,UAAwB,CAEpCZ,YAAa,GACY,QAAxBuP,EAAW3O,UAAsB,CAElCuG,WAAY,IACyB,IAApCoI,EAAWE,sBAAiC,CAE7CO,cAAe,YA4HjB,EA1HoCC,EAAAA,YAAiB,SAAwBC,EAASC,GACpF,IAAMd,GAAQe,EAAAA,EAAAA,GAAc,CAC1Bf,MAAOa,EACP9C,KAAM,sBAIN1F,EAOE2H,EAPF3H,SACAnH,EAME8O,EANF9O,UAFF,EAQI8O,EALFgB,UAAAA,OAHF,MAGc,MAHd,IAQIhB,EAJFI,qBAAAA,OAJF,WAQIJ,EAHFiB,kBAAAA,OALF,SAME1P,EAEEyO,EAFFzO,SACS2P,EACPlB,EADFrK,QAEIwL,GAAQC,EAAAA,EAAAA,GAA8BpB,EAAOJ,GAE7CyB,GAAiBC,EAAAA,EAAAA,MAAoB,GACvC3L,EAAUuL,EAEVA,GAAeG,EAAe1L,QAQ9B0L,IAAmB1L,IACrBA,EAAU0L,EAAe1L,SAG3B,IAAMuK,GAAaG,EAAAA,EAAAA,GAAS,GAAIL,EAAO,CACrCuB,YAAaF,EAAeE,YAC5BtH,KAAMoH,EAAepH,KACrBmG,qBAAAA,EACA7O,SAAAA,EACAoE,QAAAA,IAGI1E,EArFkB,SAAAiP,GACxB,IACEjP,EAMEiP,EANFjP,QACAmP,EAKEF,EALFE,qBACAmB,EAIErB,EAJFqB,YACAhQ,EAGE2O,EAHF3O,SACA0I,EAEEiG,EAFFjG,KACAtE,EACEuK,EADFvK,QAEI6L,EAAQ,CACZ5H,KAAM,CAAC,OAAQwG,GAAwB,uBAAwB7O,GAAY,WAAJ,QAAe4O,EAAAA,EAAAA,GAAW5O,IAAaoE,EAAS4L,GAAe,cAAetH,GAAQ,OAAJ,QAAWkG,EAAAA,EAAAA,GAAWlG,MAEjL,OAAOwH,EAAAA,EAAAA,GAAeD,EAAOjC,EAA+BtO,GAyE5CyQ,CAAkBxB,GAClC,OAAoByB,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpD5Q,MAAO,KACPqH,UAAuBsJ,EAAAA,EAAAA,KAAK9B,GAAoBQ,EAAAA,EAAAA,GAAS,CACvDwB,GAAIb,EACJd,WAAYA,EACZhP,WAAW4Q,EAAAA,EAAAA,GAAK7Q,EAAQ2I,KAAM1I,GAC9B4P,IAAKA,GACJK,EAAO,CACR9I,SAA8B,kBAAbA,GAA0B4I,GAGzBc,EAAAA,EAAAA,MAAMnB,EAAAA,SAAgB,CACtCvI,SAAU,CAAc,UAAb9G,EAEXmO,IAAUA,GAAqBiC,EAAAA,EAAAA,KAAK,OAAQ,CAC1CzQ,UAAW,cACXmH,SAAU,YACN,KAAMA,MAT8DsJ,EAAAA,EAAAA,KAAKK,EAAAA,EAAY,CAC3FrP,MAAO,iBACP0F,SAAUA,a,sBC3HH,SAAS4J,EAAgBC,GAItC,OAHAD,EAAkBE,OAAOC,eAAiBD,OAAOE,eAAiB,SAAyBH,GACzF,OAAOA,EAAEI,WAAaH,OAAOE,eAAeH,IAEvCD,EAAgBC,G,sGCHV,SAASK,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIC,UAAU,sDAGtBF,EAASG,UAAYR,OAAOS,OAAOH,GAAcA,EAAWE,UAAW,CACrEE,YAAa,CACX7R,MAAOwR,EACPM,UAAU,EACVC,cAAc,KAGlBZ,OAAOa,eAAeR,EAAU,YAAa,CAC3CM,UAAU,IAERL,IAAY,OAAeD,EAAUC,K,qBChB5B,SAASQ,EAAQC,GAG9B,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIL,cAAgBM,QAAUD,IAAQC,OAAOR,UAAY,gBAAkBO,GACvHD,EAAQC,G,+CCLE,SAASG,EAA2BC,EAAMC,GACvD,GAAIA,IAA2B,WAAlBN,EAAQM,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIb,UAAU,4DAGtB,OAAO,EAAAc,EAAA,GAAsBF","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Users/AddUserServiceAccountHelpBox.tsx","screens/Console/Users/AddUserServiceAccountScreen.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { encodeURLString } from \"../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURLString(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n \n \n {!idp && (\n <>\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\"\n />\n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n {\n let allCredentials = {};\n if (consoleCreds) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\"\n />\n )}\n >\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n \n \n \n }\n description={`Create Service Accounts`}\n />\n \n Service Accounts inherit the policies explicitly attached to the\n parent user, and the policies attached to each group in which the\n parent user has membership.\n \n \n \n }\n description={`Assign Custom Credentials`}\n />\n \n Randomized access credentials are recommended, and provided by\n default. You may use your own custom Access Key and Secret Key by\n replacing the default values. After creation of any Service Account,\n you will be given the opportunity to view and download the account\n credentials.\n \n \n Service Accounts support programmatic access by applications. You\n cannot use a Service Account to log into the MinIO Console.\n \n \n \n }\n description={`Assign Access Policies`}\n />\n \n You can specify an optional JSON-formatted IAM policy to further\n restrict Service Account access to a subset of the actions and\n resources explicitly allowed for the parent user. Additional access\n beyond that of the parent user cannot be implemented through these\n policies.\n \n \n You cannot modify the optional Service Account IAM policy after\n saving.\n \n \n \n \n \n );\n};\n\nexport default AddUserServiceAccountHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button } from \"@mui/material\";\nimport {\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n} from \"../../../icons\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport history from \"../../../../src/history\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { useDispatch } from \"react-redux\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport SectionTitle from \"../Common/SectionTitle\";\nimport { getRandomString } from \"../../../screens/Console/Tenants/utils\";\nimport AddUserServiceAccountHelpBox from \"./AddUserServiceAccountHelpBox\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\n\ninterface IAddServiceAccountProps {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddServiceAccount = ({ classes, match }: IAddServiceAccountProps) => {\n const dispatch = useDispatch();\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(16));\n const [secretKey, setSecretKey] = useState(getRandomString(32));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [showPassword, setShowPassword] = useState(false);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n const userName = decodeURLString(match.params[\"userName\"]);\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\n \"POST\",\n `/api/v1/user/${encodeURLString(\n userName\n )}/service-account-credentials`,\n {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n }\n )\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [\n addSending,\n setAddSending,\n dispatch,\n policyJSON,\n userName,\n accessKey,\n secretKey,\n ]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n setShowPassword(false);\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n history.push(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`);\n };\n\n return (\n \n {newServiceAccount && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n \n \n }\n />\n \n \n \n }>\n Create Service Account for {userName}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(AddServiceAccount);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","download","filename","element","document","createElement","setAttribute","encodeURLString","style","body","appendChild","click","removeChild","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","undefined","WarnIcon","RBIconButton","id","consoleExtras","itemMap","url","api","path","JSON","stringify","icon","variant","length","allCredentials","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","dark","darkTheme","mode","onBeforeChange","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","onChange","v","vu","borderTop","paddingRight","justifyContent","marginLeft","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","dispatch","useDispatch","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","type","customSize","paper","fullWidth","detailedErrorMsg","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","FeatureItem","description","Box","marginBottom","fontStyle","flex","borderRadius","paddingTop","bottomContainer","flexGrow","formFieldStyles","modalStyleUtils","match","addSending","setAddSending","getRandomString","setAccessKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","setNewServiceAccount","showPassword","setShowPassword","policyJSON","setPolicyJSON","userName","decodeURLString","params","policy","then","res","catch","err","setErrorSnackMessage","Fragment","CredentialsPrompt","history","IAM_PAGES","PageHeader","BackLink","to","PageLayout","gap","gridTemplateColumns","md","SectionTitle","noValidate","autoComplete","onSubmit","e","preventDefault","addUserServiceAccount","spacing","stackedInputs","InputBoxWrapper","name","placeholder","target","overlayIcon","VisibilityOff","RemoveRedEye","overlayAction","FormSwitchWrapper","checked","codeMirrorContainer","CodeMirrorWrapper","editor","data","modalButtonBar","Button","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","props","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","palette","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","self","call","assertThisInitialized"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2983.fe24695f.chunk.js.map b/portal-ui/build/static/js/2983.fe24695f.chunk.js.map
index ecd5092be..980de4a8e 100644
--- a/portal-ui/build/static/js/2983.fe24695f.chunk.js.map
+++ b/portal-ui/build/static/js/2983.fe24695f.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/2983.fe24695f.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/TableWrapper/TableActionIcons/common.ts","screens/Console/Common/TableWrapper/TableActionIcons/CloudIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/ConsoleIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/DisableIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/FormatDriveIcon.tsx","screens/Console/Common/TableWrapper/TableActionButton.tsx","screens/Console/Common/TableWrapper/TableWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n
\n )}\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","classes","className","item","xs","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","EditIcon","TrashIcon","DownloadIcon","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","Tooltip","isString","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUp","ArrowDropDown","contentTextAlign","cellRenderer","rowData","isSelected","itemElement","get","renderConst","renderFullObject","renderElement","renderFunction","subRenderFunction","defaultSortDirection","toString","paper","overflow","flexDirection","padding","boxShadow","border","borderRadius","minHeight","overflowY","position","noBackground","backgroundColor","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","top","popoverContent","maxHeight","shownColumnsLabel","fontSize","borderBottom","checkAllWrapper","transitionDuration","outline","userSelect","fontWeight","fontStyle","borderColor","textTransform","textAlign","left","radioIcons","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","parentClassName","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","Paper","container","LinearProgress","ViewColumn","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","isRowLoaded","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","onRowsRendered","registerChild","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","onRowClick","rowItem","disableButtonFunction","history","clickAction","rowClassName","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","r","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","action","vlSend","showLoaderFunction","Loader","elementActions"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/2983.fe24695f.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/TableWrapper/TableActionIcons/common.ts","screens/Console/Common/TableWrapper/TableActionIcons/CloudIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/ConsoleIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/DisableIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/FormatDriveIcon.tsx","screens/Console/Common/TableWrapper/TableActionButton.tsx","screens/Console/Common/TableWrapper/TableWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n
\n )}\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","classes","className","item","xs","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","EditIcon","TrashIcon","DownloadIcon","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","Tooltip","isString","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUp","ArrowDropDown","contentTextAlign","cellRenderer","rowData","isSelected","itemElement","get","renderConst","renderFullObject","renderElement","renderFunction","subRenderFunction","defaultSortDirection","toString","paper","overflow","flexDirection","padding","boxShadow","border","borderRadius","minHeight","overflowY","position","noBackground","backgroundColor","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","top","popoverContent","maxHeight","shownColumnsLabel","fontSize","borderBottom","checkAllWrapper","transitionDuration","outline","userSelect","fontWeight","fontStyle","borderColor","textTransform","textAlign","left","radioIcons","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","parentClassName","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","Paper","container","LinearProgress","ViewColumn","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","isRowLoaded","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","onRowsRendered","registerChild","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","onRowClick","rowItem","disableButtonFunction","history","clickAction","rowClassName","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","r","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","action","vlSend","showLoaderFunction","Loader","elementActions"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3328.7229e7d2.chunk.js b/portal-ui/build/static/js/3328.7229e7d2.chunk.js
new file mode 100644
index 000000000..ff754ffdd
--- /dev/null
+++ b/portal-ui/build/static/js/3328.7229e7d2.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3328],{63328:function(e,n,t){t.r(n),t.d(n,{default:function(){return Q}});var i=t(29439),s=t(1413),o=t(72791),r=t(60364),l=t(11135),a=t(25787),c=t(61889),u=t(64554),d=t(26181),f=t.n(d),x=t(23814),p=t(81207),h=t(56087),m=t(38442),Z=t(75578),v=t(45902),j=t(80184),g=function(e){var n=e.icon,t=void 0===n?null:n,i=e.label,s=void 0===i?null:i;return(0,j.jsxs)(u.Z,{sx:{display:"flex"},children:[(0,j.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,j.jsx)("div",{style:{marginLeft:t?5:"none"},children:s})]})},b=t(62410),E=t(45987),T=t(36151),C=t(72401),S=["isLoading","onClick","label"],y=function(e){var n=e.isLoading,t=e.onClick,i=e.label,o=(0,E.Z)(e,S);return(0,j.jsx)(T.Z,(0,s.Z)((0,s.Z)({color:"primary",onClick:t,variant:"text",sx:{padding:0,margin:0,alignItems:"flex-start",justifyContent:"flex-start",display:"inline-flex",height:"auto",textDecoration:"underline",color:"#2781B0","&:hover":{background:"#ffffff",textDecoration:"underline"}},disableRipple:!0,disableFocusRipple:!0},o),{},{children:n?(0,j.jsx)(C.Z,{style:{width:16,height:16}}):i}))},_=t(13400),k=t(33548),N=["disabled","onClick"],I=(0,a.Z)((function(e){return(0,l.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,i=(0,E.Z)(e,N);return(0,j.jsx)(_.Z,(0,s.Z)((0,s.Z)({size:"small",disabled:n,onClick:t},i),{},{children:(0,j.jsx)(k.Z,{})}))})),O=function(e){var n=e.resourceName,t=e.iamScopes,i=e.secureCmpProps,o=void 0===i?{}:i,r=e.children;return(0,j.jsx)(m.s,(0,s.Z)((0,s.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},o),{},{children:r}))},R=function(e){var n=e.isLoading,t=void 0===n||n,i=e.resourceName,s=void 0===i?"":i,o=e.iamScopes,r=e.secureCmpProps,l=void 0===r?{}:r,a=e.property,c=void 0===a?null:a,d=e.value,f=void 0===d?null:d,x=e.onEdit;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,j.jsx)(v.Z,{label:c,value:(0,j.jsx)(O,{resourceName:s,iamScopes:o,secureCmpProps:l,children:(0,j.jsx)(y,{isLoading:t,onClick:x,label:f})})}),(0,j.jsx)(O,{resourceName:s,iamScopes:o,secureCmpProps:l,children:(0,j.jsx)(I,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})},F=t(45248),P=function(e){var n=e.bucketSize;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,j.jsx)(b.Mhr,{}),(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,j.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,j.jsx)("label",{children:(0,F.ae)(n)})]})]})},U=function(e){var n=e.quota;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,j.jsx)(b.sjJ,{}),(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,j.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,j.jsxs)("label",{children:[" ",(0,F.ae)("".concat(null===n||void 0===n?void 0:n.quota),!0)]})]})]})},G=t(50896),A=t(87995),B=t(9859),w=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(5609),t.e(3631)]).then(t.bind(t,33690))}))),L=(0,Z.Z)(o.lazy((function(){return t.e(1604).then(t.bind(t,1604))}))),M=(0,Z.Z)(o.lazy((function(){return t.e(8391).then(t.bind(t,18391))}))),K=(0,Z.Z)(o.lazy((function(){return t.e(402).then(t.bind(t,70402))}))),z=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(1918),t.e(1705)]).then(t.bind(t,71705))}))),D=(0,Z.Z)(o.lazy((function(){return t.e(1581).then(t.bind(t,1581))}))),V={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},Q=(0,a.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)({},x.bK),x.VI))}))((function(e){var n=e.classes,t=e.match,l=(0,r.I0)(),a=(0,r.v9)(B.HQ),d=(0,r.v9)(B.G6),x=(0,r.v9)(A.N5),Z=(0,o.useState)(null),E=(0,i.Z)(Z,2),T=E[0],C=E[1],S=(0,o.useState)("0"),y=(0,i.Z)(S,2),_=y[0],k=y[1],N=(0,o.useState)(!1),I=(0,i.Z)(N,2),O=I[0],F=I[1],Q=(0,o.useState)(!1),Y=(0,i.Z)(Q,2),q=Y[0],J=Y[1],W=(0,o.useState)(!1),$=(0,i.Z)(W,2),H=$[0],X=$[1],ee=(0,o.useState)(!0),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],se=(0,o.useState)(!0),oe=(0,i.Z)(se,2),re=oe[0],le=oe[1],ae=(0,o.useState)(!0),ce=(0,i.Z)(ae,2),ue=ce[0],de=ce[1],fe=(0,o.useState)(!0),xe=(0,i.Z)(fe,2),pe=xe[0],he=xe[1],me=(0,o.useState)(!0),Ze=(0,i.Z)(me,2),ve=Ze[0],je=Ze[1],ge=(0,o.useState)(!0),be=(0,i.Z)(ge,2),Ee=be[0],Te=be[1],Ce=(0,o.useState)(!0),Se=(0,i.Z)(Ce,2),ye=Se[0],_e=Se[1],ke=(0,o.useState)(!0),Ne=(0,i.Z)(ke,2),Ie=Ne[0],Oe=Ne[1],Re=(0,o.useState)(!1),Fe=(0,i.Z)(Re,2),Pe=Fe[0],Ue=Fe[1],Ge=(0,o.useState)(!1),Ae=(0,i.Z)(Ge,2),Be=Ae[0],we=Ae[1],Le=(0,o.useState)(null),Me=(0,i.Z)(Le,2),Ke=Me[0],ze=Me[1],De=(0,o.useState)(!1),Ve=(0,i.Z)(De,2),Qe=Ve[0],Ye=Ve[1],qe=(0,o.useState)(!1),Je=(0,i.Z)(qe,2),We=Je[0],$e=Je[1],He=(0,o.useState)(null),Xe=(0,i.Z)(He,2),en=Xe[0],nn=Xe[1],tn=(0,o.useState)(!1),sn=(0,i.Z)(tn,2),on=sn[0],rn=sn[1],ln=(0,o.useState)(!1),an=(0,i.Z)(ln,2),cn=an[0],un=an[1],dn=(0,o.useState)(!1),fn=(0,i.Z)(dn,2),xn=fn[0],pn=fn[1],hn=(0,o.useState)(!1),mn=(0,i.Z)(hn,2),Zn=mn[0],vn=mn[1],jn=t.params.bucketName,gn="n/a",bn="";null!==d&&(gn=d.access,bn=d.definition);var En=(0,m.F)(jn,[h.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),Tn=(0,m.F)(jn,[h.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),Cn=(0,m.F)(jn,[h.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,o.useEffect)((function(){de(!!a)}),[a,de]),(0,o.useEffect)((function(){pe&&(Tn?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/encryption/info")).then((function(e){e.algorithm&&(Ye(!0),C(e)),he(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(Ye(!1),C(null)),he(!1)})):(Ye(!1),C(null),he(!1)))}),[pe,jn,Tn]),(0,o.useEffect)((function(){ve&&x&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/versioning")).then((function(e){Ue(e.is_versioned),je(!1)})).catch((function(e){l((0,A.Ih)(e)),je(!1)}))}),[ve,l,jn,x]),(0,o.useEffect)((function(){Ee&&x&&(Cn?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/quota")).then((function(e){ze(e),e.quota?we(!0):we(!1),Te(!1)})).catch((function(e){l((0,A.Ih)(e)),we(!1),Te(!1)})):(we(!1),Te(!1)))}),[Ee,je,l,jn,x,Cn]),(0,o.useEffect)((function(){ve&&x&&(En?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/object-locking")).then((function(e){F(e.object_locking_enabled),ie(!1)})).catch((function(e){l((0,A.Ih)(e)),ie(!1)})):ie(!1))}),[te,l,jn,ve,x,En]),(0,o.useEffect)((function(){re&&p.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=f()(e,"buckets",[]).find((function(e){return e.name===jn})),t=f()(n,"size","0");le(!1),k(t)})).catch((function(e){le(!1),l((0,A.Ih)(e))}))}),[re,l,jn]),(0,o.useEffect)((function(){ye&&x&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/replication")).then((function(e){var n=e.rules?e.rules:[];X(n.length>0),_e(!1)})).catch((function(e){l((0,A.Ih)(e)),_e(!1)}))}),[ye,l,jn,x]),(0,o.useEffect)((function(){Ie&&O&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/retention")).then((function(e){Oe(!1),$e(!0),nn(e)})).catch((function(e){$e(!1),Oe(!1),nn(null)}))}),[Ie,O,jn]);var Sn=function(){l((0,B.d5)(!0)),de(!0),le(!0),je(!0),he(!0),Oe(!0)};return(0,j.jsxs)(o.Fragment,{children:[cn&&(0,j.jsx)(M,{open:cn,selectedBucket:jn,encryptionEnabled:Qe,encryptionCfg:T,closeModalAndRefresh:function(){un(!1),he(!0)}}),xn&&(0,j.jsx)(D,{open:xn,selectedBucket:jn,enabled:Be,cfg:Ke,closeModalAndRefresh:function(){pn(!1),Te(!0)}}),q&&(0,j.jsx)(w,{bucketName:jn,open:q,actualPolicy:gn,actualDefinition:bn,closeModalAndRefresh:function(){J(!1),Sn()}}),on&&(0,j.jsx)(L,{bucketName:jn,open:on,closeModalAndRefresh:function(){rn(!1),Sn()}}),Zn&&(0,j.jsx)(K,{closeVersioningModalAndRefresh:function(e){vn(!1),e&&Sn()},modalOpen:Zn,selectedBucket:jn,versioningCurrentState:Pe}),(0,j.jsx)(G.Z,{children:"Summary"}),(0,j.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:jn,children:(0,j.jsx)(c.ZP,{item:!0,xs:12,children:(0,j.jsxs)(u.Z,{sx:(0,s.Z)({},V),children:[(0,j.jsxs)(u.Z,{sx:(0,s.Z)({},V),children:[(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:jn,children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_POLICY],resourceName:jn,property:"Access Policy:",value:gn.toLowerCase(),onEdit:function(){J(!0)},isLoading:ue})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:jn,children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:jn,property:"Encryption:",value:Qe?"Enabled":"Disabled",onEdit:function(){un(!0)},isLoading:pe})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:jn,children:(0,j.jsx)(v.Z,{label:"Replication:",value:(0,j.jsx)(g,{icon:H?(0,j.jsx)(b.E31,{}):(0,j.jsx)(b.dRf,{}),label:(0,j.jsx)("label",{className:n.textMuted,children:H?"Enabled":"Disabled"})})})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:jn,children:(0,j.jsx)(v.Z,{label:"Object Locking:",value:(0,j.jsx)(g,{icon:O?(0,j.jsx)(b.E31,{}):(0,j.jsx)(b.dRf,{}),label:(0,j.jsx)("label",{className:n.textMuted,children:O?"Enabled":"Disabled"})})})}),(0,j.jsx)(u.Z,{className:n.spacerTop,children:(0,j.jsx)(v.Z,{label:"Tags:",value:(0,j.jsx)(z,{bucketName:jn})})}),(0,j.jsx)(R,{iamScopes:[h.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:jn,property:"Quota:",value:Be?"Enabled":"Disabled",onEdit:function(){pn(!0)},isLoading:Ee})]}),(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:[(0,j.jsx)(P,{bucketSize:_}),Be&&Ke?(0,j.jsx)(U,{quota:Ke}):null]})]})})}),x&&(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_VERSIONING],resource:jn,children:(0,j.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,j.jsx)(G.Z,{children:"Versioning"}),(0,j.jsx)(u.Z,{sx:(0,s.Z)({},V),children:(0,j.jsx)(u.Z,{sx:(0,s.Z)({},V),children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:jn,property:"Current Status:",value:Pe?"Versioned":"Unversioned (Default)",onEdit:function(){vn(!0)},isLoading:ve})})})]})}),O&&(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_OBJECT_RETENTION],resource:jn,children:(0,j.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,j.jsx)(G.Z,{children:"Retention"}),(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,j.jsx)(R,{iamScopes:[h.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:jn,property:"Retention:",value:We?"Enabled":"Disabled",onEdit:function(){rn(!0)},isLoading:Ie}),(0,j.jsx)(v.Z,{label:"Mode:",value:(0,j.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:en&&en.mode?en.mode:"-"})}),(0,j.jsx)(v.Z,{label:"Validity:",value:(0,j.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[en&&en.validity," ",en&&(1===en.validity?en.unit.slice(0,-1):en.unit)]})})]}),(0,j.jsx)(u.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})})]})]})}))},45902:function(e,n,t){var i=t(1413),s=(t(72791),t(53767)),o=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,r=e.value,l=void 0===r?"-":r,a=e.orientation,c=void 0===a?"column":a,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,h=void 0===p?{}:p;return(0,o.jsxs)(s.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},h),{},{children:l}))]}))}},53767:function(e,n,t){var i=t(4942),s=t(63366),o=t(87462),r=t(72791),l=t(51184),a=t(45682),c=t(78519),u=t(82466),d=t(47630),f=t(93736),x=t(80184),p=["component","direction","spacing","divider","children"];function h(e,n){var t=r.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,s){return e.push(i),s :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((s=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[s])),(0,a.NA)(r,e))};var s})))}return s})),Z=r.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),r=i.component,l=void 0===r?"div":r,a=i.direction,u=void 0===a?"column":a,d=i.spacing,Z=void 0===d?0:d,v=i.divider,j=i.children,g=(0,s.Z)(i,p),b={direction:u,spacing:Z};return(0,x.jsx)(m,(0,o.Z)({as:l,ownerState:b,ref:n},g,{children:v?h(j,v):j}))}));n.Z=Z}}]);
+//# sourceMappingURL=3328.7229e7d2.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3328.7229e7d2.chunk.js.map b/portal-ui/build/static/js/3328.7229e7d2.chunk.js.map
new file mode 100644
index 000000000..33ecf07a8
--- /dev/null
+++ b/portal-ui/build/static/js/3328.7229e7d2.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/3328.7229e7d2.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n
\n {icon}\n
\n
{label}
\n \n );\n};\n\nexport default LabelWithIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n );\n};\n\nexport default ActionLink;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { ReportedUsageFullIcon } from \"../../../../../icons\";\n\nconst ReportedUsage = ({ bucketSize }: { bucketSize: string }) => {\n return (\n \n \n\n \n \n \n \n \n );\n};\n\nexport default ReportedUsage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { HardBucketQuotaIcon } from \"../../../../../icons\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \n \n\n \n \n \n \n \n );\n};\n\nexport default BucketQuotaSize;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport {\n BucketEncryptionInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketReplication,\n BucketVersioning,\n} from \"../types\";\nimport { BucketList } from \"../../Watch/types\";\nimport {\n spacingUtils,\n textStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\n\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { DisabledIcon, EnabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\nimport SectionTitle from \"../../Common/SectionTitle\";\nimport { selDistSet, setErrorSnackMessage } from \"../../../../systemSlice\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n} from \"./bucketDetailsSlice\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...textStyleUtils,\n });\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n}\n\nconst BucketSummary = ({ classes, match }: IBucketSummaryProps) => {\n const dispatch = useDispatch();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const distributedSetup = useSelector(selDistSet);\n\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(false);\n const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] =\n useState(false);\n const [replicationRules, setReplicationRules] = useState(false);\n const [loadingObjectLocking, setLoadingLocking] = useState(true);\n const [loadingSize, setLoadingSize] = useState(true);\n const [bucketLoading, setBucketLoading] = useState(true);\n const [loadingEncryption, setLoadingEncryption] = useState(true);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [loadingQuota, setLoadingQuota] = useState(true);\n const [loadingReplication, setLoadingReplication] = useState(true);\n const [loadingRetention, setLoadingRetention] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quota, setQuota] = useState(null);\n const [encryptionEnabled, setEncryptionEnabled] = useState(false);\n const [retentionEnabled, setRetentionEnabled] = useState(false);\n const [retentionConfig, setRetentionConfig] =\n useState(null);\n const [retentionConfigOpen, setRetentionConfigOpen] =\n useState(false);\n const [enableEncryptionScreenOpen, setEnableEncryptionScreenOpen] =\n useState(false);\n const [enableQuotaScreenOpen, setEnableQuotaScreenOpen] =\n useState(false);\n const [enableVersioningOpen, setEnableVersioningOpen] =\n useState(false);\n\n const bucketName = match.params[\"bucketName\"];\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null) {\n accessPolicy = bucketInfo.access;\n policyDefinition = bucketInfo.definition;\n }\n\n const displayGetBucketObjectLockConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,\n ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n ]);\n\n const displayGetBucketQuota = hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setBucketLoading(true);\n } else {\n setBucketLoading(false);\n }\n }, [loadingBucket, setBucketLoading]);\n\n useEffect(() => {\n if (loadingEncryption) {\n if (displayGetBucketEncryptionConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/encryption/info`)\n .then((res: BucketEncryptionInfo) => {\n if (res.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res);\n }\n setLoadingEncryption(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.errorMessage ===\n \"The server side encryption configuration was not found\"\n ) {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n }\n setLoadingEncryption(false);\n });\n } else {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n setLoadingEncryption(false);\n }\n }\n }, [loadingEncryption, bucketName, displayGetBucketEncryptionConfiguration]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n setQuota(res);\n if (res.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setQuotaEnabled(false);\n setLoadingQuota(false);\n });\n } else {\n setQuotaEnabled(false);\n setLoadingQuota(false);\n }\n }\n }, [\n loadingQuota,\n setLoadingVersioning,\n dispatch,\n bucketName,\n distributedSetup,\n displayGetBucketQuota,\n ]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n if (displayGetBucketObjectLockConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setHasObjectLocking(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n dispatch,\n bucketName,\n loadingVersioning,\n distributedSetup,\n displayGetBucketObjectLockConfiguration,\n ]);\n\n useEffect(() => {\n if (loadingSize) {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n const resBuckets = get(res, \"buckets\", []);\n\n const bucketInfo = resBuckets.find(\n (bucket) => bucket.name === bucketName\n );\n\n const size = get(bucketInfo, \"size\", \"0\");\n\n setLoadingSize(false);\n setBucketSize(size);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingSize(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loadingSize, dispatch, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/replication`)\n .then((res: BucketReplication) => {\n const r = res.rules ? res.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setRetentionEnabled(false);\n setLoadingRetention(false);\n setRetentionConfig(null);\n });\n }\n }, [loadingRetention, hasObjectLocking, bucketName]);\n\n const loadAllBucketData = () => {\n dispatch(setBucketDetailsLoad(true));\n setBucketLoading(true);\n setLoadingSize(true);\n setLoadingVersioning(true);\n setLoadingEncryption(true);\n setLoadingRetention(true);\n };\n\n const setBucketVersioning = () => {\n setEnableVersioningOpen(true);\n };\n const setBucketQuota = () => {\n setEnableQuotaScreenOpen(true);\n };\n\n const closeEnableBucketEncryption = () => {\n setEnableEncryptionScreenOpen(false);\n setLoadingEncryption(true);\n };\n const closeEnableBucketQuota = () => {\n setEnableQuotaScreenOpen(false);\n setLoadingQuota(true);\n };\n\n const closeSetAccessPolicy = () => {\n setAccessPolicyScreenOpen(false);\n loadAllBucketData();\n };\n\n const closeRetentionConfig = () => {\n setRetentionConfigOpen(false);\n loadAllBucketData();\n };\n\n const closeEnableVersioning = (refresh: boolean) => {\n setEnableVersioningOpen(false);\n if (refresh) {\n loadAllBucketData();\n }\n };\n // @ts-ignore\n return (\n \n {enableEncryptionScreenOpen && (\n \n )}\n {enableQuotaScreenOpen && (\n \n )}\n {accessPolicyScreenOpen && (\n \n )}\n {retentionConfigOpen && (\n \n )}\n {enableVersioningOpen && (\n \n )}\n\n Summary\n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n \n }\n />\n \n \n \n\n \n \n {quotaEnabled && quota ? (\n \n ) : null}\n \n \n \n \n\n {distributedSetup && (\n \n \n Versioning\n\n \n \n \n \n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n Retention\n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(BucketSummary);\n","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n\n const styleFromPropValue = (propValue, breakpoint) => {\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\n return styles;\n};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Stack;"],"names":["icon","label","Box","sx","display","style","height","width","alignItems","marginTop","marginLeft","isLoading","onClick","restProps","Button","color","variant","padding","margin","justifyContent","textDecoration","background","disableRipple","disableFocusRipple","Loader","withStyles","theme","createStyles","root","backgroundColor","disabled","IconButton","size","EditIcon","SecureAction","resourceName","iamScopes","secureCmpProps","children","SecureComponent","scopes","resource","errorProps","property","value","onEdit","LabelValuePair","top","bucketSize","flexFlow","fontSize","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","spacingUtils","textStyleUtils","classes","match","dispatch","useDispatch","loadingBucket","useSelector","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","distributedSetup","selDistSet","useState","encryptionCfg","setEncryptionCfg","setBucketSize","hasObjectLocking","setHasObjectLocking","accessPolicyScreenOpen","setAccessPolicyScreenOpen","replicationRules","setReplicationRules","loadingObjectLocking","setLoadingLocking","loadingSize","setLoadingSize","bucketLoading","setBucketLoading","loadingEncryption","setLoadingEncryption","loadingVersioning","setLoadingVersioning","loadingQuota","setLoadingQuota","loadingReplication","setLoadingReplication","loadingRetention","setLoadingRetention","isVersioned","setIsVersioned","quotaEnabled","setQuotaEnabled","setQuota","encryptionEnabled","setEncryptionEnabled","retentionEnabled","setRetentionEnabled","retentionConfig","setRetentionConfig","retentionConfigOpen","setRetentionConfigOpen","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","enableQuotaScreenOpen","setEnableQuotaScreenOpen","enableVersioningOpen","setEnableVersioningOpen","bucketName","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","setErrorSnackMessage","object_locking_enabled","get","find","bucket","name","r","rules","length","loadAllBucketData","setBucketDetailsLoad","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","SectionTitle","Grid","container","spacing","item","toLowerCase","className","textMuted","spacerTop","mode","validity","unit","slice","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3328.cb6f26d0.chunk.js b/portal-ui/build/static/js/3328.cb6f26d0.chunk.js
deleted file mode 100644
index 1e3daba5b..000000000
--- a/portal-ui/build/static/js/3328.cb6f26d0.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3328],{63328:function(e,n,t){t.r(n),t.d(n,{default:function(){return Y}});var i=t(29439),s=t(1413),r=t(72791),o=t(60364),l=t(11135),a=t(25787),c=t(61889),u=t(64554),d=t(26181),f=t.n(d),x=t(23814),p=t(81207),h=t(56087),m=t(38442),Z=t(75578),v=t(45902),j=t(80184),g=function(e){var n=e.icon,t=void 0===n?null:n,i=e.label,s=void 0===i?null:i;return(0,j.jsxs)(u.Z,{sx:{display:"flex"},children:[(0,j.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,j.jsx)("div",{style:{marginLeft:t?5:"none"},children:s})]})},b=t(62410),E=t(45987),T=t(36151),C=t(72401),S=["isLoading","onClick","label"],k=function(e){var n=e.isLoading,t=e.onClick,i=e.label,r=(0,E.Z)(e,S);return(0,j.jsx)(T.Z,(0,s.Z)((0,s.Z)({color:"primary",onClick:t,variant:"text",sx:{padding:0,margin:0,alignItems:"flex-start",justifyContent:"flex-start",display:"inline-flex",height:"auto",textDecoration:"underline",color:"#2781B0","&:hover":{background:"#ffffff",textDecoration:"underline"}},disableRipple:!0,disableFocusRipple:!0},r),{},{children:n?(0,j.jsx)(C.Z,{style:{width:16,height:16}}):i}))},y=t(13400),_=t(33548),N=["disabled","onClick"],I=(0,a.Z)((function(e){return(0,l.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,i=(0,E.Z)(e,N);return(0,j.jsx)(y.Z,(0,s.Z)((0,s.Z)({size:"small",disabled:n,onClick:t},i),{},{children:(0,j.jsx)(_.Z,{})}))})),O=function(e){var n=e.resourceName,t=e.iamScopes,i=e.secureCmpProps,r=void 0===i?{}:i,o=e.children;return(0,j.jsx)(m.s,(0,s.Z)((0,s.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},r),{},{children:o}))},R=function(e){var n=e.isLoading,t=void 0===n||n,i=e.resourceName,s=void 0===i?"":i,r=e.iamScopes,o=e.secureCmpProps,l=void 0===o?{}:o,a=e.property,c=void 0===a?null:a,d=e.value,f=void 0===d?null:d,x=e.onEdit;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,j.jsx)(v.Z,{label:c,value:(0,j.jsx)(O,{resourceName:s,iamScopes:r,secureCmpProps:l,children:(0,j.jsx)(k,{isLoading:t,onClick:x,label:f})})}),(0,j.jsx)(O,{resourceName:s,iamScopes:r,secureCmpProps:l,children:(0,j.jsx)(I,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})},F=t(45248),P=function(e){var n=e.bucketSize;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,j.jsx)(b.Mhr,{}),(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,j.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,j.jsx)("label",{children:(0,F.ae)(n)})]})]})},U=function(e){var n=e.quota;return(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,j.jsx)(b.sjJ,{}),(0,j.jsxs)(u.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,j.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,j.jsxs)("label",{children:[" ",(0,F.ae)("".concat(null===n||void 0===n?void 0:n.quota),!0)]})]})]})},G=t(50896),A=t(87995),B=t(21266),w=(0,Z.Z)(r.lazy((function(){return Promise.all([t.e(5609),t.e(3631)]).then(t.bind(t,33690))}))),L=(0,Z.Z)(r.lazy((function(){return t.e(1604).then(t.bind(t,1604))}))),M=(0,Z.Z)(r.lazy((function(){return t.e(8391).then(t.bind(t,18391))}))),K=(0,Z.Z)(r.lazy((function(){return t.e(402).then(t.bind(t,70402))}))),z=(0,Z.Z)(r.lazy((function(){return Promise.all([t.e(1918),t.e(1705)]).then(t.bind(t,71705))}))),D=(0,Z.Z)(r.lazy((function(){return t.e(1581).then(t.bind(t,1581))}))),V={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},Y=(0,a.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)({},x.bK),x.VI))}))((function(e){var n=e.classes,t=e.match,l=(0,o.I0)(),a=(0,o.v9)((function(e){return e.buckets.bucketDetails.loadingBucket})),d=(0,o.v9)((function(e){return e.buckets.bucketDetails.bucketInfo})),x=(0,o.v9)((function(e){return e.system.distributedSetup})),Z=(0,r.useState)(null),E=(0,i.Z)(Z,2),T=E[0],C=E[1],S=(0,r.useState)("0"),k=(0,i.Z)(S,2),y=k[0],_=k[1],N=(0,r.useState)(!1),I=(0,i.Z)(N,2),O=I[0],F=I[1],Y=(0,r.useState)(!1),q=(0,i.Z)(Y,2),Q=q[0],J=q[1],W=(0,r.useState)(!1),$=(0,i.Z)(W,2),H=$[0],X=$[1],ee=(0,r.useState)(!0),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],se=(0,r.useState)(!0),re=(0,i.Z)(se,2),oe=re[0],le=re[1],ae=(0,r.useState)(!0),ce=(0,i.Z)(ae,2),ue=ce[0],de=ce[1],fe=(0,r.useState)(!0),xe=(0,i.Z)(fe,2),pe=xe[0],he=xe[1],me=(0,r.useState)(!0),Ze=(0,i.Z)(me,2),ve=Ze[0],je=Ze[1],ge=(0,r.useState)(!0),be=(0,i.Z)(ge,2),Ee=be[0],Te=be[1],Ce=(0,r.useState)(!0),Se=(0,i.Z)(Ce,2),ke=Se[0],ye=Se[1],_e=(0,r.useState)(!0),Ne=(0,i.Z)(_e,2),Ie=Ne[0],Oe=Ne[1],Re=(0,r.useState)(!1),Fe=(0,i.Z)(Re,2),Pe=Fe[0],Ue=Fe[1],Ge=(0,r.useState)(!1),Ae=(0,i.Z)(Ge,2),Be=Ae[0],we=Ae[1],Le=(0,r.useState)(null),Me=(0,i.Z)(Le,2),Ke=Me[0],ze=Me[1],De=(0,r.useState)(!1),Ve=(0,i.Z)(De,2),Ye=Ve[0],qe=Ve[1],Qe=(0,r.useState)(!1),Je=(0,i.Z)(Qe,2),We=Je[0],$e=Je[1],He=(0,r.useState)(null),Xe=(0,i.Z)(He,2),en=Xe[0],nn=Xe[1],tn=(0,r.useState)(!1),sn=(0,i.Z)(tn,2),rn=sn[0],on=sn[1],ln=(0,r.useState)(!1),an=(0,i.Z)(ln,2),cn=an[0],un=an[1],dn=(0,r.useState)(!1),fn=(0,i.Z)(dn,2),xn=fn[0],pn=fn[1],hn=(0,r.useState)(!1),mn=(0,i.Z)(hn,2),Zn=mn[0],vn=mn[1],jn=t.params.bucketName,gn="n/a",bn="";null!==d&&(gn=d.access,bn=d.definition);var En=(0,m.F)(jn,[h.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),Tn=(0,m.F)(jn,[h.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),Cn=(0,m.F)(jn,[h.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,r.useEffect)((function(){de(!!a)}),[a,de]),(0,r.useEffect)((function(){pe&&(Tn?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/encryption/info")).then((function(e){e.algorithm&&(qe(!0),C(e)),he(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(qe(!1),C(null)),he(!1)})):(qe(!1),C(null),he(!1)))}),[pe,jn,Tn]),(0,r.useEffect)((function(){ve&&x&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/versioning")).then((function(e){Ue(e.is_versioned),je(!1)})).catch((function(e){l((0,A.Ih)(e)),je(!1)}))}),[ve,l,jn,x]),(0,r.useEffect)((function(){Ee&&x&&(Cn?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/quota")).then((function(e){ze(e),e.quota?we(!0):we(!1),Te(!1)})).catch((function(e){l((0,A.Ih)(e)),we(!1),Te(!1)})):(we(!1),Te(!1)))}),[Ee,je,l,jn,x,Cn]),(0,r.useEffect)((function(){ve&&x&&(En?p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/object-locking")).then((function(e){F(e.object_locking_enabled),ie(!1)})).catch((function(e){l((0,A.Ih)(e)),ie(!1)})):ie(!1))}),[te,l,jn,ve,x,En]),(0,r.useEffect)((function(){oe&&p.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=f()(e,"buckets",[]).find((function(e){return e.name===jn})),t=f()(n,"size","0");le(!1),_(t)})).catch((function(e){le(!1),l((0,A.Ih)(e))}))}),[oe,l,jn]),(0,r.useEffect)((function(){ke&&x&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/replication")).then((function(e){var n=e.rules?e.rules:[];X(n.length>0),ye(!1)})).catch((function(e){l((0,A.Ih)(e)),ye(!1)}))}),[ke,l,jn,x]),(0,r.useEffect)((function(){Ie&&O&&p.Z.invoke("GET","/api/v1/buckets/".concat(jn,"/retention")).then((function(e){Oe(!1),$e(!0),nn(e)})).catch((function(e){$e(!1),Oe(!1),nn(null)}))}),[Ie,O,jn]);var Sn=function(){l((0,B.d5)(!0)),de(!0),le(!0),je(!0),he(!0),Oe(!0)};return(0,j.jsxs)(r.Fragment,{children:[cn&&(0,j.jsx)(M,{open:cn,selectedBucket:jn,encryptionEnabled:Ye,encryptionCfg:T,closeModalAndRefresh:function(){un(!1),he(!0)}}),xn&&(0,j.jsx)(D,{open:xn,selectedBucket:jn,enabled:Be,cfg:Ke,closeModalAndRefresh:function(){pn(!1),Te(!0)}}),Q&&(0,j.jsx)(w,{bucketName:jn,open:Q,actualPolicy:gn,actualDefinition:bn,closeModalAndRefresh:function(){J(!1),Sn()}}),rn&&(0,j.jsx)(L,{bucketName:jn,open:rn,closeModalAndRefresh:function(){on(!1),Sn()}}),Zn&&(0,j.jsx)(K,{closeVersioningModalAndRefresh:function(e){vn(!1),e&&Sn()},modalOpen:Zn,selectedBucket:jn,versioningCurrentState:Pe}),(0,j.jsx)(G.Z,{children:"Summary"}),(0,j.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:jn,children:(0,j.jsx)(c.ZP,{item:!0,xs:12,children:(0,j.jsxs)(u.Z,{sx:(0,s.Z)({},V),children:[(0,j.jsxs)(u.Z,{sx:(0,s.Z)({},V),children:[(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:jn,children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_POLICY],resourceName:jn,property:"Access Policy:",value:gn.toLowerCase(),onEdit:function(){J(!0)},isLoading:ue})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:jn,children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:jn,property:"Encryption:",value:Ye?"Enabled":"Disabled",onEdit:function(){un(!0)},isLoading:pe})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:jn,children:(0,j.jsx)(v.Z,{label:"Replication:",value:(0,j.jsx)(g,{icon:H?(0,j.jsx)(b.E31,{}):(0,j.jsx)(b.dRf,{}),label:(0,j.jsx)("label",{className:n.textMuted,children:H?"Enabled":"Disabled"})})})}),(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:jn,children:(0,j.jsx)(v.Z,{label:"Object Locking:",value:(0,j.jsx)(g,{icon:O?(0,j.jsx)(b.E31,{}):(0,j.jsx)(b.dRf,{}),label:(0,j.jsx)("label",{className:n.textMuted,children:O?"Enabled":"Disabled"})})})}),(0,j.jsx)(u.Z,{className:n.spacerTop,children:(0,j.jsx)(v.Z,{label:"Tags:",value:(0,j.jsx)(z,{bucketName:jn})})}),(0,j.jsx)(R,{iamScopes:[h.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:jn,property:"Quota:",value:Be?"Enabled":"Disabled",onEdit:function(){pn(!0)},isLoading:Ee})]}),(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:[(0,j.jsx)(P,{bucketSize:y}),Be&&Ke?(0,j.jsx)(U,{quota:Ke}):null]})]})})}),x&&(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_BUCKET_VERSIONING],resource:jn,children:(0,j.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,j.jsx)(G.Z,{children:"Versioning"}),(0,j.jsx)(u.Z,{sx:(0,s.Z)({},V),children:(0,j.jsx)(u.Z,{sx:(0,s.Z)({},V),children:(0,j.jsx)(R,{iamScopes:[h.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:jn,property:"Current Status:",value:Pe?"Versioned":"Unversioned (Default)",onEdit:function(){vn(!0)},isLoading:ve})})})]})}),O&&(0,j.jsx)(m.s,{scopes:[h.Ft.S3_GET_OBJECT_RETENTION],resource:jn,children:(0,j.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,j.jsx)(G.Z,{children:"Retention"}),(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,j.jsxs)(u.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,j.jsx)(R,{iamScopes:[h.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:jn,property:"Retention:",value:We?"Enabled":"Disabled",onEdit:function(){on(!0)},isLoading:Ie}),(0,j.jsx)(v.Z,{label:"Mode:",value:(0,j.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:en&&en.mode?en.mode:"-"})}),(0,j.jsx)(v.Z,{label:"Validity:",value:(0,j.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[en&&en.validity," ",en&&(1===en.validity?en.unit.slice(0,-1):en.unit)]})})]}),(0,j.jsx)(u.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})})]})]})}))},45902:function(e,n,t){var i=t(1413),s=(t(72791),t(53767)),r=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,o=e.value,l=void 0===o?"-":o,a=e.orientation,c=void 0===a?"column":a,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,h=void 0===p?{}:p;return(0,r.jsxs)(s.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},h),{},{children:l}))]}))}},53767:function(e,n,t){var i=t(4942),s=t(63366),r=t(87462),o=t(72791),l=t(51184),a=t(45682),c=t(78519),u=t(82466),d=t(47630),f=t(93736),x=t(80184),p=["component","direction","spacing","divider","children"];function h(e,n){var t=o.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,s){return e.push(i),s :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((s=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[s])),(0,a.NA)(o,e))};var s})))}return s})),Z=o.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),o=i.component,l=void 0===o?"div":o,a=i.direction,u=void 0===a?"column":a,d=i.spacing,Z=void 0===d?0:d,v=i.divider,j=i.children,g=(0,s.Z)(i,p),b={direction:u,spacing:Z};return(0,x.jsx)(m,(0,r.Z)({as:l,ownerState:b,ref:n},g,{children:v?h(j,v):j}))}));n.Z=Z}}]);
-//# sourceMappingURL=3328.cb6f26d0.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3328.cb6f26d0.chunk.js.map b/portal-ui/build/static/js/3328.cb6f26d0.chunk.js.map
deleted file mode 100644
index 487bb5e30..000000000
--- a/portal-ui/build/static/js/3328.cb6f26d0.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/3328.cb6f26d0.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n
\n {icon}\n
\n
{label}
\n \n );\n};\n\nexport default LabelWithIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n );\n};\n\nexport default ActionLink;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { ReportedUsageFullIcon } from \"../../../../../icons\";\n\nconst ReportedUsage = ({ bucketSize }: { bucketSize: string }) => {\n return (\n \n \n\n \n \n \n \n \n );\n};\n\nexport default ReportedUsage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { HardBucketQuotaIcon } from \"../../../../../icons\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \n \n\n \n \n \n \n \n );\n};\n\nexport default BucketQuotaSize;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport {\n BucketEncryptionInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketReplication,\n BucketVersioning,\n} from \"../types\";\nimport { BucketList } from \"../../Watch/types\";\nimport {\n spacingUtils,\n textStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\n\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { DisabledIcon, EnabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\nimport SectionTitle from \"../../Common/SectionTitle\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { setBucketDetailsLoad } from \"../bucketsSlice\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...textStyleUtils,\n });\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n}\n\nconst BucketSummary = ({ classes, match }: IBucketSummaryProps) => {\n const dispatch = useDispatch();\n\n const loadingBucket = useSelector(\n (state: AppState) => state.buckets.bucketDetails.loadingBucket\n );\n const bucketInfo = useSelector(\n (state: AppState) => state.buckets.bucketDetails.bucketInfo\n );\n\n const distributedSetup = useSelector(\n (state: AppState) => state.system.distributedSetup\n );\n\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(false);\n const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] =\n useState(false);\n const [replicationRules, setReplicationRules] = useState(false);\n const [loadingObjectLocking, setLoadingLocking] = useState(true);\n const [loadingSize, setLoadingSize] = useState(true);\n const [bucketLoading, setBucketLoading] = useState(true);\n const [loadingEncryption, setLoadingEncryption] = useState(true);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [loadingQuota, setLoadingQuota] = useState(true);\n const [loadingReplication, setLoadingReplication] = useState(true);\n const [loadingRetention, setLoadingRetention] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quota, setQuota] = useState(null);\n const [encryptionEnabled, setEncryptionEnabled] = useState(false);\n const [retentionEnabled, setRetentionEnabled] = useState(false);\n const [retentionConfig, setRetentionConfig] =\n useState(null);\n const [retentionConfigOpen, setRetentionConfigOpen] =\n useState(false);\n const [enableEncryptionScreenOpen, setEnableEncryptionScreenOpen] =\n useState(false);\n const [enableQuotaScreenOpen, setEnableQuotaScreenOpen] =\n useState(false);\n const [enableVersioningOpen, setEnableVersioningOpen] =\n useState(false);\n\n const bucketName = match.params[\"bucketName\"];\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null) {\n accessPolicy = bucketInfo.access;\n policyDefinition = bucketInfo.definition;\n }\n\n const displayGetBucketObjectLockConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,\n ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n ]);\n\n const displayGetBucketQuota = hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setBucketLoading(true);\n } else {\n setBucketLoading(false);\n }\n }, [loadingBucket, setBucketLoading]);\n\n useEffect(() => {\n if (loadingEncryption) {\n if (displayGetBucketEncryptionConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/encryption/info`)\n .then((res: BucketEncryptionInfo) => {\n if (res.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res);\n }\n setLoadingEncryption(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.errorMessage ===\n \"The server side encryption configuration was not found\"\n ) {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n }\n setLoadingEncryption(false);\n });\n } else {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n setLoadingEncryption(false);\n }\n }\n }, [loadingEncryption, bucketName, displayGetBucketEncryptionConfiguration]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n setQuota(res);\n if (res.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setQuotaEnabled(false);\n setLoadingQuota(false);\n });\n } else {\n setQuotaEnabled(false);\n setLoadingQuota(false);\n }\n }\n }, [\n loadingQuota,\n setLoadingVersioning,\n dispatch,\n bucketName,\n distributedSetup,\n displayGetBucketQuota,\n ]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n if (displayGetBucketObjectLockConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setHasObjectLocking(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n dispatch,\n bucketName,\n loadingVersioning,\n distributedSetup,\n displayGetBucketObjectLockConfiguration,\n ]);\n\n useEffect(() => {\n if (loadingSize) {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n const resBuckets = get(res, \"buckets\", []);\n\n const bucketInfo = resBuckets.find(\n (bucket) => bucket.name === bucketName\n );\n\n const size = get(bucketInfo, \"size\", \"0\");\n\n setLoadingSize(false);\n setBucketSize(size);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingSize(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loadingSize, dispatch, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/replication`)\n .then((res: BucketReplication) => {\n const r = res.rules ? res.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setRetentionEnabled(false);\n setLoadingRetention(false);\n setRetentionConfig(null);\n });\n }\n }, [loadingRetention, hasObjectLocking, bucketName]);\n\n const loadAllBucketData = () => {\n dispatch(setBucketDetailsLoad(true));\n setBucketLoading(true);\n setLoadingSize(true);\n setLoadingVersioning(true);\n setLoadingEncryption(true);\n setLoadingRetention(true);\n };\n\n const setBucketVersioning = () => {\n setEnableVersioningOpen(true);\n };\n const setBucketQuota = () => {\n setEnableQuotaScreenOpen(true);\n };\n\n const closeEnableBucketEncryption = () => {\n setEnableEncryptionScreenOpen(false);\n setLoadingEncryption(true);\n };\n const closeEnableBucketQuota = () => {\n setEnableQuotaScreenOpen(false);\n setLoadingQuota(true);\n };\n\n const closeSetAccessPolicy = () => {\n setAccessPolicyScreenOpen(false);\n loadAllBucketData();\n };\n\n const closeRetentionConfig = () => {\n setRetentionConfigOpen(false);\n loadAllBucketData();\n };\n\n const closeEnableVersioning = (refresh: boolean) => {\n setEnableVersioningOpen(false);\n if (refresh) {\n loadAllBucketData();\n }\n };\n // @ts-ignore\n return (\n \n {enableEncryptionScreenOpen && (\n \n )}\n {enableQuotaScreenOpen && (\n \n )}\n {accessPolicyScreenOpen && (\n \n )}\n {retentionConfigOpen && (\n \n )}\n {enableVersioningOpen && (\n \n )}\n\n Summary\n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n \n }\n />\n \n \n \n\n \n \n {quotaEnabled && quota ? (\n \n ) : null}\n \n \n \n \n\n {distributedSetup && (\n \n \n Versioning\n\n \n \n \n \n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n Retention\n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(BucketSummary);\n","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n\n const styleFromPropValue = (propValue, breakpoint) => {\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\n return styles;\n};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Stack;"],"names":["icon","label","Box","sx","display","style","height","width","alignItems","marginTop","marginLeft","isLoading","onClick","restProps","Button","color","variant","padding","margin","justifyContent","textDecoration","background","disableRipple","disableFocusRipple","Loader","withStyles","theme","createStyles","root","backgroundColor","disabled","IconButton","size","EditIcon","SecureAction","resourceName","iamScopes","secureCmpProps","children","SecureComponent","scopes","resource","errorProps","property","value","onEdit","LabelValuePair","top","bucketSize","flexFlow","fontSize","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","spacingUtils","textStyleUtils","classes","match","dispatch","useDispatch","loadingBucket","useSelector","state","buckets","bucketDetails","bucketInfo","distributedSetup","system","useState","encryptionCfg","setEncryptionCfg","setBucketSize","hasObjectLocking","setHasObjectLocking","accessPolicyScreenOpen","setAccessPolicyScreenOpen","replicationRules","setReplicationRules","loadingObjectLocking","setLoadingLocking","loadingSize","setLoadingSize","bucketLoading","setBucketLoading","loadingEncryption","setLoadingEncryption","loadingVersioning","setLoadingVersioning","loadingQuota","setLoadingQuota","loadingReplication","setLoadingReplication","loadingRetention","setLoadingRetention","isVersioned","setIsVersioned","quotaEnabled","setQuotaEnabled","setQuota","encryptionEnabled","setEncryptionEnabled","retentionEnabled","setRetentionEnabled","retentionConfig","setRetentionConfig","retentionConfigOpen","setRetentionConfigOpen","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","enableQuotaScreenOpen","setEnableQuotaScreenOpen","enableVersioningOpen","setEnableVersioningOpen","bucketName","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","setErrorSnackMessage","object_locking_enabled","get","find","bucket","name","r","rules","length","loadAllBucketData","setBucketDetailsLoad","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","SectionTitle","Grid","container","spacing","item","toLowerCase","className","textMuted","spacerTop","mode","validity","unit","slice","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3518.0ed0b89a.chunk.js b/portal-ui/build/static/js/3518.0ed0b89a.chunk.js
deleted file mode 100644
index 19ebf9e68..000000000
--- a/portal-ui/build/static/js/3518.0ed0b89a.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3518],{5450:function(e,n,t){var r=t(29439),o=t(72791),a=t(11135),s=t(25787),c=t(40986),i=t(79836),l=t(53382),u=t(53994),d=t(56890),Z=t(35855),f=t(64554),p=t(56125),h=t(20890),v=t(85172),m=t(95678),x=t(39281),j=t(10703),g=t(80184),b=function(e){var n=e.event,t=o.useState(!1),a=(0,r.Z)(t,2),s=a[0],c=a[1];return(0,g.jsxs)(o.Fragment,{children:[(0,g.jsxs)(Z.Z,{sx:{"& > *":{borderBottom:"unset"},cursor:"pointer"},children:[(0,g.jsx)(u.Z,{component:"th",scope:"row",onClick:function(){return c(!s)},children:n.event_type}),(0,g.jsx)(u.Z,{onClick:function(){return c(!s)},children:n.reason}),(0,g.jsx)(u.Z,{onClick:function(){return c(!s)},children:n.seen}),(0,g.jsx)(u.Z,{onClick:function(){return c(!s)},children:n.message.length>=30?"".concat(n.message.slice(0,30),"..."):n.message}),(0,g.jsx)(u.Z,{onClick:function(){return c(!s)},children:s?(0,g.jsx)(m.Z,{}):(0,g.jsx)(v.Z,{})})]}),(0,g.jsx)(Z.Z,{children:(0,g.jsx)(u.Z,{style:{paddingBottom:0,paddingTop:0},colSpan:5,children:(0,g.jsx)(p.Z,{in:s,timeout:"auto",unmountOnExit:!0,children:(0,g.jsx)(f.Z,{sx:{margin:1},children:(0,g.jsx)(h.Z,{style:{background:"#efefef",border:"1px solid #dedede",padding:4,fontSize:14,color:"#666666"},children:n.message})})})})})]})};n.Z=(0,s.Z)((function(e){return(0,a.Z)({events:{"& .MuiTypography-root":{fontSize:14},"& .Mui-expanded":{"& .eventMessage":{display:"none"}}}})}))((function(e){e.classes;var n=e.events;return e.loading?(0,g.jsx)(c.Z,{}):(0,g.jsx)(x.Z,{component:j.Z,children:(0,g.jsxs)(i.Z,{"aria-label":"collapsible table",children:[(0,g.jsx)(d.Z,{children:(0,g.jsxs)(Z.Z,{children:[(0,g.jsx)(u.Z,{children:"Type"}),(0,g.jsx)(u.Z,{children:"Reason"}),(0,g.jsx)(u.Z,{children:"Age"}),(0,g.jsx)(u.Z,{children:"Message"}),(0,g.jsx)(u.Z,{})]})}),(0,g.jsx)(l.Z,{children:n.map((function(e){return(0,g.jsx)(b,{event:e},"".concat(e.event_type,"-").concat(e.seen))}))})]})})}))},83518:function(e,n,t){t.r(n);var r=t(29439),o=t(1413),a=t(72791),s=t(11135),c=t(25787),i=t(23814),l=t(61889),u=t(91523),d=t(81207),Z=t(45248),f=t(5450),p=t(60364),h=t(87995),v=t(80184);n.default=(0,c.Z)((function(e){return(0,s.Z)((0,o.Z)({breadcrumLink:{textDecoration:"none",color:"black"}},(0,i.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,o=(0,p.I0)(),s=(0,a.useState)(!0),c=(0,r.Z)(s,2),i=c[0],m=c[1],x=t.params.tenantNamespace,j=t.params.tenantName,g=t.params.PVCName,b=(0,a.useState)([]),k=(0,r.Z)(b,2),w=k[0],M=k[1];return(0,a.useEffect)((function(){i&&d.Z.invoke("GET","/api/v1/namespaces/".concat(x,"/tenants/").concat(j,"/pvcs/").concat(g,"/events")).then((function(e){for(var n=0;n ",g]})}),(0,v.jsxs)(l.ZP,{container:!0,children:[(0,v.jsx)("h1",{className:n.sectionTitle,children:"Events"}),(0,v.jsx)(f.Z,{events:w,loading:i})]})]})}))},85172:function(e,n,t){var r=t(95318);n.Z=void 0;var o=r(t(45649)),a=t(80184),s=(0,o.default)((0,a.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"}),"KeyboardArrowDown");n.Z=s},95678:function(e,n,t){var r=t(95318);n.Z=void 0;var o=r(t(45649)),a=t(80184),s=(0,o.default)((0,a.jsx)("path",{d:"M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"}),"KeyboardArrowUp");n.Z=s},39281:function(e,n,t){t.d(n,{Z:function(){return h}});var r=t(87462),o=t(63366),a=t(72791),s=t(28182),c=t(90767),i=t(93736),l=t(47630),u=t(95159);function d(e){return(0,u.Z)("MuiTableContainer",e)}(0,t(30208).Z)("MuiTableContainer",["root"]);var Z=t(80184),f=["className","component"],p=(0,l.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:function(e,n){return n.root}})({width:"100%",overflowX:"auto"}),h=a.forwardRef((function(e,n){var t=(0,i.Z)({props:e,name:"MuiTableContainer"}),a=t.className,l=t.component,u=void 0===l?"div":l,h=(0,o.Z)(t,f),v=(0,r.Z)({},t,{component:u}),m=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},d,n)}(v);return(0,Z.jsx)(p,(0,r.Z)({ref:n,as:u,className:(0,s.Z)(m.root,a),ownerState:v},h))}))},56890:function(e,n,t){t.d(n,{Z:function(){return x}});var r=t(87462),o=t(63366),a=t(72791),s=t(28182),c=t(90767),i=t(829),l=t(93736),u=t(47630),d=t(95159);function Z(e){return(0,d.Z)("MuiTableHead",e)}(0,t(30208).Z)("MuiTableHead",["root"]);var f=t(80184),p=["className","component"],h=(0,u.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,n){return n.root}})({display:"table-header-group"}),v={variant:"head"},m="thead",x=a.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTableHead"}),a=t.className,u=t.component,d=void 0===u?m:u,x=(0,o.Z)(t,p),j=(0,r.Z)({},t,{component:d}),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},Z,n)}(j);return(0,f.jsx)(i.Z.Provider,{value:v,children:(0,f.jsx)(h,(0,r.Z)({as:d,className:(0,s.Z)(g.root,a),ref:n,role:d===m?null:"rowgroup",ownerState:j},x))})}))}}]);
-//# sourceMappingURL=3518.0ed0b89a.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3518.0ed0b89a.chunk.js.map b/portal-ui/build/static/js/3518.0ed0b89a.chunk.js.map
deleted file mode 100644
index fe47fc880..000000000
--- a/portal-ui/build/static/js/3518.0ed0b89a.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/3518.0ed0b89a.chunk.js","mappings":"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","sources":["screens/Console/Tenants/TenantDetails/events/EventsList.tsx","screens/Console/Tenants/TenantDetails/pvcs/TenantVolumes.tsx","../node_modules/@mui/icons-material/KeyboardArrowDown.js","../node_modules/@mui/icons-material/KeyboardArrowUp.js","../node_modules/@mui/material/TableContainer/tableContainerClasses.js","../node_modules/@mui/material/TableContainer/TableContainer.js","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport { IEvent } from \"../../ListTenants/types\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Box from \"@mui/material/Box\";\nimport Collapse from \"@mui/material/Collapse\";\nimport Typography from \"@mui/material/Typography\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport Paper from \"@mui/material/Paper\";\n\ninterface IEventsListProps {\n classes: any;\n events: IEvent[];\n loading: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n events: {\n \"& .MuiTypography-root\": {\n fontSize: 14,\n },\n \"& .Mui-expanded\": {\n \"& .eventMessage\": {\n display: \"none\",\n },\n },\n },\n });\n\nconst Event = (props: { event: IEvent }) => {\n const { event } = props;\n const [open, setOpen] = React.useState(false);\n\n return (\n \n *\": { borderBottom: \"unset\" }, cursor: \"pointer\" }}>\n setOpen(!open)}>\n {event.event_type}\n \n setOpen(!open)}>{event.reason}\n setOpen(!open)}>{event.seen}\n setOpen(!open)}>\n {event.message.length >= 30\n ? `${event.message.slice(0, 30)}...`\n : event.message}\n \n setOpen(!open)}>\n {open ? : }\n \n \n \n \n \n \n \n {event.message}\n \n \n \n \n \n \n );\n};\n\nconst EventsList = ({ classes, events, loading }: IEventsListProps) => {\n if (loading) {\n return ;\n }\n return (\n \n
\n \n );\n};\n\nexport default withStyles(styles)(EventsList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Link } from \"react-router-dom\";\n\nimport api from \"../../../../../common/api\";\nimport { IEvent } from \"../../ListTenants/types\";\nimport { niceDays } from \"../../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport EventsList from \"../events/EventsList\";\nimport { useDispatch } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\n\ninterface IPVCDetailsProps {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantVolumes = ({ classes, match }: IPVCDetailsProps) => {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const tenantNamespace = match.params[\"tenantNamespace\"];\n const tenantName = match.params[\"tenantName\"];\n const PVCName = match.params[\"PVCName\"];\n const [events, setEvents] = useState([]);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pvcs/${PVCName}/events`\n )\n .then((res: IEvent[]) => {\n for (let i = 0; i < res.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n\n res[i].seen = niceDays((currentTime - res[i].last_seen).toString());\n }\n setEvents(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, PVCName, tenantNamespace, tenantName, dispatch]);\n\n return (\n \n \n
\n \n PVCs\n {\" \"}\n > {PVCName}\n
\n \n \n
Events
\n \n \n \n );\n};\n\nexport default withStyles(styles)(TenantVolumes);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"\n}), 'KeyboardArrowDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z\"\n}), 'KeyboardArrowUp');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTableContainerUtilityClass(slot) {\n return generateUtilityClass('MuiTableContainer', slot);\n}\nconst tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);\nexport default tableContainerClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableContainerUtilityClass } from './tableContainerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableContainerUtilityClass, classes);\n};\n\nconst TableContainerRoot = styled('div', {\n name: 'MuiTableContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n width: '100%',\n overflowX: 'auto'\n});\nconst TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableContainer'\n });\n\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n component\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableContainerRoot, _extends({\n ref: ref,\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableContainer.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally `Table`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableContainer;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\n\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n component\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;"],"names":["Event","props","event","React","open","setOpen","sx","borderBottom","cursor","component","scope","onClick","event_type","reason","seen","message","length","slice","style","paddingBottom","paddingTop","colSpan","in","timeout","unmountOnExit","margin","background","border","padding","fontSize","color","withStyles","theme","createStyles","events","display","classes","loading","Paper","map","breadcrumLink","textDecoration","containerForHeader","spacing","match","dispatch","useDispatch","useState","setLoading","tenantNamespace","params","tenantName","PVCName","setEvents","useEffect","api","then","res","i","currentTime","Date","now","niceDays","last_seen","toString","catch","err","setErrorSnackMessage","Fragment","item","xs","className","sectionTitle","to","container","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getTableContainerUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableContainerRoot","styled","name","overridesResolver","styles","root","width","overflowX","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","as","clsx","getTableHeadUtilityClass","TableHeadRoot","tablelvl2","variant","defaultComponent","Tablelvl2Context","value","children","role"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3543.448be99d.chunk.js.map b/portal-ui/build/static/js/3543.448be99d.chunk.js.map
deleted file mode 100644
index 8f183f20b..000000000
--- a/portal-ui/build/static/js/3543.448be99d.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/3543.448be99d.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx","screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/FormComponents/FilterInputWrapper/FilterInputWrapper.tsx","screens/Console/Logs/LogSearch/utils.ts","screens/Console/Logs/LogSearch/LogSearchFullModal.tsx","screens/Console/Common/MissingIntegration/MissingIntegration.tsx","screens/Console/Logs/LogSearch/LogsSearchMain.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button, Grid } from \"@mui/material\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport WatchLaterIcon from \"@mui/icons-material/WatchLater\";\nimport { actionsTray, widgetContainerCommon } from \"../common/styleLibrary\";\nimport DateTimePickerWrapper from \"../DateTimePickerWrapper/DateTimePickerWrapper\";\nimport SyncIcon from \"../../../../../icons/SyncIcon\";\nimport { OpenListIcon } from \"../../../../../icons\";\n\ninterface IDateRangeSelector {\n classes: any;\n timeStart: any;\n setTimeStart: (date: any) => void;\n timeEnd: any;\n setTimeEnd: (date: any) => void;\n triggerSync?: () => void;\n label?: string;\n startLabel?: string;\n endLabel?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n syncButton: {\n \"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type\": {\n fontSize: 18,\n },\n },\n schedulerIcon: {\n opacity: 0.4,\n fontSize: 10,\n \"& svg\": {\n width: 18,\n height: 18,\n },\n },\n selectorLabel: {\n color: \"#9D9E9D\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginLeft: 10,\n fontSize: 12,\n },\n });\n\nconst DateFilterAdornIcon = () => {\n return (\n \n \n \n );\n};\n\nconst DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n label = \"Filter:\",\n startLabel = \"Start Time:\",\n endLabel = \"End Time:\",\n}: IDateRangeSelector) => {\n return (\n \n \n \n {label}\n \n \n \n \n \n \n \n {startLabel}\n \n \n \n \n \n\n \n \n \n \n \n {endLabel}\n \n \n \n \n \n \n\n {triggerSync && (\n \n }\n className={classes.syncButton}\n >\n Sync\n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(DateRangeSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport DateTimePicker from \"@mui/lab/DateTimePicker\";\nimport AdapterMoment from \"@mui/lab/AdapterMoment\";\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport OpenListIcon from \"../../../../../icons/OpenListIcon\";\n\ninterface IDateTimePicker {\n value: any;\n onChange: (value: any) => any;\n classes: any;\n forSearchBlock?: boolean;\n forFilterContained?: boolean;\n label?: string;\n required?: boolean;\n tooltip?: string;\n id: string;\n disabled?: boolean;\n noInputIcon?: boolean;\n classNamePrefix?: string;\n openPickerIcon?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateSelectorOverride: {\n height: 40,\n border: \"#EAEDEE 1px solid\",\n marginLeft: 15,\n backgroundColor: \"#fff\",\n padding: \"0 16px\",\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n borderColor: \"#000\",\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n },\n dateSelectorFilterOverride: {\n width: 180,\n height: 42,\n marginLeft: 20,\n padding: 0,\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: \"bold\",\n color: \"#081C42\",\n },\n \"@media (max-width: 900px)\": {\n width: 103,\n },\n },\n dateSelectorFormOverride: {\n width: \"100%\",\n maxWidth: 840,\n },\n parentDateOverride: {\n flexGrow: 1,\n },\n textBoxContainer: {\n flexGrow: 1,\n },\n openListIcon: {\n color: \"#9D9E9D\",\n width: 8,\n marginTop: 2,\n },\n paperOverride: {\n \"& .MuiCalendarPicker-root\": {\n padding: \"0 22px\",\n \"& > div\": {\n padding: 0,\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type\":\n {\n color: \"#0A224C\",\n fontWeight: \"bold\",\n },\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type\": {\n color: \"#9D9E9D\",\n \"& + button.MuiButtonBase-root\": {\n color: \"#9D9E9D\",\n },\n },\n \"& > div:nth-child(2)\": {\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n },\n },\n },\n \"& .MuiTypography-root.MuiTypography-caption\": {\n width: 26,\n height: 26,\n margin: 5,\n color: \"#BCBCBC\",\n fontSize: 10,\n },\n \"& button.MuiPickersDay-root\": {\n fontWeight: \"bold\",\n width: 26,\n height: 26,\n margin: 5,\n textAlign: \"center\",\n \"&.Mui-selected\": {\n backgroundColor: theme.palette.primary.main,\n color: \"#fff\",\n },\n },\n \"& div.MuiPickersDay-hiddenDaySpacingFiller\": {\n width: 26,\n height: 26,\n margin: 5,\n },\n \"& div.PrivatePickersSlideTransition-root\": {\n minHeight: 240,\n },\n \"& div.MuiCalendarPicker-viewTransitionContainer\": {\n borderTop: \"#F0F3F5 1px solid\",\n },\n \"& .MuiClockPicker-arrowSwitcher\": {\n marginRight: 10,\n marginTop: -1,\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n \"& + div > div\": {\n width: 255,\n height: 255,\n backgroundColor: \"#fff\",\n marginTop: 30,\n marginBottom: 14,\n border: \"#F0F3F5 3px solid\",\n \"& > div:nth-child(2)\": {\n backgroundColor: \"#B4B5B4\",\n width: 12,\n height: 12,\n \"&::before\": {\n content: \"' '\",\n width: 35,\n height: 35,\n display: \"block\",\n position: \"absolute\",\n border: \"#F0F3F5 3px solid\",\n top: -12,\n left: -12,\n borderRadius: \"100%\",\n },\n },\n \"& > div:nth-child(3)\": {\n backgroundColor: \"#B4B5B4\",\n width: 4,\n },\n \"& > div:last-of-type\": {\n marginTop: 15,\n \"& > span\": {\n color: \"#0A224C\",\n \"&.Mui-selected\": {\n color: \"#fff\",\n },\n \"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']\":\n {\n fontWeight: \"bold\",\n fontSize: 20,\n marginTop: -1,\n },\n },\n },\n },\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst DateTimePickerWrapper = ({\n value,\n onChange,\n classes,\n forSearchBlock = false,\n forFilterContained = false,\n label,\n tooltip = \"\",\n required,\n id,\n disabled = false,\n noInputIcon = false,\n classNamePrefix = \"\",\n openPickerIcon,\n}: IDateTimePicker) => {\n let adornment = {};\n\n if (!noInputIcon) {\n adornment = {\n startAdornment: (\n \n \n \n ),\n };\n }\n\n if (forFilterContained) {\n adornment = {\n endAdornment: (\n \n \n \n ),\n };\n }\n\n const classOverridden = `${classNamePrefix}date-time-input ${\n forSearchBlock ? classes.dateSelectorOverride : \"\"\n } ${\n forFilterContained && !forSearchBlock\n ? classes.dateSelectorFilterOverride\n : \"\"\n }`;\n\n const clsName = forSearchBlock\n ? classes.parentDateOverride\n : classes.dateSelectorFormOverride;\n\n const inputItem = (\n \n (\n \n )}\n ampm={false}\n PopperProps={{\n className: classes.paperOverride,\n }}\n />\n \n );\n\n if (forSearchBlock) {\n return inputItem;\n }\n\n const containerCls = !forFilterContained ? classes.fieldContainer : \"\";\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n )}\n\n
\n {inputItem}\n
\n \n \n );\n};\n\nexport default withStyles(styles)(DateTimePickerWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport TextField from \"@mui/material/TextField\";\nimport { searchField } from \"../common/styleLibrary\";\n\ninterface IFilterInputWrapper {\n classes: any;\n value: string;\n onChange: (txtVar: string) => any;\n label: string;\n placeholder?: string;\n id: string;\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n height: 30,\n padding: 0,\n \"& input\": {\n padding: \"0 12px\",\n height: 28,\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n \"&.isDisabled\": {\n \"&:hover\": {\n borderColor: \"#EAEDEE\",\n },\n },\n \"& input.Mui-disabled\": {\n backgroundColor: \"#EAEAEA\",\n },\n },\n labelStyle: {\n color: \"#393939\",\n fontSize: 12,\n marginBottom: 4,\n },\n buttonKit: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n flexGrow: 1,\n margin: \"0 15px\",\n },\n });\n\nconst FilterInputWrapper = ({\n classes,\n label,\n onChange,\n value,\n placeholder = \"\",\n id,\n name,\n}: IFilterInputWrapper) => {\n return (\n \n
\n \n );\n};\n\nexport default withStyles(styles)(FilterInputWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const LogSearchColumnLabels = {\n time: \"Timestamp\",\n api_name: \"API Name\",\n access_key: \"Access Key\",\n bucket: \"Bucket\",\n object: \"Object\",\n remote_host: \"Remote Host\",\n request_id: \"Request ID\",\n user_agent: \"User Agent\",\n response_status: \"Response Status\",\n response_status_code: \"Response Status Code\",\n request_content_length: \"Request Content Length\",\n response_content_length: \"Response Content Length\",\n time_to_response_ns: \"Time to Response NS\",\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults } from \"./types\";\nimport { LogSearchColumnLabels } from \"./utils\";\n\ninterface ILogSearchFullModal {\n modalOpen: boolean;\n logSearchElement: IReqInfoSearchResults;\n onClose: () => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n objectKeyCol: {\n fontWeight: 700,\n paddingRight: \"10px\",\n textAlign: \"left\",\n },\n ...modalBasic,\n });\n\nconst LogSearchFullModal = ({\n modalOpen,\n logSearchElement,\n onClose,\n classes,\n}: ILogSearchFullModal) => {\n const jsonItems = Object.keys(logSearchElement);\n\n return (\n \n {\n onClose();\n }}\n >\n \n \n
\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LogSearchFullModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IMissingIntegration {\n iconComponent: any;\n entity: string;\n documentationLink: string;\n}\n\nconst MissingIntegration = ({\n iconComponent,\n entity,\n documentationLink,\n}: IMissingIntegration) => {\n return (\n \n \n \n This feature is not available.\n \n Please configure{\" \"}\n \n {entity}\n {\" \"}\n first to use this feature.\n \n }\n />\n \n \n );\n};\n\nexport default MissingIntegration;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, Grid } from \"@mui/material\";\nimport {\n advancedFilterToggleStyles,\n containerForHeader,\n logsCommon,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults, ISearchResponse } from \"./types\";\nimport { niceBytes, nsToSeconds } from \"../../../../common/utils\";\n\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport FilterInputWrapper from \"../../Common/FormComponents/FilterInputWrapper/FilterInputWrapper\";\nimport LogSearchFullModal from \"./LogSearchFullModal\";\nimport { LogSearchColumnLabels } from \"./utils\";\nimport DateRangeSelector from \"../../Common/FormComponents/DateRangeSelector/DateRangeSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport { SearchIcon } from \"../../../../icons\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\ninterface ILogSearchProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n blockCollapsed: {\n display: \"none\",\n overflowY: \"hidden\",\n },\n filterOpen: {\n display: \"block\",\n marginBottom: 12,\n },\n endLineAction: {\n marginBottom: 15,\n padding: \"0 15px 0 15px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n filtersContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 12,\n },\n innerContainer: {\n backgroundColor: \"#fff\",\n },\n noticeLabel: {\n marginLeft: 15,\n marginBottom: 15,\n fontSize: 12,\n color: \"#9C9C9C\",\n },\n\n tableFOpen: {\n height: \"calc(100vh - 520px)\",\n },\n tableFClosed: {\n height: \"calc(100vh - 320px)\",\n },\n ...tableStyles,\n ...advancedFilterToggleStyles,\n\n searchOptions: {\n display: \"flex\",\n padding: 15,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 15,\n },\n dateRangePicker: {\n \"& div\": {\n marginBottom: 0,\n },\n },\n advancedButton: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst LogsSearchMain = ({ classes }: ILogSearchProps) => {\n const dispatch = useDispatch();\n const features = useSelector(\n (state: AppState) => state.console.session.features\n );\n\n const [loading, setLoading] = useState(true);\n const [timeStart, setTimeStart] = useState(null);\n const [timeEnd, setTimeEnd] = useState(null);\n const [filterOpen, setFilterOpen] = useState(false);\n const [records, setRecords] = useState([]);\n const [bucket, setBucket] = useState(\"\");\n const [apiName, setApiName] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [userAgent, setUserAgent] = useState(\"\");\n const [object, setObject] = useState(\"\");\n const [requestID, setRequestID] = useState(\"\");\n const [responseStatus, setResponseStatus] = useState(\"\");\n const [sortOrder, setSortOrder] = useState<\"ASC\" | \"DESC\" | undefined>(\n \"DESC\"\n );\n const [columnsShown, setColumnsShown] = useState([\n \"time\",\n \"api_name\",\n \"access_key\",\n \"bucket\",\n \"object\",\n \"remote_host\",\n \"request_id\",\n \"user_agent\",\n \"response_status\",\n ]);\n const [nextPage, setNextPage] = useState(0);\n const [alreadyFetching, setAlreadyFetching] = useState(false);\n const [logSearchExtrasOpen, setLogSearchExtrasOpen] =\n useState(false);\n const [selectedItem, setSelectedItem] =\n useState(null);\n\n let recordsResp: any = null;\n const logSearchEnabled = features && features.includes(\"log-search\");\n\n const fetchRecords = useCallback(() => {\n if (!alreadyFetching && logSearchEnabled) {\n setAlreadyFetching(true);\n let queryParams = `${bucket !== \"\" ? `&fp=bucket:${bucket}` : \"\"}${\n object !== \"\" ? `&fp=object:${object}` : \"\"\n }${apiName !== \"\" ? `&fp=api_name:${apiName}` : \"\"}${\n accessKey !== \"\" ? `&fp=access_key:${accessKey}` : \"\"\n }${requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"}${\n userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"\n }${responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"}`;\n\n queryParams = queryParams.trim();\n\n if (queryParams.endsWith(\",\")) {\n queryParams = queryParams.slice(0, -1);\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/logs/search?q=reqinfo${\n queryParams !== \"\" ? `${queryParams}` : \"\"\n }&pageSize=100&pageNo=${nextPage}&order=${\n sortOrder === \"DESC\" ? \"timeDesc\" : \"timeAsc\"\n }${\n timeStart !== null ? `&timeStart=${timeStart.toISOString()}` : \"\"\n }${timeEnd !== null ? `&timeEnd=${timeEnd.toISOString()}` : \"\"}`\n )\n .then((res: ISearchResponse) => {\n const fetchedResults = res.results || [];\n\n setLoading(false);\n setAlreadyFetching(false);\n setRecords(fetchedResults);\n setNextPage(nextPage + 1);\n\n if (recordsResp !== null) {\n recordsResp();\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setAlreadyFetching(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n accessKey,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n dispatch,\n ]);\n\n useEffect(() => {\n if (loading) {\n setRecords([]);\n fetchRecords();\n }\n }, [loading, sortOrder, fetchRecords]);\n\n const triggerLoad = () => {\n setNextPage(0);\n setLoading(true);\n };\n\n const selectColumn = (colName: string, active: boolean) => {\n let newArray = [...columnsShown];\n\n if (!active) {\n newArray = columnsShown.filter((element) => element !== colName);\n } else {\n if (!newArray.includes(colName)) {\n newArray.push(colName);\n }\n }\n setColumnsShown(newArray);\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setSortOrder(newSortDirection);\n setNextPage(0);\n setLoading(true);\n };\n\n const loadMoreRecords = (_: { startIndex: number; stopIndex: number }) => {\n fetchRecords();\n return new Promise((resolve) => {\n recordsResp = resolve;\n });\n };\n\n const openExtraInformation = (item: IReqInfoSearchResults) => {\n setSelectedItem(item);\n setLogSearchExtrasOpen(true);\n };\n\n const closeViewExtraInformation = () => {\n setSelectedItem(null);\n setLogSearchExtrasOpen(false);\n };\n\n return (\n \n {logSearchExtrasOpen && selectedItem !== null && (\n \n )}\n\n \n \n {!logSearchEnabled ? (\n }\n documentationLink=\"https://github.com/minio/operator/tree/master/logsearchapi\"\n />\n ) : (\n \n {\" \"}\n \n \n
\n \n
\n\n \n \n \n \n \n
\n
\n Enable your preferred options to get filtered records.\n \n You can use '*' to match any character, '.' to signify a\n single character or '\\' to scape an special character (E.g.\n mybucket-*)\n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n (\n \n \n {element.response_status_code} (\n {element.response_status})\n \n \n ),\n renderFullObject: true,\n },\n {\n label: LogSearchColumnLabels.request_content_length,\n elementKey: \"request_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.response_content_length,\n elementKey: \"response_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.time_to_response_ns,\n elementKey: \"time_to_response_ns\",\n renderFunction: nsToSeconds,\n contentTextAlign: \"right\",\n },\n ]}\n isLoading={loading}\n records={records}\n entityName=\"Logs\"\n customEmptyMessage={\n \"There is no information with this criteria\"\n }\n idField=\"request_id\"\n columnsSelector\n columnsShown={columnsShown}\n onColumnChange={selectColumn}\n customPaperHeight={\n filterOpen ? classes.tableFOpen : classes.tableFClosed\n }\n sortConfig={{\n currentSort: \"time\",\n currentDirection: sortOrder,\n triggerSort: sortChange,\n }}\n infiniteScrollConfig={{\n recordsCount: 1000000,\n loadMoreRecords: loadMoreRecords,\n }}\n itemActions={[\n {\n type: \"view\",\n onClick: openExtraInformation,\n },\n ]}\n textSelectable\n />\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(LogsSearchMain);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DateFilterAdornIcon","sx","actionsTray","widgetContainerCommon","syncButton","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","label","startLabel","endLabel","WebkitTextFillColor","md","gridTemplateColumns","sm","padding","gap","fill","value","onChange","id","classNamePrefix","forFilterContained","noInputIcon","openPickerIcon","justifyContent","type","variant","onClick","endIcon","dateSelectorOverride","borderBottom","borderColor","dateSelectorFilterOverride","dateSelectorFormOverride","maxWidth","parentDateOverride","flexGrow","textBoxContainer","openListIcon","marginTop","paperOverride","margin","textAlign","palette","primary","main","minHeight","borderTop","content","position","top","left","fieldBasic","tooltipHelper","forSearchBlock","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverridden","clsName","inputItem","dateAdapter","AdapterMoment","InputProps","components","OpenPickerIcon","renderInput","props","ampm","PopperProps","containerCls","fieldContainer","Fragment","htmlFor","inputLabel","tooltipContainer","placement","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","dispatch","useDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","searchField","labelStyle","buttonKit","placeholder","name","TextField","val","target","disableUnderline","LogSearchColumnLabels","time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status","response_status_code","request_content_length","response_content_length","time_to_response_ns","buttonContainer","objectKeyCol","modalBasic","logSearchElement","jsonItems","Object","keys","ModalWrapper","Grid","map","objectKey","index","get","toString","Button","entity","documentationLink","alignContent","HelpBox","href","rel","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","features","console","session","loading","setLoading","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","accessKey","setAccessKey","userAgent","setUserAgent","setObject","requestID","setRequestID","responseStatus","setResponseStatus","sortOrder","setSortOrder","columnsShown","setColumnsShown","nextPage","setNextPage","alreadyFetching","setAlreadyFetching","logSearchExtrasOpen","setLogSearchExtrasOpen","selectedItem","setSelectedItem","recordsResp","logSearchEnabled","includes","fetchRecords","useCallback","queryParams","trim","endsWith","slice","api","toISOString","then","res","fetchedResults","results","catch","err","setErrorSnackMessage","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","TableWrapper","columns","elementKey","enableSort","renderFunction","element","renderFullObject","niceBytes","nsToSeconds","contentTextAlign","isLoading","entityName","customEmptyMessage","idField","columnsSelector","onColumnChange","colName","active","newArray","push","filter","customPaperHeight","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","infiniteScrollConfig","recordsCount","loadMoreRecords","_","Promise","resolve","itemActions","textSelectable"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3543.448be99d.chunk.js b/portal-ui/build/static/js/3543.ca7f878f.chunk.js
similarity index 65%
rename from portal-ui/build/static/js/3543.448be99d.chunk.js
rename to portal-ui/build/static/js/3543.ca7f878f.chunk.js
index 1c775e112..3ef1e03eb 100644
--- a/portal-ui/build/static/js/3543.448be99d.chunk.js
+++ b/portal-ui/build/static/js/3543.ca7f878f.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3543],{23804:function(e,t,n){n(72791);var i=n(11135),o=n(25787),a=n(61889),r=n(80184);t.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:t.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},63856:function(e,t,n){var i=n(1413),o=(n(72791),n(11135)),a=n(25787),r=n(64554),s=n(61889),l=n(36151),c=n(27197),d=n(32686),u=n(23814),p=n(80705),m=n(85090),h=n(62410),x=n(80184),g=function(){return(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px"}},children:(0,x.jsx)(h.Q2V,{})})};t.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.OR),u.bN),{},{syncButton:{"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type":{fontSize:18}},schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){var t=e.classes,n=e.timeStart,i=e.setTimeStart,o=e.timeEnd,a=e.setTimeEnd,u=e.triggerSync,h=e.label,f=void 0===h?"Filter:":h,b=e.startLabel,j=void 0===b?"Start Time:":b,Z=e.endLabel,v=void 0===Z?"End Time:":Z;return(0,x.jsx)(s.ZP,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,x.jsxs)(r.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},alignItems:"center",gridTemplateColumns:{md:"auto 2fr auto",sm:"1fr"},padding:{md:"0",xs:" 5px"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},children:f}),(0,x.jsxs)(r.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},border:{md:"1px solid #eaeaea"},alignItems:"center",gridTemplateColumns:{md:"1fr 1fr",sm:"1fr"},gap:"8px",paddingLeft:"8px",paddingRight:"8px"},children:[(0,x.jsxs)(r.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(c.Z,{className:"min-icon"})}),(0,x.jsx)(r.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:j}),(0,x.jsx)(r.Z,{children:(0,x.jsx)(p.Z,{value:n,onChange:i,id:"stTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]}),(0,x.jsxs)(r.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(d.Z,{className:"min-icon"})}),(0,x.jsx)(r.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:v}),(0,x.jsx)(r.Z,{children:(0,x.jsx)(p.Z,{value:o,onChange:a,id:"endTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]})]}),u&&(0,x.jsx)(r.Z,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end",marginRight:"35px"},children:(0,x.jsx)(l.Z,{type:"button",variant:"contained",color:"primary",onClick:u,endIcon:(0,x.jsx)(m.Z,{}),className:t.syncButton,children:"Sync"})})]})})}))},80705:function(e,t,n){var i=n(1413),o=n(72791),a=n(27391),r=n(61889),s=n(30829),l=n(20068),c=n(42261),d=n(55498),u=n(33915),p=n(63466),m=n(27197),h=n(11135),x=n(25787),g=n(84570),f=n(23814),b=n(33976),j=n(80184);t.Z=(0,x.Z)((function(e){return(0,h.Z)((0,i.Z)((0,i.Z)({dateSelectorOverride:{height:40,border:"#EAEDEE 1px solid",marginLeft:15,backgroundColor:"#fff",padding:"0 16px",borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{borderColor:"#000","&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:600,color:"#393939"}},dateSelectorFilterOverride:{width:180,height:42,marginLeft:20,padding:0,borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{"&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:"bold",color:"#081C42"},"@media (max-width: 900px)":{width:103}},dateSelectorFormOverride:{width:"100%",maxWidth:840},parentDateOverride:{flexGrow:1},textBoxContainer:{flexGrow:1},openListIcon:{color:"#9D9E9D",width:8,marginTop:2},paperOverride:{"& .MuiCalendarPicker-root":{padding:"0 22px","& > div":{padding:0,"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type":{color:"#0A224C",fontWeight:"bold"},"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type":{color:"#9D9E9D","& + button.MuiButtonBase-root":{color:"#9D9E9D"}},"& > div:nth-child(2)":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"}}}},"& .MuiTypography-root.MuiTypography-caption":{width:26,height:26,margin:5,color:"#BCBCBC",fontSize:10},"& button.MuiPickersDay-root":{fontWeight:"bold",width:26,height:26,margin:5,textAlign:"center","&.Mui-selected":{backgroundColor:e.palette.primary.main,color:"#fff"}},"& div.MuiPickersDay-hiddenDaySpacingFiller":{width:26,height:26,margin:5},"& div.PrivatePickersSlideTransition-root":{minHeight:240},"& div.MuiCalendarPicker-viewTransitionContainer":{borderTop:"#F0F3F5 1px solid"},"& .MuiClockPicker-arrowSwitcher":{marginRight:10,marginTop:-1,"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",marginTop:30,marginBottom:14,border:"#F0F3F5 3px solid","& > div:nth-child(2)":{backgroundColor:"#B4B5B4",width:12,height:12,"&::before":{content:"' '",width:35,height:35,display:"block",position:"absolute",border:"#F0F3F5 3px solid",top:-12,left:-12,borderRadius:"100%"}},"& > div:nth-child(3)":{backgroundColor:"#B4B5B4",width:4},"& > div:last-of-type":{marginTop:15,"& > span":{color:"#0A224C","&.Mui-selected":{color:"#fff"},"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']":{fontWeight:"bold",fontSize:20,marginTop:-1}}}}}}},f.YI),f.Hr))}))((function(e){var t=e.value,n=e.onChange,h=e.classes,x=e.forSearchBlock,f=void 0!==x&&x,Z=e.forFilterContained,v=void 0!==Z&&Z,C=e.label,y=e.tooltip,S=void 0===y?"":y,_=e.required,k=e.id,B=e.disabled,N=void 0!==B&&B,F=e.noInputIcon,I=void 0!==F&&F,P=e.classNamePrefix,w=void 0===P?"":P,E=e.openPickerIcon,T={};I||(T={startAdornment:(0,j.jsx)(p.Z,{position:"start",children:(0,j.jsx)(m.Z,{})})}),v&&(T={endAdornment:(0,j.jsx)(p.Z,{position:"end",children:(0,j.jsx)(b.Z,{className:h.openListIcon})})});var A="".concat(w,"date-time-input ").concat(f?h.dateSelectorOverride:""," ").concat(v&&!f?h.dateSelectorFilterOverride:""),M=f?h.parentDateOverride:h.dateSelectorFormOverride,L=(0,j.jsx)(u.Z,{dateAdapter:d.Z,children:(0,j.jsx)(c.Z,{value:t,onChange:n,InputProps:(0,i.Z)((0,i.Z)({},T),{},{className:A}),components:{OpenPickerIcon:E},label:"",className:M,disabled:N,renderInput:function(e){return(0,j.jsx)(a.Z,(0,i.Z)((0,i.Z)({id:k,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:h.paperOverride}})});if(f)return L;var O=v?"":h.fieldContainer;return(0,j.jsx)(o.Fragment,{children:(0,j.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(O," ").concat(w,"input-field-container "),children:[""!==C&&(0,j.jsxs)(s.Z,{htmlFor:k,className:"".concat(h.inputLabel," ").concat(w,"input-label"),children:[(0,j.jsxs)("span",{children:[C,_?"*":""]}),""!==S&&(0,j.jsx)("div",{className:h.tooltipContainer,children:(0,j.jsx)(l.Z,{title:S,placement:"top-start",children:(0,j.jsx)("div",{className:h.tooltip,children:(0,j.jsx)(g.Z,{})})})})]}),(0,j.jsx)("div",{className:"".concat(h.textBoxContainer," ").concat(w,"input-wrapper "),children:L})]})})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),a=n(72791),r=n(60364),s=n(13400),l=n(55646),c=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),h=n(23814),x=n(29823),g=n(28057),f=n(87995),b=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,h=e.classes,j=e.wideLimit,Z=void 0===j||j,v=e.noContentPadding,C=e.titleIcon,y=void 0===C?null:C,S=(0,r.I0)(),_=(0,a.useState)(!1),k=(0,i.Z)(_,2),B=k[0],N=k[1],F=(0,r.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){S((0,f.MK)(""))}),[S]),(0,a.useEffect)((function(){if(F){if(""===F.message)return void N(!1);"error"!==F.type&&N(!0)}}),[F]);var I=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return F&&(P=F.detailedErrorMsg,(""===F.detailedErrorMsg||F.detailedErrorMsg.length<5)&&(P=F.message)),(0,b.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:h},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,b.jsxs)(d.Z,{className:h.title,children:[(0,b.jsxs)("div",{className:h.titleText,children:[y," ",p]}),(0,b.jsx)("div",{className:h.closeContainer,children:(0,b.jsx)(s.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(x.Z,{})})})]}),(0,b.jsx)(g.Z,{isModal:!0}),(0,b.jsx)(l.Z,{open:B,className:h.snackBarModal,onClose:function(){N(!1),S((0,f.MK)(""))},message:P,ContentProps:{className:"".concat(h.snackBar," ").concat(F&&"error"===F.type?h.errorSnackBar:"")},autoHideDuration:F&&"error"===F.type?1e4:5e3}),(0,b.jsx)(u.Z,{className:v?"":h.content,children:m})]}))}))},33543:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var i=n(93433),o=n(29439),a=n(1413),r=n(72791),s=n(60364),l=n(26181),c=n.n(l),d=n(11135),u=n(25787),p=n(61889),m=n(36151),h=n(23814),x=n(45248),g=n(81207),f=n(92983),b=n(27391),j=n(80184),Z=(0,u.Z)((function(e){return(0,d.Z)({searchField:(0,a.Z)((0,a.Z)({},h.qg.searchField),{},{height:30,padding:0,"& input":{padding:"0 12px",height:28,fontSize:12,fontWeight:600,color:"#393939"},"&.isDisabled":{"&:hover":{borderColor:"#EAEDEE"}},"& input.Mui-disabled":{backgroundColor:"#EAEAEA"}}),labelStyle:{color:"#393939",fontSize:12,marginBottom:4},buttonKit:{display:"flex",alignItems:"center"},fieldContainer:{flexGrow:1,margin:"0 15px"}})}))((function(e){var t=e.classes,n=e.label,i=e.onChange,o=e.value,a=e.placeholder,s=void 0===a?"":a,l=e.id,c=e.name;return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:t.fieldContainer,children:[(0,j.jsx)("div",{className:t.labelStyle,children:n}),(0,j.jsx)("div",{className:t.buttonKit,children:(0,j.jsx)(b.Z,{placeholder:s,id:l,name:c,label:"",onChange:function(e){i(e.target.value)},InputProps:{disableUnderline:!0},className:t.searchField,value:o})})]})})})),v=n(56028),C={time:"Timestamp",api_name:"API Name",access_key:"Access Key",bucket:"Bucket",object:"Object",remote_host:"Remote Host",request_id:"Request ID",user_agent:"User Agent",response_status:"Response Status",response_status_code:"Response Status Code",request_content_length:"Request Content Length",response_content_length:"Response Content Length",time_to_response_ns:"Time to Response NS"},y=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var t=e.modalOpen,n=e.logSearchElement,i=e.onClose,o=e.classes,a=Object.keys(n);return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(v.Z,{modalOpen:t,title:"Full Log Information",onClose:function(){i()},children:(0,j.jsxs)(p.ZP,{container:!0,children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)("table",{children:(0,j.jsx)("tbody",{children:a.map((function(e,t){return(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{className:o.objectKeyCol,children:c()(C,e,"".concat(e))}),(0,j.jsx)("td",{children:c()(n,e,"")})]},"logSearch-".concat(t.toString()))}))})})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,j.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",onClick:i,children:"Close"})})]})})})})),S=n(63856),_=n(32291),k=n(74794),B=n(93385),N=n(56087),F=n(38442),I=n(62410),P=n(23804),w=function(e){var t=e.iconComponent,n=e.entity,i=e.documentationLink;return(0,j.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(p.ZP,{item:!0,xs:8,children:(0,j.jsx)(P.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,j.jsxs)(r.Fragment,{children:["This feature is not available.",(0,j.jsx)("br",{}),"Please configure"," ",(0,j.jsx)("a",{href:i,target:"_blank",rel:"noreferrer",children:n})," ","first to use this feature."]})})})})},E=n(87995),T=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({blockCollapsed:{display:"none",overflowY:"hidden"},filterOpen:{display:"block",marginBottom:12},endLineAction:{marginBottom:15,padding:"0 15px 0 15px",display:"flex",alignItems:"center",justifyContent:"flex-end"},filtersContainer:{display:"flex",justifyContent:"space-between",marginBottom:12},innerContainer:{backgroundColor:"#fff"},noticeLabel:{marginLeft:15,marginBottom:15,fontSize:12,color:"#9C9C9C"},tableFOpen:{height:"calc(100vh - 520px)"},tableFClosed:{height:"calc(100vh - 320px)"}},h.VX),h.S),{},{searchOptions:{display:"flex",padding:15,"@media (max-width: 900px)":{flexFlow:"column"}},formBox:{border:"1px solid #EAEAEA",marginBottom:15},dateRangePicker:{"& div":{marginBottom:0}},advancedButton:{display:"flex",alignItems:"center",justifyContent:"flex-start"}},h.o$),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,s.I0)(),a=(0,s.v9)((function(e){return e.console.session.features})),l=(0,r.useState)(!0),d=(0,o.Z)(l,2),u=d[0],h=d[1],b=(0,r.useState)(null),v=(0,o.Z)(b,2),P=v[0],T=v[1],A=(0,r.useState)(null),M=(0,o.Z)(A,2),L=M[0],O=M[1],D=(0,r.useState)(!1),R=(0,o.Z)(D,2),z=R[0],K=R[1],q=(0,r.useState)([]),W=(0,o.Z)(q,2),H=W[0],G=W[1],Y=(0,r.useState)(""),U=(0,o.Z)(Y,2),Q=U[0],V=U[1],X=(0,r.useState)(""),$=(0,o.Z)(X,2),J=$[0],ee=$[1],te=(0,r.useState)(""),ne=(0,o.Z)(te,2),ie=ne[0],oe=ne[1],ae=(0,r.useState)(""),re=(0,o.Z)(ae,2),se=re[0],le=re[1],ce=(0,r.useState)(""),de=(0,o.Z)(ce,2),ue=de[0],pe=de[1],me=(0,r.useState)(""),he=(0,o.Z)(me,2),xe=he[0],ge=he[1],fe=(0,r.useState)(""),be=(0,o.Z)(fe,2),je=be[0],Ze=be[1],ve=(0,r.useState)("DESC"),Ce=(0,o.Z)(ve,2),ye=Ce[0],Se=Ce[1],_e=(0,r.useState)(["time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status"]),ke=(0,o.Z)(_e,2),Be=ke[0],Ne=ke[1],Fe=(0,r.useState)(0),Ie=(0,o.Z)(Fe,2),Pe=Ie[0],we=Ie[1],Ee=(0,r.useState)(!1),Te=(0,o.Z)(Ee,2),Ae=Te[0],Me=Te[1],Le=(0,r.useState)(!1),Oe=(0,o.Z)(Le,2),De=Oe[0],Re=Oe[1],ze=(0,r.useState)(null),Ke=(0,o.Z)(ze,2),qe=Ke[0],We=Ke[1],He=null,Ge=a&&a.includes("log-search"),Ye=(0,r.useCallback)((function(){if(!Ae&&Ge){Me(!0);var e="".concat(""!==Q?"&fp=bucket:".concat(Q):"").concat(""!==ue?"&fp=object:".concat(ue):"").concat(""!==J?"&fp=api_name:".concat(J):"").concat(""!==ie?"&fp=access_key:".concat(ie):"").concat(""!==xe?"&fp=request_id:".concat(xe):"").concat(""!==se?"&fp=user_agent:".concat(se):"").concat(""!==je?"&fp=response_status:".concat(je):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),g.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(Pe,"&order=").concat("DESC"===ye?"timeDesc":"timeAsc").concat(null!==P?"&timeStart=".concat(P.toISOString()):"").concat(null!==L?"&timeEnd=".concat(L.toISOString()):"")).then((function(e){var t=e.results||[];h(!1),Me(!1),G(t),we(Pe+1),null!==He&&He()})).catch((function(e){h(!1),Me(!1),n((0,E.Ih)(e))}))}else h(!1),Me(!1)}),[Ae,Ge,Q,ue,J,ie,xe,se,je,Pe,ye,P,L,He,n]);(0,r.useEffect)((function(){u&&(G([]),Ye())}),[u,ye,Ye]);return(0,j.jsxs)(r.Fragment,{children:[De&&null!==qe&&(0,j.jsx)(y,{logSearchElement:qe,modalOpen:De,onClose:function(){We(null),Re(!1)}}),(0,j.jsx)(_.Z,{label:"Audit Logs"}),(0,j.jsx)(k.Z,{children:Ge?(0,j.jsxs)(r.Fragment,{children:[" ",(0,j.jsxs)(p.ZP,{xs:12,className:t.formBox,children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:"".concat(t.searchOptions),children:[(0,j.jsx)("div",{className:t.dateRangePicker,children:(0,j.jsx)(S.Z,{setTimeEnd:O,setTimeStart:T,timeEnd:L,timeStart:P})}),(0,j.jsx)(p.ZP,{item:!0,className:t.advancedButton,children:(0,j.jsxs)("button",{onClick:function(){K(!z)},className:t.advancedConfiguration,children:[z?"Hide":"Show"," advanced Filters"," ",(0,j.jsx)("span",{className:z?t.advancedOpen:t.advancedClosed,children:(0,j.jsx)(B.Z,{})})]})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:"".concat(t.blockCollapsed," ").concat(z?t.filterOpen:""),children:(0,j.jsxs)("div",{className:t.innerContainer,children:[(0,j.jsxs)("div",{className:t.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,j.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(Z,{onChange:V,value:Q,label:"Bucket",id:"bucket",name:"bucket"}),(0,j.jsx)(Z,{onChange:ee,value:J,label:"API Name",id:"api_name",name:"api_name"}),(0,j.jsx)(Z,{onChange:oe,value:ie,label:"Access Key",id:"access_key",name:"access_key"}),(0,j.jsx)(Z,{onChange:le,value:se,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(Z,{onChange:pe,value:ue,label:"Object",id:"object",name:"object"}),(0,j.jsx)(Z,{onChange:ge,value:xe,label:"Request ID",id:"request_id",name:"request_id"}),(0,j.jsx)(Z,{onChange:Ze,value:je,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.endLineAction,children:(0,j.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){we(0),h(!0)},children:"Get Information"})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(F.s,{scopes:[N.Ft.ADMIN_HEALTH_INFO],resource:N.C3,errorProps:{disabled:!0},children:(0,j.jsx)(f.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{label:C.access_key,elementKey:"access_key"},{label:C.bucket,elementKey:"bucket"},{label:C.object,elementKey:"object"},{label:C.remote_host,elementKey:"remote_host"},{label:C.request_id,elementKey:"request_id"},{label:C.user_agent,elementKey:"user_agent"},{label:C.response_status,elementKey:"response_status",renderFunction:function(e){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:x.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:x.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:x.Yj,contentTextAlign:"right"}],isLoading:u,records:H,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Be,onColumnChange:function(e,t){var n=(0,i.Z)(Be);t?n.includes(e)||n.push(e):n=Be.filter((function(t){return t!==e})),Ne(n)},customPaperHeight:z?t.tableFOpen:t.tableFClosed,sortConfig:{currentSort:"time",currentDirection:ye,triggerSort:function(e){var t=c()(e,"sortDirection","DESC");Se(t),we(0),h(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return Ye(),new Promise((function(e){He=e}))}},itemActions:[{type:"view",onClick:function(e){We(e),Re(!0)}}],textSelectable:!0})})})]}):(0,j.jsx)(w,{entity:"Audit Logs",iconComponent:(0,j.jsx)(I.W1M,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})}))}}]);
-//# sourceMappingURL=3543.448be99d.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3543],{23804:function(e,t,n){n(72791);var i=n(11135),o=n(25787),a=n(61889),r=n(80184);t.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:t.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},63856:function(e,t,n){var i=n(1413),o=(n(72791),n(11135)),a=n(25787),r=n(64554),s=n(61889),l=n(36151),c=n(27197),d=n(32686),u=n(23814),p=n(80705),m=n(85090),h=n(62410),x=n(80184),g=function(){return(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px"}},children:(0,x.jsx)(h.Q2V,{})})};t.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.OR),u.bN),{},{syncButton:{"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type":{fontSize:18}},schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){var t=e.classes,n=e.timeStart,i=e.setTimeStart,o=e.timeEnd,a=e.setTimeEnd,u=e.triggerSync,h=e.label,f=void 0===h?"Filter:":h,b=e.startLabel,j=void 0===b?"Start Time:":b,Z=e.endLabel,v=void 0===Z?"End Time:":Z;return(0,x.jsx)(s.ZP,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,x.jsxs)(r.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},alignItems:"center",gridTemplateColumns:{md:"auto 2fr auto",sm:"1fr"},padding:{md:"0",xs:" 5px"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},children:f}),(0,x.jsxs)(r.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},border:{md:"1px solid #eaeaea"},alignItems:"center",gridTemplateColumns:{md:"1fr 1fr",sm:"1fr"},gap:"8px",paddingLeft:"8px",paddingRight:"8px"},children:[(0,x.jsxs)(r.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(c.Z,{className:"min-icon"})}),(0,x.jsx)(r.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:j}),(0,x.jsx)(r.Z,{children:(0,x.jsx)(p.Z,{value:n,onChange:i,id:"stTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]}),(0,x.jsxs)(r.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(r.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(d.Z,{className:"min-icon"})}),(0,x.jsx)(r.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:v}),(0,x.jsx)(r.Z,{children:(0,x.jsx)(p.Z,{value:o,onChange:a,id:"endTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]})]}),u&&(0,x.jsx)(r.Z,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end",marginRight:"35px"},children:(0,x.jsx)(l.Z,{type:"button",variant:"contained",color:"primary",onClick:u,endIcon:(0,x.jsx)(m.Z,{}),className:t.syncButton,children:"Sync"})})]})})}))},80705:function(e,t,n){var i=n(1413),o=n(72791),a=n(27391),r=n(61889),s=n(30829),l=n(20068),c=n(42261),d=n(55498),u=n(33915),p=n(63466),m=n(27197),h=n(11135),x=n(25787),g=n(84570),f=n(23814),b=n(33976),j=n(80184);t.Z=(0,x.Z)((function(e){return(0,h.Z)((0,i.Z)((0,i.Z)({dateSelectorOverride:{height:40,border:"#EAEDEE 1px solid",marginLeft:15,backgroundColor:"#fff",padding:"0 16px",borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{borderColor:"#000","&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:600,color:"#393939"}},dateSelectorFilterOverride:{width:180,height:42,marginLeft:20,padding:0,borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{"&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:"bold",color:"#081C42"},"@media (max-width: 900px)":{width:103}},dateSelectorFormOverride:{width:"100%",maxWidth:840},parentDateOverride:{flexGrow:1},textBoxContainer:{flexGrow:1},openListIcon:{color:"#9D9E9D",width:8,marginTop:2},paperOverride:{"& .MuiCalendarPicker-root":{padding:"0 22px","& > div":{padding:0,"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type":{color:"#0A224C",fontWeight:"bold"},"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type":{color:"#9D9E9D","& + button.MuiButtonBase-root":{color:"#9D9E9D"}},"& > div:nth-child(2)":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"}}}},"& .MuiTypography-root.MuiTypography-caption":{width:26,height:26,margin:5,color:"#BCBCBC",fontSize:10},"& button.MuiPickersDay-root":{fontWeight:"bold",width:26,height:26,margin:5,textAlign:"center","&.Mui-selected":{backgroundColor:e.palette.primary.main,color:"#fff"}},"& div.MuiPickersDay-hiddenDaySpacingFiller":{width:26,height:26,margin:5},"& div.PrivatePickersSlideTransition-root":{minHeight:240},"& div.MuiCalendarPicker-viewTransitionContainer":{borderTop:"#F0F3F5 1px solid"},"& .MuiClockPicker-arrowSwitcher":{marginRight:10,marginTop:-1,"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",marginTop:30,marginBottom:14,border:"#F0F3F5 3px solid","& > div:nth-child(2)":{backgroundColor:"#B4B5B4",width:12,height:12,"&::before":{content:"' '",width:35,height:35,display:"block",position:"absolute",border:"#F0F3F5 3px solid",top:-12,left:-12,borderRadius:"100%"}},"& > div:nth-child(3)":{backgroundColor:"#B4B5B4",width:4},"& > div:last-of-type":{marginTop:15,"& > span":{color:"#0A224C","&.Mui-selected":{color:"#fff"},"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']":{fontWeight:"bold",fontSize:20,marginTop:-1}}}}}}},f.YI),f.Hr))}))((function(e){var t=e.value,n=e.onChange,h=e.classes,x=e.forSearchBlock,f=void 0!==x&&x,Z=e.forFilterContained,v=void 0!==Z&&Z,C=e.label,y=e.tooltip,S=void 0===y?"":y,_=e.required,k=e.id,B=e.disabled,N=void 0!==B&&B,F=e.noInputIcon,I=void 0!==F&&F,P=e.classNamePrefix,w=void 0===P?"":P,E=e.openPickerIcon,T={};I||(T={startAdornment:(0,j.jsx)(p.Z,{position:"start",children:(0,j.jsx)(m.Z,{})})}),v&&(T={endAdornment:(0,j.jsx)(p.Z,{position:"end",children:(0,j.jsx)(b.Z,{className:h.openListIcon})})});var A="".concat(w,"date-time-input ").concat(f?h.dateSelectorOverride:""," ").concat(v&&!f?h.dateSelectorFilterOverride:""),M=f?h.parentDateOverride:h.dateSelectorFormOverride,L=(0,j.jsx)(u.Z,{dateAdapter:d.Z,children:(0,j.jsx)(c.Z,{value:t,onChange:n,InputProps:(0,i.Z)((0,i.Z)({},T),{},{className:A}),components:{OpenPickerIcon:E},label:"",className:M,disabled:N,renderInput:function(e){return(0,j.jsx)(a.Z,(0,i.Z)((0,i.Z)({id:k,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:h.paperOverride}})});if(f)return L;var O=v?"":h.fieldContainer;return(0,j.jsx)(o.Fragment,{children:(0,j.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(O," ").concat(w,"input-field-container "),children:[""!==C&&(0,j.jsxs)(s.Z,{htmlFor:k,className:"".concat(h.inputLabel," ").concat(w,"input-label"),children:[(0,j.jsxs)("span",{children:[C,_?"*":""]}),""!==S&&(0,j.jsx)("div",{className:h.tooltipContainer,children:(0,j.jsx)(l.Z,{title:S,placement:"top-start",children:(0,j.jsx)("div",{className:h.tooltip,children:(0,j.jsx)(g.Z,{})})})})]}),(0,j.jsx)("div",{className:"".concat(h.textBoxContainer," ").concat(w,"input-wrapper "),children:L})]})})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),a=n(72791),r=n(60364),s=n(13400),l=n(55646),c=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),h=n(23814),x=n(29823),g=n(28057),f=n(87995),b=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,h=e.classes,j=e.wideLimit,Z=void 0===j||j,v=e.noContentPadding,C=e.titleIcon,y=void 0===C?null:C,S=(0,r.I0)(),_=(0,a.useState)(!1),k=(0,i.Z)(_,2),B=k[0],N=k[1],F=(0,r.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){S((0,f.MK)(""))}),[S]),(0,a.useEffect)((function(){if(F){if(""===F.message)return void N(!1);"error"!==F.type&&N(!0)}}),[F]);var I=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return F&&(P=F.detailedErrorMsg,(""===F.detailedErrorMsg||F.detailedErrorMsg.length<5)&&(P=F.message)),(0,b.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:h},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,b.jsxs)(d.Z,{className:h.title,children:[(0,b.jsxs)("div",{className:h.titleText,children:[y," ",p]}),(0,b.jsx)("div",{className:h.closeContainer,children:(0,b.jsx)(s.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(x.Z,{})})})]}),(0,b.jsx)(g.Z,{isModal:!0}),(0,b.jsx)(l.Z,{open:B,className:h.snackBarModal,onClose:function(){N(!1),S((0,f.MK)(""))},message:P,ContentProps:{className:"".concat(h.snackBar," ").concat(F&&"error"===F.type?h.errorSnackBar:"")},autoHideDuration:F&&"error"===F.type?1e4:5e3}),(0,b.jsx)(u.Z,{className:v?"":h.content,children:m})]}))}))},33543:function(e,t,n){n.r(t),n.d(t,{default:function(){return A}});var i=n(93433),o=n(29439),a=n(1413),r=n(72791),s=n(60364),l=n(26181),c=n.n(l),d=n(11135),u=n(25787),p=n(61889),m=n(36151),h=n(23814),x=n(45248),g=n(81207),f=n(92983),b=n(27391),j=n(80184),Z=(0,u.Z)((function(e){return(0,d.Z)({searchField:(0,a.Z)((0,a.Z)({},h.qg.searchField),{},{height:30,padding:0,"& input":{padding:"0 12px",height:28,fontSize:12,fontWeight:600,color:"#393939"},"&.isDisabled":{"&:hover":{borderColor:"#EAEDEE"}},"& input.Mui-disabled":{backgroundColor:"#EAEAEA"}}),labelStyle:{color:"#393939",fontSize:12,marginBottom:4},buttonKit:{display:"flex",alignItems:"center"},fieldContainer:{flexGrow:1,margin:"0 15px"}})}))((function(e){var t=e.classes,n=e.label,i=e.onChange,o=e.value,a=e.placeholder,s=void 0===a?"":a,l=e.id,c=e.name;return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:t.fieldContainer,children:[(0,j.jsx)("div",{className:t.labelStyle,children:n}),(0,j.jsx)("div",{className:t.buttonKit,children:(0,j.jsx)(b.Z,{placeholder:s,id:l,name:c,label:"",onChange:function(e){i(e.target.value)},InputProps:{disableUnderline:!0},className:t.searchField,value:o})})]})})})),v=n(56028),C={time:"Timestamp",api_name:"API Name",access_key:"Access Key",bucket:"Bucket",object:"Object",remote_host:"Remote Host",request_id:"Request ID",user_agent:"User Agent",response_status:"Response Status",response_status_code:"Response Status Code",request_content_length:"Request Content Length",response_content_length:"Response Content Length",time_to_response_ns:"Time to Response NS"},y=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var t=e.modalOpen,n=e.logSearchElement,i=e.onClose,o=e.classes,a=Object.keys(n);return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(v.Z,{modalOpen:t,title:"Full Log Information",onClose:function(){i()},children:(0,j.jsxs)(p.ZP,{container:!0,children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)("table",{children:(0,j.jsx)("tbody",{children:a.map((function(e,t){return(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{className:o.objectKeyCol,children:c()(C,e,"".concat(e))}),(0,j.jsx)("td",{children:c()(n,e,"")})]},"logSearch-".concat(t.toString()))}))})})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,j.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",onClick:i,children:"Close"})})]})})})})),S=n(63856),_=n(32291),k=n(74794),B=n(93385),N=n(56087),F=n(38442),I=n(62410),P=n(23804),w=function(e){var t=e.iconComponent,n=e.entity,i=e.documentationLink;return(0,j.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(p.ZP,{item:!0,xs:8,children:(0,j.jsx)(P.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,j.jsxs)(r.Fragment,{children:["This feature is not available.",(0,j.jsx)("br",{}),"Please configure"," ",(0,j.jsx)("a",{href:i,target:"_blank",rel:"noreferrer",children:n})," ","first to use this feature."]})})})})},E=n(87995),T=n(46078),A=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({blockCollapsed:{display:"none",overflowY:"hidden"},filterOpen:{display:"block",marginBottom:12},endLineAction:{marginBottom:15,padding:"0 15px 0 15px",display:"flex",alignItems:"center",justifyContent:"flex-end"},filtersContainer:{display:"flex",justifyContent:"space-between",marginBottom:12},innerContainer:{backgroundColor:"#fff"},noticeLabel:{marginLeft:15,marginBottom:15,fontSize:12,color:"#9C9C9C"},tableFOpen:{height:"calc(100vh - 520px)"},tableFClosed:{height:"calc(100vh - 320px)"}},h.VX),h.S),{},{searchOptions:{display:"flex",padding:15,"@media (max-width: 900px)":{flexFlow:"column"}},formBox:{border:"1px solid #EAEAEA",marginBottom:15},dateRangePicker:{"& div":{marginBottom:0}},advancedButton:{display:"flex",alignItems:"center",justifyContent:"flex-start"}},h.o$),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,s.I0)(),a=(0,s.v9)(T.$4),l=(0,r.useState)(!0),d=(0,o.Z)(l,2),u=d[0],h=d[1],b=(0,r.useState)(null),v=(0,o.Z)(b,2),P=v[0],A=v[1],M=(0,r.useState)(null),L=(0,o.Z)(M,2),O=L[0],D=L[1],R=(0,r.useState)(!1),z=(0,o.Z)(R,2),K=z[0],q=z[1],W=(0,r.useState)([]),H=(0,o.Z)(W,2),G=H[0],Y=H[1],U=(0,r.useState)(""),Q=(0,o.Z)(U,2),V=Q[0],$=Q[1],X=(0,r.useState)(""),J=(0,o.Z)(X,2),ee=J[0],te=J[1],ne=(0,r.useState)(""),ie=(0,o.Z)(ne,2),oe=ie[0],ae=ie[1],re=(0,r.useState)(""),se=(0,o.Z)(re,2),le=se[0],ce=se[1],de=(0,r.useState)(""),ue=(0,o.Z)(de,2),pe=ue[0],me=ue[1],he=(0,r.useState)(""),xe=(0,o.Z)(he,2),ge=xe[0],fe=xe[1],be=(0,r.useState)(""),je=(0,o.Z)(be,2),Ze=je[0],ve=je[1],Ce=(0,r.useState)("DESC"),ye=(0,o.Z)(Ce,2),Se=ye[0],_e=ye[1],ke=(0,r.useState)(["time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status"]),Be=(0,o.Z)(ke,2),Ne=Be[0],Fe=Be[1],Ie=(0,r.useState)(0),Pe=(0,o.Z)(Ie,2),we=Pe[0],Ee=Pe[1],Te=(0,r.useState)(!1),Ae=(0,o.Z)(Te,2),Me=Ae[0],Le=Ae[1],Oe=(0,r.useState)(!1),De=(0,o.Z)(Oe,2),Re=De[0],ze=De[1],Ke=(0,r.useState)(null),qe=(0,o.Z)(Ke,2),We=qe[0],He=qe[1],Ge=null,Ye=a&&a.includes("log-search"),Ue=(0,r.useCallback)((function(){if(!Me&&Ye){Le(!0);var e="".concat(""!==V?"&fp=bucket:".concat(V):"").concat(""!==pe?"&fp=object:".concat(pe):"").concat(""!==ee?"&fp=api_name:".concat(ee):"").concat(""!==oe?"&fp=access_key:".concat(oe):"").concat(""!==ge?"&fp=request_id:".concat(ge):"").concat(""!==le?"&fp=user_agent:".concat(le):"").concat(""!==Ze?"&fp=response_status:".concat(Ze):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),g.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(we,"&order=").concat("DESC"===Se?"timeDesc":"timeAsc").concat(null!==P?"&timeStart=".concat(P.toISOString()):"").concat(null!==O?"&timeEnd=".concat(O.toISOString()):"")).then((function(e){var t=e.results||[];h(!1),Le(!1),Y(t),Ee(we+1),null!==Ge&&Ge()})).catch((function(e){h(!1),Le(!1),n((0,E.Ih)(e))}))}else h(!1),Le(!1)}),[Me,Ye,V,pe,ee,oe,ge,le,Ze,we,Se,P,O,Ge,n]);(0,r.useEffect)((function(){u&&(Y([]),Ue())}),[u,Se,Ue]);return(0,j.jsxs)(r.Fragment,{children:[Re&&null!==We&&(0,j.jsx)(y,{logSearchElement:We,modalOpen:Re,onClose:function(){He(null),ze(!1)}}),(0,j.jsx)(_.Z,{label:"Audit Logs"}),(0,j.jsx)(k.Z,{children:Ye?(0,j.jsxs)(r.Fragment,{children:[" ",(0,j.jsxs)(p.ZP,{xs:12,className:t.formBox,children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:"".concat(t.searchOptions),children:[(0,j.jsx)("div",{className:t.dateRangePicker,children:(0,j.jsx)(S.Z,{setTimeEnd:D,setTimeStart:A,timeEnd:O,timeStart:P})}),(0,j.jsx)(p.ZP,{item:!0,className:t.advancedButton,children:(0,j.jsxs)("button",{onClick:function(){q(!K)},className:t.advancedConfiguration,children:[K?"Hide":"Show"," advanced Filters"," ",(0,j.jsx)("span",{className:K?t.advancedOpen:t.advancedClosed,children:(0,j.jsx)(B.Z,{})})]})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:"".concat(t.blockCollapsed," ").concat(K?t.filterOpen:""),children:(0,j.jsxs)("div",{className:t.innerContainer,children:[(0,j.jsxs)("div",{className:t.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,j.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(Z,{onChange:$,value:V,label:"Bucket",id:"bucket",name:"bucket"}),(0,j.jsx)(Z,{onChange:te,value:ee,label:"API Name",id:"api_name",name:"api_name"}),(0,j.jsx)(Z,{onChange:ae,value:oe,label:"Access Key",id:"access_key",name:"access_key"}),(0,j.jsx)(Z,{onChange:ce,value:le,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(Z,{onChange:me,value:pe,label:"Object",id:"object",name:"object"}),(0,j.jsx)(Z,{onChange:fe,value:ge,label:"Request ID",id:"request_id",name:"request_id"}),(0,j.jsx)(Z,{onChange:ve,value:Ze,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.endLineAction,children:(0,j.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){Ee(0),h(!0)},children:"Get Information"})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(F.s,{scopes:[N.Ft.ADMIN_HEALTH_INFO],resource:N.C3,errorProps:{disabled:!0},children:(0,j.jsx)(f.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{label:C.access_key,elementKey:"access_key"},{label:C.bucket,elementKey:"bucket"},{label:C.object,elementKey:"object"},{label:C.remote_host,elementKey:"remote_host"},{label:C.request_id,elementKey:"request_id"},{label:C.user_agent,elementKey:"user_agent"},{label:C.response_status,elementKey:"response_status",renderFunction:function(e){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:x.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:x.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:x.Yj,contentTextAlign:"right"}],isLoading:u,records:G,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Ne,onColumnChange:function(e,t){var n=(0,i.Z)(Ne);t?n.includes(e)||n.push(e):n=Ne.filter((function(t){return t!==e})),Fe(n)},customPaperHeight:K?t.tableFOpen:t.tableFClosed,sortConfig:{currentSort:"time",currentDirection:Se,triggerSort:function(e){var t=c()(e,"sortDirection","DESC");_e(t),Ee(0),h(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return Ue(),new Promise((function(e){Ge=e}))}},itemActions:[{type:"view",onClick:function(e){He(e),ze(!0)}}],textSelectable:!0})})})]}):(0,j.jsx)(w,{entity:"Audit Logs",iconComponent:(0,j.jsx)(I.W1M,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})}))}}]);
+//# sourceMappingURL=3543.ca7f878f.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3543.ca7f878f.chunk.js.map b/portal-ui/build/static/js/3543.ca7f878f.chunk.js.map
new file mode 100644
index 000000000..c2bbc05c5
--- /dev/null
+++ b/portal-ui/build/static/js/3543.ca7f878f.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/3543.ca7f878f.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx","screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/FormComponents/FilterInputWrapper/FilterInputWrapper.tsx","screens/Console/Logs/LogSearch/utils.ts","screens/Console/Logs/LogSearch/LogSearchFullModal.tsx","screens/Console/Common/MissingIntegration/MissingIntegration.tsx","screens/Console/Logs/LogSearch/LogsSearchMain.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button, Grid } from \"@mui/material\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport WatchLaterIcon from \"@mui/icons-material/WatchLater\";\nimport { actionsTray, widgetContainerCommon } from \"../common/styleLibrary\";\nimport DateTimePickerWrapper from \"../DateTimePickerWrapper/DateTimePickerWrapper\";\nimport SyncIcon from \"../../../../../icons/SyncIcon\";\nimport { OpenListIcon } from \"../../../../../icons\";\n\ninterface IDateRangeSelector {\n classes: any;\n timeStart: any;\n setTimeStart: (date: any) => void;\n timeEnd: any;\n setTimeEnd: (date: any) => void;\n triggerSync?: () => void;\n label?: string;\n startLabel?: string;\n endLabel?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n syncButton: {\n \"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type\": {\n fontSize: 18,\n },\n },\n schedulerIcon: {\n opacity: 0.4,\n fontSize: 10,\n \"& svg\": {\n width: 18,\n height: 18,\n },\n },\n selectorLabel: {\n color: \"#9D9E9D\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginLeft: 10,\n fontSize: 12,\n },\n });\n\nconst DateFilterAdornIcon = () => {\n return (\n \n \n \n );\n};\n\nconst DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n label = \"Filter:\",\n startLabel = \"Start Time:\",\n endLabel = \"End Time:\",\n}: IDateRangeSelector) => {\n return (\n \n \n \n {label}\n \n \n \n \n \n \n \n {startLabel}\n \n \n \n \n \n\n \n \n \n \n \n {endLabel}\n \n \n \n \n \n \n\n {triggerSync && (\n \n }\n className={classes.syncButton}\n >\n Sync\n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(DateRangeSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport DateTimePicker from \"@mui/lab/DateTimePicker\";\nimport AdapterMoment from \"@mui/lab/AdapterMoment\";\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport OpenListIcon from \"../../../../../icons/OpenListIcon\";\n\ninterface IDateTimePicker {\n value: any;\n onChange: (value: any) => any;\n classes: any;\n forSearchBlock?: boolean;\n forFilterContained?: boolean;\n label?: string;\n required?: boolean;\n tooltip?: string;\n id: string;\n disabled?: boolean;\n noInputIcon?: boolean;\n classNamePrefix?: string;\n openPickerIcon?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateSelectorOverride: {\n height: 40,\n border: \"#EAEDEE 1px solid\",\n marginLeft: 15,\n backgroundColor: \"#fff\",\n padding: \"0 16px\",\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n borderColor: \"#000\",\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n },\n dateSelectorFilterOverride: {\n width: 180,\n height: 42,\n marginLeft: 20,\n padding: 0,\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: \"bold\",\n color: \"#081C42\",\n },\n \"@media (max-width: 900px)\": {\n width: 103,\n },\n },\n dateSelectorFormOverride: {\n width: \"100%\",\n maxWidth: 840,\n },\n parentDateOverride: {\n flexGrow: 1,\n },\n textBoxContainer: {\n flexGrow: 1,\n },\n openListIcon: {\n color: \"#9D9E9D\",\n width: 8,\n marginTop: 2,\n },\n paperOverride: {\n \"& .MuiCalendarPicker-root\": {\n padding: \"0 22px\",\n \"& > div\": {\n padding: 0,\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type\":\n {\n color: \"#0A224C\",\n fontWeight: \"bold\",\n },\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type\": {\n color: \"#9D9E9D\",\n \"& + button.MuiButtonBase-root\": {\n color: \"#9D9E9D\",\n },\n },\n \"& > div:nth-child(2)\": {\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n },\n },\n },\n \"& .MuiTypography-root.MuiTypography-caption\": {\n width: 26,\n height: 26,\n margin: 5,\n color: \"#BCBCBC\",\n fontSize: 10,\n },\n \"& button.MuiPickersDay-root\": {\n fontWeight: \"bold\",\n width: 26,\n height: 26,\n margin: 5,\n textAlign: \"center\",\n \"&.Mui-selected\": {\n backgroundColor: theme.palette.primary.main,\n color: \"#fff\",\n },\n },\n \"& div.MuiPickersDay-hiddenDaySpacingFiller\": {\n width: 26,\n height: 26,\n margin: 5,\n },\n \"& div.PrivatePickersSlideTransition-root\": {\n minHeight: 240,\n },\n \"& div.MuiCalendarPicker-viewTransitionContainer\": {\n borderTop: \"#F0F3F5 1px solid\",\n },\n \"& .MuiClockPicker-arrowSwitcher\": {\n marginRight: 10,\n marginTop: -1,\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n \"& + div > div\": {\n width: 255,\n height: 255,\n backgroundColor: \"#fff\",\n marginTop: 30,\n marginBottom: 14,\n border: \"#F0F3F5 3px solid\",\n \"& > div:nth-child(2)\": {\n backgroundColor: \"#B4B5B4\",\n width: 12,\n height: 12,\n \"&::before\": {\n content: \"' '\",\n width: 35,\n height: 35,\n display: \"block\",\n position: \"absolute\",\n border: \"#F0F3F5 3px solid\",\n top: -12,\n left: -12,\n borderRadius: \"100%\",\n },\n },\n \"& > div:nth-child(3)\": {\n backgroundColor: \"#B4B5B4\",\n width: 4,\n },\n \"& > div:last-of-type\": {\n marginTop: 15,\n \"& > span\": {\n color: \"#0A224C\",\n \"&.Mui-selected\": {\n color: \"#fff\",\n },\n \"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']\":\n {\n fontWeight: \"bold\",\n fontSize: 20,\n marginTop: -1,\n },\n },\n },\n },\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst DateTimePickerWrapper = ({\n value,\n onChange,\n classes,\n forSearchBlock = false,\n forFilterContained = false,\n label,\n tooltip = \"\",\n required,\n id,\n disabled = false,\n noInputIcon = false,\n classNamePrefix = \"\",\n openPickerIcon,\n}: IDateTimePicker) => {\n let adornment = {};\n\n if (!noInputIcon) {\n adornment = {\n startAdornment: (\n \n \n \n ),\n };\n }\n\n if (forFilterContained) {\n adornment = {\n endAdornment: (\n \n \n \n ),\n };\n }\n\n const classOverridden = `${classNamePrefix}date-time-input ${\n forSearchBlock ? classes.dateSelectorOverride : \"\"\n } ${\n forFilterContained && !forSearchBlock\n ? classes.dateSelectorFilterOverride\n : \"\"\n }`;\n\n const clsName = forSearchBlock\n ? classes.parentDateOverride\n : classes.dateSelectorFormOverride;\n\n const inputItem = (\n \n (\n \n )}\n ampm={false}\n PopperProps={{\n className: classes.paperOverride,\n }}\n />\n \n );\n\n if (forSearchBlock) {\n return inputItem;\n }\n\n const containerCls = !forFilterContained ? classes.fieldContainer : \"\";\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n )}\n\n
\n {inputItem}\n
\n \n \n );\n};\n\nexport default withStyles(styles)(DateTimePickerWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport TextField from \"@mui/material/TextField\";\nimport { searchField } from \"../common/styleLibrary\";\n\ninterface IFilterInputWrapper {\n classes: any;\n value: string;\n onChange: (txtVar: string) => any;\n label: string;\n placeholder?: string;\n id: string;\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n height: 30,\n padding: 0,\n \"& input\": {\n padding: \"0 12px\",\n height: 28,\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n \"&.isDisabled\": {\n \"&:hover\": {\n borderColor: \"#EAEDEE\",\n },\n },\n \"& input.Mui-disabled\": {\n backgroundColor: \"#EAEAEA\",\n },\n },\n labelStyle: {\n color: \"#393939\",\n fontSize: 12,\n marginBottom: 4,\n },\n buttonKit: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n flexGrow: 1,\n margin: \"0 15px\",\n },\n });\n\nconst FilterInputWrapper = ({\n classes,\n label,\n onChange,\n value,\n placeholder = \"\",\n id,\n name,\n}: IFilterInputWrapper) => {\n return (\n \n
\n \n );\n};\n\nexport default withStyles(styles)(FilterInputWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const LogSearchColumnLabels = {\n time: \"Timestamp\",\n api_name: \"API Name\",\n access_key: \"Access Key\",\n bucket: \"Bucket\",\n object: \"Object\",\n remote_host: \"Remote Host\",\n request_id: \"Request ID\",\n user_agent: \"User Agent\",\n response_status: \"Response Status\",\n response_status_code: \"Response Status Code\",\n request_content_length: \"Request Content Length\",\n response_content_length: \"Response Content Length\",\n time_to_response_ns: \"Time to Response NS\",\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults } from \"./types\";\nimport { LogSearchColumnLabels } from \"./utils\";\n\ninterface ILogSearchFullModal {\n modalOpen: boolean;\n logSearchElement: IReqInfoSearchResults;\n onClose: () => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n objectKeyCol: {\n fontWeight: 700,\n paddingRight: \"10px\",\n textAlign: \"left\",\n },\n ...modalBasic,\n });\n\nconst LogSearchFullModal = ({\n modalOpen,\n logSearchElement,\n onClose,\n classes,\n}: ILogSearchFullModal) => {\n const jsonItems = Object.keys(logSearchElement);\n\n return (\n \n {\n onClose();\n }}\n >\n \n \n
\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LogSearchFullModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IMissingIntegration {\n iconComponent: any;\n entity: string;\n documentationLink: string;\n}\n\nconst MissingIntegration = ({\n iconComponent,\n entity,\n documentationLink,\n}: IMissingIntegration) => {\n return (\n \n \n \n This feature is not available.\n \n Please configure{\" \"}\n \n {entity}\n {\" \"}\n first to use this feature.\n \n }\n />\n \n \n );\n};\n\nexport default MissingIntegration;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, Grid } from \"@mui/material\";\nimport {\n advancedFilterToggleStyles,\n containerForHeader,\n logsCommon,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults, ISearchResponse } from \"./types\";\nimport { niceBytes, nsToSeconds } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport FilterInputWrapper from \"../../Common/FormComponents/FilterInputWrapper/FilterInputWrapper\";\nimport LogSearchFullModal from \"./LogSearchFullModal\";\nimport { LogSearchColumnLabels } from \"./utils\";\nimport DateRangeSelector from \"../../Common/FormComponents/DateRangeSelector/DateRangeSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport { SearchIcon } from \"../../../../icons\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selFeatures } from \"../../consoleSlice\";\n\ninterface ILogSearchProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n blockCollapsed: {\n display: \"none\",\n overflowY: \"hidden\",\n },\n filterOpen: {\n display: \"block\",\n marginBottom: 12,\n },\n endLineAction: {\n marginBottom: 15,\n padding: \"0 15px 0 15px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n filtersContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 12,\n },\n innerContainer: {\n backgroundColor: \"#fff\",\n },\n noticeLabel: {\n marginLeft: 15,\n marginBottom: 15,\n fontSize: 12,\n color: \"#9C9C9C\",\n },\n\n tableFOpen: {\n height: \"calc(100vh - 520px)\",\n },\n tableFClosed: {\n height: \"calc(100vh - 320px)\",\n },\n ...tableStyles,\n ...advancedFilterToggleStyles,\n\n searchOptions: {\n display: \"flex\",\n padding: 15,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 15,\n },\n dateRangePicker: {\n \"& div\": {\n marginBottom: 0,\n },\n },\n advancedButton: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst LogsSearchMain = ({ classes }: ILogSearchProps) => {\n const dispatch = useDispatch();\n const features = useSelector(selFeatures);\n\n const [loading, setLoading] = useState(true);\n const [timeStart, setTimeStart] = useState(null);\n const [timeEnd, setTimeEnd] = useState(null);\n const [filterOpen, setFilterOpen] = useState(false);\n const [records, setRecords] = useState([]);\n const [bucket, setBucket] = useState(\"\");\n const [apiName, setApiName] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [userAgent, setUserAgent] = useState(\"\");\n const [object, setObject] = useState(\"\");\n const [requestID, setRequestID] = useState(\"\");\n const [responseStatus, setResponseStatus] = useState(\"\");\n const [sortOrder, setSortOrder] = useState<\"ASC\" | \"DESC\" | undefined>(\n \"DESC\"\n );\n const [columnsShown, setColumnsShown] = useState([\n \"time\",\n \"api_name\",\n \"access_key\",\n \"bucket\",\n \"object\",\n \"remote_host\",\n \"request_id\",\n \"user_agent\",\n \"response_status\",\n ]);\n const [nextPage, setNextPage] = useState(0);\n const [alreadyFetching, setAlreadyFetching] = useState(false);\n const [logSearchExtrasOpen, setLogSearchExtrasOpen] =\n useState(false);\n const [selectedItem, setSelectedItem] =\n useState(null);\n\n let recordsResp: any = null;\n const logSearchEnabled = features && features.includes(\"log-search\");\n\n const fetchRecords = useCallback(() => {\n if (!alreadyFetching && logSearchEnabled) {\n setAlreadyFetching(true);\n let queryParams = `${bucket !== \"\" ? `&fp=bucket:${bucket}` : \"\"}${\n object !== \"\" ? `&fp=object:${object}` : \"\"\n }${apiName !== \"\" ? `&fp=api_name:${apiName}` : \"\"}${\n accessKey !== \"\" ? `&fp=access_key:${accessKey}` : \"\"\n }${requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"}${\n userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"\n }${responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"}`;\n\n queryParams = queryParams.trim();\n\n if (queryParams.endsWith(\",\")) {\n queryParams = queryParams.slice(0, -1);\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/logs/search?q=reqinfo${\n queryParams !== \"\" ? `${queryParams}` : \"\"\n }&pageSize=100&pageNo=${nextPage}&order=${\n sortOrder === \"DESC\" ? \"timeDesc\" : \"timeAsc\"\n }${\n timeStart !== null ? `&timeStart=${timeStart.toISOString()}` : \"\"\n }${timeEnd !== null ? `&timeEnd=${timeEnd.toISOString()}` : \"\"}`\n )\n .then((res: ISearchResponse) => {\n const fetchedResults = res.results || [];\n\n setLoading(false);\n setAlreadyFetching(false);\n setRecords(fetchedResults);\n setNextPage(nextPage + 1);\n\n if (recordsResp !== null) {\n recordsResp();\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setAlreadyFetching(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n accessKey,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n dispatch,\n ]);\n\n useEffect(() => {\n if (loading) {\n setRecords([]);\n fetchRecords();\n }\n }, [loading, sortOrder, fetchRecords]);\n\n const triggerLoad = () => {\n setNextPage(0);\n setLoading(true);\n };\n\n const selectColumn = (colName: string, active: boolean) => {\n let newArray = [...columnsShown];\n\n if (!active) {\n newArray = columnsShown.filter((element) => element !== colName);\n } else {\n if (!newArray.includes(colName)) {\n newArray.push(colName);\n }\n }\n setColumnsShown(newArray);\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setSortOrder(newSortDirection);\n setNextPage(0);\n setLoading(true);\n };\n\n const loadMoreRecords = (_: { startIndex: number; stopIndex: number }) => {\n fetchRecords();\n return new Promise((resolve) => {\n recordsResp = resolve;\n });\n };\n\n const openExtraInformation = (item: IReqInfoSearchResults) => {\n setSelectedItem(item);\n setLogSearchExtrasOpen(true);\n };\n\n const closeViewExtraInformation = () => {\n setSelectedItem(null);\n setLogSearchExtrasOpen(false);\n };\n\n return (\n \n {logSearchExtrasOpen && selectedItem !== null && (\n \n )}\n\n \n \n {!logSearchEnabled ? (\n }\n documentationLink=\"https://github.com/minio/operator/tree/master/logsearchapi\"\n />\n ) : (\n \n {\" \"}\n \n \n
\n \n
\n\n \n \n \n \n \n
\n
\n Enable your preferred options to get filtered records.\n \n You can use '*' to match any character, '.' to signify a\n single character or '\\' to scape an special character (E.g.\n mybucket-*)\n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n (\n \n \n {element.response_status_code} (\n {element.response_status})\n \n \n ),\n renderFullObject: true,\n },\n {\n label: LogSearchColumnLabels.request_content_length,\n elementKey: \"request_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.response_content_length,\n elementKey: \"response_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.time_to_response_ns,\n elementKey: \"time_to_response_ns\",\n renderFunction: nsToSeconds,\n contentTextAlign: \"right\",\n },\n ]}\n isLoading={loading}\n records={records}\n entityName=\"Logs\"\n customEmptyMessage={\n \"There is no information with this criteria\"\n }\n idField=\"request_id\"\n columnsSelector\n columnsShown={columnsShown}\n onColumnChange={selectColumn}\n customPaperHeight={\n filterOpen ? classes.tableFOpen : classes.tableFClosed\n }\n sortConfig={{\n currentSort: \"time\",\n currentDirection: sortOrder,\n triggerSort: sortChange,\n }}\n infiniteScrollConfig={{\n recordsCount: 1000000,\n loadMoreRecords: loadMoreRecords,\n }}\n itemActions={[\n {\n type: \"view\",\n onClick: openExtraInformation,\n },\n ]}\n textSelectable\n />\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(LogsSearchMain);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DateFilterAdornIcon","sx","actionsTray","widgetContainerCommon","syncButton","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","label","startLabel","endLabel","WebkitTextFillColor","md","gridTemplateColumns","sm","padding","gap","fill","value","onChange","id","classNamePrefix","forFilterContained","noInputIcon","openPickerIcon","justifyContent","type","variant","onClick","endIcon","dateSelectorOverride","borderBottom","borderColor","dateSelectorFilterOverride","dateSelectorFormOverride","maxWidth","parentDateOverride","flexGrow","textBoxContainer","openListIcon","marginTop","paperOverride","margin","textAlign","palette","primary","main","minHeight","borderTop","content","position","top","left","fieldBasic","tooltipHelper","forSearchBlock","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverridden","clsName","inputItem","dateAdapter","AdapterMoment","InputProps","components","OpenPickerIcon","renderInput","props","ampm","PopperProps","containerCls","fieldContainer","Fragment","htmlFor","inputLabel","tooltipContainer","placement","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","dispatch","useDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","searchField","labelStyle","buttonKit","placeholder","name","TextField","val","target","disableUnderline","LogSearchColumnLabels","time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status","response_status_code","request_content_length","response_content_length","time_to_response_ns","buttonContainer","objectKeyCol","modalBasic","logSearchElement","jsonItems","Object","keys","ModalWrapper","Grid","map","objectKey","index","get","toString","Button","entity","documentationLink","alignContent","HelpBox","href","rel","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","features","selFeatures","loading","setLoading","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","accessKey","setAccessKey","userAgent","setUserAgent","setObject","requestID","setRequestID","responseStatus","setResponseStatus","sortOrder","setSortOrder","columnsShown","setColumnsShown","nextPage","setNextPage","alreadyFetching","setAlreadyFetching","logSearchExtrasOpen","setLogSearchExtrasOpen","selectedItem","setSelectedItem","recordsResp","logSearchEnabled","includes","fetchRecords","useCallback","queryParams","trim","endsWith","slice","api","toISOString","then","res","fetchedResults","results","catch","err","setErrorSnackMessage","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","TableWrapper","columns","elementKey","enableSort","renderFunction","element","renderFullObject","niceBytes","nsToSeconds","contentTextAlign","isLoading","entityName","customEmptyMessage","idField","columnsSelector","onColumnChange","colName","active","newArray","push","filter","customPaperHeight","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","infiniteScrollConfig","recordsCount","loadMoreRecords","_","Promise","resolve","itemActions","textSelectable"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3791.cf2f7179.chunk.js b/portal-ui/build/static/js/3791.cf2f7179.chunk.js
new file mode 100644
index 000000000..2f9e93b59
--- /dev/null
+++ b/portal-ui/build/static/js/3791.cf2f7179.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3791],{23804:function(e,n,t){t(72791);var r=t(11135),a=t(25787),i=t(61889),s=t(80184);n.Z=(0,a.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,r=e.title,a=e.help;return(0,s.jsx)("div",{className:n.root,children:(0,s.jsxs)(i.ZP,{container:!0,children:[(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,s.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},37798:function(e,n,t){t.r(n),t.d(n,{default:function(){return _}});var r=t(1413),a=t(72791),i=t(26181),s=t.n(i),o=t(11135),c=t(25787),l=t(56028),u=t(61889),d=t(77196),m=t(63466),f=t(85531),p=t(78029),g=t.n(p),h=t(62410),x=t(23814),v=t(80184),y=(0,c.Z)((function(e){return(0,o.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,r.Z)((0,r.Z)({},x.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,r=e.value,a=void 0===r?"":r,i=e.classes,s=void 0===i?{}:i;return(0,v.jsxs)("div",{className:s.container,children:[(0,v.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,v.jsx)("div",{className:s.inputWithCopy,children:(0,v.jsx)(d.Z,{value:a,readOnly:!0,endAdornment:(0,v.jsx)(m.Z,{position:"end",children:(0,v.jsx)(g(),{text:a,children:(0,v.jsx)(f.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,v.jsx)(h.TIy,{})})})})})})]})})),Z=t(89357),j=t(40603),C=function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+n),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},_=(0,c.Z)((function(e){return(0,o.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,i=e.open,o=e.closeModal,c=e.entity;if(!t)return null;var d=s()(t,"console",null),m=s()(t,"idp",!1);return(0,v.jsx)(l.Z,{modalOpen:i,onClose:function(){o()},title:(0,v.jsx)("div",{className:n.promptTitle,children:(0,v.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,v.jsx)(h.tVY,{}),children:(0,v.jsxs)(u.ZP,{container:!0,children:[(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",c," has been created with the following details:",!m&&d&&(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,v.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(d)&&d.map((function(e,n){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(y,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(d)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:d.accessKey}),(0,v.jsx)(y,{label:"Secret Key",value:d.secretKey})]})]})}),(null===d||void 0===d)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:t.accessKey||""}),(0,v.jsx)(y,{label:"Secret Key",value:t.secretKey||""})]}),m?(0,v.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,v.jsxs)("div",{className:n.warningBlock,children:[(0,v.jsx)(Z.Z,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsx)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:!m&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(j.Z,{id:"download-button",tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",text:"Download for import",className:n.buttonSpacer,onClick:function(){var e={};d?e=Array.isArray(d)?d.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:d.url,accessKey:d.accessKey,secretKey:d.secretKey,api:"s3v4",path:"auto"}:e={url:t.url,accessKey:t.accessKey,secretKey:t.secretKey,api:"s3v4",path:"auto"};C("credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,v.jsx)(h._8t,{}),variant:"contained",color:"primary"}),Array.isArray(d)&&d.length>1&&(0,v.jsx)(j.Z,{id:"download-all-button",tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",text:"Download all access credentials",className:n.buttonSpacer,onClick:function(){var e={};d&&(e=d.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));C("all_credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,v.jsx)(h._8t,{}),variant:"contained",color:"primary"})]})})]})})}))},54639:function(e,n,t){t.d(n,{Z:function(){return Z}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),c=t(61889),l=t(30829),u=t(20068),d=t(13400),m=t(99663),f=t(86711),p=t(11135),g=t(25787),h=t(23814),x=t(84570),v=t(22512),y=t(80184),Z=(0,g.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,a.Z)((0,a.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,a.Z)((0,a.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,t=e.classes,a=e.onChange,s=e.id,p=e.name,g=e.disabled,h=void 0!==g&&g,Z=e.tooltip,j=void 0===Z?"":Z,C=e.required,_=e.error,b=void 0===_?"":_,S=e.accept,N=void 0===S?"":S,A=e.value,I=void 0===A?"":A,P=(0,i.useState)(!1),k=(0,r.Z)(P,2),T=k[0],w=k[1];return(0,y.jsx)(i.Fragment,{children:(0,y.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(t.fileInputField," ").concat(t.fieldBottom," ").concat(t.fieldContainer," ").concat(""!==b?t.errorInField:""),children:[""!==n&&(0,y.jsxs)(l.Z,{htmlFor:s,className:"".concat(""!==b?t.fieldLabelError:""," ").concat(t.inputLabel),children:[(0,y.jsxs)("span",{children:[n,C?"*":""]}),""!==j&&(0,y.jsx)("div",{className:t.tooltipContainer,children:(0,y.jsx)(u.Z,{title:j,placement:"top-start",children:(0,y.jsx)("div",{className:t.tooltip,children:(0,y.jsx)(x.Z,{})})})})]}),T||""===I?(0,y.jsxs)("div",{className:t.textBoxContainer,children:[(0,y.jsx)("input",{type:"file",name:p,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var t=e.target.files[0],r=new FileReader;r.readAsDataURL(t),r.onload=function(){var e=r.result;if(e){var t=e.toString().split("base64,");2===t.length&&n(t[1])}}}(e,(function(e){a(e,n)}))},accept:N,required:C,disabled:h,className:t.fileInputField}),""!==I&&(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){w(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(f.Z,{})}),""!==b&&(0,y.jsx)(v.Z,{errorMessage:b})]}):(0,y.jsxs)("div",{className:t.fileReselect,children:[(0,y.jsx)("div",{className:t.valueString,children:I}),(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){w(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(m.Z,{})})]})]})})}))},56028:function(e,n,t){var r=t(29439),a=t(1413),i=t(72791),s=t(60364),o=t(13400),c=t(55646),l=t(5574),u=t(65661),d=t(39157),m=t(11135),f=t(25787),p=t(23814),g=t(29823),h=t(28057),x=t(87995),v=t(80184);n.Z=(0,f.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},p.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,m=e.title,f=e.children,p=e.classes,y=e.wideLimit,Z=void 0===y||y,j=e.noContentPadding,C=e.titleIcon,_=void 0===C?null:C,b=(0,s.I0)(),S=(0,i.useState)(!1),N=(0,r.Z)(S,2),A=N[0],I=N[1],P=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){b((0,x.MK)(""))}),[b]),(0,i.useEffect)((function(){if(P){if(""===P.message)return void I(!1);"error"!==P.type&&I(!0)}}),[P]);var k=Z?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},T="";return P&&(T=P.detailedErrorMsg,(""===P.detailedErrorMsg||P.detailedErrorMsg.length<5)&&(T=P.message)),(0,v.jsxs)(l.Z,(0,a.Z)((0,a.Z)({open:t,classes:p},k),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,v.jsxs)(u.Z,{className:p.title,children:[(0,v.jsxs)("div",{className:p.titleText,children:[_," ",m]}),(0,v.jsx)("div",{className:p.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,v.jsx)(g.Z,{})})})]}),(0,v.jsx)(h.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:A,className:p.snackBarModal,onClose:function(){I(!1),b((0,x.MK)(""))},message:T,ContentProps:{className:"".concat(p.snackBar," ").concat(P&&"error"===P.type?p.errorSnackBar:"")},autoHideDuration:P&&"error"===P.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:j?"":p.content,children:f})]}))}))},23791:function(e,n,t){t.r(n),t.d(n,{default:function(){return qe}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),c=t(60364),l=t(61889),u=t(40986),d=t(11135),m=t(23814),f=t(81207),p=t(45248),g=t(28371),h=t(76256),x=t(37798),v=t(93433),y=t(25787),Z=t(10703),j=t(13400),C=t(84741),_=t(40968),b=t(37516),S=t(21435),N=t(42419),A=t(51979),I=t(87706),P=t(80184),k=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,marginBottom:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},wrapperContainer:{display:"flex",marginBottom:15},overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{width:15,height:15},"& button":{background:"#EAEAEA"}}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.I0)(),s=(0,c.v9)((function(e){return e.createTenant.fields.configure.exposeMinIO})),o=(0,c.v9)((function(e){return e.createTenant.fields.configure.exposeConsole})),u=(0,c.v9)((function(e){return e.createTenant.fields.configure.setDomains})),d=(0,c.v9)((function(e){return e.createTenant.fields.configure.consoleDomain})),m=(0,c.v9)((function(e){return e.createTenant.fields.configure.minioDomains})),f=(0,c.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),p=(0,c.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),g=(0,i.useState)({}),h=(0,r.Z)(g,2),x=h[0],y=h[1],k=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];if(f&&(e=[].concat((0,v.Z)(e),[{fieldKey:"tenant_securityContext_runAsUser",required:!0,value:p.runAsUser,customValidation:""===p.runAsUser||parseInt(p.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"tenant_securityContext_runAsGroup",required:!0,value:p.runAsGroup,customValidation:""===p.runAsGroup||parseInt(p.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"tenant_securityContext_fsGroup",required:!0,value:p.fsGroup,customValidation:""===p.fsGroup||parseInt(p.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),u){var n=m.map((function(e,n){return{fieldKey:"minio-domain-".concat(n.toString()),required:!1,value:e,pattern:/((http|https):\/\/)+[a-zA-Z0-9\-.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$/,customPatternMessage:"MinIO domain is not in the form of http|https://subdomain.domain"}}));e=[].concat((0,v.Z)(e),(0,v.Z)(n),[{fieldKey:"console_domain",required:!1,value:d,pattern:/((http|https):\/\/)+[a-zA-Z0-9\-.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?(:[1-9]{1}([0-9]{1,4})?)?(\/[a-zA-Z0-9]{1,})*?$/,customPatternMessage:"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2"}])}var r=(0,_.R)(e);t((0,I.NO)({pageName:"configure",valid:0===Object.keys(r).length})),y(r)}),[t,f,p,u,d,m]);var T=function(e){y((0,C.h)(x,e))};return(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)("div",{className:n.headerElement,children:[(0,P.jsx)("h3",{className:n.h3Section,children:"Configure"}),(0,P.jsx)("span",{className:n.descriptionText,children:"Basic configurations for tenant management"})]}),(0,P.jsxs)("div",{className:n.headerElement,children:[(0,P.jsx)("h3",{className:n.h3Section,children:"Services"}),(0,P.jsx)("span",{className:n.descriptionText,children:"Whether the tenant's services should request an external IP via LoadBalancer service type."})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)(b.Z,{value:"expose_minio",id:"expose_minio",name:"expose_minio",checked:s,onChange:function(e){var n=e.target.checked;k("exposeMinIO",n)},label:"Expose MiniO Service"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)(b.Z,{value:"expose_console",id:"expose_console",name:"expose_console",checked:o,onChange:function(e){var n=e.target.checked;k("exposeConsole",n)},label:"Expose Console Service"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)(b.Z,{value:"custom_domains",id:"custom_domains",name:"custom_domains",checked:u,onChange:function(e){var n=e.target.checked;k("setDomains",n)},label:"Set Custom Domains"})}),u&&(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,P.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"Custom Domains for MinIO"}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:[(0,P.jsx)("div",{className:n.containerItem,children:(0,P.jsx)(S.Z,{id:"console_domain",name:"console_domain",onChange:function(e){k("consoleDomain",e.target.value),T("tenant_securityContext_runAsUser")},label:"Console Domain",value:d,placeholder:"Eg. http://subdomain.domain:port/subpath1/subpath2",error:x.console_domain||""})}),(0,P.jsxs)("div",{children:[(0,P.jsx)("h4",{children:"MinIO Domains"}),(0,P.jsx)("div",{className:"".concat(n.responsiveSectionItem),children:m.map((function(e,r){return(0,P.jsxs)("div",{className:"".concat(n.containerItem," ").concat(n.wrapperContainer),children:[(0,P.jsx)(S.Z,{id:"minio-domain-".concat(r.toString()),name:"minio-domain-".concat(r.toString()),onChange:function(e){!function(e,n){var t=(0,v.Z)(m);t[n]=e,k("minioDomains",t)}(e.target.value,r)},label:"MinIO Domain ".concat(r+1),value:e,placeholder:"Eg. http://subdomain.domain",error:x["minio-domain-".concat(r.toString())]||""}),(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){return t((0,I.x_)())},disabled:r!==m.length-1,children:(0,P.jsx)(N.Z,{})})}),(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){return t((0,I.JL)(r))},disabled:m.length<=1,children:(0,P.jsx)(A.Z,{})})})]},"minio-domain-key-".concat(r.toString()))}))})]})]})]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)(b.Z,{value:"tenantConfig",id:"tenant_configuration",name:"tenant_configuration",checked:f,onChange:function(e){var n=e.target.checked;k("tenantCustom",n)},label:"Security Context"})}),f&&(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,P.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for MinIO"}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,P.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,P.jsx)("div",{className:n.containerItem,children:(0,P.jsx)(S.Z,{type:"number",id:"tenant_securityContext_runAsUser",name:"tenant_securityContext_runAsUser",onChange:function(e){k("tenantSecurityContext",(0,a.Z)((0,a.Z)({},p),{},{runAsUser:e.target.value})),T("tenant_securityContext_runAsUser")},label:"Run As User",value:p.runAsUser,required:!0,error:x.tenant_securityContext_runAsUser||"",min:"0"})}),(0,P.jsx)("div",{className:n.containerItem,children:(0,P.jsx)(S.Z,{type:"number",id:"tenant_securityContext_runAsGroup",name:"tenant_securityContext_runAsGroup",onChange:function(e){k("tenantSecurityContext",(0,a.Z)((0,a.Z)({},p),{},{runAsGroup:e.target.value})),T("tenant_securityContext_runAsGroup")},label:"Run As Group",value:p.runAsGroup,required:!0,error:x.tenant_securityContext_runAsGroup||"",min:"0"})}),(0,P.jsx)("div",{className:n.containerItem,children:(0,P.jsx)(S.Z,{type:"number",id:"tenant_securityContext_fsGroup",name:"tenant_securityContext_fsGroup",onChange:function(e){k("tenantSecurityContext",(0,a.Z)((0,a.Z)({},p),{},{fsGroup:e.target.value})),T("tenant_securityContext_fsGroup")},label:"FsGroup",value:p.fsGroup,required:!0,error:x.tenant_securityContext_fsGroup||"",min:"0"})})]})}),(0,P.jsx)("br",{}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(b.Z,{value:"tenantSecurityContextRunAsNonRoot",id:"tenant_securityContext_runAsNonRoot",name:"tenant_securityContext_runAsNonRoot",checked:p.runAsNonRoot,onChange:function(e){var n=e.target.checked;k("tenantSecurityContext",(0,a.Z)((0,a.Z)({},p),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})})]})})),T=t(83679),w=t(20890),R=t(20068),D=t(72455),K=t(27247),F=(0,D.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({adUserDnRows:{display:"flex"},buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),E=function(){var e=(0,c.I0)(),n=F(),t=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADURL})),s=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADSkipTLS})),o=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerInsecure})),u=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchBaseDN})),d=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchFilter})),m=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNs})),f=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindDN})),p=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindPassword})),g=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchBaseDN})),h=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchFilter})),x=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerStartTLS})),y=(0,i.useState)({}),Z=(0,r.Z)(y,2),A=Z[0],k=Z[1],T=(0,i.useCallback)((function(n,t){e((0,I.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),D=function(e){k((0,C.h)(A,e))};return(0,i.useEffect)((function(){var n=[];if("AD"===t){n=[].concat((0,v.Z)(n),[{fieldKey:"AD_URL",required:!0,value:a},{fieldKey:"ad_lookupBindDN",required:!0,value:f}]);for(var r=0;r1&&e((0,I.GU)(r))},children:(0,P.jsx)(K.Z,{})})})]})]})},"identityField-".concat(r.toString()))}))})]})]})},G=(0,D.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),z=function(){var e=(0,c.I0)(),n=G(),t=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDConfigurationURL})),s=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClientID})),o=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDSecretID})),u=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDCallbackURL})),d=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClaimName})),m=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.openIDScopes})),f=(0,i.useState)({}),p=(0,r.Z)(f,2),g=p[0],h=p[1],x=(0,i.useCallback)((function(n,t){e((0,I.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),y=function(e){h((0,C.h)(g,e))};return(0,i.useEffect)((function(){var n=[];"OpenID"===t&&(n=[].concat((0,v.Z)(n),[{fieldKey:"openID_CONFIGURATION_URL",required:!0,value:a},{fieldKey:"openID_clientID",required:!0,value:s},{fieldKey:"openID_secretID",required:!0,value:o},{fieldKey:"openID_claimName",required:!0,value:d}]));var r=(0,_.R)(n);e((0,I.NO)({pageName:"identityProvider",valid:0===Object.keys(r).length})),h(r)}),[t,s,o,a,d,e]),(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_CONFIGURATION_URL",name:"openID_CONFIGURATION_URL",onChange:function(e){x("openIDConfigurationURL",e.target.value),y("openID_CONFIGURATION_URL")},label:"Configuration URL",value:a,placeholder:"https://your-identity-provider.com/.well-known/openid-configuration",error:g.openID_CONFIGURATION_URL||"",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_clientID",name:"openID_clientID",onChange:function(e){x("openIDClientID",e.target.value),y("openID_clientID")},label:"Client ID",value:s,error:g.openID_clientID||"",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_secretID",name:"openID_secretID",onChange:function(e){x("openIDSecretID",e.target.value),y("openID_secretID")},label:"Secret ID",value:o,error:g.openID_secretID||"",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_callbackURL",name:"openID_callbackURL",onChange:function(e){x("openIDCallbackURL",e.target.value),y("openID_callbackURL")},label:"Callback URL",value:u,placeholder:"https://your-console-endpoint:9443/oauth_callback",error:g.openID_callbackURL||""})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_claimName",name:"openID_claimName",onChange:function(e){x("openIDClaimName",e.target.value),y("openID_claimName")},label:"Claim Name",value:d,error:g.openID_claimName||"",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"openID_scopes",name:"openID_scopes",onChange:function(e){x("openIDScopes",e.target.value),y("openID_scopes")},label:"Scopes",value:m})})]})},q=t(22918),U=(0,D.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},shortened:{gridTemplateColumns:"auto auto 50px 50px",display:"grid",gridGap:15,marginBottom:10,"& input":{fontWeight:400}}},m.QV),m.DF),m.oO),m.AK))})),O=function(){var e=(0,c.I0)(),n=U(),t=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.accessKeys})),s=(0,c.v9)((function(e){return e.createTenant.fields.identityProvider.secretKeys})),o=(0,i.useState)({}),l=(0,r.Z)(o,2),u=l[0],d=l[1],m=function(e){d((0,C.h)(u,e))};return(0,i.useEffect)((function(){var n=[];if("Built-in"===t){n=(0,v.Z)(n);for(var r=0;r0)&&(G=!0);var z=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"encryption",field:e,value:n}))}),[t]),q=function(e){E((0,C.h)(F,e))};return(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,v.Z)(e),[{fieldKey:"replicas",required:!0,value:s,customValidation:parseInt(s)<1,customValidationMessage:"Replicas needs to be 1 or greater"},{fieldKey:"kes_securityContext_runAsUser",required:!0,value:R.runAsUser,customValidation:""===R.runAsUser||parseInt(R.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"kes_securityContext_runAsGroup",required:!0,value:R.runAsGroup,customValidation:""===R.runAsGroup||parseInt(R.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"kes_securityContext_fsGroup",required:!0,value:R.fsGroup,customValidation:""===R.fsGroup||parseInt(R.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]),w&&(e=[].concat((0,v.Z)(e),[{fieldKey:"serverKey",required:!y,value:A.encoded_key},{fieldKey:"serverCert",required:!y,value:A.encoded_cert},{fieldKey:"clientKey",required:!y,value:k.encoded_key},{fieldKey:"clientCert",required:!y,value:k.encoded_cert}])));var n=(0,_.R)(e);t((0,I.NO)({pageName:"encryption",valid:0===Object.keys(n).length})),E(n)}),[o,u,d,m,f,p,g,h,t,y,w,A.encoded_key,A.encoded_cert,k.encoded_key,k.encoded_cert,R,s]),(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,P.jsx)(l.ZP,{item:!0,xs:!0,children:(0,P.jsx)($,{children:"Encryption"})}),(0,P.jsx)(l.ZP,{item:!0,xs:4,justifyContent:"end",textAlign:"right",children:(0,P.jsx)(b.Z,{label:"",indicatorLabels:["Enabled","Disabled"],checked:o,value:"tenant_encryption",id:"tenant-encryption",name:"tenant-encryption",onChange:function(e){var n=e.target.checked;z("enableEncryption",n)},description:"",disabled:!G})})]}),(0,P.jsxs)(l.ZP,{container:!0,spacing:1,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("span",{className:n.descriptionText,children:"MinIO Server-Side Encryption (SSE) protects objects as part of write operations, allowing clients to take advantage of server processing power to secure objects at the storage layer (encryption-at-rest). SSE also provides key functionality to regulatory and compliance requirements around secure locking and erasure."})}),(0,P.jsx)(l.ZP,{xs:12,children:(0,P.jsx)("hr",{className:n.hrClass})}),o&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.encryptionTypeOptions,children:(0,P.jsx)(T.Z,{currentSelection:u,id:"encryptionType",name:"encryptionType",label:"Encryption Options",onChange:function(e){z("encryptionType",e.target.value)},selectorOptions:[{label:"Vault",value:"vault"},{label:"AWS",value:"aws"},{label:"Gemalto",value:"gemalto"},{label:"GCP",value:"gcp"},{label:"Azure",value:"azure"}]})}),"vault"===u&&(0,P.jsx)(Y,{}),"azure"===u&&(0,P.jsx)(X,{}),"gcp"===u&&(0,P.jsx)(ne,{}),"aws"===u&&(0,P.jsx)(ie,{}),"gemalto"===u&&(0,P.jsx)(re,{}),(0,P.jsx)("div",{className:n.headerElement,children:(0,P.jsx)("h4",{className:n.h3Section,children:"Additional Configurations"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(b.Z,{value:"enableCustomCertsForKES",id:"enableCustomCertsForKES",name:"enableCustomCertsForKES",checked:x||!y,onChange:function(e){var n=e.target.checked;z("enableCustomCertsForKES",n)},label:"Custom Certificates",disabled:!y})}),(x||!y)&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{container:!0,children:(0,P.jsx)(l.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,P.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"Encryption Service Certificates"}),(0,P.jsx)(V.Z,{onChange:function(e,n){t((0,I.$1)({key:"key",fileName:n,value:e})),q("serverKey")},accept:".key,.pem",id:"serverKey",name:"serverKey",label:"Key",error:F.serverKey||"",value:A.key,required:!y}),(0,P.jsx)(V.Z,{onChange:function(e,n){t((0,I.$1)({key:"cert",fileName:n,value:e})),q("serverCert")},accept:".cer,.crt,.cert,.pem",id:"serverCert",name:"serverCert",label:"Cert",error:F.serverCert||"",value:A.cert,required:!y})]})})}),(0,P.jsx)(l.ZP,{container:!0,style:{marginBottom:15},children:(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"Mutual TLS authentication with MinIO"}),(0,P.jsx)(V.Z,{onChange:function(e,n){t((0,I.BI)({key:"key",fileName:n,value:e})),q("clientKey")},accept:".key,.pem",id:"clientKey",name:"clientKey",label:"Key",error:F.clientKey||"",value:k.key,required:!y}),(0,P.jsx)(V.Z,{onChange:function(e,n){t((0,I.BI)({key:"cert",fileName:n,value:e})),q("clientCert")},accept:".cer,.crt,.cert,.pem",id:"clientCert",name:"clientCert",label:"Cert",error:F.clientCert||"",value:k.cert,required:!y})]})})})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,classes:n.formFieldRow,children:(0,P.jsx)(S.Z,{type:"number",min:"1",id:"replicas",name:"replicas",onChange:function(e){z("replicas",e.target.value),q("replicas")},label:"Replicas",value:s,required:!0,error:F.replicas||""})}),(0,P.jsxs)("fieldset",{className:n.fieldGroup,style:{marginTop:15},children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for KES pods"}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.kesSecurityContext,children:(0,P.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveContainer),children:[(0,P.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,P.jsx)(S.Z,{type:"number",id:"kes_securityContext_runAsUser",name:"kes_securityContext_runAsUser",onChange:function(e){z("kesSecurityContext",(0,a.Z)((0,a.Z)({},R),{},{runAsUser:e.target.value})),q("kes_securityContext_runAsUser")},label:"Run As User",value:R.runAsUser,required:!0,error:F.kes_securityContext_runAsUser||"",min:"0"})}),(0,P.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,P.jsx)(S.Z,{type:"number",id:"kes_securityContext_runAsGroup",name:"kes_securityContext_runAsGroup",onChange:function(e){z("kesSecurityContext",(0,a.Z)((0,a.Z)({},R),{},{runAsGroup:e.target.value})),q("kes_securityContext_runAsGroup")},label:"Run As Group",value:R.runAsGroup,required:!0,error:F.kes_securityContext_runAsGroup||"",min:"0"})}),(0,P.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,P.jsx)(S.Z,{type:"number",id:"kes_securityContext_fsGroup",name:"kes_securityContext_fsGroup",onChange:function(e){z("kesSecurityContext",(0,a.Z)((0,a.Z)({},R),{},{fsGroup:e.target.value})),q("kes_securityContext_fsGroup")},label:"FsGroup",value:R.fsGroup,required:!0,error:F.kes_securityContext_fsGroup||"",min:"0"})})]})}),(0,P.jsx)("br",{}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(b.Z,{value:"kesSecurityContextRunAsNonRoot",id:"kes_securityContext_runAsNonRoot",name:"kes_securityContext_runAsNonRoot",checked:R.runAsNonRoot,onChange:function(e){var n=e.target.checked;z("kesSecurityContext",(0,a.Z)((0,a.Z)({},R),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})]})})),oe=t(4942),ce=t(90673),le=t(45660),ue=t(87995),de=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},affinityConfigField:{display:"flex"},affinityFieldLabel:{display:"flex",flexFlow:"column",flex:1},radioField:{display:"flex",alignItems:"flex-start",marginTop:10,"& div:first-child":{display:"flex",flexFlow:"column",alignItems:"baseline",textAlign:"left !important"}},affinityLabelKey:{"& div:first-child":{marginBottom:0}},affinityLabelValue:{marginLeft:10,"& div:first-child":{marginBottom:0}},rowActions:{display:"flex",alignItems:"center"},affinityRow:{marginBottom:10,display:"flex"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.I0)(),s=(0,c.v9)((function(e){return e.createTenant.fields.affinity.podAffinity})),o=(0,c.v9)((function(e){return e.createTenant.fields.affinity.nodeSelectorLabels})),u=(0,c.v9)((function(e){return e.createTenant.fields.affinity.withPodAntiAffinity})),d=(0,c.v9)((function(e){return e.createTenant.nodeSelectorPairs})),m=(0,c.v9)((function(e){return e.createTenant.tolerations})),p=(0,i.useState)({}),g=(0,r.Z)(p,2),h=g[0],x=g[1],y=(0,i.useState)(!0),C=(0,r.Z)(y,2),N=C[0],k=C[1],w=(0,i.useState)({}),R=(0,r.Z)(w,2),D=R[0],K=R[1],F=(0,i.useState)([]),E=(0,r.Z)(F,2),G=E[0],z=E[1],q=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"affinity",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){N&&f.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){k(!1),K(e);var n=[];for(var t in e)n.push({label:t,value:t});z(n)})).catch((function(e){k(!1),t((0,ue.zb)(e)),K({})}))}),[t,N]),(0,i.useEffect)((function(){if(d){var e=d.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,n,t){return t.indexOf(e)===n})).join("&");q("nodeSelectorLabels",e)}}),[d,q]),(0,i.useEffect)((function(){var e=[];if("nodeSelector"===s){var n=!0,r=o.split("&");1===r.length&&""===r[0]&&(n=!1),r.forEach((function(e,t){var a=e.split("=");2!==a.length&&(n=!1),t+1!==r.length&&(""!==a[0]&&""!==a[1]||(n=!1))})),e=[].concat((0,v.Z)(e),[{fieldKey:"labels",required:!0,value:o,customValidation:!n,customValidationMessage:"You need to add at least one label key-pair"}])}var a=(0,_.R)(e);t((0,I.NO)({pageName:"affinity",valid:0===Object.keys(a).length})),x(a)}),[t,s,o]);var U=function(e,n,r){var i=(0,a.Z)((0,a.Z)({},m[e]),{},(0,oe.Z)({},n,r));t((0,I.iU)({index:e,tolerationValue:i}))};return(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)("div",{className:n.headerElement,children:[(0,P.jsx)("h3",{className:n.h3Section,children:"Pod Placement"}),(0,P.jsx)("span",{className:n.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,P.jsxs)(l.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,P.jsx)("div",{className:n.label,children:"Type"}),(0,P.jsx)("div",{className:"".concat(n.descriptionText," ").concat(n.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,P.jsx)(l.ZP,{item:!0,className:n.radioField,children:(0,P.jsx)(T.Z,{currentSelection:s,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){q("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===s&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)("br",{}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(b.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:u,onChange:function(e){var n=e.target.checked;q("withPodAntiAffinity",n)},label:"With Pod Anti-Affinity"})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,P.jsx)("h3",{children:"Labels"}),(0,P.jsx)("span",{className:n.error,children:h.labels}),(0,P.jsx)(l.ZP,{container:!0,children:d&&d.map((function(e,r){return(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:5,className:n.affinityLabelKey,children:[G.length>0&&(0,P.jsx)(ce.Z,{onChange:function(e){var n=e.target.value,a={key:n,value:D[n][0]},i=(0,v.Z)(d);i[r]=a,t((0,I.i$)(i))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:G}),0===G.length&&(0,P.jsx)(S.Z,{id:"nodeselector-key-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.key,onChange:function(e){var n=(0,v.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,I.i$)(n))},index:r,placeholder:"Key"})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:5,className:n.affinityLabelValue,children:[G.length>0&&(0,P.jsx)(ce.Z,{onChange:function(e){var n=(0,v.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,I.i$)(n))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:D[e.key]?D[e.key].map((function(e){return{label:e,value:e}})):[]}),0===G.length&&(0,P.jsx)(S.Z,{id:"nodeselector-value-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.value,onChange:function(e){var n=(0,v.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,I.i$)(n))},index:r,placeholder:"value"})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){var e=(0,v.Z)(d);G.length>0?e.push({key:G[0].value,value:D[G[0].value][0]}):e.push({key:"",value:""}),t((0,I.i$)(e))},children:(0,P.jsx)(B.Z,{})})}),d.length>1&&(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){var e=d.filter((function(e,n){return n!==r}));t((0,I.i$)(e))},children:(0,P.jsx)(A.Z,{})})})]})]},"affinity-keyVal-".concat(r.toString()))}))})]})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,P.jsxs)(l.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,P.jsx)("h3",{children:"Tolerations"}),(0,P.jsx)("span",{className:n.error,children:h.tolerations}),(0,P.jsx)(l.ZP,{container:!0,children:m&&m.map((function(e,r){var a;return(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,P.jsx)(le.Z,{effect:e.effect,onEffectChange:function(e){U(r,"effect",e)},tolerationKey:e.key,onTolerationKeyChange:function(e){U(r,"key",e)},operator:e.operator,onOperatorChange:function(e){U(r,"operator",e)},value:e.value,onValueChange:function(e){U(r,"value",e)},tolerationSeconds:(null===(a=e.tolerationSeconds)||void 0===a?void 0:a.seconds)||0,onSecondsChange:function(e){U(r,"tolerationSeconds",{seconds:e})},index:r}),(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){t((0,I.ly)())},disabled:r!==m.length-1,children:(0,P.jsx)(B.Z,{})})}),(0,P.jsx)("div",{className:n.overlayAction,children:(0,P.jsx)(j.Z,{size:"small",onClick:function(){return t((0,I.JX)(r))},disabled:m.length<=1,children:(0,P.jsx)(A.Z,{})})})]},"affinity-keyVal-".concat(r.toString()))}))})]})})]})})),me=t(32291),fe=t(62666),pe=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.I0)(),a=(0,c.v9)((function(e){return e.createTenant.fields.configure.customImage})),s=(0,c.v9)((function(e){return e.createTenant.fields.configure.imageName})),o=(0,c.v9)((function(e){return e.createTenant.fields.configure.customDockerhub})),u=(0,c.v9)((function(e){return e.createTenant.fields.configure.imageRegistry})),d=(0,c.v9)((function(e){return e.createTenant.fields.configure.imageRegistryUsername})),m=(0,c.v9)((function(e){return e.createTenant.fields.configure.imageRegistryPassword})),f=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),p=(0,c.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),g=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),h=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),x=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),y=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),j=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),N=(0,c.v9)((function(e){return e.createTenant.fields.configure.kesImage})),A=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),k=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),T=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),w=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),R=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),D=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),K=(0,i.useState)({}),F=(0,r.Z)(K,2),E=F[0],G=F[1],z=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];f&&(e=[].concat((0,v.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:T,customValidation:""===T,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:x,customValidation:""===x||parseInt(x)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),g&&(e=[].concat((0,v.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:y,customValidation:""===y,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:h,customValidation:""===h||parseInt(h)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),a&&(e=[].concat((0,v.Z)(e),[{fieldKey:"image",required:!1,value:s,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:j,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/operator:VERSION'"},{fieldKey:"kesImage",required:!1,value:N,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:A,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:k,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:w,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/prometheus:VERSION'"},{fieldKey:"prometheusSidecarImage",required:!1,value:R,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'project/container:VERSION'"},{fieldKey:"prometheusInitImage",required:!1,value:D,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"}]),o&&(e=[].concat((0,v.Z)(e),[{fieldKey:"registry",required:!0,value:u},{fieldKey:"registryUsername",required:!0,value:d},{fieldKey:"registryPassword",required:!0,value:m}])));var n=(0,_.R)(e);t((0,I.NO)({pageName:"configure",valid:0===Object.keys(n).length})),G(n)}),[a,s,j,N,A,k,w,R,D,o,u,d,m,t,f,p,g,T,x,y,h]);var q=function(e){G((0,C.h)(E,e))};return(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)("div",{className:n.headerElement,children:[(0,P.jsx)("h3",{className:n.h3Section,children:"Container Images"}),(0,P.jsx)("span",{className:n.descriptionText,children:"Specify the container images used by the Tenant and it's features."})]}),(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"image",name:"image",onChange:function(e){z("imageName",e.target.value),q("image")},label:"MinIO",value:s,error:E.image||"",placeholder:"E.g. minio/minio:RELEASE.2022-02-26T02-54-46Z"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"kesImage",name:"kesImage",onChange:function(e){z("kesImage",e.target.value),q("kesImage")},label:"KES",value:N,error:E.kesImage||"",placeholder:"E.g. minio/kes:v0.17.6"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)("h4",{children:"Log Search"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"logSearchImage",name:"logSearchImage",onChange:function(e){z("logSearchImage",e.target.value),q("logSearchImage")},label:"API",value:j,error:E.logSearchImage||"",placeholder:"E.g. minio/operator:v4.4.10"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"logSearchPostgresImage",name:"logSearchPostgresImage",onChange:function(e){z("logSearchPostgresImage",e.target.value),q("logSearchPostgresImage")},label:"PostgreSQL",value:A,error:E.logSearchPostgresImage||"",placeholder:"E.g. library/postgres:13"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"logSearchPostgresInitImage",name:"logSearchPostgresInitImage",onChange:function(e){z("logSearchPostgresInitImage",e.target.value),q("logSearchPostgresInitImage")},label:"PostgreSQL Init",value:k,error:E.logSearchPostgresInitImage||"",placeholder:"E.g. library/busybox:1.33.1"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)("h4",{children:"Monitoring"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"prometheusImage",name:"prometheusImage",onChange:function(e){z("prometheusImage",e.target.value),q("prometheusImage")},label:"Prometheus",value:w,error:E.prometheusImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"prometheusSidecarImage",name:"prometheusSidecarImage",onChange:function(e){z("prometheusSidecarImage",e.target.value),q("prometheusSidecarImage")},label:"Prometheus Sidecar",value:R,error:E.prometheusSidecarImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"prometheusInitImage",name:"prometheusInitImage",onChange:function(e){z("prometheusInitImage",e.target.value),q("prometheusInitImage")},label:"Prometheus Init",value:D,error:E.prometheusInitImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})})]}),a&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)("h4",{children:"Custom Container Registry"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(b.Z,{value:"custom_docker_hub",id:"custom_docker_hub",name:"custom_docker_hub",checked:o,onChange:function(e){var n=e.target.checked;z("customDockerhub",n)},label:"Use a private container registry"})})]}),o&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"registry",name:"registry",onChange:function(e){z("imageRegistry",e.target.value)},label:"Endpoint",value:u,error:E.registry||"",placeholder:"E.g. https://index.docker.io/v1/",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"registryUsername",name:"registryUsername",onChange:function(e){z("imageRegistryUsername",e.target.value)},label:"Username",value:d,error:E.registryUsername||"",required:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"registryPassword",name:"registryPassword",onChange:function(e){z("imageRegistryPassword",e.target.value)},label:"Password",value:m,error:E.registryPassword||"",required:!0})})]})]})})),ge=t(74794),he=t(84669),xe=t(48573),ve=t.n(xe),ye=t(49724),Ze=t(51691),je=t(2148),Ce=t(62410),_e=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},m.oO),m.Qw))}))((function(e){var n=e.classes,t=e.namespace,a=e.addNamespaceOpen,s=e.closeAddNamespaceModalAndRefresh,o=(0,c.I0)(),l=(0,i.useState)(!1),d=(0,r.Z)(l,2),m=d[0],p=d[1];(0,i.useEffect)((function(){m&&f.Z.invoke("POST","/api/v1/namespace",{name:t}).then((function(e){p(!1),s(!0)})).catch((function(e){p(!1),o((0,ue.Ih)(e))}))}),[m,s,t,o]);return(0,P.jsx)(je.Z,{title:"New namespace",confirmText:"Create",confirmButtonProps:{color:"primary",variant:"contained"},isOpen:a,titleIcon:(0,P.jsx)(Ce.EjK,{}),isLoading:m,onConfirm:function(){p(!0)},onClose:function(){s(!1)},confirmationContent:(0,P.jsxs)(i.Fragment,{children:[m&&(0,P.jsx)(u.Z,{}),(0,P.jsxs)(Ze.Z,{children:["Are you sure you want to add a namespace called",(0,P.jsx)("br",{}),(0,P.jsx)("b",{className:n.wrapText,children:t}),"?"]})]})})})),be=t(79836),Se=t(53382),Ne=t(53994),Ae=t(35855),Ie=t(94721),Pe=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({root:{margin:4},table:{"& .MuiTableCell-root":{fontSize:13}}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.nodes})),r=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesMemoryRequest})),a=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.ecParity})),s=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.distribution})),o=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.ecParityCalc})),l=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesCPURequest})),u=(0,c.v9)((function(e){return e.createTenant.fields.tenantSize.integrationSelection})),d=o.storageFactors.find((function(e){return e.erasureCode===a}));return(0,P.jsxs)("div",{className:n.root,children:[(0,P.jsx)("h4",{children:"Resource Allocation"}),(0,P.jsx)(Ie.Z,{}),(0,P.jsx)(be.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,P.jsxs)(Se.Z,{children:[(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Number of Servers"}),(0,P.jsx)(Ne.Z,{align:"right",children:parseInt(t)>0?t:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Drives per Server"}),(0,P.jsx)(Ne.Z,{align:"right",children:s?s.disks:"-"})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Drive Capacity"}),(0,P.jsx)(Ne.Z,{align:"right",children:s?(0,p.ae)(s.pvSize):"-"})]})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Total Volumes"}),(0,P.jsx)(Ne.Z,{align:"right",children:s?s.persistentVolumes:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Memory per Node"}),(0,P.jsxs)(Ne.Z,{align:"right",children:[r," Gi"]})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{style:{borderBottom:0},scope:"row",children:"CPU Selection"}),(0,P.jsx)(Ne.Z,{style:{borderBottom:0},align:"right",children:l})]})]})]})}),0===o.error&&d&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)("h4",{children:"Erasure Code Configuration"}),(0,P.jsx)(Ie.Z,{}),(0,P.jsx)(be.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,P.jsxs)(Se.Z,{children:[(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"EC Parity"}),(0,P.jsx)(Ne.Z,{align:"right",children:""!==a?a:"-"})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Raw Capacity"}),(0,P.jsx)(Ne.Z,{align:"right",children:(0,p.ae)(o.rawCapacity)})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Usable Capacity"}),(0,P.jsx)(Ne.Z,{align:"right",children:(0,p.ae)(d.maxCapacity)})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{style:{borderBottom:0},scope:"row",children:"Server Failures Tolerated"}),(0,P.jsx)(Ne.Z,{style:{borderBottom:0},align:"right",children:s?Math.floor(d.maxFailureTolerations/s.disks):"-"})]})]})})]}),""!==u.typeSelection&&""!==u.storageClass&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)("h4",{children:"Single Instance Configuration"}),(0,P.jsx)(Ie.Z,{}),(0,P.jsx)(be.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,P.jsxs)(Se.Z,{children:[(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"CPU"}),(0,P.jsx)(Ne.Z,{align:"right",children:0!==u.CPU?u.CPU:"-"})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Memory"}),(0,P.jsx)(Ne.Z,{align:"right",children:0!==u.memory?"".concat(u.memory," Gi"):"-"})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{scope:"row",children:"Drives per Server"}),(0,P.jsx)(Ne.Z,{align:"right",children:0!==u.drivesPerServer?"".concat(u.drivesPerServer):"-"})]}),(0,P.jsxs)(Ae.Z,{children:[(0,P.jsx)(Ne.Z,{style:{borderBottom:0},scope:"row",children:"Drive Size"}),(0,P.jsxs)(Ne.Z,{style:{borderBottom:0},align:"right",children:[u.driveSize.driveSize,u.driveSize.sizeUnit]})]})]})})]})]})})),ke=t(19720),Te=t(45884),we=t(46078),Re=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({sizePreview:{position:"fixed",marginLeft:10,background:"#FFFFFF",border:"1px solid #EAEAEA",padding:2}},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=e.formToRender,a=(0,c.I0)(),s=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.tenantName})),u=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),d=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),m=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageType})),p=(0,c.v9)((function(e){return e.createTenant.storageClasses})),g=(0,c.v9)(we.$4),h=(0,i.useState)({}),x=(0,r.Z)(h,2),v=x[0],y=x[1],j=(0,i.useState)(!0),b=(0,r.Z)(j,2),N=b[0],A=b[1],k=(0,i.useState)(!1),T=(0,r.Z)(k,2),w=T[0],R=T[1],D=(0,i.useState)(!1),K=(0,r.Z)(D,2),F=K[0],E=K[1],G=(0,i.useState)(!1),z=(0,r.Z)(G,2),q=z[0],U=z[1],O=(0,i.useCallback)((function(e,n){a((0,I.HM)({pageName:"nameTenant",field:e,value:n}))}),[a]),L=(0,i.useCallback)((function(){E(!1),f.Z.invoke("GET","/api/v1/namespaces/".concat(u,"/tenants")).then((function(e){var n=o()(e,"tenants",[]);if(n&&n.length>0)return A(!1),void R(!1);A(!0),f.Z.invoke("GET","/api/v1/namespaces/".concat(u,"/resourcequotas/").concat(u,"-storagequota")).then((function(e){var n=o()(e,"elements",[]);a((0,I.DH)((0,ye.OU)(e)));var t=n.map((function(e){var n=o()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:n,value:n}}));a((0,I.wZ)(t));var r=t.findIndex((function(e){return e.value===d}));t.length>0&&-1===r?O("selectedStorageClass",t[0].value):0===t.length&&(O("selectedStorageClass",""),a((0,I.wZ)([]))),R(!1)})).catch((function(e){R(!1),E(!0),O("selectedStorageClass",""),a((0,I.wZ)([])),console.error("Namespace error: ",e)}))})).catch((function(e){a((0,ue.zb)({errorMessage:"Error validating if namespace already has tenants",detailedError:e.detailedError}))}))}),[u,a,O,d]),M=(0,i.useMemo)((function(){return ve()(L,500)}),[L]);(0,i.useEffect)((function(){if(""!==u)return M(),R(!0),M.cancel}),[M,u]),(0,i.useEffect)((function(){var e=!1,n="";N||w?p.length<1&&N&&!w&&(e=!0,n="Please enter a valid namespace"):(e=!0,n="You can only create one tenant per namespace");var r=(0,_.R)([{fieldKey:"tenant-name",required:!0,pattern:/^[a-z0-9-]{3,63}$/,customPatternMessage:"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3",value:s},{fieldKey:"namespace",required:!0,value:u,customValidation:e,customValidationMessage:n}]),i=!("tenant-name"in r)&&!("namespace"in r)&&(t===Te.cy.default&&p.length>0||t!==Te.cy.default&&""!==m);a((0,I.NO)({pageName:"nameTenant",valid:i})),y(r)}),[p,u,s,a,N,w,m,t]);var V=function(e){y((0,C.h)(v,e))};return(0,P.jsxs)(i.Fragment,{children:[q&&(0,P.jsx)(_e,{addNamespaceOpen:q,closeAddNamespaceModalAndRefresh:function(e){U(!1),e&&M()},namespace:u}),(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:8,md:9,children:(0,P.jsx)(Z.Z,{className:n.paperWrapper,sx:{minHeight:550},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,P.jsxs)("div",{className:n.headerElement,children:[(0,P.jsx)("h3",{className:n.h3Section,children:"Name"}),(0,P.jsx)("span",{className:n.descriptionText,children:"How would you like to name this new tenant?"})]}),(0,P.jsx)("div",{className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"tenant-name",name:"tenant-name",onChange:function(e){O("tenantName",e.target.value),V("tenant-name")},label:"Name",value:s,required:!0,error:v["tenant-name"]||""})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(S.Z,{id:"namespace",name:"namespace",onChange:function(e){O("namespace",e.target.value),V("namespace")},label:"Namespace",value:u,error:v.namespace||"",overlayId:"add-namespace",overlayIcon:F?(0,P.jsx)(B.Z,{}):null,overlayAction:function(){U(!0)},required:!0})}),t===Te.cy.default?(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(ce.Z,{id:"storage_class",name:"storage_class",onChange:function(e){O("selectedStorageClass",e.target.value)},label:"Storage Class",value:d,options:p,disabled:p.length<1})}):(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(ce.Z,{id:"storage_type",name:"storage_type",onChange:function(e){(0,I.Qy)({storageType:e.target.value,features:g})},label:o()(Te.Hd,"".concat(t,".variantSelectorLabel"),"Storage Type"),value:m,options:o()(Te.Hd,"".concat(t,".variantSelectorValues"),[])})}),t===Te.cy.default?(0,P.jsx)(ke.Z,{}):o()(Te.Hd,"".concat(t,".sizingComponent"),null)]})})}),(0,P.jsx)(l.ZP,{item:!0,xs:4,md:3,children:(0,P.jsx)("div",{className:n.sizePreview,children:(0,P.jsx)(Pe,{})})})]})]})})),De=function(){var e=(0,c.v9)(we.$4),n=(0,i.useState)(null),t=(0,r.Z)(n,2),a=t[0],s=t[1];return(0,i.useEffect)((function(){var n=Te.cy.default;e&&0!==e.length&&Object.keys(Te.I8).forEach((function(t){e.includes(t)&&(n=o()(Te.I8,t,Te.cy.default))}));s(n)}),[e]),null===a?null:(0,P.jsx)(Re,{formToRender:a})},Ke=t(56578),Fe=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},logSearchEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"},fieldSpaceTop:{marginTop:15}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.I0)(),s=(0,c.v9)((function(e){return e.createTenant.storageClasses})),o=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),u=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),d=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),m=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),f=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),p=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),g=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),h=(0,c.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),x=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchSecurityContext})),y=(0,c.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresSecurityContext})),j=(0,i.useState)({}),N=(0,r.Z)(j,2),A=N[0],k=N[1],T=[{label:"Default",value:"default"}].concat((0,v.Z)(s)),w=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,v.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"},{fieldKey:"logSearch_securityContext_runAsUser",required:!0,value:x.runAsUser,customValidation:""===x.runAsUser||parseInt(x.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_runAsGroup",required:!0,value:x.runAsGroup,customValidation:""===x.runAsGroup||parseInt(x.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_fsGroup",required:!0,value:x.fsGroup,customValidation:""===x.fsGroup||parseInt(x.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsUser",required:!0,value:y.runAsUser,customValidation:""===y.runAsUser||parseInt(y.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsGroup",required:!0,value:x.runAsGroup,customValidation:""===y.runAsGroup||parseInt(y.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_fsGroup",required:!0,value:y.fsGroup,customValidation:""===y.fsGroup||parseInt(y.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,_.R)(e);t((0,I.NO)({pageName:"configure",valid:0===Object.keys(n).length})),k(n)}),[m,f,p,t,o,d,u,h,x,y]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&w("logSearchSelectedStorageClass","default"))}),[d,g,s,w]);var R=function(e){k((0,C.h)(A,e))};return(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,P.jsx)(l.ZP,{item:!0,xs:!0,children:(0,P.jsx)($,{children:"Audit Log"})}),(0,P.jsx)(l.ZP,{item:!0,xs:4,children:(0,P.jsx)(b.Z,{value:"enableLogging",id:"enableLogging",name:"enableLogging",checked:o,onChange:function(e){var n=e.target.checked;w("logSearchEnabled",n)},indicatorLabels:["Enabled","Disabled"]})})]}),(0,P.jsxs)(l.ZP,{container:!0,spacing:1,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("span",{className:n.descriptionText,children:"Deploys a small PostgreSQL database and stores access logs of all calls into the tenant."})}),(0,P.jsx)(l.ZP,{xs:12,children:(0,P.jsx)("hr",{className:n.hrClass})}),o&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(ce.Z,{id:"log_search_storage_class",name:"log_search_storage_class",onChange:function(e){w("logSearchSelectedStorageClass",e.target.value)},label:"Log Search Storage Class",value:d,options:T,disabled:T.length<1})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(S.Z,{type:"number",id:"log_search_volume_size",name:"log_search_volume_size",onChange:function(e){w("logSearchVolumeSize",e.target.value),R("log_search_volume_size")},label:"Storage Size",overlayObject:(0,P.jsx)(Ke.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:A.log_search_volume_size||"",min:"0"})})}),(0,P.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for LogSearch"}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"logSearch_securityContext_runAsUser",name:"logSearch_securityContext_runAsUser",onChange:function(e){w("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsUser:e.target.value})),R("logSearch_securityContext_runAsUser")},label:"Run As User",value:x.runAsUser,required:!0,error:A.logSearch_securityContext_runAsUser||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"logSearch_securityContext_runAsGroup",name:"logSearch_securityContext_runAsGroup",onChange:function(e){w("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsGroup:e.target.value})),R("logSearch_securityContext_runAsGroup")},label:"Run As Group",value:x.runAsGroup,required:!0,error:A.logSearch_securityContext_runAsGroup||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"logSearch_securityContext_fsGroup",name:"logSearch_securityContext_fsGroup",onChange:function(e){w("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{fsGroup:e.target.value})),R("logSearch_securityContext_fsGroup")},label:"FsGroup",value:x.fsGroup,required:!0,error:A.logSearch_securityContext_fsGroup||"",min:"0"})})]})}),(0,P.jsx)("br",{}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(b.Z,{value:"logSearchSecurityContextRunAsNonRoot",id:"logSearch_securityContext_runAsNonRoot",name:"logSearch_securityContext_runAsNonRoot",checked:x.runAsNonRoot,onChange:function(e){var n=e.target.checked;w("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]}),(0,P.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for PostgreSQL"}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"postgres_securityContext_runAsUser",name:"postgres_securityContext_runAsUser",onChange:function(e){w("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},y),{},{runAsUser:e.target.value})),R("postgres_securityContext_runAsUser")},label:"Run As User",value:y.runAsUser,required:!0,error:A.postgres_securityContext_runAsUser||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"postgres_securityContext_runAsGroup",name:"postgres_securityContext_runAsGroup",onChange:function(e){w("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},y),{},{runAsGroup:e.target.value})),R("postgres_securityContext_runAsGroup")},label:"Run As Group",value:y.runAsGroup,required:!0,error:A.postgres_securityContext_runAsGroup||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"postgres_securityContext_fsGroup",name:"postgres_securityContext_fsGroup",onChange:function(e){w("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},y),{},{fsGroup:e.target.value})),R("postgres_securityContext_fsGroup")},label:"FsGroup",value:y.fsGroup,required:!0,error:A.postgres_securityContext_fsGroup||"",min:"0"})})]})}),(0,P.jsx)("br",{}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(b.Z,{value:"postgresSecurityContextRunAsNonRoot",id:"postgres_securityContext_runAsNonRoot",name:"postgres_securityContext_runAsNonRoot",checked:y.runAsNonRoot,onChange:function(e){var n=e.target.checked;w("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},y),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})})),Ee=(0,y.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},fieldSpaceTop:{marginTop:15},prometheusEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,c.I0)(),s=(0,c.v9)((function(e){return e.createTenant.storageClasses})),o=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),u=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),d=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),m=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),f=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),p=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),g=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),h=(0,c.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),x=(0,c.v9)((function(e){return e.createTenant.fields.configure.prometheusSecurityContext})),y=(0,i.useState)({}),j=(0,r.Z)(y,2),N=j[0],A=j[1],k=[{label:"Default",value:"default"}].concat((0,v.Z)(s)),T=(0,i.useCallback)((function(e,n){t((0,I.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,v.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greater than 0"},{fieldKey:"prometheus_securityContext_runAsUser",required:!0,value:x.runAsUser,customValidation:""===x.runAsUser||parseInt(x.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_runAsGroup",required:!0,value:x.runAsGroup,customValidation:""===x.runAsGroup||parseInt(x.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_fsGroup",required:!0,value:x.fsGroup,customValidation:""===x.fsGroup||parseInt(x.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,_.R)(e);t((0,I.NO)({pageName:"configure",valid:0===Object.keys(n).length})),A(n)}),[m,f,p,t,o,d,u,h,x]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&T("prometheusSelectedStorageClass","default"))}),[d,g,s,T]);var w=function(e){A((0,C.h)(N,e))};return(0,P.jsxs)(Z.Z,{className:n.paperWrapper,children:[(0,P.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,P.jsx)(l.ZP,{item:!0,xs:!0,children:(0,P.jsx)($,{children:"Monitoring"})}),(0,P.jsx)(l.ZP,{item:!0,xs:4,children:(0,P.jsx)(b.Z,{indicatorLabels:["Enabled","Disabled"],checked:o,value:"monitoring_status",id:"monitoring-status",name:"monitoring-status",onChange:function(e){var n=e.target.checked;T("prometheusEnabled",n)},description:""})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("span",{className:n.descriptionText,children:"A small Prometheus will be deployed to keep metrics about the tenant."})}),(0,P.jsx)(l.ZP,{xs:12,children:(0,P.jsx)("hr",{className:n.hrClass})}),(0,P.jsx)(l.ZP,{container:!0,spacing:1,children:o&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(ce.Z,{id:"prometheus_storage_class",name:"prometheus_storage_class",onChange:function(e){T("prometheusSelectedStorageClass",e.target.value)},label:"Storage Class",value:d,options:k,disabled:k.length<1})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("div",{className:n.multiContainer,children:(0,P.jsx)(S.Z,{type:"number",id:"prometheus_volume_size",name:"prometheus_volume_size",onChange:function(e){T("prometheusVolumeSize",e.target.value),w("prometheus_volume_size")},label:"Storage Size",overlayObject:(0,P.jsx)(Ke.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:N.prometheus_volume_size||"",min:"0"})})}),(0,P.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,P.jsx)("legend",{className:n.descriptionText,children:"SecurityContext"}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"prometheus_securityContext_runAsUser",name:"prometheus_securityContext_runAsUser",onChange:function(e){T("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsUser:e.target.value})),w("prometheus_securityContext_runAsUser")},label:"Run As User",value:x.runAsUser,required:!0,error:N.prometheus_securityContext_runAsUser||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"prometheus_securityContext_runAsGroup",name:"prometheus_securityContext_runAsGroup",onChange:function(e){T("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsGroup:e.target.value})),w("prometheus_securityContext_runAsGroup")},label:"Run As Group",value:x.runAsGroup,required:!0,error:N.prometheus_securityContext_runAsGroup||"",min:"0"})}),(0,P.jsx)("div",{className:n.configSectionItem,children:(0,P.jsx)(S.Z,{type:"number",id:"prometheus_securityContext_fsGroup",name:"prometheus_securityContext_fsGroup",onChange:function(e){T("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{fsGroup:e.target.value})),w("prometheus_securityContext_fsGroup")},label:"FsGroup",value:x.fsGroup,required:!0,error:N.prometheus_securityContext_fsGroup||"",min:"0"})})]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,P.jsx)("div",{className:"".concat(n.multiContainer," ").concat(n.fieldSpaceTop),children:(0,P.jsx)(b.Z,{value:"prometheusSecurityContextRunAsNonRoot",id:"prometheus_securityContext_runAsNonRoot",name:"prometheus_securityContext_runAsNonRoot",checked:x.runAsNonRoot,onChange:function(e){var n=e.target.checked;T("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},x),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})})]})})),Ge=t(23804),ze=(0,D.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({pageBox:{border:"1px solid #EAEAEA"}},m.oO),m.AK),m.Je))})),qe=function(){var e=(0,c.I0)(),n=ze(),t=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),s=(0,c.v9)((function(e){return e.createTenant.validPages})),d=(0,c.v9)((function(e){return e.createTenant.fields})),m=(0,c.v9)((function(e){return e.createTenant.certificates})),v=(0,c.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),y=(0,c.v9)(we.$4),Z=(0,c.v9)((function(e){return e.createTenant.tolerations})),j=(0,i.useState)(!1),C=(0,r.Z)(j,2),_=C[0],b=C[1],S=(0,i.useState)(null),N=(0,r.Z)(S,2),A=N[0],T=N[1],w=(0,i.useState)(!1),R=(0,r.Z)(w,2),D=R[0],K=R[1],F=(0,i.useState)(null),E=(0,r.Z)(F,2),G=E[0],z=E[1];(0,i.useEffect)((function(){var e=Te.cy.default;y&&0!==y.length&&Object.keys(Te.I8).forEach((function(n){y.includes(n)&&(e=o()(Te.I8,n,Te.cy.default))}));z(e)}),[y]),(0,i.useEffect)((function(){var n=d.nameTenant.tenantName,r=d.nameTenant.selectedStorageClass,i=d.configure.imageName,s=d.configure.customDockerhub,c=d.configure.imageRegistry,l=d.configure.imageRegistryUsername,u=d.configure.imageRegistryPassword,g=d.configure.exposeMinIO,x=d.configure.exposeConsole,v=d.identityProvider.idpSelection,y=d.identityProvider.openIDConfigurationURL,j=d.identityProvider.openIDClientID,C=d.identityProvider.openIDClaimName,_=d.identityProvider.openIDCallbackURL,S=d.identityProvider.openIDScopes,N=d.identityProvider.openIDSecretID,A=d.identityProvider.ADURL,I=d.identityProvider.ADSkipTLS,P=d.identityProvider.ADServerInsecure,k=d.identityProvider.ADGroupSearchBaseDN,w=d.identityProvider.ADGroupSearchFilter,R=d.identityProvider.ADUserDNs,F=d.identityProvider.ADLookupBindDN,E=d.identityProvider.ADLookupBindPassword,G=d.identityProvider.ADUserDNSearchBaseDN,z=d.identityProvider.ADUserDNSearchFilter,q=d.identityProvider.ADServerStartTLS,U=d.identityProvider.accessKeys,O=d.identityProvider.secretKeys,L=m.minioCertificates,M=m.caCertificates,V=m.consoleCaCertificates,B=m.consoleCertificate,W=m.serverCertificate,H=m.clientCertificate,$=m.vaultCertificate,Q=m.vaultCA,Y=m.gemaltoCA,J=d.encryption.enableEncryption,X=d.encryption.encryptionType,ee=d.encryption.gemaltoEndpoint,ne=d.encryption.gemaltoToken,te=d.encryption.gemaltoDomain,re=d.encryption.gemaltoRetry,ae=d.encryption.awsEndpoint,ie=d.encryption.awsRegion,se=d.encryption.awsKMSKey,oe=d.encryption.awsAccessKey,ce=d.encryption.awsSecretKey,le=d.encryption.awsToken,de=d.encryption.vaultEndpoint,me=d.encryption.vaultEngine,fe=d.encryption.vaultNamespace,pe=d.encryption.vaultPrefix,ge=d.encryption.vaultAppRoleEngine,he=d.encryption.vaultId,xe=d.encryption.vaultSecret,ve=d.encryption.vaultRetry,ye=d.encryption.vaultPing,Ze=d.encryption.azureEndpoint,je=d.encryption.azureTenantID,Ce=d.encryption.azureClientID,_e=d.encryption.azureClientSecret,be=d.encryption.gcpProjectID,Se=d.encryption.gcpEndpoint,Ne=d.encryption.gcpClientEmail,Ae=d.encryption.gcpClientID,Ie=d.encryption.gcpPrivateKeyID,Pe=d.encryption.gcpPrivateKey,ke=d.security.enableAutoCert,Te=d.security.enableTLS,we=d.tenantSize.ecParity,Re=d.tenantSize.distribution,De=d.configure.tenantCustom,Ke=d.configure.logSearchEnabled,Fe=d.configure.prometheusEnabled,Ee=d.configure.logSearchVolumeSize,Ge=d.configure.logSearchSelectedStorageClass,ze=d.configure.logSearchImage,qe=d.configure.kesImage,Ue=d.configure.logSearchPostgresImage,Oe=d.configure.logSearchPostgresInitImage,Le=d.configure.prometheusImage,Me=d.configure.prometheusSidecarImage,Ve=d.configure.prometheusInitImage,Be=d.configure.prometheusSelectedStorageClass,We=d.configure.prometheusVolumeSize,He=d.affinity.podAffinity,$e=d.affinity.nodeSelectorLabels,Qe=d.affinity.withPodAntiAffinity,Ye=d.configure.tenantSecurityContext,Je=d.configure.logSearchSecurityContext,Xe=d.configure.logSearchPostgresSecurityContext,en=d.configure.prometheusSecurityContext,nn=d.encryption.kesSecurityContext,tn=d.encryption.replicas,rn=d.configure.setDomains,an=d.configure.minioDomains,sn=d.configure.consoleDomain;if(D){var on=Z.filter((function(e){return""!==e.key.trim()})),cn=(0,p.en)([]),ln={};switch(He){case"default":ln={affinity:(0,h.P)(n,cn)};break;case"nodeSelector":ln={affinity:(0,h.q)($e,Qe,n,cn)}}var un=we.split(":")[1],dn={name:n,namespace:t,access_key:"",secret_key:"",access_keys:[],secret_keys:[],enable_tls:Te&&ke,enable_console:!0,enable_prometheus:!0,service_name:"",image:i,expose_minio:g,expose_console:x,pools:[(0,a.Z)((0,a.Z)({name:cn,servers:Re.nodes,volumes_per_server:Re.disks,volume_configuration:{size:Re.pvSize,storage_class_name:r},securityContext:De?Ye:null},ln),{},{tolerations:on})],erasureCodingParity:parseInt(un,10)};""===d.tenantSize.resourcesCPURequest&&""===d.tenantSize.resourcesCPULimit&&""===d.tenantSize.resourcesMemoryRequest&&""===d.tenantSize.resourcesMemoryLimit||(dn.pools[0].resources={},""===d.tenantSize.resourcesCPURequest&&""===d.tenantSize.resourcesMemoryRequest||(dn.pools[0].resources.requests={},""!==d.tenantSize.resourcesCPURequest&&(dn.pools[0].resources.requests.cpu=parseInt(d.tenantSize.resourcesCPURequest)),""!==d.tenantSize.resourcesMemoryRequest&&(dn.pools[0].resources.requests.memory=parseInt((0,p.Pw)(d.tenantSize.resourcesMemoryRequest,"Gi",!0)))),""===d.tenantSize.resourcesCPULimit&&""===d.tenantSize.resourcesMemoryLimit||(dn.pools[0].resources.limits={},""!==d.tenantSize.resourcesCPULimit&&(dn.pools[0].resources.limits.cpu=parseInt(d.tenantSize.resourcesCPULimit)),""!==d.tenantSize.resourcesMemoryLimit&&(dn.pools[0].resources.limits.memory=parseInt((0,p.Pw)(d.tenantSize.resourcesMemoryLimit,"Gi",!0))))),s&&(dn=(0,a.Z)((0,a.Z)({},dn),{},{image_registry:{registry:c,username:l,password:u}})),Ke&&(dn=(0,a.Z)((0,a.Z)({},dn),{},{logSearchConfiguration:{storageClass:"default"===Ge?"":Ge,storageSize:parseInt(Ee),image:ze,postgres_image:Ue,postgres_init_image:Oe,securityContext:Je,postgres_securityContext:Xe}})),Fe&&(dn=(0,a.Z)((0,a.Z)({},dn),{},{prometheusConfiguration:{storageClass:"default"===Be?"":Be,storageSize:parseInt(We),image:Le,sidecar_image:Me,init_image:Ve,securityContext:en}}));var mn=null,fn=null,pn=null,gn=null;if(M.length>0&&(pn={ca_certificates:M.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),V.length>0&&(gn={console_ca_certificates:V.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),Te&&L.length>0&&(mn={minio:L.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key}))}),Te&&""!==B.encoded_cert&&""!==B.encoded_key&&(fn={console:{crt:B.encoded_cert,key:B.encoded_key}}),(mn||fn||pn||gn)&&(dn=(0,a.Z)((0,a.Z)({},dn),{},{tls:(0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},mn),fn),pn),gn)})),J){var hn={};switch(X){case"gemalto":var xn={};""!==Y.encoded_cert&&(xn={ca:Y.encoded_cert}),hn={gemalto:{keysecure:{endpoint:ee,credentials:{token:ne,domain:te,retry:parseInt(re)},tls:(0,a.Z)({},xn)}}};break;case"aws":hn={aws:{secretsmanager:{endpoint:ae,region:ie,kmskey:se,credentials:{accesskey:oe,secretkey:ce,token:le}}}};break;case"azure":hn={azure:{keyvault:{endpoint:Ze,credentials:{tenant_id:je,client_id:Ce,client_secret:_e}}}};break;case"gcp":hn={gcp:{secretmanager:{project_id:be,endpoint:Se,credentials:{client_email:Ne,client_id:Ae,private_key_id:Ie,private_key:Pe}}}};break;case"vault":var vn=null,yn=null;""!==$.encoded_key&&""!==$.encoded_cert&&(vn={key:$.encoded_key,crt:$.encoded_cert}),""!==Q.encoded_cert&&(yn={ca:Q.encoded_cert});var Zn=null;(vn||yn)&&(Zn={tls:(0,a.Z)((0,a.Z)({},vn),yn)}),hn={vault:(0,a.Z)((0,a.Z)({endpoint:de,engine:me,namespace:fe,prefix:pe,approle:{engine:ge,id:he,secret:xe,retry:parseInt(ve)}},Zn),{},{status:{ping:parseInt(ye)}})}}var jn={},Cn={};""!==H.encoded_key&&""!==H.encoded_cert&&(Cn={client:{key:H.encoded_key,crt:H.encoded_cert}}),""!==W.encoded_key&&""!==W.encoded_cert&&(jn={server:{key:W.encoded_key,crt:W.encoded_cert}}),dn=(0,a.Z)((0,a.Z)({},dn),{},{encryption:(0,a.Z)((0,a.Z)((0,a.Z)({replicas:tn,securityContext:nn,image:qe},Cn),jn),hn)})}var _n={};switch(v){case"Built-in":for(var bn=[],Sn=0;Sn0&&(Nn.minio=In),Object.keys(Nn).length>0&&(An.domains=Nn)}dn=(0,a.Z)((0,a.Z)((0,a.Z)({},dn),An),{},{idp:(0,a.Z)({},_n)}),f.Z.invoke("POST","/api/v1/tenants",dn).then((function(e){var n=o()(e,"console",[]),t={idp:o()(e,"externalIDP",!1),console:[]};if(n)if(Array.isArray(n)){var r=n.map((function(e){return{accessKey:e.access_key,secretKey:e.secret_key,api:"s3v4",path:"auto",url:e.url}}));t.console=r}else t={console:{accessKey:e.console.access_key,secretKey:e.console.secret_key,url:e.console.url}};K(!1),b(!0),T(t)})).catch((function(n){K(!1),e((0,ue.Ih)(n))}))}}),[D]);var q={label:"Cancel",type:"other",enabled:!0,action:function(){e((0,I.dS)()),fe.Z.push("/tenants")}},U={label:"Create",type:"submit",enabled:!D&&""!==v&&["nameTenant","tenantSize","configure","affinity","identityProvider","security","encryption"].every((function(e){return s.includes(e)})),action:function(){K(!0)}},O=[{label:"Setup",componentRender:(0,P.jsx)(De,{}),buttons:[q,U]},{label:"Configure",advancedOnly:!0,componentRender:(0,P.jsx)(k,{}),buttons:[q,U]},{label:"Images",advancedOnly:!0,componentRender:(0,P.jsx)(pe,{}),buttons:[q,U]},{label:"Pod Placement",advancedOnly:!0,componentRender:(0,P.jsx)(de,{}),buttons:[q,U]},{label:"Identity Provider",advancedOnly:!0,componentRender:(0,P.jsx)(M,{}),buttons:[q,U]},{label:"Security",advancedOnly:!0,componentRender:(0,P.jsx)(H,{}),buttons:[q,U]},{label:"Encryption",advancedOnly:!0,componentRender:(0,P.jsx)(se,{}),buttons:[q,U]},{label:"Audit Log",advancedOnly:!0,componentRender:(0,P.jsx)(Fe,{}),buttons:[q,U]},{label:"Monitoring",advancedOnly:!0,componentRender:(0,P.jsx)(Ee,{}),buttons:[q,U]}];return(0,P.jsxs)(i.Fragment,{children:[_&&(0,P.jsx)(x.default,{newServiceAccount:A,open:_,closeModal:function(){e((0,I.dS)()),fe.Z.push("/tenants")},entity:"Tenant"}),(0,P.jsx)(me.Z,{label:(0,P.jsx)(he.Z,{to:"/tenants",label:"Tenants",executeOnClick:function(){e((0,I.dS)())}})}),(0,P.jsxs)(ge.Z,{children:[D&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(u.Z,{})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.pageBox,children:(0,P.jsx)(g.Z,{wizardSteps:O})}),G===Te.cy.aws&&(0,P.jsx)(l.ZP,{item:!0,xs:12,style:{marginTop:16},children:(0,P.jsx)(Ge.Z,{title:"EBS Volume Configuration.",iconComponent:(0,P.jsx)(Ce.idV,{}),help:(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)("b",{children:"Performance Optimized"}),": Uses the ",(0,P.jsx)("i",{children:"gp3"})," EBS storage class class configured at 1,000Mi/s throughput and 16,000 IOPS, however the minimum volume size for this type of EBS volume is ",(0,P.jsx)("b",{children:"32Gi"}),".",(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),(0,P.jsx)("b",{children:"Storage Optimized"}),": Uses the ",(0,P.jsx)("i",{children:"sc1"})," EBS storage class, however the minimum volume size for this type of EBS volume is \xa0",(0,P.jsx)("b",{children:"16Ti"})," to unlock their maximum throughput speed of 250Mi/s."]})})})]})]})}},22512:function(e,n,t){var r=t(72791),a=t(20890),i=t(11135),s=t(25787),o=t(80184);n.Z=(0,s.Z)((function(e){var n;return(0,i.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,o.jsxs)(r.Fragment,{children:[s&&(0,o.jsx)("br",{}),(0,o.jsx)(a.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))}}]);
+//# sourceMappingURL=3791.cf2f7179.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3791.cf2f7179.chunk.js.map b/portal-ui/build/static/js/3791.cf2f7179.chunk.js.map
new file mode 100644
index 000000000..48f965121
--- /dev/null
+++ b/portal-ui/build/static/js/3791.cf2f7179.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/3791.cf2f7179.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,kPC4BX,GAAexB,EAAAA,EAAAA,IArEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXwB,UAAW,CACTX,QAAS,OACTc,SAAU,SACVC,QAAS,gBAEXC,cAAe,CACb,wBAAyB,CACvBZ,MAAO,OACPa,WAAY,UACZ,wBAAyB,CACvBd,OAAQ,SAEV,mCAAoC,CAClCD,YAAa,QACb,wBAAyB,CACvBC,OAAQ,UAId,kCAAmC,CACjCC,MAAO,QACPD,OAAQ,UAGZe,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERtB,SAAU,cAyChB,EArCuB,SAAC,GAQjB,IAAD,IAPJuB,MAAAA,OAOI,MAPI,GAOJ,MANJC,MAAAA,OAMI,MANI,GAMJ,MALJf,QAAAA,OAKI,MALM,GAKN,EACJ,OACE,iBAAKI,UAAWJ,EAAQK,UAAxB,WACE,iBAAKD,UAAWJ,EAAQY,WAAxB,UAAqCE,EAArC,QACA,gBAAKV,UAAWJ,EAAQU,cAAxB,UACE,SAACM,EAAA,EAAD,CACED,MAAOA,EACPE,UAAQ,EACRC,cACE,SAACC,EAAA,EAAD,CAAgBC,SAAS,MAAzB,UACE,SAAC,IAAD,CAAiBC,KAAMN,EAAvB,UACE,SAACO,EAAA,EAAD,CACE,aAAW,OACXC,QAAS,OACTC,QAAS,aACTC,YAAa,aACbC,KAAK,MALP,UAOE,SAAC,MAAD,oB,sBCTZC,EAAW,SAACC,EAAkBP,GAClC,IAAIQ,EAAUC,SAASC,cAAc,KACrCF,EAAQG,aACN,OACA,iCAAmCX,GAErCQ,EAAQG,aAAa,WAAYJ,GAEjCC,EAAQI,MAAMvC,QAAU,OACxBoC,SAASI,KAAKC,YAAYN,GAE1BA,EAAQO,QACRN,SAASI,KAAKG,YAAYR,IA6L5B,GAAelD,EAAAA,EAAAA,IArPA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXyD,aAAc,CACZC,MAAO,MACPhD,SAAU,SACViD,OAAQ,kBACR9C,QAAS,OACTC,WAAY,SACZ,SAAU,CACRC,YAAa,QACbC,OAAQ,GACRC,MAAO,KAGX2C,gBAAiB,CACfhC,QAAS,cACTjB,WAAY,IACZD,SAAU,SAEZmD,gBAAiB,CACfC,UAAW,QACXC,UAAW,QAEbC,iBAAkB,CAChBC,UAAW,OACXC,UAAW,KAEbC,YAAa,CACXtD,QAAS,OACTC,WAAY,UAEdsD,aAAc,CACZrD,YAAa,aAqNnB,EA1L0B,SAAC,GAMK,IAL9BI,EAK6B,EAL7BA,QACAkD,EAI6B,EAJ7BA,kBACAC,EAG6B,EAH7BA,KACAC,EAE6B,EAF7BA,WACAC,EAC6B,EAD7BA,OAEA,IAAKH,EACH,OAAO,KAET,IAAMI,EAAeC,GAAAA,CAAIL,EAAmB,UAAW,MACjDM,EAAMD,GAAAA,CAAIL,EAAmB,OAAO,GAE1C,OACE,SAACO,EAAA,EAAD,CACEC,UAAWP,EACXQ,QAAS,WACPP,KAEFlD,OACE,gBAAKE,UAAWJ,EAAQgD,YAAxB,UACE,kCAAUK,EAAV,gBAGJO,WAAW,SAAC,MAAD,IAVb,UAYE,UAACC,EAAA,GAAD,CAAMxD,WAAS,EAAf,WACE,UAACwD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ8D,eAAtC,mBACST,EADT,iDAEIG,GAAOF,IACP,SAAC,WAAD,WACE,UAACO,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ6C,iBAAtC,WACE,gBAAKzC,UAAWJ,EAAQyC,gBAAxB,iCAGCsB,MAAMC,QAAQV,IACbA,EAAaW,KAAI,SAACC,EAAiBC,GACjC,OACE,iCACE,SAAC,EAAD,CACErD,MAAM,aACNC,MAAOmD,EAAgBE,aAEzB,SAAC,EAAD,CACEtD,MAAM,aACNC,MAAOmD,EAAgBG,mBAK/BN,MAAMC,QAAQV,KACd,iCACE,SAAC,EAAD,CACExC,MAAM,aACNC,MAAOuC,EAAac,aAEtB,SAAC,EAAD,CACEtD,MAAM,aACNC,MAAOuC,EAAae,qBAOb,OAAjBf,QAA0CgB,IAAjBhB,KACzB,iCACE,SAAC,EAAD,CACExC,MAAM,aACNC,MAAOmC,EAAkBkB,WAAa,MAExC,SAAC,EAAD,CACEtD,MAAM,aACNC,MAAOmC,EAAkBmB,WAAa,QAI3Cb,GACC,gBAAKpD,UAAWJ,EAAQsC,aAAxB,0EAIA,iBAAKlC,UAAWJ,EAAQsC,aAAxB,WACE,SAACiC,EAAA,EAAD,KACA,8GAON,SAACV,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ0C,gBAAtC,UACIc,IACA,iCACE,SAACgB,EAAA,EAAD,CACEC,GAAI,kBACJlD,QACE,wIAEFF,KAAM,sBACNjB,UAAWJ,EAAQiD,aACnBzB,QAAS,WACP,IAAIkD,EAAgB,GAEhBpB,EAmBAoB,EAlBGX,MAAMC,QAAQV,GASFA,EAAaW,KAAI,SAACU,GAC/B,MAAO,CACLC,IAAKD,EAAQC,IACbR,UAAWO,EAAQP,UACnBC,UAAWM,EAAQN,UACnBQ,IAAK,OACLC,KAAM,WAGa,GAjBP,CACdF,IAAKtB,EAAasB,IAClBR,UAAWd,EAAac,UACxBC,UAAWf,EAAae,UACxBQ,IAAK,OACLC,KAAM,QAeVJ,EAAgB,CACdE,IAAK1B,EAAkB0B,IACvBR,UAAWlB,EAAkBkB,UAC7BC,UAAWnB,EAAkBmB,UAC7BQ,IAAK,OACLC,KAAM,QAIVnD,EACE,mBACAoD,KAAKC,WAAL,UACKN,MAITO,MAAM,SAAC,MAAD,IACNC,QAAQ,YACR3C,MAAM,YAGPwB,MAAMC,QAAQV,IAAiBA,EAAa6B,OAAS,IACpD,SAACX,EAAA,EAAD,CACEC,GAAI,sBACJlD,QACE,iNAEFF,KAAM,kCACNjB,UAAWJ,EAAQiD,aACnBzB,QAAS,WACP,IAAI4D,EAAiB,GACjB9B,IAOF8B,EANe9B,EAAaW,KAAI,SAACU,GAC/B,MAAO,CACLP,UAAWO,EAAQP,UACnBC,UAAWM,EAAQN,eAKzB1C,EACE,uBACAoD,KAAKC,WAAL,UACKI,MAITH,MAAM,SAAC,MAAD,IACNC,QAAQ,YACR3C,MAAM,0B,kPClFxB,GAAe5D,EAAAA,EAAAA,IAvIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kCACRgC,EAAAA,IACAwE,EAAAA,IAFO,IAGVC,YAAa,CACXC,SAAU,IACVC,WAAY,SACZC,SAAU,SACVC,aAAc,WACd9C,UAAW,GAEb+C,eAAgB,CACdnD,OAAQ,SACR,4BAA6B,CAC3BhC,SAAU,YAGXoF,EAAAA,IAhBO,IAiBVhF,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERrB,WAAY,WAEdqG,kBAAiB,kBACZhF,EAAAA,GAAAA,kBADW,IAEd0E,SAAU,OACVxG,OAAQ,oBACRG,YAAa,cA6GnB,EAzGqB,SAAC,GAYA,IAXpB4B,EAWmB,EAXnBA,MACAd,EAUmB,EAVnBA,QACA8F,EASmB,EATnBA,SACArB,EAQmB,EARnBA,GACAsB,EAOmB,EAPnBA,KAOmB,IANnBC,SAAAA,OAMmB,aALnBzE,QAAAA,OAKmB,MALT,GAKS,EAJnB0E,EAImB,EAJnBA,SAImB,IAHnBC,MAAAA,OAGmB,MAHX,GAGW,MAFnBC,OAAAA,OAEmB,MAFV,GAEU,MADnBpF,MAAAA,OACmB,MADX,GACW,EACnB,GAA4CqF,EAAAA,EAAAA,WAAS,GAArD,eAAOC,EAAP,KAAyBC,EAAzB,KAEA,OACE,SAAC,WAAD,WACE,UAACzC,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJH,UAAS,UAAKJ,EAAQ2F,eAAb,YAA+B3F,EAAQuG,YAAvC,YACPvG,EAAQwG,eADD,YAEK,KAAVN,EAAelG,EAAQyG,aAAe,IAL5C,UAOa,KAAV3F,IACC,UAAC4F,EAAA,EAAD,CACEC,QAASlC,EACTrE,UAAS,UAAe,KAAV8F,EAAelG,EAAQ4G,gBAAkB,GAA9C,YACP5G,EAAQY,YAHZ,WAME,4BACGE,EACAmF,EAAW,IAAM,MAEP,KAAZ1E,IACC,gBAAKnB,UAAWJ,EAAQ6G,iBAAxB,UACE,SAACC,EAAA,EAAD,CAAS5G,MAAOqB,EAASwF,UAAU,YAAnC,UACE,gBAAK3G,UAAWJ,EAAQuB,QAAxB,UACE,SAACyF,EAAA,EAAD,aAQXX,GAA8B,KAAVtF,GACnB,iBAAKX,UAAWJ,EAAQ6F,iBAAxB,WACE,kBACEoB,KAAK,OACLlB,KAAMA,EACND,SAAU,SAACoB,GACT,IAAMC,EAAW5D,GAAAA,CAAI2D,EAAG,uBAAwB,KCnHrC,SAACE,EAAUC,GACpC,IAAMC,EAAOF,EAAIG,OAAOC,MAAM,GACxBC,EAAS,IAAIC,WACnBD,EAAOE,cAAcL,GAErBG,EAAOG,OAAS,WAGd,IAAMC,EAAaJ,EAAOK,OAC1B,GAAID,EAAY,CACd,IAAME,EAAYF,EAAWG,WAAWC,MAAM,WAErB,IAArBF,EAAU5C,QACZkC,EAASU,EAAU,MDuGXG,CAAYhB,GAAG,SAACiB,GACdrC,EAASqC,EAAMhB,OAGnBhB,OAAQA,EACRF,SAAUA,EACVD,SAAUA,EACV5F,UAAWJ,EAAQ2F,iBAGV,KAAV5E,IACC,SAACqH,EAAA,EAAD,CACE7F,MAAM,UACN,aAAW,iBACX8F,UAAU,OACV7G,QAAS,WACP8E,GAAgB,IAElBgC,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QATP,UAWE,SAACC,EAAA,EAAD,MAIO,KAAVvC,IAAgB,SAACwC,EAAA,EAAD,CAAYC,aAAczC,QAG7C,iBAAK9F,UAAWJ,EAAQ4I,aAAxB,WACE,gBAAKxI,UAAWJ,EAAQsF,YAAxB,SAAsCvE,KACtC,SAACqH,EAAA,EAAD,CACE7F,MAAM,UACN,aAAW,iBACX8F,UAAU,OACV7G,QAAS,WACP8E,GAAgB,IAElBgC,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QATP,UAWE,SAACK,EAAA,EAAD,kB,wMEDd,KAAelK,EAAAA,EAAAA,IAlIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRiK,EAAAA,IADO,IAEVC,QAAS,CACPtI,QAAS,GACTrB,cAAe,GAEjB4J,iBAAkB,CAChBlJ,MAAO,OACPyF,SAAU,MAET0D,EAAAA,OAuHP,EApHqB,SAAC,GASF,IARlBtF,EAQiB,EARjBA,QACAD,EAOiB,EAPjBA,UACAxD,EAMiB,EANjBA,MACAgJ,EAKiB,EALjBA,SACAlJ,EAIiB,EAJjBA,QAIiB,IAHjBmJ,UAAAA,OAGiB,SAFjBC,EAEiB,EAFjBA,iBAEiB,IADjBxF,UAAAA,OACiB,MADL,KACK,EACXyF,GAAWC,EAAAA,EAAAA,MACjB,GAAwClD,EAAAA,EAAAA,WAAkB,GAA1D,eAAOmD,EAAP,KAAqBC,EAArB,KAEMC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMC,OAAOC,kBAGpCC,EAAAA,EAAAA,YAAU,WACRT,GAASU,EAAAA,EAAAA,IAAqB,OAC7B,CAACV,KAEJS,EAAAA,EAAAA,YAAU,WACR,GAAIL,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBO,QAEpB,YADAR,GAAgB,GAIa,UAA3BC,EAAkBxC,MACpBuC,GAAgB,MAGnB,CAACC,IAEJ,IAKMQ,EAAad,EACf,CACEnJ,QAAS,CACPkK,MAAOlK,EAAQgJ,mBAGnB,CAAEzD,SAAU,KAAe4E,WAAW,GAEtCH,EAAU,GAYd,OAVIP,IACFO,EAAUP,EAAkBW,kBAEa,KAAvCX,EAAkBW,kBAClBX,EAAkBW,iBAAiBjF,OAAS,KAE5C6E,EAAUP,EAAkBO,WAK9B,UAAC,KAAD,gBACE7G,KAAMO,EACN1D,QAASA,GACLiK,GAHN,IAIEI,OAAQ,QACR1G,QAAS,SAAC2G,EAAOC,GACA,kBAAXA,GACF5G,KAGJvD,UAAWJ,EAAQlB,KAVrB,WAYE,UAAC,IAAD,CAAasB,UAAWJ,EAAQE,MAAhC,WACE,iBAAKE,UAAWJ,EAAQwK,UAAxB,UACG5G,EADH,IACe1D,MAEf,gBAAKE,UAAWJ,EAAQyK,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXhG,GAAI,QACJrE,UAAWJ,EAAQ0K,YACnBlJ,QAASmC,EACT2E,eAAa,EACbE,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWmC,SAAS,KACpB,SAAC,IAAD,CACExH,KAAMoG,EACNnJ,UAAWJ,EAAQ4K,cACnBjH,QAAS,WA3Db6F,GAAgB,GAChBH,GAASU,EAAAA,EAAAA,IAAqB,MA6D1BC,QAASA,EACTa,aAAc,CACZzK,UAAU,GAAD,OAAKJ,EAAQ8K,SAAb,YACPrB,GAAgD,UAA3BA,EAAkBxC,KACnCjH,EAAQ+K,cACR,KAGRC,iBACEvB,GAAgD,UAA3BA,EAAkBxC,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAe7G,UAAWgJ,EAAmB,GAAKpJ,EAAQ+I,QAA1D,SACGG,Y,8WCoUT,GAAevK,EAAAA,EAAAA,IA1bA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXoM,kBAAmB,CACjBrL,YAAa,GACbH,aAAc,GAEd,oBAAqB,CACnBV,OAAQ,kBAGZmM,0BAA2B,CACzBC,WAAY,GACZrL,MAAO,MACP0C,OAAQ,QAEV4I,cAAe,CACbxL,YAAa,IAEfyL,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERnM,WAAY,GACZM,aAAc,KAEhB8L,sBAAuB,CACrB,4BAA6B,CAC3B/K,SAAU,SACVb,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAInB4L,iBAAkB,CAChB9L,QAAS,OACTD,aAAc,IAEhBgM,cAAe,CACbN,WAAY,GACZzL,QAAS,OACTC,WAAY,SACZ,QAAS,CACPG,MAAO,GACPD,OAAQ,IAEV,WAAY,CACVc,WAAY,aAGb+K,EAAAA,IACAC,EAAAA,OAuYP,EApYkB,SAAC,GAAkC,IAAhC3L,EAA+B,EAA/BA,QACbqJ,GAAWC,EAAAA,EAAAA,MAEXsC,GAAclC,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUH,eAErDI,GAAgBtC,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUC,iBAErDC,GAAavC,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUE,cAErDC,GAAgBxC,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUG,iBAErDC,GAAezC,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUI,gBAErDC,GAAe1C,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUK,gBAErDC,GAAwB3C,EAAAA,EAAAA,KAC5B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUM,yBAGxC,GAAgDjG,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAGMC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO3L,MAAOA,OAGjE,CAACsI,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAI+C,EAAyC,GAkC7C,GAjCIT,IACFS,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,mCACV7G,UAAU,EACVlF,MAAOsL,EAAsBU,UAC7BC,iBACsC,KAApCX,EAAsBU,WACtBE,SAASZ,EAAsBU,WAAa,EAC9CG,wBAAwB,8CAE1B,CACEJ,SAAU,oCACV7G,UAAU,EACVlF,MAAOsL,EAAsBc,WAC7BH,iBACuC,KAArCX,EAAsBc,YACtBF,SAASZ,EAAsBc,YAAc,EAC/CD,wBAAwB,+CAE1B,CACEJ,SAAU,iCACV7G,UAAU,EACVlF,MAAOsL,EAAsBe,QAC7BJ,iBACoC,KAAlCX,EAAsBe,SACtBH,SAASZ,EAAsBe,SAAW,EAC5CF,wBAAwB,+CAK1BjB,EAAY,CACd,IAAMoB,EAAwBlB,EAAalI,KAAI,SAACqJ,EAAYnJ,GAC1D,MAAO,CACL2I,SAAS,gBAAD,OAAkB3I,EAAM6D,YAChC/B,UAAU,EACVlF,MAAOuM,EACPC,QACE,yEACFC,qBACE,uEAINX,EAAuB,kBAClBA,IADkB,OAElBQ,GAFkB,CAGrB,CACEP,SAAU,iBACV7G,UAAU,EACVlF,MAAOmL,EACPqB,QACE,uHACFC,qBACE,+FAKR,IAAMC,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvCxD,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDpE,EACA+C,EACAC,EACAJ,EACAC,EACAC,IAGF,IAAM4B,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAU7D,OACE,UAACE,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,iBAAK/N,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,wBACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,4DAIF,iBAAKlO,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,uBACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,4GAKF,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,SAACsD,EAAA,EAAD,CACExN,MAAM,eACN0D,GAAG,eACHsB,KAAK,eACLyI,QAAS5C,EACT9F,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,cAAegC,IAE7B1N,MAAO,4BAGX,SAAC+C,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,SAACsD,EAAA,EAAD,CACExN,MAAM,iBACN0D,GAAG,iBACHsB,KAAK,iBACLyI,QAASxC,EACTlG,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,gBAAiBgC,IAE/B1N,MAAO,8BAGX,SAAC+C,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,SAACsD,EAAA,EAAD,CACExN,MAAM,iBACN0D,GAAG,iBACHsB,KAAK,iBACLyI,QAASvC,EACTnG,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,aAAcgC,IAE5B1N,MAAO,yBAGVmL,IACC,SAACpI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQkL,0BAAtC,UACE,sBAAU9K,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,uCAGA,UAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAS,UAAKJ,EAAQiL,mBAAzC,WACE,gBAAK7K,UAAWJ,EAAQoL,cAAxB,UACE,SAACqD,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,qCAElBjN,MAAM,iBACNC,MAAOmL,EACPwC,YACE,qDAEFxI,MAAOoG,EAAgB,gBAAsB,QAGjD,4BACE,2CACA,gBAAKlM,UAAS,UAAKJ,EAAQuL,uBAA3B,SACGY,EAAalI,KAAI,SAAC0K,EAAQxK,GACzB,OACE,iBACE/D,UAAS,UAAKJ,EAAQoL,cAAb,YAA8BpL,EAAQwL,kBADjD,WAIE,SAACiD,EAAA,EAAD,CACEhK,GAAE,uBAAkBN,EAAM6D,YAC1BjC,KAAI,uBAAkB5B,EAAM6D,YAC5BlC,SAAU,SACRoB,IAvGA,SAACnG,EAAeoD,GACxC,IAAMyK,GAAW,OAAOzC,GACxByC,EAAYzK,GAASpD,EAErByL,EAAY,eAAgBoC,GAqGJC,CAAkB3H,EAAEK,OAAOxG,MAAOoD,IAEpCrD,MAAK,uBAAkBqD,EAAQ,GAC/BpD,MAAO4N,EACPD,YAAa,8BACbxI,MACEoG,EAAiB,gBAAD,OACEnI,EAAM6D,cACnB,MAGT,gBAAK5H,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,kBAAM6H,GAASyF,EAAAA,EAAAA,QACxB9I,SAAU7B,IAAUgI,EAAahH,OAAS,EAH5C,UAKE,SAAC4J,EAAA,EAAD,SAIJ,gBAAK3O,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,kBAAM6H,GAAS2F,EAAAA,EAAAA,IAAkB7K,KAC1C6B,SAAUmG,EAAahH,QAAU,EAHnC,UAKE,SAAC8J,EAAA,EAAD,UArCN,2BAE2B9K,EAAM6D,8BAgDjD,SAACnE,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,SAACsD,EAAA,EAAD,CACExN,MAAM,eACN0D,GAAG,uBACHsB,KAAK,uBACLyI,QAASpC,EACTtG,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,eAAgBgC,IAE9B1N,MAAO,uBAGVsL,IACC,SAACvI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQkL,0BAAtC,UACE,sBAAU9K,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,wCAGA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAS,UAAKJ,EAAQiL,mBAAzC,UACE,iBACE7K,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQuL,uBADlD,WAGE,gBAAKnL,UAAWJ,EAAQoL,cAAxB,UACE,SAACqD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,mCACHsB,KAAK,mCACLD,SAAU,SAACoB,GACTsF,EAAY,yBAAD,QAAC,UACPH,GADM,IAETU,UAAW7F,EAAEK,OAAOxG,SAEtBgN,EAAgB,qCAElBjN,MAAM,cACNC,MAAOsL,EAAsBU,UAC7B9G,UAAQ,EACRC,MACEoG,EAAgB,kCAAwC,GAE1D6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQoL,cAAxB,UACE,SAACqD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,oCACHsB,KAAK,oCACLD,SAAU,SAACoB,GACTsF,EAAY,yBAAD,QAAC,UACPH,GADM,IAETc,WAAYjG,EAAEK,OAAOxG,SAEvBgN,EAAgB,sCAElBjN,MAAM,eACNC,MAAOsL,EAAsBc,WAC7BlH,UAAQ,EACRC,MACEoG,EAAgB,mCAChB,GAEF6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQoL,cAAxB,UACE,SAACqD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,iCACHsB,KAAK,iCACLD,SAAU,SAACoB,GACTsF,EAAY,yBAAD,QAAC,UACPH,GADM,IAETe,QAASlG,EAAEK,OAAOxG,SAEpBgN,EAAgB,mCAElBjN,MAAM,UACNC,MAAOsL,EAAsBe,QAC7BnH,UAAQ,EACRC,MACEoG,EAAgB,gCAAsC,GAExD6C,IAAI,cAKZ,mBACA,SAACtL,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,gBAAK7K,UAAWJ,EAAQkP,eAAxB,UACE,SAACX,EAAA,EAAD,CACExN,MAAM,oCACN0D,GAAG,sCACHsB,KAAK,sCACLyI,QAASnC,EAAsB+C,aAC/BtJ,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,yBAAD,QAAC,UACPH,GADM,IAET+C,aAAcZ,MAGlB1N,MAAO,sC,uDClbnBuO,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,gCACX0Q,aAAc,CACZ7P,QAAS,QAEX8P,WAAY,CACVrE,WAAY,GACZzL,QAAS,OACTG,OAAQ,GACR,WAAY,CACVc,WAAY,YAGhB8K,cAAe,CACbN,WAAY,GACZ,QAAS,CACP5F,SAAU,GACVxC,UAAW,IAEb,WAAY,CACVpC,WAAY,aAGb2K,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QA4UP,EAxU2B,WACzB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVK,GAAehG,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBD,gBAE5DE,GAAQlG,EAAAA,EAAAA,KACZ,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBC,SAE5DC,GAAYnG,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBE,aAE5DC,GAAmBpG,EAAAA,EAAAA,KACvB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBG,oBAEzCC,GAAsBrG,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBI,uBAEzCC,GAAsBtG,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBK,uBAEzCC,GAAYvG,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBM,aAE5DC,GAAiBxG,EAAAA,EAAAA,KACrB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBO,kBAEzCC,GAAuBzG,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBQ,wBAEzCC,GAAuB1G,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBS,wBAEzCC,GAAuB3G,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBU,wBAEzCC,GAAmB5G,EAAAA,EAAAA,KACvB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiBW,oBAG/C,GAAgDlK,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEMC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CACbC,SAAU,mBACVF,MAAOA,EACP3L,MAAOA,OAIb,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAmD7D,OA/CAlE,EAAAA,EAAAA,YAAU,WACR,IAAIyG,EAAqC,GAEzC,GAAqB,OAAjBb,EAAuB,CACzBa,EAAmB,kBACdA,GADc,CAEjB,CACEzD,SAAU,SACV7G,UAAU,EACVlF,MAAO6O,GAET,CACE9C,SAAU,kBACV7G,UAAU,EACVlF,MAAOmP,KAIX,IAAK,IAAIM,EAAI,EAAGA,EAAIP,EAAU9K,OAAQqL,IACpCD,EAAoBE,KAAK,CACvB3D,SAAS,aAAD,OAAe0D,EAAExI,YACzB/B,UAAU,EACVlF,MAAOkP,EAAUO,KAKvB,IAAM/C,GAAYC,EAAAA,EAAAA,GAAqB6C,GAEvClH,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDyC,EACAR,EACAE,EACAG,EACAC,EACAC,EACA5G,KAIA,UAAC,EAAAqH,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,SACHsB,KAAK,SACLD,SAAU,SAACoB,GACTsF,EAAY,QAAStF,EAAEK,OAAOxG,OAC9BgN,EAAgB,WAElBjN,MAAM,sBACNC,MAAO6O,EACPlB,YAAY,kBACZxI,MAAOoG,EAAgB,QAAc,GACrCrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAACpC,EAAA,EAAD,CACExN,MAAM,aACN0D,GAAG,aACHsB,KAAK,aACLyI,QAASqB,EACT/J,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,YAAagC,IAE3B1N,MAAO,6BAGX,SAAC+C,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAACpC,EAAA,EAAD,CACExN,MAAM,oBACN0D,GAAG,oBACHsB,KAAK,oBACLyI,QAASsB,EACThK,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,mBAAoBgC,IAElC1N,MAAO,sBAGVgP,GACC,UAACjM,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,WACE,SAACqQ,EAAA,EAAD,CACExQ,UAAWJ,EAAQkG,MACnBhB,QAAQ,UACRxF,QAAQ,QACRmR,cAAY,EAJd,6EAQA,qBAEA,MACJ,SAAChN,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAACpC,EAAA,EAAD,CACExN,MAAM,oBACN0D,GAAG,oBACHsB,KAAK,oBACLyI,QAAS8B,EACTxK,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,mBAAoBgC,IAElC1N,MAAO,8CAGX,SAAC+C,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,OACvCgN,EAAgB,oBAElBjN,MAAM,iBACNC,MAAOmP,EACPxB,YAAY,wBACZxI,MAAOoG,EAAgB,iBAAuB,GAC9CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,wBACHsB,KAAK,wBACLD,SAAU,SAACoB,GACTsF,EAAY,uBAAwBtF,EAAEK,OAAOxG,QAE/CD,MAAM,uBACNC,MAAOoP,EACPzB,YAAY,aAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,wBACHsB,KAAK,wBACLD,SAAU,SAACoB,GACTsF,EAAY,uBAAwBtF,EAAEK,OAAOxG,QAE/CD,MAAM,yBACNC,MAAOqP,EACP1B,YAAY,oBAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,wBACHsB,KAAK,wBACLD,SAAU,SAACoB,GACTsF,EAAY,uBAAwBtF,EAAEK,OAAOxG,QAE/CD,MAAM,wBACNC,MAAOsP,EACP3B,YAAY,0BAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,uBACHsB,KAAK,uBACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAuBtF,EAAEK,OAAOxG,QAE9CD,MAAM,uBACNC,MAAOgP,EACPrB,YAAY,qDAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,uBACHsB,KAAK,uBACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAuBtF,EAAEK,OAAOxG,QAE9CD,MAAM,sBACNC,MAAOiP,EACPtB,YAAY,gDAGhB,sBAAUtO,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,iFAGA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,SACG0P,EAAUhM,KAAI,SAAC6M,EAAG3M,GACjB,OACE,SAAC,EAAAuM,SAAD,WACE,iBAAKtQ,UAAWJ,EAAQuP,aAAxB,WACE,SAACd,EAAA,EAAD,CACEhK,GAAE,oBAAeN,EAAM6D,YACvBlH,MAAO,GACP4N,YAAY,GACZ3I,KAAI,oBAAe5B,EAAM6D,YACzBjH,MAAOkP,EAAU9L,GACjB2B,SAAU,SAACoB,GACTmC,GACE0H,EAAAA,EAAAA,IAAmB,CACjB5M,MAAOA,EACP6M,OAAQ9J,EAAEK,OAAOxG,SAGrBgN,EAAgB,aAAD,OAAc5J,EAAM6D,cAErC7D,MAAOA,EAEP+B,MACEoG,EAAiB,aAAD,OAAcnI,EAAM6D,cAAiB,IAlBzD,wBAgBwB7D,EAAM6D,cAK9B,iBAAK5H,UAAWJ,EAAQwP,WAAxB,WACE,SAAC1I,EAAA,EAAD,CAAS5G,MAAM,WAAW,aAAW,MAArC,UACE,SAACkI,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAAS4H,EAAAA,EAAAA,QAHb,UAME,SAAClC,EAAA,EAAD,SAGJ,SAACjI,EAAA,EAAD,CAAS5G,MAAM,SAAS,aAAW,MAAnC,UACE,SAACkI,EAAA,EAAD,CACEI,KAAM,QACNvG,MAAO,CAAEkJ,WAAY,IACrB3J,QAAS,WACHyO,EAAU9K,OAAS,GACrBkE,GAAS6H,EAAAA,EAAAA,IAAsB/M,KALrC,UASE,SAACgN,EAAA,EAAD,eA5CV,wBAAgChN,EAAM6D,yBCrT9CqH,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,gCACX2Q,WAAY,CACVrE,WAAY,GACZzL,QAAS,OACTG,OAAQ,GACR,WAAY,CACVc,WAAY,YAGhB8K,cAAe,CACbN,WAAY,GACZ,QAAS,CACP5F,SAAU,GACVxC,UAAW,IAEb,WAAY,CACVpC,WAAY,aAGb2K,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QAgMP,EA5LkB,WAChB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVK,GAAehG,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBD,gBAE5D0B,GAAyB1H,EAAAA,EAAAA,KAC7B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiByB,0BAEzCC,GAAiB3H,EAAAA,EAAAA,KACrB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiB0B,kBAEzCC,GAAiB5H,EAAAA,EAAAA,KACrB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiB2B,kBAEzCC,GAAoB7H,EAAAA,EAAAA,KACxB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiB4B,qBAEzCC,GAAkB9H,EAAAA,EAAAA,KACtB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO6D,iBAAiB6B,mBAEzCC,GAAe/H,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiB8B,gBAGlE,GAAgDrL,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEMC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CACbC,SAAU,mBACVF,MAAOA,EACP3L,MAAOA,OAIb,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAoD7D,OAhDAlE,EAAAA,EAAAA,YAAU,WACR,IAAIyG,EAAqC,GAEpB,WAAjBb,IACFa,EAAmB,kBACdA,GADc,CAEjB,CACEzD,SAAU,2BACV7G,UAAU,EACVlF,MAAOqQ,GAET,CACEtE,SAAU,kBACV7G,UAAU,EACVlF,MAAOsQ,GAET,CACEvE,SAAU,kBACV7G,UAAU,EACVlF,MAAOuQ,GAET,CACExE,SAAU,mBACV7G,UAAU,EACVlF,MAAOyQ,MAKb,IAAM/D,GAAYC,EAAAA,EAAAA,GAAqB6C,GAEvClH,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDiC,EACA2B,EACAC,EACAF,EACAI,EACAnI,KAIA,UAAC,EAAAqH,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,2BACHsB,KAAK,2BACLD,SAAU,SAACoB,GACTsF,EAAY,yBAA0BtF,EAAEK,OAAOxG,OAC/CgN,EAAgB,6BAElBjN,MAAM,oBACNC,MAAOqQ,EACP1C,YAAY,sEACZxI,MAAOoG,EAAgB,0BAAgC,GACvDrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,OACvCgN,EAAgB,oBAElBjN,MAAM,YACNC,MAAOsQ,EACPnL,MAAOoG,EAAgB,iBAAuB,GAC9CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,OACvCgN,EAAgB,oBAElBjN,MAAM,YACNC,MAAOuQ,EACPpL,MAAOoG,EAAgB,iBAAuB,GAC9CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,qBACHsB,KAAK,qBACLD,SAAU,SAACoB,GACTsF,EAAY,oBAAqBtF,EAAEK,OAAOxG,OAC1CgN,EAAgB,uBAElBjN,MAAM,eACNC,MAAOwQ,EACP7C,YAAY,oDACZxI,MAAOoG,EAAgB,oBAA0B,QAGrD,SAACzI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,mBACHsB,KAAK,mBACLD,SAAU,SAACoB,GACTsF,EAAY,kBAAmBtF,EAAEK,OAAOxG,OACxCgN,EAAgB,qBAElBjN,MAAM,aACNC,MAAOyQ,EACPtL,MAAOoG,EAAgB,kBAAwB,GAC/CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,OACrCgN,EAAgB,kBAElBjN,MAAM,SACNC,MAAO0Q,U,WCvMXpC,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,gCACX2Q,WAAY,CACVrE,WAAY,GACZzL,QAAS,OACTG,OAAQ,GACR,WAAY,CACVc,WAAY,YAGhB8K,cAAe,CACbN,WAAY,GACZ,QAAS,CACP5F,SAAU,GACVxC,UAAW,IAEb,WAAY,CACVpC,WAAY,YAGhB+Q,UAAW,CACTC,oBAAqB,sBACrBjS,QAAS,OACTkS,QAAS,GACTnS,aAAc,GACd,UAAW,CACTD,WAAY,OAGb8L,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QAkKP,EA9JmB,WACjB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVK,GAAehG,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBD,gBAE5DmC,GAAanI,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBkC,cAE5DC,GAAapI,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBmC,cAGlE,GAAgD1L,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEMwB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAuC7D,OAnCAlE,EAAAA,EAAAA,YAAU,WACR,IAAIyG,EAAqC,GAEzC,GAAqB,aAAjBb,EAA6B,CAC/Ba,GAAmB,OAAOA,GAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAIqB,EAAW1M,OAAQqL,IACrCD,EAAoBE,KAAK,CACvB3D,SAAS,aAAD,OAAe0D,EAAExI,YACzB/B,UAAU,EACVlF,MAAO8Q,EAAWrB,GAClBjD,QAAS,uBACTC,qBAAsB,mCAExB+C,EAAoBE,KAAK,CACvB3D,SAAS,aAAD,OAAe0D,EAAExI,YACzB/B,UAAU,EACVlF,MAAO+Q,EAAWtB,GAClBjD,QAAS,uBACTC,qBAAsB,mCAK5B,IAAMC,GAAYC,EAAAA,EAAAA,GAAqB6C,GAEvClH,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CAACiC,EAAcmC,EAAYC,EAAYzI,KAGxC,UAAC,EAAAqH,SAAD,kCAEGmB,EAAW5N,KAAI,SAAC6M,EAAG3M,GAClB,OACE,SAAC,EAAAuM,SAAD,WACE,iBAAKtQ,UAAWJ,EAAQ0R,UAAxB,WACE,SAACjD,EAAA,EAAD,CACEhK,GAAE,oBAAeN,EAAM6D,YACvBlH,MAAO,GACP4N,YAAa,aACb3I,KAAI,oBAAe5B,EAAM6D,YACzBjH,MAAO8Q,EAAW1N,GAClB2B,SAAU,SAACoB,GACTmC,GACE0I,EAAAA,EAAAA,IAAiB,CACf5N,MAAAA,EACAC,UAAW8C,EAAEK,OAAOxG,SAGxBgN,EAAgB,aAAD,OAAc5J,EAAM6D,cAErC7D,MAAOA,EAEP+B,MAAOoG,EAAiB,aAAD,OAAcnI,EAAM6D,cAAiB,IAjB9D,wBAgBwB7D,EAAM6D,cAG9B,SAACyG,EAAA,EAAD,CACEhK,GAAE,oBAAeN,EAAM6D,YACvBlH,MAAO,GACP4N,YAAa,aACb3I,KAAI,oBAAe5B,EAAM6D,YACzBjH,MAAO+Q,EAAW3N,GAClB2B,SAAU,SAACoB,GACTmC,GACE2I,EAAAA,EAAAA,IAAiB,CACf7N,MAAAA,EACAE,UAAW6C,EAAEK,OAAOxG,SAGxBgN,EAAgB,aAAD,OAAc5J,EAAM6D,cAErC7D,MAAOA,EAEP+B,MAAOoG,EAAiB,aAAD,OAAcnI,EAAM6D,cAAiB,IAjB9D,wBAgBwB7D,EAAM6D,cAG9B,iBAAK5H,UAAWJ,EAAQwP,WAAxB,WACE,SAAC1I,EAAA,EAAD,CAAS5G,MAAM,WAAW,aAAW,MAArC,UACE,gBAAKE,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAAS4I,EAAAA,EAAAA,QAHb,UAME,SAAClD,EAAA,EAAD,WAIN,SAACjI,EAAA,EAAD,CAAS5G,MAAM,SAAS,aAAW,MAAnC,UACE,gBAAKE,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAAS6I,EAAAA,EAAAA,IAAwB/N,KAHrC,UAME,SAAC8K,EAAA,EAAD,WAIN,SAACnI,EAAA,EAAD,CAAS5G,MAAM,wBAAwB,aAAW,MAAlD,UACE,gBAAKE,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACE5G,QAAS,WACP6H,GACE0I,EAAAA,EAAAA,IAAiB,CACf5N,MAAAA,EACAC,WAAW+N,EAAAA,EAAAA,GAAgB,OAG/B9I,GACE2I,EAAAA,EAAAA,IAAiB,CACf7N,MAAAA,EACAE,WAAW8N,EAAAA,EAAAA,GAAgB,QAIjC3J,KAAM,QAfR,UAiBE,SAAC4J,EAAA,EAAD,iBApFZ,wBAAgCjO,EAAM6D,oBC7G1CqH,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,wBACXwT,qBAAsB,CACpB3S,QAAS,OACTc,SAAU,SACVf,aAAc,GAEd,UAAW,CACTF,SAAU,IAEZ,QAAS,CACPG,QAAS,OACTc,SAAU,SACVb,WAAY,cAGb2L,EAAAA,IACAI,EAAAA,IACAC,EAAAA,QA6CP,EAzCyB,WACvB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVK,GAAehG,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO6D,iBAAiBD,gBAGlE,OACE,UAACxB,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,iBAAK/N,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,gCACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,0FAKF,UAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQqS,qBAAtC,WACE,yCACA,SAACC,EAAA,EAAD,CACEC,iBAAkB7C,EAClBjL,GAAG,cACHsB,KAAK,cACLjF,MAAM,IACNgF,SAAU,SAACoB,GACTmC,GAASmJ,EAAAA,EAAAA,IAAOtL,EAAEK,OAAOxG,SAE3B0R,gBAAiB,CACf,CAAE3R,MAAO,WAAYC,MAAO,YAC5B,CAAED,MAAO,SAAUC,MAAO,UAC1B,CAAED,MAAO,mBAAoBC,MAAO,YAIxB,aAAjB2O,IAA+B,SAAC,EAAD,IACd,WAAjBA,IAA6B,SAAC,EAAD,IACZ,OAAjBA,IAAyB,SAAC,EAAD,Q,iCC8QhC,GAAe/Q,EAAAA,EAAAA,IAxTA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,wBACX6T,qBAAsB,CACpBhT,QAAS,OACTC,WAAY,SACZgT,eAAgB,aAChBC,aAAc,oBACd,eAAgB,CACdA,aAAc,GAEhB,4BAA6B,CAC3BC,KAAM,IAGVC,SAAU,CACRlT,YAAa,GACbF,QAAS,OACT,cAAe,CACbqT,SAAU,IAGZ,4BAA6B,CAC3BvS,SAAU,WAGdwS,oBAAqB,CACnBvT,aAAc,IAEhBwT,gBAAiB,CACfvT,QAAS,OACTC,WAAY,SACZgT,eAAgB,aAEhBC,aAAc,oBACd,eAAgB,CACdA,aAAc,GAEhB,4BAA6B,CAC3BC,KAAM,EAEN,cAAe,CACbE,SAAU,MAIhBG,WAAY,CACVxT,QAAS,OACTiT,eAAgB,WAChB,4BAA6B,CAC3BE,KAAM,IAGVpH,cAAe,CACbN,WAAY,GACZ,QAAS,CACP5F,SAAU,GACVxC,UAAW,IAEb,WAAY,CACVpC,WAAY,aAIb2K,EAAAA,IACAI,EAAAA,IACAC,EAAAA,OAuPP,EApPiB,SAAC,GAAiC,IAA/B3L,EAA8B,EAA9BA,QACZqJ,GAAWC,EAAAA,EAAAA,MAEX6J,GAAYzJ,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASD,aAEpDE,GAAiB3J,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASC,kBAEpDC,GAAoB5J,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASE,qBAEpDC,GAAoB7J,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAaD,qBAEjDE,GAAiB/J,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAaC,kBAIjDjH,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,WAAYF,MAAOA,EAAO3L,MAAOA,OAGhE,CAACsI,IAqBH,OAhBAS,EAAAA,EAAAA,YAAU,WAMNT,EALG8J,EAIDE,GAIAC,GAHO3F,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,KAO7CD,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,KAXzCD,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,OAYrD,CAACuF,EAAWE,EAAgBC,EAAmBjK,KAGhD,UAAC6E,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,gBAAK/N,UAAWJ,EAAQoO,cAAxB,UACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,yBAEF,UAACxK,EAAA,GAAD,CAAMxD,WAAS,EAACqT,QAAS,EAAzB,WACE,SAAC7P,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,YACN0D,GAAG,YACHsB,KAAK,YACLyI,QAAS2E,EACTrN,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,YAAagC,IAE3B1N,MAAO,MACP6S,YACE,wFAILR,IACC,UAAC,EAAAzC,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,iBACN0D,GAAG,iBACHsB,KAAK,iBACLyI,QAAS6E,EACTvN,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,iBAAkBgC,IAEhC1N,MAAO,WACP6S,YACE,kFAIN,SAAC9P,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,oBACN0D,GAAG,oBACHsB,KAAK,oBACLyI,QAAS8E,EACTxN,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,oBAAqBgC,IAEnC1N,MAAO,sBACP6S,YAAa,mDAGhBL,IACC,UAAC,EAAA5C,SAAD,YACE,UAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgT,oBAAtC,WACE,SAACY,EAAA,EAAD,iCACCL,EAAkBtP,KAAI,SAAC4P,GAAD,OACrB,UAAChQ,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GAEJH,UAAWJ,EAAQ0S,qBAJrB,WAME,UAAC7O,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ8S,SAAtC,WACE,SAACgB,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE2K,EAAAA,EAAAA,IAAiB,CACfvP,GAAIoP,EAAQpP,GACZwP,IAAK,OACL9M,SAAUA,EACVpG,MAAOgT,MAIb5N,OAAO,uBACP1B,GAAG,UACHsB,KAAK,UACLjF,MAAM,OACNC,MAAO8S,EAAQK,QAEjB,SAACJ,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE2K,EAAAA,EAAAA,IAAiB,CACfvP,GAAIoP,EAAQpP,GACZwP,IAAK,MACL9M,SAAUA,EACVpG,MAAOgT,MAIb5N,OAAO,YACP1B,GAAG,SACHsB,KAAK,SACLjF,MAAM,MACNC,MAAO8S,EAAQI,UAInB,UAACpQ,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQkT,WAArC,WACE,gBAAK9S,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAAS8K,EAAAA,EAAAA,QAHb,UAME,SAACC,EAAA,EAAD,SAGJ,gBAAKhU,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAASgL,EAAAA,EAAAA,IAAcR,EAAQpP,MAHnC,UAME,SAACwK,EAAA,EAAD,aA7DR,sBAGsB4E,EAAQpP,YAkElC,UAACZ,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgT,oBAAtC,WACE,SAACY,EAAA,EAAD,oCAECH,EAAexP,KAAI,SAAC4P,GAAD,OAClB,UAAChQ,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GAEJH,UAAWJ,EAAQiT,gBAJrB,WAME,SAACpP,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAf,UACE,SAACuT,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACEiL,EAAAA,EAAAA,IAAwB,CACtB7P,GAAIoP,EAAQpP,GACZwP,IAAK,OACL9M,SAAUA,EACVpG,MAAOgT,MAIb5N,OAAO,uBACP1B,GAAG,UACHsB,KAAK,UACLjF,MAAM,OACNC,MAAO8S,EAAQK,UAGnB,SAACrQ,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAf,UACE,iBAAKH,UAAWJ,EAAQkT,WAAxB,WACE,gBAAK9S,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAASkL,EAAAA,EAAAA,QAHb,UAME,SAACH,EAAA,EAAD,SAGJ,gBAAKhU,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAASmL,EAAAA,EAAAA,IAAoBX,EAAQpP,MAHzC,UAME,SAACwK,EAAA,EAAD,eA5CV,yBAGyB4E,EAAQpP,0BClRrD,EARmC,SAAC,GAAkB,IAAhByE,EAAe,EAAfA,SACpC,OACE,eAAIjH,MAAO,CAAEO,OAAQ,EAAG/C,aAAc,QAASF,SAAU,UAAzD,SACG2J,KCmBDmG,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,kCACRyM,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QAmUP,EA/ToB,WAClB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVoF,GAAmB/K,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWD,oBAEtDE,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWC,kBAGtDC,GAAgBlL,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWE,iBAEtDC,GAAcnL,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWG,eAEtDC,GAAiBpL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWI,kBAEtDC,GAAcrL,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWK,eAEtDC,GAAqBtL,EAAAA,EAAAA,KACzB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWM,sBAEtDC,GAAUvL,EAAAA,EAAAA,KACd,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWO,WAEtDC,GAAcxL,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWQ,eAEtDC,GAAazL,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWS,cAEtDC,GAAY1L,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWU,aAEtDC,GAAmB3L,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAa6B,oBAEjDC,GAAU5L,EAAAA,EAAAA,KACd,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAa8B,WAGvD,GAAgDlP,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,MAGAzC,EAAAA,EAAAA,YAAU,WACR,IAAIyL,EAAsC,GAEtCd,GACqB,UAAnBE,IACFY,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,iBACV7G,UAAU,EACVlF,MAAO6T,GAET,CACE9H,SAAU,WACV7G,UAAU,EACVlF,MAAOkU,GAET,CACEnI,SAAU,eACV7G,UAAU,EACVlF,MAAOmU,GAET,CACEpI,SAAU,aACV7G,UAAU,EACVlF,MAAOqU,EACPpI,iBAAkBC,SAASmI,GAAa,EACxClI,wBAAyB,kCAE3B,CACEJ,SAAU,cACV7G,UAAU,EACVlF,MAAOoU,EACPnI,iBAAkBC,SAASkI,GAAc,EACzCjI,wBAAyB,qCAMjC,IAAMO,GAAYC,EAAAA,EAAAA,GAAqB6H,GAEvClM,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDgH,EACAE,EACAC,EACAC,EACAI,EACAC,EACAE,EACAD,EACA9L,IAIF,IAAMmD,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAAC,EAAA0C,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,mBAElBjN,MAAM,WACNC,MAAO6T,EACP1O,MAAOoG,EAAgB,gBAAsB,GAC7CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,OACpCgN,EAAgB,iBAElBjN,MAAM,SACNC,MAAO8T,OAGX,SAAChR,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,QAEzCD,MAAM,YACNC,MAAO+T,OAGX,SAACjR,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,QAEtCD,MAAM,SACNC,MAAOgU,OAIX,SAAClR,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,sBAAUH,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,uBACA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,uBACHsB,KAAK,uBACLD,SAAU,SAACoB,GACTsF,EAAY,qBAAsBtF,EAAEK,OAAOxG,QAE7CD,MAAM,SACNC,MAAOiU,OAGX,SAACnR,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,WACHsB,KAAK,WACLD,SAAU,SAACoB,GACTsF,EAAY,UAAWtF,EAAEK,OAAOxG,OAChCgN,EAAgB,aAElBjN,MAAM,aACNC,MAAOkU,EACP/O,MAAOoG,EAAgB,UAAgB,GACvCrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,OACpCgN,EAAgB,iBAElBjN,MAAM,iBACNC,MAAOmU,EACPhP,MAAOoG,EAAgB,cAAoB,GAC3CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACExH,KAAK,SACLkI,IAAI,IACJ1K,GAAG,cACHsB,KAAK,cACLD,SAAU,SAACoB,GACTsF,EAAY,aAActF,EAAEK,OAAOxG,OACnCgN,EAAgB,gBAElBjN,MAAM,kBACNC,MAAOoU,EACPjP,MAAOoG,EAAgB,aAAmB,aAMlD,SAACzI,EAAA,GAAD,CAAMxD,WAAS,EAACD,UAAWJ,EAAQwV,gBAAnC,UACE,sBAAUpV,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,mDAGA,SAACwF,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACEoM,EAAAA,EAAAA,IAAiB,CACfxB,IAAK,MACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,cAElB5H,OAAO,YACP1B,GAAG,YACHsB,KAAK,YACLjF,MAAM,MACNC,MAAOsU,EAAiBpB,OAE1B,SAACH,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACEoM,EAAAA,EAAAA,IAAiB,CACfxB,IAAK,OACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,eAElB5H,OAAO,uBACP1B,GAAG,aACHsB,KAAK,aACLjF,MAAM,OACNC,MAAOsU,EAAiBnB,QAE1B,SAACJ,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACEqM,EAAAA,EAAAA,IAAe,CACbvO,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,aAElB5H,OAAO,uBACP1B,GAAG,WACHsB,KAAK,WACLjF,MAAM,KACNC,MAAOuU,EAAQpB,aAIrB,SAACrQ,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQ2Q,aACnB1O,MAAO,CAAEW,UAAW,IAJtB,UAME,sBAAUxC,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,qBACA,SAACG,EAAA,EAAD,CACExH,KAAK,SACLkI,IAAI,IACJ1K,GAAG,aACHsB,KAAK,aACLD,SAAU,SAACoB,GACTsF,EAAY,YAAatF,EAAEK,OAAOxG,OAClCgN,EAAgB,eAElBjN,MAAM,iBACNC,MAAOqU,EACPlP,MAAOoG,EAAgB,YAAkB,cCvU/C+C,GAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,kCACRyM,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QA+JP,EA3JoB,WAClB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,IAEVoF,GAAmB/K,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWD,oBAEtDE,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWC,kBAGtDgB,GAAgBjM,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWiB,iBAEtDC,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWkB,iBAEtDC,GAAgBnM,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWmB,iBAEtDC,GAAoBpM,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWoB,qBAG5D,GAAgD1P,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,MAGAzC,EAAAA,EAAAA,YAAU,WACR,IAAIyL,EAAsC,GAEtCd,GACqB,UAAnBE,IACFY,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,iBACV7G,UAAU,EACVlF,MAAO4U,GAET,CACE7I,SAAU,kBACV7G,UAAU,EACVlF,MAAO6U,GAET,CACE9I,SAAU,kBACV7G,UAAU,EACVlF,MAAO8U,GAET,CACE/I,SAAU,sBACV7G,UAAU,EACVlF,MAAO+U,MAMf,IAAMrI,GAAYC,EAAAA,EAAAA,GAAqB6H,GAEvClM,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDgH,EACAE,EACAgB,EACAC,EACAC,EACAC,EACAzM,IAIF,IAAMmD,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAAC,EAAA0C,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,mBAElBjN,MAAM,WACNC,MAAO4U,EACPzP,MAAOoG,EAAgB,gBAAsB,QAGjD,SAACzI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,sBAAUH,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,0BACA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,oBAElBjN,MAAM,YACNC,MAAO6U,EACP1P,MAAOoG,EAAgB,iBAAuB,QAGlD,SAACzI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,oBAElBjN,MAAM,YACNC,MAAO8U,EACP3P,MAAOoG,EAAgB,iBAAuB,QAGlD,SAACzI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,sBACHsB,KAAK,sBACLD,SAAU,SAACoB,GACTsF,EAAY,oBAAqBtF,EAAEK,OAAOxG,OAC1CgN,EAAgB,wBAElBjN,MAAM,gBACNC,MAAO+U,EACP5P,MAAOoG,EAAgB,qBAA2B,gBChK1D+C,IAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,kCACRyM,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QAkHP,GA9GkB,WAChB,IAAM3L,EAAUqP,KACVhG,GAAWC,EAAAA,EAAAA,MAEXyM,GAAerM,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWqB,gBAEtDC,GAActM,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWsB,eAEtDC,GAAiBvM,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWuB,kBAEtDC,GAAcxM,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWwB,eAEtDC,GAAkBzM,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWyB,mBAEtDC,GAAgB1M,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW0B,iBAItD5J,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGH,OACE,UAAC,EAAAqH,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,QAEvCD,MAAM,aACNC,MAAOgV,OAGX,SAAClS,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,QAEtCD,MAAM,WACNC,MAAOiV,OAGX,SAACnS,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,sBAAUH,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,0BACA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,mBACHsB,KAAK,mBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,QAEzCD,MAAM,eACNC,MAAOkV,OAGX,SAACpS,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,QAEtCD,MAAM,YACNC,MAAOmV,OAGX,SAACrS,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,qBACHsB,KAAK,qBACLD,SAAU,SAACoB,GACTsF,EAAY,kBAAmBtF,EAAEK,OAAOxG,QAE1CD,MAAM,iBACNC,MAAOoV,OAGX,SAACtS,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,QAExCD,MAAM,cACNC,MAAOqV,eCpGf/G,IAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,kCACRyM,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QA4MP,GAxMsB,WACpB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,KAEVoF,GAAmB/K,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWD,oBAEtDE,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWC,kBAEtD0B,GAAY3M,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAa6C,aAEjDC,GAAkB5M,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW4B,mBAEtDC,GAAe7M,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW6B,gBAEtDC,GAAgB9M,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW8B,iBAEtDC,GAAe/M,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW+B,gBAG5D,GAAgDrQ,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,MAGAzC,EAAAA,EAAAA,YAAU,WACR,IAAIyL,EAAsC,GAEtCd,GACqB,YAAnBE,IACFY,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,mBACV7G,UAAU,EACVlF,MAAOuV,GAET,CACExJ,SAAU,gBACV7G,UAAU,EACVlF,MAAOwV,GAET,CACEzJ,SAAU,iBACV7G,UAAU,EACVlF,MAAOyV,GAET,CACE1J,SAAU,gBACV7G,UAAU,EACVlF,MAAO0V,EACPzJ,iBAAkBC,SAASwJ,GAAgB,EAC3CvJ,wBAAyB,qCAMjC,IAAMO,GAAYC,EAAAA,EAAAA,GAAqB6H,GAEvClM,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDgH,EACAE,EACA2B,EACAC,EACAC,EACAC,EACApN,IAIF,IAAMmD,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAAC,EAAA0C,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,mBACHsB,KAAK,mBACLD,SAAU,SAACoB,GACTsF,EAAY,kBAAmBtF,EAAEK,OAAOxG,OACxCgN,EAAgB,qBAElBjN,MAAM,WACNC,MAAOuV,EACPpQ,MAAOoG,EAAgB,kBAAwB,GAC/CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJ0B,MAAO,CACLxC,aAAc,IAJlB,UAOE,sBAAUW,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,0BACA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,OACrCgN,EAAgB,kBAElBjN,MAAM,QACNC,MAAOwV,EACPrQ,MAAOoG,EAAgB,eAAqB,GAC5CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,OACtCgN,EAAgB,mBAElBjN,MAAM,SACNC,MAAOyV,EACPtQ,MAAOoG,EAAgB,gBAAsB,GAC7CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACExH,KAAK,SACLkI,IAAI,IACJ1K,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,OACrCgN,EAAgB,kBAElBjN,MAAM,kBACNC,MAAO0V,EACPvQ,MAAOoG,EAAgB,eAAqB,aAKpD,SAACzI,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJ0B,MAAO,CACLxC,aAAc,IAJlB,UAOE,sBAAUW,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,sDAIA,SAACwF,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACEqN,EAAAA,EAAAA,IAAiB,CACfvP,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,eAElB5H,OAAO,uBACP1B,GAAG,aACHsB,KAAK,aACLjF,MAAM,KACNC,MAAOsV,EAAUnC,gBC9MvB7E,IAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,kCACRyM,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,QA6LP,GAzLkB,WAChB,IAAMtC,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,KAEVoF,GAAmB/K,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWD,oBAEtDE,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWC,kBAEtDgC,GAAcjN,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWiC,eAEtDC,GAAYlN,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWkC,aAEtDC,GAAYnN,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWmC,aAEtDC,GAAepN,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWoC,gBAEtDC,GAAerN,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWqC,gBAEtDC,GAAWtN,EAAAA,EAAAA,KACf,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWsC,YAE5D,GAAgD5Q,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,MAGAzC,EAAAA,EAAAA,YAAU,WACR,IAAIyL,EAAsC,GAEtCd,GACqB,QAAnBE,IACFY,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,eACV7G,UAAU,EACVlF,MAAO4V,GAET,CACE7J,SAAU,aACV7G,UAAU,EACVlF,MAAO6V,GAET,CACE9J,SAAU,gBACV7G,UAAU,EACVlF,MAAO+V,GAET,CACEhK,SAAU,gBACV7G,UAAU,EACVlF,MAAOgW,MAMf,IAAMtJ,GAAYC,EAAAA,EAAAA,GAAqB6H,GAEvClM,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDgH,EACAE,EACAgC,EACAC,EACAG,EACAD,EACAzN,IAIF,IAAMmD,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAAC,EAAA0C,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,OACpCgN,EAAgB,iBAElBjN,MAAM,WACNC,MAAO4V,EACPzQ,MAAOoG,EAAgB,cAAoB,GAC3CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,aACHsB,KAAK,aACLD,SAAU,SAACoB,GACTsF,EAAY,YAAatF,EAAEK,OAAOxG,OAClCgN,EAAgB,eAElBjN,MAAM,SACNC,MAAO6V,EACP1Q,MAAOoG,EAAgB,YAAkB,GACzCrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,aACHsB,KAAK,aACLD,SAAU,SAACoB,GACTsF,EAAY,YAAatF,EAAEK,OAAOxG,QAEpCD,MAAM,UACNC,MAAO8V,OAGX,SAAChT,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,sBAAUH,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,0BACA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,OACrCgN,EAAgB,kBAElBjN,MAAM,aACNC,MAAO+V,EACP5Q,MAAOoG,EAAgB,eAAqB,GAC5CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EAAY,eAAgBtF,EAAEK,OAAOxG,OACrCgN,EAAgB,kBAElBjN,MAAM,aACNC,MAAOgW,EACP7Q,MAAOoG,EAAgB,eAAqB,GAC5CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,YACHsB,KAAK,YACLD,SAAU,SAACoB,GACTsF,EAAY,WAAYtF,EAAEK,OAAOxG,QAEnCD,MAAM,QACNC,MAAOiW,eCuWrB,IAAerY,EAAAA,EAAAA,IA5gBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gCACXoY,sBAAuB,CACrBxX,aAAc,IAEhB+V,gBAAiB,CACf5S,UAAW,GACX,aAAc,CACZiQ,KAAM,IAGVqE,YAAa,CACXtX,YAAa,IAEfuX,oBAAqB,CACnB,4BAA6B,CAC3BzX,QAAS,OACTc,SAAU,YAGX8K,EAAAA,IACAmE,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,OAqfP,EAlfmB,SAAC,GAAmC,IAAjC3L,EAAgC,EAAhCA,QACdqJ,GAAWC,EAAAA,EAAAA,MAEX8N,GAAW1N,EAAAA,EAAAA,KACf,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW0C,YAEtD3C,GAAmB/K,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWD,oBAEtDE,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWC,kBAGtDoB,GAAerM,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWqB,gBAEtDC,GAActM,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWsB,eAEtDC,GAAiBvM,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWuB,kBAEtDC,GAAcxM,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWwB,eAEtDC,GAAkBzM,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAWyB,mBAEtDC,GAAgB1M,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW0B,iBAEtDiB,GAA0B3N,EAAAA,EAAAA,KAC9B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO4I,WAAW2C,2BAEnChE,GAAiB3J,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASC,kBAEpDF,GAAYzJ,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASD,aAEpDI,GAAoB7J,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAaD,qBAEjD+D,GAAoB5N,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAa8D,qBAEjDC,GAAoB7N,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,aAAa+D,qBAGjDjE,GAAoB5J,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOsH,SAASE,qBAEpDkE,GAAqB9N,EAAAA,EAAAA,KACzB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO4I,WAAW8C,sBAG5D,GAAgDpR,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEIkL,GAAsB,EAExBtE,IACCE,GACEE,GACCA,EAAkBmE,QAChB,SAACpX,GAAD,OAAUA,EAAKqX,aAAerX,EAAKsX,gBACnCzS,OAAS,KAEfsS,GAAsB,GAIxB,IAAMjL,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAGG0E,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAuG7D,OAnGAlE,EAAAA,EAAAA,YAAU,WACR,IAAIyL,EAAsC,GAEtCd,IACFc,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,WACV7G,UAAU,EACVlF,MAAOqW,EACPpK,iBAAkBC,SAASmK,GAAY,EACvClK,wBAAyB,qCAE3B,CACEJ,SAAU,gCACV7G,UAAU,EACVlF,MAAOyW,EAAmBzK,UAC1BC,iBACmC,KAAjCwK,EAAmBzK,WACnBE,SAASuK,EAAmBzK,WAAa,EAC3CG,wBAAwB,8CAE1B,CACEJ,SAAU,iCACV7G,UAAU,EACVlF,MAAOyW,EAAmBrK,WAC1BH,iBACoC,KAAlCwK,EAAmBrK,YACnBF,SAASuK,EAAmBrK,YAAc,EAC5CD,wBAAwB,+CAE1B,CACEJ,SAAU,8BACV7G,UAAU,EACVlF,MAAOyW,EAAmBpK,QAC1BJ,iBACiC,KAA/BwK,EAAmBpK,SACnBH,SAASuK,EAAmBpK,SAAW,EACzCF,wBAAwB,8CAIxBoG,IACFiC,EAAoB,kBACfA,GADe,CAElB,CACEzI,SAAU,YACV7G,UAAWoN,EACXtS,MAAOuW,EAAkBK,aAE3B,CACE7K,SAAU,aACV7G,UAAWoN,EACXtS,MAAOuW,EAAkBM,cAE3B,CACE9K,SAAU,YACV7G,UAAWoN,EACXtS,MAAOwW,EAAkBI,aAE3B,CACE7K,SAAU,aACV7G,UAAWoN,EACXtS,MAAOwW,EAAkBK,kBAMjC,IAAMnK,GAAYC,EAAAA,EAAAA,GAAqB6H,GAEvClM,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDgH,EACAE,EACAoB,EACAC,EACAC,EACAC,EACAC,EACAC,EACA/M,EACAgK,EACAC,EACAgE,EAAkBK,YAClBL,EAAkBM,aAClBL,EAAkBI,YAClBJ,EAAkBK,aAClBJ,EACAJ,KAIA,UAAClJ,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,UAACtK,EAAA,GAAD,CAAMxD,WAAS,EAACV,WAAY,SAA5B,WACE,SAACkE,EAAA,GAAD,CAAMvD,MAAI,EAACC,IAAE,EAAb,UACE,SAAC,EAAD,4BAEF,SAACsD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGoS,eAAgB,MAAOhQ,UAAW,QAApD,UACE,SAAC4L,EAAA,EAAD,CACEzN,MAAO,GACP+W,gBAAiB,CAAC,UAAW,YAC7BrJ,QAASiG,EACT1T,MAAO,oBACP0D,GAAG,oBACHsB,KAAK,oBACLD,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,mBAAoBgC,IAElCmF,YAAY,GACZ3N,UAAWyR,UAIjB,UAAC5T,EAAA,GAAD,CAAMxD,WAAS,EAACqT,QAAS,EAAzB,WACE,SAAC7P,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,iBAAMH,UAAWJ,EAAQsO,gBAAzB,6UAQF,SAACzK,EAAA,GAAD,CAAMtD,GAAI,GAAV,UACE,eAAIH,UAAWJ,EAAQ8X,YAGxBrD,IACC,UAAC,EAAA/D,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiX,sBAAtC,UACE,SAAC3E,EAAA,EAAD,CACEC,iBAAkBoC,EAClBlQ,GAAG,iBACHsB,KAAK,iBACLjF,MAAM,qBACNgF,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,QAEzC0R,gBAAiB,CACf,CAAE3R,MAAO,QAASC,MAAO,SACzB,CAAED,MAAO,MAAOC,MAAO,OACvB,CAAED,MAAO,UAAWC,MAAO,WAC3B,CAAED,MAAO,MAAOC,MAAO,OACvB,CAAED,MAAO,QAASC,MAAO,cAIX,UAAnB4T,IAA8B,SAAC,EAAD,IACX,UAAnBA,IAA8B,SAAC,EAAD,IACX,QAAnBA,IAA4B,SAAC,GAAD,IACT,QAAnBA,IAA4B,SAAC,GAAD,IACT,YAAnBA,IAAgC,SAAC,GAAD,KACjC,gBAAKvU,UAAWJ,EAAQoO,cAAxB,UACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,0CAEF,SAACxK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,0BACN0D,GAAG,0BACHsB,KAAK,0BACLyI,QAAS6I,IAA4BhE,EACrCvN,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,0BAA2BgC,IAEzC1N,MAAO,sBACPkF,UAAWqN,OAGbgE,IAA4BhE,KAC5B,UAAC,EAAA3C,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMxD,WAAS,EAAf,UACE,SAACwD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAI0B,MAAO,CAAExC,aAAc,IAA1C,UACE,sBAAUW,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,8CAGA,SAACwF,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE0O,EAAAA,EAAAA,IAAkB,CAChB9D,IAAK,MACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,cAElB5H,OAAO,YACP1B,GAAG,YACHsB,KAAK,YACLjF,MAAM,MACNoF,MAAOoG,EAAgB,WAAiB,GACxCvL,MAAOuW,EAAkBrD,IACzBhO,UAAWoN,KAEb,SAACS,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE0O,EAAAA,EAAAA,IAAkB,CAChB9D,IAAK,OACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,eAElB5H,OAAO,uBACP1B,GAAG,aACHsB,KAAK,aACLjF,MAAM,OACNoF,MAAOoG,EAAgB,YAAkB,GACzCvL,MAAOuW,EAAkBpD,KACzBjO,UAAWoN,YAKnB,SAACxP,EAAA,GAAD,CAAMxD,WAAS,EAAC4B,MAAO,CAAExC,aAAc,IAAvC,UACE,SAACoE,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,sBAAUH,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,mDAGA,SAACwF,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE2O,EAAAA,EAAAA,IAAkB,CAChB/D,IAAK,MACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,cAElB5H,OAAO,YACP1B,GAAG,YACHsB,KAAK,YACLjF,MAAM,MACNoF,MAAOoG,EAAgB,WAAiB,GACxCvL,MAAOwW,EAAkBtD,IACzBhO,UAAWoN,KAEb,SAACS,EAAA,EAAD,CACEhO,SAAU,SAACiO,EAAc5M,GACvBkC,GACE2O,EAAAA,EAAAA,IAAkB,CAChB/D,IAAK,OACL9M,SAAUA,EACVpG,MAAOgT,KAGXhG,EAAgB,eAElB5H,OAAO,uBACP1B,GAAG,aACHsB,KAAK,aACLjF,MAAM,OACNoF,MAAOoG,EAAgB,YAAkB,GACzCvL,MAAOwW,EAAkBrD,KACzBjO,UAAWoN,eAOvB,UAACxP,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,WACE,SAACsD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIP,QAASA,EAAQ2Q,aAApC,UACE,SAAClC,EAAA,EAAD,CACExH,KAAK,SACLkI,IAAI,IACJ1K,GAAG,WACHsB,KAAK,WACLD,SAAU,SAACoB,GACTsF,EAAY,WAAYtF,EAAEK,OAAOxG,OACjCgN,EAAgB,aAElBjN,MAAM,WACNC,MAAOqW,EACPnR,UAAQ,EACRC,MAAOoG,EAAgB,UAAgB,QAI3C,sBACElM,UAAWJ,EAAQqL,WACnBpJ,MAAO,CAAEW,UAAW,IAFtB,WAIE,mBAAQxC,UAAWJ,EAAQsO,gBAA3B,2CAGA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQwX,mBAAtC,UACE,iBACEpX,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQmX,qBADlD,WAGE,gBACE/W,UAAS,UAAKJ,EAAQ2Q,aAAb,YAA6B3Q,EAAQkX,aADhD,UAGE,SAACzI,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,gCACHsB,KAAK,gCACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAD,QAAC,UACPgL,GADM,IAETzK,UAAW7F,EAAEK,OAAOxG,SAEtBgN,EAAgB,kCAElBjN,MAAM,cACNC,MAAOyW,EAAmBzK,UAC1B9G,UAAQ,EACRC,MACEoG,EAAgB,+BAChB,GAEF6C,IAAI,SAGR,gBACE/O,UAAS,UAAKJ,EAAQ2Q,aAAb,YAA6B3Q,EAAQkX,aADhD,UAGE,SAACzI,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,iCACHsB,KAAK,iCACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAD,QAAC,UACPgL,GADM,IAETrK,WAAYjG,EAAEK,OAAOxG,SAEvBgN,EAAgB,mCAElBjN,MAAM,eACNC,MAAOyW,EAAmBrK,WAC1BlH,UAAQ,EACRC,MACEoG,EAAgB,gCAChB,GAEF6C,IAAI,SAGR,gBACE/O,UAAS,UAAKJ,EAAQ2Q,aAAb,YAA6B3Q,EAAQkX,aADhD,UAGE,SAACzI,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,8BACHsB,KAAK,8BACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAD,QAAC,UACPgL,GADM,IAETpK,QAASlG,EAAEK,OAAOxG,SAEpBgN,EAAgB,gCAElBjN,MAAM,UACNC,MAAOyW,EAAmBpK,QAC1BnH,UAAQ,EACRC,MACEoG,EAAgB,6BAAmC,GAErD6C,IAAI,cAKZ,mBACA,SAACtL,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKH,UAAWJ,EAAQkP,eAAxB,UACE,SAACX,EAAA,EAAD,CACExN,MAAM,iCACN0D,GAAG,mCACHsB,KAAK,mCACLyI,QAASgJ,EAAmBpI,aAC5BtJ,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,sBAAD,QAAC,UACPgL,GADM,IAETpI,aAAcZ,MAGlB1N,MAAO,6C,+CClD7B,IAAenC,EAAAA,EAAAA,IA9cA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX4M,cAAe,CACbN,WAAY,GACZzL,QAAS,OACTC,WAAY,SACZ,QAAS,CACP4F,SAAU,GACVxC,UAAW,IAEb,WAAY,CACVpC,WAAY,YAGhBsX,oBAAqB,CACnBvY,QAAS,QAEXwY,mBAAoB,CAClBxY,QAAS,OACTc,SAAU,SACVqS,KAAM,GAERsF,WAAY,CACVzY,QAAS,OACTC,WAAY,aACZiD,UAAW,GACX,oBAAqB,CACnBlD,QAAS,OACTc,SAAU,SACVb,WAAY,WACZgD,UAAW,oBAGfyV,iBAAkB,CAChB,oBAAqB,CACnB3Y,aAAc,IAGlB4Y,mBAAoB,CAClBlN,WAAY,GACZ,oBAAqB,CACnB1L,aAAc,IAGlByT,WAAY,CACVxT,QAAS,OACTC,WAAY,UAEd2Y,YAAa,CACX7Y,aAAc,GACdC,QAAS,SAERgM,EAAAA,IACAC,EAAAA,OAyZP,EAjZiB,SAAC,GAAiC,IAA/B3L,EAA8B,EAA9BA,QACZqJ,GAAWC,EAAAA,EAAAA,MAEXiP,GAAc7O,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO0M,SAASD,eAEpDE,GAAqB/O,EAAAA,EAAAA,KACzB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO0M,SAASC,sBAEpDC,GAAsBhP,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO0M,SAASE,uBAEpDC,GAAgBjP,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa+M,qBAEpCC,GAAcnP,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAagN,eAG1C,GAAgDzS,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KACA,GAA8BnG,EAAAA,EAAAA,WAAkB,GAAhD,eAAO0S,EAAP,KAAgBC,EAAhB,KACA,GAAsC3S,EAAAA,EAAAA,UACpC,IADF,eAAO4S,EAAP,KAAoBC,EAApB,KAGA,GAAoC7S,EAAAA,EAAAA,UAAuB,IAA3D,eAAO8S,EAAP,KAAmBC,EAAnB,KAGM3M,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CACbC,SAAU,WACVF,MAAOA,EACP3L,MAAOA,OAIb,CAACsI,KAGHS,EAAAA,EAAAA,YAAU,WACJgP,GACFjU,EAAAA,EAAAA,OACU,MADV,wBAEGuU,MAAK,SAACC,GACLN,GAAW,GACXE,EAAeI,GACf,IAAIvL,EAAqB,GACzB,IAAK,IAAIwL,KAAKD,EACZvL,EAAK2C,KAAK,CACR3P,MAAOwY,EACPvY,MAAOuY,IAGXH,EAAcrL,MAEfyL,OAAM,SAACC,GACNT,GAAW,GACX1P,GAASoQ,EAAAA,GAAAA,IAA0BD,IACnCP,EAAe,SAGpB,CAAC5P,EAAUyP,KAEdhP,EAAAA,EAAAA,YAAU,WACR,GAAI6O,EAAe,CACjB,IAIMe,EAJMf,EACTjB,QAAO,SAACiC,GAAD,MAAqB,KAAZA,EAAI1F,OACpBhQ,KAAI,SAAC0V,GAAD,gBAAYA,EAAI1F,IAAhB,YAAuB0F,EAAI5Y,UAC/B2W,QAAO,SAACkC,EAAKpJ,EAAGqJ,GAAT,OAAeA,EAAEC,QAAQF,KAASpJ,KAC7BuJ,KAAK,KACpBvN,EAAY,qBAAsBkN,MAEnC,CAACf,EAAenM,KAGnB1C,EAAAA,EAAAA,YAAU,WACR,IAAI+C,EAAyC,GAE7C,GAAoB,iBAAhB0L,EAAgC,CAClC,IAAI3K,GAAQ,EAENoM,EAAiBvB,EAAmBxQ,MAAM,KAElB,IAA1B+R,EAAe7U,QAAsC,KAAtB6U,EAAe,KAChDpM,GAAQ,GAGVoM,EAAeC,SAAQ,SAAC3Z,EAAc6D,GACpC,IAAM+V,EAAY5Z,EAAK2H,MAAM,KAEJ,IAArBiS,EAAU/U,SACZyI,GAAQ,GAGNzJ,EAAQ,IAAM6V,EAAe7U,SACV,KAAjB+U,EAAU,IAA8B,KAAjBA,EAAU,KACnCtM,GAAQ,OAKdf,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,SACV7G,UAAU,EACVlF,MAAO0X,EACPzL,kBAAmBY,EACnBV,wBACE,iDAKR,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvCxD,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,WACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CAACpE,EAAUkP,EAAaE,IAE3B,IAAM0B,EAAmB,SAAChW,EAAeuI,EAAe3L,GACtD,IAAMqZ,GAAe,kBAAQvB,EAAY1U,IAApB,eAA6BuI,EAAQ3L,IAE1DsI,GACEgR,EAAAA,EAAAA,IAAkB,CAChBlW,MAAOA,EACPmW,gBAAiBF,MAKvB,OACE,UAAClM,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,iBAAK/N,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,4BACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,8DAIF,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiY,oBAAtC,UACE,UAACpU,EAAA,GAAD,CAAMvD,MAAI,EAACF,UAAWJ,EAAQkY,mBAA9B,WACE,gBAAK9X,UAAWJ,EAAQc,MAAxB,mBACA,gBACEV,UAAS,UAAKJ,EAAQsO,gBAAb,YAAgCtO,EAAQua,kBADnD,sEAKA,SAAC1W,EAAA,GAAD,CAAMvD,MAAI,EAACF,UAAWJ,EAAQmY,WAA9B,UACE,SAAC7F,EAAA,EAAD,CACEC,iBAAkBgG,EAClB9T,GAAG,mBACHsB,KAAK,mBACLjF,MAAO,IACPgF,SAAU,SAACoB,GACTsF,EAAY,cAAetF,EAAEK,OAAOxG,QAEtC0R,gBAAiB,CACf,CAAE3R,MAAO,OAAQC,MAAO,QACxB,CAAED,MAAO,8BAA+BC,MAAO,WAC/C,CAAED,MAAO,gBAAiBC,MAAO,0BAM1B,iBAAhBwX,IACC,UAAC,EAAA7H,SAAD,YACE,mBACA,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,yBACN0D,GAAG,yBACHsB,KAAK,yBACLyI,QAASkK,EACT5S,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,sBAAuBgC,IAErC1N,MAAO,8BAGX,UAAC+C,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,WACE,oCACA,iBAAMH,UAAWJ,EAAQkG,MAAzB,SAAiCoG,EAAgB,UACjD,SAACzI,EAAA,GAAD,CAAMxD,WAAS,EAAf,SACGsY,GACCA,EAAc1U,KAAI,SAAC0V,EAAKnJ,GACtB,OACE,UAAC3M,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQsY,YAHrB,WAME,UAACzU,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQoY,iBAArC,UACGc,EAAW/T,OAAS,IACnB,SAACqV,GAAA,EAAD,CACE1U,SAAU,SAACoB,GACT,IAAMuT,EAASvT,EAAEK,OAAOxG,MAClB2Z,EAAuB,CAC3BzG,IAAKwG,EACL1Z,MAAOiY,EAAYyB,GAAQ,IAEvBE,GAAqB,OAAOhC,GAClCgC,EAAMnK,GAAKkK,EACXrR,GAASuR,EAAAA,EAAAA,IAAiBD,KAE5BlW,GAAG,uBACHsB,KAAK,uBACLjF,MAAO,GACPC,MAAO4Y,EAAI1F,IACX4G,QAAS3B,IAGU,IAAtBA,EAAW/T,SACV,SAACsJ,EAAA,EAAD,CACEhK,GAAE,2BAAsB+L,EAAExI,YAC1BlH,MAAO,GACPiF,KAAI,uBAAkByK,EAAExI,YACxBjH,MAAO4Y,EAAI1F,IACXnO,SAAU,SAACoB,GACT,IAAMyT,GAAqB,OAAOhC,GAClCgC,EAAMnK,GAAK,CACTyD,IAAK0G,EAAMnK,GAAGyD,IACdlT,MAAOmG,EAAEK,OAAOxG,OAElBsI,GAASuR,EAAAA,EAAAA,IAAiBD,KAE5BxW,MAAOqM,EACP9B,YAAa,YAInB,UAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQqY,mBAArC,UACGa,EAAW/T,OAAS,IACnB,SAACqV,GAAA,EAAD,CACE1U,SAAU,SAACoB,GACT,IAAMyT,GAAqB,OAAOhC,GAClCgC,EAAMnK,GAAK,CACTyD,IAAK0G,EAAMnK,GAAGyD,IACdlT,MAAOmG,EAAEK,OAAOxG,OAElBsI,GAASuR,EAAAA,EAAAA,IAAiBD,KAE5BlW,GAAG,uBACHsB,KAAK,uBACLjF,MAAO,GACPC,MAAO4Y,EAAI5Y,MACX8Z,QACE7B,EAAYW,EAAI1F,KACZ+E,EAAYW,EAAI1F,KAAKhQ,KAAI,SAAC6W,GACxB,MAAO,CAAEha,MAAOga,EAAG/Z,MAAO+Z,MAE5B,KAIa,IAAtB5B,EAAW/T,SACV,SAACsJ,EAAA,EAAD,CACEhK,GAAE,6BAAwB+L,EAAExI,YAC5BlH,MAAO,GACPiF,KAAI,uBAAkByK,EAAExI,YACxBjH,MAAO4Y,EAAI5Y,MACX+E,SAAU,SAACoB,GACT,IAAMyT,GAAqB,OAAOhC,GAClCgC,EAAMnK,GAAK,CACTyD,IAAK0G,EAAMnK,GAAGyD,IACdlT,MAAOmG,EAAEK,OAAOxG,OAElBsI,GAASuR,EAAAA,EAAAA,IAAiBD,KAE5BxW,MAAOqM,EACP9B,YAAa,cAInB,UAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQkT,WAArC,WACE,gBAAK9S,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP,IAAMmZ,GAAK,OAAOhC,GACdO,EAAW/T,OAAS,EACtBwV,EAAMlK,KAAK,CACTwD,IAAKiF,EAAW,GAAGnY,MACnBA,MAAOiY,EAAYE,EAAW,GAAGnY,OAAO,KAG1C4Z,EAAMlK,KAAK,CAAEwD,IAAK,GAAIlT,MAAO,KAG/BsI,GAASuR,EAAAA,EAAAA,IAAiBD,KAb9B,UAgBE,SAACvG,EAAA,EAAD,QAGHuE,EAAcxT,OAAS,IACtB,gBAAK/E,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP,IAAMmZ,EAAQhC,EAAcjB,QAC1B,SAACpX,EAAM6D,GAAP,OAAiBA,IAAUqM,KAE7BnH,GAASuR,EAAAA,EAAAA,IAAiBD,KAN9B,UASE,SAAC1L,EAAA,EAAD,aAxHV,0BAI0BuB,EAAExI,yBAgI1C,SAACnE,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiY,oBAAtC,UACE,UAACpU,EAAA,GAAD,CAAMvD,MAAI,EAACF,UAAWJ,EAAQkY,mBAA9B,WACE,yCACA,iBAAM9X,UAAWJ,EAAQkG,MAAzB,SACGoG,EAAgB,eAEnB,SAACzI,EAAA,GAAD,CAAMxD,WAAS,EAAf,SACGwY,GACCA,EAAY5U,KAAI,SAAC8W,EAAKvK,GAAO,IAAD,EAC1B,OACE,UAAC3M,EAAA,GAAD,CACEvD,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQsY,YAHrB,WAME,SAAC0C,GAAA,EAAD,CACEC,OAAQF,EAAIE,OACZC,eAAgB,SAACna,GACfoZ,EAAiB3J,EAAG,SAAUzP,IAEhCoa,cAAeJ,EAAI9G,IACnBmH,sBAAuB,SAACra,GACtBoZ,EAAiB3J,EAAG,MAAOzP,IAE7Bsa,SAAUN,EAAIM,SACdC,iBAAkB,SAACva,GACjBoZ,EAAiB3J,EAAG,WAAYzP,IAElCA,MAAOga,EAAIha,MACXwa,cAAe,SAACxa,GACdoZ,EAAiB3J,EAAG,QAASzP,IAE/Bya,mBAAmB,UAAAT,EAAIS,yBAAJ,eAAuBC,UAAW,EACrDC,gBAAiB,SAAC3a,GAChBoZ,EAAiB3J,EAAG,oBAAqB,CACvCiL,QAAS1a,KAGboD,MAAOqM,KAET,gBAAKpQ,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,WACP6H,GAASsS,EAAAA,EAAAA,QAEX3V,SAAUwK,IAAMqI,EAAY1T,OAAS,EALvC,UAOE,SAACiP,EAAA,EAAD,SAIJ,gBAAKhU,UAAWJ,EAAQyL,cAAxB,UACE,SAACrD,EAAA,EAAD,CACEI,KAAM,QACNhH,QAAS,kBAAM6H,GAASuS,EAAAA,EAAAA,IAAiBpL,KACzCxK,SAAU6S,EAAY1T,QAAU,EAHlC,UAKE,SAAC8J,EAAA,EAAD,UAjDN,0BAI0BuB,EAAExI,6B,wBC+C9C,IAAerJ,EAAAA,EAAAA,IAldA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACR4Q,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,OA8cP,EA3ce,SAAC,GAA+B,IAA7B3L,EAA4B,EAA5BA,QACVqJ,GAAWC,EAAAA,EAAAA,MAEXuS,GAAcnS,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAU8P,eAErDC,GAAYpS,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAU+P,aAErDC,GAAkBrS,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUgQ,mBAErDC,GAAgBtS,EAAAA,EAAAA,KACpB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUiQ,iBAErDC,GAAwBvS,EAAAA,EAAAA,KAC5B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUkQ,yBAElCC,GAAwBxS,EAAAA,EAAAA,KAC5B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUmQ,yBAGlCC,GAAmBzS,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUqQ,qBAErDhQ,GAAe1C,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUK,gBAErDiQ,GAAkB3S,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUuQ,oBAErDC,GAAsB7S,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUwQ,uBAGrDC,GAAuB9S,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUyQ,wBAGlCC,GAAgC/S,EAAAA,EAAAA,KACpC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU0Q,iCAElCC,GAAiBhT,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAU2Q,kBAErDC,GAAWjT,EAAAA,EAAAA,KACf,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAU4Q,YAErDC,GAAyBlT,EAAAA,EAAAA,KAC7B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU6Q,0BAElCC,GAA6BnT,EAAAA,EAAAA,KACjC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU8Q,8BAElCC,GAAiCpT,EAAAA,EAAAA,KACrC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU+Q,kCAElCC,GAAkBrT,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUgR,mBAErDC,GAAyBtT,EAAAA,EAAAA,KAC7B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUiR,0BAElCC,GAAsBvT,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUkR,uBAG3D,GAAgD7W,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAGMC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO3L,MAAOA,OAGjE,CAACsI,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAI+C,EAAyC,GAEzCsP,IACFtP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,2BACV7G,UAAU,EACVlF,MAAO+b,EACP9P,iBAAqD,KAAnC8P,EAClB5P,wBAAyB,yBAE3B,CACEJ,SAAU,yBACV7G,UAAU,EACVlF,MAAOyb,EACPxP,iBAC2B,KAAzBwP,GAA+BvP,SAASuP,IAAyB,EACnEtP,wBAAwB,yDAI1BmP,IACFxP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,2BACV7G,UAAU,EACVlF,MAAO0b,EACPzP,iBAAoD,KAAlCyP,EAClBvP,wBAAyB,yBAE3B,CACEJ,SAAU,yBACV7G,UAAU,EACVlF,MAAOwb,EACPvP,iBAC0B,KAAxBuP,GAA8BtP,SAASsP,IAAwB,EACjErP,wBAAwB,yDAK1B2O,IACFhP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,QACV7G,UAAU,EACVlF,MAAO+a,EACPvO,QAAS,wBACTC,qBAAsB,iDAExB,CACEV,SAAU,iBACV7G,UAAU,EACVlF,MAAO2b,EACPnP,QAAS,wBACTC,qBACE,oDAEJ,CACEV,SAAU,WACV7G,UAAU,EACVlF,MAAO4b,EACPpP,QAAS,wBACTC,qBAAsB,+CAExB,CACEV,SAAU,yBACV7G,UAAU,EACVlF,MAAO6b,EACPrP,QAAS,wBACTC,qBACE,sDAEJ,CACEV,SAAU,6BACV7G,UAAU,EACVlF,MAAO8b,EACPtP,QAAS,wBACTC,qBACE,qDAEJ,CACEV,SAAU,kBACV7G,UAAU,EACVlF,MAAOgc,EACPxP,QAAS,wBACTC,qBACE,sDAEJ,CACEV,SAAU,yBACV7G,UAAU,EACVlF,MAAOic,EACPzP,QAAS,wBACTC,qBACE,uDAEJ,CACEV,SAAU,sBACV7G,UAAU,EACVlF,MAAOkc,EACP1P,QAAS,wBACTC,qBACE,uDAGFuO,IACFlP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,WACV7G,UAAU,EACVlF,MAAOib,GAET,CACElP,SAAU,mBACV7G,UAAU,EACVlF,MAAOkb,GAET,CACEnP,SAAU,mBACV7G,UAAU,EACVlF,MAAOmb,OAMf,IAAMzO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvCxD,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDoO,EACAC,EACAY,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAlB,EACAC,EACAC,EACAC,EACA7S,EACA8S,EACA/P,EACAiQ,EACAS,EACAN,EACAC,EACAF,IAGF,IAAMxO,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAACE,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,iBAAK/N,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,+BACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,oFAKF,UAAC,EAAAoC,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,QACHsB,KAAK,QACLD,SAAU,SAACoB,GACTsF,EAAY,YAAatF,EAAEK,OAAOxG,OAClCgN,EAAgB,UAElBjN,MAAM,QACNC,MAAO+a,EACP5V,MAAOoG,EAAgB,OAAa,GACpCoC,YAAY,qDAIhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,WACHsB,KAAK,WACLD,SAAU,SAACoB,GACTsF,EAAY,WAAYtF,EAAEK,OAAOxG,OACjCgN,EAAgB,aAElBjN,MAAM,MACNC,MAAO4b,EACPzW,MAAOoG,EAAgB,UAAgB,GACvCoC,YAAY,8BAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,0CAEF,SAAC9M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,iBACHsB,KAAK,iBACLD,SAAU,SAACoB,GACTsF,EAAY,iBAAkBtF,EAAEK,OAAOxG,OACvCgN,EAAgB,mBAElBjN,MAAM,MACNC,MAAO2b,EACPxW,MAAOoG,EAAgB,gBAAsB,GAC7CoC,YAAY,mCAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,yBACHsB,KAAK,yBACLD,SAAU,SAACoB,GACTsF,EAAY,yBAA0BtF,EAAEK,OAAOxG,OAC/CgN,EAAgB,2BAElBjN,MAAM,aACNC,MAAO6b,EACP1W,MAAOoG,EAAgB,wBAA8B,GACrDoC,YAAY,gCAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,6BACHsB,KAAK,6BACLD,SAAU,SAACoB,GACTsF,EAAY,6BAA8BtF,EAAEK,OAAOxG,OACnDgN,EAAgB,+BAElBjN,MAAM,kBACNC,MAAO8b,EACP3W,MAAOoG,EAAgB,4BAAkC,GACzDoC,YAAY,mCAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,0CAEF,SAAC9M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,kBACHsB,KAAK,kBACLD,SAAU,SAACoB,GACTsF,EAAY,kBAAmBtF,EAAEK,OAAOxG,OACxCgN,EAAgB,oBAElBjN,MAAM,aACNC,MAAOgc,EACP7W,MAAOoG,EAAgB,iBAAuB,GAC9CoC,YAAY,iDAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,yBACHsB,KAAK,yBACLD,SAAU,SAACoB,GACTsF,EAAY,yBAA0BtF,EAAEK,OAAOxG,OAC/CgN,EAAgB,2BAElBjN,MAAM,qBACNC,MAAOic,EACP9W,MAAOoG,EAAgB,wBAA8B,GACrDoC,YAAY,iDAGhB,SAAC7K,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,sBACHsB,KAAK,sBACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAuBtF,EAAEK,OAAOxG,OAC5CgN,EAAgB,wBAElBjN,MAAM,kBACNC,MAAOkc,EACP/W,MAAOoG,EAAgB,qBAA2B,GAClDoC,YAAY,mDAKjBmN,IACC,UAAC,EAAAnL,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,yDAEF,SAAC9M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAACpC,EAAA,EAAD,CACExN,MAAM,oBACN0D,GAAG,oBACHsB,KAAK,oBACLyI,QAASuN,EACTjW,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,kBAAmBgC,IAEjC1N,MAAO,0CAKdib,IACC,UAAC,EAAArL,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,WACHsB,KAAK,WACLD,SAAU,SAACoB,GACTsF,EAAY,gBAAiBtF,EAAEK,OAAOxG,QAExCD,MAAM,WACNC,MAAOib,EACP9V,MAAOoG,EAAgB,UAAgB,GACvCoC,YAAY,mCACZzI,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,mBACHsB,KAAK,mBACLD,SAAU,SAACoB,GACTsF,EAAY,wBAAyBtF,EAAEK,OAAOxG,QAEhDD,MAAM,WACNC,MAAOkb,EACP/V,MAAOoG,EAAgB,kBAAwB,GAC/CrG,UAAQ,OAGZ,SAACpC,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,mBACHsB,KAAK,mBACLD,SAAU,SAACoB,GACTsF,EAAY,wBAAyBtF,EAAEK,OAAOxG,QAEhDD,MAAM,WACNC,MAAOmb,EACPhW,MAAOoG,EAAgB,kBAAwB,GAC/CrG,UAAQ,e,8FC9XtB,IAAetH,EAAAA,EAAAA,IAnFA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXqe,SAAU,CACR3X,SAAU,QACVC,WAAY,SACZ2X,SAAU,eAETzR,EAAAA,IACA5C,EAAAA,OA2EP,EAjE0B,SAAC,GAKL,IAJpB9I,EAImB,EAJnBA,QACAod,EAGmB,EAHnBA,UACAC,EAEmB,EAFnBA,iBACAC,EACmB,EADnBA,iCAEMjU,GAAWC,EAAAA,EAAAA,MACjB,GACElD,EAAAA,EAAAA,WAAkB,GADpB,eAAOmX,EAAP,KAA4BC,EAA5B,MAGA1T,EAAAA,EAAAA,YAAU,WACJyT,GACF1Y,EAAAA,EAAAA,OACU,OAAQ,oBAAqB,CACnCkB,KAAMqX,IAEPhE,MAAK,SAACC,GACLmE,GAAuB,GACvBF,GAAiC,MAElC/D,OAAM,SAACC,GACNgE,GAAuB,GACvBnU,GAASoU,EAAAA,GAAAA,IAAqBjE,SAGnC,CACD+D,EACAD,EACAF,EACA/T,IAOF,OACE,SAACqU,GAAA,EAAD,CACExd,MAAK,gBACLyd,YAAa,SACbC,mBAAoB,CAClBrb,MAAO,UACP2C,QAAS,aAEX2Y,OAAQR,EACRzZ,WAAW,SAAC,OAAD,IACXka,UAAWP,EACXQ,UAfiB,WACnBP,GAAuB,IAerB7Z,QAAS,WACP2Z,GAAiC,IAEnCU,qBACE,UAAC,WAAD,WACGT,IAAuB,SAACU,EAAA,EAAD,KACxB,UAACC,GAAA,EAAD,8DAEE,mBACA,cAAG9d,UAAWJ,EAAQkd,SAAtB,SAAiCE,IAHnC,e,4DCmIV,IAAeze,EAAAA,EAAAA,IAtMA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXC,KAAM,CACJ0D,OAAQ,GAEV2b,MAAO,CACL,uBAAwB,CACtB5e,SAAU,MAGXmM,EAAAA,IACAC,EAAAA,OA2LP,EAxLoB,SAAC,GAAoC,IAAlC3L,EAAiC,EAAjCA,QACfoe,GAAQ1U,EAAAA,EAAAA,KACZ,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOuS,WAAWD,SAEtDE,GAAa5U,EAAAA,EAAAA,KACjB,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOuS,WAAWE,0BAEnCC,GAAW9U,EAAAA,EAAAA,KACf,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOuS,WAAWG,YAGtDC,GAAe/U,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOuS,WAAWI,gBAEtDC,GAAehV,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOuS,WAAWK,gBAGtDC,GAAWjV,EAAAA,EAAAA,KACf,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOuS,WAAWO,uBAEnCC,GAAuBnV,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOuS,WAAWQ,wBAGnCC,EAAoBJ,EAAaK,eAAeC,MACpD,SAACnd,GAAD,OAAaA,EAAQod,cAAgBT,KAGvC,OACE,iBAAKpe,UAAWJ,EAAQlB,KAAxB,WACE,iDACA,SAACogB,GAAA,EAAD,KACA,SAACC,GAAA,EAAD,CAAO/e,UAAWJ,EAAQme,MAAO,aAAW,eAAe3V,KAAM,QAAjE,UACE,UAAC4W,GAAA,EAAD,YACE,UAACC,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,gCACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACGvS,SAASmR,GAAS,EAAIA,EAAQ,SAGK,KAAvCS,EAAqBY,eACkB,KAAtCZ,EAAqBa,eACnB,UAAC,EAAAhP,SAAD,YACE,UAAC2O,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,gCACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACGf,EAAeA,EAAakB,MAAQ,UAGzC,UAACN,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,6BACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACGf,GAAemB,EAAAA,EAAAA,IAAUnB,EAAaoB,QAAU,aAM3D,UAACR,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,4BACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACGf,EAAeA,EAAaqB,kBAAoB,SAGb,KAAvCjB,EAAqBY,eACkB,KAAtCZ,EAAqBa,eACnB,UAAC,EAAAhP,SAAD,YACE,UAAC2O,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,8BACA,UAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,UAA0BlB,EAA1B,aAEF,UAACe,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK2M,MAAM,MAA7C,4BAGA,SAACD,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK4M,MAAM,QAA7C,SACGb,eAOS,IAAvBD,EAAaxY,OAAe4Y,IAC3B,UAAC,EAAApO,SAAD,YACE,wDACA,SAACwO,GAAA,EAAD,KACA,SAACC,GAAA,EAAD,CACE/e,UAAWJ,EAAQme,MACnB,aAAW,eACX3V,KAAM,QAHR,UAKE,UAAC4W,GAAA,EAAD,YACE,UAACC,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,wBACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACgB,KAAbhB,EAAkBA,EAAW,UAGlC,UAACa,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,2BACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,UACGI,EAAAA,EAAAA,IAAUlB,EAAaqB,mBAG5B,UAACV,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,8BACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,UACGI,EAAAA,EAAAA,IAAUd,EAAkBkB,mBAGjC,UAACX,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK2M,MAAM,MAA7C,wCAGA,SAACD,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK4M,MAAM,QAA7C,SACGf,EACGwB,KAAKC,MACHpB,EAAkBqB,sBAChB1B,EAAakB,OAEjB,iBAOwB,KAAvCd,EAAqBY,eACkB,KAAtCZ,EAAqBa,eACnB,UAAC,EAAAhP,SAAD,YACE,2DACA,SAACwO,GAAA,EAAD,KACA,SAACC,GAAA,EAAD,CACE/e,UAAWJ,EAAQme,MACnB,aAAW,eACX3V,KAAM,QAHR,UAKE,UAAC4W,GAAA,EAAD,YACE,UAACC,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,kBACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACgC,IAA7BX,EAAqBuB,IAClBvB,EAAqBuB,IACrB,UAGR,UAACf,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,qBACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACmC,IAAhCX,EAAqBwB,OAArB,UACMxB,EAAqBwB,OAD3B,OAEG,UAGR,UAAChB,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWC,MAAM,MAAjB,gCACA,SAACD,GAAA,EAAD,CAAWE,MAAM,QAAjB,SAC4C,IAAzCX,EAAqByB,gBAArB,UACMzB,EAAqByB,iBACxB,UAGR,UAACjB,GAAA,EAAD,YACE,SAACC,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK2M,MAAM,MAA7C,yBAGA,UAACD,GAAA,EAAD,CAAWrd,MAAO,CAAE2Q,aAAc,GAAK4M,MAAM,QAA7C,UACGX,EAAqB0B,UAAUA,UAC/B1B,EAAqB0B,UAAUC,6B,oCCqKpD,IAAe7hB,EAAAA,EAAAA,IAtUA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,wBACX4hB,YAAa,CACXrf,SAAU,QACV+J,WAAY,GACZxK,WAAY,UACZ5B,OAAQ,oBACR0B,QAAS,IAERgP,EAAAA,IACA/D,EAAAA,IACAC,EAAAA,OA2TP,EAnTuB,SAAC,GAAsD,IAApD3L,EAAmD,EAAnDA,QAAS0gB,EAA0C,EAA1CA,aAC3BrX,GAAWC,EAAAA,EAAAA,MAEXqX,GAAajX,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO8U,WAAWD,cAEtDvD,GAAY1T,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO8U,WAAWxD,aAEtDyD,GAAuBnX,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO8U,WAAWC,wBAEnCC,GAAsBpX,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO8U,WAAWE,uBAEnCC,GAAiBrX,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAakV,kBAEpCC,GAAWtX,EAAAA,EAAAA,IAAYuX,GAAAA,IAE7B,GAAgD7a,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KACA,GAA4CnG,EAAAA,EAAAA,WAAkB,GAA9D,eAAO8a,EAAP,KAAuBC,EAAvB,KACA,GACE/a,EAAAA,EAAAA,WAAkB,GADpB,eAAOgb,EAAP,KAA6BC,EAA7B,KAEA,GAAgDjb,EAAAA,EAAAA,WAAkB,GAAlE,eAAOkb,EAAP,KAAyBC,EAAzB,KACA,GAAgDnb,EAAAA,EAAAA,WAAkB,GAAlE,eAAOob,EAAP,KAAyBC,EAAzB,KAGMjV,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO3L,MAAOA,OAGlE,CAACsI,IAIGqY,GAA0BjV,EAAAA,EAAAA,cAAY,WAC1C8U,GAAoB,GAEpB1c,EAAAA,EAAAA,OACU,MADV,6BACuCuY,EADvC,aAEGhE,MAAK,SAACC,GACL,IAAMsI,EAAcpe,GAAAA,CAAI8V,EAAK,UAAW,IAExC,GAAIsI,GAAeA,EAAYxc,OAAS,EAGtC,OAFAgc,GAAkB,QAClBE,GAAwB,GAG1BF,GAAkB,GAGlBtc,EAAAA,EAAAA,OAEI,MAFJ,6BAG0BuY,EAH1B,2BAGsDA,EAHtD,kBAKGhE,MAAK,SAACC,GACL,IAAMuI,EAA4Bre,GAAAA,CAAI8V,EAAK,WAAY,IACvDhQ,GAASwY,EAAAA,EAAAA,KAAaC,EAAAA,GAAAA,IAAczI,KAEpC,IAAM0I,EAAaH,EAAS3d,KAAI,SAACyb,GAC/B,IAAM3Z,EAAOxC,GAAAA,CAAImc,EAAc,OAAQ,IAAIzX,MACzC,iDACA,GAEF,MAAO,CAAEnH,MAAOiF,EAAMhF,MAAOgF,MAG/BsD,GAAS2Y,EAAAA,EAAAA,IAAsBD,IAE/B,IAAME,EAAWF,EAAWG,WAC1B,SAACxC,GAAD,OAAkBA,EAAa3e,QAAU8f,KAGvCkB,EAAW5c,OAAS,IAAmB,IAAd8c,EAC3BzV,EAAY,uBAAwBuV,EAAW,GAAGhhB,OACnB,IAAtBghB,EAAW5c,SACpBqH,EAAY,uBAAwB,IACpCnD,GAAS2Y,EAAAA,EAAAA,IAAsB,MAEjCX,GAAwB,MAEzB9H,OAAM,SAACC,GACN6H,GAAwB,GACxBE,GAAoB,GACpB/U,EAAY,uBAAwB,IACpCnD,GAAS2Y,EAAAA,EAAAA,IAAsB,KAC/BG,QAAQjc,MAAM,oBAAqBsT,SAGxCD,OAAM,SAACC,GACNnQ,GACEoQ,EAAAA,GAAAA,IAA0B,CACxB9Q,aAAc,oDACdyZ,cAAe5I,EAAI4I,sBAI1B,CAAChF,EAAW/T,EAAUmD,EAAaqU,IAEhCwB,GAAoBC,EAAAA,EAAAA,UACxB,kBAAMC,IAAAA,CAASb,EAAyB,OACxC,CAACA,KAGH5X,EAAAA,EAAAA,YAAU,WACR,GAAkB,KAAdsT,EAKF,OAJAiF,IACAhB,GAAwB,GAGjBgB,EAAkBG,SAE1B,CAACH,EAAmBjF,KAGvBtT,EAAAA,EAAAA,YAAU,WACR,IAAI2Y,GAAuB,EACvB9Z,EAAe,GAEduY,GAAmBE,EAItBL,EAAe5b,OAAS,GACxB+b,IACCE,IAEDqB,GAAuB,EACvB9Z,EAAe,mCARf8Z,GAAuB,EACvB9Z,EAAe,gDAUjB,IAAM+Z,GAAmBhV,EAAAA,EAAAA,GAAqB,CAC5C,CACEZ,SAAU,cACV7G,UAAU,EACVsH,QAAS,oBACTC,qBACE,2EACFzM,MAAO4f,GAET,CACE7T,SAAU,YACV7G,UAAU,EACVlF,MAAOqc,EACPpQ,iBAAkByV,EAClBvV,wBAAyBvE,KAIvBga,IACF,gBAAiBD,MACjB,cAAeA,KACfhC,IAAiBkC,GAAAA,GAAAA,SAAmB7B,EAAe5b,OAAS,GAC3Dub,IAAiBkC,GAAAA,GAAAA,SAA2C,KAAxB9B,GAEzCzX,GAASsE,EAAAA,EAAAA,IAAY,CAAEf,SAAU,aAAcgB,MAAO+U,KAEtDpW,EAAoBmW,KACnB,CACD3B,EACA3D,EACAuD,EACAtX,EACA6X,EACAE,EACAN,EACAJ,IAGF,IAAMmC,EAAuB,SAAC7U,GAC5BzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAe7D,OACE,UAAC,EAAA0C,SAAD,WACG8Q,IACC,SAAC,GAAD,CACEnE,iBAAkBmE,EAClBlE,iCAbkB,SAACwF,GACzBrB,GAAoB,GAEhBqB,GACFT,KAUIjF,UAAWA,KAGf,UAACvZ,EAAA,GAAD,CAAMxD,WAAS,EAAf,WACE,SAACwD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGwiB,GAAI,EAAtB,UACE,SAAC7U,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAAc6U,GAAI,CAAEC,UAAW,KAAzD,UACE,UAACpf,EAAA,GAAD,CAAMxD,WAAS,EAAf,WACE,UAACwD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,WACE,iBAAKH,UAAWJ,EAAQoO,cAAxB,WACE,eAAIhO,UAAWJ,EAAQqO,UAAvB,mBACA,iBAAMjO,UAAWJ,EAAQsO,gBAAzB,6DAIF,gBAAKlO,UAAWJ,EAAQ2Q,aAAxB,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,cACHsB,KAAK,cACLD,SAAU,SAACoB,GACTsF,EAAY,aAActF,EAAEK,OAAOxG,OACnC8hB,EAAqB,gBAEvB/hB,MAAM,OACNC,MAAO4f,EACP1a,UAAQ,EACRC,MAAOoG,EAAiB,gBAAkB,WAIhD,SAACzI,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAClC,EAAA,EAAD,CACEhK,GAAG,YACHsB,KAAK,YACLD,SAAU,SAACoB,GACTsF,EAAY,YAAatF,EAAEK,OAAOxG,OAClC8hB,EAAqB,cAEvB/hB,MAAM,YACNC,MAAOqc,EACPlX,MAAOoG,EAAgB,WAAiB,GACxC4W,UAAW,gBACXC,YAAa7B,GAAmB,SAAClN,EAAA,EAAD,IAAc,KAC9C3I,cA5DK,WACnBgW,GAAoB,IA4DNxb,UAAQ,MAGXya,IAAiBkC,GAAAA,GAAAA,SAChB,SAAC/e,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAC6J,GAAA,EAAD,CACE/V,GAAG,gBACHsB,KAAK,gBACLD,SAAU,SAACoB,GACTsF,EACE,uBACAtF,EAAEK,OAAOxG,QAGbD,MAAM,gBACNC,MAAO8f,EACPhG,QAASkG,EACT/a,SAAU+a,EAAe5b,OAAS,OAItC,SAACtB,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Q,aAAtC,UACE,SAAC6J,GAAA,EAAD,CACE/V,GAAG,eACHsB,KAAK,eACLD,SAAU,SAACoB,IACTkc,EAAAA,EAAAA,IAAe,CACbC,YAAanc,EAAEK,OAAOxG,MACtBigB,SAAUA,KAGdlgB,MAAOyC,GAAAA,CACL+f,GAAAA,GADQ,UAEL5C,EAFK,yBAGR,gBAEF3f,MAAO+f,EACPjG,QAAStX,GAAAA,CACP+f,GAAAA,GADU,UAEP5C,EAFO,0BAGV,QAKPA,IAAiBkC,GAAAA,GAAAA,SAChB,SAACW,GAAA,EAAD,IAEAhgB,GAAAA,CACE+f,GAAAA,GADC,UAEE5C,EAFF,oBAGD,cAMV,SAAC7c,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAGwiB,GAAI,EAAtB,UACE,gBAAK3iB,UAAWJ,EAAQygB,YAAxB,UACE,SAAC,GAAD,iBCxUZ,GA/BwB,WACtB,IAAMO,GAAWtX,EAAAA,EAAAA,IAAYuX,GAAAA,IAC7B,GAAoC7a,EAAAA,EAAAA,UAAyB,MAA7D,eAAOod,EAAP,KAAmBC,EAAnB,KAsBA,OApBA3Z,EAAAA,EAAAA,YAAU,WACR,IAAI4Z,EAAmBd,GAAAA,GAAAA,QAEnB5B,GAAgC,IAApBA,EAAS7b,QACG0I,OAAOC,KAAK6V,GAAAA,IAEpB1J,SAAQ,SAACpY,GACrBmf,EAAS4C,SAAS/hB,KACpB6hB,EAAmBngB,GAAAA,CACjBogB,GAAAA,GACA9hB,EACA+gB,GAAAA,GAAAA,aAMRa,EAAcC,KACb,CAAC1C,IAEe,OAAfwC,EACK,MAGF,SAAC,GAAD,CAAgB9C,aAAc8C,K,YCufvC,IAAe7kB,EAAAA,EAAAA,IA9fA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXoM,kBAAmB,CACjBrL,YAAa,GAEb,oBAAqB,CACnBb,OAAQ,kBAGZsM,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERnM,WAAY,GACZM,aAAc,KAEhB8L,sBAAuB,CACrB,4BAA6B,CAC3B/K,SAAU,SACVb,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAKnBikB,uBAAwB,CACtB1Y,WAAY,GACZ1K,QAAS,GACTX,MAAO,MACP0C,OAAQ,QAEVshB,cAAe,CACblhB,UAAW,KAEV8I,EAAAA,IACAC,EAAAA,OA0dP,EAvdwB,SAAC,GAAkC,IAAhC3L,EAA+B,EAA/BA,QACnBqJ,GAAWC,EAAAA,EAAAA,MAEXyX,GAAiBrX,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAakV,kBAEpCzE,GAAmB5S,EAAAA,EAAAA,KACvB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUuQ,oBAErDC,GAAsB7S,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUwQ,uBAErDE,GAAgC/S,EAAAA,EAAAA,KACpC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU0Q,iCAElCC,GAAiBhT,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAU2Q,kBAErDE,GAAyBlT,EAAAA,EAAAA,KAC7B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU6Q,0BAElCC,GAA6BnT,EAAAA,EAAAA,KACjC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU8Q,8BAElCgE,GAAuBnX,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO8U,WAAWC,wBAEnCxU,GAAwB3C,EAAAA,EAAAA,KAC5B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUM,yBAElC0X,GAA2Bra,EAAAA,EAAAA,KAC/B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUgY,4BAElCC,GAAmCta,EAAAA,EAAAA,KACvC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUiY,oCAGxC,GAAgD5d,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEM0X,EAAkB,CACtB,CAAEnjB,MAAO,UAAWC,MAAO,YADL,eAEnBggB,IAICvU,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO3L,MAAOA,OAGjE,CAACsI,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAI+C,EAAyC,GAEzCyP,IACFzP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,2BACV7G,UAAU,EACVlF,MAAO0b,EACPzP,iBAAoD,KAAlCyP,EAClBvP,wBAAyB,yBAE3B,CACEJ,SAAU,yBACV7G,UAAU,EACVlF,MAAOwb,EACPvP,iBAC0B,KAAxBuP,GAA8BtP,SAASsP,IAAwB,EACjErP,wBAAwB,sDAE1B,CACEJ,SAAU,sCACV7G,UAAU,EACVlF,MAAOgjB,EAAyBhX,UAChCC,iBACyC,KAAvC+W,EAAyBhX,WACzBE,SAAS8W,EAAyBhX,WAAa,EACjDG,wBAAwB,8CAE1B,CACEJ,SAAU,uCACV7G,UAAU,EACVlF,MAAOgjB,EAAyB5W,WAChCH,iBAC0C,KAAxC+W,EAAyB5W,YACzBF,SAAS8W,EAAyB5W,YAAc,EAClDD,wBAAwB,+CAE1B,CACEJ,SAAU,oCACV7G,UAAU,EACVlF,MAAOgjB,EAAyB3W,QAChCJ,iBACuC,KAArC+W,EAAyB3W,SACzBH,SAAS8W,EAAyB3W,SAAW,EAC/CF,wBAAwB,4CAE1B,CACEJ,SAAU,qCACV7G,UAAU,EACVlF,MAAOijB,EAAiCjX,UACxCC,iBACiD,KAA/CgX,EAAiCjX,WACjCE,SAAS+W,EAAiCjX,WAAa,EACzDG,wBAAwB,8CAE1B,CACEJ,SAAU,sCACV7G,UAAU,EACVlF,MAAOgjB,EAAyB5W,WAChCH,iBACkD,KAAhDgX,EAAiC7W,YACjCF,SAAS+W,EAAiC7W,YAAc,EAC1DD,wBAAwB,+CAE1B,CACEJ,SAAU,mCACV7G,UAAU,EACVlF,MAAOijB,EAAiC5W,QACxCJ,iBAC+C,KAA7CgX,EAAiC5W,SACjCH,SAAS+W,EAAiC5W,SAAW,EACvDF,wBAAwB,+CAK9B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvCxD,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDiP,EACAE,EACAC,EACAxT,EACAiT,EACAG,EACAF,EACAlQ,EACA0X,EACAC,KAGFla,EAAAA,EAAAA,YAAU,WAEJiX,EAAe5b,OAAS,IAIK,IAHP4b,EAAerJ,QACrC,SAACpX,GAAD,OAAeA,EAAKS,QAAU0b,KAEZtX,QAClBqH,EAAY,gCAAiC,cAGhD,CACDiQ,EACAoE,EACAE,EACAvU,IAGF,IAAMuB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAACE,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,UAACtK,EAAA,GAAD,CAAMxD,WAAS,EAACV,WAAY,SAA5B,WACE,SAACkE,EAAA,GAAD,CAAMvD,MAAI,EAACC,IAAE,EAAb,UACE,SAAC,EAAD,2BAEF,SAACsD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAf,UACE,SAACgO,EAAA,EAAD,CACExN,MAAM,gBACN0D,GAAG,gBACHsB,KAAK,gBACLyI,QAAS8N,EACTxW,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,mBAAoBgC,IAElCqJ,gBAAiB,CAAC,UAAW,oBAInC,UAAChU,EAAA,GAAD,CAAMxD,WAAS,EAACqT,QAAS,EAAzB,WACE,SAAC7P,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,iBAAMH,UAAWJ,EAAQsO,gBAAzB,yGAKF,SAACzK,EAAA,GAAD,CAAMtD,GAAI,GAAV,UACE,eAAIH,UAAWJ,EAAQ8X,YAExBwE,IACC,UAAC,EAAA5L,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACia,GAAA,EAAD,CACE/V,GAAG,2BACHsB,KAAK,2BACLD,SAAU,SAACoB,GACTsF,EACE,gCACAtF,EAAEK,OAAOxG,QAGbD,MAAM,2BACNC,MAAO0b,EACP5B,QAASoJ,EACTje,SAAUie,EAAmB9e,OAAS,OAG1C,SAACtB,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKH,UAAWJ,EAAQkP,eAAxB,UACE,SAACT,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,yBACHsB,KAAK,yBACLD,SAAU,SAACoB,GACTsF,EAAY,sBAAuBtF,EAAEK,OAAOxG,OAC5CgN,EAAgB,2BAElBjN,MAAM,eACNojB,eACE,SAACC,GAAA,EAAD,CACE1f,GAAI,YACJ2f,aAAc,aACdC,aAAc,KACdC,UAAW,CAAC,CAAExjB,MAAO,KAAMC,MAAO,OAClCiF,UAAU,IAGdjF,MAAOwb,EACPtW,UAAQ,EACRC,MAAOoG,EAAgB,wBAA8B,GACrD6C,IAAI,WAKV,sBACE/O,UAAS,UAAKJ,EAAQqL,WAAb,YAA2BrL,EAAQ8jB,eAD9C,WAGE,mBAAQ1jB,UAAWJ,EAAQsO,gBAA3B,4CAIA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,iBACEH,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQuL,uBADlD,WAGE,gBAAKnL,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,sCACHsB,KAAK,sCACLD,SAAU,SAACoB,GACTsF,EAAY,4BAAD,QAAC,UACPuX,GADM,IAEThX,UAAW7F,EAAEK,OAAOxG,SAEtBgN,EAAgB,wCAElBjN,MAAM,cACNC,MAAOgjB,EAAyBhX,UAChC9G,UAAQ,EACRC,MACEoG,EAAgB,qCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,uCACHsB,KAAK,uCACLD,SAAU,SAACoB,GACTsF,EAAY,4BAAD,QAAC,UACPuX,GADM,IAET5W,WAAYjG,EAAEK,OAAOxG,SAEvBgN,EAAgB,yCAElBjN,MAAM,eACNC,MAAOgjB,EAAyB5W,WAChClH,UAAQ,EACRC,MACEoG,EAAgB,sCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,oCACHsB,KAAK,oCACLD,SAAU,SAACoB,GACTsF,EAAY,4BAAD,QAAC,UACPuX,GADM,IAET3W,QAASlG,EAAEK,OAAOxG,SAEpBgN,EAAgB,sCAElBjN,MAAM,UACNC,MAAOgjB,EAAyB3W,QAChCnH,UAAQ,EACRC,MACEoG,EAAgB,mCAChB,GAEF6C,IAAI,cAKZ,mBACA,SAACtL,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKH,UAAWJ,EAAQkP,eAAxB,UACE,SAACX,EAAA,EAAD,CACExN,MAAM,uCACN0D,GAAG,yCACHsB,KAAK,yCACLyI,QAASuV,EAAyB3U,aAClCtJ,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,4BAAD,QAAC,UACPuX,GADM,IAET3U,aAAcZ,MAGlB1N,MAAO,+BAKf,sBAAUV,UAAWJ,EAAQqL,WAA7B,WACE,mBAAQjL,UAAWJ,EAAQsO,gBAA3B,6CAIA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,iBACEH,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQuL,uBADlD,WAGE,gBAAKnL,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,qCACHsB,KAAK,qCACLD,SAAU,SAACoB,GACTsF,EAAY,oCAAD,QAAC,UACPwX,GADM,IAETjX,UAAW7F,EAAEK,OAAOxG,SAEtBgN,EAAgB,uCAElBjN,MAAM,cACNC,MAAOijB,EAAiCjX,UACxC9G,UAAQ,EACRC,MACEoG,EAAgB,oCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,sCACHsB,KAAK,sCACLD,SAAU,SAACoB,GACTsF,EAAY,oCAAD,QAAC,UACPwX,GADM,IAET7W,WAAYjG,EAAEK,OAAOxG,SAEvBgN,EAAgB,wCAElBjN,MAAM,eACNC,MAAOijB,EAAiC7W,WACxClH,UAAQ,EACRC,MACEoG,EAAgB,qCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,mCACHsB,KAAK,mCACLD,SAAU,SAACoB,GACTsF,EAAY,oCAAD,QAAC,UACPwX,GADM,IAET5W,QAASlG,EAAEK,OAAOxG,SAEpBgN,EAAgB,qCAElBjN,MAAM,UACNC,MAAOijB,EAAiC5W,QACxCnH,UAAQ,EACRC,MACEoG,EAAgB,kCAChB,GAEF6C,IAAI,cAKZ,mBACA,SAACtL,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKH,UAAWJ,EAAQkP,eAAxB,UACE,SAACX,EAAA,EAAD,CACExN,MAAM,sCACN0D,GAAG,wCACHsB,KAAK,wCACLyI,QAASwV,EAAiC5U,aAC1CtJ,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,oCAAD,QAAC,UACPwX,GADM,IAET5U,aAAcZ,MAGlB1N,MAAO,0CCtH3B,IAAenC,EAAAA,EAAAA,IA3XA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXoM,kBAAmB,CACjBrL,YAAa,GAEb,oBAAqB,CACnBb,OAAQ,kBAGZsM,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERnM,WAAY,GACZM,aAAc,KAEhB8L,sBAAuB,CACrB,4BAA6B,CAC3B/K,SAAU,SACVb,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAInBkkB,cAAe,CACblhB,UAAW,IAEb2hB,wBAAyB,CACvBpZ,WAAY,GACZ1K,QAAS,GACTX,MAAO,MACP0C,OAAQ,SAEPkJ,EAAAA,IACAC,EAAAA,OAwVP,EArVyB,SAAC,GAAkC,IAAhC3L,EAA+B,EAA/BA,QACpBqJ,GAAWC,EAAAA,EAAAA,MAEXyX,GAAiBrX,EAAAA,EAAAA,KACrB,SAACC,GAAD,OAAqBA,EAAMkC,aAAakV,kBAEpC3E,GAAoB1S,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUqQ,qBAErDI,GAAuB9S,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUyQ,wBAElCM,GAAiCpT,EAAAA,EAAAA,KACrC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAU+Q,kCAElCC,GAAkBrT,EAAAA,EAAAA,KACtB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUgR,mBAErDC,GAAyBtT,EAAAA,EAAAA,KAC7B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUiR,0BAElCC,GAAsBvT,EAAAA,EAAAA,KAC1B,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAOC,UAAUkR,uBAErD4D,GAAuBnX,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO8U,WAAWC,wBAEnCxU,GAAwB3C,EAAAA,EAAAA,KAC5B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUM,yBAElCmY,GAA4B9a,EAAAA,EAAAA,KAChC,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAOC,UAAUyY,6BAGxC,GAAgDpe,EAAAA,EAAAA,UAAc,IAA9D,eAAOkG,EAAP,KAAyBC,EAAzB,KAEM0X,EAAkB,CACtB,CAAEnjB,MAAO,UAAWC,MAAO,YADL,eAEnBggB,IAICvU,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe3L,GACdsI,GACEsD,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO3L,MAAOA,OAGjE,CAACsI,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAI+C,EAAyC,GAEzCuP,IACFvP,EAAuB,kBAClBA,GADkB,CAErB,CACEC,SAAU,2BACV7G,UAAU,EACVlF,MAAO+b,EACP9P,iBAAqD,KAAnC8P,EAClB5P,wBAAyB,yBAE3B,CACEJ,SAAU,yBACV7G,UAAU,EACVlF,MAAOyb,EACPxP,iBAC2B,KAAzBwP,GAA+BvP,SAASuP,IAAyB,EACnEtP,wBAAwB,qDAE1B,CACEJ,SAAU,uCACV7G,UAAU,EACVlF,MAAOyjB,EAA0BzX,UACjCC,iBAC0C,KAAxCwX,EAA0BzX,WAC1BE,SAASuX,EAA0BzX,WAAa,EAClDG,wBAAwB,8CAE1B,CACEJ,SAAU,wCACV7G,UAAU,EACVlF,MAAOyjB,EAA0BrX,WACjCH,iBAC2C,KAAzCwX,EAA0BrX,YAC1BF,SAASuX,EAA0BrX,YAAc,EACnDD,wBAAwB,+CAE1B,CACEJ,SAAU,qCACV7G,UAAU,EACVlF,MAAOyjB,EAA0BpX,QACjCJ,iBACwC,KAAtCwX,EAA0BpX,SAC1BH,SAASuX,EAA0BpX,SAAW,EAChDF,wBAAwB,+CAK9B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvCxD,GACEsE,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWtI,UAIlCoH,EAAoBkB,KACnB,CACDsP,EACAC,EACAC,EACA5T,EACA+S,EACAU,EACAN,EACAnQ,EACAmY,KAGF1a,EAAAA,EAAAA,YAAU,WAEJiX,EAAe5b,OAAS,IAIM,IAHP4b,EAAerJ,QACtC,SAACpX,GAAD,OAAeA,EAAKS,QAAU+b,KAEX3X,QACnBqH,EAAY,iCAAkC,cAGjD,CACDsQ,EACA+D,EACAE,EACAvU,IAGF,IAAMuB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,GAAqB3B,EAAkB0B,KAG7D,OACE,UAACE,EAAA,EAAD,CAAO9N,UAAWJ,EAAQmO,aAA1B,WACE,UAACtK,EAAA,GAAD,CAAMxD,WAAS,EAACV,WAAY,SAA5B,WACE,SAACkE,EAAA,GAAD,CAAMvD,MAAI,EAACC,IAAE,EAAb,UACE,SAAC,EAAD,4BAEF,SAACsD,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,EAAf,UACE,SAACgO,EAAA,EAAD,CACEsJ,gBAAiB,CAAC,UAAW,YAC7BrJ,QAAS4N,EACTrb,MAAO,oBACP0D,GAAG,oBACHsB,KAAK,oBACLD,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QAExBhC,EAAY,oBAAqBgC,IAEnCmF,YAAY,WAIlB,SAAC9P,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,iBAAMH,UAAWJ,EAAQsO,gBAAzB,sFAIF,SAACzK,EAAA,GAAD,CAAMtD,GAAI,GAAV,UACE,eAAIH,UAAWJ,EAAQ8X,aAEzB,SAACjU,EAAA,GAAD,CAAMxD,WAAS,EAACqT,QAAS,EAAzB,SACG0I,IACC,UAAC,EAAA1L,SAAD,YACE,SAAC7M,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAACia,GAAA,EAAD,CACE/V,GAAG,2BACHsB,KAAK,2BACLD,SAAU,SAACoB,GACTsF,EACE,iCACAtF,EAAEK,OAAOxG,QAGbD,MAAM,gBACNC,MAAO+b,EACPjC,QAASoJ,EACTje,SAAUie,EAAmB9e,OAAS,OAG1C,SAACtB,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,gBAAKH,UAAWJ,EAAQkP,eAAxB,UACE,SAACT,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,yBACHsB,KAAK,yBACLD,SAAU,SAACoB,GACTsF,EAAY,uBAAwBtF,EAAEK,OAAOxG,OAC7CgN,EAAgB,2BAElBjN,MAAM,eACNojB,eACE,SAACC,GAAA,EAAD,CACE1f,GAAI,YACJ2f,aAAc,aACdC,aAAc,KACdC,UAAW,CAAC,CAAExjB,MAAO,KAAMC,MAAO,OAClCiF,UAAU,IAGdjF,MAAOyb,EACPvW,UAAQ,EACRC,MAAOoG,EAAgB,wBAA8B,GACrD6C,IAAI,WAIV,sBACE/O,UAAS,UAAKJ,EAAQqL,WAAb,YAA2BrL,EAAQ8jB,eAD9C,WAGE,mBAAQ1jB,UAAWJ,EAAQsO,gBAA3B,8BAGA,SAACzK,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,iBACE7K,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQuL,uBADlD,WAGE,gBAAKnL,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,uCACHsB,KAAK,uCACLD,SAAU,SAACoB,GACTsF,EAAY,6BAAD,QAAC,UACPgY,GADM,IAETzX,UAAW7F,EAAEK,OAAOxG,SAEtBgN,EAAgB,yCAElBjN,MAAM,cACNC,MAAOyjB,EAA0BzX,UACjC9G,UAAQ,EACRC,MACEoG,EAAgB,sCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,wCACHsB,KAAK,wCACLD,SAAU,SAACoB,GACTsF,EAAY,6BAAD,QAAC,UACPgY,GADM,IAETrX,WAAYjG,EAAEK,OAAOxG,SAEvBgN,EACE,0CAGJjN,MAAM,eACNC,MAAOyjB,EAA0BrX,WACjClH,UAAQ,EACRC,MACEoG,EAAgB,uCAEX,GAEP6C,IAAI,SAGR,gBAAK/O,UAAWJ,EAAQiL,kBAAxB,UACE,SAACwD,EAAA,EAAD,CACExH,KAAK,SACLxC,GAAG,qCACHsB,KAAK,qCACLD,SAAU,SAACoB,GACTsF,EAAY,6BAAD,QAAC,UACPgY,GADM,IAETpX,QAASlG,EAAEK,OAAOxG,SAEpBgN,EAAgB,uCAElBjN,MAAM,UACNC,MAAOyjB,EAA0BpX,QACjCnH,UAAQ,EACRC,MACEoG,EAAgB,oCAEX,GAEP6C,IAAI,cAKZ,SAACtL,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiL,kBAAtC,UACE,gBACE7K,UAAS,UAAKJ,EAAQkP,eAAb,YAA+BlP,EAAQ8jB,eADlD,UAGE,SAACvV,EAAA,EAAD,CACExN,MAAM,wCACN0D,GAAG,0CACHsB,KAAK,0CACLyI,QAASgW,EAA0BpV,aACnCtJ,SAAU,SAACoB,GACT,IACMsH,EADUtH,EAAEK,OACMiH,QACxBhC,EAAY,6BAAD,QAAC,UACPgY,GADM,IAETpV,aAAcZ,MAGlB1N,MAAO,yC,YC5VrBuO,IAAYC,EAAAA,EAAAA,IAAW,SAAC1Q,GAAD,OAC3BC,EAAAA,EAAAA,IAAa,wBACX4lB,QAAS,CACP1lB,OAAQ,sBAEP2M,EAAAA,IACAC,EAAAA,IACA+Y,EAAAA,QAgyBP,GA5xBkB,WAChB,IAAMrb,GAAWC,EAAAA,EAAAA,MACXtJ,EAAUqP,KAEV+N,GAAY1T,EAAAA,EAAAA,KAChB,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,OAAO8U,WAAWxD,aAEtDuH,GAAajb,EAAAA,EAAAA,KACjB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa8Y,cAEpC7Y,GAASpC,EAAAA,EAAAA,KAAY,SAACC,GAAD,OAAqBA,EAAMkC,aAAaC,UAC7D0H,GAAe9J,EAAAA,EAAAA,KACnB,SAACC,GAAD,OAAqBA,EAAMkC,aAAa2H,gBAEpCqN,GAAuBnX,EAAAA,EAAAA,KAC3B,SAACC,GAAD,OACEA,EAAMkC,aAAaC,OAAO8U,WAAWC,wBAEnCG,GAAWtX,EAAAA,EAAAA,IAAYuX,GAAAA,IACvBpI,GAAcnP,EAAAA,EAAAA,KAClB,SAACC,GAAD,OAAqBA,EAAMkC,aAAagN,eAI1C,GAAoDzS,EAAAA,EAAAA,WAAkB,GAAtE,eAAOwe,EAAP,KAA2BC,EAA3B,KACA,GACEze,EAAAA,EAAAA,UAAmC,MADrC,eAAO0e,EAAP,KAAuBC,EAAvB,KAIA,GAAoC3e,EAAAA,EAAAA,WAAkB,GAAtD,eAAO4e,EAAP,KAAmBC,EAAnB,KACA,GAAoC7e,EAAAA,EAAAA,UAAyB,MAA7D,eAAOod,EAAP,KAAmBC,EAAnB,MAEA3Z,EAAAA,EAAAA,YAAU,WACR,IAAI4Z,EAAmBd,GAAAA,GAAAA,QAEnB5B,GAAgC,IAApBA,EAAS7b,QACG0I,OAAOC,KAAK6V,GAAAA,IAEpB1J,SAAQ,SAACpY,GACrBmf,EAAS4C,SAAS/hB,KACpB6hB,EAAmBngB,GAAAA,CACjBogB,GAAAA,GACA9hB,EACA+gB,GAAAA,GAAAA,aAMRa,EAAcC,KACb,CAAC1C,KAGJlX,EAAAA,EAAAA,YAAU,WACR,IAAM6W,EAAa7U,EAAO8U,WAAWD,WAC/BE,EAAuB/U,EAAO8U,WAAWC,qBACzC/E,EAAYhQ,EAAOC,UAAU+P,UAC7BC,EAAkBjQ,EAAOC,UAAUgQ,gBACnCC,EAAgBlQ,EAAOC,UAAUiQ,cACjCC,EAAwBnQ,EAAOC,UAAUkQ,sBACzCC,EAAwBpQ,EAAOC,UAAUmQ,sBACzCtQ,EAAcE,EAAOC,UAAUH,YAC/BI,EAAgBF,EAAOC,UAAUC,cACjC0D,EAAe5D,EAAO6D,iBAAiBD,aACvC0B,EACJtF,EAAO6D,iBAAiByB,uBACpBC,EAAiBvF,EAAO6D,iBAAiB0B,eACzCG,EAAkB1F,EAAO6D,iBAAiB6B,gBAC1CD,EAAoBzF,EAAO6D,iBAAiB4B,kBAC5CE,EAAe3F,EAAO6D,iBAAiB8B,aACvCH,EAAiBxF,EAAO6D,iBAAiB2B,eACzC1B,EAAQ9D,EAAO6D,iBAAiBC,MAChCC,EAAY/D,EAAO6D,iBAAiBE,UACpCC,EAAmBhE,EAAO6D,iBAAiBG,iBAC3CC,EAAsBjE,EAAO6D,iBAAiBI,oBAC9CC,EAAsBlE,EAAO6D,iBAAiBK,oBAC9CC,EAAYnE,EAAO6D,iBAAiBM,UACpCC,EAAiBpE,EAAO6D,iBAAiBO,eACzCC,EAAuBrE,EAAO6D,iBAAiBQ,qBAC/CC,EAAuBtE,EAAO6D,iBAAiBS,qBAC/CC,EAAuBvE,EAAO6D,iBAAiBU,qBAC/CC,EAAmBxE,EAAO6D,iBAAiBW,iBAC3CuB,EAAa/F,EAAO6D,iBAAiBkC,WACrCC,EAAahG,EAAO6D,iBAAiBmC,WACrCyB,EAAoBC,EAAaD,kBACjCE,EAAiBD,EAAaC,eAC9ByR,EAAwB1R,EAAa0R,sBACrCC,EAAqB3R,EAAa2R,mBAClC7N,EAAoB9D,EAAa8D,kBACjCC,EAAoB/D,EAAa+D,kBACjClC,EAAmB7B,EAAa6B,iBAChCC,EAAU9B,EAAa8B,QACvBe,EAAY7C,EAAa6C,UACzB5B,EAAmB3I,EAAO4I,WAAWD,iBACrCE,EAAiB7I,EAAO4I,WAAWC,eACnC2B,GAAkBxK,EAAO4I,WAAW4B,gBACpCC,GAAezK,EAAO4I,WAAW6B,aACjCC,GAAgB1K,EAAO4I,WAAW8B,cAClCC,GAAe3K,EAAO4I,WAAW+B,aACjCE,GAAc7K,EAAO4I,WAAWiC,YAChCC,GAAY9K,EAAO4I,WAAWkC,UAC9BC,GAAY/K,EAAO4I,WAAWmC,UAC9BC,GAAehL,EAAO4I,WAAWoC,aACjCC,GAAejL,EAAO4I,WAAWqC,aACjCC,GAAWlL,EAAO4I,WAAWsC,SAC7BpC,GAAgB9I,EAAO4I,WAAWE,cAClCC,GAAc/I,EAAO4I,WAAWG,YAChCC,GAAiBhJ,EAAO4I,WAAWI,eACnCC,GAAcjJ,EAAO4I,WAAWK,YAChCC,GAAqBlJ,EAAO4I,WAAWM,mBACvCC,GAAUnJ,EAAO4I,WAAWO,QAC5BC,GAAcpJ,EAAO4I,WAAWQ,YAChCC,GAAarJ,EAAO4I,WAAWS,WAC/BC,GAAYtJ,EAAO4I,WAAWU,UAC9BO,GAAgB7J,EAAO4I,WAAWiB,cAClCC,GAAgB9J,EAAO4I,WAAWkB,cAClCC,GAAgB/J,EAAO4I,WAAWmB,cAClCC,GAAoBhK,EAAO4I,WAAWoB,kBACtCC,GAAejK,EAAO4I,WAAWqB,aACjCC,GAAclK,EAAO4I,WAAWsB,YAChCC,GAAiBnK,EAAO4I,WAAWuB,eACnCC,GAAcpK,EAAO4I,WAAWwB,YAChCC,GAAkBrK,EAAO4I,WAAWyB,gBACpCC,GAAgBtK,EAAO4I,WAAW0B,cAClC/C,GAAiBvH,EAAOsH,SAASC,eACjCF,GAAYrH,EAAOsH,SAASD,UAC5BqL,GAAW1S,EAAOuS,WAAWG,SAC7BC,GAAe3S,EAAOuS,WAAWI,aACjCrS,GAAeN,EAAOC,UAAUK,aAChCkQ,GAAmBxQ,EAAOC,UAAUuQ,iBACpCF,GAAoBtQ,EAAOC,UAAUqQ,kBACrCG,GAAsBzQ,EAAOC,UAAUwQ,oBACvCE,GACJ3Q,EAAOC,UAAU0Q,8BACbC,GAAiB5Q,EAAOC,UAAU2Q,eAClCC,GAAW7Q,EAAOC,UAAU4Q,SAC5BC,GAAyB9Q,EAAOC,UAAU6Q,uBAC1CC,GACJ/Q,EAAOC,UAAU8Q,2BACbE,GAAkBjR,EAAOC,UAAUgR,gBACnCC,GAAyBlR,EAAOC,UAAUiR,uBAC1CC,GAAsBnR,EAAOC,UAAUkR,oBACvCH,GACJhR,EAAOC,UAAU+Q,+BACbN,GAAuB1Q,EAAOC,UAAUyQ,qBACxC4I,GAAetZ,EAAO0M,SAASD,YAC/BE,GAAqB3M,EAAO0M,SAASC,mBACrCC,GAAsB5M,EAAO0M,SAASE,oBAEtCrM,GAAwBP,EAAOC,UAAUM,sBACzC0X,GAA2BjY,EAAOC,UAAUgY,yBAC5CC,GACJlY,EAAOC,UAAUiY,iCACbQ,GACJ1Y,EAAOC,UAAUyY,0BACbhN,GAAqB1L,EAAO4I,WAAW8C,mBACvC6N,GAAcvZ,EAAO4I,WAAW0C,SAChCnL,GAAaH,EAAOC,UAAUE,WAC9BE,GAAeL,EAAOC,UAAUI,aAChCD,GAAgBJ,EAAOC,UAAUG,cAEvC,GAAI8Y,EAAY,CACd,IAAMM,GAAmBzM,EAAYnB,QACnC,SAAC6N,GAAD,MAA0C,KAA1BA,EAAWtR,IAAIuR,UAG3BC,IAAWC,EAAAA,EAAAA,IAAiB,IAE9BC,GAAiB,GAErB,OAAQP,IACN,IAAK,UACHO,GAAiB,CACfnN,UAAUoN,EAAAA,EAAAA,GAAmBjF,EAAY8E,KAE3C,MACF,IAAK,eACHE,GAAiB,CACfnN,UAAUqN,EAAAA,EAAAA,GACRpN,GACAC,GACAiI,EACA8E,KAMR,IAAMxG,GAAcT,GAASvW,MAAM,KAAK,GAEpC6d,GAA2B,CAC7B/f,KAAM4a,EACNvD,UAAWA,EACX2I,WAAY,GACZC,WAAY,GACZC,YAAa,GACbC,YAAa,GACbC,WAAYhT,IAAaE,GACzB+S,gBAAgB,EAChBC,mBAAmB,EACnBC,aAAc,GACdC,MAAOzK,EACP0K,aAAc5a,EACd6a,eAAgBza,EAChB0a,MAAO,EAAC,gBAEJ3gB,KAAM0f,GACNkB,QAASlI,GAAaL,MACtBwI,mBAAoBnI,GAAakB,MACjCkH,qBAAsB,CACpBre,KAAMiW,GAAaoB,OACnBiH,mBAAoBjG,GAEtBkG,gBAAiB3a,GAAeC,GAAwB,MACrDsZ,IAVA,IAWH9M,YAAayM,MAGjB0B,oBAAqB/Z,SAASgS,GAAa,KAKD,KAA1CnT,EAAOuS,WAAWO,qBACsB,KAAxC9S,EAAOuS,WAAW4I,mBAC2B,KAA7Cnb,EAAOuS,WAAWE,wBACyB,KAA3CzS,EAAOuS,WAAW6I,uBAElBpB,GAASY,MAAM,GAAGS,UAAY,GAGc,KAA1Crb,EAAOuS,WAAWO,qBAC2B,KAA7C9S,EAAOuS,WAAWE,yBAElBuH,GAASY,MAAM,GAAGS,UAAUC,SAAW,GACO,KAA1Ctb,EAAOuS,WAAWO,sBACpBkH,GAASY,MAAM,GAAGS,UAAUC,SAASC,IAAMpa,SACzCnB,EAAOuS,WAAWO,sBAG2B,KAA7C9S,EAAOuS,WAAWE,yBACpBuH,GAASY,MAAM,GAAGS,UAAUC,SAAS/G,OAASpT,UAC5Cqa,EAAAA,EAAAA,IAASxb,EAAOuS,WAAWE,uBAAwB,MAAM,MAMrB,KAAxCzS,EAAOuS,WAAW4I,mBACyB,KAA3Cnb,EAAOuS,WAAW6I,uBAElBpB,GAASY,MAAM,GAAGS,UAAUI,OAAS,GACO,KAAxCzb,EAAOuS,WAAW4I,oBACpBnB,GAASY,MAAM,GAAGS,UAAUI,OAAOF,IAAMpa,SACvCnB,EAAOuS,WAAW4I,oBAGyB,KAA3Cnb,EAAOuS,WAAW6I,uBACpBpB,GAASY,MAAM,GAAGS,UAAUI,OAAOlH,OAASpT,UAC1Cqa,EAAAA,EAAAA,IAASxb,EAAOuS,WAAW6I,qBAAsB,MAAM,OAK3DnL,IACF+J,IAAQ,kBACHA,IADG,IAEN0B,eAAgB,CACdC,SAAUzL,EACV0L,SAAUzL,EACV0L,SAAUzL,MAKZI,KACFwJ,IAAQ,kBACHA,IADG,IAEN8B,uBAAwB,CACtBlI,aACoC,YAAlCjD,GACI,GACAA,GACNoL,YAAa5a,SAASsP,IACtBgK,MAAO7J,GACPoL,eAAgBlL,GAChBmL,oBAAqBlL,GACrBkK,gBAAiBhD,GACjBiE,yBAA0BhE,OAK5B5H,KACF0J,IAAQ,kBACHA,IADG,IAENmC,wBAAyB,CACvBvI,aACqC,YAAnC5C,GACI,GACAA,GACN+K,YAAa5a,SAASuP,IACtB+J,MAAOxJ,GACPmL,cAAelL,GACfmL,WAAYlL,GACZ8J,gBAAiBvC,OAKvB,IAAI4D,GAAmB,KACnBC,GAAoB,KACpBC,GAAe,KACfC,GAAsB,KAsD1B,GApDI9U,EAAetO,OAAS,IAC1BmjB,GAAU,CACRE,gBAAiB/U,EACdxP,KAAI,SAAC4P,GAAD,OAAsBA,EAAQ+D,gBAClCF,QAAO,SAAC7D,GAAD,OAAaA,OAIvBqR,EAAsB/f,OAAS,IACjCojB,GAAiB,CACfE,wBAAyBvD,EACtBjhB,KAAI,SAAC4P,GAAD,OAAsBA,EAAQ+D,gBAClCF,QAAO,SAAC7D,GAAD,OAAaA,OAIvBV,IAAaI,EAAkBpO,OAAS,IAC1CijB,GAAc,CACZM,MAAOnV,EACJtP,KAAI,SAAC4P,GAAD,MAAuB,CAC1B8U,IAAK9U,EAAQ+D,aACb3D,IAAKJ,EAAQ8D,gBAEdD,QAAO,SAAC7D,GAAD,OAAaA,EAAQ8U,KAAO9U,EAAQI,SAKhDd,IACoC,KAApCgS,EAAmBvN,cACgB,KAAnCuN,EAAmBxN,cAEnB0Q,GAAe,CACblG,QAAS,CACPwG,IAAKxD,EAAmBvN,aACxB3D,IAAKkR,EAAmBxN,gBAK1ByQ,IAAeC,IAAgBC,IAAWC,MAC5CzC,IAAQ,kBACHA,IADG,IAEN8C,KAAI,kCACCR,IACAC,IACAC,IACAC,OAKL9T,EAAkB,CACpB,IAAIoU,GAAgB,GAEpB,OAAQlU,GACN,IAAK,UACH,IAAImU,GAAqB,GAEM,KAA3BzS,EAAUuB,eACZkR,GAAqB,CACnBC,GAAI1S,EAAUuB,eAGlBiR,GAAgB,CACdG,QAAS,CACPC,UAAW,CACTC,SAAU5S,GACV6S,YAAa,CACXC,MAAO7S,GACP5H,OAAQ6H,GACR6S,MAAOpc,SAASwJ,KAElBmS,KAAI,UACCE,OAKX,MACF,IAAK,MACHD,GAAgB,CACdS,IAAK,CACHC,eAAgB,CACdL,SAAUvS,GACV6S,OAAQ5S,GACR6S,OAAQ5S,GACRsS,YAAa,CACXO,UAAW5S,GACX6S,UAAW5S,GACXqS,MAAOpS,OAKf,MACF,IAAK,QACH6R,GAAgB,CACde,MAAO,CACLC,SAAU,CACRX,SAAUvT,GACVwT,YAAa,CACXW,UAAWlU,GACXmU,UAAWlU,GACXmU,cAAelU,OAKvB,MACF,IAAK,MACH+S,GAAgB,CACdoB,IAAK,CACHC,cAAe,CACbC,WAAYpU,GACZmT,SAAUlT,GACVmT,YAAa,CACXiB,aAAcnU,GACd8T,UAAW7T,GACXmU,eAAgBlU,GAChBmU,YAAalU,OAKrB,MACF,IAAK,QACH,IAAImU,GAAe,KACfC,GAAgB,KAEe,KAAjCnV,EAAiBsC,aACiB,KAAlCtC,EAAiBuC,eAEjB2S,GAAe,CACbtW,IAAKoB,EAAiBsC,YACtBgR,IAAKtT,EAAiBuC,eAGG,KAAzBtC,EAAQsC,eACV4S,GAAgB,CACdzB,GAAIzT,EAAQsC,eAGhB,IAAI6S,GAAW,MACXF,IAAgBC,MAClBC,GAAW,CACT7B,KAAI,kBACC2B,IACAC,MAIT3B,GAAgB,CACd6B,OAAM,gBACJxB,SAAUtU,GACV+V,OAAQ9V,GACRuI,UAAWtI,GACX8V,OAAQ7V,GACR8V,QAAS,CACPF,OAAQ3V,GACRvQ,GAAIwQ,GACJ6V,OAAQ5V,GACRmU,MAAOpc,SAASkI,MAEfsV,IAXA,IAYHM,OAAQ,CACNC,KAAM/d,SAASmI,QAOzB,IAAI6V,GAA+B,GAC/BC,GAA+B,GAGC,KAAlC3T,EAAkBI,aACiB,KAAnCJ,EAAkBK,eAElBsT,GAA0B,CACxBC,OAAQ,CACNlX,IAAKsD,EAAkBI,YACvBgR,IAAKpR,EAAkBK,gBAMO,KAAlCN,EAAkBK,aACiB,KAAnCL,EAAkBM,eAElBqT,GAA0B,CACxBG,OAAQ,CACNnX,IAAKqD,EAAkBK,YACvBgR,IAAKrR,EAAkBM,gBAK7BkO,IAAQ,kBACHA,IADG,IAENpR,YAAW,wBACT0C,SAAUiO,GACV0B,gBAAiBvP,GACjB+O,MAAO5J,IACJuO,IACAD,IACApC,MAKT,IAAIwC,GAAe,GACnB,OAAQ3b,GACN,IAAK,WAEH,IADA,IAAI4b,GAAW,GACN9a,GAAI,EAAGA,GAAIqB,EAAW1M,OAAQqL,KACrC8a,GAAS7a,KAAK,CACZsV,WAAYlU,EAAWrB,IACvBwV,WAAYlU,EAAWtB,MAG3B6a,GAAU,CACRvd,KAAMwd,IAER,MACF,IAAK,SACHD,GAAU,CACRE,KAAM,CACJC,kBAAmBpa,EACnB2Y,UAAW1Y,EACXoa,UAAWna,EACXoa,WAAYla,EACZma,aAAcpa,EACdqa,OAAQna,IAGZ,MACF,IAAK,KACH4Z,GAAU,CACRQ,iBAAkB,CAChBjnB,IAAKgL,EACLkc,sBAAuBjc,EACvBkc,gBAAiBjc,EACjBkc,qBAAsBjc,EACtBkc,oBAAqBjc,EACrBkc,SAAUjc,EACVkc,eAAgBjc,EAChBkc,qBAAsBjc,EACtBkc,uBAAwBjc,EACxBkc,sBAAuBjc,EACvBkc,iBAAkBjc,IAM1B,IAAIkc,GAAe,GACfC,GAAkB,GAEtB,GAAIxgB,GAAY,CACQ,KAAlBC,KACFsgB,GAAQrK,QAAUjW,IAGpB,IAAMwgB,GAAkBvgB,GAAauL,QAAO,SAACiV,GAAD,MAAwB,KAAfA,EAAInH,UAErDkH,GAAgBvnB,OAAS,IAC3BqnB,GAAQ9D,MAAQgE,IAGd7e,OAAOC,KAAK0e,IAASrnB,OAAS,IAChCsnB,GAAWD,QAAUA,IAIzB1G,IAAQ,0BACHA,IACA2G,IAFG,IAGNjpB,KAAI,UAAM6nB,MAEZxmB,EAAAA,EAAAA,OACU,OADV,kBACqCihB,IAClC1M,MAAK,SAACC,GACL,IAAMuT,EAAgBrpB,GAAAA,CAAI8V,EAAK,UAAW,IAEtCwT,EAA+B,CACjCrpB,IAAKD,GAAAA,CAAI8V,EAAK,eAAe,GAC7B8I,QAAS,IAGX,GAAIyK,EACF,GAAI7oB,MAAMC,QAAQ4oB,GAAgB,CAChC,IAAME,EAAcF,EAAc3oB,KAAI,SAAC8oB,GACrC,MAAO,CACL3oB,UAAW2oB,EAAWhH,WACtB1hB,UAAW0oB,EAAW/G,WACtBnhB,IAAK,OACLC,KAAM,OACNF,IAAKmoB,EAAWnoB,QAIpBioB,EAAU1K,QAAU2K,OAEpBD,EAAY,CACV1K,QAAS,CACP/d,UAAWiV,EAAI8I,QAAQ4D,WACvB1hB,UAAWgV,EAAI8I,QAAQ6D,WACvBphB,IAAKyU,EAAI8I,QAAQvd,MAKzBqgB,GAAc,GACdJ,GAAsB,GACtBE,EAAkB8H,MAEnBtT,OAAM,SAACC,GACNyL,GAAc,GACd5b,GAASoU,EAAAA,GAAAA,IAAqBjE,UAInC,CAACwL,IAEJ,IAAMgI,EAAe,CACnBlsB,MAAO,SACPmG,KAAM,QACNgmB,SAAS,EACTC,OAAQ,WACN7jB,GAAS8jB,EAAAA,EAAAA,OACTC,GAAAA,EAAAA,KAAa,cAYXC,EAAe,CACnBvsB,MAAO,SACPmG,KAAM,SACNgmB,SACGjI,GACwB,KAAzBnE,GAdkB,CACpB,aACA,aACA,YACA,WACA,mBACA,WACA,cAQgByM,OAAM,SAACxS,GAAD,OAAO6J,EAAWf,SAAS9I,MACjDoS,OAAQ,WACNjI,GAAc,KA4DdsI,EAxDkC,CACpC,CACEzsB,MAAO,QACP0sB,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,YACP4sB,cAAc,EACdF,iBAAiB,SAAC,EAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,SACP4sB,cAAc,EACdF,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,gBACP4sB,cAAc,EACdF,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,oBACP4sB,cAAc,EACdF,iBAAiB,SAAC,EAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,WACP4sB,cAAc,EACdF,iBAAiB,SAAC,EAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,aACP4sB,cAAc,EACdF,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,YACP4sB,cAAc,EACdF,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,IAE1B,CACEvsB,MAAO,aACP4sB,cAAc,EACdF,iBAAiB,SAAC,GAAD,IACjBC,QAAS,CAACT,EAAcK,KAW5B,OACE,UAAC,EAAA3c,SAAD,WACGkU,IACC,SAAC+I,EAAA,QAAD,CACEzqB,kBAAmB4hB,EACnB3hB,KAAMyhB,EACNxhB,WAAY,WAVlBiG,GAAS8jB,EAAAA,EAAAA,OACTC,GAAAA,EAAAA,KAAa,aAYP/pB,OAAO,YAGX,SAACuqB,GAAA,EAAD,CACE9sB,OACE,SAAC+sB,GAAA,EAAD,CACEC,GAAI,WACJhtB,MAAO,UACPitB,eAAgB,WACd1kB,GAAS8jB,EAAAA,EAAAA,aAMjB,UAACa,GAAA,EAAD,WACGhJ,IACC,SAACnhB,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAf,UACE,SAAC0d,EAAA,EAAD,OAGJ,SAACpa,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQykB,QAAtC,UACE,SAACwJ,EAAA,EAAD,CAAeC,YAAaX,MAE7B/J,IAAeZ,GAAAA,GAAAA,MACd,SAAC/e,EAAA,GAAD,CAAMvD,MAAI,EAACC,GAAI,GAAI0B,MAAO,CAAEW,UAAW,IAAvC,UACE,SAACurB,GAAA,EAAD,CACEjuB,MAAO,4BACPD,eAAe,SAAC,OAAD,IACfE,MACE,UAAC,EAAAuQ,SAAD,YACE,iDADF,eACyC,+BADzC,gJAIY,gCAJZ,KAKE,mBACA,mBACA,6CAPF,eAOqC,+BAPrC,2FAUE,gCAVF,uE,iFC9yBhB,KAAe/R,EAAAA,EAAAA,IA5BA,SAACC,GAAD,aACbC,EAAAA,EAAAA,GAAa,CACXuvB,WAAY,CACV7rB,OAAO,UAAA3D,EAAMyvB,eAAN,eAAenoB,MAAMooB,OAAQ,eAyB1C,EAfmB,SAAC,GAIK,IAHvBtuB,EAGsB,EAHtBA,QACA2I,EAEsB,EAFtBA,aAEsB,IADtB4lB,UAAAA,OACsB,SACtB,OACE,UAAC,WAAD,WACGA,IAAa,mBACd,SAAC,IAAD,CAAYlmB,UAAU,IAAInD,QAAQ,QAAQ9E,UAAWJ,EAAQouB,WAA7D,SACGzlB","sources":["common/HelpBox.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/AddTenant/Steps/Configure.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx","screens/Console/Tenants/AddTenant/Steps/Security.tsx","screens/Console/Common/SectionH1.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption.tsx","screens/Console/Tenants/AddTenant/Steps/Affinity.tsx","screens/Console/Tenants/AddTenant/Steps/Images.tsx","screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx","screens/Console/Tenants/AddTenant/Steps/SizePreview.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantResources.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx","screens/Console/Tenants/AddTenant/AddTenant.tsx","screens/shared/ErrorBlock.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + text\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport {\n addNewMinIODomain,\n isPageValid,\n removeMinIODomain,\n updateAddField,\n} from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n marginBottom: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n wrapperContainer: {\n display: \"flex\",\n marginBottom: 15,\n },\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n width: 15,\n height: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Configure = ({ classes }: IConfigureProps) => {\n const dispatch = useDispatch();\n\n const exposeMinIO = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeMinIO\n );\n const exposeConsole = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeConsole\n );\n const setDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.setDomains\n );\n const consoleDomain = useSelector(\n (state: AppState) => state.createTenant.fields.configure.consoleDomain\n );\n const minioDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.minioDomains\n );\n const tenantCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.tenantCustom\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (tenantCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"tenant_securityContext_runAsUser\",\n required: true,\n value: tenantSecurityContext.runAsUser,\n customValidation:\n tenantSecurityContext.runAsUser === \"\" ||\n parseInt(tenantSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_runAsGroup\",\n required: true,\n value: tenantSecurityContext.runAsGroup,\n customValidation:\n tenantSecurityContext.runAsGroup === \"\" ||\n parseInt(tenantSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_fsGroup\",\n required: true,\n value: tenantSecurityContext.fsGroup,\n customValidation:\n tenantSecurityContext.fsGroup === \"\" ||\n parseInt(tenantSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n if (setDomains) {\n const minioExtraValidations = minioDomains.map((validation, index) => {\n return {\n fieldKey: `minio-domain-${index.toString()}`,\n required: false,\n value: validation,\n pattern:\n /((http|https):\\/\\/)+[a-zA-Z0-9\\-.]{3,}\\.[a-zA-Z]{2,}(\\.[a-zA-Z]{2,})?$/,\n customPatternMessage:\n \"MinIO domain is not in the form of http|https://subdomain.domain\",\n };\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n ...minioExtraValidations,\n {\n fieldKey: \"console_domain\",\n required: false,\n value: consoleDomain,\n pattern:\n /((http|https):\\/\\/)+[a-zA-Z0-9\\-.]{3,}\\.[a-zA-Z]{2,}(\\.[a-zA-Z]{2,})?(:[1-9]{1}([0-9]{1,4})?)?(\\/[a-zA-Z0-9]{1,})*?$/,\n customPatternMessage:\n \"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n dispatch,\n tenantCustom,\n tenantSecurityContext,\n setDomains,\n consoleDomain,\n minioDomains,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const updateMinIODomain = (value: string, index: number) => {\n const copyDomains = [...minioDomains];\n copyDomains[index] = value;\n\n updateField(\"minioDomains\", copyDomains);\n };\n\n return (\n \n
\n
Configure
\n \n Basic configurations for tenant management\n \n
\n
\n
Services
\n \n Whether the tenant's services should request an external IP via\n LoadBalancer service type.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeMinIO\", checked);\n }}\n label={\"Expose MiniO Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeConsole\", checked);\n }}\n label={\"Expose Console Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"setDomains\", checked);\n }}\n label={\"Set Custom Domains\"}\n />\n \n {setDomains && (\n \n \n \n )}\n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Security Context\"}\n />\n \n {tenantCustom && (\n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(Configure);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Grid, IconButton, Tooltip, Typography } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addIDPADUsrAtIndex,\n isPageValid,\n removeIDPADUsrAtIndex,\n setIDPADUsrAtIndex,\n updateAddField,\n} from \"../../createTenantSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { clearValidationError } from \"../../../utils\";\nimport { AppState } from \"../../../../../../store\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n adUserDnRows: {\n display: \"flex\",\n },\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPActiveDirectory = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const ADURL = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADURL\n );\n const ADSkipTLS = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADSkipTLS\n );\n const ADServerInsecure = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerInsecure\n );\n const ADGroupSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchBaseDN\n );\n const ADGroupSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchFilter\n );\n const ADUserDNs = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADUserDNs\n );\n const ADLookupBindDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindDN\n );\n const ADLookupBindPassword = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindPassword\n );\n const ADUserDNSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchBaseDN\n );\n const ADUserDNSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchFilter\n );\n const ADServerStartTLS = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerStartTLS\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n {\n fieldKey: \"ad_lookupBindDN\",\n required: true,\n value: ADLookupBindDN,\n },\n ];\n // validate user DNs\n for (let i = 0; i < ADUserDNs.length; i++) {\n customIDPValidation.push({\n fieldKey: `ad-userdn-${i.toString()}`,\n required: true,\n value: ADUserDNs[i],\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n ADLookupBindDN,\n idpSelection,\n ADURL,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADUserDNs,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"ADURL\", e.target.value);\n cleanValidation(\"AD_URL\");\n }}\n label=\"LDAP Server Address\"\n value={ADURL}\n placeholder=\"ldap-server:636\"\n error={validationErrors[\"AD_URL\"] || \"\"}\n required\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADSkipTLS\", checked);\n }}\n label={\"Skip TLS Verification\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerInsecure\", checked);\n }}\n label={\"Server Insecure\"}\n />\n \n {ADServerInsecure ? (\n \n \n Warning: All traffic with Active Directory will be unencrypted\n \n \n \n ) : null}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerStartTLS\", checked);\n }}\n label={\"Start TLS connection to AD/LDAP server\"}\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n cleanValidation(\"ad_lookupBindDN\");\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\n error={validationErrors[\"ad_lookupBindDN\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"ADLookupBindPassword\", e.target.value);\n }}\n label=\"Lookup Bind Password\"\n value={ADLookupBindPassword}\n placeholder=\"admin\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchBaseDN\", e.target.value);\n }}\n label=\"User DN Search Base DN\"\n value={ADUserDNSearchBaseDN}\n placeholder=\"dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchFilter\", e.target.value);\n }}\n label=\"User DN Search Filter\"\n value={ADUserDNSearchFilter}\n placeholder=\"(sAMAcountName=%s)\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchBaseDN\", e.target.value);\n }}\n label=\"Group Search Base DN\"\n value={ADGroupSearchBaseDN}\n placeholder=\"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchFilter\", e.target.value);\n }}\n label=\"Group Search Filter\"\n value={ADGroupSearchFilter}\n placeholder=\"(&(objectclass=groupOfNames)(member=%s))\"\n />\n \n \n \n );\n};\n\nexport default IDPActiveDirectory;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPOpenID = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const openIDConfigurationURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDConfigurationURL\n );\n const openIDClientID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClientID\n );\n const openIDSecretID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDSecretID\n );\n const openIDCallbackURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDCallbackURL\n );\n const openIDClaimName = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClaimName\n );\n const openIDScopes = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.openIDScopes\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"OpenID\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"openID_CONFIGURATION_URL\",\n required: true,\n value: openIDConfigurationURL,\n },\n {\n fieldKey: \"openID_clientID\",\n required: true,\n value: openIDClientID,\n },\n {\n fieldKey: \"openID_secretID\",\n required: true,\n value: openIDSecretID,\n },\n {\n fieldKey: \"openID_claimName\",\n required: true,\n value: openIDClaimName,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n openIDClientID,\n openIDSecretID,\n openIDConfigurationURL,\n openIDClaimName,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"openIDConfigurationURL\", e.target.value);\n cleanValidation(\"openID_CONFIGURATION_URL\");\n }}\n label=\"Configuration URL\"\n value={openIDConfigurationURL}\n placeholder=\"https://your-identity-provider.com/.well-known/openid-configuration\"\n error={validationErrors[\"openID_CONFIGURATION_URL\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDClientID\", e.target.value);\n cleanValidation(\"openID_clientID\");\n }}\n label=\"Client ID\"\n value={openIDClientID}\n error={validationErrors[\"openID_clientID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDSecretID\", e.target.value);\n cleanValidation(\"openID_secretID\");\n }}\n label=\"Secret ID\"\n value={openIDSecretID}\n error={validationErrors[\"openID_secretID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDCallbackURL\", e.target.value);\n cleanValidation(\"openID_callbackURL\");\n }}\n label=\"Callback URL\"\n value={openIDCallbackURL}\n placeholder=\"https://your-console-endpoint:9443/oauth_callback\"\n error={validationErrors[\"openID_callbackURL\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"openIDClaimName\", e.target.value);\n cleanValidation(\"openID_claimName\");\n }}\n label=\"Claim Name\"\n value={openIDClaimName}\n error={validationErrors[\"openID_claimName\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDScopes\", e.target.value);\n cleanValidation(\"openID_scopes\");\n }}\n label=\"Scopes\"\n value={openIDScopes}\n />\n \n \n );\n};\n\nexport default IDPOpenID;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n addIDPNewKeyPair,\n isPageValid,\n removeIDPKeyPairAtIndex,\n setIDPPwdAtIndex,\n setIDPUsrAtIndex,\n} from \"../../createTenantSlice\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../../icons/RemoveIcon\";\nimport { clearValidationError, getRandomString } from \"../../../utils\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n shortened: {\n gridTemplateColumns: \"auto auto 50px 50px\",\n display: \"grid\",\n gridGap: 15,\n marginBottom: 10,\n \"& input\": {\n fontWeight: 400,\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPBuiltIn = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const accessKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.accessKeys\n );\n const secretKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.secretKeys\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"Built-in\") {\n customIDPValidation = [...customIDPValidation];\n for (var i = 0; i < accessKeys.length; i++) {\n customIDPValidation.push({\n fieldKey: `accesskey-${i.toString()}`,\n required: true,\n value: accessKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n customIDPValidation.push({\n fieldKey: `secretkey-${i.toString()}`,\n required: true,\n value: secretKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [idpSelection, accessKeys, secretKeys, dispatch]);\n\n return (\n \n Add additional users\n {accessKeys.map((_, index) => {\n return (\n \n
\n \n );\n })}\n \n );\n};\n\nexport default IDPBuiltIn;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../store\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { setIDP } from \"../createTenantSlice\";\nimport IDPActiveDirectory from \"./IdentityProvider/IDPActiveDirectory\";\nimport IDPOpenID from \"./IdentityProvider/IDPOpenID\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport IDPBuiltIn from \"./IdentityProvider/IDPBuiltIn\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 14,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n },\n },\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IdentityProvider = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n\n return (\n \n
\n
Identity Provider
\n \n Access to the tenant can be controlled via an external Identity\n Manager.\n \n
\n \n \n {\n dispatch(setIDP(e.target.value));\n }}\n selectorOptions={[\n { label: \"Built-in\", value: \"Built-in\" },\n { label: \"OpenID\", value: \"OpenID\" },\n { label: \"Active Directory\", value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && }\n {idpSelection === \"OpenID\" && }\n {idpSelection === \"AD\" && }\n \n );\n};\n\nexport default IdentityProvider;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport SectionTitle from \"../../../Common/SectionTitle\";\nimport {\n addCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteCaCertificate,\n deleteKeyPair,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\n\ninterface ISecurityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Security = ({ classes }: ISecurityProps) => {\n const dispatch = useDispatch();\n\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const minioCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioCertificates\n );\n const caCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.caCertificates\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"security\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableAutoCert) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableCustomCerts) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n dispatch(isPageValid({ pageName: \"security\", valid: false }));\n }, [enableTLS, enableAutoCert, enableCustomCerts, dispatch]);\n\n return (\n \n
\n \n \n ))}\n \n \n )}\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(Security);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ntype Props = {\n children: string;\n};\n\nconst SectionH1: React.FC = ({ children }) => {\n return (\n
\n {children}\n
\n );\n};\n\nexport default SectionH1;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nimport FileSelector from \"../../../../Common/FormComponents/FileSelector/FileSelector\";\nimport {\n addFileVaultCa,\n addFileVaultCert,\n isPageValid,\n updateAddField,\n} from \"../../createTenantSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst VaultKMSAdd = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n\n const vaultEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEndpoint\n );\n const vaultEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEngine\n );\n const vaultNamespace = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultNamespace\n );\n const vaultPrefix = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPrefix\n );\n const vaultAppRoleEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultAppRoleEngine\n );\n const vaultId = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultId\n );\n const vaultSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultSecret\n );\n const vaultRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultRetry\n );\n const vaultPing = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPing\n );\n const vaultCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.vaultCertificate\n );\n const vaultCA = useSelector(\n (state: AppState) => state.createTenant.certificates.vaultCA\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n if (encryptionType === \"vault\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"vault_endpoint\",\n required: true,\n value: vaultEndpoint,\n },\n {\n fieldKey: \"vault_id\",\n required: true,\n value: vaultId,\n },\n {\n fieldKey: \"vault_secret\",\n required: true,\n value: vaultSecret,\n },\n {\n fieldKey: \"vault_ping\",\n required: false,\n value: vaultPing,\n customValidation: parseInt(vaultPing) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n {\n fieldKey: \"vault_retry\",\n required: false,\n value: vaultRetry,\n customValidation: parseInt(vaultRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"vaultEndpoint\", e.target.value);\n cleanValidation(\"vault_endpoint\");\n }}\n label=\"Endpoint\"\n value={vaultEndpoint}\n error={validationErrors[\"vault_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultEngine\", e.target.value);\n cleanValidation(\"vault_engine\");\n }}\n label=\"Engine\"\n value={vaultEngine}\n />\n \n \n ) => {\n updateField(\"vaultNamespace\", e.target.value);\n }}\n label=\"Namespace\"\n value={vaultNamespace}\n />\n \n \n ) => {\n updateField(\"vaultPrefix\", e.target.value);\n }}\n label=\"Prefix\"\n value={vaultPrefix}\n />\n \n\n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default VaultKMSAdd;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AzureKMSAdd = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n\n const azureEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureEndpoint\n );\n const azureTenantID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureTenantID\n );\n const azureClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientID\n );\n const azureClientSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientSecret\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n if (encryptionType === \"azure\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"azure_endpoint\",\n required: true,\n value: azureEndpoint,\n },\n {\n fieldKey: \"azure_tenant_id\",\n required: true,\n value: azureTenantID,\n },\n {\n fieldKey: \"azure_client_id\",\n required: true,\n value: azureClientID,\n },\n {\n fieldKey: \"azure_client_secret\",\n required: true,\n value: azureClientSecret,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"azureEndpoint\", e.target.value);\n cleanValidation(\"azure_endpoint\");\n }}\n label=\"Endpoint\"\n value={azureEndpoint}\n error={validationErrors[\"azure_endpoint\"] || \"\"}\n />\n \n \n \n \n \n );\n};\n\nexport default AzureKMSAdd;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { updateAddField } from \"../../createTenantSlice\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GCPKMSAdd = () => {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n return (\n \n \n ) => {\n updateField(\"gcpProjectID\", e.target.value);\n }}\n label=\"Project ID\"\n value={gcpProjectID}\n />\n \n \n ) => {\n updateField(\"gcpEndpoint\", e.target.value);\n }}\n label=\"Endpoint\"\n value={gcpEndpoint}\n />\n \n \n \n \n \n );\n};\n\nexport default GCPKMSAdd;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport FileSelector from \"../../../../Common/FormComponents/FileSelector/FileSelector\";\nimport {\n addFileGemaltoCa,\n isPageValid,\n updateAddField,\n} from \"../../createTenantSlice\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GemaltoKMSAdd = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n const gemaltoCA = useSelector(\n (state: AppState) => state.createTenant.certificates.gemaltoCA\n );\n const gemaltoEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoEndpoint\n );\n const gemaltoToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoToken\n );\n const gemaltoDomain = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoDomain\n );\n const gemaltoRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoRetry\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n if (encryptionType === \"gemalto\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"gemalto_endpoint\",\n required: true,\n value: gemaltoEndpoint,\n },\n {\n fieldKey: \"gemalto_token\",\n required: true,\n value: gemaltoToken,\n },\n {\n fieldKey: \"gemalto_domain\",\n required: true,\n value: gemaltoDomain,\n },\n {\n fieldKey: \"gemalto_retry\",\n required: false,\n value: gemaltoRetry,\n customValidation: parseInt(gemaltoRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"gemaltoEndpoint\", e.target.value);\n cleanValidation(\"gemalto_endpoint\");\n }}\n label=\"Endpoint\"\n value={gemaltoEndpoint}\n error={validationErrors[\"gemalto_endpoint\"] || \"\"}\n required\n />\n \n \n \n \n \n \n \n \n );\n};\n\nexport default GemaltoKMSAdd;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AWSKMSAdd = () => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n const awsEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsEndpoint\n );\n const awsRegion = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsRegion\n );\n const awsKMSKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsKMSKey\n );\n const awsAccessKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsAccessKey\n );\n const awsSecretKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsSecretKey\n );\n const awsToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsToken\n );\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n if (encryptionType === \"aws\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"aws_endpoint\",\n required: true,\n value: awsEndpoint,\n },\n {\n fieldKey: \"aws_region\",\n required: true,\n value: awsRegion,\n },\n {\n fieldKey: \"aws_accessKey\",\n required: true,\n value: awsAccessKey,\n },\n {\n fieldKey: \"aws_secretKey\",\n required: true,\n value: awsSecretKey,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"awsEndpoint\", e.target.value);\n cleanValidation(\"aws_endpoint\");\n }}\n label=\"Endpoint\"\n value={awsEndpoint}\n error={validationErrors[\"aws_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsRegion\", e.target.value);\n cleanValidation(\"aws_region\");\n }}\n label=\"Region\"\n value={awsRegion}\n error={validationErrors[\"aws_region\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsKMSKey\", e.target.value);\n }}\n label=\"KMS Key\"\n value={awsKMSKey}\n />\n \n \n \n \n \n );\n};\n\nexport default AWSKMSAdd;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport {\n addFileClientCert,\n addFileServerCert,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\nimport VaultKMSAdd from \"./Encryption/VaultKMSAdd\";\nimport AzureKMSAdd from \"./Encryption/AzureKMSAdd\";\nimport GCPKMSAdd from \"./Encryption/GCPKMSAdd\";\nimport GemaltoKMSAdd from \"./Encryption/GemaltoKMSAdd\";\nimport AWSKMSAdd from \"./Encryption/AWSKMSAdd\";\n\ninterface IEncryptionProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n encryptionTypeOptions: {\n marginBottom: 15,\n },\n mutualTlsConfig: {\n marginTop: 15,\n \"& fieldset\": {\n flex: 1,\n },\n },\n rightSpacer: {\n marginRight: 15,\n },\n responsiveContainer: {\n \"@media (max-width: 900px)\": {\n display: \"flex\",\n flexFlow: \"column\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Encryption = ({ classes }: IEncryptionProps) => {\n const dispatch = useDispatch();\n\n const replicas = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.replicas\n );\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n const enableCustomCertsForKES = useSelector(\n (state: AppState) =>\n state.createTenant.fields.encryption.enableCustomCertsForKES\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const minioCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioCertificates\n );\n const serverCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.serverCertificate\n );\n const clientCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.clientCertificate\n );\n\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const kesSecurityContext = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.kesSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioCertificates &&\n minioCertificates.filter(\n (item) => item.encoded_key && item.encoded_cert\n ).length > 0))\n ) {\n encryptionAvailable = true;\n }\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"replicas\",\n required: true,\n value: replicas,\n customValidation: parseInt(replicas) < 1,\n customValidationMessage: \"Replicas needs to be 1 or greater\",\n },\n {\n fieldKey: \"kes_securityContext_runAsUser\",\n required: true,\n value: kesSecurityContext.runAsUser,\n customValidation:\n kesSecurityContext.runAsUser === \"\" ||\n parseInt(kesSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_runAsGroup\",\n required: true,\n value: kesSecurityContext.runAsGroup,\n customValidation:\n kesSecurityContext.runAsGroup === \"\" ||\n parseInt(kesSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_fsGroup\",\n required: true,\n value: kesSecurityContext.fsGroup,\n customValidation:\n kesSecurityContext.fsGroup === \"\" ||\n parseInt(kesSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n\n if (enableCustomCerts) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"serverKey\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_cert,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n dispatch,\n enableAutoCert,\n enableCustomCerts,\n serverCertificate.encoded_key,\n serverCertificate.encoded_cert,\n clientCertificate.encoded_key,\n clientCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n \n \n Encryption\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n description=\"\"\n disabled={!encryptionAvailable}\n />\n \n \n \n \n \n MinIO Server-Side Encryption (SSE) protects objects as part of write\n operations, allowing clients to take advantage of server processing\n power to secure objects at the storage layer (encryption-at-rest).\n SSE also provides key functionality to regulatory and compliance\n requirements around secure locking and erasure.\n \n \n \n \n \n\n {enableEncryption && (\n \n \n {\n updateField(\"encryptionType\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Vault\", value: \"vault\" },\n { label: \"AWS\", value: \"aws\" },\n { label: \"Gemalto\", value: \"gemalto\" },\n { label: \"GCP\", value: \"gcp\" },\n { label: \"Azure\", value: \"azure\" },\n ]}\n />\n \n {encryptionType === \"vault\" && }\n {encryptionType === \"azure\" && }\n {encryptionType === \"gcp\" && }\n {encryptionType === \"aws\" && }\n {encryptionType === \"gemalto\" && }\n
\n
Additional Configurations
\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCertsForKES\", checked);\n }}\n label={\"Custom Certificates\"}\n disabled={!enableAutoCert}\n />\n \n {(enableCustomCertsForKES || !enableAutoCert) && (\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n ) => {\n updateField(\"replicas\", e.target.value);\n cleanValidation(\"replicas\");\n }}\n label=\"Replicas\"\n value={replicas}\n required\n error={validationErrors[\"replicas\"] || \"\"}\n />\n \n\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(Encryption);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState } from \"../../../../../store\";\n\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { LabelKeyPair } from \"../../types\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../common/api\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TolerationSelector from \"../../../Common/TolerationSelector/TolerationSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../systemSlice\";\nimport {\n addNewToleration,\n isPageValid,\n removeToleration,\n setKeyValuePairs,\n setTolerationInfo,\n updateAddField,\n} from \"../createTenantSlice\";\n\ninterface IAffinityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({ classes }: IAffinityProps) => {\n const dispatch = useDispatch();\n\n const podAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.podAffinity\n );\n const nodeSelectorLabels = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.nodeSelectorLabels\n );\n const withPodAntiAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.withPodAntiAffinity\n );\n const keyValuePairs = useSelector(\n (state: AppState) => state.createTenant.nodeSelectorPairs\n );\n const tolerations = useSelector(\n (state: AppState) => state.createTenant.tolerations\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"affinity\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n setKeyValueMap({});\n });\n }\n }, [dispatch, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"affinity\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, podAffinity, nodeSelectorLabels]);\n\n const updateToleration = (index: number, field: string, value: any) => {\n const alterToleration = { ...tolerations[index], [field]: value };\n\n dispatch(\n setTolerationInfo({\n index: index,\n tolerationValue: alterToleration,\n })\n );\n };\n\n return (\n \n
\n
Pod Placement
\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n
\n MinIO supports multiple configurations for Pod Affinity\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Use a private container registry\"}\n />\n \n \n )}\n {customDockerhub && (\n \n \n ) => {\n updateField(\"imageRegistry\", e.target.value);\n }}\n label=\"Endpoint\"\n value={imageRegistry}\n error={validationErrors[\"registry\"] || \"\"}\n placeholder=\"E.g. https://index.docker.io/v1/\"\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryUsername\", e.target.value);\n }}\n label=\"Username\"\n value={imageRegistryUsername}\n error={validationErrors[\"registryUsername\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryPassword\", e.target.value);\n }}\n label=\"Password\"\n value={imageRegistryPassword}\n error={validationErrors[\"registryPassword\"] || \"\"}\n required\n />\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(Images);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { DialogContentText, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n });\n\ninterface IAddNamespace {\n classes: any;\n namespace: string;\n addNamespaceOpen: boolean;\n closeAddNamespaceModalAndRefresh: (reloadNamespaceData: boolean) => void;\n}\n\nconst AddNamespaceModal = ({\n classes,\n namespace,\n addNamespaceOpen,\n closeAddNamespaceModalAndRefresh,\n}: IAddNamespace) => {\n const dispatch = useDispatch();\n const [addNamespaceLoading, setAddNamespaceLoading] =\n useState(false);\n\n useEffect(() => {\n if (addNamespaceLoading) {\n api\n .invoke(\"POST\", \"/api/v1/namespace\", {\n name: namespace,\n })\n .then((res) => {\n setAddNamespaceLoading(false);\n closeAddNamespaceModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddNamespaceLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [\n addNamespaceLoading,\n closeAddNamespaceModalAndRefresh,\n namespace,\n dispatch,\n ]);\n\n const addNamespace = () => {\n setAddNamespaceLoading(true);\n };\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={addNamespace}\n onClose={() => {\n closeAddNamespaceModalAndRefresh(false);\n }}\n confirmationContent={\n \n {addNamespaceLoading && }\n \n Are you sure you want to add a namespace called\n \n {namespace}?\n \n \n }\n />\n );\n};\n\nexport default withStyles(styles)(AddNamespaceModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport { niceBytes } from \"../../../../../common/utils\";\n\nimport { Divider } from \"@mui/material\";\n\ninterface ISizePreviewProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 4,\n },\n table: {\n \"& .MuiTableCell-root\": {\n fontSize: 13,\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst SizePreview = ({ classes }: ISizePreviewProps) => {\n const nodes = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.nodes\n );\n const memoryNode = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesMemoryRequest\n );\n const ecParity = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParity\n );\n\n const distribution = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.distribution\n );\n const ecParityCalc = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParityCalc\n );\n\n const cpuToUse = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesCPURequest\n );\n const integrationSelection = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.integrationSelection\n );\n\n const usableInformation = ecParityCalc.storageFactors.find(\n (element) => element.erasureCode === ecParity\n );\n\n return (\n
\n \n \n \n );\n};\n\nexport default withStyles(styles)(NameTenantMain);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { selFeatures } from \"../../../../consoleSlice\";\n\nconst TenantResources = () => {\n const features = useSelector(selFeatures);\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n if (formRender === null) {\n return null;\n }\n\n return ;\n};\n\nexport default TenantResources;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport InputUnitMenu from \"../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n logSearchEnabledFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst ConfigLogSearch = ({ classes }: IConfigureProps) => {\n const dispatch = useDispatch();\n\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const logSearchEnabled = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchEnabled\n );\n const logSearchVolumeSize = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchVolumeSize\n );\n const logSearchSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSelectedStorageClass\n );\n const logSearchImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchImage\n );\n const logSearchPostgresImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresImage\n );\n const logSearchPostgresInitImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresInitImage\n );\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n const logSearchSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSecurityContext\n );\n const logSearchPostgresSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (logSearchEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsUser\",\n required: true,\n value: logSearchSecurityContext.runAsUser,\n customValidation:\n logSearchSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_fsGroup\",\n required: true,\n value: logSearchSecurityContext.fsGroup,\n customValidation:\n logSearchSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsUser\",\n required: true,\n value: logSearchPostgresSecurityContext.runAsUser,\n customValidation:\n logSearchPostgresSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchPostgresSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_fsGroup\",\n required: true,\n value: logSearchPostgresSecurityContext.fsGroup,\n customValidation:\n logSearchPostgresSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n logSearchImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n dispatch,\n logSearchEnabled,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterLogSearch = storageClasses.filter(\n (item: any) => item.value === logSearchSelectedStorageClass\n );\n if (filterLogSearch.length === 0) {\n updateField(\"logSearchSelectedStorageClass\", \"default\");\n }\n }\n }, [\n logSearchSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n \n Audit Log\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchEnabled\", checked);\n }}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n \n \n \n \n Deploys a small PostgreSQL database and stores access logs of all\n calls into the tenant.\n \n \n \n \n \n {logSearchEnabled && (\n \n \n ) => {\n updateField(\n \"logSearchSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Log Search Storage Class\"\n value={logSearchSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n error?: boolean;\n cancelled?: boolean;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(\n props: { error: boolean; cancelled: boolean } & LinearProgressProps\n) {\n let color = \"#000\";\n let size = 18;\n\n if (props.error) {\n color = \"#C83B51\";\n size = 14;\n } else if (props.cancelled) {\n color = \"#FFBD62\";\n size = 14;\n }\n\n return (\n \n \n \n \n \n {props.cancelled ? (\n \"Cancelled\"\n ) : (\n \n {props.error ? \"Failed\" : `${Math.round(props.value || 0)}%`}\n \n )}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n error,\n cancelled,\n}: IProgressBarWrapper) => {\n let color: any;\n if (error) {\n color = \"error\";\n } else if (cancelled) {\n color = \"warning\";\n } else if (value === 100 && ready) {\n color = \"success\";\n } else {\n color = \"primary\";\n }\n const propsComponent: LinearProgressProps = {\n variant:\n indeterminate && !ready && !cancelled ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: color,\n };\n if (withLabel) {\n return (\n \n );\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n
\n
\n
{title}
\n
{icon}
\n
\n
\n
\n {total}\n
\n
\n {unit}\n
\n
\n
\n
\n {objects}\n
\n
\n {objects !== 0 && \"Objs/S\"}\n
\n
\n
\n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n
\n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\nimport Loader from \"../Common/Loader/Loader\";\nimport { selDistSet } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst Speedtest = () => {\n const distributedSetup = useSelector(selDistSet);\n const classes = useStyles();\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n \n\n {!start && !currStatus && (\n \n \n }\n help={}\n />\n \n )}\n \n )}\n \n \n );\n};\n\nexport default Speedtest;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","dark","darkTheme","fieldBasic","value","label","tooltip","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","inputLabel","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","background","padding","justifyContent","marginLeft","onClick","text","icon","variant","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","props","size","error","cancelled","mr","minWidth","Fragment","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","textAlign","metricValContainer","verticalAlign","objectsUnitRes","marginTop","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","unit","toString","clsx","actionButtons","descriptorLabel","resultsContainer","resultsIcon","fill","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","maxWidth","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","download","upload","results","start","jsonView","setJsonView","finalRes","length","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","map","itemRes","GETStats","put","PUTStats","cleanMetrics","Grid","lg","ResponsiveContainer","AreaChart","data","id","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","vertical","Area","type","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","sm","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","index","prettyNumber","parseFloat","useStyles","makeStyles","advancedContent","maxHeight","transitionDuration","stepProgressText","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","distributedSetup","useSelector","selDistSet","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","baseUrl","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","console","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","Loader","ProgressBarWrapper","InputBoxWrapper","name","e","noLabelMinWidth","disabled","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","prop"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/380.a147490c.chunk.js.map b/portal-ui/build/static/js/380.a147490c.chunk.js.map
deleted file mode 100644
index f3cf54748..000000000
--- a/portal-ui/build/static/js/380.a147490c.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/380.a147490c.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx","screens/Console/Speedtest/SpeedTestUnit.tsx","screens/Console/Speedtest/STResults.tsx","screens/Console/Speedtest/utils.ts","screens/Console/Speedtest/Speedtest.tsx","utils/wsUtils.ts","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n \n \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n error?: boolean;\n cancelled?: boolean;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(\n props: { error: boolean; cancelled: boolean } & LinearProgressProps\n) {\n let color = \"#000\";\n let size = 18;\n\n if (props.error) {\n color = \"#C83B51\";\n size = 14;\n } else if (props.cancelled) {\n color = \"#FFBD62\";\n size = 14;\n }\n\n return (\n \n \n \n \n \n {props.cancelled ? (\n \"Cancelled\"\n ) : (\n \n {props.error ? \"Failed\" : `${Math.round(props.value || 0)}%`}\n \n )}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n error,\n cancelled,\n}: IProgressBarWrapper) => {\n let color: any;\n if (error) {\n color = \"error\";\n } else if (cancelled) {\n color = \"warning\";\n } else if (value === 100 && ready) {\n color = \"success\";\n } else {\n color = \"primary\";\n }\n const propsComponent: LinearProgressProps = {\n variant:\n indeterminate && !ready && !cancelled ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: color,\n };\n if (withLabel) {\n return (\n \n );\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n
\n
\n
{title}
\n
{icon}
\n
\n
\n
\n {total}\n
\n
\n {unit}\n
\n
\n
\n
\n {objects}\n
\n
\n {objects !== 0 && \"Objs/S\"}\n
\n
\n
\n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n
\n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\nimport Loader from \"../Common/Loader/Loader\";\n\ninterface ISpeedtest {\n classes: any;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Speedtest = ({ classes, distributedSetup }: ISpeedtest) => {\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n \n\n {!start && !currStatus && (\n \n \n }\n help={}\n />\n \n )}\n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Speedtest));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","dark","darkTheme","fieldBasic","value","label","tooltip","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","inputLabel","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","background","padding","justifyContent","marginLeft","onClick","text","icon","variant","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","props","size","error","cancelled","mr","minWidth","Fragment","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","textAlign","metricValContainer","verticalAlign","objectsUnitRes","marginTop","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","unit","toString","clsx","actionButtons","descriptorLabel","resultsContainer","resultsIcon","fill","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","maxWidth","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","download","upload","results","start","jsonView","setJsonView","finalRes","length","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","map","itemRes","GETStats","put","PUTStats","cleanMetrics","Grid","lg","ResponsiveContainer","AreaChart","data","id","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","vertical","Area","type","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","sm","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","index","prettyNumber","parseFloat","connect","state","distributedSetup","system","advancedContent","maxHeight","transitionDuration","stepProgressText","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","baseUrl","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","console","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","Loader","ProgressBarWrapper","InputBoxWrapper","name","e","noLabelMinWidth","disabled","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","prop"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/4219.c8ec9d39.chunk.js b/portal-ui/build/static/js/4219.91ab8bc0.chunk.js
similarity index 63%
rename from portal-ui/build/static/js/4219.c8ec9d39.chunk.js
rename to portal-ui/build/static/js/4219.91ab8bc0.chunk.js
index aff4d1a71..7aa402895 100644
--- a/portal-ui/build/static/js/4219.c8ec9d39.chunk.js
+++ b/portal-ui/build/static/js/4219.91ab8bc0.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4219],{44219:function(e,n,t){t.r(n),t.d(n,{default:function(){return M}});var a=t(29439),i=t(1413),o=t(72791),s=t(11135),r=t(25787),l=t(23814),c=t(61889),u=t(45248),d=t(40986),f=t(32291),m=t(74794),p=t(28371),v=t(62666),x=t(26181),h=t.n(x),g=t(21435),y=t(10703),b=t(81207),j=t(90673),Z=t(60364),C=t(40968),N=t(56578),P=t(17238),_=t(80184),A=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},l.DF),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),i=(0,Z.v9)((function(e){return e.tenants.tenantDetails.tenantInfo})),s=(0,Z.v9)((function(e){return e.tenants.addPool.storageClasses})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.numberOfNodes.toString()})),l=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.storageClass})),d=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumeSize.toString()})),f=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumesPerServer.toString()})),m=(0,o.useState)({}),p=(0,a.Z)(m,2),v=p[0],x=p[1],A=1073741824*parseInt(d)*parseInt(f),S=A*parseInt(r);(0,o.useEffect)((function(){var e=[{fieldKey:"number_of_nodes",required:!0,value:r.toString(),customValidation:parseInt(r)<1||isNaN(parseInt(r)),customValidationMessage:"Number of servers must be at least 1"},{fieldKey:"pool_size",required:!0,value:d.toString(),customValidation:parseInt(d)<1||isNaN(parseInt(d)),customValidationMessage:"Pool Size cannot be 0"},{fieldKey:"volumes_per_server",required:!0,value:f.toString(),customValidation:parseInt(f)<1||isNaN(parseInt(f)),customValidationMessage:"1 volume or more are required"}],n=(0,C.R)(e);t((0,P.LJ)({page:"setup",status:0===Object.keys(n).length})),x(n)}),[t,r,d,f,l]),(0,o.useEffect)((function(){0===s.length&&i&&b.Z.invoke("GET","/api/v1/namespaces/".concat(i.namespace,"/resourcequotas/").concat(i.namespace,"-storagequota")).then((function(e){var n=h()(e,"elements",[]).map((function(e){var n=h()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:n,value:n}}));t((0,P.oo)({page:"setup",field:"storageClass",value:n[0].value})),t((0,P.TU)(n))})).catch((function(e){console.error(e)}))}),[i,s,t]);var I=function(e,n){t((0,P.oo)({page:"setup",field:e,value:n}))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"New Pool Configuration"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Configure a new Pool to expand MinIO storage"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"number_of_nodes",name:"number_of_nodes",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?I("numberOfNodes",n):isNaN(n)&&I("numberOfNodes",0)},label:"Number of Servers",value:r,error:v.number_of_nodes||"",pattern:"[0-9]*"})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"pool_size",name:"pool_size",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?I("volumeSize",n):isNaN(n)&&I("volumeSize",0)},label:"Volume Size",value:d,error:v.pool_size||"",pattern:"[0-9]*",overlayObject:(0,_.jsx)(N.Z,{id:"quota_unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0})})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"volumes_per_sever",name:"volumes_per_sever",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?I("volumesPerServer",n):isNaN(n)&&I("volumesPerServer",0)},label:"Volumes per Server",value:f,error:v.volumes_per_server||"",pattern:"[0-9]*"})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(j.Z,{id:"storage_class",name:"storage_class",onChange:function(e){I("storageClasses",e.target.value)},label:"Storage Class",value:l,options:s,disabled:s.length<1})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,_.jsxs)("div",{className:n.factorElements,children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:n.sizeNumber,children:(0,u.ae)(A.toString(10))}),(0,_.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:n.sizeNumber,children:(0,u.ae)(S.toString(10))}),(0,_.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})})]})})),S=t(14917),I=t(88449),k=t(93433),w=t(84741),G=t(37516),F=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,i.Z)((0,i.Z)({},l.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}}},l.oO),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),s=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContextEnabled})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContext})),l=(0,o.useState)({}),u=(0,a.Z)(l,2),d=u[0],f=u[1],m=(0,o.useCallback)((function(e,n){t((0,P.oo)({page:"configuration",field:e,value:n}))}),[t]);(0,o.useEffect)((function(){var e=[];s&&(e=[].concat((0,k.Z)(e),[{fieldKey:"pool_securityContext_runAsUser",required:!0,value:r.runAsUser,customValidation:""===r.runAsUser||parseInt(r.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"pool_securityContext_runAsGroup",required:!0,value:r.runAsGroup,customValidation:""===r.runAsGroup||parseInt(r.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"pool_securityContext_fsGroup",required:!0,value:r.fsGroup,customValidation:""===r.fsGroup||parseInt(r.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,C.R)(e);t((0,P.LJ)({page:"configure",status:0===Object.keys(n).length})),f(n)}),[t,s,r]);var p=function(e){f((0,w.h)(d,e))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"Configure"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Aditional Configurations for the new Pool"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,_.jsx)(G.Z,{value:"tenantConfig",id:"pool_configuration",name:"pool_configuration",checked:s,onChange:function(e){var n=e.target.checked;m("securityContextEnabled",n)},label:"Security Context"})}),s&&(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,_.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,_.jsx)("legend",{className:n.descriptionText,children:"Pool's Security Context"}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,_.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_runAsUser",name:"pool_securityContext_runAsUser",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsUser:e.target.value})),p("pool_securityContext_runAsUser")},label:"Run As User",value:r.runAsUser,required:!0,error:d.pool_securityContext_runAsUser||"",min:"0"})}),(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_runAsGroup",name:"pool_securityContext_runAsGroup",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsGroup:e.target.value})),p("pool_securityContext_runAsGroup")},label:"Run As Group",value:r.runAsGroup,required:!0,error:d.pool_securityContext_runAsGroup||"",min:"0"})}),(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_fsGroup",name:"pool_securityContext_fsGroup",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{fsGroup:e.target.value})),p("pool_securityContext_fsGroup")},label:"FsGroup",value:r.fsGroup,required:!0,error:d.pool_securityContext_fsGroup||"",min:"0"})})]})}),(0,_.jsx)("br",{}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,_.jsx)("div",{className:n.multiContainer,children:(0,_.jsx)(G.Z,{value:"securityContextRunAsNonRoot",id:"pool_securityContext_runAsNonRoot",name:"pool_securityContext_runAsNonRoot",checked:r.runAsNonRoot,onChange:function(e){var n=e.target.checked;m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})})]})})),z=t(4942),E=t(13400),R=t(83679),V=t(47919),O=t(51979),T=t(45660),L=t(87995),q=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},affinityConfigField:{display:"flex"},affinityFieldLabel:{display:"flex",flexFlow:"column",flex:1},radioField:{display:"flex",alignItems:"flex-start",marginTop:10,"& div:first-child":{display:"flex",flexFlow:"column",alignItems:"baseline",textAlign:"left !important"}},affinityLabelKey:{"& div:first-child":{marginBottom:0}},affinityLabelValue:{marginLeft:10,"& div:first-child":{marginBottom:0}},rowActions:{display:"flex",alignItems:"center"},affinityRow:{marginBottom:10,display:"flex"}},l.oO),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),s=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.podAffinity})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.nodeSelectorLabels})),l=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.withPodAntiAffinity})),u=(0,Z.v9)((function(e){return e.tenants.addPool.fields.nodeSelectorPairs})),d=(0,Z.v9)((function(e){return e.tenants.addPool.fields.tolerations})),f=(0,o.useState)({}),m=(0,a.Z)(f,2),p=m[0],v=m[1],x=(0,o.useState)(!0),h=(0,a.Z)(x,2),N=h[0],A=h[1],S=(0,o.useState)({}),I=(0,a.Z)(S,2),w=I[0],F=I[1],q=(0,o.useState)([]),U=(0,a.Z)(q,2),K=U[0],D=U[1],M=(0,o.useCallback)((function(e,n){t((0,P.oo)({page:"affinity",field:e,value:n}))}),[t]);(0,o.useEffect)((function(){N&&b.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){A(!1),F(e);var n=[];for(var t in e)n.push({label:t,value:t});D(n)})).catch((function(e){A(!1),t((0,L.zb)(e)),F({})}))}),[t,N]),(0,o.useEffect)((function(){if(u){var e=u.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,n,t){return t.indexOf(e)===n})).join("&");M("nodeSelectorLabels",e)}}),[u,M]),(0,o.useEffect)((function(){var e=[];if("nodeSelector"===s){var n=!0,a=r.split("&");1===a.length&&""===a[0]&&(n=!1),a.forEach((function(e,t){var i=e.split("=");2!==i.length&&(n=!1),t+1!==a.length&&(""!==i[0]&&""!==i[1]||(n=!1))})),e=[].concat((0,k.Z)(e),[{fieldKey:"labels",required:!0,value:r,customValidation:!n,customValidationMessage:"You need to add at least one label key-pair"}])}var i=(0,C.R)(e);t((0,P.LJ)({page:"affinity",status:0===Object.keys(i).length})),v(i)}),[t,s,r]);var B=function(e,n,a){var o=(0,i.Z)((0,i.Z)({},d[e]),{},(0,z.Z)({},n,a));t((0,P.fu)({index:e,tolerationValue:o}))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"Pod Placement"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,_.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,_.jsx)("div",{className:n.label,children:"Type"}),(0,_.jsx)("div",{className:"".concat(n.descriptionText," ").concat(n.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,_.jsx)(c.ZP,{item:!0,className:n.radioField,children:(0,_.jsx)(R.Z,{currentSelection:s,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){M("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===s&&(0,_.jsxs)(o.Fragment,{children:[(0,_.jsx)("br",{}),(0,_.jsx)(c.ZP,{item:!0,xs:12,children:(0,_.jsx)(G.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:l,onChange:function(e){var n=e.target.checked;M("withPodAntiAffinity",n)},label:"With Pod Anti-Affinity"})}),(0,_.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,_.jsx)("h3",{children:"Labels"}),(0,_.jsx)("span",{className:n.error,children:p.labels}),(0,_.jsx)(c.ZP,{container:!0,children:u&&u.map((function(e,a){return(0,_.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,_.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelKey,children:[K.length>0&&(0,_.jsx)(j.Z,{onChange:function(e){var n=e.target.value,i=Object.assign([],u);i[a].key=e.target.value,i[a].value=w[n][0],t((0,P.bF)(i))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:K}),0===K.length&&(0,_.jsx)(g.Z,{id:"nodeselector-key-".concat(a.toString()),label:"",name:"nodeselector-".concat(a.toString()),value:e.key,onChange:function(e){var n=Object.assign([],u);n[a].key=e.target.value,t((0,P.bF)(n))},index:a,placeholder:"Key"})]}),(0,_.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelValue,children:[K.length>0&&(0,_.jsx)(j.Z,{onChange:function(e){var n=Object.assign([],u);n[a].value=e.target.value,t((0,P.bF)(n))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:w[e.key]?w[e.key].map((function(e){return{label:e,value:e}})):[]}),0===K.length&&(0,_.jsx)(g.Z,{id:"nodeselector-value-".concat(a.toString()),label:"",name:"nodeselector-".concat(a.toString()),value:e.value,onChange:function(e){var n=Object.assign([],u);n[a].value=e.target.value,t((0,P.bF)(n))},index:a,placeholder:"value"})]}),(0,_.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){var e=Object.assign([],u);K.length>0?e.push({key:K[0].value,value:w[K[0].value][0]}):e.push({key:"",value:""}),t((0,P.bF)(e))},children:(0,_.jsx)(V.Z,{})})}),u.length>1&&(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){var e=u.filter((function(e,n){return n!==a}));t((0,P.bF)(e))},children:(0,_.jsx)(O.Z,{})})})]})]},"affinity-keyVal-".concat(a.toString()))}))})]})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,_.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,_.jsx)("h3",{children:"Tolerations"}),(0,_.jsx)("span",{className:n.error,children:p.tolerations}),(0,_.jsx)(c.ZP,{container:!0,children:d&&d.map((function(e,a){var i;return(0,_.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,_.jsx)(T.Z,{effect:e.effect,onEffectChange:function(e){B(a,"effect",e)},tolerationKey:e.key,onTolerationKeyChange:function(e){B(a,"key",e)},operator:e.operator,onOperatorChange:function(e){B(a,"operator",e)},value:e.value,onValueChange:function(e){B(a,"value",e)},tolerationSeconds:(null===(i=e.tolerationSeconds)||void 0===i?void 0:i.seconds)||0,onSecondsChange:function(e){B(a,"tolerationSeconds",{seconds:e})},index:a}),(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){t((0,P.hw)())},disabled:a!==d.length-1,children:(0,_.jsx)(V.Z,{})})}),(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){return t((0,P.GF)(a))},disabled:d.length<=1,children:(0,_.jsx)(O.Z,{})})})]},"affinity-keyVal-".concat(a.toString()))}))})]})})]})})),U=t(76256),K=t(84669),D=["setup","affinity","configure"],M=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},pageBox:{border:"1px solid #EAEAEA",borderTop:0},addPoolTitle:{border:"1px solid #EAEAEA",borderBottom:0}},l.DF),l.ID))}))((function(e){var n=e.classes,t=(e.open,e.match,(0,Z.I0)()),s=(0,Z.v9)((function(e){return e.tenants.tenantDetails.tenantInfo})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.storageClass})),l=(0,Z.v9)((function(e){return e.tenants.addPool.validPages})),x=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.numberOfNodes})),h=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumeSize})),g=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumesPerServer})),y=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.podAffinity})),j=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.nodeSelectorLabels})),C=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.withPodAntiAffinity})),N=(0,Z.v9)((function(e){return e.tenants.addPool.fields.tolerations})),k=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContextEnabled})),w=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContext})),G=(0,o.useState)(!1),z=(0,a.Z)(G,2),E=z[0],R=z[1],V="/namespaces/".concat((null===s||void 0===s?void 0:s.namespace)||"","/tenants/").concat((null===s||void 0===s?void 0:s.name)||"","/pools");(0,o.useEffect)((function(){if(E&&s){var e=(0,u.en)(s.pools),n={};switch(y){case"default":n={affinity:(0,U.P)(s.name,e)};break;case"nodeSelector":n={affinity:(0,U.q)(j,C,s.name,e)}}var a=N.filter((function(e){return""!==e.key.trim()})),o=(0,i.Z)({name:e,servers:x,volumes_per_server:g,volume_configuration:{size:1073741824*h,storage_class_name:r,labels:null},tolerations:a,securityContext:k?w:null},n);b.Z.invoke("POST","/api/v1/namespaces/".concat(s.namespace,"/tenants/").concat(s.name,"/pools"),o).then((function(){R(!1),t((0,P.bU)()),t((0,P.V2)(!0)),v.Z.push(V)})).catch((function(e){R(!1),t((0,L.Ih)(e))}))}}),[E,V,y,j,x,w,k,r,s,N,h,g,C,t]);var O={label:"Cancel",type:"other",enabled:!0,action:function(){t((0,P.bU)()),v.Z.push(V)}},T={label:"Create",type:"submit",enabled:!E&&""!==r&&D.every((function(e){return l.includes(e)})),action:function(){R(!0)}},M=[{label:"Setup",componentRender:(0,_.jsx)(A,{}),buttons:[O,T]},{label:"Configuration",advancedOnly:!0,componentRender:(0,_.jsx)(F,{}),buttons:[O,T]},{label:"Pod Placement",advancedOnly:!0,componentRender:(0,_.jsx)(q,{}),buttons:[O,T]}];return(0,_.jsx)(o.Fragment,{children:(0,_.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,_.jsx)(f.Z,{label:(0,_.jsx)(o.Fragment,{children:(0,_.jsx)(K.Z,{to:V,label:"Tenant Pools"})})}),(0,_.jsxs)(m.Z,{children:[(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.addPoolTitle,children:(0,_.jsx)(S.Z,{icon:(0,_.jsx)(I.Z,{}),title:"Add New Pool to ".concat((null===s||void 0===s?void 0:s.name)||""),subTitle:(0,_.jsxs)(o.Fragment,{children:["Namespace: ",(null===s||void 0===s?void 0:s.namespace)||""," / Current Capacity:"," ",(0,u.ae)(((null===s||void 0===s?void 0:s.total_size)||0).toString(10))]})})}),E&&(0,_.jsx)(c.ZP,{item:!0,xs:12,children:(0,_.jsx)(d.Z,{})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.pageBox,children:(0,_.jsx)(p.Z,{wizardSteps:M})})]})]})})}))}}]);
-//# sourceMappingURL=4219.c8ec9d39.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4219],{44219:function(e,n,t){t.r(n),t.d(n,{default:function(){return M}});var a=t(29439),i=t(1413),o=t(72791),s=t(11135),r=t(25787),l=t(23814),c=t(61889),u=t(45248),d=t(40986),f=t(32291),m=t(74794),p=t(28371),v=t(62666),x=t(26181),h=t.n(x),g=t(21435),y=t(10703),b=t(81207),j=t(90673),Z=t(60364),C=t(40968),N=t(56578),P=t(17238),_=t(80184),A=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},l.DF),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),i=(0,Z.v9)((function(e){return e.tenants.tenantDetails.tenantInfo})),s=(0,Z.v9)((function(e){return e.tenants.addPool.storageClasses})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.numberOfNodes.toString()})),l=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.storageClass})),d=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumeSize.toString()})),f=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumesPerServer.toString()})),m=(0,o.useState)({}),p=(0,a.Z)(m,2),v=p[0],x=p[1],A=1073741824*parseInt(d)*parseInt(f),S=A*parseInt(r);(0,o.useEffect)((function(){var e=[{fieldKey:"number_of_nodes",required:!0,value:r.toString(),customValidation:parseInt(r)<1||isNaN(parseInt(r)),customValidationMessage:"Number of servers must be at least 1"},{fieldKey:"pool_size",required:!0,value:d.toString(),customValidation:parseInt(d)<1||isNaN(parseInt(d)),customValidationMessage:"Pool Size cannot be 0"},{fieldKey:"volumes_per_server",required:!0,value:f.toString(),customValidation:parseInt(f)<1||isNaN(parseInt(f)),customValidationMessage:"1 volume or more are required"}],n=(0,C.R)(e);t((0,P.LJ)({page:"setup",status:0===Object.keys(n).length})),x(n)}),[t,r,d,f,l]),(0,o.useEffect)((function(){0===s.length&&i&&b.Z.invoke("GET","/api/v1/namespaces/".concat(i.namespace,"/resourcequotas/").concat(i.namespace,"-storagequota")).then((function(e){var n=h()(e,"elements",[]).map((function(e){var n=h()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:n,value:n}}));t((0,P.oo)({page:"setup",field:"storageClass",value:n[0].value})),t((0,P.TU)(n))})).catch((function(e){console.error(e)}))}),[i,s,t]);var k=function(e,n){t((0,P.oo)({page:"setup",field:e,value:n}))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"New Pool Configuration"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Configure a new Pool to expand MinIO storage"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"number_of_nodes",name:"number_of_nodes",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?k("numberOfNodes",n):isNaN(n)&&k("numberOfNodes",0)},label:"Number of Servers",value:r,error:v.number_of_nodes||"",pattern:"[0-9]*"})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"pool_size",name:"pool_size",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?k("volumeSize",n):isNaN(n)&&k("volumeSize",0)},label:"Volume Size",value:d,error:v.pool_size||"",pattern:"[0-9]*",overlayObject:(0,_.jsx)(N.Z,{id:"quota_unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0})})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(g.Z,{id:"volumes_per_sever",name:"volumes_per_sever",onChange:function(e){var n=parseInt(e.target.value);e.target.validity.valid&&!isNaN(n)?k("volumesPerServer",n):isNaN(n)&&k("volumesPerServer",0)},label:"Volumes per Server",value:f,error:v.volumes_per_server||"",pattern:"[0-9]*"})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,_.jsx)(j.Z,{id:"storage_class",name:"storage_class",onChange:function(e){k("storageClasses",e.target.value)},label:"Storage Class",value:l,options:s,disabled:s.length<1})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,_.jsxs)("div",{className:n.factorElements,children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:n.sizeNumber,children:(0,u.ae)(A.toString(10))}),(0,_.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:n.sizeNumber,children:(0,u.ae)(S.toString(10))}),(0,_.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})})]})})),S=t(14917),k=t(88449),I=t(93433),w=t(84741),G=t(37516),F=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,i.Z)((0,i.Z)({},l.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}}},l.oO),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),s=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContextEnabled})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContext})),l=(0,o.useState)({}),u=(0,a.Z)(l,2),d=u[0],f=u[1],m=(0,o.useCallback)((function(e,n){t((0,P.oo)({page:"configuration",field:e,value:n}))}),[t]);(0,o.useEffect)((function(){var e=[];s&&(e=[].concat((0,I.Z)(e),[{fieldKey:"pool_securityContext_runAsUser",required:!0,value:r.runAsUser,customValidation:""===r.runAsUser||parseInt(r.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"pool_securityContext_runAsGroup",required:!0,value:r.runAsGroup,customValidation:""===r.runAsGroup||parseInt(r.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"pool_securityContext_fsGroup",required:!0,value:r.fsGroup,customValidation:""===r.fsGroup||parseInt(r.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,C.R)(e);t((0,P.LJ)({page:"configure",status:0===Object.keys(n).length})),f(n)}),[t,s,r]);var p=function(e){f((0,w.h)(d,e))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"Configure"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Aditional Configurations for the new Pool"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,_.jsx)(G.Z,{value:"tenantConfig",id:"pool_configuration",name:"pool_configuration",checked:s,onChange:function(e){var n=e.target.checked;m("securityContextEnabled",n)},label:"Security Context"})}),s&&(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,_.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,_.jsx)("legend",{className:n.descriptionText,children:"Pool's Security Context"}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,_.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_runAsUser",name:"pool_securityContext_runAsUser",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsUser:e.target.value})),p("pool_securityContext_runAsUser")},label:"Run As User",value:r.runAsUser,required:!0,error:d.pool_securityContext_runAsUser||"",min:"0"})}),(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_runAsGroup",name:"pool_securityContext_runAsGroup",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsGroup:e.target.value})),p("pool_securityContext_runAsGroup")},label:"Run As Group",value:r.runAsGroup,required:!0,error:d.pool_securityContext_runAsGroup||"",min:"0"})}),(0,_.jsx)("div",{className:n.containerItem,children:(0,_.jsx)(g.Z,{type:"number",id:"pool_securityContext_fsGroup",name:"pool_securityContext_fsGroup",onChange:function(e){m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{fsGroup:e.target.value})),p("pool_securityContext_fsGroup")},label:"FsGroup",value:r.fsGroup,required:!0,error:d.pool_securityContext_fsGroup||"",min:"0"})})]})}),(0,_.jsx)("br",{}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,_.jsx)("div",{className:n.multiContainer,children:(0,_.jsx)(G.Z,{value:"securityContextRunAsNonRoot",id:"pool_securityContext_runAsNonRoot",name:"pool_securityContext_runAsNonRoot",checked:r.runAsNonRoot,onChange:function(e){var n=e.target.checked;m("securityContext",(0,i.Z)((0,i.Z)({},r),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})})]})})),z=t(4942),E=t(13400),R=t(83679),V=t(47919),T=t(51979),L=t(45660),O=t(87995),q=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},affinityConfigField:{display:"flex"},affinityFieldLabel:{display:"flex",flexFlow:"column",flex:1},radioField:{display:"flex",alignItems:"flex-start",marginTop:10,"& div:first-child":{display:"flex",flexFlow:"column",alignItems:"baseline",textAlign:"left !important"}},affinityLabelKey:{"& div:first-child":{marginBottom:0}},affinityLabelValue:{marginLeft:10,"& div:first-child":{marginBottom:0}},rowActions:{display:"flex",alignItems:"center"},affinityRow:{marginBottom:10,display:"flex"}},l.oO),l.AK))}))((function(e){var n=e.classes,t=(0,Z.I0)(),s=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.podAffinity})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.nodeSelectorLabels})),l=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.withPodAntiAffinity})),u=(0,Z.v9)((function(e){return e.tenants.addPool.fields.nodeSelectorPairs})),d=(0,Z.v9)((function(e){return e.tenants.addPool.fields.tolerations})),f=(0,o.useState)({}),m=(0,a.Z)(f,2),p=m[0],v=m[1],x=(0,o.useState)(!0),h=(0,a.Z)(x,2),N=h[0],A=h[1],S=(0,o.useState)({}),k=(0,a.Z)(S,2),w=k[0],F=k[1],q=(0,o.useState)([]),U=(0,a.Z)(q,2),K=U[0],D=U[1],M=(0,o.useCallback)((function(e,n){t((0,P.oo)({page:"affinity",field:e,value:n}))}),[t]);(0,o.useEffect)((function(){N&&b.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){A(!1),F(e);var n=[];for(var t in e)n.push({label:t,value:t});D(n)})).catch((function(e){A(!1),t((0,O.zb)(e)),F({})}))}),[t,N]),(0,o.useEffect)((function(){if(u){var e=u.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,n,t){return t.indexOf(e)===n})).join("&");M("nodeSelectorLabels",e)}}),[u,M]),(0,o.useEffect)((function(){var e=[];if("nodeSelector"===s){var n=!0,a=r.split("&");1===a.length&&""===a[0]&&(n=!1),a.forEach((function(e,t){var i=e.split("=");2!==i.length&&(n=!1),t+1!==a.length&&(""!==i[0]&&""!==i[1]||(n=!1))})),e=[].concat((0,I.Z)(e),[{fieldKey:"labels",required:!0,value:r,customValidation:!n,customValidationMessage:"You need to add at least one label key-pair"}])}var i=(0,C.R)(e);t((0,P.LJ)({page:"affinity",status:0===Object.keys(i).length})),v(i)}),[t,s,r]);var B=function(e,n,a){var o=(0,i.Z)((0,i.Z)({},d[e]),{},(0,z.Z)({},n,a));t((0,P.fu)({index:e,tolerationValue:o}))};return(0,_.jsxs)(y.Z,{className:n.paperWrapper,children:[(0,_.jsxs)("div",{className:n.headerElement,children:[(0,_.jsx)("h3",{className:n.h3Section,children:"Pod Placement"}),(0,_.jsx)("span",{className:n.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,_.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,_.jsx)("div",{className:n.label,children:"Type"}),(0,_.jsx)("div",{className:"".concat(n.descriptionText," ").concat(n.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,_.jsx)(c.ZP,{item:!0,className:n.radioField,children:(0,_.jsx)(R.Z,{currentSelection:s,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){M("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===s&&(0,_.jsxs)(o.Fragment,{children:[(0,_.jsx)("br",{}),(0,_.jsx)(c.ZP,{item:!0,xs:12,children:(0,_.jsx)(G.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:l,onChange:function(e){var n=e.target.checked;M("withPodAntiAffinity",n)},label:"With Pod Anti-Affinity"})}),(0,_.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,_.jsx)("h3",{children:"Labels"}),(0,_.jsx)("span",{className:n.error,children:p.labels}),(0,_.jsx)(c.ZP,{container:!0,children:u&&u.map((function(e,a){return(0,_.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,_.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelKey,children:[K.length>0&&(0,_.jsx)(j.Z,{onChange:function(e){var n=e.target.value,i={key:n,value:w[n][0]},o=(0,I.Z)(u);o[a]=i,t((0,P.bF)(o))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:K}),0===K.length&&(0,_.jsx)(g.Z,{id:"nodeselector-key-".concat(a.toString()),label:"",name:"nodeselector-".concat(a.toString()),value:e.key,onChange:function(e){var n=(0,I.Z)(u);n[a]={key:n[a].key,value:e.target.value},t((0,P.bF)(n))},index:a,placeholder:"Key"})]}),(0,_.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelValue,children:[K.length>0&&(0,_.jsx)(j.Z,{onChange:function(e){var n=(0,I.Z)(u);n[a]={key:n[a].key,value:e.target.value},t((0,P.bF)(n))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:w[e.key]?w[e.key].map((function(e){return{label:e,value:e}})):[]}),0===K.length&&(0,_.jsx)(g.Z,{id:"nodeselector-value-".concat(a.toString()),label:"",name:"nodeselector-".concat(a.toString()),value:e.value,onChange:function(e){var n=(0,I.Z)(u);n[a]={key:n[a].key,value:e.target.value},t((0,P.bF)(n))},index:a,placeholder:"value"})]}),(0,_.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){var e=(0,I.Z)(u);K.length>0?e.push({key:K[0].value,value:w[K[0].value][0]}):e.push({key:"",value:""}),t((0,P.bF)(e))},children:(0,_.jsx)(V.Z,{})})}),u.length>1&&(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){var e=u.filter((function(e,n){return n!==a}));t((0,P.bF)(e))},children:(0,_.jsx)(T.Z,{})})})]})]},"affinity-keyVal-".concat(a.toString()))}))})]})]}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,_.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,_.jsx)("h3",{children:"Tolerations"}),(0,_.jsx)("span",{className:n.error,children:p.tolerations}),(0,_.jsx)(c.ZP,{container:!0,children:d&&d.map((function(e,a){var i;return(0,_.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,_.jsx)(L.Z,{effect:e.effect,onEffectChange:function(e){B(a,"effect",e)},tolerationKey:e.key,onTolerationKeyChange:function(e){B(a,"key",e)},operator:e.operator,onOperatorChange:function(e){B(a,"operator",e)},value:e.value,onValueChange:function(e){B(a,"value",e)},tolerationSeconds:(null===(i=e.tolerationSeconds)||void 0===i?void 0:i.seconds)||0,onSecondsChange:function(e){B(a,"tolerationSeconds",{seconds:e})},index:a}),(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){t((0,P.hw)())},disabled:a!==d.length-1,children:(0,_.jsx)(V.Z,{})})}),(0,_.jsx)("div",{className:n.overlayAction,children:(0,_.jsx)(E.Z,{size:"small",onClick:function(){return t((0,P.GF)(a))},disabled:d.length<=1,children:(0,_.jsx)(T.Z,{})})})]},"affinity-keyVal-".concat(a.toString()))}))})]})})]})})),U=t(76256),K=t(84669),D=["setup","affinity","configure"],M=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},pageBox:{border:"1px solid #EAEAEA",borderTop:0},addPoolTitle:{border:"1px solid #EAEAEA",borderBottom:0}},l.DF),l.ID))}))((function(e){var n=e.classes,t=(e.open,e.match,(0,Z.I0)()),s=(0,Z.v9)((function(e){return e.tenants.tenantDetails.tenantInfo})),r=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.storageClass})),l=(0,Z.v9)((function(e){return e.tenants.addPool.validPages})),x=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.numberOfNodes})),h=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumeSize})),g=(0,Z.v9)((function(e){return e.tenants.addPool.fields.setup.volumesPerServer})),y=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.podAffinity})),j=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.nodeSelectorLabels})),C=(0,Z.v9)((function(e){return e.tenants.addPool.fields.affinity.withPodAntiAffinity})),N=(0,Z.v9)((function(e){return e.tenants.addPool.fields.tolerations})),I=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContextEnabled})),w=(0,Z.v9)((function(e){return e.tenants.addPool.fields.configuration.securityContext})),G=(0,o.useState)(!1),z=(0,a.Z)(G,2),E=z[0],R=z[1],V="/namespaces/".concat((null===s||void 0===s?void 0:s.namespace)||"","/tenants/").concat((null===s||void 0===s?void 0:s.name)||"","/pools");(0,o.useEffect)((function(){if(E&&s){var e=(0,u.en)(s.pools),n={};switch(y){case"default":n={affinity:(0,U.P)(s.name,e)};break;case"nodeSelector":n={affinity:(0,U.q)(j,C,s.name,e)}}var a=N.filter((function(e){return""!==e.key.trim()})),o=(0,i.Z)({name:e,servers:x,volumes_per_server:g,volume_configuration:{size:1073741824*h,storage_class_name:r,labels:null},tolerations:a,securityContext:I?w:null},n);b.Z.invoke("POST","/api/v1/namespaces/".concat(s.namespace,"/tenants/").concat(s.name,"/pools"),o).then((function(){R(!1),t((0,P.bU)()),t((0,P.V2)(!0)),v.Z.push(V)})).catch((function(e){R(!1),t((0,O.Ih)(e))}))}}),[E,V,y,j,x,w,I,r,s,N,h,g,C,t]);var T={label:"Cancel",type:"other",enabled:!0,action:function(){t((0,P.bU)()),v.Z.push(V)}},L={label:"Create",type:"submit",enabled:!E&&""!==r&&D.every((function(e){return l.includes(e)})),action:function(){R(!0)}},M=[{label:"Setup",componentRender:(0,_.jsx)(A,{}),buttons:[T,L]},{label:"Configuration",advancedOnly:!0,componentRender:(0,_.jsx)(F,{}),buttons:[T,L]},{label:"Pod Placement",advancedOnly:!0,componentRender:(0,_.jsx)(q,{}),buttons:[T,L]}];return(0,_.jsx)(o.Fragment,{children:(0,_.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,_.jsx)(f.Z,{label:(0,_.jsx)(o.Fragment,{children:(0,_.jsx)(K.Z,{to:V,label:"Tenant Pools"})})}),(0,_.jsxs)(m.Z,{children:[(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.addPoolTitle,children:(0,_.jsx)(S.Z,{icon:(0,_.jsx)(k.Z,{}),title:"Add New Pool to ".concat((null===s||void 0===s?void 0:s.name)||""),subTitle:(0,_.jsxs)(o.Fragment,{children:["Namespace: ",(null===s||void 0===s?void 0:s.namespace)||""," / Current Capacity:"," ",(0,u.ae)(((null===s||void 0===s?void 0:s.total_size)||0).toString(10))]})})}),E&&(0,_.jsx)(c.ZP,{item:!0,xs:12,children:(0,_.jsx)(d.Z,{})}),(0,_.jsx)(c.ZP,{item:!0,xs:12,className:n.pageBox,children:(0,_.jsx)(p.Z,{wizardSteps:M})})]})]})})}))}}]);
+//# sourceMappingURL=4219.91ab8bc0.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/4219.91ab8bc0.chunk.js.map b/portal-ui/build/static/js/4219.91ab8bc0.chunk.js.map
new file mode 100644
index 000000000..de0ada944
--- /dev/null
+++ b/portal-ui/build/static/js/4219.91ab8bc0.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/4219.91ab8bc0.chunk.js","mappings":"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","sources":["screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolResources.tsx","screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolConfiguration.tsx","screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx","screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport api from \"../../../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IQuotaElement, IQuotas } from \"../../../ListTenants/utils\";\nimport { AppState } from \"../../../../../../store\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport InputUnitMenu from \"../../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport {\n isPoolPageValid,\n setPoolField,\n setPoolStorageClasses,\n} from \"../../../tenantsSlice\";\n\ninterface IPoolResourcesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n marginLeft: 30,\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n ...formFieldStyles,\n ...wizardCommon,\n });\n\nconst PoolResources = ({ classes }: IPoolResourcesProps) => {\n const dispatch = useDispatch();\n\n const tenant = useSelector(\n (state: AppState) => state.tenants.tenantDetails.tenantInfo\n );\n const storageClasses = useSelector(\n (state: AppState) => state.tenants.addPool.storageClasses\n );\n const numberOfNodes = useSelector((state: AppState) =>\n state.tenants.addPool.fields.setup.numberOfNodes.toString()\n );\n const storageClass = useSelector(\n (state: AppState) => state.tenants.addPool.fields.setup.storageClass\n );\n const volumeSize = useSelector((state: AppState) =>\n state.tenants.addPool.fields.setup.volumeSize.toString()\n );\n const volumesPerServer = useSelector((state: AppState) =>\n state.tenants.addPool.fields.setup.volumesPerServer.toString()\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const instanceCapacity: number =\n parseInt(volumeSize) * 1073741824 * parseInt(volumesPerServer);\n const totalCapacity: number = instanceCapacity * parseInt(numberOfNodes);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [\n {\n fieldKey: \"number_of_nodes\",\n required: true,\n value: numberOfNodes.toString(),\n customValidation:\n parseInt(numberOfNodes) < 1 || isNaN(parseInt(numberOfNodes)),\n customValidationMessage: \"Number of servers must be at least 1\",\n },\n {\n fieldKey: \"pool_size\",\n required: true,\n value: volumeSize.toString(),\n customValidation:\n parseInt(volumeSize) < 1 || isNaN(parseInt(volumeSize)),\n customValidationMessage: \"Pool Size cannot be 0\",\n },\n {\n fieldKey: \"volumes_per_server\",\n required: true,\n value: volumesPerServer.toString(),\n customValidation:\n parseInt(volumesPerServer) < 1 || isNaN(parseInt(volumesPerServer)),\n customValidationMessage: \"1 volume or more are required\",\n },\n ];\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPoolPageValid({\n page: \"setup\",\n status: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, numberOfNodes, volumeSize, volumesPerServer, storageClass]);\n\n useEffect(() => {\n if (storageClasses.length === 0 && tenant) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant.namespace}/resourcequotas/${tenant.namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n dispatch(\n setPoolField({\n page: \"setup\",\n field: \"storageClass\",\n value: newStorage[0].value,\n })\n );\n\n dispatch(setPoolStorageClasses(newStorage));\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n }\n }, [tenant, storageClasses, dispatch]);\n\n const setFieldInfo = (fieldName: string, value: any) => {\n dispatch(\n setPoolField({\n page: \"setup\",\n field: fieldName,\n value: value,\n })\n );\n };\n\n return (\n \n
\n
New Pool Configuration
\n \n Configure a new Pool to expand MinIO storage\n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(PoolResources);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../../store\";\nimport { clearValidationError } from \"../../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { isPoolPageValid, setPoolField } from \"../../../tenantsSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst PoolConfiguration = ({ classes }: IConfigureProps) => {\n const dispatch = useDispatch();\n\n const securityContextEnabled = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.configuration.securityContextEnabled\n );\n const securityContext = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.configuration.securityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n setPoolField({\n page: \"configuration\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (securityContextEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"pool_securityContext_runAsUser\",\n required: true,\n value: securityContext.runAsUser,\n customValidation:\n securityContext.runAsUser === \"\" ||\n parseInt(securityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"pool_securityContext_runAsGroup\",\n required: true,\n value: securityContext.runAsGroup,\n customValidation:\n securityContext.runAsGroup === \"\" ||\n parseInt(securityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"pool_securityContext_fsGroup\",\n required: true,\n value: securityContext.fsGroup,\n customValidation:\n securityContext.fsGroup === \"\" ||\n parseInt(securityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPoolPageValid({\n page: \"configure\",\n status: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, securityContextEnabled, securityContext]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n
Configure
\n \n Aditional Configurations for the new Pool\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"securityContextEnabled\", checked);\n }}\n label={\"Security Context\"}\n />\n \n {securityContextEnabled && (\n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(PoolConfiguration);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState } from \"../../../../../../store\";\n\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { LabelKeyPair } from \"../../../types\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TolerationSelector from \"../../../../Common/TolerationSelector/TolerationSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport {\n addNewPoolToleration,\n isPoolPageValid,\n removePoolToleration,\n setPoolField,\n setPoolKeyValuePairs,\n setPoolTolerationInfo,\n} from \"../../../tenantsSlice\";\n\ninterface IAffinityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({ classes }: IAffinityProps) => {\n const dispatch = useDispatch();\n\n const podAffinity = useSelector(\n (state: AppState) => state.tenants.addPool.fields.affinity.podAffinity\n );\n const nodeSelectorLabels = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.affinity.nodeSelectorLabels\n );\n const withPodAntiAffinity = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.affinity.withPodAntiAffinity\n );\n const keyValuePairs = useSelector(\n (state: AppState) => state.tenants.addPool.fields.nodeSelectorPairs\n );\n const tolerations = useSelector(\n (state: AppState) => state.tenants.addPool.fields.tolerations\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n setPoolField({\n page: \"affinity\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n setKeyValueMap({});\n });\n }\n }, [dispatch, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPoolPageValid({\n page: \"affinity\",\n status: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, podAffinity, nodeSelectorLabels]);\n\n const updateToleration = (index: number, field: string, value: any) => {\n const alterToleration = { ...tolerations[index], [field]: value };\n\n dispatch(\n setPoolTolerationInfo({\n index: index,\n tolerationValue: alterToleration,\n })\n );\n };\n\n return (\n \n
\n
Pod Placement
\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n
\n MinIO supports multiple configurations for Pod Affinity\n
\n \n \n );\n};\n\nexport default withStyles(styles)(PoolResources);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../../store\";\nimport { clearValidationError } from \"../../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { isPoolPageValid, setPoolField } from \"../../../tenantsSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst PoolConfiguration = ({ classes }: IConfigureProps) => {\n const dispatch = useDispatch();\n\n const securityContextEnabled = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.configuration.securityContextEnabled\n );\n const securityContext = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.configuration.securityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n setPoolField({\n page: \"configuration\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (securityContextEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"pool_securityContext_runAsUser\",\n required: true,\n value: securityContext.runAsUser,\n customValidation:\n securityContext.runAsUser === \"\" ||\n parseInt(securityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"pool_securityContext_runAsGroup\",\n required: true,\n value: securityContext.runAsGroup,\n customValidation:\n securityContext.runAsGroup === \"\" ||\n parseInt(securityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"pool_securityContext_fsGroup\",\n required: true,\n value: securityContext.fsGroup,\n customValidation:\n securityContext.fsGroup === \"\" ||\n parseInt(securityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPoolPageValid({\n page: \"configure\",\n status: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, securityContextEnabled, securityContext]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n
Configure
\n \n Aditional Configurations for the new Pool\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"securityContextEnabled\", checked);\n }}\n label={\"Security Context\"}\n />\n \n {securityContextEnabled && (\n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(PoolConfiguration);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState } from \"../../../../../../store\";\n\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { LabelKeyPair } from \"../../../types\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TolerationSelector from \"../../../../Common/TolerationSelector/TolerationSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport {\n addNewPoolToleration,\n isPoolPageValid,\n removePoolToleration,\n setPoolField,\n setPoolKeyValuePairs,\n setPoolTolerationInfo,\n} from \"../../../tenantsSlice\";\n\ninterface IAffinityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({ classes }: IAffinityProps) => {\n const dispatch = useDispatch();\n\n const podAffinity = useSelector(\n (state: AppState) => state.tenants.addPool.fields.affinity.podAffinity\n );\n const nodeSelectorLabels = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.affinity.nodeSelectorLabels\n );\n const withPodAntiAffinity = useSelector(\n (state: AppState) =>\n state.tenants.addPool.fields.affinity.withPodAntiAffinity\n );\n const keyValuePairs = useSelector(\n (state: AppState) => state.tenants.addPool.fields.nodeSelectorPairs\n );\n const tolerations = useSelector(\n (state: AppState) => state.tenants.addPool.fields.tolerations\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n setPoolField({\n page: \"affinity\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n setKeyValueMap({});\n });\n }\n }, [dispatch, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPoolPageValid({\n page: \"affinity\",\n status: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, podAffinity, nodeSelectorLabels]);\n\n const updateToleration = (index: number, field: string, value: any) => {\n const alterToleration = { ...tolerations[index], [field]: value };\n\n dispatch(\n setPoolTolerationInfo({\n index: index,\n tolerationValue: alterToleration,\n })\n );\n };\n\n return (\n \n
\n
Pod Placement
\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n
\n MinIO supports multiple configurations for Pod Affinity\n
\n \n \n Registering this cluster with the MinIO Subscription Network (SUBNET)\n provides the following benefits in addition to the commercial license\n and SLA backed support.\n \n\n \n }\n description={`Call Home Monitoring`}\n />\n }\n description={`Health Diagnostics`}\n />\n }\n description={`Performance Analysis`}\n />\n \n \n );\n};\n\nexport default RegisterHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button, Grid, Link } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { CopyIcon, UsersIcon } from \"../../../icons\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport OnlineRegistrationIcon from \"../../../icons/OnlineRegistrationIcon\";\nimport OfflineRegistrationIcon from \"../../../icons/OfflineRegistrationIcon\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport OfflineRegistrationBackIcon from \"../../../icons/OfflineRegistrationBackIcon\";\nimport api from \"../../../common/api\";\n\nimport {\n SubnetInfo,\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport SettingsIcon from \"../../../icons/SettingsIcon\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport RegistrationStatusBanner from \"./RegistrationStatusBanner\";\nimport BackLink from \"../../../common/BackLink\";\nimport { selOpMode, setErrorSnackMessage } from \"../../../systemSlice\";\n\ninterface IRegister {\n classes: any;\n operatorMode: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n registerActivationIcon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 32.12,\n height: 25,\n marginRight: 10,\n verticalAlign: \"middle\",\n },\n },\n registerActivationMode: {\n textAlign: \"right\",\n \"& a\": {\n cursor: \"pointer\",\n },\n },\n subnetDescription: {\n textAlign: \"left\",\n Font: \"normal normal normal 14px/17px Lato\",\n letterSpacing: 0,\n color: \"#000000\",\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n copyInputBox: {\n \"& button\": {\n border: \"1px solid #5E5E5E\",\n borderRadius: 2,\n },\n },\n link: {\n color: \"#2781B0\",\n cursor: \"pointer\",\n },\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...actionsTray,\n ...searchField,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst FormTitle = ({ icon = null, title }: { icon?: any; title: any }) => {\n return (\n \n {icon}\n