You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
16 KiB
1 lines
16 KiB
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[941],{91953:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/file-manager",function(){return t(6033)}])},39937:function(e,n,t){"use strict";t.d(n,{Z:function(){return D}});var l=t(85893),i=t(19338),s=t(89262),r=t(32653),o=t(14440),a=t(34815),c=t(80594),d=t(67294),u=t(77831),h=t(55278),m=t(26076),p=t(8489),g=t(37969),x=t(54965),v=t(49520);let f=[{text:"Anvil",image:"/pngs/anvil_icon_on.png",uri:"/manage-element"},{text:"Files",image:"/pngs/files_on.png",uri:"/file-manager"},{text:"Configure",image:"/pngs/configure_icon_on.png",uri:"/config"},{text:"Mail",image:"/pngs/email_on.png",uri:"/mail-config"},{text:"Help",image:"/pngs/help_icon_on.png",uri:"https://alteeve.com/w/Support"}],j={width:"40em",height:"40em"};var Z=t(98484),b=t(29535),w=t(56903),y=t(97607),k=t(59278),C=t(6946);let S="AnvilDrawer",M={actionIcon:"".concat(S,"-actionIcon"),list:"".concat(S,"-list")},_=(0,s.ZP)(p.ZP)(()=>({["& .".concat(M.list)]:{width:"200px"},["& .".concat(M.actionIcon)]:{fontSize:"2.3em",color:u.of}}));var F=e=>{let{open:n,setOpen:t}=e,{getSessionUser:i}=(0,C.Z)(),s=i();return(0,l.jsx)(_,{BackdropProps:{invisible:!0},anchor:"left",open:n,onClose:()=>t(!n),children:(0,l.jsx)("div",{role:"presentation",children:(0,l.jsxs)(g.Z,{className:M.list,children:[(0,l.jsx)(x.ZP,{children:(0,l.jsx)(k.Ac,{children:s?(0,l.jsxs)(l.Fragment,{children:["Welcome, ",s.name]}):"Unregistered"})}),(0,l.jsx)(b.Z,{}),(0,l.jsx)(v.Z,{component:"a",href:"/index.html",children:(0,l.jsxs)(w.Z,{fullWidth:!0,row:!0,spacing:"2em",children:[(0,l.jsx)(h.Z,{className:M.actionIcon}),(0,l.jsx)(k.Ac,{children:"Dashboard"})]})}),f.map(e=>(0,l.jsx)(v.Z,{component:"a",href:e.uri,children:(0,l.jsxs)(w.Z,{fullWidth:!0,row:!0,spacing:"2em",children:[(0,l.jsx)("img",{alt:e.text,src:e.image,...j}),(0,l.jsx)(k.Ac,{children:e.text})]})},"anvil-drawer-".concat(e.image))),(0,l.jsx)(v.Z,{onClick:()=>{Z.Z.put("/auth/logout").then(()=>{window.location.replace("/login")}).catch(e=>{(0,y.Z)(e)})},children:(0,l.jsxs)(w.Z,{fullWidth:!0,row:!0,spacing:"2em",children:[(0,l.jsx)(m.Z,{className:M.actionIcon}),(0,l.jsx)(k.Ac,{children:"Logout"})]})})]})})})},I=t(85838),A=t(39333);let O="Header",P={input:"".concat(O,"-input"),barElement:"".concat(O,"-barElement"),iconBox:"".concat(O,"-iconBox"),searchBar:"".concat(O,"-searchBar"),icons:"".concat(O,"-icons")},R=(0,s.ZP)(r.Z)(e=>{let{theme:n}=e;return{paddingTop:n.spacing(.5),paddingBottom:n.spacing(.5),paddingLeft:n.spacing(3),paddingRight:n.spacing(3),borderBottom:"solid 1px",borderBottomColor:u.hM,position:"static",["& .".concat(P.input)]:{height:"2.8em",width:"30vw",backgroundColor:n.palette.secondary.main,borderRadius:u.n_},["& .".concat(P.barElement)]:{padding:0},["& .".concat(P.iconBox)]:{[n.breakpoints.down("sm")]:{display:"none"}},["& .".concat(P.searchBar)]:{[n.breakpoints.down("sm")]:{flexGrow:1,paddingLeft:"15vw"}},["& .".concat(P.icons)]:{paddingLeft:".1em",paddingRight:".1em"}}});var D=()=>{let e=(0,d.useRef)({}),n=(0,d.useRef)({}),[t,s]=(0,d.useState)(!1);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(R,{children:(0,l.jsxs)(o.Z,{display:"flex",justifyContent:"space-between",flexDirection:"row",children:[(0,l.jsx)(w.Z,{row:!0,children:(0,l.jsx)(a.Z,{onClick:()=>s(!t),children:(0,l.jsx)("img",{alt:"",src:"/pngs/logo.png",width:"160",height:"40"})})}),(0,l.jsx)(w.Z,{className:P.iconBox,row:!0,spacing:0,children:(0,l.jsx)(o.Z,{children:(0,l.jsx)(c.Z,{onClick:e=>{var t,l;let{currentTarget:i}=e;null===(t=n.current.setAnchor)||void 0===t||t.call(null,i),null===(l=n.current.setOpen)||void 0===l||l.call(null,!0)},sx:{color:u.of,padding:"0 .1rem"},children:(0,l.jsx)(I.Z,{icon:i.Z,ref:e})})})})]})}),(0,l.jsx)(F,{open:t,setOpen:s}),(0,l.jsx)(A.Z,{onFetchSuccessAppend:n=>{var t;null===(t=e.current.indicate)||void 0===t||t.call(null,Object.keys(n).length>0)},ref:n})]})}},62848:function(e,n,t){"use strict";var l=t(67294);n.Z=function(){let{actionProceedText:e="",content:n="",titleText:t="",...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,l.useState)({actionProceedText:e,content:n,titleText:t,...i})}},59752:function(e,n,t){"use strict";t.d(n,{Z:function(){return i}});var l=e=>e.reduce((e,n)=>{let{hostName:t,hostType:l,hostUUID:i}=n;return e[i]={name:t,type:l,uuid:i},e},{}),i=e=>e.reduce((e,n)=>{let{anvilDescription:t,anvilName:i,anvilUUID:s,hosts:r}=n;return e[s]={description:t,hosts:l(r),name:i,uuid:s},e},{})},36026:function(e,n){"use strict";n.Z=(e,n)=>e&&Object.keys(e).reduce((e,t)=>({...e,[t]:n}),{})},6033:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return er}});var l=t(85893),i=t(9008),s=t.n(i),r=t(39937),o=t(54490),a=t(67294),c=t(92230);let d=[["iso",["application/x-cd-image","ISO (optical disc)"]],["other",["text/plain","Other file type"]],["script",["text/plain","Script (program)"]]],u=new Map(d);var h=t(55066),m=t(25934),p=t(4845),g=t(98484),x=t(99429),v=t(28054),f=t(50361),j=t.n(f),Z=t(23279),b=t.n(Z),w=t(56903),y=t(83916),k=t(91029),C=t(23930),S=t(6189),M=t(59278),_=t(12387),F=e=>{let{anvils:n,drHosts:t,fileUuid:i,formik:s,showSyncInputGroup:r,showTypeInput:o}=e,{handleBlur:c,handleChange:u}=s,h=(0,a.useMemo)(()=>b()(u,500),[u]),{nameChain:m,locationsChain:p,typeChain:g}=(0,a.useMemo)(()=>({nameChain:"".concat(i,".name"),locationsChain:"".concat(i,".locations"),typeChain:"".concat(i,".type")}),[i]),x=(0,a.useCallback)((e,n)=>{s.setValues(t=>{var l;let s=j()(t),r=null===(l=s[i].locations)||void 0===l?void 0:l[e];return r?(Object.keys(r).forEach(e=>{r[e].active=n}),s):t})},[s,i]),f=(0,a.useCallback)(e=>{var n;let t=null===(n=s.values[i].locations)||void 0===n?void 0:n[e];return t?{checked:Object.values(t).every(e=>{let{active:n}=e;return n}),onChange:(n,t)=>{x(e,t)}}:{}},[s.values,i,x]),Z=(0,a.useCallback)((e,n)=>{var t,l,r;let o="".concat(p,".").concat(e,".").concat(n),a="".concat(o,".active");return{id:a,name:a,checked:null===(r=s.values[i].locations)||void 0===r?void 0:null===(l=r[e])||void 0===l?void 0:null===(t=l[n])||void 0===t?void 0:t.active,onBlur:c,onChange:u}},[s.values,i,c,u,p]),F=(0,a.useCallback)(e=>{var n;let t=null===(n=s.values[i].locations)||void 0===n?void 0:n[e];return t&&Object.keys(t).length>1},[s.values,i]),I=(0,a.useMemo)(()=>(0,l.jsx)(_.Z,{input:(0,l.jsx)(k.Z,{id:m,label:"File name",name:m,onBlur:c,onChange:h,value:s.values[i].name})}),[h,s.values,i,c,m]),A=(0,a.useMemo)(()=>r&&(0,l.jsx)(C.TZ,{header:"Sync with node(s)",panelProps:{mb:0,mt:0,width:"100%"},children:(0,l.jsx)(y.Z,{allowCheckAll:F("anvils"),allowCheckItem:!0,edit:!0,header:!0,listItems:n,getListCheckboxProps:()=>f("anvils"),getListItemCheckboxProps:e=>Z("anvils",e),renderListItem:(e,n)=>{let{description:t,name:i}=n;return(0,l.jsxs)(M.Ac,{children:[i,": ",t]})}})}),[n,F,f,Z,r]),O=(0,a.useMemo)(()=>r&&(0,l.jsx)(C.TZ,{header:"Sync with DR host(s)",panelProps:{mb:0,mt:0,width:"100%"},children:(0,l.jsx)(y.Z,{allowCheckAll:F("drHosts"),allowCheckItem:!0,edit:!0,header:!0,listItems:t,getListCheckboxProps:()=>f("drHosts"),getListItemCheckboxProps:e=>Z("drHosts",e),renderListItem:(e,n)=>{let{hostName:t}=n;return(0,l.jsx)(M.Ac,{children:t})}})}),[t,F,f,Z,r]),P=(0,a.useMemo)(()=>o&&(0,l.jsx)(S.Z,{id:g,label:"File type",name:g,onBlur:c,onChange:u,selectItems:d.map(e=>{let[n,[,t]]=e;return{displayValue:t,value:n}}),value:s.values[i].type}),[s.values,i,c,u,o,g]);return(0,l.jsxs)(v.Z,{sx:{"& > :not(:first-child)":{marginTop:"1em"}},children:[(0,l.jsxs)(w.Z,{sm:"row",xs:"column",children:[I,P]}),A,O]})},I=t(87196),A=t(97607),O=t(81208),P=t(16310),R=t(36026);let D=P.Ry({active:P.O7().required()}),B=P.Vo(e=>P.Ry((0,R.Z)(e,D))),E=P.Vo(e=>P.Ry((0,R.Z)(e,D))),U=P.Ry({locations:P.Ry({anvils:B,drHosts:E}),name:P.Z_().required(),type:P.Z_().oneOf(["iso","other","script"]),uuid:P.Z_().uuid().required()}),V=P.Vo(e=>P.Ry((0,R.Z)(e,U)));var L=t(14440),H=t(40743),N=e=>{let{uploads:n}=e;return(0,l.jsx)(w.Z,{columnSpacing:".2em",children:Object.values(n).map(e=>{let{name:n,progress:t,uuid:i}=e;return(0,l.jsxs)(L.Z,{sx:{alignItems:{md:"center"},display:"flex",flexDirection:{xs:"column",md:"row"},"& > :first-child":{minWidth:100,overflow:"hidden",overflowWrap:"normal",textOverflow:"ellipsis",whiteSpace:"nowrap",width:{xs:"100%",md:200},wordBreak:"keep-all"},"& > :last-child":{flexGrow:1}},children:[(0,l.jsx)(M.Ac,{children:n}),(0,l.jsx)(H.ko,{progressPercentage:t})]},"upload-".concat(i))})})};let T=(e,n,t)=>e?(e[n].progress=t,{...e}):e;var W=e=>{let{anvils:n,drHosts:t}=e,i=(0,a.useRef)(null),s=(0,a.useRef)(null),[r,o]=(0,a.useState)(),c=(0,a.useCallback)(e=>{var n,t;return null==i?void 0:null===(t=i.current)||void 0===t?void 0:null===(n=t.setMessage)||void 0===n?void 0:n.call(null,"api",e)},[]),d=(0,h.TA)({initialValues:{},onSubmit:e=>{let n=Object.values(e);o(n.reduce((e,n)=>{let{file:t,name:l,uuid:i}=n;return t&&(e[i]={name:l,progress:0,uuid:i}),e},{})),c({children:(0,l.jsx)(l.Fragment,{children:"Closing this dialog before the upload(s) complete will cancel the upload(s)."})}),Promise.all(n.reduce((e,n)=>{let{file:t,name:l,uuid:i}=n;if(!t)return e;let s=new FormData;s.append("file",new File([t],l,{...t}));let r=g.Z.post("/file",s,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:e=>{let{loaded:n,total:t=n}=e;o(e=>T(e,i,Math.round(n/t*99)))}}).then(()=>{o(e=>T(e,i,100))});return e.push(r),e},[])).then(()=>{c({children:(0,l.jsxs)(w.Z,{spacing:0,children:[(0,l.jsx)("span",{children:"Upload(s) completed; file(s) will be listed after the job(s) to sync them to other host(s) finish."}),(0,l.jsx)("span",{children:"You can close this dialog."})]})})}).catch(e=>{let n=(0,A.Z)(e);n.children=(0,l.jsxs)(l.Fragment,{children:["Failed to add file. ",n.children]}),c(n)})},validationSchema:V}),u=(0,a.useMemo)(()=>(0,I.Z)(d.errors),[d.errors]),v=(0,a.useMemo)(()=>!d.dirty||!d.isValid||d.isValidating||d.isSubmitting,[d.dirty,d.isSubmitting,d.isValid,d.isValidating]),f=(0,a.useCallback)(e=>{let{target:{files:n}}=e;if(!n)return;let t=Array.from(n).reduce((e,n)=>{let t=(0,m.Z)();return e[t]={file:n,name:n.name,uuid:t},e},{});d.setValues(t)},[d]),j=(0,a.useMemo)(()=>d.values&&Object.values(d.values).map(e=>{let{uuid:i}=e;return(0,l.jsx)(F,{anvils:n,drHosts:t,fileUuid:i,formik:d},i)}),[n,t,d]);return(0,l.jsxs)(w.Z,{children:[(0,l.jsx)(O.Z,{ref:i}),r?(0,l.jsx)(N,{uploads:r}):(0,l.jsxs)(w.Z,{component:"form",onSubmit:e=>{e.preventDefault(),d.submitForm()},children:[(0,l.jsx)("input",{id:"files",multiple:!0,name:"files",onChange:f,ref:s,style:{display:"none"},type:"file"}),(0,l.jsx)(x.Z,{onClick:()=>{var e;null===(e=s.current)||void 0===e||e.click()},children:"Browse"}),j,(0,l.jsx)(O.Z,{count:1,messages:u}),(0,l.jsx)(p.Z,{actions:[{background:"blue",children:"Add",disabled:v,type:"submit"}]})]})]})},G=t(59752),q=t(77583),z=t(33544),J=t(29535);let X=(e,n)=>{let{locations:t,name:l,type:i,uuid:s}=e;if(!t||!i)return;let r=[];return Object.entries(t.anvils).reduce((e,t)=>{let[l,{active:i}]=t,{anvils:{[l]:{locationUuids:s}}}=n,r=s.map(e=>({fileLocationUUID:e,isFileLocationActive:i}));return e.push(...r),e},r),Object.entries(t.drHosts).reduce((e,t)=>{let[l,{active:i}]=t,{hosts:{[l]:{locationUuids:s}}}=n,r=s.map(e=>({fileLocationUUID:e,isFileLocationActive:i}));return e.push(...r),e},r),{fileLocations:r,fileName:l,fileType:i,fileUUID:s}};var $=e=>{let{anvils:n,drHosts:t,onSuccess:i,previous:s}=e,r=(0,a.useRef)({}),o=(0,a.useCallback)(e=>{var n;return null===(n=r.current.setMessage)||void 0===n?void 0:n.call(null,"api",e)},[]),c=(0,a.useMemo)(()=>{let{locations:e,name:n,type:l,uuid:i}=s;return{[i]:{locations:Object.values(e).reduce((e,n)=>{let{active:l,anvilUuid:i,hostUuid:s}=n,r="anvils",o=i;return s in t&&(r="drHosts",o=s),e[r][o]={active:l},e},{anvils:{},drHosts:{}}),name:n,type:l,uuid:i}}},[t,s]),d=(0,h.TA)({initialValues:c,onSubmit:(e,n)=>{let{setSubmitting:t}=n,r=X(e[s.uuid],s);g.Z.put("/file/".concat(s.uuid),r).then(()=>{o({children:(0,l.jsx)(l.Fragment,{children:"File updated."})}),null==i||i.call(null)}).catch(e=>{let n=(0,A.Z)(e);n.children=(0,l.jsxs)(l.Fragment,{children:["Failed to modify file. ",n.children]}),o(n)}).finally(()=>{t(!1)})},validationSchema:V}),u=(0,a.useMemo)(()=>(0,I.Z)(d.errors),[d.errors]),m=(0,a.useMemo)(()=>!d.dirty||!d.isValid||d.isValidating||d.isSubmitting,[d.dirty,d.isSubmitting,d.isValid,d.isValidating]);return(0,l.jsxs)(w.Z,{component:"form",onSubmit:e=>{e.preventDefault(),d.submitForm()},children:[(0,l.jsx)(F,{anvils:n,drHosts:t,fileUuid:s.uuid,formik:d,showSyncInputGroup:!0,showTypeInput:!0}),(0,l.jsx)(O.Z,{count:1,messages:u,ref:r}),(0,l.jsx)(p.Z,{loading:d.isSubmitting,actions:[{background:"blue",children:"Edit",disabled:m,type:"submit"}]})]})},Y=t(48430),K=t(25137),Q=t(68805),ee=t(85291),en=t(62848),et=t(77510);let el=e=>e.reduce((e,n)=>{let[t,l,i,s,r]=n;return e[t]={checksum:r,name:l,size:i,type:s,uuid:t},e},{}),ei=e=>{let{0:n}=e;if(!n)return;let[t,l,i,s,r]=n;return e.reduce((e,n)=>{let{5:t,6:l,7:i,8:s,9:r,10:o,11:a,12:c}=n;e.anvils[i]||(e.anvils[i]={description:r,locationUuids:[],name:s,uuid:i}),e.hosts[o]||(e.hosts[o]={locationUuids:[],name:a,type:c,uuid:o}),"dr"===c?e.hosts[o].locationUuids.push(t):e.anvils[i].locationUuids.push(t);let d=1===Number(l);return e.locations[t]={anvilUuid:i,active:d,hostUuid:o,uuid:t},e},{anvils:{},checksum:r,hosts:{},locations:{},name:l,size:i,type:s,uuid:t})};var es=()=>{let e=(0,a.useRef)(null),n=(0,a.useRef)({}),t=(0,a.useRef)(null),i=(0,a.useRef)({}),[s,r]=(0,en.Z)(),[d,h]=(0,a.useState)(!1),[m,p]=(0,a.useState)(),[x,v]=(0,a.useState)(),{isLoading:f}=(0,Y.Z)("".concat(c.Z,"/file"),{onSuccess:e=>{v(el(e))}}),{fetch:j,loading:Z}=(0,Q.Z)({onData:e=>v(el(e)),url:"/file"}),b=(0,a.useMemo)(()=>f||Z,[Z,f]),{buildDeleteDialogProps:k,checks:S,getCheck:_,hasAllChecks:F,hasChecks:I,multipleItems:A,resetChecks:P,setAllChecks:R,setCheck:D}=(0,ee.Z)({list:x}),B=(0,a.useCallback)(e=>{var n;return null===(n=i.current.setMessage)||void 0===n?void 0:n.call(null,"api",e)},[]),{fetch:E,loading:U}=(0,Q.Z)({onData:e=>p(ei(e)),onError:e=>{let{children:n,...t}=e;B({children:(0,l.jsxs)(l.Fragment,{children:["Failed to get file detail. ",n]}),...t})},url:"/file/"}),{data:V,loading:L}=(0,et.Z)("/anvil",{onError:e=>{B({children:(0,l.jsxs)(l.Fragment,{children:["Failed to get node list. ",e]}),type:"warning"})}}),H=(0,a.useMemo)(()=>V&&(0,G.Z)(V),[V]),{data:N,loading:T}=(0,et.Z)("/host?types=dr",{onError:e=>{B({children:(0,l.jsxs)(l.Fragment,{children:["Failed to get DR host list. ",e]}),type:"warning"})}}),X=(0,a.useMemo)(()=>(0,l.jsx)(y.Z,{allowCheckAll:A,allowEdit:!0,allowItemButton:d,disableDelete:!I,edit:d,getListCheckboxProps:()=>({checked:F,onChange:(e,n)=>{R(n)}}),getListItemCheckboxProps:e=>({checked:_(e),onChange:(n,t)=>{D(e,t)}}),header:!0,listEmpty:"No file(s) found.",listItems:x,onAdd:()=>{var n;null===(n=e.current)||void 0===n||n.setOpen(!0)},onDelete:()=>{var e;r(k({onProceedAppend:()=>{Promise.all(S.map(e=>g.Z.delete("/file/".concat(e)))).then(()=>j()),P()},getConfirmDialogTitle:e=>"Delete the following ".concat(e," file(s)?"),renderEntry:e=>{let{key:n}=e;return(0,l.jsx)(M.Ac,{children:null==x?void 0:x[n].name})}})),null===(e=n.current.setOpen)||void 0===e||e.call(null,!0)},onEdit:()=>{h(e=>!e)},onItemClick:(e,n)=>{var l;null===(l=t.current)||void 0===l||l.setOpen(!0),E(n)},renderListItem:(e,n)=>{var t;let{checksum:i,name:s,size:r,type:a}=n;return(0,l.jsxs)(w.Z,{columnSpacing:0,fullWidth:!0,md:"row",xs:"column",children:[(0,l.jsxs)(w.Z,{spacing:0,flexGrow:1,children:[(0,l.jsxs)(w.Z,{row:!0,spacing:".5em",children:[(0,l.jsx)(M.$_,{children:s}),(0,l.jsx)(J.Z,{flexItem:!0,orientation:"vertical"}),(0,l.jsx)(M.Ac,{children:null===(t=u.get(a))||void 0===t?void 0:t[1]})]}),(0,l.jsx)(M.Ac,{children:(0,o._d)(r,{toUnit:"ibyte"})})]}),(0,l.jsx)(M.$_,{children:i})]})}}),[k,S,d,x,_,E,j,F,I,A,P,R,D,r]),es=(0,a.useMemo)(()=>b?(0,l.jsx)(K.Z,{}):X,[b,X]),er=(0,a.useMemo)(()=>(0,l.jsx)(O.Z,{count:1,ref:i,usePlaceholder:!1}),[]),eo=(0,a.useMemo)(()=>f||L||T,[L,T,f]),ea=(0,a.useMemo)(()=>f||L||T||U,[L,T,U,f]),ec=(0,a.useMemo)(()=>H&&N&&(0,l.jsx)(W,{anvils:H,drHosts:N}),[H,N]),ed=(0,a.useMemo)(()=>H&&N&&m&&(0,l.jsx)($,{anvils:H,drHosts:N,onSuccess:()=>{j()},previous:m}),[H,N,m,j]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(C.s_,{children:[(0,l.jsx)(C.V9,{children:(0,l.jsx)(M.z,{children:"Files"})}),er,es]}),(0,l.jsx)(z.Js,{header:"Add file(s)",loading:eo,ref:e,showClose:!0,wide:!0,children:ec}),(0,l.jsx)(z.Js,{header:"Update file ".concat(null==m?void 0:m.name),loading:ea,ref:t,showClose:!0,wide:!0,children:ed}),(0,l.jsx)(q.Z,{closeOnProceed:!0,wide:!0,...s,ref:n})]})},er=()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s(),{children:(0,l.jsx)("title",{children:"File Manager"})}),(0,l.jsx)(r.Z,{}),(0,l.jsx)(es,{})]})}},function(e){e.O(0,[572,442,318,341,242,461,602,579,616,762,845,888,774,179],function(){return e(e.s=91953)}),_N_E=e.O()}]); |