hfs 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,7 @@ var px=Object.defineProperty,fx=Object.defineProperties;var mx=Object.getOwnProp
29
29
  `+le[we].replace(" at new "," at ");return M.displayName&&Be.includes("<anonymous>")&&(Be=Be.replace("<anonymous>",M.displayName)),Be}while(1<=we&&0<=Fe);break}}}finally{Ee=!1,Error.prepareStackTrace=F}return(M=M?M.displayName||M.name:"")?ye(M):""}function Te(M){switch(M.tag){case 5:return ye(M.type);case 16:return ye("Lazy");case 13:return ye("Suspense");case 19:return ye("SuspenseList");case 0:case 2:case 15:return M=ve(M.type,!1),M;case 11:return M=ve(M.type.render,!1),M;case 1:return M=ve(M.type,!0),M;default:return""}}function $e(M){if(M==null)return null;if(typeof M=="function")return M.displayName||M.name||null;if(typeof M=="string")return M;switch(M){case V:return"Fragment";case U:return"Portal";case Q:return"Profiler";case J:return"StrictMode";case oe:return"Suspense";case re:return"SuspenseList"}if(typeof M=="object")switch(M.$$typeof){case Z:return(M.displayName||"Context")+".Consumer";case ee:return(M._context.displayName||"Context")+".Provider";case ie:var P=M.render;return M=M.displayName,M||(M=P.displayName||P.name||"",M=M!==""?"ForwardRef("+M+")":"ForwardRef"),M;case X:return P=M.displayName||null,P!==null?P:$e(M.type)||"Memo";case ce:P=M._payload,M=M._init;try{return $e(M(P))}catch(F){}}return null}function Pe(M){var P=M.type;switch(M.tag){case 24:return"Cache";case 9:return(P.displayName||"Context")+".Consumer";case 10:return(P._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return M=P.render,M=M.displayName||M.name||"",P.displayName||(M!==""?"ForwardRef("+M+")":"ForwardRef");case 7:return"Fragment";case 5:return P;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $e(P);case 8:return P===J?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof P=="function")return P.displayName||P.name||null;if(typeof P=="string")return P}return null}function Se(M){switch(typeof M){case"boolean":case"number":case"string":case"undefined":return M;case"object":return M;default:return""}}function Le(M){var P=M.type;return(M=M.nodeName)&&M.toLowerCase()==="input"&&(P==="checkbox"||P==="radio")}function Ye(M){var P=Le(M)?"checked":"value",F=Object.getOwnPropertyDescriptor(M.constructor.prototype,P),q=""+M[P];if(!M.hasOwnProperty(P)&&typeof F!="undefined"&&typeof F.get=="function"&&typeof F.set=="function"){var le=F.get,_e=F.set;return Object.defineProperty(M,P,{configurable:!0,get:function(){return le.call(this)},set:function(we){q=""+we,_e.call(this,we)}}),Object.defineProperty(M,P,{enumerable:F.enumerable}),{getValue:function(){return q},setValue:function(we){q=""+we},stopTracking:function(){M._valueTracker=null,delete M[P]}}}}function De(M){M._valueTracker||(M._valueTracker=Ye(M))}function Ie(M){if(!M)return!1;var P=M._valueTracker;if(!P)return!0;var F=P.getValue(),q="";return M&&(q=Le(M)?M.checked?"true":"false":M.value),M=q,M!==F?(P.setValue(M),!0):!1}function Me(M){if(M=M||(typeof document!="undefined"?document:void 0),typeof M=="undefined")return null;try{return M.activeElement||M.body}catch(P){return M.body}}function We(M,P){var F=P.checked;return fe({},P,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:F!=null?F:M._wrapperState.initialChecked})}function je(M,P){var F=P.defaultValue==null?"":P.defaultValue,q=P.checked!=null?P.checked:P.defaultChecked;F=Se(P.value!=null?P.value:F),M._wrapperState={initialChecked:q,initialValue:F,controlled:P.type==="checkbox"||P.type==="radio"?P.checked!=null:P.value!=null}}function ze(M,P){P=P.checked,P!=null&&z(M,"checked",P,!1)}function tt(M,P){ze(M,P);var F=Se(P.value),q=P.type;if(F!=null)q==="number"?(F===0&&M.value===""||M.value!=F)&&(M.value=""+F):M.value!==""+F&&(M.value=""+F);else if(q==="submit"||q==="reset"){M.removeAttribute("value");return}P.hasOwnProperty("value")?gt(M,P.type,F):P.hasOwnProperty("defaultValue")&&gt(M,P.type,Se(P.defaultValue)),P.checked==null&&P.defaultChecked!=null&&(M.defaultChecked=!!P.defaultChecked)}function qe(M,P,F){if(P.hasOwnProperty("value")||P.hasOwnProperty("defaultValue")){var q=P.type;if(!(q!=="submit"&&q!=="reset"||P.value!==void 0&&P.value!==null))return;P=""+M._wrapperState.initialValue,F||P===M.value||(M.value=P),M.defaultValue=P}F=M.name,F!==""&&(M.name=""),M.defaultChecked=!!M._wrapperState.initialChecked,F!==""&&(M.name=F)}function gt(M,P,F){(P!=="number"||Me(M.ownerDocument)!==M)&&(F==null?M.defaultValue=""+M._wrapperState.initialValue:M.defaultValue!==""+F&&(M.defaultValue=""+F))}var He=Array.isArray;function Ue(M,P,F,q){if(M=M.options,P){P={};for(var le=0;le<F.length;le++)P["$"+F[le]]=!0;for(F=0;F<M.length;F++)le=P.hasOwnProperty("$"+M[F].value),M[F].selected!==le&&(M[F].selected=le),le&&q&&(M[F].defaultSelected=!0)}else{for(F=""+Se(F),P=null,le=0;le<M.length;le++){if(M[le].value===F){M[le].selected=!0,q&&(M[le].defaultSelected=!0);return}P!==null||M[le].disabled||(P=M[le])}P!==null&&(P.selected=!0)}}function Xe(M,P){if(P.dangerouslySetInnerHTML!=null)throw Error(g(91));return fe({},P,{value:void 0,defaultValue:void 0,children:""+M._wrapperState.initialValue})}function Ve(M,P){var F=P.value;if(F==null){if(F=P.children,P=P.defaultValue,F!=null){if(P!=null)throw Error(g(92));if(He(F)){if(1<F.length)throw Error(g(93));F=F[0]}P=F}P==null&&(P=""),F=P}M._wrapperState={initialValue:Se(F)}}function ut(M,P){var F=Se(P.value),q=Se(P.defaultValue);F!=null&&(F=""+F,F!==M.value&&(M.value=F),P.defaultValue==null&&M.defaultValue!==F&&(M.defaultValue=F)),q!=null&&(M.defaultValue=""+q)}function Ct(M){var P=M.textContent;P===M._wrapperState.initialValue&&P!==""&&P!==null&&(M.value=P)}function Ae(M){switch(M){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function dt(M,P){return M==null||M==="http://www.w3.org/1999/xhtml"?Ae(P):M==="http://www.w3.org/2000/svg"&&P==="foreignObject"?"http://www.w3.org/1999/xhtml":M}var Je,rt=function(M){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(P,F,q,le){MSApp.execUnsafeLocalFunction(function(){return M(P,F,q,le)})}:M}(function(M,P){if(M.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in M)M.innerHTML=P;else{for(Je=Je||document.createElement("div"),Je.innerHTML="<svg>"+P.valueOf().toString()+"</svg>",P=Je.firstChild;M.firstChild;)M.removeChild(M.firstChild);for(;P.firstChild;)M.appendChild(P.firstChild)}});function It(M,P){if(P){var F=M.firstChild;if(F&&F===M.lastChild&&F.nodeType===3){F.nodeValue=P;return}}M.textContent=P}var Ft={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ot=["Webkit","ms","Moz","O"];Object.keys(Ft).forEach(function(M){Ot.forEach(function(P){P=P+M.charAt(0).toUpperCase()+M.substring(1),Ft[P]=Ft[M]})});function St(M,P,F){return P==null||typeof P=="boolean"||P===""?"":F||typeof P!="number"||P===0||Ft.hasOwnProperty(M)&&Ft[M]?(""+P).trim():P+"px"}function Ht(M,P){M=M.style;for(var F in P)if(P.hasOwnProperty(F)){var q=F.indexOf("--")===0,le=St(F,P[F],q);F==="float"&&(F="cssFloat"),q?M.setProperty(F,le):M[F]=le}}var wt=fe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Dt(M,P){if(P){if(wt[M]&&(P.children!=null||P.dangerouslySetInnerHTML!=null))throw Error(g(137,M));if(P.dangerouslySetInnerHTML!=null){if(P.children!=null)throw Error(g(60));if(typeof P.dangerouslySetInnerHTML!="object"||!("__html"in P.dangerouslySetInnerHTML))throw Error(g(61))}if(P.style!=null&&typeof P.style!="object")throw Error(g(62))}}function Jt(M,P){if(M.indexOf("-")===-1)return typeof P.is=="string";switch(M){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Qt=null;function dr(M){return M=M.target||M.srcElement||window,M.correspondingUseElement&&(M=M.correspondingUseElement),M.nodeType===3?M.parentNode:M}var vr=null,Xt=null,ir=null;function Or(M){if(M=Ys(M)){if(typeof vr!="function")throw Error(g(280));var P=M.stateNode;P&&(P=_r(P),vr(M.stateNode,M.type,P))}}function xr(M){Xt?ir?ir.push(M):ir=[M]:Xt=M}function Wr(){if(Xt){var M=Xt,P=ir;if(ir=Xt=null,Or(M),P)for(M=0;M<P.length;M++)Or(P[M])}}function En(M,P){return M(P)}function Kr(){}var _o=!1;function Rn(M,P,F){if(_o)return M(P,F);_o=!0;try{return En(M,P,F)}finally{_o=!1,(Xt!==null||ir!==null)&&(Kr(),Wr())}}function Nr(M,P){var F=M.stateNode;if(F===null)return null;var q=_r(F);if(q===null)return null;F=q[P];e:switch(P){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(q=!q.disabled)||(M=M.type,q=!(M==="button"||M==="input"||M==="select"||M==="textarea")),M=!q;break e;default:M=!1}if(M)return null;if(F&&typeof F!="function")throw Error(g(231,P,typeof F));return F}var $r=!1;if(C)try{var jr={};Object.defineProperty(jr,"passive",{get:function(){$r=!0}}),window.addEventListener("test",jr,jr),window.removeEventListener("test",jr,jr)}catch(M){$r=!1}function gn(M,P,F,q,le,_e,we,Fe,Be){var at=Array.prototype.slice.call(arguments,3);try{P.apply(F,at)}catch(Tt){this.onError(Tt)}}var an=!1,Wn=null,Cn=!1,vo=null,Jo={onError:function(M){an=!0,Wn=M}};function Eo(M,P,F,q,le,_e,we,Fe,Be){an=!1,Wn=null,gn.apply(Jo,arguments)}function Co(M,P,F,q,le,_e,we,Fe,Be){if(Eo.apply(this,arguments),an){if(an){var at=Wn;an=!1,Wn=null}else throw Error(g(198));Cn||(Cn=!0,vo=at)}}function xt(M){var P=M,F=M;if(M.alternate)for(;P.return;)P=P.return;else{M=P;do P=M,(P.flags&4098)!==0&&(F=P.return),M=P.return;while(M)}return P.tag===3?F:null}function ot(M){if(M.tag===13){var P=M.memoizedState;if(P===null&&(M=M.alternate,M!==null&&(P=M.memoizedState)),P!==null)return P.dehydrated}return null}function Lt(M){if(xt(M)!==M)throw Error(g(188))}function Wt(M){var P=M.alternate;if(!P){if(P=xt(M),P===null)throw Error(g(188));return P!==M?null:M}for(var F=M,q=P;;){var le=F.return;if(le===null)break;var _e=le.alternate;if(_e===null){if(q=le.return,q!==null){F=q;continue}break}if(le.child===_e.child){for(_e=le.child;_e;){if(_e===F)return Lt(le),M;if(_e===q)return Lt(le),P;_e=_e.sibling}throw Error(g(188))}if(F.return!==q.return)F=le,q=_e;else{for(var we=!1,Fe=le.child;Fe;){if(Fe===F){we=!0,F=le,q=_e;break}if(Fe===q){we=!0,q=le,F=_e;break}Fe=Fe.sibling}if(!we){for(Fe=_e.child;Fe;){if(Fe===F){we=!0,F=_e,q=le;break}if(Fe===q){we=!0,q=_e,F=le;break}Fe=Fe.sibling}if(!we)throw Error(g(189))}}if(F.alternate!==q)throw Error(g(190))}if(F.tag!==3)throw Error(g(188));return F.stateNode.current===F?M:P}function pr(M){return M=Wt(M),M!==null?Ut(M):null}function Ut(M){if(M.tag===5||M.tag===6)return M;for(M=M.child;M!==null;){var P=Ut(M);if(P!==null)return P;M=M.sibling}return null}var Er=m.unstable_scheduleCallback,co=m.unstable_cancelCallback,Hl=m.unstable_shouldYield,Yl=m.unstable_requestPaint,Jr=m.unstable_now,Bl=m.unstable_getCurrentPriorityLevel,pu=m.unstable_ImmediatePriority,Dd=m.unstable_UserBlockingPriority,zl=m.unstable_NormalPriority,Ad=m.unstable_LowPriority,fu=m.unstable_IdlePriority,Ra=null,Qo=null;function sf(M){if(Qo&&typeof Qo.onCommitFiberRoot=="function")try{Qo.onCommitFiberRoot(Ra,M,void 0,(M.current.flags&128)===128)}catch(P){}}var jo=Math.clz32?Math.clz32:Fd,lf=Math.log,Od=Math.LN2;function Fd(M){return M>>>=0,M===0?32:31-(lf(M)/Od|0)|0}var $a=64,zi=4194304;function Ia(M){switch(M&-M){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return M&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return M&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return M}}function La(M,P){var F=M.pendingLanes;if(F===0)return 0;var q=0,le=M.suspendedLanes,_e=M.pingedLanes,we=F&268435455;if(we!==0){var Fe=we&~le;Fe!==0?q=Ia(Fe):(_e&=we,_e!==0&&(q=Ia(_e)))}else we=F&~le,we!==0?q=Ia(we):_e!==0&&(q=Ia(_e));if(q===0)return 0;if(P!==0&&P!==q&&(P&le)===0&&(le=q&-q,_e=P&-P,le>=_e||le===16&&(_e&4194240)!==0))return P;if((q&4)!==0&&(q|=F&16),P=M.entangledLanes,P!==0)for(M=M.entanglements,P&=q;0<P;)F=31-jo(P),le=1<<F,q|=M[F],P&=~le;return q}function Gl(M,P){switch(M){case 1:case 2:case 4:return P+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return P+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Nd(M,P){for(var F=M.suspendedLanes,q=M.pingedLanes,le=M.expirationTimes,_e=M.pendingLanes;0<_e;){var we=31-jo(_e),Fe=1<<we,Be=le[we];Be===-1?((Fe&F)===0||(Fe&q)!==0)&&(le[we]=Gl(Fe,P)):Be<=P&&(M.expiredLanes|=Fe),_e&=~Fe}}function mu(M){return M=M.pendingLanes&-1073741825,M!==0?M:M&1073741824?1073741824:0}function xu(){var M=$a;return $a<<=1,($a&4194240)===0&&($a=64),M}function Ul(M){for(var P=[],F=0;31>F;F++)P.push(M);return P}function li(M,P,F){M.pendingLanes|=P,P!==536870912&&(M.suspendedLanes=0,M.pingedLanes=0),M=M.eventTimes,P=31-jo(P),M[P]=F}function cf(M,P){var F=M.pendingLanes&~P;M.pendingLanes=P,M.suspendedLanes=0,M.pingedLanes=0,M.expiredLanes&=P,M.mutableReadLanes&=P,M.entangledLanes&=P,P=M.entanglements;var q=M.eventTimes;for(M=M.expirationTimes;0<F;){var le=31-jo(F),_e=1<<le;P[le]=0,q[le]=-1,M[le]=-1,F&=~_e}}function Vl(M,P){var F=M.entangledLanes|=P;for(M=M.entanglements;F;){var q=31-jo(F),le=1<<q;le&P|M[q]&P&&(M[q]|=P),F&=~le}}var kr=0;function Wl(M){return M&=-M,1<M?4<M?(M&268435455)!==0?16:536870912:4:1}var ci,ql,_u,jd,yu,Kl=!1,Da=[],us=null,Ts=null,Ps=null,Aa=new Map,Gi=new Map,Rs=[],uf="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Hd(M,P){switch(M){case"focusin":case"focusout":us=null;break;case"dragenter":case"dragleave":Ts=null;break;case"mouseover":case"mouseout":Ps=null;break;case"pointerover":case"pointerout":Aa.delete(P.pointerId);break;case"gotpointercapture":case"lostpointercapture":Gi.delete(P.pointerId)}}function Oa(M,P,F,q,le,_e){return M===null||M.nativeEvent!==_e?(M={blockedOn:P,domEventName:F,eventSystemFlags:q,nativeEvent:_e,targetContainers:[le]},P!==null&&(P=Ys(P),P!==null&&ql(P)),M):(M.eventSystemFlags|=q,P=M.targetContainers,le!==null&&P.indexOf(le)===-1&&P.push(le),M)}function vu(M,P,F,q,le){switch(P){case"focusin":return us=Oa(us,M,P,F,q,le),!0;case"dragenter":return Ts=Oa(Ts,M,P,F,q,le),!0;case"mouseover":return Ps=Oa(Ps,M,P,F,q,le),!0;case"pointerover":var _e=le.pointerId;return Aa.set(_e,Oa(Aa.get(_e)||null,M,P,F,q,le)),!0;case"gotpointercapture":return _e=le.pointerId,Gi.set(_e,Oa(Gi.get(_e)||null,M,P,F,q,le)),!0}return!1}function Yd(M){var P=Mo(M.target);if(P!==null){var F=xt(P);if(F!==null){if(P=F.tag,P===13){if(P=ot(F),P!==null){M.blockedOn=P,yu(M.priority,function(){_u(F)});return}}else if(P===3&&F.stateNode.current.memoizedState.isDehydrated){M.blockedOn=F.tag===3?F.stateNode.containerInfo:null;return}}}M.blockedOn=null}function Jl(M){if(M.blockedOn!==null)return!1;for(var P=M.targetContainers;0<P.length;){var F=Eu(M.domEventName,M.eventSystemFlags,P[0],M.nativeEvent);if(F===null){F=M.nativeEvent;var q=new F.constructor(F.type,F);Qt=q,F.target.dispatchEvent(q),Qt=null}else return P=Ys(F),P!==null&&ql(P),M.blockedOn=F,!1;P.shift()}return!0}function Bd(M,P,F){Jl(M)&&F.delete(P)}function df(){Kl=!1,us!==null&&Jl(us)&&(us=null),Ts!==null&&Jl(Ts)&&(Ts=null),Ps!==null&&Jl(Ps)&&(Ps=null),Aa.forEach(Bd),Gi.forEach(Bd)}function Fa(M,P){M.blockedOn===P&&(M.blockedOn=null,Kl||(Kl=!0,m.unstable_scheduleCallback(m.unstable_NormalPriority,df)))}function Dr(M){function P(le){return Fa(le,M)}if(0<Da.length){Fa(Da[0],M);for(var F=1;F<Da.length;F++){var q=Da[F];q.blockedOn===M&&(q.blockedOn=null)}}for(us!==null&&Fa(us,M),Ts!==null&&Fa(Ts,M),Ps!==null&&Fa(Ps,M),Aa.forEach(P),Gi.forEach(P),F=0;F<Rs.length;F++)q=Rs[F],q.blockedOn===M&&(q.blockedOn=null);for(;0<Rs.length&&(F=Rs[0],F.blockedOn===null);)Yd(F),F.blockedOn===null&&Rs.shift()}var Ir=Y.ReactCurrentBatchConfig,Ql=!0;function pf(M,P,F,q){var le=kr,_e=Ir.transition;Ir.transition=null;try{kr=1,bu(M,P,F,q)}finally{kr=le,Ir.transition=_e}}function ff(M,P,F,q){var le=kr,_e=Ir.transition;Ir.transition=null;try{kr=4,bu(M,P,F,q)}finally{kr=le,Ir.transition=_e}}function bu(M,P,F,q){if(Ql){var le=Eu(M,P,F,q);if(le===null)Ja(M,P,q,Xl,F),Hd(M,q);else if(vu(le,M,P,F,q))q.stopPropagation();else if(Hd(M,q),P&4&&-1<uf.indexOf(M)){for(;le!==null;){var _e=Ys(le);if(_e!==null&&ci(_e),_e=Eu(M,P,F,q),_e===null&&Ja(M,P,q,Xl,F),_e===le)break;le=_e}le!==null&&q.stopPropagation()}else Ja(M,P,q,null,F)}}var Xl=null;function Eu(M,P,F,q){if(Xl=null,M=dr(q),M=Mo(M),M!==null)if(P=xt(M),P===null)M=null;else if(F=P.tag,F===13){if(M=ot(P),M!==null)return M;M=null}else if(F===3){if(P.stateNode.current.memoizedState.isDehydrated)return P.tag===3?P.stateNode.containerInfo:null;M=null}else P!==M&&(M=null);return Xl=M,null}function Cu(M){switch(M){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Bl()){case pu:return 1;case Dd:return 4;case zl:case Ad:return 16;case fu:return 536870912;default:return 16}default:return 16}}var $s=null,ln=null,Ui=null;function ks(){if(Ui)return Ui;var M,P=ln,F=P.length,q,le="value"in $s?$s.value:$s.textContent,_e=le.length;for(M=0;M<F&&P[M]===le[M];M++);var we=F-M;for(q=1;q<=we&&P[F-q]===le[_e-q];q++);return Ui=le.slice(M,1<q?1-q:void 0)}function Na(M){var P=M.keyCode;return"charCode"in M?(M=M.charCode,M===0&&P===13&&(M=13)):M=P,M===10&&(M=13),32<=M||M===13?M:0}function Vi(){return!0}function uo(){return!1}function qn(M){function P(F,q,le,_e,we){this._reactName=F,this._targetInst=le,this.type=q,this.nativeEvent=_e,this.target=we,this.currentTarget=null;for(var Fe in M)M.hasOwnProperty(Fe)&&(F=M[Fe],this[Fe]=F?F(_e):_e[Fe]);return this.isDefaultPrevented=(_e.defaultPrevented!=null?_e.defaultPrevented:_e.returnValue===!1)?Vi:uo,this.isPropagationStopped=uo,this}return fe(P.prototype,{preventDefault:function(){this.defaultPrevented=!0;var F=this.nativeEvent;F&&(F.preventDefault?F.preventDefault():typeof F.returnValue!="unknown"&&(F.returnValue=!1),this.isDefaultPrevented=Vi)},stopPropagation:function(){var F=this.nativeEvent;F&&(F.stopPropagation?F.stopPropagation():typeof F.cancelBubble!="unknown"&&(F.cancelBubble=!0),this.isPropagationStopped=Vi)},persist:function(){},isPersistent:Vi}),P}var ui={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(M){return M.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zl=qn(ui),Wi=fe({},ui,{view:0,detail:0}),zd=qn(Wi),ec,Bn,Ha,$n=fe({},Wi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ds,button:0,buttons:0,relatedTarget:function(M){return M.relatedTarget===void 0?M.fromElement===M.srcElement?M.toElement:M.fromElement:M.relatedTarget},movementX:function(M){return"movementX"in M?M.movementX:(M!==Ha&&(Ha&&M.type==="mousemove"?(ec=M.screenX-Ha.screenX,Bn=M.screenY-Ha.screenY):Bn=ec=0,Ha=M),ec)},movementY:function(M){return"movementY"in M?M.movementY:Bn}}),Gd=qn($n),Ud=fe({},$n,{dataTransfer:0}),Is=qn(Ud),tc=fe({},Wi,{relatedTarget:0}),Ya=qn(tc),Br=fe({},ui,{animationName:0,elapsedTime:0,pseudoElement:0}),Ls=qn(Br),Su=fe({},ui,{clipboardData:function(M){return"clipboardData"in M?M.clipboardData:window.clipboardData}}),mf=qn(Su),wu=fe({},ui,{data:0}),Vd=qn(wu),hf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},gf={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Wd={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function rc(M){var P=this.nativeEvent;return P.getModifierState?P.getModifierState(M):(M=Wd[M])?!!P[M]:!1}function Ds(){return rc}var xf=fe({},Wi,{key:function(M){if(M.key){var P=hf[M.key]||M.key;if(P!=="Unidentified")return P}return M.type==="keypress"?(M=Na(M),M===13?"Enter":String.fromCharCode(M)):M.type==="keydown"||M.type==="keyup"?gf[M.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ds,charCode:function(M){return M.type==="keypress"?Na(M):0},keyCode:function(M){return M.type==="keydown"||M.type==="keyup"?M.keyCode:0},which:function(M){return M.type==="keypress"?Na(M):M.type==="keydown"||M.type==="keyup"?M.keyCode:0}}),qd=qn(xf),Kd=fe({},$n,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),nc=qn(Kd),Mu=fe({},Wi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ds}),Jd=qn(Mu),_f=fe({},ui,{propertyName:0,elapsedTime:0,pseudoElement:0}),Tu=qn(_f),Pu=fe({},$n,{deltaX:function(M){return"deltaX"in M?M.deltaX:"wheelDeltaX"in M?-M.wheelDeltaX:0},deltaY:function(M){return"deltaY"in M?M.deltaY:"wheelDeltaY"in M?-M.wheelDeltaY:"wheelDelta"in M?-M.wheelDelta:0},deltaZ:0,deltaMode:0}),yf=qn(Pu),Qd=[9,13,27,32],zn=C&&"CompositionEvent"in window,di=null;C&&"documentMode"in document&&(di=document.documentMode);var Ba=C&&"TextEvent"in window&&!di,Ru=C&&(!zn||di&&8<di&&11>=di),$u=" ",Xd=!1;function Zd(M,P){switch(M){case"keyup":return Qd.indexOf(P.keyCode)!==-1;case"keydown":return P.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ep(M){return M=M.detail,typeof M=="object"&&"data"in M?M.data:null}var qi=!1;function vf(M,P){switch(M){case"compositionend":return ep(P);case"keypress":return P.which!==32?null:(Xd=!0,$u);case"textInput":return M=P.data,M===$u&&Xd?null:M;default:return null}}function Ki(M,P){if(qi)return M==="compositionend"||!zn&&Zd(M,P)?(M=ks(),Ui=ln=$s=null,qi=!1,M):null;switch(M){case"paste":return null;case"keypress":if(!(P.ctrlKey||P.altKey||P.metaKey)||P.ctrlKey&&P.altKey){if(P.char&&1<P.char.length)return P.char;if(P.which)return String.fromCharCode(P.which)}return null;case"compositionend":return Ru&&P.locale!=="ko"?null:P.data;default:return null}}var bf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tp(M){var P=M&&M.nodeName&&M.nodeName.toLowerCase();return P==="input"?!!bf[M.type]:P==="textarea"}function oc(M,P,F,q){xr(q),P=Xa(P,"onChange"),0<P.length&&(F=new Zl("onChange","change",null,F,q),M.push({event:F,listeners:P}))}var Ji=null,So=null;function sc(M){qa(M,0)}function ic(M){var P=wn(M);if(Ie(P))return M}function Ef(M,P){if(M==="change")return P}var rp=!1;if(C){var As;if(C){var po="oninput"in document;if(!po){var Iu=document.createElement("div");Iu.setAttribute("oninput","return;"),po=typeof Iu.oninput=="function"}As=po}else As=!1;rp=As&&(!document.documentMode||9<document.documentMode)}function np(){Ji&&(Ji.detachEvent("onpropertychange",op),So=Ji=null)}function op(M){if(M.propertyName==="value"&&ic(So)){var P=[];oc(P,So,M,dr(M)),Rn(sc,P)}}function Cf(M,P,F){M==="focusin"?(np(),Ji=P,So=F,Ji.attachEvent("onpropertychange",op)):M==="focusout"&&np()}function Sf(M){if(M==="selectionchange"||M==="keyup"||M==="keydown")return ic(So)}function wf(M,P){if(M==="click")return ic(P)}function Qi(M,P){if(M==="input"||M==="change")return ic(P)}function Qe(M,P){return M===P&&(M!==0||1/M===1/P)||M!==M&&P!==P}var ft=typeof Object.is=="function"?Object.is:Qe;function ct(M,P){if(ft(M,P))return!0;if(typeof M!="object"||M===null||typeof P!="object"||P===null)return!1;var F=Object.keys(M),q=Object.keys(P);if(F.length!==q.length)return!1;for(q=0;q<F.length;q++){var le=F[q];if(!S.call(P,le)||!ft(M[le],P[le]))return!1}return!0}function Yt(M){for(;M&&M.firstChild;)M=M.firstChild;return M}function cr(M,P){var F=Yt(M);M=0;for(var q;F;){if(F.nodeType===3){if(q=M+F.textContent.length,M<=P&&q>=P)return{node:F,offset:P-M};M=q}e:{for(;F;){if(F.nextSibling){F=F.nextSibling;break e}F=F.parentNode}F=void 0}F=Yt(F)}}function Pr(M,P){return M&&P?M===P?!0:M&&M.nodeType===3?!1:P&&P.nodeType===3?Pr(M,P.parentNode):"contains"in M?M.contains(P):M.compareDocumentPosition?!!(M.compareDocumentPosition(P)&16):!1:!1}function Xr(){for(var M=window,P=Me();P instanceof M.HTMLIFrameElement;){try{var F=typeof P.contentWindow.location.href=="string"}catch(q){F=!1}if(F)M=P.contentWindow;else break;P=Me(M.document)}return P}function Ar(M){var P=M&&M.nodeName&&M.nodeName.toLowerCase();return P&&(P==="input"&&(M.type==="text"||M.type==="search"||M.type==="tel"||M.type==="url"||M.type==="password")||P==="textarea"||M.contentEditable==="true")}function Lu(M){var P=Xr(),F=M.focusedElem,q=M.selectionRange;if(P!==F&&F&&F.ownerDocument&&Pr(F.ownerDocument.documentElement,F)){if(q!==null&&Ar(F)){if(P=q.start,M=q.end,M===void 0&&(M=P),"selectionStart"in F)F.selectionStart=P,F.selectionEnd=Math.min(M,F.value.length);else if(M=(P=F.ownerDocument||document)&&P.defaultView||window,M.getSelection){M=M.getSelection();var le=F.textContent.length,_e=Math.min(q.start,le);q=q.end===void 0?_e:Math.min(q.end,le),!M.extend&&_e>q&&(le=q,q=_e,_e=le),le=cr(F,_e);var we=cr(F,q);le&&we&&(M.rangeCount!==1||M.anchorNode!==le.node||M.anchorOffset!==le.offset||M.focusNode!==we.node||M.focusOffset!==we.offset)&&(P=P.createRange(),P.setStart(le.node,le.offset),M.removeAllRanges(),_e>q?(M.addRange(P),M.extend(we.node,we.offset)):(P.setEnd(we.node,we.offset),M.addRange(P)))}}for(P=[],M=F;M=M.parentNode;)M.nodeType===1&&P.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;F<P.length;F++)M=P[F],M.element.scrollLeft=M.left,M.element.scrollTop=M.top}}var Mf=C&&"documentMode"in document&&11>=document.documentMode,Sn=null,Xi=null,za=null,Os=!1;function Ga(M,P,F){var q=F.window===F?F.document:F.nodeType===9?F:F.ownerDocument;Os||Sn==null||Sn!==Me(q)||(q=Sn,"selectionStart"in q&&Ar(q)?q={start:q.selectionStart,end:q.selectionEnd}:(q=(q.ownerDocument&&q.ownerDocument.defaultView||window).getSelection(),q={anchorNode:q.anchorNode,anchorOffset:q.anchorOffset,focusNode:q.focusNode,focusOffset:q.focusOffset}),za&&ct(za,q)||(za=q,q=Xa(Xi,"onSelect"),0<q.length&&(P=new Zl("onSelect","select",null,P,F),M.push({event:P,listeners:q}),P.target=Sn)))}function pi(M,P){var F={};return F[M.toLowerCase()]=P.toLowerCase(),F["Webkit"+M]="webkit"+P,F["Moz"+M]="moz"+P,F}var Sr={animationend:pi("Animation","AnimationEnd"),animationiteration:pi("Animation","AnimationIteration"),animationstart:pi("Animation","AnimationStart"),transitionend:pi("Transition","TransitionEnd")},Du={},Au={};C&&(Au=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);function gi(M){if(Du[M])return Du[M];if(!Sr[M])return M;var P=Sr[M],F;for(F in P)if(P.hasOwnProperty(F)&&F in Au)return Du[M]=P[F];return M}var sp=gi("animationend"),ip=gi("animationiteration"),ap=gi("animationstart"),Ua=gi("transitionend"),ds=new Map,Va="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ps(M,P){ds.set(M,P),E(P,[M])}for(var Zi=0;Zi<Va.length;Zi++){var ac=Va[Zi],lp=ac.toLowerCase(),lc=ac[0].toUpperCase()+ac.slice(1);ps(lp,"on"+lc)}ps(sp,"onAnimationEnd"),ps(ip,"onAnimationIteration"),ps(ap,"onAnimationStart"),ps("dblclick","onDoubleClick"),ps("focusin","onFocus"),ps("focusout","onBlur"),ps(Ua,"onTransitionEnd"),v("onMouseEnter",["mouseout","mouseover"]),v("onMouseLeave",["mouseout","mouseover"]),v("onPointerEnter",["pointerout","pointerover"]),v("onPointerLeave",["pointerout","pointerover"]),E("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),E("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),E("onBeforeInput",["compositionend","keypress","textInput","paste"]),E("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),E("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),E("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ea="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Wa=new Set("cancel close invalid load scroll toggle".split(" ").concat(ea));function Fs(M,P,F){var q=M.type||"unknown-event";M.currentTarget=F,Co(q,P,void 0,M),M.currentTarget=null}function qa(M,P){P=(P&4)!==0;for(var F=0;F<M.length;F++){var q=M[F],le=q.event;q=q.listeners;e:{var _e=void 0;if(P)for(var we=q.length-1;0<=we;we--){var Fe=q[we],Be=Fe.instance,at=Fe.currentTarget;if(Fe=Fe.listener,Be!==_e&&le.isPropagationStopped())break e;Fs(le,Fe,at),_e=Be}else for(we=0;we<q.length;we++){if(Fe=q[we],Be=Fe.instance,at=Fe.currentTarget,Fe=Fe.listener,Be!==_e&&le.isPropagationStopped())break e;Fs(le,Fe,at),_e=Be}}}if(Cn)throw M=vo,Cn=!1,vo=null,M}function Yr(M,P){var F=P[_i];F===void 0&&(F=P[_i]=new Set);var q=M+"__bubble";F.has(q)||(Ka(P,M,2,!1),F.add(q))}function Ou(M,P,F){var q=0;P&&(q|=4),Ka(F,M,q,P)}var cc="_reactListening"+Math.random().toString(36).slice(2);function Ns(M){if(!M[cc]){M[cc]=!0,x.forEach(function(F){F!=="selectionchange"&&(Wa.has(F)||Ou(F,!1,M),Ou(F,!0,M))});var P=M.nodeType===9?M:M.ownerDocument;P===null||P[cc]||(P[cc]=!0,Ou("selectionchange",!1,P))}}function Ka(M,P,F,q){switch(Cu(P)){case 1:var le=pf;break;case 4:le=ff;break;default:le=bu}F=le.bind(null,P,F,M),le=void 0,!$r||P!=="touchstart"&&P!=="touchmove"&&P!=="wheel"||(le=!0),q?le!==void 0?M.addEventListener(P,F,{capture:!0,passive:le}):M.addEventListener(P,F,!0):le!==void 0?M.addEventListener(P,F,{passive:le}):M.addEventListener(P,F,!1)}function Ja(M,P,F,q,le){var _e=q;if((P&1)===0&&(P&2)===0&&q!==null)e:for(;;){if(q===null)return;var we=q.tag;if(we===3||we===4){var Fe=q.stateNode.containerInfo;if(Fe===le||Fe.nodeType===8&&Fe.parentNode===le)break;if(we===4)for(we=q.return;we!==null;){var Be=we.tag;if((Be===3||Be===4)&&(Be=we.stateNode.containerInfo,Be===le||Be.nodeType===8&&Be.parentNode===le))return;we=we.return}for(;Fe!==null;){if(we=Mo(Fe),we===null)return;if(Be=we.tag,Be===5||Be===6){q=_e=we;continue e}Fe=Fe.parentNode}}q=q.return}Rn(function(){var at=_e,Tt=dr(F),$t=[];e:{var Mt=ds.get(M);if(Mt!==void 0){var jt=Zl,Bt=M;switch(M){case"keypress":if(Na(F)===0)break e;case"keydown":case"keyup":jt=qd;break;case"focusin":Bt="focus",jt=Ya;break;case"focusout":Bt="blur",jt=Ya;break;case"beforeblur":case"afterblur":jt=Ya;break;case"click":if(F.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":jt=Gd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":jt=Is;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":jt=Jd;break;case sp:case ip:case ap:jt=Ls;break;case Ua:jt=Tu;break;case"scroll":jt=zd;break;case"wheel":jt=yf;break;case"copy":case"cut":case"paste":jt=mf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":jt=nc}var zt=(P&4)!==0,qr=!zt&&M==="scroll",nt=zt?Mt!==null?Mt+"Capture":null:Mt;zt=[];for(var Ke=at,st;Ke!==null;){st=Ke;var kt=st.stateNode;if(st.tag===5&&kt!==null&&(st=kt,nt!==null&&(kt=Nr(Ke,nt),kt!=null&&zt.push(Qa(Ke,kt,st)))),qr)break;Ke=Ke.return}0<zt.length&&(Mt=new jt(Mt,Bt,null,F,Tt),$t.push({event:Mt,listeners:zt}))}}if((P&7)===0){e:{if(Mt=M==="mouseover"||M==="pointerover",jt=M==="mouseout"||M==="pointerout",Mt&&F!==Qt&&(Bt=F.relatedTarget||F.fromElement)&&(Mo(Bt)||Bt[wo]))break e;if((jt||Mt)&&(Mt=Tt.window===Tt?Tt:(Mt=Tt.ownerDocument)?Mt.defaultView||Mt.parentWindow:window,jt?(Bt=F.relatedTarget||F.toElement,jt=at,Bt=Bt?Mo(Bt):null,Bt!==null&&(qr=xt(Bt),Bt!==qr||Bt.tag!==5&&Bt.tag!==6)&&(Bt=null)):(jt=null,Bt=at),jt!==Bt)){if(zt=Gd,kt="onMouseLeave",nt="onMouseEnter",Ke="mouse",(M==="pointerout"||M==="pointerover")&&(zt=nc,kt="onPointerLeave",nt="onPointerEnter",Ke="pointer"),qr=jt==null?Mt:wn(jt),st=Bt==null?Mt:wn(Bt),Mt=new zt(kt,Ke+"leave",jt,F,Tt),Mt.target=qr,Mt.relatedTarget=st,kt=null,Mo(Tt)===at&&(zt=new zt(nt,Ke+"enter",Bt,F,Tt),zt.target=st,zt.relatedTarget=qr,kt=zt),qr=kt,jt&&Bt)t:{for(zt=jt,nt=Bt,Ke=0,st=zt;st;st=ra(st))Ke++;for(st=0,kt=nt;kt;kt=ra(kt))st++;for(;0<Ke-st;)zt=ra(zt),Ke--;for(;0<st-Ke;)nt=ra(nt),st--;for(;Ke--;){if(zt===nt||nt!==null&&zt===nt.alternate)break t;zt=ra(zt),nt=ra(nt)}zt=null}else zt=null;jt!==null&&cp($t,Mt,jt,zt,!1),Bt!==null&&qr!==null&&cp($t,qr,Bt,zt,!0)}}e:{if(Mt=at?wn(at):window,jt=Mt.nodeName&&Mt.nodeName.toLowerCase(),jt==="select"||jt==="input"&&Mt.type==="file")var Gt=Ef;else if(tp(Mt))if(rp)Gt=Qi;else{Gt=Sf;var er=Cf}else(jt=Mt.nodeName)&&jt.toLowerCase()==="input"&&(Mt.type==="checkbox"||Mt.type==="radio")&&(Gt=wf);if(Gt&&(Gt=Gt(M,at))){oc($t,Gt,F,Tt);break e}er&&er(M,Mt,at),M==="focusout"&&(er=Mt._wrapperState)&&er.controlled&&Mt.type==="number"&&gt(Mt,"number",Mt.value)}switch(er=at?wn(at):window,M){case"focusin":(tp(er)||er.contentEditable==="true")&&(Sn=er,Xi=at,za=null);break;case"focusout":za=Xi=Sn=null;break;case"mousedown":Os=!0;break;case"contextmenu":case"mouseup":case"dragend":Os=!1,Ga($t,F,Tt);break;case"selectionchange":if(Mf)break;case"keydown":case"keyup":Ga($t,F,Tt)}var rr;if(zn)e:{switch(M){case"compositionstart":var or="onCompositionStart";break e;case"compositionend":or="onCompositionEnd";break e;case"compositionupdate":or="onCompositionUpdate";break e}or=void 0}else qi?Zd(M,F)&&(or="onCompositionEnd"):M==="keydown"&&F.keyCode===229&&(or="onCompositionStart");or&&(Ru&&F.locale!=="ko"&&(qi||or!=="onCompositionStart"?or==="onCompositionEnd"&&qi&&(rr=ks()):($s=Tt,ln="value"in $s?$s.value:$s.textContent,qi=!0)),er=Xa(at,or),0<er.length&&(or=new Vd(or,M,null,F,Tt),$t.push({event:or,listeners:er}),rr?or.data=rr:(rr=ep(F),rr!==null&&(or.data=rr)))),(rr=Ba?vf(M,F):Ki(M,F))&&(at=Xa(at,"onBeforeInput"),0<at.length&&(Tt=new Vd("onBeforeInput","beforeinput",null,F,Tt),$t.push({event:Tt,listeners:at}),Tt.data=rr))}qa($t,P)})}function Qa(M,P,F){return{instance:M,listener:P,currentTarget:F}}function Xa(M,P){for(var F=P+"Capture",q=[];M!==null;){var le=M,_e=le.stateNode;le.tag===5&&_e!==null&&(le=_e,_e=Nr(M,F),_e!=null&&q.unshift(Qa(M,_e,le)),_e=Nr(M,P),_e!=null&&q.push(Qa(M,_e,le))),M=M.return}return q}function ra(M){if(M===null)return null;do M=M.return;while(M&&M.tag!==5);return M||null}function cp(M,P,F,q,le){for(var _e=P._reactName,we=[];F!==null&&F!==q;){var Fe=F,Be=Fe.alternate,at=Fe.stateNode;if(Be!==null&&Be===q)break;Fe.tag===5&&at!==null&&(Fe=at,le?(Be=Nr(F,_e),Be!=null&&we.unshift(Qa(F,Be,Fe))):le||(Be=Nr(F,_e),Be!=null&&we.push(Qa(F,Be,Fe)))),F=F.return}we.length!==0&&M.push({event:P,listeners:we})}var cn=/\r\n?/g,In=/\u0000|\uFFFD/g;function up(M){return(typeof M=="string"?M:""+M).replace(cn,`
30
30
  `).replace(In,"")}function uc(M,P,F){if(P=up(P),up(M)!==P&&F)throw Error(g(425))}function Za(){}var Fu=null,tl=null;function xi(M,P){return M==="textarea"||M==="noscript"||typeof P.children=="string"||typeof P.children=="number"||typeof P.dangerouslySetInnerHTML=="object"&&P.dangerouslySetInnerHTML!==null&&P.dangerouslySetInnerHTML.__html!=null}var rl=typeof setTimeout=="function"?setTimeout:void 0,na=typeof clearTimeout=="function"?clearTimeout:void 0,oa=typeof Promise=="function"?Promise:void 0,ol=typeof queueMicrotask=="function"?queueMicrotask:typeof oa!="undefined"?function(M){return oa.resolve(null).then(M).catch(dc)}:rl;function dc(M){setTimeout(function(){throw M})}function js(M,P){var F=P,q=0;do{var le=F.nextSibling;if(M.removeChild(F),le&&le.nodeType===8)if(F=le.data,F==="/$"){if(q===0){M.removeChild(le),Dr(P);return}q--}else F!=="$"&&F!=="$?"&&F!=="$!"||q++;F=le}while(F);Dr(P)}function Hs(M){for(;M!=null;M=M.nextSibling){var P=M.nodeType;if(P===1||P===3)break;if(P===8){if(P=M.data,P==="$"||P==="$!"||P==="$?")break;if(P==="/$")return null}}return M}function dp(M){M=M.previousSibling;for(var P=0;M;){if(M.nodeType===8){var F=M.data;if(F==="$"||F==="$!"||F==="$?"){if(P===0)return M;P--}else F==="/$"&&P++}M=M.previousSibling}return null}var sa=Math.random().toString(36).slice(2),Xo="__reactFiber$"+sa,il="__reactProps$"+sa,wo="__reactContainer$"+sa,_i="__reactEvents$"+sa,pp="__reactListeners$"+sa,Re="__reactHandles$"+sa;function Mo(M){var P=M[Xo];if(P)return P;for(var F=M.parentNode;F;){if(P=F[wo]||F[Xo]){if(F=P.alternate,P.child!==null||F!==null&&F.child!==null)for(M=dp(M);M!==null;){if(F=M[Xo])return F;M=dp(M)}return P}M=F,F=M.parentNode}return null}function Ys(M){return M=M[Xo]||M[wo],!M||M.tag!==5&&M.tag!==6&&M.tag!==13&&M.tag!==3?null:M}function wn(M){if(M.tag===5||M.tag===6)return M.stateNode;throw Error(g(33))}function _r(M){return M[il]||null}var Nu=[],ia=-1;function Bs(M){return{current:M}}function Lr(M){0>ia||(M.current=Nu[ia],Nu[ia]=null,ia--)}function Hr(M,P){ia++,Nu[ia]=M.current,M.current=P}var zs={},Ln=Bs(zs),Kn=Bs(!1),yi=zs;function Jn(M,P){var F=M.type.contextTypes;if(!F)return zs;var q=M.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===P)return q.__reactInternalMemoizedMaskedChildContext;var le={},_e;for(_e in F)le[_e]=P[_e];return q&&(M=M.stateNode,M.__reactInternalMemoizedUnmaskedChildContext=P,M.__reactInternalMemoizedMaskedChildContext=le),le}function Qn(M){return M=M.childContextTypes,M!=null}function pc(){Lr(Kn),Lr(Ln)}function fp(M,P,F){if(Ln.current!==zs)throw Error(g(168));Hr(Ln,P),Hr(Kn,F)}function mp(M,P,F){var q=M.stateNode;if(P=P.childContextTypes,typeof q.getChildContext!="function")return F;q=q.getChildContext();for(var le in q)if(!(le in P))throw Error(g(108,Pe(M)||"Unknown",le));return fe({},F,q)}function fc(M){return M=(M=M.stateNode)&&M.__reactInternalMemoizedMergedChildContext||zs,yi=Ln.current,Hr(Ln,M),Hr(Kn,Kn.current),!0}function Zo(M,P,F){var q=M.stateNode;if(!q)throw Error(g(169));F?(M=mp(M,P,yi),q.__reactInternalMemoizedMergedChildContext=M,Lr(Kn),Lr(Ln),Hr(Ln,M)):Lr(Kn),Hr(Kn,F)}var fs=null,mc=!1,ju=!1;function hp(M){fs===null?fs=[M]:fs.push(M)}function Tf(M){mc=!0,hp(M)}function Xn(){if(!ju&&fs!==null){ju=!0;var M=0,P=kr;try{var F=fs;for(kr=1;M<F.length;M++){var q=F[M];do q=q(!0);while(q!==null)}fs=null,mc=!1}catch(le){throw fs!==null&&(fs=fs.slice(M+1)),Er(pu,Xn),le}finally{kr=P,ju=!1}}return null}var aa=[],la=0,Zn=null,hc=0,To=[],Po=0,Ei=null,hs=1,ts="";function Gs(M,P){aa[la++]=hc,aa[la++]=Zn,Zn=M,hc=P}function gp(M,P,F){To[Po++]=hs,To[Po++]=ts,To[Po++]=Ei,Ei=M;var q=hs;M=ts;var le=32-jo(q)-1;q&=~(1<<le),F+=1;var _e=32-jo(P)+le;if(30<_e){var we=le-le%5;_e=(q&(1<<we)-1).toString(32),q>>=we,le-=we,hs=1<<32-jo(P)+le|F<<le|q,ts=_e+M}else hs=1<<_e|F<<le|q,ts=M}function Hu(M){M.return!==null&&(Gs(M,1),gp(M,1,0))}function al(M){for(;M===Zn;)Zn=aa[--la],aa[la]=null,hc=aa[--la],aa[la]=null;for(;M===Ei;)Ei=To[--Po],To[Po]=null,ts=To[--Po],To[Po]=null,hs=To[--Po],To[Po]=null}var Mn=null,Dn=null,zr=!1,Ro=null;function xp(M,P){var F=Ao(5,null,null,0);F.elementType="DELETED",F.stateNode=P,F.return=M,P=M.deletions,P===null?(M.deletions=[F],M.flags|=16):P.push(F)}function Ho(M,P){switch(M.tag){case 5:var F=M.type;return P=P.nodeType!==1||F.toLowerCase()!==P.nodeName.toLowerCase()?null:P,P!==null?(M.stateNode=P,Mn=M,Dn=Hs(P.firstChild),!0):!1;case 6:return P=M.pendingProps===""||P.nodeType!==3?null:P,P!==null?(M.stateNode=P,Mn=M,Dn=null,!0):!1;case 13:return P=P.nodeType!==8?null:P,P!==null?(F=Ei!==null?{id:hs,overflow:ts}:null,M.memoizedState={dehydrated:P,treeContext:F,retryLane:1073741824},F=Ao(18,null,null,0),F.stateNode=P,F.return=M,M.child=F,Mn=M,Dn=null,!0):!1;default:return!1}}function ll(M){return(M.mode&1)!==0&&(M.flags&128)===0}function gs(M){if(zr){var P=Dn;if(P){var F=P;if(!Ho(M,P)){if(ll(M))throw Error(g(418));P=Hs(F.nextSibling);var q=Mn;P&&Ho(M,P)?xp(q,F):(M.flags=M.flags&-4097|2,zr=!1,Mn=M)}}else{if(ll(M))throw Error(g(418));M.flags=M.flags&-4097|2,zr=!1,Mn=M}}}function mo(M){for(M=M.return;M!==null&&M.tag!==5&&M.tag!==3&&M.tag!==13;)M=M.return;Mn=M}function gc(M){if(M!==Mn)return!1;if(!zr)return mo(M),zr=!0,!1;var P;if((P=M.tag!==3)&&!(P=M.tag!==5)&&(P=M.type,P=P!=="head"&&P!=="body"&&!xi(M.type,M.memoizedProps)),P&&(P=Dn)){if(ll(M))throw Yu(),Error(g(418));for(;P;)xp(M,P),P=Hs(P.nextSibling)}if(mo(M),M.tag===13){if(M=M.memoizedState,M=M!==null?M.dehydrated:null,!M)throw Error(g(317));e:{for(M=M.nextSibling,P=0;M;){if(M.nodeType===8){var F=M.data;if(F==="/$"){if(P===0){Dn=Hs(M.nextSibling);break e}P--}else F!=="$"&&F!=="$!"&&F!=="$?"||P++}M=M.nextSibling}Dn=null}}else Dn=Mn?Hs(M.stateNode.nextSibling):null;return!0}function Yu(){for(var M=Dn;M;)M=Hs(M.nextSibling)}function Ci(){Dn=Mn=null,zr=!1}function Si(M){Ro===null?Ro=[M]:Ro.push(M)}var Us=Y.ReactCurrentBatchConfig;function ua(M,P,F){if(M=F.ref,M!==null&&typeof M!="function"&&typeof M!="object"){if(F._owner){if(F=F._owner,F){if(F.tag!==1)throw Error(g(309));var q=F.stateNode}if(!q)throw Error(g(147,M));var le=q,_e=""+M;return P!==null&&P.ref!==null&&typeof P.ref=="function"&&P.ref._stringRef===_e?P.ref:(P=function(we){var Fe=le.refs;we===null?delete Fe[_e]:Fe[_e]=we},P._stringRef=_e,P)}if(typeof M!="string")throw Error(g(284));if(!F._owner)throw Error(g(290,M))}return M}function xc(M,P){throw M=Object.prototype.toString.call(P),Error(g(31,M==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":M))}function cl(M){var P=M._init;return P(M._payload)}function _p(M){function P(nt,Ke){if(M){var st=nt.deletions;st===null?(nt.deletions=[Ke],nt.flags|=16):st.push(Ke)}}function F(nt,Ke){if(!M)return null;for(;Ke!==null;)P(nt,Ke),Ke=Ke.sibling;return null}function q(nt,Ke){for(nt=new Map;Ke!==null;)Ke.key!==null?nt.set(Ke.key,Ke):nt.set(Ke.index,Ke),Ke=Ke.sibling;return nt}function le(nt,Ke){return nt=ii(nt,Ke),nt.index=0,nt.sibling=null,nt}function _e(nt,Ke,st){return nt.index=st,M?(st=nt.alternate,st!==null?(st=st.index,st<Ke?(nt.flags|=2,Ke):st):(nt.flags|=2,Ke)):(nt.flags|=1048576,Ke)}function we(nt){return M&&nt.alternate===null&&(nt.flags|=2),nt}function Fe(nt,Ke,st,kt){return Ke===null||Ke.tag!==6?(Ke=Pd(st,nt.mode,kt),Ke.return=nt,Ke):(Ke=le(Ke,st),Ke.return=nt,Ke)}function Be(nt,Ke,st,kt){var Gt=st.type;return Gt===V?Tt(nt,Ke,st.props.children,kt,st.key):Ke!==null&&(Ke.elementType===Gt||typeof Gt=="object"&&Gt!==null&&Gt.$$typeof===ce&&cl(Gt)===Ke.type)?(kt=le(Ke,st.props),kt.ref=ua(nt,Ke,st),kt.return=nt,kt):(kt=Ni(st.type,st.key,st.props,null,nt.mode,kt),kt.ref=ua(nt,Ke,st),kt.return=nt,kt)}function at(nt,Ke,st,kt){return Ke===null||Ke.tag!==4||Ke.stateNode.containerInfo!==st.containerInfo||Ke.stateNode.implementation!==st.implementation?(Ke=Rd(st,nt.mode,kt),Ke.return=nt,Ke):(Ke=le(Ke,st.children||[]),Ke.return=nt,Ke)}function Tt(nt,Ke,st,kt,Gt){return Ke===null||Ke.tag!==7?(Ke=ji(st,nt.mode,kt,Gt),Ke.return=nt,Ke):(Ke=le(Ke,st),Ke.return=nt,Ke)}function $t(nt,Ke,st){if(typeof Ke=="string"&&Ke!==""||typeof Ke=="number")return Ke=Pd(""+Ke,nt.mode,st),Ke.return=nt,Ke;if(typeof Ke=="object"&&Ke!==null){switch(Ke.$$typeof){case W:return st=Ni(Ke.type,Ke.key,Ke.props,null,nt.mode,st),st.ref=ua(nt,null,Ke),st.return=nt,st;case U:return Ke=Rd(Ke,nt.mode,st),Ke.return=nt,Ke;case ce:var kt=Ke._init;return $t(nt,kt(Ke._payload),st)}if(He(Ke)||ue(Ke))return Ke=ji(Ke,nt.mode,st,null),Ke.return=nt,Ke;xc(nt,Ke)}return null}function Mt(nt,Ke,st,kt){var Gt=Ke!==null?Ke.key:null;if(typeof st=="string"&&st!==""||typeof st=="number")return Gt!==null?null:Fe(nt,Ke,""+st,kt);if(typeof st=="object"&&st!==null){switch(st.$$typeof){case W:return st.key===Gt?Be(nt,Ke,st,kt):null;case U:return st.key===Gt?at(nt,Ke,st,kt):null;case ce:return Gt=st._init,Mt(nt,Ke,Gt(st._payload),kt)}if(He(st)||ue(st))return Gt!==null?null:Tt(nt,Ke,st,kt,null);xc(nt,st)}return null}function jt(nt,Ke,st,kt,Gt){if(typeof kt=="string"&&kt!==""||typeof kt=="number")return nt=nt.get(st)||null,Fe(Ke,nt,""+kt,Gt);if(typeof kt=="object"&&kt!==null){switch(kt.$$typeof){case W:return nt=nt.get(kt.key===null?st:kt.key)||null,Be(Ke,nt,kt,Gt);case U:return nt=nt.get(kt.key===null?st:kt.key)||null,at(Ke,nt,kt,Gt);case ce:var er=kt._init;return jt(nt,Ke,st,er(kt._payload),Gt)}if(He(kt)||ue(kt))return nt=nt.get(st)||null,Tt(Ke,nt,kt,Gt,null);xc(Ke,kt)}return null}function Bt(nt,Ke,st,kt){for(var Gt=null,er=null,rr=Ke,or=Ke=0,pn=null;rr!==null&&or<st.length;or++){rr.index>or?(pn=rr,rr=null):pn=rr.sibling;var Rr=Mt(nt,rr,st[or],kt);if(Rr===null){rr===null&&(rr=pn);break}M&&rr&&Rr.alternate===null&&P(nt,rr),Ke=_e(Rr,Ke,or),er===null?Gt=Rr:er.sibling=Rr,er=Rr,rr=pn}if(or===st.length)return F(nt,rr),zr&&Gs(nt,or),Gt;if(rr===null){for(;or<st.length;or++)rr=$t(nt,st[or],kt),rr!==null&&(Ke=_e(rr,Ke,or),er===null?Gt=rr:er.sibling=rr,er=rr);return zr&&Gs(nt,or),Gt}for(rr=q(nt,rr);or<st.length;or++)pn=jt(rr,nt,or,st[or],kt),pn!==null&&(M&&pn.alternate!==null&&rr.delete(pn.key===null?or:pn.key),Ke=_e(pn,Ke,or),er===null?Gt=pn:er.sibling=pn,er=pn);return M&&rr.forEach(function(ai){return P(nt,ai)}),zr&&Gs(nt,or),Gt}function zt(nt,Ke,st,kt){var Gt=ue(st);if(typeof Gt!="function")throw Error(g(150));if(st=Gt.call(st),st==null)throw Error(g(151));for(var er=Gt=null,rr=Ke,or=Ke=0,pn=null,Rr=st.next();rr!==null&&!Rr.done;or++,Rr=st.next()){rr.index>or?(pn=rr,rr=null):pn=rr.sibling;var ai=Mt(nt,rr,Rr.value,kt);if(ai===null){rr===null&&(rr=pn);break}M&&rr&&ai.alternate===null&&P(nt,rr),Ke=_e(ai,Ke,or),er===null?Gt=ai:er.sibling=ai,er=ai,rr=pn}if(Rr.done)return F(nt,rr),zr&&Gs(nt,or),Gt;if(rr===null){for(;!Rr.done;or++,Rr=st.next())Rr=$t(nt,Rr.value,kt),Rr!==null&&(Ke=_e(Rr,Ke,or),er===null?Gt=Rr:er.sibling=Rr,er=Rr);return zr&&Gs(nt,or),Gt}for(rr=q(nt,rr);!Rr.done;or++,Rr=st.next())Rr=jt(rr,nt,or,Rr.value,kt),Rr!==null&&(M&&Rr.alternate!==null&&rr.delete(Rr.key===null?or:Rr.key),Ke=_e(Rr,Ke,or),er===null?Gt=Rr:er.sibling=Rr,er=Rr);return M&&rr.forEach(function(Wf){return P(nt,Wf)}),zr&&Gs(nt,or),Gt}function qr(nt,Ke,st,kt){if(typeof st=="object"&&st!==null&&st.type===V&&st.key===null&&(st=st.props.children),typeof st=="object"&&st!==null){switch(st.$$typeof){case W:e:{for(var Gt=st.key,er=Ke;er!==null;){if(er.key===Gt){if(Gt=st.type,Gt===V){if(er.tag===7){F(nt,er.sibling),Ke=le(er,st.props.children),Ke.return=nt,nt=Ke;break e}}else if(er.elementType===Gt||typeof Gt=="object"&&Gt!==null&&Gt.$$typeof===ce&&cl(Gt)===er.type){F(nt,er.sibling),Ke=le(er,st.props),Ke.ref=ua(nt,er,st),Ke.return=nt,nt=Ke;break e}F(nt,er);break}else P(nt,er);er=er.sibling}st.type===V?(Ke=ji(st.props.children,nt.mode,kt,st.key),Ke.return=nt,nt=Ke):(kt=Ni(st.type,st.key,st.props,null,nt.mode,kt),kt.ref=ua(nt,Ke,st),kt.return=nt,nt=kt)}return we(nt);case U:e:{for(er=st.key;Ke!==null;){if(Ke.key===er)if(Ke.tag===4&&Ke.stateNode.containerInfo===st.containerInfo&&Ke.stateNode.implementation===st.implementation){F(nt,Ke.sibling),Ke=le(Ke,st.children||[]),Ke.return=nt,nt=Ke;break e}else{F(nt,Ke);break}else P(nt,Ke);Ke=Ke.sibling}Ke=Rd(st,nt.mode,kt),Ke.return=nt,nt=Ke}return we(nt);case ce:return er=st._init,qr(nt,Ke,er(st._payload),kt)}if(He(st))return Bt(nt,Ke,st,kt);if(ue(st))return zt(nt,Ke,st,kt);xc(nt,st)}return typeof st=="string"&&st!==""||typeof st=="number"?(st=""+st,Ke!==null&&Ke.tag===6?(F(nt,Ke.sibling),Ke=le(Ke,st),Ke.return=nt,nt=Ke):(F(nt,Ke),Ke=Pd(st,nt.mode,kt),Ke.return=nt,nt=Ke),we(nt)):F(nt,Ke)}return qr}var wi=_p(!0),xn=_p(!1),pa=Bs(null),ul=null,Gn=null,dl=null;function ma(){dl=Gn=ul=null}function xs(M){var P=pa.current;Lr(pa),M._currentValue=P}function _c(M,P,F){for(;M!==null;){var q=M.alternate;if((M.childLanes&P)!==P?(M.childLanes|=P,q!==null&&(q.childLanes|=P)):q!==null&&(q.childLanes&P)!==P&&(q.childLanes|=P),M===F)break;M=M.return}}function Zr(M,P){ul=M,dl=Gn=null,M=M.dependencies,M!==null&&M.firstContext!==null&&((M.lanes&P)!==0&&(Tn=!0),M.firstContext=null)}function to(M){var P=M._currentValue;if(dl!==M)if(M={context:M,memoizedValue:P,next:null},Gn===null){if(ul===null)throw Error(g(308));Gn=M,ul.dependencies={lanes:0,firstContext:M}}else Gn=Gn.next=M;return P}var Mi=null;function Bu(M){Mi===null?Mi=[M]:Mi.push(M)}function yp(M,P,F,q){var le=P.interleaved;return le===null?(F.next=F,Bu(P)):(F.next=le.next,le.next=F),P.interleaved=F,Yo(M,q)}function Yo(M,P){M.lanes|=P;var F=M.alternate;for(F!==null&&(F.lanes|=P),F=M,M=M.return;M!==null;)M.childLanes|=P,F=M.alternate,F!==null&&(F.childLanes|=P),F=M,M=M.return;return F.tag===3?F.stateNode:null}var Vs=!1;function Ti(M){M.updateQueue={baseState:M.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function zu(M,P){M=M.updateQueue,P.updateQueue===M&&(P.updateQueue={baseState:M.baseState,firstBaseUpdate:M.firstBaseUpdate,lastBaseUpdate:M.lastBaseUpdate,shared:M.shared,effects:M.effects})}function _s(M,P){return{eventTime:M,lane:P,tag:0,payload:null,callback:null,next:null}}function Ws(M,P,F){var q=M.updateQueue;if(q===null)return null;if(q=q.shared,(Mr&2)!==0){var le=q.pending;return le===null?P.next=P:(P.next=le.next,le.next=P),q.pending=P,Yo(M,F)}return le=q.interleaved,le===null?(P.next=P,Bu(q)):(P.next=le.next,le.next=P),q.interleaved=P,Yo(M,F)}function qs(M,P,F){if(P=P.updateQueue,P!==null&&(P=P.shared,(F&4194240)!==0)){var q=P.lanes;q&=M.pendingLanes,F|=q,P.lanes=F,Vl(M,F)}}function vp(M,P){var F=M.updateQueue,q=M.alternate;if(q!==null&&(q=q.updateQueue,F===q)){var le=null,_e=null;if(F=F.firstBaseUpdate,F!==null){do{var we={eventTime:F.eventTime,lane:F.lane,tag:F.tag,payload:F.payload,callback:F.callback,next:null};_e===null?le=_e=we:_e=_e.next=we,F=F.next}while(F!==null);_e===null?le=_e=P:_e=_e.next=P}else le=_e=P;F={baseState:q.baseState,firstBaseUpdate:le,lastBaseUpdate:_e,shared:q.shared,effects:q.effects},M.updateQueue=F;return}M=F.lastBaseUpdate,M===null?F.firstBaseUpdate=P:M.next=P,F.lastBaseUpdate=P}function yc(M,P,F,q){var le=M.updateQueue;Vs=!1;var _e=le.firstBaseUpdate,we=le.lastBaseUpdate,Fe=le.shared.pending;if(Fe!==null){le.shared.pending=null;var Be=Fe,at=Be.next;Be.next=null,we===null?_e=at:we.next=at,we=Be;var Tt=M.alternate;Tt!==null&&(Tt=Tt.updateQueue,Fe=Tt.lastBaseUpdate,Fe!==we&&(Fe===null?Tt.firstBaseUpdate=at:Fe.next=at,Tt.lastBaseUpdate=Be))}if(_e!==null){var $t=le.baseState;we=0,Tt=at=Be=null,Fe=_e;do{var Mt=Fe.lane,jt=Fe.eventTime;if((q&Mt)===Mt){Tt!==null&&(Tt=Tt.next={eventTime:jt,lane:0,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null});e:{var Bt=M,zt=Fe;switch(Mt=P,jt=F,zt.tag){case 1:if(Bt=zt.payload,typeof Bt=="function"){$t=Bt.call(jt,$t,Mt);break e}$t=Bt;break e;case 3:Bt.flags=Bt.flags&-65537|128;case 0:if(Bt=zt.payload,Mt=typeof Bt=="function"?Bt.call(jt,$t,Mt):Bt,Mt==null)break e;$t=fe({},$t,Mt);break e;case 2:Vs=!0}}Fe.callback!==null&&Fe.lane!==0&&(M.flags|=64,Mt=le.effects,Mt===null?le.effects=[Fe]:Mt.push(Fe))}else jt={eventTime:jt,lane:Mt,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null},Tt===null?(at=Tt=jt,Be=$t):Tt=Tt.next=jt,we|=Mt;if(Fe=Fe.next,Fe===null){if(Fe=le.shared.pending,Fe===null)break;Mt=Fe,Fe=Mt.next,Mt.next=null,le.lastBaseUpdate=Mt,le.shared.pending=null}}while(!0);if(Tt===null&&(Be=$t),le.baseState=Be,le.firstBaseUpdate=at,le.lastBaseUpdate=Tt,P=le.shared.interleaved,P!==null){le=P;do we|=le.lane,le=le.next;while(le!==P)}else _e===null&&(le.shared.lanes=0);Di|=we,M.lanes=we,M.memoizedState=$t}}function vc(M,P,F){if(M=P.effects,P.effects=null,M!==null)for(P=0;P<M.length;P++){var q=M[P],le=q.callback;if(le!==null){if(q.callback=null,q=F,typeof le!="function")throw Error(g(191,le));le.call(q)}}}var ha={},rs=Bs(ha),fl=Bs(ha),hl=Bs(ha);function Ks(M){if(M===ha)throw Error(g(174));return M}function xl(M,P){switch(Hr(hl,P),Hr(fl,M),Hr(rs,ha),M=P.nodeType,M){case 9:case 11:P=(P=P.documentElement)?P.namespaceURI:dt(null,"");break;default:M=M===8?P.parentNode:P,P=M.namespaceURI||null,M=M.tagName,P=dt(P,M)}Lr(rs),Hr(rs,P)}function xa(){Lr(rs),Lr(fl),Lr(hl)}function bc(M){Ks(hl.current);var P=Ks(rs.current),F=dt(P,M.type);P!==F&&(Hr(fl,M),Hr(rs,F))}function Ec(M){fl.current===M&&(Lr(rs),Lr(fl))}var Gr=Bs(0);function _l(M){for(var P=M;P!==null;){if(P.tag===13){var F=P.memoizedState;if(F!==null&&(F=F.dehydrated,F===null||F.data==="$?"||F.data==="$!"))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if((P.flags&128)!==0)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}var _a=[];function Gu(){for(var M=0;M<_a.length;M++)_a[M]._workInProgressVersionPrimary=null;_a.length=0}var yl=Y.ReactCurrentDispatcher,Cc=Y.ReactCurrentBatchConfig,Pi=0,Ur=null,un=null,tn=null,vl=!1,Ri=!1,bl=0,Uu=0;function Kt(){throw Error(g(321))}function Vu(M,P){if(P===null)return!1;for(var F=0;F<P.length&&F<M.length;F++)if(!ft(M[F],P[F]))return!1;return!0}function Wu(M,P,F,q,le,_e){if(Pi=_e,Ur=P,P.memoizedState=null,P.updateQueue=null,P.lanes=0,yl.current=M===null||M.memoizedState===null?$f:kf,M=F(q,le),Ri){_e=0;do{if(Ri=!1,bl=0,25<=_e)throw Error(g(301));_e+=1,tn=un=null,P.updateQueue=null,yl.current=Rc,M=F(q,le)}while(Ri)}if(yl.current=ho,P=un!==null&&un.next!==null,Pi=0,tn=un=Ur=null,vl=!1,P)throw Error(g(300));return M}function $i(){var M=bl!==0;return bl=0,M}function Bo(){var M={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return tn===null?Ur.memoizedState=tn=M:tn=tn.next=M,tn}function $o(){if(un===null){var M=Ur.alternate;M=M!==null?M.memoizedState:null}else M=un.next;var P=tn===null?Ur.memoizedState:tn.next;if(P!==null)tn=P,un=M;else{if(M===null)throw Error(g(310));un=M,M={memoizedState:un.memoizedState,baseState:un.baseState,baseQueue:un.baseQueue,queue:un.queue,next:null},tn===null?Ur.memoizedState=tn=M:tn=tn.next=M}return tn}function El(M,P){return typeof P=="function"?P(M):P}function no(M){var P=$o(),F=P.queue;if(F===null)throw Error(g(311));F.lastRenderedReducer=M;var q=un,le=q.baseQueue,_e=F.pending;if(_e!==null){if(le!==null){var we=le.next;le.next=_e.next,_e.next=we}q.baseQueue=le=_e,F.pending=null}if(le!==null){_e=le.next,q=q.baseState;var Fe=we=null,Be=null,at=_e;do{var Tt=at.lane;if((Pi&Tt)===Tt)Be!==null&&(Be=Be.next={lane:0,action:at.action,hasEagerState:at.hasEagerState,eagerState:at.eagerState,next:null}),q=at.hasEagerState?at.eagerState:M(q,at.action);else{var $t={lane:Tt,action:at.action,hasEagerState:at.hasEagerState,eagerState:at.eagerState,next:null};Be===null?(Fe=Be=$t,we=q):Be=Be.next=$t,Ur.lanes|=Tt,Di|=Tt}at=at.next}while(at!==null&&at!==_e);Be===null?we=q:Be.next=Fe,ft(q,P.memoizedState)||(Tn=!0),P.memoizedState=q,P.baseState=we,P.baseQueue=Be,F.lastRenderedState=q}if(M=F.interleaved,M!==null){le=M;do _e=le.lane,Ur.lanes|=_e,Di|=_e,le=le.next;while(le!==M)}else le===null&&(F.lanes=0);return[P.memoizedState,F.dispatch]}function qu(M){var P=$o(),F=P.queue;if(F===null)throw Error(g(311));F.lastRenderedReducer=M;var q=F.dispatch,le=F.pending,_e=P.memoizedState;if(le!==null){F.pending=null;var we=le=le.next;do _e=M(_e,we.action),we=we.next;while(we!==le);ft(_e,P.memoizedState)||(Tn=!0),P.memoizedState=_e,P.baseQueue===null&&(P.baseState=_e),F.lastRenderedState=_e}return[_e,q]}function Cl(){}function Sc(M,P){var F=Ur,q=$o(),le=P(),_e=!ft(q.memoizedState,le);if(_e&&(q.memoizedState=le,Tn=!0),q=q.queue,wl(oo.bind(null,F,q,M),[M]),q.getSnapshot!==P||_e||tn!==null&&tn.memoizedState.tag&1){if(F.flags|=2048,Js(9,Ju.bind(null,F,q,le,P),void 0,null),vn===null)throw Error(g(349));(Pi&30)!==0||Ku(F,P,le)}return le}function Ku(M,P,F){M.flags|=16384,M={getSnapshot:P,value:F},P=Ur.updateQueue,P===null?(P={lastEffect:null,stores:null},Ur.updateQueue=P,P.stores=[M]):(F=P.stores,F===null?P.stores=[M]:F.push(M))}function Ju(M,P,F,q){P.value=F,P.getSnapshot=q,ys(P)&&wc(M)}function oo(M,P,F){return F(function(){ys(P)&&wc(M)})}function ys(M){var P=M.getSnapshot;M=M.value;try{var F=P();return!ft(M,F)}catch(q){return!0}}function wc(M){var P=Yo(M,1);P!==null&&Uo(P,M,1,-1)}function Qu(M){var P=Bo();return typeof M=="function"&&(M=M()),P.memoizedState=P.baseState=M,M={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:El,lastRenderedState:M},P.queue=M,M=M.dispatch=Rf.bind(null,Ur,M),[P.memoizedState,M]}function Js(M,P,F,q){return M={tag:M,create:P,destroy:F,deps:q,next:null},P=Ur.updateQueue,P===null?(P={lastEffect:null,stores:null},Ur.updateQueue=P,P.lastEffect=M.next=M):(F=P.lastEffect,F===null?P.lastEffect=M.next=M:(q=F.next,F.next=M,M.next=q,P.lastEffect=M)),M}function Xu(){return $o().memoizedState}function ya(M,P,F,q){var le=Bo();Ur.flags|=M,le.memoizedState=Js(1|P,F,void 0,q===void 0?null:q)}function Sl(M,P,F,q){var le=$o();q=q===void 0?null:q;var _e=void 0;if(un!==null){var we=un.memoizedState;if(_e=we.destroy,q!==null&&Vu(q,we.deps)){le.memoizedState=Js(P,F,_e,q);return}}Ur.flags|=M,le.memoizedState=Js(1|P,F,_e,q)}function Mc(M,P){return ya(8390656,8,M,P)}function wl(M,P){return Sl(2048,8,M,P)}function vs(M,P){return Sl(4,2,M,P)}function bp(M,P){return Sl(4,4,M,P)}function Es(M,P){if(typeof P=="function")return M=M(),P(M),function(){P(null)};if(P!=null)return M=M(),P.current=M,function(){P.current=null}}function Zu(M,P,F){return F=F!=null?F.concat([M]):null,Sl(4,4,Es.bind(null,P,M),F)}function Tc(){}function Pc(M,P){var F=$o();P=P===void 0?null:P;var q=F.memoizedState;return q!==null&&P!==null&&Vu(P,q[1])?q[0]:(F.memoizedState=[M,P],M)}function Ep(M,P){var F=$o();P=P===void 0?null:P;var q=F.memoizedState;return q!==null&&P!==null&&Vu(P,q[1])?q[0]:(M=M(),F.memoizedState=[M,P],M)}function Cp(M,P,F){return(Pi&21)===0?(M.baseState&&(M.baseState=!1,Tn=!0),M.memoizedState=F):(ft(F,P)||(F=xu(),Ur.lanes|=F,Di|=F,M.baseState=!0),P)}function Pf(M,P){var F=kr;kr=F!==0&&4>F?F:4,M(!0);var q=Cc.transition;Cc.transition={};try{M(!1),P()}finally{kr=F,Cc.transition=q}}function ed(){return $o().memoizedState}function Sp(M,P,F){var q=ni(M);if(F={lane:q,action:F,hasEagerState:!1,eagerState:null,next:null},td(M))rd(P,F);else if(F=yp(M,P,F,q),F!==null){var le=Hn();Uo(F,M,q,le),Un(F,P,q)}}function Rf(M,P,F){var q=ni(M),le={lane:q,action:F,hasEagerState:!1,eagerState:null,next:null};if(td(M))rd(P,le);else{var _e=M.alternate;if(M.lanes===0&&(_e===null||_e.lanes===0)&&(_e=P.lastRenderedReducer,_e!==null))try{var we=P.lastRenderedState,Fe=_e(we,F);if(le.hasEagerState=!0,le.eagerState=Fe,ft(Fe,we)){var Be=P.interleaved;Be===null?(le.next=le,Bu(P)):(le.next=Be.next,Be.next=le),P.interleaved=le;return}}catch(at){}finally{}F=yp(M,P,le,q),F!==null&&(le=Hn(),Uo(F,M,q,le),Un(F,P,q))}}function td(M){var P=M.alternate;return M===Ur||P!==null&&P===Ur}function rd(M,P){Ri=vl=!0;var F=M.pending;F===null?P.next=P:(P.next=F.next,F.next=P),M.pending=P}function Un(M,P,F){if((F&4194240)!==0){var q=P.lanes;q&=M.pendingLanes,F|=q,P.lanes=F,Vl(M,F)}}var ho={readContext:to,useCallback:Kt,useContext:Kt,useEffect:Kt,useImperativeHandle:Kt,useInsertionEffect:Kt,useLayoutEffect:Kt,useMemo:Kt,useReducer:Kt,useRef:Kt,useState:Kt,useDebugValue:Kt,useDeferredValue:Kt,useTransition:Kt,useMutableSource:Kt,useSyncExternalStore:Kt,useId:Kt,unstable_isNewReconciler:!1},$f={readContext:to,useCallback:function(M,P){return Bo().memoizedState=[M,P===void 0?null:P],M},useContext:to,useEffect:Mc,useImperativeHandle:function(M,P,F){return F=F!=null?F.concat([M]):null,ya(4194308,4,Es.bind(null,P,M),F)},useLayoutEffect:function(M,P){return ya(4194308,4,M,P)},useInsertionEffect:function(M,P){return ya(4,2,M,P)},useMemo:function(M,P){var F=Bo();return P=P===void 0?null:P,M=M(),F.memoizedState=[M,P],M},useReducer:function(M,P,F){var q=Bo();return P=F!==void 0?F(P):P,q.memoizedState=q.baseState=P,M={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:M,lastRenderedState:P},q.queue=M,M=M.dispatch=Sp.bind(null,Ur,M),[q.memoizedState,M]},useRef:function(M){var P=Bo();return M={current:M},P.memoizedState=M},useState:Qu,useDebugValue:Tc,useDeferredValue:function(M){return Bo().memoizedState=M},useTransition:function(){var M=Qu(!1),P=M[0];return M=Pf.bind(null,M[1]),Bo().memoizedState=M,[P,M]},useMutableSource:function(){},useSyncExternalStore:function(M,P,F){var q=Ur,le=Bo();if(zr){if(F===void 0)throw Error(g(407));F=F()}else{if(F=P(),vn===null)throw Error(g(349));(Pi&30)!==0||Ku(q,P,F)}le.memoizedState=F;var _e={value:F,getSnapshot:P};return le.queue=_e,Mc(oo.bind(null,q,_e,M),[M]),q.flags|=2048,Js(9,Ju.bind(null,q,_e,F,P),void 0,null),F},useId:function(){var M=Bo(),P=vn.identifierPrefix;if(zr){var F=ts,q=hs;F=(q&~(1<<32-jo(q)-1)).toString(32)+F,P=":"+P+"R"+F,F=bl++,0<F&&(P+="H"+F.toString(32)),P+=":"}else F=Uu++,P=":"+P+"r"+F.toString(32)+":";return M.memoizedState=P},unstable_isNewReconciler:!1},kf={readContext:to,useCallback:Pc,useContext:to,useEffect:wl,useImperativeHandle:Zu,useInsertionEffect:vs,useLayoutEffect:bp,useMemo:Ep,useReducer:no,useRef:Xu,useState:function(){return no(El)},useDebugValue:Tc,useDeferredValue:function(M){var P=$o();return Cp(P,un.memoizedState,M)},useTransition:function(){var M=no(El)[0],P=$o().memoizedState;return[M,P]},useMutableSource:Cl,useSyncExternalStore:Sc,useId:ed,unstable_isNewReconciler:!1},Rc={readContext:to,useCallback:Pc,useContext:to,useEffect:wl,useImperativeHandle:Zu,useInsertionEffect:vs,useLayoutEffect:bp,useMemo:Ep,useReducer:qu,useRef:Xu,useState:function(){return qu(El)},useDebugValue:Tc,useDeferredValue:function(M){var P=$o();return un===null?P.memoizedState=M:Cp(P,un.memoizedState,M)},useTransition:function(){var M=qu(El)[0],P=$o().memoizedState;return[M,P]},useMutableSource:Cl,useSyncExternalStore:Sc,useId:ed,unstable_isNewReconciler:!1};function An(M,P){if(M&&M.defaultProps){P=fe({},P),M=M.defaultProps;for(var F in M)P[F]===void 0&&(P[F]=M[F]);return P}return P}function $c(M,P,F,q){P=M.memoizedState,F=F(q,P),F=F==null?P:fe({},P,F),M.memoizedState=F,M.lanes===0&&(M.updateQueue.baseState=F)}var Ml={isMounted:function(M){return(M=M._reactInternals)?xt(M)===M:!1},enqueueSetState:function(M,P,F){M=M._reactInternals;var q=Hn(),le=ni(M),_e=_s(q,le);_e.payload=P,F!=null&&(_e.callback=F),P=Ws(M,_e,le),P!==null&&(Uo(P,M,le,q),qs(P,M,le))},enqueueReplaceState:function(M,P,F){M=M._reactInternals;var q=Hn(),le=ni(M),_e=_s(q,le);_e.tag=1,_e.payload=P,F!=null&&(_e.callback=F),P=Ws(M,_e,le),P!==null&&(Uo(P,M,le,q),qs(P,M,le))},enqueueForceUpdate:function(M,P){M=M._reactInternals;var F=Hn(),q=ni(M),le=_s(F,q);le.tag=2,P!=null&&(le.callback=P),P=Ws(M,le,q),P!==null&&(Uo(P,M,q,F),qs(P,M,q))}};function wp(M,P,F,q,le,_e,we){return M=M.stateNode,typeof M.shouldComponentUpdate=="function"?M.shouldComponentUpdate(q,_e,we):P.prototype&&P.prototype.isPureReactComponent?!ct(F,q)||!ct(le,_e):!0}function nd(M,P,F){var q=!1,le=zs,_e=P.contextType;return typeof _e=="object"&&_e!==null?_e=to(_e):(le=Qn(P)?yi:Ln.current,q=P.contextTypes,_e=(q=q!=null)?Jn(M,le):zs),P=new P(F,_e),M.memoizedState=P.state!==null&&P.state!==void 0?P.state:null,P.updater=Ml,M.stateNode=P,P._reactInternals=M,q&&(M=M.stateNode,M.__reactInternalMemoizedUnmaskedChildContext=le,M.__reactInternalMemoizedMaskedChildContext=_e),P}function ki(M,P,F,q){M=P.state,typeof P.componentWillReceiveProps=="function"&&P.componentWillReceiveProps(F,q),typeof P.UNSAFE_componentWillReceiveProps=="function"&&P.UNSAFE_componentWillReceiveProps(F,q),P.state!==M&&Ml.enqueueReplaceState(P,P.state,null)}function Ii(M,P,F,q){var le=M.stateNode;le.props=F,le.state=M.memoizedState,le.refs={},Ti(M);var _e=P.contextType;typeof _e=="object"&&_e!==null?le.context=to(_e):(_e=Qn(P)?yi:Ln.current,le.context=Jn(M,_e)),le.state=M.memoizedState,_e=P.getDerivedStateFromProps,typeof _e=="function"&&($c(M,P,_e,F),le.state=M.memoizedState),typeof P.getDerivedStateFromProps=="function"||typeof le.getSnapshotBeforeUpdate=="function"||typeof le.UNSAFE_componentWillMount!="function"&&typeof le.componentWillMount!="function"||(P=le.state,typeof le.componentWillMount=="function"&&le.componentWillMount(),typeof le.UNSAFE_componentWillMount=="function"&&le.UNSAFE_componentWillMount(),P!==le.state&&Ml.enqueueReplaceState(le,le.state,null),yc(M,F,le,q),le.state=M.memoizedState),typeof le.componentDidMount=="function"&&(M.flags|=4194308)}function va(M,P){try{var F="",q=P;do F+=Te(q),q=q.return;while(q);var le=F}catch(_e){le=`
31
31
  Error generating stack: `+_e.message+`
32
- `+_e.stack}return{value:M,source:P,stack:le,digest:null}}function kc(M,P,F){return{value:M,source:null,stack:F!=null?F:null,digest:P!=null?P:null}}function Ic(M,P){try{console.error(P.value)}catch(F){setTimeout(function(){throw F})}}var Lc=typeof WeakMap=="function"?WeakMap:Map;function od(M,P,F){F=_s(-1,F),F.tag=3,F.payload={element:null};var q=P.value;return F.callback=function(){Vc||(Vc=!0,bd=q),Ic(M,P)},F}function Tl(M,P,F){F=_s(-1,F),F.tag=3;var q=M.type.getDerivedStateFromError;if(typeof q=="function"){var le=P.value;F.payload=function(){return q(le)},F.callback=function(){Ic(M,P)}}var _e=M.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(F.callback=function(){Ic(M,P),typeof q!="function"&&(ti===null?ti=new Set([this]):ti.add(this));var we=P.stack;this.componentDidCatch(P.value,{componentStack:we!==null?we:""})}),F}function Dc(M,P,F){var q=M.pingCache;if(q===null){q=M.pingCache=new Lc;var le=new Set;q.set(P,le)}else le=q.get(P),le===void 0&&(le=new Set,q.set(P,le));le.has(F)||(le.add(F),M=Up.bind(null,M,P,F),P.then(M,M))}function Pl(M){do{var P;if((P=M.tag===13)&&(P=M.memoizedState,P=P!==null?P.dehydrated!==null:!0),P)return M;M=M.return}while(M!==null);return null}function Mp(M,P,F,q,le){return(M.mode&1)===0?(M===P?M.flags|=65536:(M.flags|=128,F.flags|=131072,F.flags&=-52805,F.tag===1&&(F.alternate===null?F.tag=17:(P=_s(-1,1),P.tag=2,Ws(F,P,1))),F.lanes|=1),M):(M.flags|=65536,M.lanes=le,M)}var Tp=Y.ReactCurrentOwner,Tn=!1;function On(M,P,F,q){P.child=M===null?xn(P,null,F,q):wi(P,M.child,F,q)}function Ac(M,P,F,q,le){F=F.render;var _e=P.ref;return Zr(P,le),q=Wu(M,P,F,q,_e,le),F=$i(),M!==null&&!Tn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,Cs(M,P,le)):(zr&&F&&Hu(P),P.flags|=1,On(M,P,q,le),P.child)}function Pp(M,P,F,q,le){if(M===null){var _e=F.type;return typeof _e=="function"&&!Td(_e)&&_e.defaultProps===void 0&&F.compare===null&&F.defaultProps===void 0?(P.tag=15,P.type=_e,ad(M,P,_e,q,le)):(M=Ni(F.type,null,q,P,P.mode,le),M.ref=P.ref,M.return=P,P.child=M)}if(_e=M.child,(M.lanes&le)===0){var we=_e.memoizedProps;if(F=F.compare,F=F!==null?F:ct,F(we,q)&&M.ref===P.ref)return Cs(M,P,le)}return P.flags|=1,M=ii(_e,q),M.ref=P.ref,M.return=P,P.child=M}function ad(M,P,F,q,le){if(M!==null){var _e=M.memoizedProps;if(ct(_e,q)&&M.ref===P.ref)if(Tn=!1,P.pendingProps=q=_e,(M.lanes&le)!==0)(M.flags&131072)!==0&&(Tn=!0);else return P.lanes=M.lanes,Cs(M,P,le)}return Oc(M,P,F,q,le)}function ns(M,P,F){var q=P.pendingProps,le=q.children,_e=M!==null?M.memoizedState:null;if(q.mode==="hidden")if((P.mode&1)===0)P.memoizedState={baseLanes:0,cachePool:null,transitions:null},Hr(Sa,go),go|=F;else{if((F&1073741824)===0)return M=_e!==null?_e.baseLanes|F:F,P.lanes=P.childLanes=1073741824,P.memoizedState={baseLanes:M,cachePool:null,transitions:null},P.updateQueue=null,Hr(Sa,go),go|=M,null;P.memoizedState={baseLanes:0,cachePool:null,transitions:null},q=_e!==null?_e.baseLanes:F,Hr(Sa,go),go|=q}else _e!==null?(q=_e.baseLanes|F,P.memoizedState=null):q=F,Hr(Sa,go),go|=q;return On(M,P,le,F),P.child}function ld(M,P){var F=P.ref;(M===null&&F!==null||M!==null&&M.ref!==F)&&(P.flags|=512,P.flags|=2097152)}function Oc(M,P,F,q,le){var _e=Qn(F)?yi:Ln.current;return _e=Jn(P,_e),Zr(P,le),F=Wu(M,P,F,q,_e,le),q=$i(),M!==null&&!Tn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,Cs(M,P,le)):(zr&&q&&Hu(P),P.flags|=1,On(M,P,F,le),P.child)}function Rp(M,P,F,q,le){if(Qn(F)){var _e=!0;fc(P)}else _e=!1;if(Zr(P,le),P.stateNode===null)os(M,P),nd(P,F,q),Ii(P,F,q,le),q=!0;else if(M===null){var we=P.stateNode,Fe=P.memoizedProps;we.props=Fe;var Be=we.context,at=F.contextType;typeof at=="object"&&at!==null?at=to(at):(at=Qn(F)?yi:Ln.current,at=Jn(P,at));var Tt=F.getDerivedStateFromProps,$t=typeof Tt=="function"||typeof we.getSnapshotBeforeUpdate=="function";$t||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Fe!==q||Be!==at)&&ki(P,we,q,at),Vs=!1;var Mt=P.memoizedState;we.state=Mt,yc(P,q,we,le),Be=P.memoizedState,Fe!==q||Mt!==Be||Kn.current||Vs?(typeof Tt=="function"&&($c(P,F,Tt,q),Be=P.memoizedState),(Fe=Vs||wp(P,F,Fe,q,Mt,Be,at))?($t||typeof we.UNSAFE_componentWillMount!="function"&&typeof we.componentWillMount!="function"||(typeof we.componentWillMount=="function"&&we.componentWillMount(),typeof we.UNSAFE_componentWillMount=="function"&&we.UNSAFE_componentWillMount()),typeof we.componentDidMount=="function"&&(P.flags|=4194308)):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),P.memoizedProps=q,P.memoizedState=Be),we.props=q,we.state=Be,we.context=at,q=Fe):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),q=!1)}else{we=P.stateNode,zu(M,P),Fe=P.memoizedProps,at=P.type===P.elementType?Fe:An(P.type,Fe),we.props=at,$t=P.pendingProps,Mt=we.context,Be=F.contextType,typeof Be=="object"&&Be!==null?Be=to(Be):(Be=Qn(F)?yi:Ln.current,Be=Jn(P,Be));var jt=F.getDerivedStateFromProps;(Tt=typeof jt=="function"||typeof we.getSnapshotBeforeUpdate=="function")||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Fe!==$t||Mt!==Be)&&ki(P,we,q,Be),Vs=!1,Mt=P.memoizedState,we.state=Mt,yc(P,q,we,le);var Bt=P.memoizedState;Fe!==$t||Mt!==Bt||Kn.current||Vs?(typeof jt=="function"&&($c(P,F,jt,q),Bt=P.memoizedState),(at=Vs||wp(P,F,at,q,Mt,Bt,Be)||!1)?(Tt||typeof we.UNSAFE_componentWillUpdate!="function"&&typeof we.componentWillUpdate!="function"||(typeof we.componentWillUpdate=="function"&&we.componentWillUpdate(q,Bt,Be),typeof we.UNSAFE_componentWillUpdate=="function"&&we.UNSAFE_componentWillUpdate(q,Bt,Be)),typeof we.componentDidUpdate=="function"&&(P.flags|=4),typeof we.getSnapshotBeforeUpdate=="function"&&(P.flags|=1024)):(typeof we.componentDidUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=1024),P.memoizedProps=q,P.memoizedState=Bt),we.props=q,we.state=Bt,we.context=Be,q=at):(typeof we.componentDidUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=1024),q=!1)}return Fc(M,P,F,q,_e,le)}function Fc(M,P,F,q,le,_e){ld(M,P);var we=(P.flags&128)!==0;if(!q&&!we)return le&&Zo(P,F,!1),Cs(M,P,_e);q=P.stateNode,Tp.current=P;var Fe=we&&typeof F.getDerivedStateFromError!="function"?null:q.render();return P.flags|=1,M!==null&&we?(P.child=wi(P,M.child,null,_e),P.child=wi(P,null,Fe,_e)):On(M,P,Fe,_e),P.memoizedState=q.state,le&&Zo(P,F,!0),P.child}function $p(M){var P=M.stateNode;P.pendingContext?fp(M,P.pendingContext,P.pendingContext!==P.context):P.context&&fp(M,P.context,!1),xl(M,P.containerInfo)}function kp(M,P,F,q,le){return Ci(),Si(le),P.flags|=256,On(M,P,F,q),P.child}var zo={dehydrated:null,treeContext:null,retryLane:0};function Rl(M){return{baseLanes:M,cachePool:null,transitions:null}}function Nc(M,P,F){var q=P.pendingProps,le=Gr.current,_e=!1,we=(P.flags&128)!==0,Fe;if((Fe=we)||(Fe=M!==null&&M.memoizedState===null?!1:(le&2)!==0),Fe?(_e=!0,P.flags&=-129):(M===null||M.memoizedState!==null)&&(le|=1),Hr(Gr,le&1),M===null)return gs(P),M=P.memoizedState,M!==null&&(M=M.dehydrated,M!==null)?((P.mode&1)===0?P.lanes=1:M.data==="$!"?P.lanes=8:P.lanes=1073741824,null):(we=q.children,M=q.fallback,_e?(q=P.mode,_e=P.child,we={mode:"hidden",children:we},(q&1)===0&&_e!==null?(_e.childLanes=0,_e.pendingProps=we):_e=Xc(we,q,0,null),M=ji(M,q,F,null),_e.return=P,M.return=P,_e.sibling=M,P.child=_e,P.child.memoizedState=Rl(F),P.memoizedState=zo,M):$l(P,we));if(le=M.memoizedState,le!==null&&(Fe=le.dehydrated,Fe!==null))return ba(M,P,we,q,Fe,le,F);if(_e){_e=q.fallback,we=P.mode,le=M.child,Fe=le.sibling;var Be={mode:"hidden",children:q.children};return(we&1)===0&&P.child!==le?(q=P.child,q.childLanes=0,q.pendingProps=Be,P.deletions=null):(q=ii(le,Be),q.subtreeFlags=le.subtreeFlags&14680064),Fe!==null?_e=ii(Fe,_e):(_e=ji(_e,we,F,null),_e.flags|=2),_e.return=P,q.return=P,q.sibling=_e,P.child=q,q=_e,_e=P.child,we=M.child.memoizedState,we=we===null?Rl(F):{baseLanes:we.baseLanes|F,cachePool:null,transitions:we.transitions},_e.memoizedState=we,_e.childLanes=M.childLanes&~F,P.memoizedState=zo,q}return _e=M.child,M=_e.sibling,q=ii(_e,{mode:"visible",children:q.children}),(P.mode&1)===0&&(q.lanes=F),q.return=P,q.sibling=null,M!==null&&(F=P.deletions,F===null?(P.deletions=[M],P.flags|=16):F.push(M)),P.child=q,P.memoizedState=null,q}function $l(M,P){return P=Xc({mode:"visible",children:P},M.mode,0,null),P.return=M,M.child=P}function Li(M,P,F,q){return q!==null&&Si(q),wi(P,M.child,null,F),M=$l(P,P.pendingProps.children),M.flags|=2,P.memoizedState=null,M}function ba(M,P,F,q,le,_e,we){if(F)return P.flags&256?(P.flags&=-257,q=kc(Error(g(422))),Li(M,P,we,q)):P.memoizedState!==null?(P.child=M.child,P.flags|=128,null):(_e=q.fallback,le=P.mode,q=Xc({mode:"visible",children:q.children},le,0,null),_e=ji(_e,le,we,null),_e.flags|=2,q.return=P,_e.return=P,q.sibling=_e,P.child=q,(P.mode&1)!==0&&wi(P,M.child,null,we),P.child.memoizedState=Rl(we),P.memoizedState=zo,_e);if((P.mode&1)===0)return Li(M,P,we,null);if(le.data==="$!"){if(q=le.nextSibling&&le.nextSibling.dataset,q)var Fe=q.dgst;return q=Fe,_e=Error(g(419)),q=kc(_e,q,void 0),Li(M,P,we,q)}if(Fe=(we&M.childLanes)!==0,Tn||Fe){if(q=vn,q!==null){switch(we&-we){case 4:le=2;break;case 16:le=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:le=32;break;case 536870912:le=268435456;break;default:le=0}le=(le&(q.suspendedLanes|we))!==0?0:le,le!==0&&le!==_e.retryLane&&(_e.retryLane=le,Yo(M,le),Uo(q,M,le,-1))}return Md(),q=kc(Error(g(421))),Li(M,P,we,q)}return le.data==="$?"?(P.flags|=128,P.child=M.child,P=jf.bind(null,M),le._reactRetry=P,null):(M=_e.treeContext,Dn=Hs(le.nextSibling),Mn=P,zr=!0,Ro=null,M!==null&&(To[Po++]=hs,To[Po++]=ts,To[Po++]=Ei,hs=M.id,ts=M.overflow,Ei=P),P=$l(P,q.children),P.flags|=4096,P)}function Zt(M,P,F){M.lanes|=P;var q=M.alternate;q!==null&&(q.lanes|=P),_c(M.return,P,F)}function Ea(M,P,F,q,le){var _e=M.memoizedState;_e===null?M.memoizedState={isBackwards:P,rendering:null,renderingStartTime:0,last:q,tail:F,tailMode:le}:(_e.isBackwards=P,_e.rendering=null,_e.renderingStartTime=0,_e.last=q,_e.tail=F,_e.tailMode=le)}function jc(M,P,F){var q=P.pendingProps,le=q.revealOrder,_e=q.tail;if(On(M,P,q.children,F),q=Gr.current,(q&2)!==0)q=q&1|2,P.flags|=128;else{if(M!==null&&(M.flags&128)!==0)e:for(M=P.child;M!==null;){if(M.tag===13)M.memoizedState!==null&&Zt(M,F,P);else if(M.tag===19)Zt(M,F,P);else if(M.child!==null){M.child.return=M,M=M.child;continue}if(M===P)break e;for(;M.sibling===null;){if(M.return===null||M.return===P)break e;M=M.return}M.sibling.return=M.return,M=M.sibling}q&=1}if(Hr(Gr,q),(P.mode&1)===0)P.memoizedState=null;else switch(le){case"forwards":for(F=P.child,le=null;F!==null;)M=F.alternate,M!==null&&_l(M)===null&&(le=F),F=F.sibling;F=le,F===null?(le=P.child,P.child=null):(le=F.sibling,F.sibling=null),Ea(P,!1,le,F,_e);break;case"backwards":for(F=null,le=P.child,P.child=null;le!==null;){if(M=le.alternate,M!==null&&_l(M)===null){P.child=le;break}M=le.sibling,le.sibling=F,F=le,le=M}Ea(P,!0,F,null,_e);break;case"together":Ea(P,!1,null,null,void 0);break;default:P.memoizedState=null}return P.child}function os(M,P){(P.mode&1)===0&&M!==null&&(M.alternate=null,P.alternate=null,P.flags|=2)}function Cs(M,P,F){if(M!==null&&(P.dependencies=M.dependencies),Di|=P.lanes,(F&P.childLanes)===0)return null;if(M!==null&&P.child!==M.child)throw Error(g(153));if(P.child!==null){for(M=P.child,F=ii(M,M.pendingProps),P.child=F,F.return=P;M.sibling!==null;)M=M.sibling,F=F.sibling=ii(M,M.pendingProps),F.return=P;F.sibling=null}return P.child}function cd(M,P,F){switch(P.tag){case 3:$p(P),Ci();break;case 5:bc(P);break;case 1:Qn(P.type)&&fc(P);break;case 4:xl(P,P.stateNode.containerInfo);break;case 10:var q=P.type._context,le=P.memoizedProps.value;Hr(pa,q._currentValue),q._currentValue=le;break;case 13:if(q=P.memoizedState,q!==null)return q.dehydrated!==null?(Hr(Gr,Gr.current&1),P.flags|=128,null):(F&P.child.childLanes)!==0?Nc(M,P,F):(Hr(Gr,Gr.current&1),M=Cs(M,P,F),M!==null?M.sibling:null);Hr(Gr,Gr.current&1);break;case 19:if(q=(F&P.childLanes)!==0,(M.flags&128)!==0){if(q)return jc(M,P,F);P.flags|=128}if(le=P.memoizedState,le!==null&&(le.rendering=null,le.tail=null,le.lastEffect=null),Hr(Gr,Gr.current),q)break;return null;case 22:case 23:return P.lanes=0,ns(M,P,F)}return Cs(M,P,F)}var ud,_n,Ip,Lp;ud=function(M,P){for(var F=P.child;F!==null;){if(F.tag===5||F.tag===6)M.appendChild(F.stateNode);else if(F.tag!==4&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===P)break;for(;F.sibling===null;){if(F.return===null||F.return===P)return;F=F.return}F.sibling.return=F.return,F=F.sibling}},_n=function(){},Ip=function(M,P,F,q){var le=M.memoizedProps;if(le!==q){M=P.stateNode,Ks(rs.current);var _e=null;switch(F){case"input":le=We(M,le),q=We(M,q),_e=[];break;case"select":le=fe({},le,{value:void 0}),q=fe({},q,{value:void 0}),_e=[];break;case"textarea":le=Xe(M,le),q=Xe(M,q),_e=[];break;default:typeof le.onClick!="function"&&typeof q.onClick=="function"&&(M.onclick=Za)}Dt(F,q);var we;F=null;for(at in le)if(!q.hasOwnProperty(at)&&le.hasOwnProperty(at)&&le[at]!=null)if(at==="style"){var Fe=le[at];for(we in Fe)Fe.hasOwnProperty(we)&&(F||(F={}),F[we]="")}else at!=="dangerouslySetInnerHTML"&&at!=="children"&&at!=="suppressContentEditableWarning"&&at!=="suppressHydrationWarning"&&at!=="autoFocus"&&(b.hasOwnProperty(at)?_e||(_e=[]):(_e=_e||[]).push(at,null));for(at in q){var Be=q[at];if(Fe=le!=null?le[at]:void 0,q.hasOwnProperty(at)&&Be!==Fe&&(Be!=null||Fe!=null))if(at==="style")if(Fe){for(we in Fe)!Fe.hasOwnProperty(we)||Be&&Be.hasOwnProperty(we)||(F||(F={}),F[we]="");for(we in Be)Be.hasOwnProperty(we)&&Fe[we]!==Be[we]&&(F||(F={}),F[we]=Be[we])}else F||(_e||(_e=[]),_e.push(at,F)),F=Be;else at==="dangerouslySetInnerHTML"?(Be=Be?Be.__html:void 0,Fe=Fe?Fe.__html:void 0,Be!=null&&Fe!==Be&&(_e=_e||[]).push(at,Be)):at==="children"?typeof Be!="string"&&typeof Be!="number"||(_e=_e||[]).push(at,""+Be):at!=="suppressContentEditableWarning"&&at!=="suppressHydrationWarning"&&(b.hasOwnProperty(at)?(Be!=null&&at==="onScroll"&&Yr("scroll",M),_e||Fe===Be||(_e=[])):(_e=_e||[]).push(at,Be))}F&&(_e=_e||[]).push("style",F);var at=_e;(P.updateQueue=at)&&(P.flags|=4)}},Lp=function(M,P,F,q){F!==q&&(P.flags|=4)};function Ca(M,P){if(!zr)switch(M.tailMode){case"hidden":P=M.tail;for(var F=null;P!==null;)P.alternate!==null&&(F=P),P=P.sibling;F===null?M.tail=null:F.sibling=null;break;case"collapsed":F=M.tail;for(var q=null;F!==null;)F.alternate!==null&&(q=F),F=F.sibling;q===null?P||M.tail===null?M.tail=null:M.tail.sibling=null:q.sibling=null}}function Fn(M){var P=M.alternate!==null&&M.alternate.child===M.child,F=0,q=0;if(P)for(var le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags&14680064,q|=le.flags&14680064,le.return=M,le=le.sibling;else for(le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags,q|=le.flags,le.return=M,le=le.sibling;return M.subtreeFlags|=q,M.childLanes=F,P}function Dp(M,P,F){var q=P.pendingProps;switch(al(P),P.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fn(P),null;case 1:return Qn(P.type)&&pc(),Fn(P),null;case 3:return q=P.stateNode,xa(),Lr(Kn),Lr(Ln),Gu(),q.pendingContext&&(q.context=q.pendingContext,q.pendingContext=null),(M===null||M.child===null)&&(gc(P)?P.flags|=4:M===null||M.memoizedState.isDehydrated&&(P.flags&256)===0||(P.flags|=1024,Ro!==null&&(Cd(Ro),Ro=null))),_n(M,P),Fn(P),null;case 5:Ec(P);var le=Ks(hl.current);if(F=P.type,M!==null&&P.stateNode!=null)Ip(M,P,F,q,le),M.ref!==P.ref&&(P.flags|=512,P.flags|=2097152);else{if(!q){if(P.stateNode===null)throw Error(g(166));return Fn(P),null}if(M=Ks(rs.current),gc(P)){q=P.stateNode,F=P.type;var _e=P.memoizedProps;switch(q[Xo]=P,q[il]=_e,M=(P.mode&1)!==0,F){case"dialog":Yr("cancel",q),Yr("close",q);break;case"iframe":case"object":case"embed":Yr("load",q);break;case"video":case"audio":for(le=0;le<ea.length;le++)Yr(ea[le],q);break;case"source":Yr("error",q);break;case"img":case"image":case"link":Yr("error",q),Yr("load",q);break;case"details":Yr("toggle",q);break;case"input":je(q,_e),Yr("invalid",q);break;case"select":q._wrapperState={wasMultiple:!!_e.multiple},Yr("invalid",q);break;case"textarea":Ve(q,_e),Yr("invalid",q)}Dt(F,_e),le=null;for(var we in _e)if(_e.hasOwnProperty(we)){var Fe=_e[we];we==="children"?typeof Fe=="string"?q.textContent!==Fe&&(_e.suppressHydrationWarning!==!0&&uc(q.textContent,Fe,M),le=["children",Fe]):typeof Fe=="number"&&q.textContent!==""+Fe&&(_e.suppressHydrationWarning!==!0&&uc(q.textContent,Fe,M),le=["children",""+Fe]):b.hasOwnProperty(we)&&Fe!=null&&we==="onScroll"&&Yr("scroll",q)}switch(F){case"input":De(q),qe(q,_e,!0);break;case"textarea":De(q),Ct(q);break;case"select":case"option":break;default:typeof _e.onClick=="function"&&(q.onclick=Za)}q=le,P.updateQueue=q,q!==null&&(P.flags|=4)}else{we=le.nodeType===9?le:le.ownerDocument,M==="http://www.w3.org/1999/xhtml"&&(M=Ae(F)),M==="http://www.w3.org/1999/xhtml"?F==="script"?(M=we.createElement("div"),M.innerHTML="<script><\/script>",M=M.removeChild(M.firstChild)):typeof q.is=="string"?M=we.createElement(F,{is:q.is}):(M=we.createElement(F),F==="select"&&(we=M,q.multiple?we.multiple=!0:q.size&&(we.size=q.size))):M=we.createElementNS(M,F),M[Xo]=P,M[il]=q,ud(M,P,!1,!1),P.stateNode=M;e:{switch(we=Jt(F,q),F){case"dialog":Yr("cancel",M),Yr("close",M),le=q;break;case"iframe":case"object":case"embed":Yr("load",M),le=q;break;case"video":case"audio":for(le=0;le<ea.length;le++)Yr(ea[le],M);le=q;break;case"source":Yr("error",M),le=q;break;case"img":case"image":case"link":Yr("error",M),Yr("load",M),le=q;break;case"details":Yr("toggle",M),le=q;break;case"input":je(M,q),le=We(M,q),Yr("invalid",M);break;case"option":le=q;break;case"select":M._wrapperState={wasMultiple:!!q.multiple},le=fe({},q,{value:void 0}),Yr("invalid",M);break;case"textarea":Ve(M,q),le=Xe(M,q),Yr("invalid",M);break;default:le=q}Dt(F,le),Fe=le;for(_e in Fe)if(Fe.hasOwnProperty(_e)){var Be=Fe[_e];_e==="style"?Ht(M,Be):_e==="dangerouslySetInnerHTML"?(Be=Be?Be.__html:void 0,Be!=null&&rt(M,Be)):_e==="children"?typeof Be=="string"?(F!=="textarea"||Be!=="")&&It(M,Be):typeof Be=="number"&&It(M,""+Be):_e!=="suppressContentEditableWarning"&&_e!=="suppressHydrationWarning"&&_e!=="autoFocus"&&(b.hasOwnProperty(_e)?Be!=null&&_e==="onScroll"&&Yr("scroll",M):Be!=null&&z(M,_e,Be,we))}switch(F){case"input":De(M),qe(M,q,!1);break;case"textarea":De(M),Ct(M);break;case"option":q.value!=null&&M.setAttribute("value",""+Se(q.value));break;case"select":M.multiple=!!q.multiple,_e=q.value,_e!=null?Ue(M,!!q.multiple,_e,!1):q.defaultValue!=null&&Ue(M,!!q.multiple,q.defaultValue,!0);break;default:typeof le.onClick=="function"&&(M.onclick=Za)}switch(F){case"button":case"input":case"select":case"textarea":q=!!q.autoFocus;break e;case"img":q=!0;break e;default:q=!1}}q&&(P.flags|=4)}P.ref!==null&&(P.flags|=512,P.flags|=2097152)}return Fn(P),null;case 6:if(M&&P.stateNode!=null)Lp(M,P,M.memoizedProps,q);else{if(typeof q!="string"&&P.stateNode===null)throw Error(g(166));if(F=Ks(hl.current),Ks(rs.current),gc(P)){if(q=P.stateNode,F=P.memoizedProps,q[Xo]=P,(_e=q.nodeValue!==F)&&(M=Mn,M!==null))switch(M.tag){case 3:uc(q.nodeValue,F,(M.mode&1)!==0);break;case 5:M.memoizedProps.suppressHydrationWarning!==!0&&uc(q.nodeValue,F,(M.mode&1)!==0)}_e&&(P.flags|=4)}else q=(F.nodeType===9?F:F.ownerDocument).createTextNode(q),q[Xo]=P,P.stateNode=q}return Fn(P),null;case 13:if(Lr(Gr),q=P.memoizedState,M===null||M.memoizedState!==null&&M.memoizedState.dehydrated!==null){if(zr&&Dn!==null&&(P.mode&1)!==0&&(P.flags&128)===0)Yu(),Ci(),P.flags|=98560,_e=!1;else if(_e=gc(P),q!==null&&q.dehydrated!==null){if(M===null){if(!_e)throw Error(g(318));if(_e=P.memoizedState,_e=_e!==null?_e.dehydrated:null,!_e)throw Error(g(317));_e[Xo]=P}else Ci(),(P.flags&128)===0&&(P.memoizedState=null),P.flags|=4;Fn(P),_e=!1}else Ro!==null&&(Cd(Ro),Ro=null),_e=!0;if(!_e)return P.flags&65536?P:null}return(P.flags&128)!==0?(P.lanes=F,P):(q=q!==null,q!==(M!==null&&M.memoizedState!==null)&&q&&(P.child.flags|=8192,(P.mode&1)!==0&&(M===null||(Gr.current&1)!==0?dn===0&&(dn=3):Md())),P.updateQueue!==null&&(P.flags|=4),Fn(P),null);case 4:return xa(),_n(M,P),M===null&&Ns(P.stateNode.containerInfo),Fn(P),null;case 10:return xs(P.type._context),Fn(P),null;case 17:return Qn(P.type)&&pc(),Fn(P),null;case 19:if(Lr(Gr),_e=P.memoizedState,_e===null)return Fn(P),null;if(q=(P.flags&128)!==0,we=_e.rendering,we===null)if(q)Ca(_e,!1);else{if(dn!==0||M!==null&&(M.flags&128)!==0)for(M=P.child;M!==null;){if(we=_l(M),we!==null){for(P.flags|=128,Ca(_e,!1),q=we.updateQueue,q!==null&&(P.updateQueue=q,P.flags|=4),P.subtreeFlags=0,q=F,F=P.child;F!==null;)_e=F,M=q,_e.flags&=14680066,we=_e.alternate,we===null?(_e.childLanes=0,_e.lanes=M,_e.child=null,_e.subtreeFlags=0,_e.memoizedProps=null,_e.memoizedState=null,_e.updateQueue=null,_e.dependencies=null,_e.stateNode=null):(_e.childLanes=we.childLanes,_e.lanes=we.lanes,_e.child=we.child,_e.subtreeFlags=0,_e.deletions=null,_e.memoizedProps=we.memoizedProps,_e.memoizedState=we.memoizedState,_e.updateQueue=we.updateQueue,_e.type=we.type,M=we.dependencies,_e.dependencies=M===null?null:{lanes:M.lanes,firstContext:M.firstContext}),F=F.sibling;return Hr(Gr,Gr.current&1|2),P.child}M=M.sibling}_e.tail!==null&&Jr()>Ma&&(P.flags|=128,q=!0,Ca(_e,!1),P.lanes=4194304)}else{if(!q)if(M=_l(we),M!==null){if(P.flags|=128,q=!0,F=M.updateQueue,F!==null&&(P.updateQueue=F,P.flags|=4),Ca(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!we.alternate&&!zr)return Fn(P),null}else 2*Jr()-_e.renderingStartTime>Ma&&F!==1073741824&&(P.flags|=128,q=!0,Ca(_e,!1),P.lanes=4194304);_e.isBackwards?(we.sibling=P.child,P.child=we):(F=_e.last,F!==null?F.sibling=we:P.child=we,_e.last=we)}return _e.tail!==null?(P=_e.tail,_e.rendering=P,_e.tail=P.sibling,_e.renderingStartTime=Jr(),P.sibling=null,F=Gr.current,Hr(Gr,q?F&1|2:F&1),P):(Fn(P),null);case 22:case 23:return wd(),q=P.memoizedState!==null,M!==null&&M.memoizedState!==null!==q&&(P.flags|=8192),q&&(P.mode&1)!==0?(go&1073741824)!==0&&(Fn(P),P.subtreeFlags&6&&(P.flags|=8192)):Fn(P),null;case 24:return null;case 25:return null}throw Error(g(156,P.tag))}function If(M,P){switch(al(P),P.tag){case 1:return Qn(P.type)&&pc(),M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 3:return xa(),Lr(Kn),Lr(Ln),Gu(),M=P.flags,(M&65536)!==0&&(M&128)===0?(P.flags=M&-65537|128,P):null;case 5:return Ec(P),null;case 13:if(Lr(Gr),M=P.memoizedState,M!==null&&M.dehydrated!==null){if(P.alternate===null)throw Error(g(340));Ci()}return M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 19:return Lr(Gr),null;case 4:return xa(),null;case 10:return xs(P.type._context),null;case 22:case 23:return wd(),null;case 24:return null;default:return null}}var Hc=!1,Nn=!1,Ss=typeof WeakSet=="function"?WeakSet:Set,At=null;function Qs(M,P){var F=M.ref;if(F!==null)if(typeof F=="function")try{F(null)}catch(q){Vr(M,P,q)}else F.current=null}function dd(M,P,F){try{F()}catch(q){Vr(M,P,q)}}var Yc=!1;function Lf(M,P){if(Fu=Ql,M=Xr(),Ar(M)){if("selectionStart"in M)var F={start:M.selectionStart,end:M.selectionEnd};else e:{F=(F=M.ownerDocument)&&F.defaultView||window;var q=F.getSelection&&F.getSelection();if(q&&q.rangeCount!==0){F=q.anchorNode;var le=q.anchorOffset,_e=q.focusNode;q=q.focusOffset;try{F.nodeType,_e.nodeType}catch(kt){F=null;break e}var we=0,Fe=-1,Be=-1,at=0,Tt=0,$t=M,Mt=null;t:for(;;){for(var jt;$t!==F||le!==0&&$t.nodeType!==3||(Fe=we+le),$t!==_e||q!==0&&$t.nodeType!==3||(Be=we+q),$t.nodeType===3&&(we+=$t.nodeValue.length),(jt=$t.firstChild)!==null;)Mt=$t,$t=jt;for(;;){if($t===M)break t;if(Mt===F&&++at===le&&(Fe=we),Mt===_e&&++Tt===q&&(Be=we),(jt=$t.nextSibling)!==null)break;$t=Mt,Mt=$t.parentNode}$t=jt}F=Fe===-1||Be===-1?null:{start:Fe,end:Be}}else F=null}F=F||{start:0,end:0}}else F=null;for(tl={focusedElem:M,selectionRange:F},Ql=!1,At=P;At!==null;)if(P=At,M=P.child,(P.subtreeFlags&1028)!==0&&M!==null)M.return=P,At=M;else for(;At!==null;){P=At;try{var Bt=P.alternate;if((P.flags&1024)!==0)switch(P.tag){case 0:case 11:case 15:break;case 1:if(Bt!==null){var zt=Bt.memoizedProps,qr=Bt.memoizedState,nt=P.stateNode,Ke=nt.getSnapshotBeforeUpdate(P.elementType===P.type?zt:An(P.type,zt),qr);nt.__reactInternalSnapshotBeforeUpdate=Ke}break;case 3:var st=P.stateNode.containerInfo;st.nodeType===1?st.textContent="":st.nodeType===9&&st.documentElement&&st.removeChild(st.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(kt){Vr(P,P.return,kt)}if(M=P.sibling,M!==null){M.return=P.return,At=M;break}At=P.return}return Bt=Yc,Yc=!1,Bt}function kl(M,P,F){var q=P.updateQueue;if(q=q!==null?q.lastEffect:null,q!==null){var le=q=q.next;do{if((le.tag&M)===M){var _e=le.destroy;le.destroy=void 0,_e!==void 0&&dd(P,F,_e)}le=le.next}while(le!==q)}}function Xs(M,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var F=P=P.next;do{if((F.tag&M)===M){var q=F.create;F.destroy=q()}F=F.next}while(F!==P)}}function Bc(M){var P=M.ref;if(P!==null){var F=M.stateNode;switch(M.tag){case 5:M=F;break;default:M=F}typeof P=="function"?P(M):P.current=M}}function pd(M){var P=M.alternate;P!==null&&(M.alternate=null,pd(P)),M.child=null,M.deletions=null,M.sibling=null,M.tag===5&&(P=M.stateNode,P!==null&&(delete P[Xo],delete P[il],delete P[_i],delete P[pp],delete P[Re])),M.stateNode=null,M.return=null,M.dependencies=null,M.memoizedProps=null,M.memoizedState=null,M.pendingProps=null,M.stateNode=null,M.updateQueue=null}function Ap(M){return M.tag===5||M.tag===3||M.tag===4}function Op(M){e:for(;;){for(;M.sibling===null;){if(M.return===null||Ap(M.return))return null;M=M.return}for(M.sibling.return=M.return,M=M.sibling;M.tag!==5&&M.tag!==6&&M.tag!==18;){if(M.flags&2||M.child===null||M.tag===4)continue e;M.child.return=M,M=M.child}if(!(M.flags&2))return M.stateNode}}function fd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.nodeType===8?F.parentNode.insertBefore(M,P):F.insertBefore(M,P):(F.nodeType===8?(P=F.parentNode,P.insertBefore(M,F)):(P=F,P.appendChild(M)),F=F._reactRootContainer,F!=null||P.onclick!==null||(P.onclick=Za));else if(q!==4&&(M=M.child,M!==null))for(fd(M,P,F),M=M.sibling;M!==null;)fd(M,P,F),M=M.sibling}function hd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.insertBefore(M,P):F.appendChild(M);else if(q!==4&&(M=M.child,M!==null))for(hd(M,P,F),M=M.sibling;M!==null;)hd(M,P,F),M=M.sibling}var yn=null,Io=!1;function Zs(M,P,F){for(F=F.child;F!==null;)zc(M,P,F),F=F.sibling}function zc(M,P,F){if(Qo&&typeof Qo.onCommitFiberUnmount=="function")try{Qo.onCommitFiberUnmount(Ra,F)}catch(Fe){}switch(F.tag){case 5:Nn||Qs(F,P);case 6:var q=yn,le=Io;yn=null,Zs(M,P,F),yn=q,Io=le,yn!==null&&(Io?(M=yn,F=F.stateNode,M.nodeType===8?M.parentNode.removeChild(F):M.removeChild(F)):yn.removeChild(F.stateNode));break;case 18:yn!==null&&(Io?(M=yn,F=F.stateNode,M.nodeType===8?js(M.parentNode,F):M.nodeType===1&&js(M,F),Dr(M)):js(yn,F.stateNode));break;case 4:q=yn,le=Io,yn=F.stateNode.containerInfo,Io=!0,Zs(M,P,F),yn=q,Io=le;break;case 0:case 11:case 14:case 15:if(!Nn&&(q=F.updateQueue,q!==null&&(q=q.lastEffect,q!==null))){le=q=q.next;do{var _e=le,we=_e.destroy;_e=_e.tag,we!==void 0&&((_e&2)!==0||(_e&4)!==0)&&dd(F,P,we),le=le.next}while(le!==q)}Zs(M,P,F);break;case 1:if(!Nn&&(Qs(F,P),q=F.stateNode,typeof q.componentWillUnmount=="function"))try{q.props=F.memoizedProps,q.state=F.memoizedState,q.componentWillUnmount()}catch(Fe){Vr(F,P,Fe)}Zs(M,P,F);break;case 21:Zs(M,P,F);break;case 22:F.mode&1?(Nn=(q=Nn)||F.memoizedState!==null,Zs(M,P,F),Nn=q):Zs(M,P,F);break;default:Zs(M,P,F)}}function xd(M){var P=M.updateQueue;if(P!==null){M.updateQueue=null;var F=M.stateNode;F===null&&(F=M.stateNode=new Ss),P.forEach(function(q){var le=Hf.bind(null,M,q);F.has(q)||(F.add(q),q.then(le,le))})}}function Vn(M,P){var F=P.deletions;if(F!==null)for(var q=0;q<F.length;q++){var le=F[q];try{var _e=M,we=P,Fe=we;e:for(;Fe!==null;){switch(Fe.tag){case 5:yn=Fe.stateNode,Io=!1;break e;case 3:yn=Fe.stateNode.containerInfo,Io=!0;break e;case 4:yn=Fe.stateNode.containerInfo,Io=!0;break e}Fe=Fe.return}if(yn===null)throw Error(g(160));zc(_e,we,le),yn=null,Io=!1;var Be=le.alternate;Be!==null&&(Be.return=null),le.return=null}catch(at){Vr(le,P,at)}}if(P.subtreeFlags&12854)for(P=P.child;P!==null;)Gc(P,M),P=P.sibling}function Gc(M,P){var F=M.alternate,q=M.flags;switch(M.tag){case 0:case 11:case 14:case 15:if(Vn(P,M),Go(M),q&4){try{kl(3,M,M.return),Xs(3,M)}catch(zt){Vr(M,M.return,zt)}try{kl(5,M,M.return)}catch(zt){Vr(M,M.return,zt)}}break;case 1:Vn(P,M),Go(M),q&512&&F!==null&&Qs(F,F.return);break;case 5:if(Vn(P,M),Go(M),q&512&&F!==null&&Qs(F,F.return),M.flags&32){var le=M.stateNode;try{It(le,"")}catch(zt){Vr(M,M.return,zt)}}if(q&4&&(le=M.stateNode,le!=null)){var _e=M.memoizedProps,we=F!==null?F.memoizedProps:_e,Fe=M.type,Be=M.updateQueue;if(M.updateQueue=null,Be!==null)try{Fe==="input"&&_e.type==="radio"&&_e.name!=null&&ze(le,_e),Jt(Fe,we);var at=Jt(Fe,_e);for(we=0;we<Be.length;we+=2){var Tt=Be[we],$t=Be[we+1];Tt==="style"?Ht(le,$t):Tt==="dangerouslySetInnerHTML"?rt(le,$t):Tt==="children"?It(le,$t):z(le,Tt,$t,at)}switch(Fe){case"input":tt(le,_e);break;case"textarea":ut(le,_e);break;case"select":var Mt=le._wrapperState.wasMultiple;le._wrapperState.wasMultiple=!!_e.multiple;var jt=_e.value;jt!=null?Ue(le,!!_e.multiple,jt,!1):Mt!==!!_e.multiple&&(_e.defaultValue!=null?Ue(le,!!_e.multiple,_e.defaultValue,!0):Ue(le,!!_e.multiple,_e.multiple?[]:"",!1))}le[il]=_e}catch(zt){Vr(M,M.return,zt)}}break;case 6:if(Vn(P,M),Go(M),q&4){if(M.stateNode===null)throw Error(g(162));le=M.stateNode,_e=M.memoizedProps;try{le.nodeValue=_e}catch(zt){Vr(M,M.return,zt)}}break;case 3:if(Vn(P,M),Go(M),q&4&&F!==null&&F.memoizedState.isDehydrated)try{Dr(P.containerInfo)}catch(zt){Vr(M,M.return,zt)}break;case 4:Vn(P,M),Go(M);break;case 13:Vn(P,M),Go(M),le=M.child,le.flags&8192&&(_e=le.memoizedState!==null,le.stateNode.isHidden=_e,!_e||le.alternate!==null&&le.alternate.memoizedState!==null||(vd=Jr())),q&4&&xd(M);break;case 22:if(Tt=F!==null&&F.memoizedState!==null,M.mode&1?(Nn=(at=Nn)||Tt,Vn(P,M),Nn=at):Vn(P,M),Go(M),q&8192){if(at=M.memoizedState!==null,(M.stateNode.isHidden=at)&&!Tt&&(M.mode&1)!==0)for(At=M,Tt=M.child;Tt!==null;){for($t=At=Tt;At!==null;){switch(Mt=At,jt=Mt.child,Mt.tag){case 0:case 11:case 14:case 15:kl(4,Mt,Mt.return);break;case 1:Qs(Mt,Mt.return);var Bt=Mt.stateNode;if(typeof Bt.componentWillUnmount=="function"){q=Mt,F=Mt.return;try{P=q,Bt.props=P.memoizedProps,Bt.state=P.memoizedState,Bt.componentWillUnmount()}catch(zt){Vr(q,F,zt)}}break;case 5:Qs(Mt,Mt.return);break;case 22:if(Mt.memoizedState!==null){Lo($t);continue}}jt!==null?(jt.return=Mt,At=jt):Lo($t)}Tt=Tt.sibling}e:for(Tt=null,$t=M;;){if($t.tag===5){if(Tt===null){Tt=$t;try{le=$t.stateNode,at?(_e=le.style,typeof _e.setProperty=="function"?_e.setProperty("display","none","important"):_e.display="none"):(Fe=$t.stateNode,Be=$t.memoizedProps.style,we=Be!=null&&Be.hasOwnProperty("display")?Be.display:null,Fe.style.display=St("display",we))}catch(zt){Vr(M,M.return,zt)}}}else if($t.tag===6){if(Tt===null)try{$t.stateNode.nodeValue=at?"":$t.memoizedProps}catch(zt){Vr(M,M.return,zt)}}else if(($t.tag!==22&&$t.tag!==23||$t.memoizedState===null||$t===M)&&$t.child!==null){$t.child.return=$t,$t=$t.child;continue}if($t===M)break e;for(;$t.sibling===null;){if($t.return===null||$t.return===M)break e;Tt===$t&&(Tt=null),$t=$t.return}Tt===$t&&(Tt=null),$t.sibling.return=$t.return,$t=$t.sibling}}break;case 19:Vn(P,M),Go(M),q&4&&xd(M);break;case 21:break;default:Vn(P,M),Go(M)}}function Go(M){var P=M.flags;if(P&2){try{e:{for(var F=M.return;F!==null;){if(Ap(F)){var q=F;break e}F=F.return}throw Error(g(160))}switch(q.tag){case 5:var le=q.stateNode;q.flags&32&&(It(le,""),q.flags&=-33);var _e=Op(M);hd(M,_e,le);break;case 3:case 4:var we=q.stateNode.containerInfo,Fe=Op(M);fd(M,Fe,we);break;default:throw Error(g(161))}}catch(Be){Vr(M,M.return,Be)}M.flags&=-3}P&4096&&(M.flags&=-4097)}function Fp(M,P,F){At=M,Il(M)}function Il(M,P,F){for(var q=(M.mode&1)!==0;At!==null;){var le=At,_e=le.child;if(le.tag===22&&q){var we=le.memoizedState!==null||Hc;if(!we){var Fe=le.alternate,Be=Fe!==null&&Fe.memoizedState!==null||Nn;Fe=Hc;var at=Nn;if(Hc=we,(Nn=Be)&&!at)for(At=le;At!==null;)we=At,Be=we.child,we.tag===22&&we.memoizedState!==null?ei(le):Be!==null?(Be.return=we,At=Be):ei(le);for(;_e!==null;)At=_e,Il(_e),_e=_e.sibling;At=le,Hc=Fe,Nn=at}_d(M)}else(le.subtreeFlags&8772)!==0&&_e!==null?(_e.return=le,At=_e):_d(M)}}function _d(M){for(;At!==null;){var P=At;if((P.flags&8772)!==0){var F=P.alternate;try{if((P.flags&8772)!==0)switch(P.tag){case 0:case 11:case 15:Nn||Xs(5,P);break;case 1:var q=P.stateNode;if(P.flags&4&&!Nn)if(F===null)q.componentDidMount();else{var le=P.elementType===P.type?F.memoizedProps:An(P.type,F.memoizedProps);q.componentDidUpdate(le,F.memoizedState,q.__reactInternalSnapshotBeforeUpdate)}var _e=P.updateQueue;_e!==null&&vc(P,_e,q);break;case 3:var we=P.updateQueue;if(we!==null){if(F=null,P.child!==null)switch(P.child.tag){case 5:F=P.child.stateNode;break;case 1:F=P.child.stateNode}vc(P,we,F)}break;case 5:var Fe=P.stateNode;if(F===null&&P.flags&4){F=Fe;var Be=P.memoizedProps;switch(P.type){case"button":case"input":case"select":case"textarea":Be.autoFocus&&F.focus();break;case"img":Be.src&&(F.src=Be.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(P.memoizedState===null){var at=P.alternate;if(at!==null){var Tt=at.memoizedState;if(Tt!==null){var $t=Tt.dehydrated;$t!==null&&Dr($t)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(g(163))}Nn||P.flags&512&&Bc(P)}catch(Mt){Vr(P,P.return,Mt)}}if(P===M){At=null;break}if(F=P.sibling,F!==null){F.return=P.return,At=F;break}At=P.return}}function Lo(M){for(;At!==null;){var P=At;if(P===M){At=null;break}var F=P.sibling;if(F!==null){F.return=P.return,At=F;break}At=P.return}}function ei(M){for(;At!==null;){var P=At;try{switch(P.tag){case 0:case 11:case 15:var F=P.return;try{Xs(4,P)}catch(Be){Vr(P,F,Be)}break;case 1:var q=P.stateNode;if(typeof q.componentDidMount=="function"){var le=P.return;try{q.componentDidMount()}catch(Be){Vr(P,le,Be)}}var _e=P.return;try{Bc(P)}catch(Be){Vr(P,_e,Be)}break;case 5:var we=P.return;try{Bc(P)}catch(Be){Vr(P,we,Be)}}}catch(Be){Vr(P,P.return,Be)}if(P===M){At=null;break}var Fe=P.sibling;if(Fe!==null){Fe.return=P.return,At=Fe;break}At=P.return}}var Df=Math.ceil,Ll=Y.ReactCurrentDispatcher,yd=Y.ReactCurrentOwner,Do=Y.ReactCurrentBatchConfig,Mr=0,vn=null,on=null,Pn=0,go=0,Sa=Bs(0),dn=0,Dl=null,Di=0,Al=0,Uc=0,wa=null,so=null,vd=0,Ma=1/0,as=null,Vc=!1,bd=null,ti=null,Wc=!1,ri=null,qc=0,jn=0,Ed=null,Kc=-1,Jc=0;function Hn(){return(Mr&6)!==0?Jr():Kc!==-1?Kc:Kc=Jr()}function ni(M){return(M.mode&1)===0?1:(Mr&2)!==0&&Pn!==0?Pn&-Pn:Us.transition!==null?(Jc===0&&(Jc=xu()),Jc):(M=kr,M!==0||(M=window.event,M=M===void 0?16:Cu(M.type)),M)}function Uo(M,P,F,q){if(50<jn)throw jn=0,Ed=null,Error(g(185));li(M,F,q),((Mr&2)===0||M!==vn)&&(M===vn&&((Mr&2)===0&&(Al|=F),dn===4&&oi(M,Pn)),io(M,q),F===1&&Mr===0&&(P.mode&1)===0&&(Ma=Jr()+500,mc&&Xn()))}function io(M,P){var F=M.callbackNode;Nd(M,P);var q=La(M,M===vn?Pn:0);if(q===0)F!==null&&co(F),M.callbackNode=null,M.callbackPriority=0;else if(P=q&-q,M.callbackPriority!==P){if(F!=null&&co(F),P===1)M.tag===0?Tf(jp.bind(null,M)):hp(jp.bind(null,M)),ol(function(){(Mr&6)===0&&Xn()}),F=null;else{switch(Wl(q)){case 1:F=pu;break;case 4:F=Dd;break;case 16:F=zl;break;case 536870912:F=fu;break;default:F=zl}F=qp(F,Np.bind(null,M))}M.callbackPriority=P,M.callbackNode=F}}function Np(M,P){if(Kc=-1,Jc=0,(Mr&6)!==0)throw Error(g(327));var F=M.callbackNode;if(Ta()&&M.callbackNode!==F)return null;var q=La(M,M===vn?Pn:0);if(q===0)return null;if((q&30)!==0||(q&M.expiredLanes)!==0||P)P=Qc(M,q);else{P=q;var le=Mr;Mr|=2;var _e=Yp();(vn!==M||Pn!==P)&&(as=null,Ma=Jr()+500,Oi(M,P));do try{Ff();break}catch(Fe){Hp(M,Fe)}while(!0);ma(),Ll.current=_e,Mr=le,on!==null?P=0:(vn=null,Pn=0,P=dn)}if(P!==0){if(P===2&&(le=mu(M),le!==0&&(q=le,P=Ol(M,le))),P===1)throw F=Dl,Oi(M,0),oi(M,q),io(M,Jr()),F;if(P===6)oi(M,q);else{if(le=M.current.alternate,(q&30)===0&&!Af(le)&&(P=Qc(M,q),P===2&&(_e=mu(M),_e!==0&&(q=_e,P=Ol(M,_e))),P===1))throw F=Dl,Oi(M,0),oi(M,q),io(M,Jr()),F;switch(M.finishedWork=le,M.finishedLanes=q,P){case 0:case 1:throw Error(g(345));case 2:Fi(M,so,as);break;case 3:if(oi(M,q),(q&130023424)===q&&(P=vd+500-Jr(),10<P)){if(La(M,0)!==0)break;if(le=M.suspendedLanes,(le&q)!==q){Hn(),M.pingedLanes|=M.suspendedLanes&le;break}M.timeoutHandle=rl(Fi.bind(null,M,so,as),P);break}Fi(M,so,as);break;case 4:if(oi(M,q),(q&4194240)===q)break;for(P=M.eventTimes,le=-1;0<q;){var we=31-jo(q);_e=1<<we,we=P[we],we>le&&(le=we),q&=~_e}if(q=le,q=Jr()-q,q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Df(q/1960))-q,10<q){M.timeoutHandle=rl(Fi.bind(null,M,so,as),q);break}Fi(M,so,as);break;case 5:Fi(M,so,as);break;default:throw Error(g(329))}}}return io(M,Jr()),M.callbackNode===F?Np.bind(null,M):null}function Ol(M,P){var F=wa;return M.current.memoizedState.isDehydrated&&(Oi(M,P).flags|=256),M=Qc(M,P),M!==2&&(P=so,so=F,P!==null&&Cd(P)),M}function Cd(M){so===null?so=M:so.push.apply(so,M)}function Af(M){for(var P=M;;){if(P.flags&16384){var F=P.updateQueue;if(F!==null&&(F=F.stores,F!==null))for(var q=0;q<F.length;q++){var le=F[q],_e=le.getSnapshot;le=le.value;try{if(!ft(_e(),le))return!1}catch(we){return!1}}}if(F=P.child,P.subtreeFlags&16384&&F!==null)F.return=P,P=F;else{if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return!0;P=P.return}P.sibling.return=P.return,P=P.sibling}}return!0}function oi(M,P){for(P&=~Uc,P&=~Al,M.suspendedLanes|=P,M.pingedLanes&=~P,M=M.expirationTimes;0<P;){var F=31-jo(P),q=1<<F;M[F]=-1,P&=~q}}function jp(M){if((Mr&6)!==0)throw Error(g(327));Ta();var P=La(M,0);if((P&1)===0)return io(M,Jr()),null;var F=Qc(M,P);if(M.tag!==0&&F===2){var q=mu(M);q!==0&&(P=q,F=Ol(M,q))}if(F===1)throw F=Dl,Oi(M,0),oi(M,P),io(M,Jr()),F;if(F===6)throw Error(g(345));return M.finishedWork=M.current.alternate,M.finishedLanes=P,Fi(M,so,as),io(M,Jr()),null}function Sd(M,P){var F=Mr;Mr|=1;try{return M(P)}finally{Mr=F,Mr===0&&(Ma=Jr()+500,mc&&Xn())}}function Ai(M){ri!==null&&ri.tag===0&&(Mr&6)===0&&Ta();var P=Mr;Mr|=1;var F=Do.transition,q=kr;try{if(Do.transition=null,kr=1,M)return M()}finally{kr=q,Do.transition=F,Mr=P,(Mr&6)===0&&Xn()}}function wd(){go=Sa.current,Lr(Sa)}function Oi(M,P){M.finishedWork=null,M.finishedLanes=0;var F=M.timeoutHandle;if(F!==-1&&(M.timeoutHandle=-1,na(F)),on!==null)for(F=on.return;F!==null;){var q=F;switch(al(q),q.tag){case 1:q=q.type.childContextTypes,q!=null&&pc();break;case 3:xa(),Lr(Kn),Lr(Ln),Gu();break;case 5:Ec(q);break;case 4:xa();break;case 13:Lr(Gr);break;case 19:Lr(Gr);break;case 10:xs(q.type._context);break;case 22:case 23:wd()}F=F.return}if(vn=M,on=M=ii(M.current,null),Pn=go=P,dn=0,Dl=null,Uc=Al=Di=0,so=wa=null,Mi!==null){for(P=0;P<Mi.length;P++)if(F=Mi[P],q=F.interleaved,q!==null){F.interleaved=null;var le=q.next,_e=F.pending;if(_e!==null){var we=_e.next;_e.next=le,q.next=we}F.pending=q}Mi=null}return M}function Hp(M,P){do{var F=on;try{if(ma(),yl.current=ho,vl){for(var q=Ur.memoizedState;q!==null;){var le=q.queue;le!==null&&(le.pending=null),q=q.next}vl=!1}if(Pi=0,tn=un=Ur=null,Ri=!1,bl=0,yd.current=null,F===null||F.return===null){dn=1,Dl=P,on=null;break}e:{var _e=M,we=F.return,Fe=F,Be=P;if(P=Pn,Fe.flags|=32768,Be!==null&&typeof Be=="object"&&typeof Be.then=="function"){var at=Be,Tt=Fe,$t=Tt.tag;if((Tt.mode&1)===0&&($t===0||$t===11||$t===15)){var Mt=Tt.alternate;Mt?(Tt.updateQueue=Mt.updateQueue,Tt.memoizedState=Mt.memoizedState,Tt.lanes=Mt.lanes):(Tt.updateQueue=null,Tt.memoizedState=null)}var jt=Pl(we);if(jt!==null){jt.flags&=-257,Mp(jt,we,Fe,_e,P),jt.mode&1&&Dc(_e,at,P),P=jt,Be=at;var Bt=P.updateQueue;if(Bt===null){var zt=new Set;zt.add(Be),P.updateQueue=zt}else Bt.add(Be);break e}else{if((P&1)===0){Dc(_e,at,P),Md();break e}Be=Error(g(426))}}else if(zr&&Fe.mode&1){var qr=Pl(we);if(qr!==null){(qr.flags&65536)===0&&(qr.flags|=256),Mp(qr,we,Fe,_e,P),Si(va(Be,Fe));break e}}_e=Be=va(Be,Fe),dn!==4&&(dn=2),wa===null?wa=[_e]:wa.push(_e),_e=we;do{switch(_e.tag){case 3:_e.flags|=65536,P&=-P,_e.lanes|=P;var nt=od(_e,Be,P);vp(_e,nt);break e;case 1:Fe=Be;var Ke=_e.type,st=_e.stateNode;if((_e.flags&128)===0&&(typeof Ke.getDerivedStateFromError=="function"||st!==null&&typeof st.componentDidCatch=="function"&&(ti===null||!ti.has(st)))){_e.flags|=65536,P&=-P,_e.lanes|=P;var kt=Tl(_e,Fe,P);vp(_e,kt);break e}}_e=_e.return}while(_e!==null)}zp(F)}catch(Gt){P=Gt,on===F&&F!==null&&(on=F=F.return);continue}break}while(!0)}function Yp(){var M=Ll.current;return Ll.current=ho,M===null?ho:M}function Md(){(dn===0||dn===3||dn===2)&&(dn=4),vn===null||(Di&268435455)===0&&(Al&268435455)===0||oi(vn,Pn)}function Qc(M,P){var F=Mr;Mr|=2;var q=Yp();(vn!==M||Pn!==P)&&(as=null,Oi(M,P));do try{Of();break}catch(le){Hp(M,le)}while(!0);if(ma(),Mr=F,Ll.current=q,on!==null)throw Error(g(261));return vn=null,Pn=0,dn}function Of(){for(;on!==null;)Bp(on)}function Ff(){for(;on!==null&&!Hl();)Bp(on)}function Bp(M){var P=Wp(M.alternate,M,go);M.memoizedProps=M.pendingProps,P===null?zp(M):on=P,yd.current=null}function zp(M){var P=M;do{var F=P.alternate;if(M=P.return,(P.flags&32768)===0){if(F=Dp(F,P,go),F!==null){on=F;return}}else{if(F=If(F,P),F!==null){F.flags&=32767,on=F;return}if(M!==null)M.flags|=32768,M.subtreeFlags=0,M.deletions=null;else{dn=6,on=null;return}}if(P=P.sibling,P!==null){on=P;return}on=P=M}while(P!==null);dn===0&&(dn=5)}function Fi(M,P,F){var q=kr,le=Do.transition;try{Do.transition=null,kr=1,Nf(M,P,F,q)}finally{Do.transition=le,kr=q}return null}function Nf(M,P,F,q){do Ta();while(ri!==null);if((Mr&6)!==0)throw Error(g(327));F=M.finishedWork;var le=M.finishedLanes;if(F===null)return null;if(M.finishedWork=null,M.finishedLanes=0,F===M.current)throw Error(g(177));M.callbackNode=null,M.callbackPriority=0;var _e=F.lanes|F.childLanes;if(cf(M,_e),M===vn&&(on=vn=null,Pn=0),(F.subtreeFlags&2064)===0&&(F.flags&2064)===0||Wc||(Wc=!0,qp(zl,function(){return Ta(),null})),_e=(F.flags&15990)!==0,(F.subtreeFlags&15990)!==0||_e){_e=Do.transition,Do.transition=null;var we=kr;kr=1;var Fe=Mr;Mr|=4,yd.current=null,Lf(M,F),Gc(F,M),Lu(tl),Ql=!!Fu,tl=Fu=null,M.current=F,Fp(F),Yl(),Mr=Fe,kr=we,Do.transition=_e}else M.current=F;if(Wc&&(Wc=!1,ri=M,qc=le),_e=M.pendingLanes,_e===0&&(ti=null),sf(F.stateNode),io(M,Jr()),P!==null)for(q=M.onRecoverableError,F=0;F<P.length;F++)le=P[F],q(le.value,{componentStack:le.stack,digest:le.digest});if(Vc)throw Vc=!1,M=bd,bd=null,M;return(qc&1)!==0&&M.tag!==0&&Ta(),_e=M.pendingLanes,(_e&1)!==0?M===Ed?jn++:(jn=0,Ed=M):jn=0,Xn(),null}function Ta(){if(ri!==null){var M=Wl(qc),P=Do.transition,F=kr;try{if(Do.transition=null,kr=16>M?16:M,ri===null)var q=!1;else{if(M=ri,ri=null,qc=0,(Mr&6)!==0)throw Error(g(331));var le=Mr;for(Mr|=4,At=M.current;At!==null;){var _e=At,we=_e.child;if((At.flags&16)!==0){var Fe=_e.deletions;if(Fe!==null){for(var Be=0;Be<Fe.length;Be++){var at=Fe[Be];for(At=at;At!==null;){var Tt=At;switch(Tt.tag){case 0:case 11:case 15:kl(8,Tt,_e)}var $t=Tt.child;if($t!==null)$t.return=Tt,At=$t;else for(;At!==null;){Tt=At;var Mt=Tt.sibling,jt=Tt.return;if(pd(Tt),Tt===at){At=null;break}if(Mt!==null){Mt.return=jt,At=Mt;break}At=jt}}}var Bt=_e.alternate;if(Bt!==null){var zt=Bt.child;if(zt!==null){Bt.child=null;do{var qr=zt.sibling;zt.sibling=null,zt=qr}while(zt!==null)}}At=_e}}if((_e.subtreeFlags&2064)!==0&&we!==null)we.return=_e,At=we;else e:for(;At!==null;){if(_e=At,(_e.flags&2048)!==0)switch(_e.tag){case 0:case 11:case 15:kl(9,_e,_e.return)}var nt=_e.sibling;if(nt!==null){nt.return=_e.return,At=nt;break e}At=_e.return}}var Ke=M.current;for(At=Ke;At!==null;){we=At;var st=we.child;if((we.subtreeFlags&2064)!==0&&st!==null)st.return=we,At=st;else e:for(we=Ke;At!==null;){if(Fe=At,(Fe.flags&2048)!==0)try{switch(Fe.tag){case 0:case 11:case 15:Xs(9,Fe)}}catch(Gt){Vr(Fe,Fe.return,Gt)}if(Fe===we){At=null;break e}var kt=Fe.sibling;if(kt!==null){kt.return=Fe.return,At=kt;break e}At=Fe.return}}if(Mr=le,Xn(),Qo&&typeof Qo.onPostCommitFiberRoot=="function")try{Qo.onPostCommitFiberRoot(Ra,M)}catch(Gt){}q=!0}return q}finally{kr=F,Do.transition=P}}return!1}function Gp(M,P,F){P=va(F,P),P=od(M,P,1),M=Ws(M,P,1),P=Hn(),M!==null&&(li(M,1,P),io(M,P))}function Vr(M,P,F){if(M.tag===3)Gp(M,M,F);else for(;P!==null;){if(P.tag===3){Gp(P,M,F);break}else if(P.tag===1){var q=P.stateNode;if(typeof P.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(ti===null||!ti.has(q))){M=va(F,M),M=Tl(P,M,1),P=Ws(P,M,1),M=Hn(),P!==null&&(li(P,1,M),io(P,M));break}}P=P.return}}function Up(M,P,F){var q=M.pingCache;q!==null&&q.delete(P),P=Hn(),M.pingedLanes|=M.suspendedLanes&F,vn===M&&(Pn&F)===F&&(dn===4||dn===3&&(Pn&130023424)===Pn&&500>Jr()-vd?Oi(M,0):Uc|=F),io(M,P)}function Vp(M,P){P===0&&((M.mode&1)===0?P=1:(P=zi,zi<<=1,(zi&130023424)===0&&(zi=4194304)));var F=Hn();M=Yo(M,P),M!==null&&(li(M,P,F),io(M,F))}function jf(M){var P=M.memoizedState,F=0;P!==null&&(F=P.retryLane),Vp(M,F)}function Hf(M,P){var F=0;switch(M.tag){case 13:var q=M.stateNode,le=M.memoizedState;le!==null&&(F=le.retryLane);break;case 19:q=M.stateNode;break;default:throw Error(g(314))}q!==null&&q.delete(P),Vp(M,F)}var Wp;Wp=function(M,P,F){if(M!==null)if(M.memoizedProps!==P.pendingProps||Kn.current)Tn=!0;else{if((M.lanes&F)===0&&(P.flags&128)===0)return Tn=!1,cd(M,P,F);Tn=(M.flags&131072)!==0}else Tn=!1,zr&&(P.flags&1048576)!==0&&gp(P,hc,P.index);switch(P.lanes=0,P.tag){case 2:var q=P.type;os(M,P),M=P.pendingProps;var le=Jn(P,Ln.current);Zr(P,F),le=Wu(null,P,q,M,le,F);var _e=$i();return P.flags|=1,typeof le=="object"&&le!==null&&typeof le.render=="function"&&le.$$typeof===void 0?(P.tag=1,P.memoizedState=null,P.updateQueue=null,Qn(q)?(_e=!0,fc(P)):_e=!1,P.memoizedState=le.state!==null&&le.state!==void 0?le.state:null,Ti(P),le.updater=Ml,P.stateNode=le,le._reactInternals=P,Ii(P,q,M,F),P=Fc(null,P,q,!0,_e,F)):(P.tag=0,zr&&_e&&Hu(P),On(null,P,le,F),P=P.child),P;case 16:q=P.elementType;e:{switch(os(M,P),M=P.pendingProps,le=q._init,q=le(q._payload),P.type=q,le=P.tag=Kp(q),M=An(q,M),le){case 0:P=Oc(null,P,q,M,F);break e;case 1:P=Rp(null,P,q,M,F);break e;case 11:P=Ac(null,P,q,M,F);break e;case 14:P=Pp(null,P,q,An(q.type,M),F);break e}throw Error(g(306,q,""))}return P;case 0:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Oc(M,P,q,le,F);case 1:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Rp(M,P,q,le,F);case 3:e:{if($p(P),M===null)throw Error(g(387));q=P.pendingProps,_e=P.memoizedState,le=_e.element,zu(M,P),yc(P,q,null,F);var we=P.memoizedState;if(q=we.element,_e.isDehydrated)if(_e={element:q,isDehydrated:!1,cache:we.cache,pendingSuspenseBoundaries:we.pendingSuspenseBoundaries,transitions:we.transitions},P.updateQueue.baseState=_e,P.memoizedState=_e,P.flags&256){le=va(Error(g(423)),P),P=kp(M,P,q,F,le);break e}else if(q!==le){le=va(Error(g(424)),P),P=kp(M,P,q,F,le);break e}else for(Dn=Hs(P.stateNode.containerInfo.firstChild),Mn=P,zr=!0,Ro=null,F=xn(P,null,q,F),P.child=F;F;)F.flags=F.flags&-3|4096,F=F.sibling;else{if(Ci(),q===le){P=Cs(M,P,F);break e}On(M,P,q,F)}P=P.child}return P;case 5:return bc(P),M===null&&gs(P),q=P.type,le=P.pendingProps,_e=M!==null?M.memoizedProps:null,we=le.children,xi(q,le)?we=null:_e!==null&&xi(q,_e)&&(P.flags|=32),ld(M,P),On(M,P,we,F),P.child;case 6:return M===null&&gs(P),null;case 13:return Nc(M,P,F);case 4:return xl(P,P.stateNode.containerInfo),q=P.pendingProps,M===null?P.child=wi(P,null,q,F):On(M,P,q,F),P.child;case 11:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Ac(M,P,q,le,F);case 7:return On(M,P,P.pendingProps,F),P.child;case 8:return On(M,P,P.pendingProps.children,F),P.child;case 12:return On(M,P,P.pendingProps.children,F),P.child;case 10:e:{if(q=P.type._context,le=P.pendingProps,_e=P.memoizedProps,we=le.value,Hr(pa,q._currentValue),q._currentValue=we,_e!==null)if(ft(_e.value,we)){if(_e.children===le.children&&!Kn.current){P=Cs(M,P,F);break e}}else for(_e=P.child,_e!==null&&(_e.return=P);_e!==null;){var Fe=_e.dependencies;if(Fe!==null){we=_e.child;for(var Be=Fe.firstContext;Be!==null;){if(Be.context===q){if(_e.tag===1){Be=_s(-1,F&-F),Be.tag=2;var at=_e.updateQueue;if(at!==null){at=at.shared;var Tt=at.pending;Tt===null?Be.next=Be:(Be.next=Tt.next,Tt.next=Be),at.pending=Be}}_e.lanes|=F,Be=_e.alternate,Be!==null&&(Be.lanes|=F),_c(_e.return,F,P),Fe.lanes|=F;break}Be=Be.next}}else if(_e.tag===10)we=_e.type===P.type?null:_e.child;else if(_e.tag===18){if(we=_e.return,we===null)throw Error(g(341));we.lanes|=F,Fe=we.alternate,Fe!==null&&(Fe.lanes|=F),_c(we,F,P),we=_e.sibling}else we=_e.child;if(we!==null)we.return=_e;else for(we=_e;we!==null;){if(we===P){we=null;break}if(_e=we.sibling,_e!==null){_e.return=we.return,we=_e;break}we=we.return}_e=we}On(M,P,le.children,F),P=P.child}return P;case 9:return le=P.type,q=P.pendingProps.children,Zr(P,F),le=to(le),q=q(le),P.flags|=1,On(M,P,q,F),P.child;case 14:return q=P.type,le=An(q,P.pendingProps),le=An(q.type,le),Pp(M,P,q,le,F);case 15:return ad(M,P,P.type,P.pendingProps,F);case 17:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),os(M,P),P.tag=1,Qn(q)?(M=!0,fc(P)):M=!1,Zr(P,F),nd(P,q,le),Ii(P,q,le,F),Fc(null,P,q,!0,M,F);case 19:return jc(M,P,F);case 22:return ns(M,P,F)}throw Error(g(156,P.tag))};function qp(M,P){return Er(M,P)}function Yf(M,P,F,q){this.tag=M,this.key=F,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ao(M,P,F,q){return new Yf(M,P,F,q)}function Td(M){return M=M.prototype,!(!M||!M.isReactComponent)}function Kp(M){if(typeof M=="function")return Td(M)?1:0;if(M!=null){if(M=M.$$typeof,M===ie)return 11;if(M===X)return 14}return 2}function ii(M,P){var F=M.alternate;return F===null?(F=Ao(M.tag,P,M.key,M.mode),F.elementType=M.elementType,F.type=M.type,F.stateNode=M.stateNode,F.alternate=M,M.alternate=F):(F.pendingProps=P,F.type=M.type,F.flags=0,F.subtreeFlags=0,F.deletions=null),F.flags=M.flags&14680064,F.childLanes=M.childLanes,F.lanes=M.lanes,F.child=M.child,F.memoizedProps=M.memoizedProps,F.memoizedState=M.memoizedState,F.updateQueue=M.updateQueue,P=M.dependencies,F.dependencies=P===null?null:{lanes:P.lanes,firstContext:P.firstContext},F.sibling=M.sibling,F.index=M.index,F.ref=M.ref,F}function Ni(M,P,F,q,le,_e){var we=2;if(q=M,typeof M=="function")Td(M)&&(we=1);else if(typeof M=="string")we=5;else e:switch(M){case V:return ji(F.children,le,_e,P);case J:we=8,le|=8;break;case Q:return M=Ao(12,F,P,le|2),M.elementType=Q,M.lanes=_e,M;case oe:return M=Ao(13,F,P,le),M.elementType=oe,M.lanes=_e,M;case re:return M=Ao(19,F,P,le),M.elementType=re,M.lanes=_e,M;case pe:return Xc(F,le,_e,P);default:if(typeof M=="object"&&M!==null)switch(M.$$typeof){case ee:we=10;break e;case Z:we=9;break e;case ie:we=11;break e;case X:we=14;break e;case ce:we=16,q=null;break e}throw Error(g(130,M==null?M:typeof M,""))}return P=Ao(we,F,P,le),P.elementType=M,P.type=q,P.lanes=_e,P}function ji(M,P,F,q){return M=Ao(7,M,q,P),M.lanes=F,M}function Xc(M,P,F,q){return M=Ao(22,M,q,P),M.elementType=pe,M.lanes=F,M.stateNode={isHidden:!1},M}function Pd(M,P,F){return M=Ao(6,M,null,P),M.lanes=F,M}function Rd(M,P,F){return P=Ao(4,M.children!==null?M.children:[],M.key,P),P.lanes=F,P.stateNode={containerInfo:M.containerInfo,pendingChildren:null,implementation:M.implementation},P}function Bf(M,P,F,q,le){this.tag=P,this.containerInfo=M,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ul(0),this.expirationTimes=Ul(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ul(0),this.identifierPrefix=q,this.onRecoverableError=le,this.mutableSourceEagerHydrationData=null}function $d(M,P,F,q,le,_e,we,Fe,Be){return M=new Bf(M,P,F,Fe,Be),P===1?(P=1,_e===!0&&(P|=8)):P=0,_e=Ao(3,null,null,P),M.current=_e,_e.stateNode=M,_e.memoizedState={element:q,isDehydrated:F,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ti(_e),M}function zf(M,P,F){var q=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:U,key:q==null?null:""+q,children:M,containerInfo:P,implementation:F}}function Jp(M){if(!M)return zs;M=M._reactInternals;e:{if(xt(M)!==M||M.tag!==1)throw Error(g(170));var P=M;do{switch(P.tag){case 3:P=P.stateNode.context;break e;case 1:if(Qn(P.type)){P=P.stateNode.__reactInternalMemoizedMergedChildContext;break e}}P=P.return}while(P!==null);throw Error(g(171))}if(M.tag===1){var F=M.type;if(Qn(F))return mp(M,F,P)}return P}function Qp(M,P,F,q,le,_e,we,Fe,Be){return M=$d(F,q,!0,M,le,_e,we,Fe,Be),M.context=Jp(null),F=M.current,q=Hn(),le=ni(F),_e=_s(q,le),_e.callback=P!=null?P:null,Ws(F,_e,le),M.current.lanes=le,li(M,le,q),io(M,q),M}function Zc(M,P,F,q){var le=P.current,_e=Hn(),we=ni(le);return F=Jp(F),P.context===null?P.context=F:P.pendingContext=F,P=_s(_e,we),P.payload={element:M},q=q===void 0?null:q,q!==null&&(P.callback=q),M=Ws(le,P,we),M!==null&&(Uo(M,le,we,_e),qs(M,le,we)),we}function tu(M){if(M=M.current,!M.child)return null;switch(M.child.tag){case 5:return M.child.stateNode;default:return M.child.stateNode}}function Xp(M,P){if(M=M.memoizedState,M!==null&&M.dehydrated!==null){var F=M.retryLane;M.retryLane=F!==0&&F<P?F:P}}function kd(M,P){Xp(M,P),(M=M.alternate)&&Xp(M,P)}function Gf(){return null}var Zp=typeof reportError=="function"?reportError:function(M){console.error(M)};function Id(M){this._internalRoot=M}Fl.prototype.render=Id.prototype.render=function(M){var P=this._internalRoot;if(P===null)throw Error(g(409));Zc(M,P,null,null)},Fl.prototype.unmount=Id.prototype.unmount=function(){var M=this._internalRoot;if(M!==null){this._internalRoot=null;var P=M.containerInfo;Ai(function(){Zc(null,M,null,null)}),P[wo]=null}};function Fl(M){this._internalRoot=M}Fl.prototype.unstable_scheduleHydration=function(M){if(M){var P=jd();M={blockedOn:null,target:M,priority:P};for(var F=0;F<Rs.length&&P!==0&&P<Rs[F].priority;F++);Rs.splice(F,0,M),F===0&&Yd(M)}};function nu(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11)}function ou(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11&&(M.nodeType!==8||M.nodeValue!==" react-mount-point-unstable "))}function ef(){}function Uf(M,P,F,q,le){if(le){if(typeof q=="function"){var _e=q;q=function(){var at=tu(we);_e.call(at)}}var we=Qp(P,q,M,0,null,!1,!1,"",ef);return M._reactRootContainer=we,M[wo]=we.current,Ns(M.nodeType===8?M.parentNode:M),Ai(),we}for(;le=M.lastChild;)M.removeChild(le);if(typeof q=="function"){var Fe=q;q=function(){var at=tu(Be);Fe.call(at)}}var Be=$d(M,0,!1,null,null,!1,!1,"",ef);return M._reactRootContainer=Be,M[wo]=Be.current,Ns(M.nodeType===8?M.parentNode:M),Ai(function(){Zc(P,Be,F,q)}),Be}function su(M,P,F,q,le){var _e=F._reactRootContainer;if(_e){var we=_e;if(typeof le=="function"){var Fe=le;le=function(){var Be=tu(we);Fe.call(Be)}}Zc(P,we,M,le)}else we=Uf(F,P,M,le,q);return tu(we)}ci=function(M){switch(M.tag){case 3:var P=M.stateNode;if(P.current.memoizedState.isDehydrated){var F=Ia(P.pendingLanes);F!==0&&(Vl(P,F|1),io(P,Jr()),(Mr&6)===0&&(Ma=Jr()+500,Xn()))}break;case 13:Ai(function(){var q=Yo(M,1);if(q!==null){var le=Hn();Uo(q,M,1,le)}}),kd(M,1)}},ql=function(M){if(M.tag===13){var P=Yo(M,134217728);if(P!==null){var F=Hn();Uo(P,M,134217728,F)}kd(M,134217728)}},_u=function(M){if(M.tag===13){var P=ni(M),F=Yo(M,P);if(F!==null){var q=Hn();Uo(F,M,P,q)}kd(M,P)}},jd=function(){return kr},yu=function(M,P){var F=kr;try{return kr=M,P()}finally{kr=F}},vr=function(M,P,F){switch(P){case"input":if(tt(M,F),P=F.name,F.type==="radio"&&P!=null){for(F=M;F.parentNode;)F=F.parentNode;for(F=F.querySelectorAll("input[name="+JSON.stringify(""+P)+'][type="radio"]'),P=0;P<F.length;P++){var q=F[P];if(q!==M&&q.form===M.form){var le=_r(q);if(!le)throw Error(g(90));Ie(q),tt(q,le)}}}break;case"textarea":ut(M,F);break;case"select":P=F.value,P!=null&&Ue(M,!!F.multiple,P,!1)}},En=Sd,Kr=Ai;var iu={usingClientEntryPoint:!1,Events:[Ys,wn,_r,xr,Wr,Sd]},Nl={findFiberByHostInstance:Mo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Vf={bundleType:Nl.bundleType,version:Nl.version,rendererPackageName:Nl.rendererPackageName,rendererConfig:Nl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Y.ReactCurrentDispatcher,findHostInstanceByFiber:function(M){return M=pr(M),M===null?null:M.stateNode},findFiberByHostInstance:Nl.findFiberByHostInstance||Gf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{Ra=au.inject(Vf),Qo=au}catch(M){}}return reactDom_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=iu,reactDom_production_min.createPortal=function(M,P){var F=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!nu(P))throw Error(g(200));return zf(M,P,null,F)},reactDom_production_min.createRoot=function(M,P){if(!nu(M))throw Error(g(299));var F=!1,q="",le=Zp;return P!=null&&(P.unstable_strictMode===!0&&(F=!0),P.identifierPrefix!==void 0&&(q=P.identifierPrefix),P.onRecoverableError!==void 0&&(le=P.onRecoverableError)),P=$d(M,1,!1,null,null,F,!1,q,le),M[wo]=P.current,Ns(M.nodeType===8?M.parentNode:M),new Id(P)},reactDom_production_min.findDOMNode=function(M){if(M==null)return null;if(M.nodeType===1)return M;var P=M._reactInternals;if(P===void 0)throw typeof M.render=="function"?Error(g(188)):(M=Object.keys(M).join(","),Error(g(268,M)));return M=pr(P),M=M===null?null:M.stateNode,M},reactDom_production_min.flushSync=function(M){return Ai(M)},reactDom_production_min.hydrate=function(M,P,F){if(!ou(P))throw Error(g(200));return su(null,M,P,!0,F)},reactDom_production_min.hydrateRoot=function(M,P,F){if(!nu(M))throw Error(g(405));var q=F!=null&&F.hydratedSources||null,le=!1,_e="",we=Zp;if(F!=null&&(F.unstable_strictMode===!0&&(le=!0),F.identifierPrefix!==void 0&&(_e=F.identifierPrefix),F.onRecoverableError!==void 0&&(we=F.onRecoverableError)),P=Qp(P,null,M,1,F!=null?F:null,le,!1,_e,we),M[wo]=P.current,Ns(M),q)for(M=0;M<q.length;M++)F=q[M],le=F._getVersion,le=le(F._source),P.mutableSourceEagerHydrationData==null?P.mutableSourceEagerHydrationData=[F,le]:P.mutableSourceEagerHydrationData.push(F,le);return new Fl(P)},reactDom_production_min.render=function(M,P,F){if(!ou(P))throw Error(g(200));return su(null,M,P,!1,F)},reactDom_production_min.unmountComponentAtNode=function(M){if(!ou(M))throw Error(g(40));return M._reactRootContainer?(Ai(function(){su(null,null,M,!1,function(){M._reactRootContainer=null,M[wo]=null})}),!0):!1},reactDom_production_min.unstable_batchedUpdates=Sd,reactDom_production_min.unstable_renderSubtreeIntoContainer=function(M,P,F,q){if(!ou(F))throw Error(g(200));if(M==null||M._reactInternals===void 0)throw Error(g(38));return su(M,P,F,!1,q)},reactDom_production_min.version="18.3.1-next-f1338f8080-20240426",reactDom_production_min}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(m){console.error(m)}}return d(),reactDom.exports=requireReactDom_production_min(),reactDom.exports}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client;hasRequiredClient=1;var d=requireReactDom();return client.createRoot=d.createRoot,client.hydrateRoot=d.hydrateRoot,client}var clientExports=requireClient();const scriptRel="modulepreload",assetsURL=function(d){return"/"+d},seen={},__vitePreload=function(m,g,x){let b=Promise.resolve();if(g&&g.length>0){let v=function(T){return Promise.all(T.map(R=>Promise.resolve(R).then(k=>({status:"fulfilled",value:k}),k=>({status:"rejected",reason:k}))))};document.getElementsByTagName("link");const C=document.querySelector("meta[property=csp-nonce]"),S=(C==null?void 0:C.nonce)||(C==null?void 0:C.getAttribute("nonce"));b=v(g.map(T=>{if(T=assetsURL(T),T in seen)return;seen[T]=!0;const R=T.endsWith(".css"),k=R?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${T}"]${k}`))return;const L=document.createElement("link");if(L.rel=R?"stylesheet":scriptRel,R||(L.as="script"),L.crossOrigin="",L.href=T,S&&L.setAttribute("nonce",S),document.head.appendChild(L),R)return new Promise((D,A)=>{L.addEventListener("load",D),L.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${T}`)))})}))}function E(v){const C=new Event("vite:preloadError",{cancelable:!0});if(C.payload=v,window.dispatchEvent(C),!C.defaultPrevented)throw v}return b.then(v=>{for(const C of v||[])C.status==="rejected"&&E(C.reason);return m().catch(E)})};window.crypto||(window.crypto={});crypto.subtle||(crypto.subtle=console.debug("using polyfill for crypto.subtle")||{});var Dm;(Dm=crypto.subtle).digest||(Dm.digest=(d,m)=>yt(void 0,null,function*(){if(d!=="SHA-512")return alert(d+" required but not supported");const x=(yield __vitePreload(()=>import("./sha512-ZY3LjLgT.js").then(b=>b.s),[])).default.arrayBuffer;return x(m)}));var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);/**
32
+ `+_e.stack}return{value:M,source:P,stack:le,digest:null}}function kc(M,P,F){return{value:M,source:null,stack:F!=null?F:null,digest:P!=null?P:null}}function Ic(M,P){try{console.error(P.value)}catch(F){setTimeout(function(){throw F})}}var Lc=typeof WeakMap=="function"?WeakMap:Map;function od(M,P,F){F=_s(-1,F),F.tag=3,F.payload={element:null};var q=P.value;return F.callback=function(){Vc||(Vc=!0,bd=q),Ic(M,P)},F}function Tl(M,P,F){F=_s(-1,F),F.tag=3;var q=M.type.getDerivedStateFromError;if(typeof q=="function"){var le=P.value;F.payload=function(){return q(le)},F.callback=function(){Ic(M,P)}}var _e=M.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(F.callback=function(){Ic(M,P),typeof q!="function"&&(ti===null?ti=new Set([this]):ti.add(this));var we=P.stack;this.componentDidCatch(P.value,{componentStack:we!==null?we:""})}),F}function Dc(M,P,F){var q=M.pingCache;if(q===null){q=M.pingCache=new Lc;var le=new Set;q.set(P,le)}else le=q.get(P),le===void 0&&(le=new Set,q.set(P,le));le.has(F)||(le.add(F),M=Up.bind(null,M,P,F),P.then(M,M))}function Pl(M){do{var P;if((P=M.tag===13)&&(P=M.memoizedState,P=P!==null?P.dehydrated!==null:!0),P)return M;M=M.return}while(M!==null);return null}function Mp(M,P,F,q,le){return(M.mode&1)===0?(M===P?M.flags|=65536:(M.flags|=128,F.flags|=131072,F.flags&=-52805,F.tag===1&&(F.alternate===null?F.tag=17:(P=_s(-1,1),P.tag=2,Ws(F,P,1))),F.lanes|=1),M):(M.flags|=65536,M.lanes=le,M)}var Tp=Y.ReactCurrentOwner,Tn=!1;function On(M,P,F,q){P.child=M===null?xn(P,null,F,q):wi(P,M.child,F,q)}function Ac(M,P,F,q,le){F=F.render;var _e=P.ref;return Zr(P,le),q=Wu(M,P,F,q,_e,le),F=$i(),M!==null&&!Tn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,Cs(M,P,le)):(zr&&F&&Hu(P),P.flags|=1,On(M,P,q,le),P.child)}function Pp(M,P,F,q,le){if(M===null){var _e=F.type;return typeof _e=="function"&&!Td(_e)&&_e.defaultProps===void 0&&F.compare===null&&F.defaultProps===void 0?(P.tag=15,P.type=_e,ad(M,P,_e,q,le)):(M=Ni(F.type,null,q,P,P.mode,le),M.ref=P.ref,M.return=P,P.child=M)}if(_e=M.child,(M.lanes&le)===0){var we=_e.memoizedProps;if(F=F.compare,F=F!==null?F:ct,F(we,q)&&M.ref===P.ref)return Cs(M,P,le)}return P.flags|=1,M=ii(_e,q),M.ref=P.ref,M.return=P,P.child=M}function ad(M,P,F,q,le){if(M!==null){var _e=M.memoizedProps;if(ct(_e,q)&&M.ref===P.ref)if(Tn=!1,P.pendingProps=q=_e,(M.lanes&le)!==0)(M.flags&131072)!==0&&(Tn=!0);else return P.lanes=M.lanes,Cs(M,P,le)}return Oc(M,P,F,q,le)}function ns(M,P,F){var q=P.pendingProps,le=q.children,_e=M!==null?M.memoizedState:null;if(q.mode==="hidden")if((P.mode&1)===0)P.memoizedState={baseLanes:0,cachePool:null,transitions:null},Hr(Sa,go),go|=F;else{if((F&1073741824)===0)return M=_e!==null?_e.baseLanes|F:F,P.lanes=P.childLanes=1073741824,P.memoizedState={baseLanes:M,cachePool:null,transitions:null},P.updateQueue=null,Hr(Sa,go),go|=M,null;P.memoizedState={baseLanes:0,cachePool:null,transitions:null},q=_e!==null?_e.baseLanes:F,Hr(Sa,go),go|=q}else _e!==null?(q=_e.baseLanes|F,P.memoizedState=null):q=F,Hr(Sa,go),go|=q;return On(M,P,le,F),P.child}function ld(M,P){var F=P.ref;(M===null&&F!==null||M!==null&&M.ref!==F)&&(P.flags|=512,P.flags|=2097152)}function Oc(M,P,F,q,le){var _e=Qn(F)?yi:Ln.current;return _e=Jn(P,_e),Zr(P,le),F=Wu(M,P,F,q,_e,le),q=$i(),M!==null&&!Tn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,Cs(M,P,le)):(zr&&q&&Hu(P),P.flags|=1,On(M,P,F,le),P.child)}function Rp(M,P,F,q,le){if(Qn(F)){var _e=!0;fc(P)}else _e=!1;if(Zr(P,le),P.stateNode===null)os(M,P),nd(P,F,q),Ii(P,F,q,le),q=!0;else if(M===null){var we=P.stateNode,Fe=P.memoizedProps;we.props=Fe;var Be=we.context,at=F.contextType;typeof at=="object"&&at!==null?at=to(at):(at=Qn(F)?yi:Ln.current,at=Jn(P,at));var Tt=F.getDerivedStateFromProps,$t=typeof Tt=="function"||typeof we.getSnapshotBeforeUpdate=="function";$t||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Fe!==q||Be!==at)&&ki(P,we,q,at),Vs=!1;var Mt=P.memoizedState;we.state=Mt,yc(P,q,we,le),Be=P.memoizedState,Fe!==q||Mt!==Be||Kn.current||Vs?(typeof Tt=="function"&&($c(P,F,Tt,q),Be=P.memoizedState),(Fe=Vs||wp(P,F,Fe,q,Mt,Be,at))?($t||typeof we.UNSAFE_componentWillMount!="function"&&typeof we.componentWillMount!="function"||(typeof we.componentWillMount=="function"&&we.componentWillMount(),typeof we.UNSAFE_componentWillMount=="function"&&we.UNSAFE_componentWillMount()),typeof we.componentDidMount=="function"&&(P.flags|=4194308)):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),P.memoizedProps=q,P.memoizedState=Be),we.props=q,we.state=Be,we.context=at,q=Fe):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),q=!1)}else{we=P.stateNode,zu(M,P),Fe=P.memoizedProps,at=P.type===P.elementType?Fe:An(P.type,Fe),we.props=at,$t=P.pendingProps,Mt=we.context,Be=F.contextType,typeof Be=="object"&&Be!==null?Be=to(Be):(Be=Qn(F)?yi:Ln.current,Be=Jn(P,Be));var jt=F.getDerivedStateFromProps;(Tt=typeof jt=="function"||typeof we.getSnapshotBeforeUpdate=="function")||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Fe!==$t||Mt!==Be)&&ki(P,we,q,Be),Vs=!1,Mt=P.memoizedState,we.state=Mt,yc(P,q,we,le);var Bt=P.memoizedState;Fe!==$t||Mt!==Bt||Kn.current||Vs?(typeof jt=="function"&&($c(P,F,jt,q),Bt=P.memoizedState),(at=Vs||wp(P,F,at,q,Mt,Bt,Be)||!1)?(Tt||typeof we.UNSAFE_componentWillUpdate!="function"&&typeof we.componentWillUpdate!="function"||(typeof we.componentWillUpdate=="function"&&we.componentWillUpdate(q,Bt,Be),typeof we.UNSAFE_componentWillUpdate=="function"&&we.UNSAFE_componentWillUpdate(q,Bt,Be)),typeof we.componentDidUpdate=="function"&&(P.flags|=4),typeof we.getSnapshotBeforeUpdate=="function"&&(P.flags|=1024)):(typeof we.componentDidUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=1024),P.memoizedProps=q,P.memoizedState=Bt),we.props=q,we.state=Bt,we.context=Be,q=at):(typeof we.componentDidUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Fe===M.memoizedProps&&Mt===M.memoizedState||(P.flags|=1024),q=!1)}return Fc(M,P,F,q,_e,le)}function Fc(M,P,F,q,le,_e){ld(M,P);var we=(P.flags&128)!==0;if(!q&&!we)return le&&Zo(P,F,!1),Cs(M,P,_e);q=P.stateNode,Tp.current=P;var Fe=we&&typeof F.getDerivedStateFromError!="function"?null:q.render();return P.flags|=1,M!==null&&we?(P.child=wi(P,M.child,null,_e),P.child=wi(P,null,Fe,_e)):On(M,P,Fe,_e),P.memoizedState=q.state,le&&Zo(P,F,!0),P.child}function $p(M){var P=M.stateNode;P.pendingContext?fp(M,P.pendingContext,P.pendingContext!==P.context):P.context&&fp(M,P.context,!1),xl(M,P.containerInfo)}function kp(M,P,F,q,le){return Ci(),Si(le),P.flags|=256,On(M,P,F,q),P.child}var zo={dehydrated:null,treeContext:null,retryLane:0};function Rl(M){return{baseLanes:M,cachePool:null,transitions:null}}function Nc(M,P,F){var q=P.pendingProps,le=Gr.current,_e=!1,we=(P.flags&128)!==0,Fe;if((Fe=we)||(Fe=M!==null&&M.memoizedState===null?!1:(le&2)!==0),Fe?(_e=!0,P.flags&=-129):(M===null||M.memoizedState!==null)&&(le|=1),Hr(Gr,le&1),M===null)return gs(P),M=P.memoizedState,M!==null&&(M=M.dehydrated,M!==null)?((P.mode&1)===0?P.lanes=1:M.data==="$!"?P.lanes=8:P.lanes=1073741824,null):(we=q.children,M=q.fallback,_e?(q=P.mode,_e=P.child,we={mode:"hidden",children:we},(q&1)===0&&_e!==null?(_e.childLanes=0,_e.pendingProps=we):_e=Xc(we,q,0,null),M=ji(M,q,F,null),_e.return=P,M.return=P,_e.sibling=M,P.child=_e,P.child.memoizedState=Rl(F),P.memoizedState=zo,M):$l(P,we));if(le=M.memoizedState,le!==null&&(Fe=le.dehydrated,Fe!==null))return ba(M,P,we,q,Fe,le,F);if(_e){_e=q.fallback,we=P.mode,le=M.child,Fe=le.sibling;var Be={mode:"hidden",children:q.children};return(we&1)===0&&P.child!==le?(q=P.child,q.childLanes=0,q.pendingProps=Be,P.deletions=null):(q=ii(le,Be),q.subtreeFlags=le.subtreeFlags&14680064),Fe!==null?_e=ii(Fe,_e):(_e=ji(_e,we,F,null),_e.flags|=2),_e.return=P,q.return=P,q.sibling=_e,P.child=q,q=_e,_e=P.child,we=M.child.memoizedState,we=we===null?Rl(F):{baseLanes:we.baseLanes|F,cachePool:null,transitions:we.transitions},_e.memoizedState=we,_e.childLanes=M.childLanes&~F,P.memoizedState=zo,q}return _e=M.child,M=_e.sibling,q=ii(_e,{mode:"visible",children:q.children}),(P.mode&1)===0&&(q.lanes=F),q.return=P,q.sibling=null,M!==null&&(F=P.deletions,F===null?(P.deletions=[M],P.flags|=16):F.push(M)),P.child=q,P.memoizedState=null,q}function $l(M,P){return P=Xc({mode:"visible",children:P},M.mode,0,null),P.return=M,M.child=P}function Li(M,P,F,q){return q!==null&&Si(q),wi(P,M.child,null,F),M=$l(P,P.pendingProps.children),M.flags|=2,P.memoizedState=null,M}function ba(M,P,F,q,le,_e,we){if(F)return P.flags&256?(P.flags&=-257,q=kc(Error(g(422))),Li(M,P,we,q)):P.memoizedState!==null?(P.child=M.child,P.flags|=128,null):(_e=q.fallback,le=P.mode,q=Xc({mode:"visible",children:q.children},le,0,null),_e=ji(_e,le,we,null),_e.flags|=2,q.return=P,_e.return=P,q.sibling=_e,P.child=q,(P.mode&1)!==0&&wi(P,M.child,null,we),P.child.memoizedState=Rl(we),P.memoizedState=zo,_e);if((P.mode&1)===0)return Li(M,P,we,null);if(le.data==="$!"){if(q=le.nextSibling&&le.nextSibling.dataset,q)var Fe=q.dgst;return q=Fe,_e=Error(g(419)),q=kc(_e,q,void 0),Li(M,P,we,q)}if(Fe=(we&M.childLanes)!==0,Tn||Fe){if(q=vn,q!==null){switch(we&-we){case 4:le=2;break;case 16:le=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:le=32;break;case 536870912:le=268435456;break;default:le=0}le=(le&(q.suspendedLanes|we))!==0?0:le,le!==0&&le!==_e.retryLane&&(_e.retryLane=le,Yo(M,le),Uo(q,M,le,-1))}return Md(),q=kc(Error(g(421))),Li(M,P,we,q)}return le.data==="$?"?(P.flags|=128,P.child=M.child,P=jf.bind(null,M),le._reactRetry=P,null):(M=_e.treeContext,Dn=Hs(le.nextSibling),Mn=P,zr=!0,Ro=null,M!==null&&(To[Po++]=hs,To[Po++]=ts,To[Po++]=Ei,hs=M.id,ts=M.overflow,Ei=P),P=$l(P,q.children),P.flags|=4096,P)}function Zt(M,P,F){M.lanes|=P;var q=M.alternate;q!==null&&(q.lanes|=P),_c(M.return,P,F)}function Ea(M,P,F,q,le){var _e=M.memoizedState;_e===null?M.memoizedState={isBackwards:P,rendering:null,renderingStartTime:0,last:q,tail:F,tailMode:le}:(_e.isBackwards=P,_e.rendering=null,_e.renderingStartTime=0,_e.last=q,_e.tail=F,_e.tailMode=le)}function jc(M,P,F){var q=P.pendingProps,le=q.revealOrder,_e=q.tail;if(On(M,P,q.children,F),q=Gr.current,(q&2)!==0)q=q&1|2,P.flags|=128;else{if(M!==null&&(M.flags&128)!==0)e:for(M=P.child;M!==null;){if(M.tag===13)M.memoizedState!==null&&Zt(M,F,P);else if(M.tag===19)Zt(M,F,P);else if(M.child!==null){M.child.return=M,M=M.child;continue}if(M===P)break e;for(;M.sibling===null;){if(M.return===null||M.return===P)break e;M=M.return}M.sibling.return=M.return,M=M.sibling}q&=1}if(Hr(Gr,q),(P.mode&1)===0)P.memoizedState=null;else switch(le){case"forwards":for(F=P.child,le=null;F!==null;)M=F.alternate,M!==null&&_l(M)===null&&(le=F),F=F.sibling;F=le,F===null?(le=P.child,P.child=null):(le=F.sibling,F.sibling=null),Ea(P,!1,le,F,_e);break;case"backwards":for(F=null,le=P.child,P.child=null;le!==null;){if(M=le.alternate,M!==null&&_l(M)===null){P.child=le;break}M=le.sibling,le.sibling=F,F=le,le=M}Ea(P,!0,F,null,_e);break;case"together":Ea(P,!1,null,null,void 0);break;default:P.memoizedState=null}return P.child}function os(M,P){(P.mode&1)===0&&M!==null&&(M.alternate=null,P.alternate=null,P.flags|=2)}function Cs(M,P,F){if(M!==null&&(P.dependencies=M.dependencies),Di|=P.lanes,(F&P.childLanes)===0)return null;if(M!==null&&P.child!==M.child)throw Error(g(153));if(P.child!==null){for(M=P.child,F=ii(M,M.pendingProps),P.child=F,F.return=P;M.sibling!==null;)M=M.sibling,F=F.sibling=ii(M,M.pendingProps),F.return=P;F.sibling=null}return P.child}function cd(M,P,F){switch(P.tag){case 3:$p(P),Ci();break;case 5:bc(P);break;case 1:Qn(P.type)&&fc(P);break;case 4:xl(P,P.stateNode.containerInfo);break;case 10:var q=P.type._context,le=P.memoizedProps.value;Hr(pa,q._currentValue),q._currentValue=le;break;case 13:if(q=P.memoizedState,q!==null)return q.dehydrated!==null?(Hr(Gr,Gr.current&1),P.flags|=128,null):(F&P.child.childLanes)!==0?Nc(M,P,F):(Hr(Gr,Gr.current&1),M=Cs(M,P,F),M!==null?M.sibling:null);Hr(Gr,Gr.current&1);break;case 19:if(q=(F&P.childLanes)!==0,(M.flags&128)!==0){if(q)return jc(M,P,F);P.flags|=128}if(le=P.memoizedState,le!==null&&(le.rendering=null,le.tail=null,le.lastEffect=null),Hr(Gr,Gr.current),q)break;return null;case 22:case 23:return P.lanes=0,ns(M,P,F)}return Cs(M,P,F)}var ud,_n,Ip,Lp;ud=function(M,P){for(var F=P.child;F!==null;){if(F.tag===5||F.tag===6)M.appendChild(F.stateNode);else if(F.tag!==4&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===P)break;for(;F.sibling===null;){if(F.return===null||F.return===P)return;F=F.return}F.sibling.return=F.return,F=F.sibling}},_n=function(){},Ip=function(M,P,F,q){var le=M.memoizedProps;if(le!==q){M=P.stateNode,Ks(rs.current);var _e=null;switch(F){case"input":le=We(M,le),q=We(M,q),_e=[];break;case"select":le=fe({},le,{value:void 0}),q=fe({},q,{value:void 0}),_e=[];break;case"textarea":le=Xe(M,le),q=Xe(M,q),_e=[];break;default:typeof le.onClick!="function"&&typeof q.onClick=="function"&&(M.onclick=Za)}Dt(F,q);var we;F=null;for(at in le)if(!q.hasOwnProperty(at)&&le.hasOwnProperty(at)&&le[at]!=null)if(at==="style"){var Fe=le[at];for(we in Fe)Fe.hasOwnProperty(we)&&(F||(F={}),F[we]="")}else at!=="dangerouslySetInnerHTML"&&at!=="children"&&at!=="suppressContentEditableWarning"&&at!=="suppressHydrationWarning"&&at!=="autoFocus"&&(b.hasOwnProperty(at)?_e||(_e=[]):(_e=_e||[]).push(at,null));for(at in q){var Be=q[at];if(Fe=le!=null?le[at]:void 0,q.hasOwnProperty(at)&&Be!==Fe&&(Be!=null||Fe!=null))if(at==="style")if(Fe){for(we in Fe)!Fe.hasOwnProperty(we)||Be&&Be.hasOwnProperty(we)||(F||(F={}),F[we]="");for(we in Be)Be.hasOwnProperty(we)&&Fe[we]!==Be[we]&&(F||(F={}),F[we]=Be[we])}else F||(_e||(_e=[]),_e.push(at,F)),F=Be;else at==="dangerouslySetInnerHTML"?(Be=Be?Be.__html:void 0,Fe=Fe?Fe.__html:void 0,Be!=null&&Fe!==Be&&(_e=_e||[]).push(at,Be)):at==="children"?typeof Be!="string"&&typeof Be!="number"||(_e=_e||[]).push(at,""+Be):at!=="suppressContentEditableWarning"&&at!=="suppressHydrationWarning"&&(b.hasOwnProperty(at)?(Be!=null&&at==="onScroll"&&Yr("scroll",M),_e||Fe===Be||(_e=[])):(_e=_e||[]).push(at,Be))}F&&(_e=_e||[]).push("style",F);var at=_e;(P.updateQueue=at)&&(P.flags|=4)}},Lp=function(M,P,F,q){F!==q&&(P.flags|=4)};function Ca(M,P){if(!zr)switch(M.tailMode){case"hidden":P=M.tail;for(var F=null;P!==null;)P.alternate!==null&&(F=P),P=P.sibling;F===null?M.tail=null:F.sibling=null;break;case"collapsed":F=M.tail;for(var q=null;F!==null;)F.alternate!==null&&(q=F),F=F.sibling;q===null?P||M.tail===null?M.tail=null:M.tail.sibling=null:q.sibling=null}}function Fn(M){var P=M.alternate!==null&&M.alternate.child===M.child,F=0,q=0;if(P)for(var le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags&14680064,q|=le.flags&14680064,le.return=M,le=le.sibling;else for(le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags,q|=le.flags,le.return=M,le=le.sibling;return M.subtreeFlags|=q,M.childLanes=F,P}function Dp(M,P,F){var q=P.pendingProps;switch(al(P),P.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fn(P),null;case 1:return Qn(P.type)&&pc(),Fn(P),null;case 3:return q=P.stateNode,xa(),Lr(Kn),Lr(Ln),Gu(),q.pendingContext&&(q.context=q.pendingContext,q.pendingContext=null),(M===null||M.child===null)&&(gc(P)?P.flags|=4:M===null||M.memoizedState.isDehydrated&&(P.flags&256)===0||(P.flags|=1024,Ro!==null&&(Cd(Ro),Ro=null))),_n(M,P),Fn(P),null;case 5:Ec(P);var le=Ks(hl.current);if(F=P.type,M!==null&&P.stateNode!=null)Ip(M,P,F,q,le),M.ref!==P.ref&&(P.flags|=512,P.flags|=2097152);else{if(!q){if(P.stateNode===null)throw Error(g(166));return Fn(P),null}if(M=Ks(rs.current),gc(P)){q=P.stateNode,F=P.type;var _e=P.memoizedProps;switch(q[Xo]=P,q[il]=_e,M=(P.mode&1)!==0,F){case"dialog":Yr("cancel",q),Yr("close",q);break;case"iframe":case"object":case"embed":Yr("load",q);break;case"video":case"audio":for(le=0;le<ea.length;le++)Yr(ea[le],q);break;case"source":Yr("error",q);break;case"img":case"image":case"link":Yr("error",q),Yr("load",q);break;case"details":Yr("toggle",q);break;case"input":je(q,_e),Yr("invalid",q);break;case"select":q._wrapperState={wasMultiple:!!_e.multiple},Yr("invalid",q);break;case"textarea":Ve(q,_e),Yr("invalid",q)}Dt(F,_e),le=null;for(var we in _e)if(_e.hasOwnProperty(we)){var Fe=_e[we];we==="children"?typeof Fe=="string"?q.textContent!==Fe&&(_e.suppressHydrationWarning!==!0&&uc(q.textContent,Fe,M),le=["children",Fe]):typeof Fe=="number"&&q.textContent!==""+Fe&&(_e.suppressHydrationWarning!==!0&&uc(q.textContent,Fe,M),le=["children",""+Fe]):b.hasOwnProperty(we)&&Fe!=null&&we==="onScroll"&&Yr("scroll",q)}switch(F){case"input":De(q),qe(q,_e,!0);break;case"textarea":De(q),Ct(q);break;case"select":case"option":break;default:typeof _e.onClick=="function"&&(q.onclick=Za)}q=le,P.updateQueue=q,q!==null&&(P.flags|=4)}else{we=le.nodeType===9?le:le.ownerDocument,M==="http://www.w3.org/1999/xhtml"&&(M=Ae(F)),M==="http://www.w3.org/1999/xhtml"?F==="script"?(M=we.createElement("div"),M.innerHTML="<script><\/script>",M=M.removeChild(M.firstChild)):typeof q.is=="string"?M=we.createElement(F,{is:q.is}):(M=we.createElement(F),F==="select"&&(we=M,q.multiple?we.multiple=!0:q.size&&(we.size=q.size))):M=we.createElementNS(M,F),M[Xo]=P,M[il]=q,ud(M,P,!1,!1),P.stateNode=M;e:{switch(we=Jt(F,q),F){case"dialog":Yr("cancel",M),Yr("close",M),le=q;break;case"iframe":case"object":case"embed":Yr("load",M),le=q;break;case"video":case"audio":for(le=0;le<ea.length;le++)Yr(ea[le],M);le=q;break;case"source":Yr("error",M),le=q;break;case"img":case"image":case"link":Yr("error",M),Yr("load",M),le=q;break;case"details":Yr("toggle",M),le=q;break;case"input":je(M,q),le=We(M,q),Yr("invalid",M);break;case"option":le=q;break;case"select":M._wrapperState={wasMultiple:!!q.multiple},le=fe({},q,{value:void 0}),Yr("invalid",M);break;case"textarea":Ve(M,q),le=Xe(M,q),Yr("invalid",M);break;default:le=q}Dt(F,le),Fe=le;for(_e in Fe)if(Fe.hasOwnProperty(_e)){var Be=Fe[_e];_e==="style"?Ht(M,Be):_e==="dangerouslySetInnerHTML"?(Be=Be?Be.__html:void 0,Be!=null&&rt(M,Be)):_e==="children"?typeof Be=="string"?(F!=="textarea"||Be!=="")&&It(M,Be):typeof Be=="number"&&It(M,""+Be):_e!=="suppressContentEditableWarning"&&_e!=="suppressHydrationWarning"&&_e!=="autoFocus"&&(b.hasOwnProperty(_e)?Be!=null&&_e==="onScroll"&&Yr("scroll",M):Be!=null&&z(M,_e,Be,we))}switch(F){case"input":De(M),qe(M,q,!1);break;case"textarea":De(M),Ct(M);break;case"option":q.value!=null&&M.setAttribute("value",""+Se(q.value));break;case"select":M.multiple=!!q.multiple,_e=q.value,_e!=null?Ue(M,!!q.multiple,_e,!1):q.defaultValue!=null&&Ue(M,!!q.multiple,q.defaultValue,!0);break;default:typeof le.onClick=="function"&&(M.onclick=Za)}switch(F){case"button":case"input":case"select":case"textarea":q=!!q.autoFocus;break e;case"img":q=!0;break e;default:q=!1}}q&&(P.flags|=4)}P.ref!==null&&(P.flags|=512,P.flags|=2097152)}return Fn(P),null;case 6:if(M&&P.stateNode!=null)Lp(M,P,M.memoizedProps,q);else{if(typeof q!="string"&&P.stateNode===null)throw Error(g(166));if(F=Ks(hl.current),Ks(rs.current),gc(P)){if(q=P.stateNode,F=P.memoizedProps,q[Xo]=P,(_e=q.nodeValue!==F)&&(M=Mn,M!==null))switch(M.tag){case 3:uc(q.nodeValue,F,(M.mode&1)!==0);break;case 5:M.memoizedProps.suppressHydrationWarning!==!0&&uc(q.nodeValue,F,(M.mode&1)!==0)}_e&&(P.flags|=4)}else q=(F.nodeType===9?F:F.ownerDocument).createTextNode(q),q[Xo]=P,P.stateNode=q}return Fn(P),null;case 13:if(Lr(Gr),q=P.memoizedState,M===null||M.memoizedState!==null&&M.memoizedState.dehydrated!==null){if(zr&&Dn!==null&&(P.mode&1)!==0&&(P.flags&128)===0)Yu(),Ci(),P.flags|=98560,_e=!1;else if(_e=gc(P),q!==null&&q.dehydrated!==null){if(M===null){if(!_e)throw Error(g(318));if(_e=P.memoizedState,_e=_e!==null?_e.dehydrated:null,!_e)throw Error(g(317));_e[Xo]=P}else Ci(),(P.flags&128)===0&&(P.memoizedState=null),P.flags|=4;Fn(P),_e=!1}else Ro!==null&&(Cd(Ro),Ro=null),_e=!0;if(!_e)return P.flags&65536?P:null}return(P.flags&128)!==0?(P.lanes=F,P):(q=q!==null,q!==(M!==null&&M.memoizedState!==null)&&q&&(P.child.flags|=8192,(P.mode&1)!==0&&(M===null||(Gr.current&1)!==0?dn===0&&(dn=3):Md())),P.updateQueue!==null&&(P.flags|=4),Fn(P),null);case 4:return xa(),_n(M,P),M===null&&Ns(P.stateNode.containerInfo),Fn(P),null;case 10:return xs(P.type._context),Fn(P),null;case 17:return Qn(P.type)&&pc(),Fn(P),null;case 19:if(Lr(Gr),_e=P.memoizedState,_e===null)return Fn(P),null;if(q=(P.flags&128)!==0,we=_e.rendering,we===null)if(q)Ca(_e,!1);else{if(dn!==0||M!==null&&(M.flags&128)!==0)for(M=P.child;M!==null;){if(we=_l(M),we!==null){for(P.flags|=128,Ca(_e,!1),q=we.updateQueue,q!==null&&(P.updateQueue=q,P.flags|=4),P.subtreeFlags=0,q=F,F=P.child;F!==null;)_e=F,M=q,_e.flags&=14680066,we=_e.alternate,we===null?(_e.childLanes=0,_e.lanes=M,_e.child=null,_e.subtreeFlags=0,_e.memoizedProps=null,_e.memoizedState=null,_e.updateQueue=null,_e.dependencies=null,_e.stateNode=null):(_e.childLanes=we.childLanes,_e.lanes=we.lanes,_e.child=we.child,_e.subtreeFlags=0,_e.deletions=null,_e.memoizedProps=we.memoizedProps,_e.memoizedState=we.memoizedState,_e.updateQueue=we.updateQueue,_e.type=we.type,M=we.dependencies,_e.dependencies=M===null?null:{lanes:M.lanes,firstContext:M.firstContext}),F=F.sibling;return Hr(Gr,Gr.current&1|2),P.child}M=M.sibling}_e.tail!==null&&Jr()>Ma&&(P.flags|=128,q=!0,Ca(_e,!1),P.lanes=4194304)}else{if(!q)if(M=_l(we),M!==null){if(P.flags|=128,q=!0,F=M.updateQueue,F!==null&&(P.updateQueue=F,P.flags|=4),Ca(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!we.alternate&&!zr)return Fn(P),null}else 2*Jr()-_e.renderingStartTime>Ma&&F!==1073741824&&(P.flags|=128,q=!0,Ca(_e,!1),P.lanes=4194304);_e.isBackwards?(we.sibling=P.child,P.child=we):(F=_e.last,F!==null?F.sibling=we:P.child=we,_e.last=we)}return _e.tail!==null?(P=_e.tail,_e.rendering=P,_e.tail=P.sibling,_e.renderingStartTime=Jr(),P.sibling=null,F=Gr.current,Hr(Gr,q?F&1|2:F&1),P):(Fn(P),null);case 22:case 23:return wd(),q=P.memoizedState!==null,M!==null&&M.memoizedState!==null!==q&&(P.flags|=8192),q&&(P.mode&1)!==0?(go&1073741824)!==0&&(Fn(P),P.subtreeFlags&6&&(P.flags|=8192)):Fn(P),null;case 24:return null;case 25:return null}throw Error(g(156,P.tag))}function If(M,P){switch(al(P),P.tag){case 1:return Qn(P.type)&&pc(),M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 3:return xa(),Lr(Kn),Lr(Ln),Gu(),M=P.flags,(M&65536)!==0&&(M&128)===0?(P.flags=M&-65537|128,P):null;case 5:return Ec(P),null;case 13:if(Lr(Gr),M=P.memoizedState,M!==null&&M.dehydrated!==null){if(P.alternate===null)throw Error(g(340));Ci()}return M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 19:return Lr(Gr),null;case 4:return xa(),null;case 10:return xs(P.type._context),null;case 22:case 23:return wd(),null;case 24:return null;default:return null}}var Hc=!1,Nn=!1,Ss=typeof WeakSet=="function"?WeakSet:Set,At=null;function Qs(M,P){var F=M.ref;if(F!==null)if(typeof F=="function")try{F(null)}catch(q){Vr(M,P,q)}else F.current=null}function dd(M,P,F){try{F()}catch(q){Vr(M,P,q)}}var Yc=!1;function Lf(M,P){if(Fu=Ql,M=Xr(),Ar(M)){if("selectionStart"in M)var F={start:M.selectionStart,end:M.selectionEnd};else e:{F=(F=M.ownerDocument)&&F.defaultView||window;var q=F.getSelection&&F.getSelection();if(q&&q.rangeCount!==0){F=q.anchorNode;var le=q.anchorOffset,_e=q.focusNode;q=q.focusOffset;try{F.nodeType,_e.nodeType}catch(kt){F=null;break e}var we=0,Fe=-1,Be=-1,at=0,Tt=0,$t=M,Mt=null;t:for(;;){for(var jt;$t!==F||le!==0&&$t.nodeType!==3||(Fe=we+le),$t!==_e||q!==0&&$t.nodeType!==3||(Be=we+q),$t.nodeType===3&&(we+=$t.nodeValue.length),(jt=$t.firstChild)!==null;)Mt=$t,$t=jt;for(;;){if($t===M)break t;if(Mt===F&&++at===le&&(Fe=we),Mt===_e&&++Tt===q&&(Be=we),(jt=$t.nextSibling)!==null)break;$t=Mt,Mt=$t.parentNode}$t=jt}F=Fe===-1||Be===-1?null:{start:Fe,end:Be}}else F=null}F=F||{start:0,end:0}}else F=null;for(tl={focusedElem:M,selectionRange:F},Ql=!1,At=P;At!==null;)if(P=At,M=P.child,(P.subtreeFlags&1028)!==0&&M!==null)M.return=P,At=M;else for(;At!==null;){P=At;try{var Bt=P.alternate;if((P.flags&1024)!==0)switch(P.tag){case 0:case 11:case 15:break;case 1:if(Bt!==null){var zt=Bt.memoizedProps,qr=Bt.memoizedState,nt=P.stateNode,Ke=nt.getSnapshotBeforeUpdate(P.elementType===P.type?zt:An(P.type,zt),qr);nt.__reactInternalSnapshotBeforeUpdate=Ke}break;case 3:var st=P.stateNode.containerInfo;st.nodeType===1?st.textContent="":st.nodeType===9&&st.documentElement&&st.removeChild(st.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(kt){Vr(P,P.return,kt)}if(M=P.sibling,M!==null){M.return=P.return,At=M;break}At=P.return}return Bt=Yc,Yc=!1,Bt}function kl(M,P,F){var q=P.updateQueue;if(q=q!==null?q.lastEffect:null,q!==null){var le=q=q.next;do{if((le.tag&M)===M){var _e=le.destroy;le.destroy=void 0,_e!==void 0&&dd(P,F,_e)}le=le.next}while(le!==q)}}function Xs(M,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var F=P=P.next;do{if((F.tag&M)===M){var q=F.create;F.destroy=q()}F=F.next}while(F!==P)}}function Bc(M){var P=M.ref;if(P!==null){var F=M.stateNode;switch(M.tag){case 5:M=F;break;default:M=F}typeof P=="function"?P(M):P.current=M}}function pd(M){var P=M.alternate;P!==null&&(M.alternate=null,pd(P)),M.child=null,M.deletions=null,M.sibling=null,M.tag===5&&(P=M.stateNode,P!==null&&(delete P[Xo],delete P[il],delete P[_i],delete P[pp],delete P[Re])),M.stateNode=null,M.return=null,M.dependencies=null,M.memoizedProps=null,M.memoizedState=null,M.pendingProps=null,M.stateNode=null,M.updateQueue=null}function Ap(M){return M.tag===5||M.tag===3||M.tag===4}function Op(M){e:for(;;){for(;M.sibling===null;){if(M.return===null||Ap(M.return))return null;M=M.return}for(M.sibling.return=M.return,M=M.sibling;M.tag!==5&&M.tag!==6&&M.tag!==18;){if(M.flags&2||M.child===null||M.tag===4)continue e;M.child.return=M,M=M.child}if(!(M.flags&2))return M.stateNode}}function fd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.nodeType===8?F.parentNode.insertBefore(M,P):F.insertBefore(M,P):(F.nodeType===8?(P=F.parentNode,P.insertBefore(M,F)):(P=F,P.appendChild(M)),F=F._reactRootContainer,F!=null||P.onclick!==null||(P.onclick=Za));else if(q!==4&&(M=M.child,M!==null))for(fd(M,P,F),M=M.sibling;M!==null;)fd(M,P,F),M=M.sibling}function hd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.insertBefore(M,P):F.appendChild(M);else if(q!==4&&(M=M.child,M!==null))for(hd(M,P,F),M=M.sibling;M!==null;)hd(M,P,F),M=M.sibling}var yn=null,Io=!1;function Zs(M,P,F){for(F=F.child;F!==null;)zc(M,P,F),F=F.sibling}function zc(M,P,F){if(Qo&&typeof Qo.onCommitFiberUnmount=="function")try{Qo.onCommitFiberUnmount(Ra,F)}catch(Fe){}switch(F.tag){case 5:Nn||Qs(F,P);case 6:var q=yn,le=Io;yn=null,Zs(M,P,F),yn=q,Io=le,yn!==null&&(Io?(M=yn,F=F.stateNode,M.nodeType===8?M.parentNode.removeChild(F):M.removeChild(F)):yn.removeChild(F.stateNode));break;case 18:yn!==null&&(Io?(M=yn,F=F.stateNode,M.nodeType===8?js(M.parentNode,F):M.nodeType===1&&js(M,F),Dr(M)):js(yn,F.stateNode));break;case 4:q=yn,le=Io,yn=F.stateNode.containerInfo,Io=!0,Zs(M,P,F),yn=q,Io=le;break;case 0:case 11:case 14:case 15:if(!Nn&&(q=F.updateQueue,q!==null&&(q=q.lastEffect,q!==null))){le=q=q.next;do{var _e=le,we=_e.destroy;_e=_e.tag,we!==void 0&&((_e&2)!==0||(_e&4)!==0)&&dd(F,P,we),le=le.next}while(le!==q)}Zs(M,P,F);break;case 1:if(!Nn&&(Qs(F,P),q=F.stateNode,typeof q.componentWillUnmount=="function"))try{q.props=F.memoizedProps,q.state=F.memoizedState,q.componentWillUnmount()}catch(Fe){Vr(F,P,Fe)}Zs(M,P,F);break;case 21:Zs(M,P,F);break;case 22:F.mode&1?(Nn=(q=Nn)||F.memoizedState!==null,Zs(M,P,F),Nn=q):Zs(M,P,F);break;default:Zs(M,P,F)}}function xd(M){var P=M.updateQueue;if(P!==null){M.updateQueue=null;var F=M.stateNode;F===null&&(F=M.stateNode=new Ss),P.forEach(function(q){var le=Hf.bind(null,M,q);F.has(q)||(F.add(q),q.then(le,le))})}}function Vn(M,P){var F=P.deletions;if(F!==null)for(var q=0;q<F.length;q++){var le=F[q];try{var _e=M,we=P,Fe=we;e:for(;Fe!==null;){switch(Fe.tag){case 5:yn=Fe.stateNode,Io=!1;break e;case 3:yn=Fe.stateNode.containerInfo,Io=!0;break e;case 4:yn=Fe.stateNode.containerInfo,Io=!0;break e}Fe=Fe.return}if(yn===null)throw Error(g(160));zc(_e,we,le),yn=null,Io=!1;var Be=le.alternate;Be!==null&&(Be.return=null),le.return=null}catch(at){Vr(le,P,at)}}if(P.subtreeFlags&12854)for(P=P.child;P!==null;)Gc(P,M),P=P.sibling}function Gc(M,P){var F=M.alternate,q=M.flags;switch(M.tag){case 0:case 11:case 14:case 15:if(Vn(P,M),Go(M),q&4){try{kl(3,M,M.return),Xs(3,M)}catch(zt){Vr(M,M.return,zt)}try{kl(5,M,M.return)}catch(zt){Vr(M,M.return,zt)}}break;case 1:Vn(P,M),Go(M),q&512&&F!==null&&Qs(F,F.return);break;case 5:if(Vn(P,M),Go(M),q&512&&F!==null&&Qs(F,F.return),M.flags&32){var le=M.stateNode;try{It(le,"")}catch(zt){Vr(M,M.return,zt)}}if(q&4&&(le=M.stateNode,le!=null)){var _e=M.memoizedProps,we=F!==null?F.memoizedProps:_e,Fe=M.type,Be=M.updateQueue;if(M.updateQueue=null,Be!==null)try{Fe==="input"&&_e.type==="radio"&&_e.name!=null&&ze(le,_e),Jt(Fe,we);var at=Jt(Fe,_e);for(we=0;we<Be.length;we+=2){var Tt=Be[we],$t=Be[we+1];Tt==="style"?Ht(le,$t):Tt==="dangerouslySetInnerHTML"?rt(le,$t):Tt==="children"?It(le,$t):z(le,Tt,$t,at)}switch(Fe){case"input":tt(le,_e);break;case"textarea":ut(le,_e);break;case"select":var Mt=le._wrapperState.wasMultiple;le._wrapperState.wasMultiple=!!_e.multiple;var jt=_e.value;jt!=null?Ue(le,!!_e.multiple,jt,!1):Mt!==!!_e.multiple&&(_e.defaultValue!=null?Ue(le,!!_e.multiple,_e.defaultValue,!0):Ue(le,!!_e.multiple,_e.multiple?[]:"",!1))}le[il]=_e}catch(zt){Vr(M,M.return,zt)}}break;case 6:if(Vn(P,M),Go(M),q&4){if(M.stateNode===null)throw Error(g(162));le=M.stateNode,_e=M.memoizedProps;try{le.nodeValue=_e}catch(zt){Vr(M,M.return,zt)}}break;case 3:if(Vn(P,M),Go(M),q&4&&F!==null&&F.memoizedState.isDehydrated)try{Dr(P.containerInfo)}catch(zt){Vr(M,M.return,zt)}break;case 4:Vn(P,M),Go(M);break;case 13:Vn(P,M),Go(M),le=M.child,le.flags&8192&&(_e=le.memoizedState!==null,le.stateNode.isHidden=_e,!_e||le.alternate!==null&&le.alternate.memoizedState!==null||(vd=Jr())),q&4&&xd(M);break;case 22:if(Tt=F!==null&&F.memoizedState!==null,M.mode&1?(Nn=(at=Nn)||Tt,Vn(P,M),Nn=at):Vn(P,M),Go(M),q&8192){if(at=M.memoizedState!==null,(M.stateNode.isHidden=at)&&!Tt&&(M.mode&1)!==0)for(At=M,Tt=M.child;Tt!==null;){for($t=At=Tt;At!==null;){switch(Mt=At,jt=Mt.child,Mt.tag){case 0:case 11:case 14:case 15:kl(4,Mt,Mt.return);break;case 1:Qs(Mt,Mt.return);var Bt=Mt.stateNode;if(typeof Bt.componentWillUnmount=="function"){q=Mt,F=Mt.return;try{P=q,Bt.props=P.memoizedProps,Bt.state=P.memoizedState,Bt.componentWillUnmount()}catch(zt){Vr(q,F,zt)}}break;case 5:Qs(Mt,Mt.return);break;case 22:if(Mt.memoizedState!==null){Lo($t);continue}}jt!==null?(jt.return=Mt,At=jt):Lo($t)}Tt=Tt.sibling}e:for(Tt=null,$t=M;;){if($t.tag===5){if(Tt===null){Tt=$t;try{le=$t.stateNode,at?(_e=le.style,typeof _e.setProperty=="function"?_e.setProperty("display","none","important"):_e.display="none"):(Fe=$t.stateNode,Be=$t.memoizedProps.style,we=Be!=null&&Be.hasOwnProperty("display")?Be.display:null,Fe.style.display=St("display",we))}catch(zt){Vr(M,M.return,zt)}}}else if($t.tag===6){if(Tt===null)try{$t.stateNode.nodeValue=at?"":$t.memoizedProps}catch(zt){Vr(M,M.return,zt)}}else if(($t.tag!==22&&$t.tag!==23||$t.memoizedState===null||$t===M)&&$t.child!==null){$t.child.return=$t,$t=$t.child;continue}if($t===M)break e;for(;$t.sibling===null;){if($t.return===null||$t.return===M)break e;Tt===$t&&(Tt=null),$t=$t.return}Tt===$t&&(Tt=null),$t.sibling.return=$t.return,$t=$t.sibling}}break;case 19:Vn(P,M),Go(M),q&4&&xd(M);break;case 21:break;default:Vn(P,M),Go(M)}}function Go(M){var P=M.flags;if(P&2){try{e:{for(var F=M.return;F!==null;){if(Ap(F)){var q=F;break e}F=F.return}throw Error(g(160))}switch(q.tag){case 5:var le=q.stateNode;q.flags&32&&(It(le,""),q.flags&=-33);var _e=Op(M);hd(M,_e,le);break;case 3:case 4:var we=q.stateNode.containerInfo,Fe=Op(M);fd(M,Fe,we);break;default:throw Error(g(161))}}catch(Be){Vr(M,M.return,Be)}M.flags&=-3}P&4096&&(M.flags&=-4097)}function Fp(M,P,F){At=M,Il(M)}function Il(M,P,F){for(var q=(M.mode&1)!==0;At!==null;){var le=At,_e=le.child;if(le.tag===22&&q){var we=le.memoizedState!==null||Hc;if(!we){var Fe=le.alternate,Be=Fe!==null&&Fe.memoizedState!==null||Nn;Fe=Hc;var at=Nn;if(Hc=we,(Nn=Be)&&!at)for(At=le;At!==null;)we=At,Be=we.child,we.tag===22&&we.memoizedState!==null?ei(le):Be!==null?(Be.return=we,At=Be):ei(le);for(;_e!==null;)At=_e,Il(_e),_e=_e.sibling;At=le,Hc=Fe,Nn=at}_d(M)}else(le.subtreeFlags&8772)!==0&&_e!==null?(_e.return=le,At=_e):_d(M)}}function _d(M){for(;At!==null;){var P=At;if((P.flags&8772)!==0){var F=P.alternate;try{if((P.flags&8772)!==0)switch(P.tag){case 0:case 11:case 15:Nn||Xs(5,P);break;case 1:var q=P.stateNode;if(P.flags&4&&!Nn)if(F===null)q.componentDidMount();else{var le=P.elementType===P.type?F.memoizedProps:An(P.type,F.memoizedProps);q.componentDidUpdate(le,F.memoizedState,q.__reactInternalSnapshotBeforeUpdate)}var _e=P.updateQueue;_e!==null&&vc(P,_e,q);break;case 3:var we=P.updateQueue;if(we!==null){if(F=null,P.child!==null)switch(P.child.tag){case 5:F=P.child.stateNode;break;case 1:F=P.child.stateNode}vc(P,we,F)}break;case 5:var Fe=P.stateNode;if(F===null&&P.flags&4){F=Fe;var Be=P.memoizedProps;switch(P.type){case"button":case"input":case"select":case"textarea":Be.autoFocus&&F.focus();break;case"img":Be.src&&(F.src=Be.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(P.memoizedState===null){var at=P.alternate;if(at!==null){var Tt=at.memoizedState;if(Tt!==null){var $t=Tt.dehydrated;$t!==null&&Dr($t)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(g(163))}Nn||P.flags&512&&Bc(P)}catch(Mt){Vr(P,P.return,Mt)}}if(P===M){At=null;break}if(F=P.sibling,F!==null){F.return=P.return,At=F;break}At=P.return}}function Lo(M){for(;At!==null;){var P=At;if(P===M){At=null;break}var F=P.sibling;if(F!==null){F.return=P.return,At=F;break}At=P.return}}function ei(M){for(;At!==null;){var P=At;try{switch(P.tag){case 0:case 11:case 15:var F=P.return;try{Xs(4,P)}catch(Be){Vr(P,F,Be)}break;case 1:var q=P.stateNode;if(typeof q.componentDidMount=="function"){var le=P.return;try{q.componentDidMount()}catch(Be){Vr(P,le,Be)}}var _e=P.return;try{Bc(P)}catch(Be){Vr(P,_e,Be)}break;case 5:var we=P.return;try{Bc(P)}catch(Be){Vr(P,we,Be)}}}catch(Be){Vr(P,P.return,Be)}if(P===M){At=null;break}var Fe=P.sibling;if(Fe!==null){Fe.return=P.return,At=Fe;break}At=P.return}}var Df=Math.ceil,Ll=Y.ReactCurrentDispatcher,yd=Y.ReactCurrentOwner,Do=Y.ReactCurrentBatchConfig,Mr=0,vn=null,on=null,Pn=0,go=0,Sa=Bs(0),dn=0,Dl=null,Di=0,Al=0,Uc=0,wa=null,so=null,vd=0,Ma=1/0,as=null,Vc=!1,bd=null,ti=null,Wc=!1,ri=null,qc=0,jn=0,Ed=null,Kc=-1,Jc=0;function Hn(){return(Mr&6)!==0?Jr():Kc!==-1?Kc:Kc=Jr()}function ni(M){return(M.mode&1)===0?1:(Mr&2)!==0&&Pn!==0?Pn&-Pn:Us.transition!==null?(Jc===0&&(Jc=xu()),Jc):(M=kr,M!==0||(M=window.event,M=M===void 0?16:Cu(M.type)),M)}function Uo(M,P,F,q){if(50<jn)throw jn=0,Ed=null,Error(g(185));li(M,F,q),((Mr&2)===0||M!==vn)&&(M===vn&&((Mr&2)===0&&(Al|=F),dn===4&&oi(M,Pn)),io(M,q),F===1&&Mr===0&&(P.mode&1)===0&&(Ma=Jr()+500,mc&&Xn()))}function io(M,P){var F=M.callbackNode;Nd(M,P);var q=La(M,M===vn?Pn:0);if(q===0)F!==null&&co(F),M.callbackNode=null,M.callbackPriority=0;else if(P=q&-q,M.callbackPriority!==P){if(F!=null&&co(F),P===1)M.tag===0?Tf(jp.bind(null,M)):hp(jp.bind(null,M)),ol(function(){(Mr&6)===0&&Xn()}),F=null;else{switch(Wl(q)){case 1:F=pu;break;case 4:F=Dd;break;case 16:F=zl;break;case 536870912:F=fu;break;default:F=zl}F=qp(F,Np.bind(null,M))}M.callbackPriority=P,M.callbackNode=F}}function Np(M,P){if(Kc=-1,Jc=0,(Mr&6)!==0)throw Error(g(327));var F=M.callbackNode;if(Ta()&&M.callbackNode!==F)return null;var q=La(M,M===vn?Pn:0);if(q===0)return null;if((q&30)!==0||(q&M.expiredLanes)!==0||P)P=Qc(M,q);else{P=q;var le=Mr;Mr|=2;var _e=Yp();(vn!==M||Pn!==P)&&(as=null,Ma=Jr()+500,Oi(M,P));do try{Ff();break}catch(Fe){Hp(M,Fe)}while(!0);ma(),Ll.current=_e,Mr=le,on!==null?P=0:(vn=null,Pn=0,P=dn)}if(P!==0){if(P===2&&(le=mu(M),le!==0&&(q=le,P=Ol(M,le))),P===1)throw F=Dl,Oi(M,0),oi(M,q),io(M,Jr()),F;if(P===6)oi(M,q);else{if(le=M.current.alternate,(q&30)===0&&!Af(le)&&(P=Qc(M,q),P===2&&(_e=mu(M),_e!==0&&(q=_e,P=Ol(M,_e))),P===1))throw F=Dl,Oi(M,0),oi(M,q),io(M,Jr()),F;switch(M.finishedWork=le,M.finishedLanes=q,P){case 0:case 1:throw Error(g(345));case 2:Fi(M,so,as);break;case 3:if(oi(M,q),(q&130023424)===q&&(P=vd+500-Jr(),10<P)){if(La(M,0)!==0)break;if(le=M.suspendedLanes,(le&q)!==q){Hn(),M.pingedLanes|=M.suspendedLanes&le;break}M.timeoutHandle=rl(Fi.bind(null,M,so,as),P);break}Fi(M,so,as);break;case 4:if(oi(M,q),(q&4194240)===q)break;for(P=M.eventTimes,le=-1;0<q;){var we=31-jo(q);_e=1<<we,we=P[we],we>le&&(le=we),q&=~_e}if(q=le,q=Jr()-q,q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Df(q/1960))-q,10<q){M.timeoutHandle=rl(Fi.bind(null,M,so,as),q);break}Fi(M,so,as);break;case 5:Fi(M,so,as);break;default:throw Error(g(329))}}}return io(M,Jr()),M.callbackNode===F?Np.bind(null,M):null}function Ol(M,P){var F=wa;return M.current.memoizedState.isDehydrated&&(Oi(M,P).flags|=256),M=Qc(M,P),M!==2&&(P=so,so=F,P!==null&&Cd(P)),M}function Cd(M){so===null?so=M:so.push.apply(so,M)}function Af(M){for(var P=M;;){if(P.flags&16384){var F=P.updateQueue;if(F!==null&&(F=F.stores,F!==null))for(var q=0;q<F.length;q++){var le=F[q],_e=le.getSnapshot;le=le.value;try{if(!ft(_e(),le))return!1}catch(we){return!1}}}if(F=P.child,P.subtreeFlags&16384&&F!==null)F.return=P,P=F;else{if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return!0;P=P.return}P.sibling.return=P.return,P=P.sibling}}return!0}function oi(M,P){for(P&=~Uc,P&=~Al,M.suspendedLanes|=P,M.pingedLanes&=~P,M=M.expirationTimes;0<P;){var F=31-jo(P),q=1<<F;M[F]=-1,P&=~q}}function jp(M){if((Mr&6)!==0)throw Error(g(327));Ta();var P=La(M,0);if((P&1)===0)return io(M,Jr()),null;var F=Qc(M,P);if(M.tag!==0&&F===2){var q=mu(M);q!==0&&(P=q,F=Ol(M,q))}if(F===1)throw F=Dl,Oi(M,0),oi(M,P),io(M,Jr()),F;if(F===6)throw Error(g(345));return M.finishedWork=M.current.alternate,M.finishedLanes=P,Fi(M,so,as),io(M,Jr()),null}function Sd(M,P){var F=Mr;Mr|=1;try{return M(P)}finally{Mr=F,Mr===0&&(Ma=Jr()+500,mc&&Xn())}}function Ai(M){ri!==null&&ri.tag===0&&(Mr&6)===0&&Ta();var P=Mr;Mr|=1;var F=Do.transition,q=kr;try{if(Do.transition=null,kr=1,M)return M()}finally{kr=q,Do.transition=F,Mr=P,(Mr&6)===0&&Xn()}}function wd(){go=Sa.current,Lr(Sa)}function Oi(M,P){M.finishedWork=null,M.finishedLanes=0;var F=M.timeoutHandle;if(F!==-1&&(M.timeoutHandle=-1,na(F)),on!==null)for(F=on.return;F!==null;){var q=F;switch(al(q),q.tag){case 1:q=q.type.childContextTypes,q!=null&&pc();break;case 3:xa(),Lr(Kn),Lr(Ln),Gu();break;case 5:Ec(q);break;case 4:xa();break;case 13:Lr(Gr);break;case 19:Lr(Gr);break;case 10:xs(q.type._context);break;case 22:case 23:wd()}F=F.return}if(vn=M,on=M=ii(M.current,null),Pn=go=P,dn=0,Dl=null,Uc=Al=Di=0,so=wa=null,Mi!==null){for(P=0;P<Mi.length;P++)if(F=Mi[P],q=F.interleaved,q!==null){F.interleaved=null;var le=q.next,_e=F.pending;if(_e!==null){var we=_e.next;_e.next=le,q.next=we}F.pending=q}Mi=null}return M}function Hp(M,P){do{var F=on;try{if(ma(),yl.current=ho,vl){for(var q=Ur.memoizedState;q!==null;){var le=q.queue;le!==null&&(le.pending=null),q=q.next}vl=!1}if(Pi=0,tn=un=Ur=null,Ri=!1,bl=0,yd.current=null,F===null||F.return===null){dn=1,Dl=P,on=null;break}e:{var _e=M,we=F.return,Fe=F,Be=P;if(P=Pn,Fe.flags|=32768,Be!==null&&typeof Be=="object"&&typeof Be.then=="function"){var at=Be,Tt=Fe,$t=Tt.tag;if((Tt.mode&1)===0&&($t===0||$t===11||$t===15)){var Mt=Tt.alternate;Mt?(Tt.updateQueue=Mt.updateQueue,Tt.memoizedState=Mt.memoizedState,Tt.lanes=Mt.lanes):(Tt.updateQueue=null,Tt.memoizedState=null)}var jt=Pl(we);if(jt!==null){jt.flags&=-257,Mp(jt,we,Fe,_e,P),jt.mode&1&&Dc(_e,at,P),P=jt,Be=at;var Bt=P.updateQueue;if(Bt===null){var zt=new Set;zt.add(Be),P.updateQueue=zt}else Bt.add(Be);break e}else{if((P&1)===0){Dc(_e,at,P),Md();break e}Be=Error(g(426))}}else if(zr&&Fe.mode&1){var qr=Pl(we);if(qr!==null){(qr.flags&65536)===0&&(qr.flags|=256),Mp(qr,we,Fe,_e,P),Si(va(Be,Fe));break e}}_e=Be=va(Be,Fe),dn!==4&&(dn=2),wa===null?wa=[_e]:wa.push(_e),_e=we;do{switch(_e.tag){case 3:_e.flags|=65536,P&=-P,_e.lanes|=P;var nt=od(_e,Be,P);vp(_e,nt);break e;case 1:Fe=Be;var Ke=_e.type,st=_e.stateNode;if((_e.flags&128)===0&&(typeof Ke.getDerivedStateFromError=="function"||st!==null&&typeof st.componentDidCatch=="function"&&(ti===null||!ti.has(st)))){_e.flags|=65536,P&=-P,_e.lanes|=P;var kt=Tl(_e,Fe,P);vp(_e,kt);break e}}_e=_e.return}while(_e!==null)}zp(F)}catch(Gt){P=Gt,on===F&&F!==null&&(on=F=F.return);continue}break}while(!0)}function Yp(){var M=Ll.current;return Ll.current=ho,M===null?ho:M}function Md(){(dn===0||dn===3||dn===2)&&(dn=4),vn===null||(Di&268435455)===0&&(Al&268435455)===0||oi(vn,Pn)}function Qc(M,P){var F=Mr;Mr|=2;var q=Yp();(vn!==M||Pn!==P)&&(as=null,Oi(M,P));do try{Of();break}catch(le){Hp(M,le)}while(!0);if(ma(),Mr=F,Ll.current=q,on!==null)throw Error(g(261));return vn=null,Pn=0,dn}function Of(){for(;on!==null;)Bp(on)}function Ff(){for(;on!==null&&!Hl();)Bp(on)}function Bp(M){var P=Wp(M.alternate,M,go);M.memoizedProps=M.pendingProps,P===null?zp(M):on=P,yd.current=null}function zp(M){var P=M;do{var F=P.alternate;if(M=P.return,(P.flags&32768)===0){if(F=Dp(F,P,go),F!==null){on=F;return}}else{if(F=If(F,P),F!==null){F.flags&=32767,on=F;return}if(M!==null)M.flags|=32768,M.subtreeFlags=0,M.deletions=null;else{dn=6,on=null;return}}if(P=P.sibling,P!==null){on=P;return}on=P=M}while(P!==null);dn===0&&(dn=5)}function Fi(M,P,F){var q=kr,le=Do.transition;try{Do.transition=null,kr=1,Nf(M,P,F,q)}finally{Do.transition=le,kr=q}return null}function Nf(M,P,F,q){do Ta();while(ri!==null);if((Mr&6)!==0)throw Error(g(327));F=M.finishedWork;var le=M.finishedLanes;if(F===null)return null;if(M.finishedWork=null,M.finishedLanes=0,F===M.current)throw Error(g(177));M.callbackNode=null,M.callbackPriority=0;var _e=F.lanes|F.childLanes;if(cf(M,_e),M===vn&&(on=vn=null,Pn=0),(F.subtreeFlags&2064)===0&&(F.flags&2064)===0||Wc||(Wc=!0,qp(zl,function(){return Ta(),null})),_e=(F.flags&15990)!==0,(F.subtreeFlags&15990)!==0||_e){_e=Do.transition,Do.transition=null;var we=kr;kr=1;var Fe=Mr;Mr|=4,yd.current=null,Lf(M,F),Gc(F,M),Lu(tl),Ql=!!Fu,tl=Fu=null,M.current=F,Fp(F),Yl(),Mr=Fe,kr=we,Do.transition=_e}else M.current=F;if(Wc&&(Wc=!1,ri=M,qc=le),_e=M.pendingLanes,_e===0&&(ti=null),sf(F.stateNode),io(M,Jr()),P!==null)for(q=M.onRecoverableError,F=0;F<P.length;F++)le=P[F],q(le.value,{componentStack:le.stack,digest:le.digest});if(Vc)throw Vc=!1,M=bd,bd=null,M;return(qc&1)!==0&&M.tag!==0&&Ta(),_e=M.pendingLanes,(_e&1)!==0?M===Ed?jn++:(jn=0,Ed=M):jn=0,Xn(),null}function Ta(){if(ri!==null){var M=Wl(qc),P=Do.transition,F=kr;try{if(Do.transition=null,kr=16>M?16:M,ri===null)var q=!1;else{if(M=ri,ri=null,qc=0,(Mr&6)!==0)throw Error(g(331));var le=Mr;for(Mr|=4,At=M.current;At!==null;){var _e=At,we=_e.child;if((At.flags&16)!==0){var Fe=_e.deletions;if(Fe!==null){for(var Be=0;Be<Fe.length;Be++){var at=Fe[Be];for(At=at;At!==null;){var Tt=At;switch(Tt.tag){case 0:case 11:case 15:kl(8,Tt,_e)}var $t=Tt.child;if($t!==null)$t.return=Tt,At=$t;else for(;At!==null;){Tt=At;var Mt=Tt.sibling,jt=Tt.return;if(pd(Tt),Tt===at){At=null;break}if(Mt!==null){Mt.return=jt,At=Mt;break}At=jt}}}var Bt=_e.alternate;if(Bt!==null){var zt=Bt.child;if(zt!==null){Bt.child=null;do{var qr=zt.sibling;zt.sibling=null,zt=qr}while(zt!==null)}}At=_e}}if((_e.subtreeFlags&2064)!==0&&we!==null)we.return=_e,At=we;else e:for(;At!==null;){if(_e=At,(_e.flags&2048)!==0)switch(_e.tag){case 0:case 11:case 15:kl(9,_e,_e.return)}var nt=_e.sibling;if(nt!==null){nt.return=_e.return,At=nt;break e}At=_e.return}}var Ke=M.current;for(At=Ke;At!==null;){we=At;var st=we.child;if((we.subtreeFlags&2064)!==0&&st!==null)st.return=we,At=st;else e:for(we=Ke;At!==null;){if(Fe=At,(Fe.flags&2048)!==0)try{switch(Fe.tag){case 0:case 11:case 15:Xs(9,Fe)}}catch(Gt){Vr(Fe,Fe.return,Gt)}if(Fe===we){At=null;break e}var kt=Fe.sibling;if(kt!==null){kt.return=Fe.return,At=kt;break e}At=Fe.return}}if(Mr=le,Xn(),Qo&&typeof Qo.onPostCommitFiberRoot=="function")try{Qo.onPostCommitFiberRoot(Ra,M)}catch(Gt){}q=!0}return q}finally{kr=F,Do.transition=P}}return!1}function Gp(M,P,F){P=va(F,P),P=od(M,P,1),M=Ws(M,P,1),P=Hn(),M!==null&&(li(M,1,P),io(M,P))}function Vr(M,P,F){if(M.tag===3)Gp(M,M,F);else for(;P!==null;){if(P.tag===3){Gp(P,M,F);break}else if(P.tag===1){var q=P.stateNode;if(typeof P.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(ti===null||!ti.has(q))){M=va(F,M),M=Tl(P,M,1),P=Ws(P,M,1),M=Hn(),P!==null&&(li(P,1,M),io(P,M));break}}P=P.return}}function Up(M,P,F){var q=M.pingCache;q!==null&&q.delete(P),P=Hn(),M.pingedLanes|=M.suspendedLanes&F,vn===M&&(Pn&F)===F&&(dn===4||dn===3&&(Pn&130023424)===Pn&&500>Jr()-vd?Oi(M,0):Uc|=F),io(M,P)}function Vp(M,P){P===0&&((M.mode&1)===0?P=1:(P=zi,zi<<=1,(zi&130023424)===0&&(zi=4194304)));var F=Hn();M=Yo(M,P),M!==null&&(li(M,P,F),io(M,F))}function jf(M){var P=M.memoizedState,F=0;P!==null&&(F=P.retryLane),Vp(M,F)}function Hf(M,P){var F=0;switch(M.tag){case 13:var q=M.stateNode,le=M.memoizedState;le!==null&&(F=le.retryLane);break;case 19:q=M.stateNode;break;default:throw Error(g(314))}q!==null&&q.delete(P),Vp(M,F)}var Wp;Wp=function(M,P,F){if(M!==null)if(M.memoizedProps!==P.pendingProps||Kn.current)Tn=!0;else{if((M.lanes&F)===0&&(P.flags&128)===0)return Tn=!1,cd(M,P,F);Tn=(M.flags&131072)!==0}else Tn=!1,zr&&(P.flags&1048576)!==0&&gp(P,hc,P.index);switch(P.lanes=0,P.tag){case 2:var q=P.type;os(M,P),M=P.pendingProps;var le=Jn(P,Ln.current);Zr(P,F),le=Wu(null,P,q,M,le,F);var _e=$i();return P.flags|=1,typeof le=="object"&&le!==null&&typeof le.render=="function"&&le.$$typeof===void 0?(P.tag=1,P.memoizedState=null,P.updateQueue=null,Qn(q)?(_e=!0,fc(P)):_e=!1,P.memoizedState=le.state!==null&&le.state!==void 0?le.state:null,Ti(P),le.updater=Ml,P.stateNode=le,le._reactInternals=P,Ii(P,q,M,F),P=Fc(null,P,q,!0,_e,F)):(P.tag=0,zr&&_e&&Hu(P),On(null,P,le,F),P=P.child),P;case 16:q=P.elementType;e:{switch(os(M,P),M=P.pendingProps,le=q._init,q=le(q._payload),P.type=q,le=P.tag=Kp(q),M=An(q,M),le){case 0:P=Oc(null,P,q,M,F);break e;case 1:P=Rp(null,P,q,M,F);break e;case 11:P=Ac(null,P,q,M,F);break e;case 14:P=Pp(null,P,q,An(q.type,M),F);break e}throw Error(g(306,q,""))}return P;case 0:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Oc(M,P,q,le,F);case 1:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Rp(M,P,q,le,F);case 3:e:{if($p(P),M===null)throw Error(g(387));q=P.pendingProps,_e=P.memoizedState,le=_e.element,zu(M,P),yc(P,q,null,F);var we=P.memoizedState;if(q=we.element,_e.isDehydrated)if(_e={element:q,isDehydrated:!1,cache:we.cache,pendingSuspenseBoundaries:we.pendingSuspenseBoundaries,transitions:we.transitions},P.updateQueue.baseState=_e,P.memoizedState=_e,P.flags&256){le=va(Error(g(423)),P),P=kp(M,P,q,F,le);break e}else if(q!==le){le=va(Error(g(424)),P),P=kp(M,P,q,F,le);break e}else for(Dn=Hs(P.stateNode.containerInfo.firstChild),Mn=P,zr=!0,Ro=null,F=xn(P,null,q,F),P.child=F;F;)F.flags=F.flags&-3|4096,F=F.sibling;else{if(Ci(),q===le){P=Cs(M,P,F);break e}On(M,P,q,F)}P=P.child}return P;case 5:return bc(P),M===null&&gs(P),q=P.type,le=P.pendingProps,_e=M!==null?M.memoizedProps:null,we=le.children,xi(q,le)?we=null:_e!==null&&xi(q,_e)&&(P.flags|=32),ld(M,P),On(M,P,we,F),P.child;case 6:return M===null&&gs(P),null;case 13:return Nc(M,P,F);case 4:return xl(P,P.stateNode.containerInfo),q=P.pendingProps,M===null?P.child=wi(P,null,q,F):On(M,P,q,F),P.child;case 11:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),Ac(M,P,q,le,F);case 7:return On(M,P,P.pendingProps,F),P.child;case 8:return On(M,P,P.pendingProps.children,F),P.child;case 12:return On(M,P,P.pendingProps.children,F),P.child;case 10:e:{if(q=P.type._context,le=P.pendingProps,_e=P.memoizedProps,we=le.value,Hr(pa,q._currentValue),q._currentValue=we,_e!==null)if(ft(_e.value,we)){if(_e.children===le.children&&!Kn.current){P=Cs(M,P,F);break e}}else for(_e=P.child,_e!==null&&(_e.return=P);_e!==null;){var Fe=_e.dependencies;if(Fe!==null){we=_e.child;for(var Be=Fe.firstContext;Be!==null;){if(Be.context===q){if(_e.tag===1){Be=_s(-1,F&-F),Be.tag=2;var at=_e.updateQueue;if(at!==null){at=at.shared;var Tt=at.pending;Tt===null?Be.next=Be:(Be.next=Tt.next,Tt.next=Be),at.pending=Be}}_e.lanes|=F,Be=_e.alternate,Be!==null&&(Be.lanes|=F),_c(_e.return,F,P),Fe.lanes|=F;break}Be=Be.next}}else if(_e.tag===10)we=_e.type===P.type?null:_e.child;else if(_e.tag===18){if(we=_e.return,we===null)throw Error(g(341));we.lanes|=F,Fe=we.alternate,Fe!==null&&(Fe.lanes|=F),_c(we,F,P),we=_e.sibling}else we=_e.child;if(we!==null)we.return=_e;else for(we=_e;we!==null;){if(we===P){we=null;break}if(_e=we.sibling,_e!==null){_e.return=we.return,we=_e;break}we=we.return}_e=we}On(M,P,le.children,F),P=P.child}return P;case 9:return le=P.type,q=P.pendingProps.children,Zr(P,F),le=to(le),q=q(le),P.flags|=1,On(M,P,q,F),P.child;case 14:return q=P.type,le=An(q,P.pendingProps),le=An(q.type,le),Pp(M,P,q,le,F);case 15:return ad(M,P,P.type,P.pendingProps,F);case 17:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:An(q,le),os(M,P),P.tag=1,Qn(q)?(M=!0,fc(P)):M=!1,Zr(P,F),nd(P,q,le),Ii(P,q,le,F),Fc(null,P,q,!0,M,F);case 19:return jc(M,P,F);case 22:return ns(M,P,F)}throw Error(g(156,P.tag))};function qp(M,P){return Er(M,P)}function Yf(M,P,F,q){this.tag=M,this.key=F,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ao(M,P,F,q){return new Yf(M,P,F,q)}function Td(M){return M=M.prototype,!(!M||!M.isReactComponent)}function Kp(M){if(typeof M=="function")return Td(M)?1:0;if(M!=null){if(M=M.$$typeof,M===ie)return 11;if(M===X)return 14}return 2}function ii(M,P){var F=M.alternate;return F===null?(F=Ao(M.tag,P,M.key,M.mode),F.elementType=M.elementType,F.type=M.type,F.stateNode=M.stateNode,F.alternate=M,M.alternate=F):(F.pendingProps=P,F.type=M.type,F.flags=0,F.subtreeFlags=0,F.deletions=null),F.flags=M.flags&14680064,F.childLanes=M.childLanes,F.lanes=M.lanes,F.child=M.child,F.memoizedProps=M.memoizedProps,F.memoizedState=M.memoizedState,F.updateQueue=M.updateQueue,P=M.dependencies,F.dependencies=P===null?null:{lanes:P.lanes,firstContext:P.firstContext},F.sibling=M.sibling,F.index=M.index,F.ref=M.ref,F}function Ni(M,P,F,q,le,_e){var we=2;if(q=M,typeof M=="function")Td(M)&&(we=1);else if(typeof M=="string")we=5;else e:switch(M){case V:return ji(F.children,le,_e,P);case J:we=8,le|=8;break;case Q:return M=Ao(12,F,P,le|2),M.elementType=Q,M.lanes=_e,M;case oe:return M=Ao(13,F,P,le),M.elementType=oe,M.lanes=_e,M;case re:return M=Ao(19,F,P,le),M.elementType=re,M.lanes=_e,M;case pe:return Xc(F,le,_e,P);default:if(typeof M=="object"&&M!==null)switch(M.$$typeof){case ee:we=10;break e;case Z:we=9;break e;case ie:we=11;break e;case X:we=14;break e;case ce:we=16,q=null;break e}throw Error(g(130,M==null?M:typeof M,""))}return P=Ao(we,F,P,le),P.elementType=M,P.type=q,P.lanes=_e,P}function ji(M,P,F,q){return M=Ao(7,M,q,P),M.lanes=F,M}function Xc(M,P,F,q){return M=Ao(22,M,q,P),M.elementType=pe,M.lanes=F,M.stateNode={isHidden:!1},M}function Pd(M,P,F){return M=Ao(6,M,null,P),M.lanes=F,M}function Rd(M,P,F){return P=Ao(4,M.children!==null?M.children:[],M.key,P),P.lanes=F,P.stateNode={containerInfo:M.containerInfo,pendingChildren:null,implementation:M.implementation},P}function Bf(M,P,F,q,le){this.tag=P,this.containerInfo=M,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ul(0),this.expirationTimes=Ul(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ul(0),this.identifierPrefix=q,this.onRecoverableError=le,this.mutableSourceEagerHydrationData=null}function $d(M,P,F,q,le,_e,we,Fe,Be){return M=new Bf(M,P,F,Fe,Be),P===1?(P=1,_e===!0&&(P|=8)):P=0,_e=Ao(3,null,null,P),M.current=_e,_e.stateNode=M,_e.memoizedState={element:q,isDehydrated:F,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ti(_e),M}function zf(M,P,F){var q=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:U,key:q==null?null:""+q,children:M,containerInfo:P,implementation:F}}function Jp(M){if(!M)return zs;M=M._reactInternals;e:{if(xt(M)!==M||M.tag!==1)throw Error(g(170));var P=M;do{switch(P.tag){case 3:P=P.stateNode.context;break e;case 1:if(Qn(P.type)){P=P.stateNode.__reactInternalMemoizedMergedChildContext;break e}}P=P.return}while(P!==null);throw Error(g(171))}if(M.tag===1){var F=M.type;if(Qn(F))return mp(M,F,P)}return P}function Qp(M,P,F,q,le,_e,we,Fe,Be){return M=$d(F,q,!0,M,le,_e,we,Fe,Be),M.context=Jp(null),F=M.current,q=Hn(),le=ni(F),_e=_s(q,le),_e.callback=P!=null?P:null,Ws(F,_e,le),M.current.lanes=le,li(M,le,q),io(M,q),M}function Zc(M,P,F,q){var le=P.current,_e=Hn(),we=ni(le);return F=Jp(F),P.context===null?P.context=F:P.pendingContext=F,P=_s(_e,we),P.payload={element:M},q=q===void 0?null:q,q!==null&&(P.callback=q),M=Ws(le,P,we),M!==null&&(Uo(M,le,we,_e),qs(M,le,we)),we}function tu(M){if(M=M.current,!M.child)return null;switch(M.child.tag){case 5:return M.child.stateNode;default:return M.child.stateNode}}function Xp(M,P){if(M=M.memoizedState,M!==null&&M.dehydrated!==null){var F=M.retryLane;M.retryLane=F!==0&&F<P?F:P}}function kd(M,P){Xp(M,P),(M=M.alternate)&&Xp(M,P)}function Gf(){return null}var Zp=typeof reportError=="function"?reportError:function(M){console.error(M)};function Id(M){this._internalRoot=M}Fl.prototype.render=Id.prototype.render=function(M){var P=this._internalRoot;if(P===null)throw Error(g(409));Zc(M,P,null,null)},Fl.prototype.unmount=Id.prototype.unmount=function(){var M=this._internalRoot;if(M!==null){this._internalRoot=null;var P=M.containerInfo;Ai(function(){Zc(null,M,null,null)}),P[wo]=null}};function Fl(M){this._internalRoot=M}Fl.prototype.unstable_scheduleHydration=function(M){if(M){var P=jd();M={blockedOn:null,target:M,priority:P};for(var F=0;F<Rs.length&&P!==0&&P<Rs[F].priority;F++);Rs.splice(F,0,M),F===0&&Yd(M)}};function nu(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11)}function ou(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11&&(M.nodeType!==8||M.nodeValue!==" react-mount-point-unstable "))}function ef(){}function Uf(M,P,F,q,le){if(le){if(typeof q=="function"){var _e=q;q=function(){var at=tu(we);_e.call(at)}}var we=Qp(P,q,M,0,null,!1,!1,"",ef);return M._reactRootContainer=we,M[wo]=we.current,Ns(M.nodeType===8?M.parentNode:M),Ai(),we}for(;le=M.lastChild;)M.removeChild(le);if(typeof q=="function"){var Fe=q;q=function(){var at=tu(Be);Fe.call(at)}}var Be=$d(M,0,!1,null,null,!1,!1,"",ef);return M._reactRootContainer=Be,M[wo]=Be.current,Ns(M.nodeType===8?M.parentNode:M),Ai(function(){Zc(P,Be,F,q)}),Be}function su(M,P,F,q,le){var _e=F._reactRootContainer;if(_e){var we=_e;if(typeof le=="function"){var Fe=le;le=function(){var Be=tu(we);Fe.call(Be)}}Zc(P,we,M,le)}else we=Uf(F,P,M,le,q);return tu(we)}ci=function(M){switch(M.tag){case 3:var P=M.stateNode;if(P.current.memoizedState.isDehydrated){var F=Ia(P.pendingLanes);F!==0&&(Vl(P,F|1),io(P,Jr()),(Mr&6)===0&&(Ma=Jr()+500,Xn()))}break;case 13:Ai(function(){var q=Yo(M,1);if(q!==null){var le=Hn();Uo(q,M,1,le)}}),kd(M,1)}},ql=function(M){if(M.tag===13){var P=Yo(M,134217728);if(P!==null){var F=Hn();Uo(P,M,134217728,F)}kd(M,134217728)}},_u=function(M){if(M.tag===13){var P=ni(M),F=Yo(M,P);if(F!==null){var q=Hn();Uo(F,M,P,q)}kd(M,P)}},jd=function(){return kr},yu=function(M,P){var F=kr;try{return kr=M,P()}finally{kr=F}},vr=function(M,P,F){switch(P){case"input":if(tt(M,F),P=F.name,F.type==="radio"&&P!=null){for(F=M;F.parentNode;)F=F.parentNode;for(F=F.querySelectorAll("input[name="+JSON.stringify(""+P)+'][type="radio"]'),P=0;P<F.length;P++){var q=F[P];if(q!==M&&q.form===M.form){var le=_r(q);if(!le)throw Error(g(90));Ie(q),tt(q,le)}}}break;case"textarea":ut(M,F);break;case"select":P=F.value,P!=null&&Ue(M,!!F.multiple,P,!1)}},En=Sd,Kr=Ai;var iu={usingClientEntryPoint:!1,Events:[Ys,wn,_r,xr,Wr,Sd]},Nl={findFiberByHostInstance:Mo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Vf={bundleType:Nl.bundleType,version:Nl.version,rendererPackageName:Nl.rendererPackageName,rendererConfig:Nl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Y.ReactCurrentDispatcher,findHostInstanceByFiber:function(M){return M=pr(M),M===null?null:M.stateNode},findFiberByHostInstance:Nl.findFiberByHostInstance||Gf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{Ra=au.inject(Vf),Qo=au}catch(M){}}return reactDom_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=iu,reactDom_production_min.createPortal=function(M,P){var F=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!nu(P))throw Error(g(200));return zf(M,P,null,F)},reactDom_production_min.createRoot=function(M,P){if(!nu(M))throw Error(g(299));var F=!1,q="",le=Zp;return P!=null&&(P.unstable_strictMode===!0&&(F=!0),P.identifierPrefix!==void 0&&(q=P.identifierPrefix),P.onRecoverableError!==void 0&&(le=P.onRecoverableError)),P=$d(M,1,!1,null,null,F,!1,q,le),M[wo]=P.current,Ns(M.nodeType===8?M.parentNode:M),new Id(P)},reactDom_production_min.findDOMNode=function(M){if(M==null)return null;if(M.nodeType===1)return M;var P=M._reactInternals;if(P===void 0)throw typeof M.render=="function"?Error(g(188)):(M=Object.keys(M).join(","),Error(g(268,M)));return M=pr(P),M=M===null?null:M.stateNode,M},reactDom_production_min.flushSync=function(M){return Ai(M)},reactDom_production_min.hydrate=function(M,P,F){if(!ou(P))throw Error(g(200));return su(null,M,P,!0,F)},reactDom_production_min.hydrateRoot=function(M,P,F){if(!nu(M))throw Error(g(405));var q=F!=null&&F.hydratedSources||null,le=!1,_e="",we=Zp;if(F!=null&&(F.unstable_strictMode===!0&&(le=!0),F.identifierPrefix!==void 0&&(_e=F.identifierPrefix),F.onRecoverableError!==void 0&&(we=F.onRecoverableError)),P=Qp(P,null,M,1,F!=null?F:null,le,!1,_e,we),M[wo]=P.current,Ns(M),q)for(M=0;M<q.length;M++)F=q[M],le=F._getVersion,le=le(F._source),P.mutableSourceEagerHydrationData==null?P.mutableSourceEagerHydrationData=[F,le]:P.mutableSourceEagerHydrationData.push(F,le);return new Fl(P)},reactDom_production_min.render=function(M,P,F){if(!ou(P))throw Error(g(200));return su(null,M,P,!1,F)},reactDom_production_min.unmountComponentAtNode=function(M){if(!ou(M))throw Error(g(40));return M._reactRootContainer?(Ai(function(){su(null,null,M,!1,function(){M._reactRootContainer=null,M[wo]=null})}),!0):!1},reactDom_production_min.unstable_batchedUpdates=Sd,reactDom_production_min.unstable_renderSubtreeIntoContainer=function(M,P,F,q){if(!ou(F))throw Error(g(200));if(M==null||M._reactInternals===void 0)throw Error(g(38));return su(M,P,F,!1,q)},reactDom_production_min.version="18.3.1-next-f1338f8080-20240426",reactDom_production_min}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(m){console.error(m)}}return d(),reactDom.exports=requireReactDom_production_min(),reactDom.exports}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client;hasRequiredClient=1;var d=requireReactDom();return client.createRoot=d.createRoot,client.hydrateRoot=d.hydrateRoot,client}var clientExports=requireClient();const scriptRel="modulepreload",assetsURL=function(d){return"/"+d},seen={},__vitePreload=function(m,g,x){let b=Promise.resolve();if(g&&g.length>0){let v=function(T){return Promise.all(T.map(R=>Promise.resolve(R).then(k=>({status:"fulfilled",value:k}),k=>({status:"rejected",reason:k}))))};document.getElementsByTagName("link");const C=document.querySelector("meta[property=csp-nonce]"),S=(C==null?void 0:C.nonce)||(C==null?void 0:C.getAttribute("nonce"));b=v(g.map(T=>{if(T=assetsURL(T),T in seen)return;seen[T]=!0;const R=T.endsWith(".css"),k=R?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${T}"]${k}`))return;const L=document.createElement("link");if(L.rel=R?"stylesheet":scriptRel,R||(L.as="script"),L.crossOrigin="",L.href=T,S&&L.setAttribute("nonce",S),document.head.appendChild(L),R)return new Promise((D,A)=>{L.addEventListener("load",D),L.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${T}`)))})}))}function E(v){const C=new Event("vite:preloadError",{cancelable:!0});if(C.payload=v,window.dispatchEvent(C),!C.defaultPrevented)throw v}return b.then(v=>{for(const C of v||[])C.status==="rejected"&&E(C.reason);return m().catch(E)})};window.crypto||(window.crypto={});crypto.subtle||(crypto.subtle=console.debug("using polyfill for crypto.subtle")||{});var Dm;(Dm=crypto.subtle).digest||(Dm.digest=(d,m)=>yt(void 0,null,function*(){if(d!=="SHA-512")return alert(d+" required but not supported");const x=(yield __vitePreload(()=>import("./sha512-QTaxzUvZ.js").then(b=>b.s),[])).default.arrayBuffer;return x(m)}));var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);/**
33
33
  * @remix-run/router v1.23.2
34
34
  *
35
35
  * Copyright (c) Remix Software Inc.
@@ -318,7 +318,7 @@ function print() { __p += __j.call(arguments, '') }
318
318
  *
319
319
  * This source code is licensed under the MIT license found in the
320
320
  * LICENSE file in the root directory of this source tree.
321
- */var hasRequiredUseSyncExternalStoreShim_production_min;function requireUseSyncExternalStoreShim_production_min(){if(hasRequiredUseSyncExternalStoreShim_production_min)return useSyncExternalStoreShim_production_min;hasRequiredUseSyncExternalStoreShim_production_min=1;var d=requireReact();function m(k,L){return k===L&&(k!==0||1/k===1/L)||k!==k&&L!==L}var g=typeof Object.is=="function"?Object.is:m,x=d.useState,b=d.useEffect,E=d.useLayoutEffect,v=d.useDebugValue;function C(k,L){var D=L(),A=x({inst:{value:D,getSnapshot:L}}),I=A[0].inst,N=A[1];return E(function(){I.value=D,I.getSnapshot=L,S(I)&&N({inst:I})},[k,D,L]),b(function(){return S(I)&&N({inst:I}),k(function(){S(I)&&N({inst:I})})},[k]),v(D),D}function S(k){var L=k.getSnapshot;k=k.value;try{var D=L();return!g(k,D)}catch(A){return!0}}function T(k,L){return L()}var R=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?T:C;return useSyncExternalStoreShim_production_min.useSyncExternalStore=d.useSyncExternalStore!==void 0?d.useSyncExternalStore:R,useSyncExternalStoreShim_production_min}var hasRequiredShim;function requireShim(){return hasRequiredShim||(hasRequiredShim=1,shim.exports=requireUseSyncExternalStoreShim_production_min()),shim.exports}var shimExports=requireShim();const useSyncExternalStoreExports=getDefaultExportFromCjs(shimExports),__vite_import_meta_env__={},{use}=React,{useSyncExternalStore}=useSyncExternalStoreExports,useAffectedDebugValue=(d,m)=>{const g=reactExports.useRef();reactExports.useEffect(()=>{g.current=w(d,m)}),reactExports.useDebugValue(g.current)},targetCache=new WeakMap;function useSnapshot(d,m){const x=reactExports.useRef(),b=reactExports.useRef();let E=!0;const v=useSyncExternalStore(reactExports.useCallback(T=>{const R=subscribe(d,T,void 0);return T(),R},[d,void 0]),()=>{const T=snapshot(d,use);try{if(!E&&x.current&&b.current&&!p(x.current,T,b.current,new WeakMap))return x.current}catch(R){}return T},()=>snapshot(d,use));E=!1;const C=new WeakMap;reactExports.useEffect(()=>{x.current=v,b.current=C}),(__vite_import_meta_env__?"production":void 0)!=="production"&&useAffectedDebugValue(v,C);const S=reactExports.useMemo(()=>new WeakMap,[]);return a(v,C,S,targetCache)}const dialogs=proxy([]),{history:history$1}=window,dialogsDefaults={closableProps:{children:"x","aria-label":"Close"},padding:!0},focusableSelector=['input:not([type="hidden"])',"button","select","textarea","a[href]","[tabindex]"].map(d=>d+':not([disabled]):not([tabindex="-1"])').join(",");window.addEventListener("keydown",d=>{d.key==="Tab"&&tabCycle(d.target,d.shiftKey)&&d.preventDefault()});function tabCycle(d,m=!1){const g=document.querySelectorAll("[role$=dialog]"),x=g[g.length-1];if(!x)return;const b=x.querySelectorAll(focusableSelector),E=b.length;if(!E)return;const[v,C]=m?[E-1,0]:[0,E-1];if(!(d!==b[C]&&isDescendant(document.activeElement,x)))return b[v].focus(),!0}function isDescendant(d,m){if(!m)return!1;const g=typeof m=="function";for(;d;){if(g?m(d):d===m)return!0;d=d.parentNode}return!1}let waitClosing=Promise.resolve(),ignorePopState=!1;function back(){return yt(this,null,function*(){ignorePopState=!0;const d=history$1.state;return waitClosing=waitClosing.then(()=>new Promise(m=>yt(this,null,function*(){const g=Date.now()+1500;let x=0;for(;d===history$1.state;){const b=Date.now();if(b>g)break;b-x>1e3&&(history$1.back(),x=b),yield wait(10)}m()})))})}const BASE_STATE=1;yt(void 0,null,function*(){var d;for(;((d=history$1.state)==null?void 0:d.$dialog)!==void 0&&history$1.state.$dialog!==BASE_STATE;)history$1.back(),yield wait(1);history$1.replaceState(Rt(Oe({},history$1.state),{$dialog:BASE_STATE}),"")});function Dialogs(d){reactExports.useEffect(()=>domOn("popstate",()=>{var x;if(ignorePopState)return ignorePopState=!1;const g=(x=history$1.state)==null?void 0:x.$dialog;if(g!==void 0){if(g!==BASE_STATE&&!dialogs.find(b=>b.$id===g))return back();closeDialog(void 0,!0)}}),[]);const m=useSnapshot(dialogs);return reactExports.useEffect(()=>{document.body.style.overflow=m.length?"hidden":""},[m.length]),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("div",Oe({"aria-hidden":m.length>0},d)),m.map(g=>reactExports.createElement(Dialog,Oe({key:g.$id},g))))}function Dialog(d){var E;const m=reactExports.useRef(null),[g,x]=reactExports.useState(0);if(reactExports.useEffect(()=>{var T,R;const v=(T=m.current)==null?void 0:T.querySelector(".dialog");if(!v||(tabCycle(v),(R=v.querySelector("[autofocus]"))==null||R.focus(),!d.position))return;let C=0;const S=setInterval(()=>{const k=v.getBoundingClientRect();x(C=Math.min(C,k.top,window.innerHeight-k.bottom+C))},100);return()=>clearInterval(S)},[]),d=Oe(Oe({closable:!0},dialogsDefaults),d),d.Container)return reactExports.createElement(d.Container,d);return reactExports.createElement("div",{ref:m,className:"dialog-backdrop "+(d.className||""),onKeyDown(v){v.key==="Escape"&&closeDialog(),v.stopPropagation()},onClick:v=>d.closable&&v.target===v.currentTarget&&closeDialog()},d.noFrame?reactExports.createElement(d.Content||"div"):reactExports.createElement("div",Oe({role:"dialog","aria-modal":!0,className:"dialog",style:Oe(Oe({},b()),(E=d.dialogProps)==null?void 0:E.style),onClick(v){v.stopPropagation()}},d.dialogProps),reactExports.createElement("button",Oe({className:"dialog-icon dialog-closer"+(d.closable?"":" hidden"),onClick(){closeDialog()}},d.closableProps)),d.icon&&reactExports.createElement("div",{className:"dialog-icon dialog-type"+(typeof d.icon=="string"?" dialog-icon-text":""),"aria-hidden":!0},componentOrNode(d.icon)),reactExports.createElement("h1",{className:"dialog-title"},componentOrNode(d.title)),reactExports.createElement("div",{className:"dialog-content"},reactExports.createElement(d.Content||"div"))));function b(){const{innerWidth:v,innerHeight:C}=window,S=d.position;return S&&Oe(Oe({margin:"1em",position:"absolute"},S[0]<v/2?{left:S[0]}:{right:v-S[0]}),S[1]<C/2?{top:g+S[1]}:{bottom:g+C-S[1]})}}function componentOrNode(d){return isPrimitive(d)||reactExports.isValidElement(d)?d:reactExports.createElement(d)}function newDialog(d){var v;const m=Math.random(),g=performance.now(),x=Object.assign(objSameKeys(d,C=>reactExports.isValidElement(C)?ref(C):C),{close:E,ts:g,$id:m,restoreFocus:(v=d.restoreFocus)!=null?v:ref(document.activeElement||{})});let b=!1;return waitClosing.then(()=>{var C;b||(dialogs.push(x),dialogs.at(-1).closable!==!1&&history$1.pushState({$dialog:m,ts:g,idx:1+(((C=history$1.state)==null?void 0:C.idx)||0)},""))}),x;function E(C){var T;b=!0;const S=dialogs.findIndex(R=>R.$id===m);if(!(S<0))return x.closed=((T=history$1.state)==null?void 0:T.$dialog)===m?back():Promise.resolve(),closeDialogAt(S,C),d.closed}}function closeDialog(d,m=!1){var x,b;let g=dialogs.length;if(((x=dialogs[g-1])==null?void 0:x.closable)!==!1)for(;g--;){const E=dialogs[g];if(!E.reserveClosing){if(!m){if(((b=history$1.state)==null?void 0:b.$dialog)!==E.$id)return;E.closed=back()}return closeDialogAt(g,d),E}}}function closeDialogAt(d,m){var x,b,E;const[g]=dialogs.splice(d,1);return(b=(x=g.restoreFocus)==null?void 0:x.focus)==null||b.call(x),g.closingValue=m&&typeof m=="object"?ref(m):m,(E=g.closed)!=null||(g.closed=Promise.resolve()),g.closed.then(()=>{var v;return(v=g==null?void 0:g.onClose)==null?void 0:v.call(g,m)}),g}function anyDialogOpen(){return dialogs.length>0}const MD_TAGS={a:"a","`":"code","*":"i","**":"b"};function md(d,{html:m=!0,linkTarget:g="_blank",onText:x=b=>b}={}){return typeof d!="string"&&(d=d[0]),replaceStringToReact(d,/(`|_|\*\*?)(.+?)\1|(\n)|\[(.+?)\]\((.+?)\)|(<(\w+?)(?:\s+[^>]*?)?>(?:.*?<\/\7>)?)/g,b=>b[4]?reactExports.createElement(MD_TAGS.a,{href:b[5],target:g},x(b[4])):b[3]?reactExports.createElement("br"):b[1]?reactExports.createElement(MD_TAGS[b[1]]||reactExports.Fragment,{},x(b[2])):m?reactExports.createElement(Html,{},b[6]):b[6],x)}function replaceStringToReact(d,m,g,x=b=>b){const b=[];let E=0,v;for(;(v=m.exec(d))&&(b.push(x(d.slice(E,v.index))),b.push(g(v)),E=v.index+v[0].length,!!m.global););return reactExports.createElement(reactExports.Fragment,{},...b,x(d.slice(E,1/0)))}function Html(g){var x=g,{children:d}=x,m=Vt(x,["children"]);return reactExports.useMemo(()=>d?reactExports.createElement("span",Rt(Oe({},m),{ref:b=>b&&b.replaceChildren(document.createRange().createContextualFragment(d))})):null,[d])}window._=_;setTimeout(()=>{document.querySelectorAll(".removeAtBoot").forEach(d=>d.remove())},500);const cpuSpeedIndex=(()=>{let d=performance.now();return _.range(1e5).map(m=>++m),d=performance.now()-d,1/d})(),urlParams=Object.fromEntries(new URLSearchParams(window.location.search).entries()),HFS=getHFS();Object.assign(HFS,{getPluginKey:()=>getScriptAttr("plugin"),getPluginPublic:()=>{var d,m;return(m=(d=getScriptAttr("src"))==null?void 0:d.match(/^.*\//))==null?void 0:m[0]},getPluginConfig:()=>HFS.plugins[HFS.getPluginKey()]||{},loadScript:d=>loadScript(d.includes("//")||d.startsWith("/")?d:HFS.getPluginPublic()+d),userBelongsTo:d=>wantArray(d).some(m=>{var g;return(g=HFS.state.expandedUsername)==null?void 0:g.includes(m)}),cpuSpeedIndex,copyTextToClipboard,urlParams});formatBytes.k=HFS.kb;const IMAGE_FILEMASK="*.jpg|*.jpeg|*.png|*.gif|*.svg";{const d=console.debug;console.debug=(...m)=>window.DEV&&d(...m)}function getScriptAttr(d){var m;return((m=document.currentScript)==null?void 0:m.getAttribute(d))||console.error("this function must be called at the very top of your file")}function buildUrlQueryString(d){return"?"+Object.entries(d).filter(m=>m[1]!==void 0).map(m=>m.map(g=>encodeURIComponent(g).replaceAll("%2F","/")).join("=")).join("&")}function domOn(d,m,g){const x=g&&"target"in g?g.target:window;return x?(x.addEventListener(d,m,g),()=>x.removeEventListener(d,m,g)):()=>{}}function restartAnimation(d,m){d&&(d.style.animation="",d.offsetWidth,d.style.animation=m)}function selectFiles(d,{accept:m="",multiple:g=!0,folder:x=!1}={}){const b=Object.assign(document.createElement("input"),{type:"file",name:"file",accept:m,multiple:g,webkitdirectory:x});b.addEventListener("change",()=>d(b.files)),b.click()}function readFile(d){return new Promise((m,g)=>{const x=new FileReader;x.addEventListener("load",b=>{if(!b.target||d.size&&!b.target.result)return g("cannot read");const{result:E}=b.target;m(E==null?void 0:E.toString())}),x.addEventListener("error",()=>{g(x.error)}),x.readAsText(d)})}function isMobile(){return window.innerWidth<800}function getHFS(){return window.HFS||(window.HFS={})}function getPrefixUrl(){return getHFS().prefixUrl}function makeSessionRefresher(d){let m;return g(getHFS().session),g;function g(x){clearTimeout(m);const b=["username","adminUrl","canChangePassword","accountExp","expandedUsername","requireChangePassword"];x!=null||(x=objFromKeys(b,()=>{}));const{exp:E}=x;if(getHFS().session=Object.assign(d,_.pick(x,b)),!x.username||!E)return;const v=new Date(E).getTime()-Date.now(),C=_.clamp(v-3e4,4e3,6e5);console.debug("session refresh in",Math.round(C/1e3)),m=setTimeout(()=>apiCall("refresh_session").then(g),C)}}function focusSelector(d,m=document){const g=m.querySelector(d);if(g&&g instanceof HTMLElement)return g.focus(),!0}function loadScript(d,m={}){return new Promise((g,x)=>{const b=document.createElement("script");b.type="text/javascript",b.src=d,b.onload=g,b.onerror=x;for(const[E,v]of Object.entries(m))b.setAttribute(E,String(v));document.head.appendChild(b)})}function fallbackToBasicAuth(){return BigInt===Number}function basename(d){var m;return((m=d.match(/([^\\/]+)[\\/]*$/))==null?void 0:m[1])||""}function extname(d){const m=basename(d),g=m.lastIndexOf(".");return g<=0?"":m.slice(g)}function dirname(d){return d.slice(0,Math.max(0,d.lastIndexOf("/",d.length-1)))}function createDurationFormatter({locale:d=void 0,unitDisplay:m="narrow",largest:g="day",smallest:x="second",maxTokens:b,skipZeroes:E}={}){const v={day:DAY,hour:HOUR,minute:MINUTE,second:1e3},C=objSameKeys(v,(T,R)=>Intl.NumberFormat(d,{style:"unit",unit:R,unitDisplay:m}).format),S=new Intl.ListFormat(d,{style:"narrow",type:"unit"});return T=>{var L,D;const R=[];let k=!1;for(const[A,I]of typedEntries(v)){if(A===x&&R.length)break;if(A===g&&(k=!0),!k)continue;const N=Math.floor(T/I);if(!(!N&&E)){if(R.push((D=(L=C[A])==null?void 0:L.call(C,N))!=null?D:String(N)),R.length===b)break;T%=I}}return S.format(R)}}function copyTextToClipboard(d){return yt(this,null,function*(){d=String(d);try{yield navigator.clipboard.writeText(d)}catch(m){console.debug("fallback clipboard method");const g=domOn("copy",x=>{var b;(b=x.clipboardData)==null||b.setData("text/plain",d),x.preventDefault()},{capture:!0,target:document});try{if(!document.execCommand("copy"))throw Error("unknown")}finally{g()}}})}function downloadFileWithContent(d,m){const g=m instanceof Blob?m:new Blob([m],{type:"text/plain"}),x=document.createElement("a");x.href=URL.createObjectURL(g),x.download=d,x.style.display="none",document.body.append(x),x.click(),setTimeout(()=>x.remove(),100)}function withSrpLib(d){return(...m)=>__vitePreload(()=>import("./index-yV2Zu9R8.js").then(g=>g.i),[]).then(g=>d(g,...m))}function apiNewPassword(d,m){return yt(this,null,function*(){const{createVerifierAndSalt:g,SRPParameters:x,SRPRoutines:b}=yield __vitePreload(()=>yt(this,null,function*(){const{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}=yield import("./index-yV2Zu9R8.js").then(R=>R.i);return{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}}),[]),E=new b(new x),v=yield g(E,d,m);return apiCall("change_srp",{username:d,salt:String(v.s),verifier:String(v.v)})})}var Am;(Am=Element.prototype).replaceChildren||(Am.replaceChildren=function(d){for(;this.lastChild;)this.removeChild(this.lastChild);d!==void 0&&this.append(d)});const shared=Object.freeze(Object.defineProperty({__proto__:null,ADMIN_URI,ALLOW_SESSION_IP_CHANGE,API_URI,AriaOnly,CFG,DAY,Dialogs,EMBEDDED_LANGUAGE,FRONTEND_OPTIONS,FRONTEND_URI,HFS_REPO,HIDE_IN_TESTS,HOUR,HTTP_BAD_REQUEST,HTTP_CONFLICT,HTTP_CREATED,HTTP_FAILED_DEPENDENCY,HTTP_FOOL,HTTP_FORBIDDEN,HTTP_INSUFFICIENT_STORAGE,HTTP_LENGTH_REQUIRED,HTTP_LOCKED,HTTP_MESSAGES,HTTP_METHOD_NOT_ALLOWED,HTTP_MOVED_PERMANENTLY,HTTP_NOT_ACCEPTABLE,HTTP_NOT_FOUND,HTTP_NOT_MODIFIED,HTTP_NO_CONTENT,HTTP_OK,HTTP_PARTIAL_CONTENT,HTTP_PAYLOAD_TOO_LARGE,HTTP_PRECONDITION_FAILED,HTTP_RANGE_NOT_SATISFIABLE,HTTP_SERVER_ERROR,HTTP_SERVICE_UNAVAILABLE,HTTP_TEMPORARY_REDIRECT,HTTP_TOO_MANY_REQUESTS,HTTP_UNAUTHORIZED,Html,ICONS_URI,IMAGE_FILEMASK,KeepInScreen,LIST,MASK_IN_TESTS,MAX_TILE_SIZE,MD_TAGS,MINUTE,MTIME_CHECK,NBSP,PERM_KEYS,PLUGINS_PUB_URI,PLUGIN_CUSTOM_REST_PREFIX,PORT_DISABLED,PREVIOUS_TAG,REPO_URL,SORT_BY_OPTIONS,SPECIAL_URI,THEME_OPTIONS,UPLOAD_TEMP_HASH,VFS_STORED_KEYS,WEBSITE,WHO_ANYONE,WHO_ANY_ACCOUNT,WHO_NO_ONE,WIKI_URL,_dbg,_log,anyDialogOpen,apiNewPassword,asyncGeneratorToArray,basename,buildUrlQueryString,callable,closeDialog,componentOrNode,copyTextToClipboard,cpuSpeedIndex,createDurationFormatter,defaultPerms,dialogsDefaults,dirname,domOn,dontBotherWithKeys,downloadFileWithContent,enforceFinal,enforceStarting,escapeHTML,extname,fallbackToBasicAuth,filterMapGenerator,findDefined,focusSelector,focusableSelector,formatBytes,formatDate,formatPerc,formatSpeed,formatTime,formatTimestamp:formatTimestamp$2,getHFS,getOrSet,getPrefixUrl,hasProp,haveTimeout,inCommon,ipForUrl,isAsyncIterable,isCtrlKey,isDescendant,isEqualLax,isIP,isIpLan,isIpLocalHost,isMac,isMobile,isNumeric,isOrderedEqual,isPrimitive,isTimestampString,isWhoObject,isWindowsDrive,join,loadScript,makeMatcher,makeSessionRefresher,mapFilter,matches,md,newDialog,newObj,noAriaTitle,normalizeHost,objFromKeys,objRenameKey,objSameKeys,onlyTruthy,patchKey:patchKey$1,pathDecode,pathEncode,pendingPromise,popKey,prefix,promiseBestEffort,randomId,reactFilter,reactJoin,readFile,removeFinal,removeStarting,repeat,replace,replaceStringToReact,restartAnimation,retry,runAt,safeDecodeURIComponent,selectFiles,setHidden,shortenAgent,splitAt,stringAfter,strinsert,swap,throw_,toMutable,truthy,tryJson,try_,typedEntries,typedKeys,urlParams,useAutoScroll,useBatch,useEffectOnce,useFixSticky,useGetSize,useIsMobile,useOnResize,useRequestRender,useStateMounted,wait,waitFor,wantArray,withSrpLib,with_,xlate},Symbol.toStringTag,{value:"Module"})),httpCodes={100:"Continue: the initial headers were received; continue with the request body",101:"Switching Protocols: the server is switching protocols as requested",102:"Processing: the server is processing the request but a complete response isn’t ready yet",103:"Early Hints: preliminary headers are being sent before the final response",200:"OK: response sent",201:"Created: a new resource was created successfully",202:"Accepted: the request has been accepted for processing but isn’t complete yet",203:"Non-Authoritative Information: the response contains modified information from a third party",204:"No Content: the request succeeded but there’s no content to return",205:"Reset Content: the request succeeded; please reset your view",206:"Partial Content: only part of the resource is being returned as requested",207:"Multi-Status: the response contains several status codes for different parts of the request",208:"Already Reported: the resource has already been reported in a previous response",226:"IM Used: the server fulfilled the request using instance manipulations",300:"Multiple Choices: several options are available for the requested resource",301:"Moved Permanently: the resource has been permanently moved to a new URL",302:"Found: the resource is temporarily located at a different URL",303:"See Other: the requested resource can be found using GET at another URL",304:"Not Modified: the browser was asked to use its cached version, and the file was not actually sent",305:"Use Proxy: the requested resource must be accessed through the specified proxy",306:"Switch Proxy: this code is no longer used but is reserved for future use",307:"Temporary Redirect: the resource is temporarily available at a different URL; use the original for future requests",308:"Permanent Redirect: the resource has been permanently moved to another URL",400:"Bad Request: the request is malformed or contains invalid parameters",401:"Unauthorized: authentication is required and was either not provided or failed",402:"Payment Required: payment is required to access this resource (reserved for future use)",403:"Forbidden: the server understands the request but refuses to authorize it",404:"Not Found: the requested resource could not be found",405:"Method Not Allowed: the HTTP method used isn’t allowed for this resource",406:"Not Acceptable: the resource can’t produce content acceptable according to the request",407:"Proxy Authentication Required: proxy authentication is required to access the resource",408:"Request Timeout: the server timed out waiting for the request",409:"Conflict: the request couldn’t be processed due to a conflict",410:"Gone: the requested resource is no longer available",411:"Length Required: the request didn’t include the required content length",412:"Precondition Failed: one or more conditions in the request header failed",413:"Payload Too Large: the request payload is too large for the server to process",414:"URI Too Long: the URL provided is too long",415:"Unsupported Media Type: the media type is not supported by the server",416:"Range Not Satisfiable: the requested range cannot be fulfilled by the server",417:"Expectation Failed: the server can’t meet the expectations in the request’s header",418:"I'm a Teapot: this code is a humorous reference and not meant for real use",421:"Misdirected Request: the request was sent to a server that can’t produce a response",422:"Unprocessable Entity: the request was well-formed but contains semantic errors",423:"Locked: the resource is locked and can’t be accessed",424:"Failed Dependency: the request failed because a previous request did not succeed",425:"Too Early: the server refuses to process the request to prevent replay attacks",426:"Upgrade Required: the client should switch to a different protocol",428:"Precondition Required: the server requires the request to be conditional",429:"Too Many Requests: too many requests have been sent in a short period",431:"Request Header Fields Too Large: the request’s header fields are too large",451:"Unavailable For Legal Reasons: the resource is unavailable due to legal restrictions",500:"Internal Server Error: the server encountered an unexpected error",501:"Not Implemented: the server does not support the requested functionality",502:"Bad Gateway: the server received an invalid response from an upstream server",503:"Service Unavailable: the server is currently unable to handle the request",504:"Gateway Timeout: the server did not receive a timely response from an upstream server",505:"HTTP Version Not Supported: the server does not support the HTTP version used",506:"Variant Also Negotiates: a circular reference was detected during content negotiation",507:"Insufficient Storage: the server is unable to store the requested resource",508:"Loop Detected: the server detected an infinite loop while processing the request",510:"Not Extended: additional extensions are needed to fulfill the request",511:"Network Authentication Required: network access requires proper authentication"};MD_TAGS.a=Link$3;function err2msg$1(d){var g;const m=typeof d=="string"&&((g=d.split("Error: EPERM: operation not permitted, access ")[1])==null?void 0:g.split(`
321
+ */var hasRequiredUseSyncExternalStoreShim_production_min;function requireUseSyncExternalStoreShim_production_min(){if(hasRequiredUseSyncExternalStoreShim_production_min)return useSyncExternalStoreShim_production_min;hasRequiredUseSyncExternalStoreShim_production_min=1;var d=requireReact();function m(k,L){return k===L&&(k!==0||1/k===1/L)||k!==k&&L!==L}var g=typeof Object.is=="function"?Object.is:m,x=d.useState,b=d.useEffect,E=d.useLayoutEffect,v=d.useDebugValue;function C(k,L){var D=L(),A=x({inst:{value:D,getSnapshot:L}}),I=A[0].inst,N=A[1];return E(function(){I.value=D,I.getSnapshot=L,S(I)&&N({inst:I})},[k,D,L]),b(function(){return S(I)&&N({inst:I}),k(function(){S(I)&&N({inst:I})})},[k]),v(D),D}function S(k){var L=k.getSnapshot;k=k.value;try{var D=L();return!g(k,D)}catch(A){return!0}}function T(k,L){return L()}var R=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?T:C;return useSyncExternalStoreShim_production_min.useSyncExternalStore=d.useSyncExternalStore!==void 0?d.useSyncExternalStore:R,useSyncExternalStoreShim_production_min}var hasRequiredShim;function requireShim(){return hasRequiredShim||(hasRequiredShim=1,shim.exports=requireUseSyncExternalStoreShim_production_min()),shim.exports}var shimExports=requireShim();const useSyncExternalStoreExports=getDefaultExportFromCjs(shimExports),__vite_import_meta_env__={},{use}=React,{useSyncExternalStore}=useSyncExternalStoreExports,useAffectedDebugValue=(d,m)=>{const g=reactExports.useRef();reactExports.useEffect(()=>{g.current=w(d,m)}),reactExports.useDebugValue(g.current)},targetCache=new WeakMap;function useSnapshot(d,m){const x=reactExports.useRef(),b=reactExports.useRef();let E=!0;const v=useSyncExternalStore(reactExports.useCallback(T=>{const R=subscribe(d,T,void 0);return T(),R},[d,void 0]),()=>{const T=snapshot(d,use);try{if(!E&&x.current&&b.current&&!p(x.current,T,b.current,new WeakMap))return x.current}catch(R){}return T},()=>snapshot(d,use));E=!1;const C=new WeakMap;reactExports.useEffect(()=>{x.current=v,b.current=C}),(__vite_import_meta_env__?"production":void 0)!=="production"&&useAffectedDebugValue(v,C);const S=reactExports.useMemo(()=>new WeakMap,[]);return a(v,C,S,targetCache)}const dialogs=proxy([]),{history:history$1}=window,dialogsDefaults={closableProps:{children:"x","aria-label":"Close"},padding:!0},focusableSelector=['input:not([type="hidden"])',"button","select","textarea","a[href]","[tabindex]"].map(d=>d+':not([disabled]):not([tabindex="-1"])').join(",");window.addEventListener("keydown",d=>{d.key==="Tab"&&tabCycle(d.target,d.shiftKey)&&d.preventDefault()});function tabCycle(d,m=!1){const g=document.querySelectorAll("[role$=dialog]"),x=g[g.length-1];if(!x)return;const b=x.querySelectorAll(focusableSelector),E=b.length;if(!E)return;const[v,C]=m?[E-1,0]:[0,E-1];if(!(d!==b[C]&&isDescendant(document.activeElement,x)))return b[v].focus(),!0}function isDescendant(d,m){if(!m)return!1;const g=typeof m=="function";for(;d;){if(g?m(d):d===m)return!0;d=d.parentNode}return!1}let waitClosing=Promise.resolve(),ignorePopState=!1;function back(){return yt(this,null,function*(){ignorePopState=!0;const d=history$1.state;return waitClosing=waitClosing.then(()=>new Promise(m=>yt(this,null,function*(){const g=Date.now()+1500;let x=0;for(;d===history$1.state;){const b=Date.now();if(b>g)break;b-x>1e3&&(history$1.back(),x=b),yield wait(10)}m()})))})}const BASE_STATE=1;yt(void 0,null,function*(){var d;for(;((d=history$1.state)==null?void 0:d.$dialog)!==void 0&&history$1.state.$dialog!==BASE_STATE;)history$1.back(),yield wait(1);history$1.replaceState(Rt(Oe({},history$1.state),{$dialog:BASE_STATE}),"")});function Dialogs(d){reactExports.useEffect(()=>domOn("popstate",()=>{var x;if(ignorePopState)return ignorePopState=!1;const g=(x=history$1.state)==null?void 0:x.$dialog;if(g!==void 0){if(g!==BASE_STATE&&!dialogs.find(b=>b.$id===g))return back();closeDialog(void 0,!0)}}),[]);const m=useSnapshot(dialogs);return reactExports.useEffect(()=>{document.body.style.overflow=m.length?"hidden":""},[m.length]),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("div",Oe({"aria-hidden":m.length>0},d)),m.map(g=>reactExports.createElement(Dialog,Oe({key:g.$id},g))))}function Dialog(d){var E;const m=reactExports.useRef(null),[g,x]=reactExports.useState(0);if(reactExports.useEffect(()=>{var T,R;const v=(T=m.current)==null?void 0:T.querySelector(".dialog");if(!v||(tabCycle(v),(R=v.querySelector("[autofocus]"))==null||R.focus(),!d.position))return;let C=0;const S=setInterval(()=>{const k=v.getBoundingClientRect();x(C=Math.min(C,k.top,window.innerHeight-k.bottom+C))},100);return()=>clearInterval(S)},[]),d=Oe(Oe({closable:!0},dialogsDefaults),d),d.Container)return reactExports.createElement(d.Container,d);return reactExports.createElement("div",{ref:m,className:"dialog-backdrop "+(d.className||""),onKeyDown(v){v.key==="Escape"&&closeDialog(),v.stopPropagation()},onClick:v=>d.closable&&v.target===v.currentTarget&&closeDialog()},d.noFrame?reactExports.createElement(d.Content||"div"):reactExports.createElement("div",Oe({role:"dialog","aria-modal":!0,className:"dialog",style:Oe(Oe({},b()),(E=d.dialogProps)==null?void 0:E.style),onClick(v){v.stopPropagation()}},d.dialogProps),reactExports.createElement("button",Oe({className:"dialog-icon dialog-closer"+(d.closable?"":" hidden"),onClick(){closeDialog()}},d.closableProps)),d.icon&&reactExports.createElement("div",{className:"dialog-icon dialog-type"+(typeof d.icon=="string"?" dialog-icon-text":""),"aria-hidden":!0},componentOrNode(d.icon)),reactExports.createElement("h1",{className:"dialog-title"},componentOrNode(d.title)),reactExports.createElement("div",{className:"dialog-content"},reactExports.createElement(d.Content||"div"))));function b(){const{innerWidth:v,innerHeight:C}=window,S=d.position;return S&&Oe(Oe({margin:"1em",position:"absolute"},S[0]<v/2?{left:S[0]}:{right:v-S[0]}),S[1]<C/2?{top:g+S[1]}:{bottom:g+C-S[1]})}}function componentOrNode(d){return isPrimitive(d)||reactExports.isValidElement(d)?d:reactExports.createElement(d)}function newDialog(d){var v;const m=Math.random(),g=performance.now(),x=Object.assign(objSameKeys(d,C=>reactExports.isValidElement(C)?ref(C):C),{close:E,ts:g,$id:m,restoreFocus:(v=d.restoreFocus)!=null?v:ref(document.activeElement||{})});let b=!1;return waitClosing.then(()=>{var C;b||(dialogs.push(x),dialogs.at(-1).closable!==!1&&history$1.pushState({$dialog:m,ts:g,idx:1+(((C=history$1.state)==null?void 0:C.idx)||0)},""))}),x;function E(C){var T;b=!0;const S=dialogs.findIndex(R=>R.$id===m);if(!(S<0))return x.closed=((T=history$1.state)==null?void 0:T.$dialog)===m?back():Promise.resolve(),closeDialogAt(S,C),d.closed}}function closeDialog(d,m=!1){var x,b;let g=dialogs.length;if(((x=dialogs[g-1])==null?void 0:x.closable)!==!1)for(;g--;){const E=dialogs[g];if(!E.reserveClosing){if(!m){if(((b=history$1.state)==null?void 0:b.$dialog)!==E.$id)return;E.closed=back()}return closeDialogAt(g,d),E}}}function closeDialogAt(d,m){var x,b,E;const[g]=dialogs.splice(d,1);return(b=(x=g.restoreFocus)==null?void 0:x.focus)==null||b.call(x),g.closingValue=m&&typeof m=="object"?ref(m):m,(E=g.closed)!=null||(g.closed=Promise.resolve()),g.closed.then(()=>{var v;return(v=g==null?void 0:g.onClose)==null?void 0:v.call(g,m)}),g}function anyDialogOpen(){return dialogs.length>0}const MD_TAGS={a:"a","`":"code","*":"i","**":"b"};function md(d,{html:m=!0,linkTarget:g="_blank",onText:x=b=>b}={}){return typeof d!="string"&&(d=d[0]),replaceStringToReact(d,/(`|_|\*\*?)(.+?)\1|(\n)|\[(.+?)\]\((.+?)\)|(<(\w+?)(?:\s+[^>]*?)?>(?:.*?<\/\7>)?)/g,b=>b[4]?reactExports.createElement(MD_TAGS.a,{href:b[5],target:g},x(b[4])):b[3]?reactExports.createElement("br"):b[1]?reactExports.createElement(MD_TAGS[b[1]]||reactExports.Fragment,{},x(b[2])):m?reactExports.createElement(Html,{},b[6]):b[6],x)}function replaceStringToReact(d,m,g,x=b=>b){const b=[];let E=0,v;for(;(v=m.exec(d))&&(b.push(x(d.slice(E,v.index))),b.push(g(v)),E=v.index+v[0].length,!!m.global););return reactExports.createElement(reactExports.Fragment,{},...b,x(d.slice(E,1/0)))}function Html(g){var x=g,{children:d}=x,m=Vt(x,["children"]);return reactExports.useMemo(()=>d?reactExports.createElement("span",Rt(Oe({},m),{ref:b=>b&&b.replaceChildren(document.createRange().createContextualFragment(d))})):null,[d])}window._=_;setTimeout(()=>{document.querySelectorAll(".removeAtBoot").forEach(d=>d.remove())},500);const cpuSpeedIndex=(()=>{let d=performance.now();return _.range(1e5).map(m=>++m),d=performance.now()-d,1/d})(),urlParams=Object.fromEntries(new URLSearchParams(window.location.search).entries()),HFS=getHFS();Object.assign(HFS,{getPluginKey:()=>getScriptAttr("plugin"),getPluginPublic:()=>{var d,m;return(m=(d=getScriptAttr("src"))==null?void 0:d.match(/^.*\//))==null?void 0:m[0]},getPluginConfig:()=>HFS.plugins[HFS.getPluginKey()]||{},loadScript:d=>loadScript(d.includes("//")||d.startsWith("/")?d:HFS.getPluginPublic()+d),userBelongsTo:d=>wantArray(d).some(m=>{var g;return(g=HFS.state.expandedUsername)==null?void 0:g.includes(m)}),cpuSpeedIndex,copyTextToClipboard,urlParams});formatBytes.k=HFS.kb;const IMAGE_FILEMASK="*.jpg|*.jpeg|*.png|*.gif|*.svg";{const d=console.debug;console.debug=(...m)=>window.DEV&&d(...m)}function getScriptAttr(d){var m;return((m=document.currentScript)==null?void 0:m.getAttribute(d))||console.error("this function must be called at the very top of your file")}function buildUrlQueryString(d){return"?"+Object.entries(d).filter(m=>m[1]!==void 0).map(m=>m.map(g=>encodeURIComponent(g).replaceAll("%2F","/")).join("=")).join("&")}function domOn(d,m,g){const x=g&&"target"in g?g.target:window;return x?(x.addEventListener(d,m,g),()=>x.removeEventListener(d,m,g)):()=>{}}function restartAnimation(d,m){d&&(d.style.animation="",d.offsetWidth,d.style.animation=m)}function selectFiles(d,{accept:m="",multiple:g=!0,folder:x=!1}={}){const b=Object.assign(document.createElement("input"),{type:"file",name:"file",accept:m,multiple:g,webkitdirectory:x});b.addEventListener("change",()=>d(b.files)),b.click()}function readFile(d){return new Promise((m,g)=>{const x=new FileReader;x.addEventListener("load",b=>{if(!b.target||d.size&&!b.target.result)return g("cannot read");const{result:E}=b.target;m(E==null?void 0:E.toString())}),x.addEventListener("error",()=>{g(x.error)}),x.readAsText(d)})}function isMobile(){return window.innerWidth<800}function getHFS(){return window.HFS||(window.HFS={})}function getPrefixUrl(){return getHFS().prefixUrl}function makeSessionRefresher(d){let m;return g(getHFS().session),g;function g(x){clearTimeout(m);const b=["username","adminUrl","canChangePassword","accountExp","expandedUsername","requireChangePassword"];x!=null||(x=objFromKeys(b,()=>{}));const{exp:E}=x;if(getHFS().session=Object.assign(d,_.pick(x,b)),!x.username||!E)return;const v=new Date(E).getTime()-Date.now(),C=_.clamp(v-3e4,4e3,6e5);console.debug("session refresh in",Math.round(C/1e3)),m=setTimeout(()=>apiCall("refresh_session").then(g),C)}}function focusSelector(d,m=document){const g=m.querySelector(d);if(g&&g instanceof HTMLElement)return g.focus(),!0}function loadScript(d,m={}){return new Promise((g,x)=>{const b=document.createElement("script");b.type="text/javascript",b.src=d,b.onload=g,b.onerror=x;for(const[E,v]of Object.entries(m))b.setAttribute(E,String(v));document.head.appendChild(b)})}function fallbackToBasicAuth(){return BigInt===Number}function basename(d){var m;return((m=d.match(/([^\\/]+)[\\/]*$/))==null?void 0:m[1])||""}function extname(d){const m=basename(d),g=m.lastIndexOf(".");return g<=0?"":m.slice(g)}function dirname(d){return d.slice(0,Math.max(0,d.lastIndexOf("/",d.length-1)))}function createDurationFormatter({locale:d=void 0,unitDisplay:m="narrow",largest:g="day",smallest:x="second",maxTokens:b,skipZeroes:E}={}){const v={day:DAY,hour:HOUR,minute:MINUTE,second:1e3},C=objSameKeys(v,(T,R)=>Intl.NumberFormat(d,{style:"unit",unit:R,unitDisplay:m}).format),S=new Intl.ListFormat(d,{style:"narrow",type:"unit"});return T=>{var L,D;const R=[];let k=!1;for(const[A,I]of typedEntries(v)){if(A===x&&R.length)break;if(A===g&&(k=!0),!k)continue;const N=Math.floor(T/I);if(!(!N&&E)){if(R.push((D=(L=C[A])==null?void 0:L.call(C,N))!=null?D:String(N)),R.length===b)break;T%=I}}return S.format(R)}}function copyTextToClipboard(d){return yt(this,null,function*(){d=String(d);try{yield navigator.clipboard.writeText(d)}catch(m){console.debug("fallback clipboard method");const g=domOn("copy",x=>{var b;(b=x.clipboardData)==null||b.setData("text/plain",d),x.preventDefault()},{capture:!0,target:document});try{if(!document.execCommand("copy"))throw Error("unknown")}finally{g()}}})}function downloadFileWithContent(d,m){const g=m instanceof Blob?m:new Blob([m],{type:"text/plain"}),x=document.createElement("a");x.href=URL.createObjectURL(g),x.download=d,x.style.display="none",document.body.append(x),x.click(),setTimeout(()=>x.remove(),100)}function withSrpLib(d){return(...m)=>__vitePreload(()=>import("./index-DI_SOdzQ.js").then(g=>g.i),[]).then(g=>d(g,...m))}function apiNewPassword(d,m){return yt(this,null,function*(){const{createVerifierAndSalt:g,SRPParameters:x,SRPRoutines:b}=yield __vitePreload(()=>yt(this,null,function*(){const{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}=yield import("./index-DI_SOdzQ.js").then(R=>R.i);return{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}}),[]),E=new b(new x),v=yield g(E,d,m);return apiCall("change_srp",{username:d,salt:String(v.s),verifier:String(v.v)})})}var Am;(Am=Element.prototype).replaceChildren||(Am.replaceChildren=function(d){for(;this.lastChild;)this.removeChild(this.lastChild);d!==void 0&&this.append(d)});const shared=Object.freeze(Object.defineProperty({__proto__:null,ADMIN_URI,ALLOW_SESSION_IP_CHANGE,API_URI,AriaOnly,CFG,DAY,Dialogs,EMBEDDED_LANGUAGE,FRONTEND_OPTIONS,FRONTEND_URI,HFS_REPO,HIDE_IN_TESTS,HOUR,HTTP_BAD_REQUEST,HTTP_CONFLICT,HTTP_CREATED,HTTP_FAILED_DEPENDENCY,HTTP_FOOL,HTTP_FORBIDDEN,HTTP_INSUFFICIENT_STORAGE,HTTP_LENGTH_REQUIRED,HTTP_LOCKED,HTTP_MESSAGES,HTTP_METHOD_NOT_ALLOWED,HTTP_MOVED_PERMANENTLY,HTTP_NOT_ACCEPTABLE,HTTP_NOT_FOUND,HTTP_NOT_MODIFIED,HTTP_NO_CONTENT,HTTP_OK,HTTP_PARTIAL_CONTENT,HTTP_PAYLOAD_TOO_LARGE,HTTP_PRECONDITION_FAILED,HTTP_RANGE_NOT_SATISFIABLE,HTTP_SERVER_ERROR,HTTP_SERVICE_UNAVAILABLE,HTTP_TEMPORARY_REDIRECT,HTTP_TOO_MANY_REQUESTS,HTTP_UNAUTHORIZED,Html,ICONS_URI,IMAGE_FILEMASK,KeepInScreen,LIST,MASK_IN_TESTS,MAX_TILE_SIZE,MD_TAGS,MINUTE,MTIME_CHECK,NBSP,PERM_KEYS,PLUGINS_PUB_URI,PLUGIN_CUSTOM_REST_PREFIX,PORT_DISABLED,PREVIOUS_TAG,REPO_URL,SORT_BY_OPTIONS,SPECIAL_URI,THEME_OPTIONS,UPLOAD_TEMP_HASH,VFS_STORED_KEYS,WEBSITE,WHO_ANYONE,WHO_ANY_ACCOUNT,WHO_NO_ONE,WIKI_URL,_dbg,_log,anyDialogOpen,apiNewPassword,asyncGeneratorToArray,basename,buildUrlQueryString,callable,closeDialog,componentOrNode,copyTextToClipboard,cpuSpeedIndex,createDurationFormatter,defaultPerms,dialogsDefaults,dirname,domOn,dontBotherWithKeys,downloadFileWithContent,enforceFinal,enforceStarting,escapeHTML,extname,fallbackToBasicAuth,filterMapGenerator,findDefined,focusSelector,focusableSelector,formatBytes,formatDate,formatPerc,formatSpeed,formatTime,formatTimestamp:formatTimestamp$2,getHFS,getOrSet,getPrefixUrl,hasProp,haveTimeout,inCommon,ipForUrl,isAsyncIterable,isCtrlKey,isDescendant,isEqualLax,isIP,isIpLan,isIpLocalHost,isMac,isMobile,isNumeric,isOrderedEqual,isPrimitive,isTimestampString,isWhoObject,isWindowsDrive,join,loadScript,makeMatcher,makeSessionRefresher,mapFilter,matches,md,newDialog,newObj,noAriaTitle,normalizeHost,objFromKeys,objRenameKey,objSameKeys,onlyTruthy,patchKey:patchKey$1,pathDecode,pathEncode,pendingPromise,popKey,prefix,promiseBestEffort,randomId,reactFilter,reactJoin,readFile,removeFinal,removeStarting,repeat,replace,replaceStringToReact,restartAnimation,retry,runAt,safeDecodeURIComponent,selectFiles,setHidden,shortenAgent,splitAt,stringAfter,strinsert,swap,throw_,toMutable,truthy,tryJson,try_,typedEntries,typedKeys,urlParams,useAutoScroll,useBatch,useEffectOnce,useFixSticky,useGetSize,useIsMobile,useOnResize,useRequestRender,useStateMounted,wait,waitFor,wantArray,withSrpLib,with_,xlate},Symbol.toStringTag,{value:"Module"})),httpCodes={100:"Continue: the initial headers were received; continue with the request body",101:"Switching Protocols: the server is switching protocols as requested",102:"Processing: the server is processing the request but a complete response isn’t ready yet",103:"Early Hints: preliminary headers are being sent before the final response",200:"OK: response sent",201:"Created: a new resource was created successfully",202:"Accepted: the request has been accepted for processing but isn’t complete yet",203:"Non-Authoritative Information: the response contains modified information from a third party",204:"No Content: the request succeeded but there’s no content to return",205:"Reset Content: the request succeeded; please reset your view",206:"Partial Content: only part of the resource is being returned as requested",207:"Multi-Status: the response contains several status codes for different parts of the request",208:"Already Reported: the resource has already been reported in a previous response",226:"IM Used: the server fulfilled the request using instance manipulations",300:"Multiple Choices: several options are available for the requested resource",301:"Moved Permanently: the resource has been permanently moved to a new URL",302:"Found: the resource is temporarily located at a different URL",303:"See Other: the requested resource can be found using GET at another URL",304:"Not Modified: the browser was asked to use its cached version, and the file was not actually sent",305:"Use Proxy: the requested resource must be accessed through the specified proxy",306:"Switch Proxy: this code is no longer used but is reserved for future use",307:"Temporary Redirect: the resource is temporarily available at a different URL; use the original for future requests",308:"Permanent Redirect: the resource has been permanently moved to another URL",400:"Bad Request: the request is malformed or contains invalid parameters",401:"Unauthorized: authentication is required and was either not provided or failed",402:"Payment Required: payment is required to access this resource (reserved for future use)",403:"Forbidden: the server understands the request but refuses to authorize it",404:"Not Found: the requested resource could not be found",405:"Method Not Allowed: the HTTP method used isn’t allowed for this resource",406:"Not Acceptable: the resource can’t produce content acceptable according to the request",407:"Proxy Authentication Required: proxy authentication is required to access the resource",408:"Request Timeout: the server timed out waiting for the request",409:"Conflict: the request couldn’t be processed due to a conflict",410:"Gone: the requested resource is no longer available",411:"Length Required: the request didn’t include the required content length",412:"Precondition Failed: one or more conditions in the request header failed",413:"Payload Too Large: the request payload is too large for the server to process",414:"URI Too Long: the URL provided is too long",415:"Unsupported Media Type: the media type is not supported by the server",416:"Range Not Satisfiable: the requested range cannot be fulfilled by the server",417:"Expectation Failed: the server can’t meet the expectations in the request’s header",418:"I'm a Teapot: this code is a humorous reference and not meant for real use",421:"Misdirected Request: the request was sent to a server that can’t produce a response",422:"Unprocessable Entity: the request was well-formed but contains semantic errors",423:"Locked: the resource is locked and can’t be accessed",424:"Failed Dependency: the request failed because a previous request did not succeed",425:"Too Early: the server refuses to process the request to prevent replay attacks",426:"Upgrade Required: the client should switch to a different protocol",428:"Precondition Required: the server requires the request to be conditional",429:"Too Many Requests: too many requests have been sent in a short period",431:"Request Header Fields Too Large: the request’s header fields are too large",451:"Unavailable For Legal Reasons: the resource is unavailable due to legal restrictions",500:"Internal Server Error: the server encountered an unexpected error",501:"Not Implemented: the server does not support the requested functionality",502:"Bad Gateway: the server received an invalid response from an upstream server",503:"Service Unavailable: the server is currently unable to handle the request",504:"Gateway Timeout: the server did not receive a timely response from an upstream server",505:"HTTP Version Not Supported: the server does not support the HTTP version used",506:"Variant Also Negotiates: a circular reference was detected during content negotiation",507:"Insufficient Storage: the server is unable to store the requested resource",508:"Loop Detected: the server detected an infinite loop while processing the request",510:"Not Extended: additional extensions are needed to fulfill the request",511:"Network Authentication Required: network access requires proper authentication"};MD_TAGS.a=Link$3;function err2msg$1(d){var g;const m=typeof d=="string"&&((g=d.split("Error: EPERM: operation not permitted, access ")[1])==null?void 0:g.split(`
322
322
  `)[0]);return m?`Access denied on disk for ${m}`:{github_quota:"Request denied. You may have reached the limit, retry later.",ENOENT:"Not found",ENOTDIR:"Not a folder"}[d]||HTTP_MESSAGES[d]||httpCodes[d]||String(d)}function formatTimestamp$1(d){return d?(d instanceof Date?d:new Date(d)).toLocaleString():""}function getLoadingButtonUtilityClass(d){return generateUtilityClass("MuiLoadingButton",d)}const loadingButtonClasses=generateUtilityClasses("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),_excluded$1o=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],useUtilityClasses$11=d=>{const{loading:m,loadingPosition:g,classes:x}=d,b={root:["root",m&&"loading"],startIcon:[m&&`startIconLoading${capitalize$1(g)}`],endIcon:[m&&`endIconLoading${capitalize$1(g)}`],loadingIndicator:["loadingIndicator",m&&`loadingIndicator${capitalize$1(g)}`]},E=composeClasses(b,getLoadingButtonUtilityClass,x);return _extends$1({},x,E)},rootShouldForwardProp=d=>d!=="ownerState"&&d!=="theme"&&d!=="sx"&&d!=="as"&&d!=="classes",LoadingButtonRoot=styled(Button,{shouldForwardProp:d=>rootShouldForwardProp(d)||d==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(d,m)=>[m.root,m.startIconLoadingStart&&{[`& .${loadingButtonClasses.startIconLoadingStart}`]:m.startIconLoadingStart},m.endIconLoadingEnd&&{[`& .${loadingButtonClasses.endIconLoadingEnd}`]:m.endIconLoadingEnd}]})(({ownerState:d,theme:m})=>_extends$1({[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0}},d.loadingPosition==="center"&&{transition:m.transitions.create(["background-color","box-shadow","border-color"],{duration:m.transitions.duration.short}),[`&.${loadingButtonClasses.loading}`]:{color:"transparent"}},d.loadingPosition==="start"&&d.fullWidth&&{[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0,marginRight:-8}},d.loadingPosition==="end"&&d.fullWidth&&{[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0,marginLeft:-8}})),LoadingButtonLoadingIndicator=styled("span",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(d,m)=>{const{ownerState:g}=d;return[m.loadingIndicator,m[`loadingIndicator${capitalize$1(g.loadingPosition)}`]]}})(({theme:d,ownerState:m})=>_extends$1({position:"absolute",visibility:"visible",display:"flex"},m.loadingPosition==="start"&&(m.variant==="outlined"||m.variant==="contained")&&{left:m.size==="small"?10:14},m.loadingPosition==="start"&&m.variant==="text"&&{left:6},m.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(d.vars||d).palette.action.disabled},m.loadingPosition==="end"&&(m.variant==="outlined"||m.variant==="contained")&&{right:m.size==="small"?10:14},m.loadingPosition==="end"&&m.variant==="text"&&{right:6},m.loadingPosition==="start"&&m.fullWidth&&{position:"relative",left:-10},m.loadingPosition==="end"&&m.fullWidth&&{position:"relative",right:-10})),LoadingButton=reactExports.forwardRef(function(m,g){const x=reactExports.useContext(ButtonGroupContext),b=resolveProps$1(x,m),E=useDefaultProps({props:b,name:"MuiLoadingButton"}),{children:v,disabled:C=!1,id:S,loading:T=!1,loadingIndicator:R,loadingPosition:k="center",variant:L="text"}=E,D=_objectWithoutPropertiesLoose(E,_excluded$1o),A=useId(S),I=R!=null?R:jsxRuntimeExports.jsx(CircularProgress,{"aria-labelledby":A,color:"inherit",size:16}),N=_extends$1({},E,{disabled:C,loading:T,loadingIndicator:I,loadingPosition:k,variant:L}),B=useUtilityClasses$11(N),j=T?jsxRuntimeExports.jsx(LoadingButtonLoadingIndicator,{className:B.loadingIndicator,ownerState:N,children:I}):null;return jsxRuntimeExports.jsxs(LoadingButtonRoot,_extends$1({disabled:C||T,id:A,ref:g},D,{variant:L,classes:B,ownerState:N,children:[N.loadingPosition==="end"?v:j,N.loadingPosition==="end"?j:v]}))});function StringField(A){var I=A,{value:d,onChange:m,min:g,max:x,required:b,setApi:E,typing:v,start:C,end:S,onTyping:T,suggestions:R,wrap:k,fieldRef:L}=I,D=Vt(I,["value","onChange","min","max","required","setApi","typing","start","end","onTyping","suggestions","wrap","fieldRef"]);const N=d!=null?d:"";E==null||E({getError(){return!d&&b?"required":(d==null?void 0:d.length)<g?"too short":(d==null?void 0:d.length)>x?"too long":!1}});const[B,j]=reactExports.useState(N),z=reactExports.useRef(N);reactExports.useEffect(()=>{j(N),z.current=N},[N]);const Y=reactExports.useRef(),W=reactExports.useRef(!1),U=J=>reactExports.createElement(TextField,Rt(Oe(Oe({fullWidth:!0,InputLabelProps:B||D.placeholder?{shrink:!0}:void 0},D),J),{ref:L,sx:D.label?D.sx:Object.assign({"& .MuiInputBase-input":{pt:1.5}},D.sx),value:B,onChange(Q){let ee=Q.target.value;if(!(k&&ee.includes(`
323
323
  `))){if(T){const Z=T(ee);if(Z===!1)return;ee=Z}j(ee),(v||W.current||Y.current===void 0)&&V(Q,ee)}},onKeyDown(Q){var ee;(ee=D.onKeyDown)==null||ee.call(D,Q),W.current=Q.code===void 0,Q.key==="Enter"&&Q.target.ariaExpanded!=="true"&&V(Q)},onFocus(Q){Y.current=Q.target.value},onBlur(Q){var ee;(ee=D.onBlur)==null||ee.call(D,Q),Y.current!==Q.target.value&&V(Q)},InputProps:Oe(Oe(Rt(Oe({},k&&{multiline:!0}),{startAdornment:C&&reactExports.createElement(InputAdornment,{position:"start"},C),endAdornment:S&&reactExports.createElement(InputAdornment,{position:"end"},S)}),D.InputProps),J==null?void 0:J.InputProps)}));return R?reactExports.createElement(Autocomplete,{freeSolo:!0,options:R,renderInput:U,onChange(J,Q){V(J,Q)}}):U(null);function V(J,Q=B){Q=Q==null?void 0:Q.trim(),Q!==z.current&&(z.current=Q,m(Q,{was:d,event:J,cancel(){j(N)}}))}}function SelectField(d){let A=d,{defaultValue:m,value:g=m,onChange:x,setApi:b,options:E,sx:v,disabled:C,afterList:S,renderOption:T}=A,R=Vt(A,["defaultValue","value","onChange","setApi","options","sx","disabled","afterList","renderOption"]);const k=reactExports.useMemo(()=>normalizeOptions(E),[E]),L=JSON.stringify(g),D=k==null?void 0:k.find(I=>JSON.stringify(I.value)===L);return T!=null||(T=I=>{var N;return(N=I.label)!=null?N:String(I.value)}),reactExports.createElement(TextField,Rt(Oe(Oe({select:!0,hiddenLabel:!d.label,value:D?L:"",disabled:(k==null?void 0:k.length)===0||C,children:k?[...k.map((I,N)=>reactExports.createElement(MenuItem,{key:N,value:JSON.stringify(I==null?void 0:I.value),disabled:I==null?void 0:I.disabled,children:reactExports.createElement(reactExports.Fragment,{key:N},T(I))})),reactExports.createElement("div",{key:-1},S)]:reactExports.createElement(LinearProgress)},commonSelectProps(d)),R),{onChange(I){try{let N=I.target.value;N=JSON.parse(N),x(N,{was:g,event:I})}catch(N){}}}))}function MultiSelectField(g){var x=g,{renderOption:d}=x,m=Vt(x,["renderOption"]);const U=m,{value:b,onChange:E,setApi:v,options:C,placeholder:S,helperText:T,label:R,valueSeparator:k=", ",clearable:L=!0,afterList:D}=U,A=Vt(U,["value","onChange","setApi","options","placeholder","helperText","label","valueSeparator","clearable","afterList"]),I=reactExports.useMemo(()=>normalizeOptions(C),[C]),N=reactExports.useMemo(()=>Array.isArray(b)?b.map(V=>(I==null?void 0:I.find(J=>J.value===V))||{value:V,label:String(V)}):[],[b,I]),B=reactExports.useMemo(()=>(b==null?void 0:b.map(V=>JSON.stringify(V)))||[],[b]),j=useIsMobile(),z=reactExports.useId(),Y=reactExports.useId(),W=!N.length;return d!=null||(d=V=>{var J;return(J=V.label)!=null?J:String(V.value)}),reactExports.createElement(FormControl,{fullWidth:!0,variant:"filled",hiddenLabel:!R},reactExports.createElement(InputLabel,{id:z,sx:{"&.Mui-focused":{color:"inherit"}}},R),reactExports.createElement(Select,Oe(Rt(Oe({},commonSelectProps(m)),{multiple:!0,displayEmpty:!0,value:B,onChange:V=>{let{value:J}=V.target;if(!Array.isArray(J)){debugger;return}J=J.map(Q=>Q&&JSON.parse(Q)),E(J,{was:b,event:V})},sx:{"& .MuiSelect-select":{maxHeight:"15em",overflowY:"auto"}},input:reactExports.createElement(FilledInput,{hiddenLabel:!R,"aria-describedby":Y}),renderValue:()=>reactExports.createElement("div",{"aria-label":R+": "+N.map(V=>{var J;return(J=V.label)!=null?J:String(V.value)}),style:{overflow:"hidden",display:"flex",flexWrap:"wrap",gap:".5em"},children:W?reactExports.createElement(Box,{position:"relative",top:".3em",fontSize:"small",fontStyle:"italic",color:"text.secondary"},S):N.map((V,J)=>reactExports.createElement("span",{key:J},d(V),J<N.length-1&&k))})}),A),I?!I.length&&reactExports.createElement(ListItemText,{sx:{fontStyle:"italic",ml:1},onClickCapture(V){V.stopPropagation()}},"No options available"):reactExports.createElement(LinearProgress),!j&&(I==null?void 0:I.length)>20&&reactExports.createElement(Box,{sx:{float:"right"},fontSize:"small",width:"8em",textAlign:"right",marginRight:".5em"},"ⓘ You can type the name"),reactExports.createElement(Button,{size:"small",sx:{ml:1,display:(I==null?void 0:I.length)>1?void 0:"none"},ref:reactExports.useCallback(V=>V&&Object.assign(V,{role:void 0})&&setTimeout(()=>V.focus()),[]),onClickCapture(V){V.stopPropagation(),E(W?I.map(J=>J.value):[],{was:b,event:V})}},W?"Select all":"Unselect all"),...(I==null?void 0:I.map(V=>reactExports.createElement(MenuItem,{value:JSON.stringify(V==null?void 0:V.value)},reactExports.createElement(Checkbox$1,{checked:(b==null?void 0:b.includes(V.value))||!1}),reactExports.createElement(ListItemText,{primary:d(V)}))))||[],D),reactExports.createElement(FormHelperText,{id:Y,error:m.error},T))}function commonSelectProps(d){return{fullWidth:!0,sx:Object.assign({"& .MuiInputBase-inputHiddenLabel":{py:1,"& .MuiInputAdornment-root":{ml:-1}}},d.sx)}}function normalizeOptions(d){return d?Array.isArray(d)?d.map(m=>typeof m=="string"||typeof m=="number"?{value:m}:m):Object.entries(d).map(([m,g])=>({value:g,label:m})):void 0}function DisplayField(x){var b=x,{value:d,empty:m="-"}=b,g=Vt(b,["value","empty"]);return!g.toField&&m!==void 0&&d!==0&&!d&&(d=m),reactExports.createElement(StringField,Rt(Oe({},g),{value:d,disabled:!0,onChange(){}}))}function NumberField(R){var k=R,{value:d,onChange:m,setApi:g,required:x,min:b=0,max:E,step:v,unit:C,clearable:S}=k,T=Vt(k,["value","onChange","setApi","required","min","max","step","unit","clearable"]);g==null||g({getError(){return d==null?x?"required":!1:d<b?"too low":d>E?"too high":!1}});const L=useGetSize();return reactExports.createElement(StringField,Rt(Oe({type:"number",value:d==null?"":String(d),onChange(D,N){var B=N,{was:A}=B,I=Vt(B,["was"]);m(D?Number(D):null,Rt(Oe({},I),{was:A?Number(A):null}))},inputProps:{min:b,max:E,step:v},InputProps:_.merge({sx:{"& input":{appearance:"textfield"}},startAdornment:(S!=null?S:T.placeholder)&&L.w>100&&(d||d===0)&&reactExports.createElement(InputAdornment,{position:"start"},reactExports.createElement(IconButton,{size:"small",edge:"start",sx:{ml:-1,opacity:.5},"aria-label":"clear",onClick(D){m(null,{was:d,event:D})}},reactExports.createElement(Cancel)))},C&&{sx:{pr:"6px","& input":{pl:".2em",textAlign:"right"}},endAdornment:reactExports.createElement(InputAdornment,{position:"end",sx:{mt:"1.2em",ml:"5px","& p":{fontSize:"80%",".Mui-focused &":{color:"text.primary"}}}},C)})},T),{fieldRef:L.refToPass}))}function BoolField(T){var R=T,{label:d="",value:m,onChange:g,setApi:x,helperText:b,error:E,Control:v=Switch,type:C}=R,S=Vt(R,["label","value","onChange","setApi","helperText","error","Control","type"]);const k=()=>m!=null?m:!1,[L,D]=reactExports.useState(k);reactExports.useEffect(()=>D(k),[m]);const A=reactExports.createElement(v,Rt(Oe({checked:L},S),{onChange(I){g(I.target.checked,{event:I,was:m})}}));return reactExports.createElement(Box,{ml:1,sx:E?{color:"error.main",outlineOffset:6,outline:"1px solid"}:void 0},reactExports.createElement(FormControlLabel,{label:d,control:A,labelPlacement:"end",sx:Oe({mr:0},S.size==="small"&&{"& .MuiFormControlLabel-label":{fontSize:".9rem"}})}),b&&reactExports.createElement(FormHelperText,{sx:{mt:0},error:E},b))}function CheckboxField(d){return reactExports.createElement(BoolField,Oe({Control:Checkbox$1},d))}const ERROR_CLASS="field-container-with-error";function Form(N){var B=N,{fields:d,values:m,set:g,get:x,defaults:b,save:E,stickyBar:v,addToBar:C=[],barSx:S,apiRef:T,formRef:R,onError:k,onValidation:L,saveOnEnter:D,gridProps:A}=B,I=Vt(B,["fields","values","set","get","defaults","save","stickyBar","addToBar","barSx","apiRef","formRef","onError","onValidation","saveOnEnter","gridProps"]);const j=reactExports.useRef(!1);reactExports.useEffect(()=>(j.current=!0,()=>{j.current=!1}),[]);const[z,Y]=reactExports.useState({}),[W,U]=reactExports.useState({}),V=typeof E=="function"?{onClick:E}:E,[J,Q]=reactExports.useState(0),ee=reactExports.useRef(!1),Z=reactExports.useRef(),ie=reactExports.useRef("");T&&(T.current={submit:X,validate:()=>new Promise(ue=>{ee.current=!1,Z.current=ue,ce()||ue(!1)})}),R||(R=reactExports.useRef()),reactExports.useEffect(()=>void ae(),[J]);const oe={},re={};return reactExports.createElement(Box,Oe({component:"form",display:"flex",flexDirection:"column",gap:3,ref:R,onSubmit(ue){ue.preventDefault()},onKeyDown(ue){V&&!V.disabled&&(ue.ctrlKey||ue.metaKey)&&ue.key==="Enter"&&X()}},I),reactExports.createElement(Grid2,Oe({container:!0,rowSpacing:3,columnSpacing:1},A),d.map((ue,fe)=>{if(!ue)return null;if(reactExports.isValidElement(ue))return reactExports.createElement(Grid2,{key:fe,xs:12},ue);b&&(ue=Oe(Oe({},b==null?void 0:b(ue)),ue));const gt=ue,{k:ge,fromField:ye=_.identity,toField:Ee=_.identity,getError:ve,error:Te,xs:$e=12,sm:Pe,md:Se,lg:Le,xl:Ye,comp:De=StringField,before:Ie,after:Me,parentProps:We}=gt,je=Vt(gt,["k","fromField","toField","getError","error","xs","sm","md","lg","xl","comp","before","after","parentProps"]);let ze=z[ge]||Te||W[ge];ze===!0&&(ze="Not valid");const tt=!!(ze||Te)||void 0;if(ge){const He=ue.hasOwnProperty("value")?ue.value:pe(ge);Object.assign(je,{name:ge,value:Ee(He),error:tt,setApi(Ue){re[ge]=Ue},onKeyDown(Ue){D&&Ue.key==="Enter"&&X()},onChange(Ue){var Xe;try{if(Ue=ye(Ue,{originalValue:He}),U(Ve=>Rt(Oe({},Ve),{[ge]:!1})),(((Xe=re[ge])==null?void 0:Xe.isEqual)||_.isEqual)(Ue,He))return;g(Ue,ge),ce(ge)}catch(Ve){U(ut=>Rt(Oe({},ut),{[ge]:(Ve==null?void 0:Ve.message)||String(Ve)||!0}))}}}),Array.isArray(je.helperText)&&(je.helperText=reactExports.createElement(reactExports.Fragment,{},...je.helperText)),ze&&(je.helperText=je.helperText?reactExports.createElement(Box,{color:"text.primary",component:"span"},reactExports.createElement(Box,{color:"error.main",style:{borderBottom:"1px solid"},component:"span",display:"block"},ze),je.helperText):ze),je.label===void 0&&(je.label=labelFromKey(ge))}const qe=oe[ge]=(oe[ge]||0)+1;return reactExports.createElement(Grid2,Oe({key:ge?ge+qe:fe,xs:$e,sm:Pe,md:Se,lg:Le,xl:Ye,className:tt&&ERROR_CLASS},We),Ie,reactExports.isValidElement(De)?De:reactExports.createElement(De,je),Me)})),V&&reactExports.createElement(Box,{display:"flex",alignItems:"center",sx:Object.assign({},v&&{width:"fit-content",zIndex:2,backgroundColor:"background.paper",borderRadius:1,position:"sticky",bottom:0,p:1,m:-1,boxShadow:"0px 0px 15px #000"},S)},reactExports.createElement(Tooltip,{title:"ctrl + enter",children:reactExports.createElement(LoadingButton,Rt(Oe({variant:"contained",startIcon:reactExports.createElement(Save),children:"Save",loading:useDebounce(J!==0)},V),{onClick(){X()}}))}),...C));function X(){ee.current=!0,ce()}function ce(ue=""){return J!==0?!1:(ie.current=ue,setTimeout(()=>Q(fe=>fe===0?1:fe)),!0)}function pe(ue){return x?x(ue):m==null?void 0:m[ue]}function ae(){return yt(this,null,function*(){var ye,Ee,ve,Te;if(J===0)return;if(J===1)return Q(2);const ue="Please review errors",fe={};for(const $e of d){if(!$e||reactExports.isValidElement($e)||!$e.k)continue;const{k:Pe}=$e,Se=pe(Pe);let Le;try{Le=(yield(Ee=(ye=re[Pe])==null?void 0:ye.getError)==null?void 0:Ee.call(ye,Se,{values:m,fields:d}))||(yield(ve=$e.getError)==null?void 0:ve.call($e,Se,{values:m,fields:d}))||W[Pe]||!1}catch(Ye){Le=String(Ye)}if(fe[Pe]=Le,!ee.current&&Pe===ie.current)break;if(!j.current)return}Y(fe);const ge=Object.values(fe).some(Boolean);if(L==null||L(ge&&fe),(Te=Z.current)==null||Te.call(Z,!ge),Z.current=void 0,!ee.current){j.current&&Q(0);return}try{if(ge)try{return yield k==null?void 0:k(ue)}finally{setTimeout(()=>{var Pe,Se;return(Se=(Pe=R==null?void 0:R.current)==null?void 0:Pe.querySelector("."+ERROR_CLASS))==null?void 0:Se.scrollIntoView({block:"center"})},1)}const $e=V&&V.onClick;$e&&(yield $e())}catch($e){yield k==null?void 0:k($e)}finally{ee.current=!1,j.current&&Q(0)}})}}function labelFromKey(d){return _.upperFirst(d.indexOf("_")>0?d.replace(/_/g," "):d.replace(/([a-z])([A-Z])/g,(m,g,x)=>g+" "+x.toLowerCase()))}const _excluded$1n=["element"];function findIndex(d,m){for(let g=0;g<d.length;g+=1)if(m(d[g]))return g;return-1}function binaryFindElement(d,m){let g=0,x=d.length-1;for(;g<=x;){const b=Math.floor((g+x)/2);if(d[b].element===m)return b;d[b].element.compareDocumentPosition(m)&Node.DOCUMENT_POSITION_PRECEDING?x=b-1:g=b+1}return g}const DescendantContext=reactExports.createContext({});function usePrevious(d){const m=reactExports.useRef(null);return reactExports.useEffect(()=>{m.current=d},[d]),m.current}const noop$2=()=>{};function useDescendant(d){const[,m]=reactExports.useState(),{registerDescendant:g=noop$2,unregisterDescendant:x=noop$2,descendants:b=[],parentId:E=null}=reactExports.useContext(DescendantContext),v=findIndex(b,T=>T.element===d.element),C=usePrevious(b),S=b.some((T,R)=>C&&C[R]&&C[R].element!==T.element);return useEnhancedEffect(()=>{if(d.element)return g(_extends$1({},d,{index:v})),()=>{x(d.element)};m({})},[g,x,v,S,d]),{parentId:E,index:v}}function DescendantProvider(d){const{children:m,id:g}=d,[x,b]=reactExports.useState([]),E=reactExports.useCallback(S=>{let{element:T}=S,R=_objectWithoutPropertiesLoose(S,_excluded$1n);b(k=>{if(k.length===0)return[_extends$1({},R,{element:T,index:0})];const L=binaryFindElement(k,T);let D;if(k[L]&&k[L].element===T)D=k;else{const A=_extends$1({},R,{element:T,index:L});D=k.slice(),D.splice(L,0,A)}return D.forEach((A,I)=>{A.index=I}),D})},[]),v=reactExports.useCallback(S=>{b(T=>T.filter(R=>S!==R.element))},[]),C=reactExports.useMemo(()=>({descendants:x,registerDescendant:E,unregisterDescendant:v,parentId:g}),[x,E,v,g]);return jsxRuntimeExports.jsx(DescendantContext.Provider,{value:C,children:m})}const DEFAULT_TREE_VIEW_CONTEXT_VALUE={instance:null,multiSelect:!1,disabledItemsFocusable:!1,treeId:void 0,icons:{defaultCollapseIcon:null,defaultExpandIcon:null,defaultParentIcon:null,defaultEndIcon:null}},TreeViewContext=reactExports.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE),useTreeViewContext=()=>reactExports.useContext(TreeViewContext);function useTreeItem(d){const{instance:m,multiSelect:g}=useTreeViewContext(),x=m?m.isNodeExpandable(d):!1,b=m?m.isNodeExpanded(d):!1,E=m?m.isNodeFocused(d):!1,v=m?m.isNodeSelected(d):!1,C=m?m.isNodeDisabled(d):!1;return{disabled:C,expanded:b,selected:v,focused:E,handleExpansion:k=>{if(m&&!C){E||m.focusNode(k,d);const L=g&&(k.shiftKey||k.ctrlKey||k.metaKey);x&&!(L&&m.isNodeExpanded(d))&&m.toggleNodeExpansion(k,d)}},handleSelection:k=>{m&&!C&&(E||m.focusNode(k,d),g&&(k.shiftKey||k.ctrlKey||k.metaKey)?k.shiftKey?m.selectRange(k,{end:d}):m.selectNode(k,d,!0):m.selectNode(k,d))},preventSelection:k=>{(k.shiftKey||k.ctrlKey||k.metaKey||C)&&k.preventDefault()}}}const _excluded$1m=["classes","className","displayIcon","expansionIcon","icon","label","nodeId","onClick","onMouseDown"],TreeItemContent=reactExports.forwardRef(function(m,g){const{classes:x,className:b,displayIcon:E,expansionIcon:v,icon:C,label:S,nodeId:T,onClick:R,onMouseDown:k}=m,L=_objectWithoutPropertiesLoose(m,_excluded$1m),{disabled:D,expanded:A,selected:I,focused:N,handleExpansion:B,handleSelection:j,preventSelection:z}=useTreeItem(T),Y=C||v||E,W=V=>{z(V),k&&k(V)},U=V=>{B(V),j(V),R&&R(V)};return jsxRuntimeExports.jsxs("div",_extends$1({},L,{className:clsx(b,x.root,A&&x.expanded,I&&x.selected,N&&x.focused,D&&x.disabled),onClick:U,onMouseDown:W,ref:g,children:[jsxRuntimeExports.jsx("div",{className:x.iconContainer,children:Y}),jsxRuntimeExports.jsx("div",{className:x.label,children:S})]}))});function getTreeItemUtilityClass(d){return generateUtilityClass("MuiTreeItem",d)}const treeItemClasses=generateUtilityClasses("MuiTreeItem",["root","group","content","expanded","selected","focused","disabled","iconContainer","label"]),_excluded$1l=["children","className","collapseIcon","ContentComponent","ContentProps","endIcon","expandIcon","disabled","icon","id","label","nodeId","onClick","onMouseDown","TransitionComponent","TransitionProps"],useUtilityClasses$10=d=>{const{classes:m}=d;return composeClasses({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],label:["label"],group:["group"]},getTreeItemUtilityClass,m)},TreeItemRoot=styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(d,m)=>m.root})({listStyle:"none",margin:0,padding:0,outline:0}),StyledTreeItemContent=styled(TreeItemContent,{name:"MuiTreeItem",slot:"Content",overridesResolver:(d,m)=>[m.content,m.iconContainer&&{[`& .${treeItemClasses.iconContainer}`]:m.iconContainer},m.label&&{[`& .${treeItemClasses.label}`]:m.label}]})(({theme:d})=>({padding:"0 8px",width:"100%",boxSizing:"border-box",display:"flex",alignItems:"center",cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(d.vars||d).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${treeItemClasses.disabled}`]:{opacity:(d.vars||d).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${treeItemClasses.focused}`]:{backgroundColor:(d.vars||d).palette.action.focus},[`&.${treeItemClasses.selected}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity),"&:hover":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.hoverOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity)}},[`&.${treeItemClasses.focused}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.focusOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.focusOpacity)}},[`& .${treeItemClasses.iconContainer}`]:{marginRight:4,width:15,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${treeItemClasses.label}`]:_extends$1({paddingLeft:4,width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},d.typography.body1)})),TreeItemGroup=styled(Collapse,{name:"MuiTreeItem",slot:"Group",overridesResolver:(d,m)=>m.group})({margin:0,padding:0,marginLeft:17}),TreeItem=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeItem"}),{children:b,className:E,collapseIcon:v,ContentComponent:C=TreeItemContent,ContentProps:S,endIcon:T,expandIcon:R,disabled:k,icon:L,id:D,label:A,nodeId:I,onClick:N,onMouseDown:B,TransitionComponent:j=Collapse,TransitionProps:z}=x,Y=_objectWithoutPropertiesLoose(x,_excluded$1l),{icons:W,multiSelect:U,disabledItemsFocusable:V,treeId:J,instance:Q}=useTreeViewContext();let ee;D!=null?ee=D:J&&I&&(ee=`${J}-${I}`);const[Z,ie]=reactExports.useState(null),oe=reactExports.useRef(null),re=useForkRef(ie,g),X=reactExports.useMemo(()=>({element:Z,id:I}),[I,Z]),{index:ce,parentId:pe}=useDescendant(X),ae=!!(Array.isArray(b)?b.length:b),ue=Q?Q.isNodeExpanded(I):!1,fe=Q?Q.isNodeFocused(I):!1,ge=Q?Q.isNodeSelected(I):!1,ye=Q?Q.isNodeDisabled(I):!1,Ee=_extends$1({},x,{expanded:ue,focused:fe,selected:ge,disabled:ye}),ve=useUtilityClasses$10(Ee);let Te,$e;ae&&(ue?$e=v||W.defaultCollapseIcon:$e=R||W.defaultExpandIcon),ae?Te=W.defaultParentIcon:Te=T||W.defaultEndIcon,reactExports.useEffect(()=>{if(Q&&ce!==-1)return Q.updateNode({id:I,idAttribute:ee,index:ce,parentId:pe,expandable:ae,disabled:k}),()=>Q.removeNode(I)},[Q,pe,ce,I,ae,k,ee]),reactExports.useEffect(()=>{if(Q&&A){var Le,Ye;return Q.mapFirstChar(I,((Le=(Ye=oe.current)==null?void 0:Ye.textContent)!=null?Le:"").substring(0,1).toLowerCase())}},[Q,I,A]);let Pe;U?Pe=ge:ge&&(Pe=!0);function Se(Le){if(Le.target===Le.currentTarget){let De;typeof Le.target.getRootNode=="function"?De=Le.target.getRootNode():De=ownerDocument(Le.target),De.getElementById(J).focus({preventScroll:!0})}const Ye=!V&&ye;Q&&!fe&&Le.currentTarget===Le.target&&!Ye&&Q.focusNode(Le,I)}return jsxRuntimeExports.jsxs(TreeItemRoot,_extends$1({className:clsx(ve.root,E),role:"treeitem","aria-expanded":ae?ue:void 0,"aria-selected":Pe,"aria-disabled":ye||void 0,id:ee,tabIndex:-1},Y,{ownerState:Ee,onFocus:Se,ref:re,children:[jsxRuntimeExports.jsx(StyledTreeItemContent,_extends$1({as:C,ref:oe,classes:{root:ve.content,expanded:ve.expanded,selected:ve.selected,focused:ve.focused,disabled:ve.disabled,iconContainer:ve.iconContainer,label:ve.label},label:A,nodeId:I,onClick:N,onMouseDown:B,icon:L,expansionIcon:$e,displayIcon:Te,ownerState:Ee},S)),b&&jsxRuntimeExports.jsx(DescendantProvider,{id:I,children:jsxRuntimeExports.jsx(TreeItemGroup,_extends$1({as:j,unmountOnExit:!0,className:ve.group,in:ue,component:"ul",role:"group"},z,{children:b}))})]}))});function getTreeViewUtilityClass(d){return generateUtilityClass("MuiTreeView",d)}generateUtilityClasses("MuiTreeView",["root"]);const useTreeViewModels=(d,m)=>{const g=reactExports.useRef({}),[x,b]=reactExports.useState(()=>{const v={};return d.forEach(C=>{C.models&&Object.entries(C.models).forEach(([S,T])=>{g.current[S]={controlledProp:T.controlledProp,defaultProp:T.defaultProp,isControlled:m[T.controlledProp]!==void 0},v[S]=m[T.defaultProp]})}),v});return Object.fromEntries(Object.entries(g.current).map(([v,C])=>{const S=C.isControlled?m[C.controlledProp]:x[v];return[v,{value:S,setValue:T=>{C.isControlled||b(R=>_extends$1({},R,{[v]:T}))}}]}))};let EventManager$1=class{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(m,g,x={}){let b=this.events[m];b||(b={highPriority:new Map,regular:new Map},this.events[m]=b),x.isFirst?b.highPriority.set(g,!0):b.regular.set(g,!0)}removeListener(m,g){this.events[m]&&(this.events[m].regular.delete(g),this.events[m].highPriority.delete(g))}removeAllListeners(){this.events={}}emit(m,...g){const x=this.events[m];if(!x)return;const b=Array.from(x.highPriority.keys()),E=Array.from(x.regular.keys());for(let v=b.length-1;v>=0;v-=1){const C=b[v];x.highPriority.has(C)&&C.apply(this,g)}for(let v=0;v<E.length;v+=1){const C=E[v];x.regular.has(C)&&C.apply(this,g)}}once(m,g){const x=this;this.on(m,function b(...E){x.removeListener(m,b),g.apply(x,E)})}};const getPreviousNode=(d,m)=>{const g=d.getNode(m),x=d.getNavigableChildrenIds(g.parentId),b=x.indexOf(m);if(b===0)return g.parentId;let E=x[b-1];for(;d.isNodeExpanded(E)&&d.getNavigableChildrenIds(E).length>0;)E=d.getNavigableChildrenIds(E).pop();return E},getNextNode=(d,m)=>{if(d.isNodeExpanded(m)&&d.getNavigableChildrenIds(m).length>0)return d.getNavigableChildrenIds(m)[0];let g=d.getNode(m);for(;g!=null;){const x=d.getNavigableChildrenIds(g.parentId),b=x[x.indexOf(g.id)+1];if(b)return b;g=d.getNode(g.parentId)}return null},getLastNode=d=>{let m=d.getNavigableChildrenIds(null).pop();for(;d.isNodeExpanded(m);)m=d.getNavigableChildrenIds(m).pop();return m},getFirstNode=d=>d.getNavigableChildrenIds(null)[0],populateInstance=(d,m)=>{Object.assign(d,m)},isSyntheticEvent$1=d=>d.isPropagationStopped!==void 0,useTreeViewInstanceEvents=({instance:d})=>{const[m]=reactExports.useState(()=>new EventManager$1),g=reactExports.useCallback((...b)=>{const[E,v,C={}]=b;C.defaultMuiPrevented=!1,!(isSyntheticEvent$1(C)&&C.isPropagationStopped())&&m.emit(E,v,C)},[m]),x=reactExports.useCallback((b,E)=>(m.on(b,E),()=>{m.removeListener(b,E)}),[m]);populateInstance(d,{$$publishEvent:g,$$subscribeEvent:x})},TREE_VIEW_CORE_PLUGINS=[useTreeViewInstanceEvents],useTreeView=d=>{const m=[...TREE_VIEW_CORE_PLUGINS,...d.plugins],g=m.reduce((A,I)=>I.getDefaultizedParams?I.getDefaultizedParams(A):A,d),x=useTreeViewModels(m,g),E=reactExports.useRef({}).current,v=reactExports.useRef(null),C=useForkRef(v,d.rootRef),[S,T]=reactExports.useState(()=>{const A={};return m.forEach(I=>{I.getInitialState&&Object.assign(A,I.getInitialState(g))}),A}),R=[];let k=DEFAULT_TREE_VIEW_CONTEXT_VALUE;const L=A=>{const I=A({instance:E,params:g,state:S,setState:T,rootRef:v,models:x})||{};I.getRootProps&&R.push(I.getRootProps),I.contextValue&&(k=I.contextValue)};return m.forEach(L),{getRootProps:(A={})=>{const I=_extends$1({role:"tree",tabIndex:0},A,{ref:C});return R.forEach(N=>{Object.assign(I,N(A))}),I},rootRef:C,contextValue:k}};function TreeViewProvider(d){const{value:m,children:g}=d;return jsxRuntimeExports.jsx(TreeViewContext.Provider,{value:m,children:jsxRuntimeExports.jsx(DescendantProvider,{children:g})})}const publishTreeViewEvent=(d,m,g)=>{d.$$publishEvent(m,g)},useTreeViewNodes=({instance:d,params:m})=>{const g=reactExports.useRef({}),x=reactExports.useCallback(T=>g.current[T],[]),b=reactExports.useCallback(T=>{g.current[T.id]=T},[]),E=reactExports.useCallback(T=>{const R=_extends$1({},g.current);delete R[T],g.current=R,publishTreeViewEvent(d,"removeNode",{id:T})},[d]),v=reactExports.useCallback(T=>{if(T==null)return!1;let R=d.getNode(T);if(!R)return!1;if(R.disabled)return!0;for(;R.parentId!=null;)if(R=d.getNode(R.parentId),R.disabled)return!0;return!1},[d]),C=useEventCallback(T=>Object.values(g.current).filter(R=>R.parentId===T).sort((R,k)=>R.index-k.index).map(R=>R.id));populateInstance(d,{getNode:x,updateNode:b,removeNode:E,getChildrenIds:C,getNavigableChildrenIds:T=>{let R=d.getChildrenIds(T);return m.disabledItemsFocusable||(R=R.filter(k=>!d.isNodeDisabled(k))),R},isNodeDisabled:v})},useTreeViewExpansion=({instance:d,params:m,models:g})=>{const x=reactExports.useCallback(C=>Array.isArray(g.expanded.value)?g.expanded.value.indexOf(C)!==-1:!1,[g.expanded.value]),b=reactExports.useCallback(C=>{var S;return!!((S=d.getNode(C))!=null&&S.expandable)},[d]),E=useEventCallback((C,S)=>{if(S==null)return;let T;g.expanded.value.indexOf(S)!==-1?T=g.expanded.value.filter(R=>R!==S):T=[S].concat(g.expanded.value),m.onNodeToggle&&m.onNodeToggle(C,T),g.expanded.setValue(T)});populateInstance(d,{isNodeExpanded:x,isNodeExpandable:b,toggleNodeExpansion:E,expandAllSiblings:(C,S)=>{const T=d.getNode(S),k=d.getChildrenIds(T.parentId).filter(D=>d.isNodeExpandable(D)&&!d.isNodeExpanded(D)),L=g.expanded.value.concat(k);k.length>0&&(g.expanded.setValue(L),m.onNodeToggle&&m.onNodeToggle(C,L))}})};useTreeViewExpansion.models={expanded:{controlledProp:"expanded",defaultProp:"defaultExpanded"}};const DEFAULT_EXPANDED=[];useTreeViewExpansion.getDefaultizedParams=d=>{var m;return _extends$1({},d,{defaultExpanded:(m=d.defaultExpanded)!=null?m:DEFAULT_EXPANDED})};const findOrderInTremauxTree=(d,m,g)=>{if(m===g)return[m,g];const x=d.getNode(m),b=d.getNode(g);if(x.parentId===b.id||b.parentId===x.id)return b.parentId===x.id?[x.id,b.id]:[b.id,x.id];const E=[x.id],v=[b.id];let C=x.parentId,S=b.parentId,T=v.indexOf(C)!==-1,R=E.indexOf(S)!==-1,k=!0,L=!0;for(;!R&&!T;)k&&(E.push(C),T=v.indexOf(C)!==-1,k=C!==null,!T&&k&&(C=d.getNode(C).parentId)),L&&!T&&(v.push(S),R=E.indexOf(S)!==-1,L=S!==null,!R&&L&&(S=d.getNode(S).parentId));const D=T?C:S,A=d.getChildrenIds(D),I=E[E.indexOf(D)-1],N=v[v.indexOf(D)-1];return A.indexOf(I)<A.indexOf(N)?[m,g]:[g,m]},useTreeViewSelection=({instance:d,params:m,models:g})=>{const x=reactExports.useRef(null),b=reactExports.useRef(!1),E=reactExports.useRef([]),v=A=>Array.isArray(g.selected.value)?g.selected.value.indexOf(A)!==-1:g.selected.value===A,C=(A,I,N=!1)=>{if(!m.disableSelection){if(N){if(Array.isArray(g.selected.value)){let B;g.selected.value.indexOf(I)!==-1?B=g.selected.value.filter(j=>j!==I):B=[I].concat(g.selected.value),m.onNodeSelect&&m.onNodeSelect(A,B),g.selected.setValue(B)}}else{const B=m.multiSelect?[I]:I;m.onNodeSelect&&m.onNodeSelect(A,B),g.selected.setValue(B)}x.current=I,b.current=!1,E.current=[]}},S=(A,I)=>{const[N,B]=findOrderInTremauxTree(d,A,I),j=[N];let z=N;for(;z!==B;)z=getNextNode(d,z),j.push(z);return j},T=(A,I)=>{let N=g.selected.value.slice();const{start:B,next:j,current:z}=I;!j||!z||(E.current.indexOf(z)===-1&&(E.current=[]),b.current?E.current.indexOf(j)!==-1?(N=N.filter(Y=>Y===B||Y!==z),E.current=E.current.filter(Y=>Y===B||Y!==z)):(N.push(j),E.current.push(j)):(N.push(j),E.current.push(z,j)),m.onNodeSelect&&m.onNodeSelect(A,N),g.selected.setValue(N))},R=(A,I)=>{let N=g.selected.value.slice();const{start:B,end:j}=I;b.current&&(N=N.filter(W=>E.current.indexOf(W)===-1));let z=S(B,j);z=z.filter(W=>!d.isNodeDisabled(W)),E.current=z;let Y=N.concat(z);Y=Y.filter((W,U)=>Y.indexOf(W)===U),m.onNodeSelect&&m.onNodeSelect(A,Y),g.selected.setValue(Y)};return populateInstance(d,{isNodeSelected:v,selectNode:C,selectRange:(A,I,N=!1)=>{if(m.disableSelection)return;const{start:B=x.current,end:j,current:z}=I;N?T(A,{start:B,next:j,current:z}):B!=null&&j!=null&&R(A,{start:B,end:j}),b.current=!0},rangeSelectToLast:(A,I)=>{x.current||(x.current=I);const N=b.current?x.current:I;d.selectRange(A,{start:N,end:getLastNode(d)})},rangeSelectToFirst:(A,I)=>{x.current||(x.current=I);const N=b.current?x.current:I;d.selectRange(A,{start:N,end:getFirstNode(d)})}}),{getRootProps:()=>({"aria-multiselectable":m.multiSelect})}};useTreeViewSelection.models={selected:{controlledProp:"selected",defaultProp:"defaultSelected"}};const DEFAULT_SELECTED=[];useTreeViewSelection.getDefaultizedParams=d=>{var m,g,x;return _extends$1({},d,{disableSelection:(m=d.disableSelection)!=null?m:!1,multiSelect:(g=d.multiSelect)!=null?g:!1,defaultSelected:(x=d.defaultSelected)!=null?x:d.multiSelect?DEFAULT_SELECTED:null})};const CLEANUP_TIMER_LOOP_MILLIS$1=1e3;let TimerBasedCleanupTracking$1=class{constructor(m=CLEANUP_TIMER_LOOP_MILLIS$1){this.timeouts=new Map,this.cleanupTimeout=CLEANUP_TIMER_LOOP_MILLIS$1,this.cleanupTimeout=m}register(m,g,x){this.timeouts||(this.timeouts=new Map);const b=setTimeout(()=>{typeof g=="function"&&g(),this.timeouts.delete(x.cleanupToken)},this.cleanupTimeout);this.timeouts.set(x.cleanupToken,b)}unregister(m){const g=this.timeouts.get(m.cleanupToken);g&&(this.timeouts.delete(m.cleanupToken),clearTimeout(g))}reset(){this.timeouts&&(this.timeouts.forEach((m,g)=>{this.unregister({cleanupToken:g})}),this.timeouts=void 0)}},FinalizationRegistryBasedCleanupTracking$1=class{constructor(){this.registry=new FinalizationRegistry(m=>{typeof m=="function"&&m()})}register(m,g,x){this.registry.register(m,g,x)}unregister(m){this.registry.unregister(m)}reset(){}},ObjectToBeRetainedByReact$1=class{};function createUseInstanceEventHandler(d){let m=0;return function(x,b,E){d.registry===null&&(d.registry=typeof FinalizationRegistry!="undefined"?new FinalizationRegistryBasedCleanupTracking$1:new TimerBasedCleanupTracking$1);const[v]=reactExports.useState(new ObjectToBeRetainedByReact$1),C=reactExports.useRef(null),S=reactExports.useRef();S.current=E;const T=reactExports.useRef(null);if(!C.current&&S.current){const R=(k,L)=>{if(!L.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,L)}};C.current=x.$$subscribeEvent(b,R),m+=1,T.current={cleanupToken:m},d.registry.register(v,()=>{var k;(k=C.current)==null||k.call(C),C.current=null,T.current=null},T.current)}else!S.current&&C.current&&(C.current(),C.current=null,T.current&&(d.registry.unregister(T.current),T.current=null));reactExports.useEffect(()=>{if(!C.current&&S.current){const R=(k,L)=>{if(!L.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,L)}};C.current=x.$$subscribeEvent(b,R)}return T.current&&d.registry&&(d.registry.unregister(T.current),T.current=null),()=>{var R;(R=C.current)==null||R.call(C),C.current=null}},[x,b])}}const registryContainer$1={registry:null},useInstanceEventHandler=createUseInstanceEventHandler(registryContainer$1),useTreeViewFocus=({instance:d,params:m,state:g,setState:x,models:b,rootRef:E})=>{const v=useEventCallback(D=>{const A=typeof D=="function"?D(g.focusedNodeId):D;x(I=>_extends$1({},I,{focusedNodeId:A}))}),C=reactExports.useCallback(D=>g.focusedNodeId===D,[g.focusedNodeId]),S=useEventCallback((D,A)=>{A&&(v(A),m.onNodeFocus&&m.onNodeFocus(D,A))});populateInstance(d,{isNodeFocused:C,focusNode:S}),useInstanceEventHandler(d,"removeNode",({id:D})=>{v(A=>A===D&&E.current===ownerDocument(E.current).activeElement?d.getChildrenIds(null)[0]:A)});const T=D=>A=>{var I;if((I=D.onFocus)==null||I.call(D,A),A.target===A.currentTarget){const N=j=>{const z=d.getNode(j);return z&&(z.parentId==null||d.isNodeExpanded(z.parentId))};let B;Array.isArray(b.selected.value)?B=b.selected.value.find(N):b.selected.value!=null&&N(b.selected.value)&&(B=b.selected.value),B==null&&(B=d.getNavigableChildrenIds(null)[0]),d.focusNode(A,B)}},R=D=>A=>{var I;(I=D.onBlur)==null||I.call(D,A),v(null)},k=d.getNode(g.focusedNodeId),L=k?k.idAttribute:null;return{getRootProps:D=>({onFocus:T(D),onBlur:R(D),"aria-activedescendant":L!=null?L:void 0})}};useTreeViewFocus.getInitialState=()=>({focusedNodeId:null});useTreeViewFocus.getDefaultizedParams=d=>{var m;return _extends$1({},d,{disabledItemsFocusable:(m=d.disabledItemsFocusable)!=null?m:!1})};function isPrintableCharacter(d){return d&&d.length===1&&d.match(/\S/)}function findNextFirstChar(d,m,g){for(let x=m;x<d.length;x+=1)if(g===d[x])return x;return-1}const useTreeViewKeyboardNavigation=({instance:d,params:m,state:g})=>{const b=useTheme$1().direction==="rtl",E=reactExports.useRef({}),v=useEventCallback((D,A)=>(E.current[D]=A,()=>{const I=_extends$1({},E.current);delete I[D],E.current=I}));populateInstance(d,{mapFirstChar:v});const C=D=>(g.focusedNodeId!=null&&d.isNodeExpandable(g.focusedNodeId)&&(d.isNodeExpanded(g.focusedNodeId)?d.focusNode(D,getNextNode(d,g.focusedNodeId)):d.isNodeDisabled(g.focusedNodeId)||d.toggleNodeExpansion(D,g.focusedNodeId)),!0),S=D=>{if(g.focusedNodeId==null)return!1;if(d.isNodeExpanded(g.focusedNodeId)&&!d.isNodeDisabled(g.focusedNodeId))return d.toggleNodeExpansion(D,g.focusedNodeId),!0;const A=d.getNode(g.focusedNodeId).parentId;return A?(d.focusNode(D,A),!0):!1},T=(D,A,I)=>{let N,B;const j=I.toLowerCase(),z=[],Y=[];Object.keys(E.current).forEach(W=>{const U=d.getNode(W),V=U.parentId?d.isNodeExpanded(U.parentId):!0,J=m.disabledItemsFocusable?!1:d.isNodeDisabled(W);V&&!J&&(z.push(W),Y.push(E.current[W]))}),N=z.indexOf(A)+1,N>=z.length&&(N=0),B=findNextFirstChar(Y,N,j),B===-1&&(B=findNextFirstChar(Y,0,j)),B>-1&&d.focusNode(D,z[B])},R=(D,A)=>{d.isNodeDisabled(getNextNode(d,A))||d.selectRange(D,{end:getNextNode(d,A),current:A},!0)},k=(D,A)=>{d.isNodeDisabled(getPreviousNode(d,A))||d.selectRange(D,{end:getPreviousNode(d,A),current:A},!0)},L=D=>A=>{var I;(I=D.onKeyDown)==null||I.call(D,A);let N=!1;const B=A.key;if(A.altKey||A.currentTarget!==A.target||g.focusedNodeId==null)return;const j=A.ctrlKey||A.metaKey;switch(B){case" ":!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&(N=!0,m.multiSelect&&A.shiftKey?d.selectRange(A,{end:g.focusedNodeId}):m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId)),A.stopPropagation();break;case"Enter":d.isNodeDisabled(g.focusedNodeId)||(d.isNodeExpandable(g.focusedNodeId)?(d.toggleNodeExpansion(A,g.focusedNodeId),N=!0):m.disableSelection||(N=!0,m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId))),A.stopPropagation();break;case"ArrowDown":m.multiSelect&&A.shiftKey&&!m.disableSelection&&R(A,g.focusedNodeId),d.focusNode(A,getNextNode(d,g.focusedNodeId)),N=!0;break;case"ArrowUp":m.multiSelect&&A.shiftKey&&!m.disableSelection&&k(A,g.focusedNodeId),d.focusNode(A,getPreviousNode(d,g.focusedNodeId)),N=!0;break;case"ArrowRight":b?N=S(A):N=C(A);break;case"ArrowLeft":b?N=C(A):N=S(A);break;case"Home":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToFirst(A,g.focusedNodeId),d.focusNode(A,getFirstNode(d)),N=!0;break;case"End":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToLast(A,g.focusedNodeId),d.focusNode(A,getLastNode(d)),N=!0;break;default:B==="*"?(d.expandAllSiblings(A,g.focusedNodeId),N=!0):m.multiSelect&&j&&B.toLowerCase()==="a"&&!m.disableSelection?(d.selectRange(A,{start:getFirstNode(d),end:getLastNode(d)}),N=!0):!j&&!A.shiftKey&&isPrintableCharacter(B)&&(T(A,g.focusedNodeId,B),N=!0)}N&&(A.preventDefault(),A.stopPropagation())};return{getRootProps:D=>({onKeyDown:L(D)})}},useTreeViewContextValueBuilder=({instance:d,params:m})=>{const g=useId(m.id);return{getRootProps:()=>({id:g}),contextValue:{treeId:g,instance:d,multiSelect:m.multiSelect,disabledItemsFocusable:m.disabledItemsFocusable,icons:{defaultCollapseIcon:m.defaultCollapseIcon,defaultEndIcon:m.defaultEndIcon,defaultExpandIcon:m.defaultExpandIcon,defaultParentIcon:m.defaultParentIcon}}}},DEFAULT_TREE_VIEW_PLUGINS=[useTreeViewNodes,useTreeViewExpansion,useTreeViewSelection,useTreeViewFocus,useTreeViewKeyboardNavigation,useTreeViewContextValueBuilder],_excluded$1k=["disabledItemsFocusable","expanded","defaultExpanded","onNodeToggle","onNodeFocus","disableSelection","defaultSelected","selected","multiSelect","onNodeSelect","id","defaultCollapseIcon","defaultEndIcon","defaultExpandIcon","defaultParentIcon","children"],useUtilityClasses$$=d=>{const{classes:m}=d;return composeClasses({root:["root"]},getTreeViewUtilityClass,m)},TreeViewRoot=styled("ul",{name:"MuiTreeView",slot:"Root",overridesResolver:(d,m)=>m.root})({padding:0,margin:0,listStyle:"none",outline:0}),TreeView=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeView"}),b=x,E=x,{disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:R,disableSelection:k,defaultSelected:L,selected:D,multiSelect:A,onNodeSelect:I,id:N,defaultCollapseIcon:B,defaultEndIcon:j,defaultExpandIcon:z,defaultParentIcon:Y,children:W}=E,U=_objectWithoutPropertiesLoose(E,_excluded$1k),{getRootProps:V,contextValue:J}=useTreeView({disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:R,disableSelection:k,defaultSelected:L,selected:D,multiSelect:A,onNodeSelect:I,id:N,defaultCollapseIcon:B,defaultEndIcon:j,defaultExpandIcon:z,defaultParentIcon:Y,plugins:DEFAULT_TREE_VIEW_PLUGINS,rootRef:g}),Q=useUtilityClasses$$(x),ee=useSlotProps({elementType:TreeViewRoot,externalSlotProps:{},externalForwardedProps:U,className:Q.root,getSlotProps:V,ownerState:b});return jsxRuntimeExports.jsx(TreeViewProvider,{value:J,children:jsxRuntimeExports.jsx(TreeViewRoot,_extends$1({},ee,{children:W}))})});let lastFolder;function addFiles(){const{close:d}=newDialog({title:"Add files or folders",dialogProps:{sx:{minWidth:"min(80vw, 40em)",minHeight:"calc(100vh - 9em)"}},Content(){const m=getFolderFromSelected();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{sx:{typography:"body1",px:1,py:2}},"Selected elements will be added under ",m.isRoot?reactExports.createElement("i",{},"Home"):decodeURI(m.id)),reactExports.createElement(FilePicker,{from:lastFolder!=null?lastFolder:m.source,onSelect(x){return yt(this,null,function*(){addNodes(m,x.map(b=>({source:b,name:basename(b),id:""}))),lastFolder=x[0].slice(0,x[0].lastIndexOf("/")),d()})}}))}})}function addNodes(d,m){var g;for(const x of m)((g=x.source)!=null&&g.endsWith(getHFS().pathSeparator)||!x.source&&!x.url)&&(x.type="folder"),x.id||(x.id=d.id+x.name+(x.type==="folder"?"/":"")),x.parent=d;prepareVfsUndo(),addToChildrenOf(d,m),reindexVfs({select:m,sortChildren:!0})}function getFreeName(d,m){var E;const g=extname(m),x=g?m.slice(0,-g.length):m;let b=2;for(;(E=d.children)!=null&&E.find(isSameFilenameAs(m));)m=`${x} ${b++}${g}`;return m}function normalizeFilename(d){return d.toLocaleLowerCase().normalize()}function isSameFilenameAs(d){const m=normalizeFilename(d);return g=>m===normalizeFilename(typeof g=="string"?g:g.name)}function addVirtual(){return yt(this,null,function*(){try{let d=yield promptDialog("Enter folder name");if(!d)return;const m=getFolderFromSelected();if(d=getFreeName(m,d),!d)return;addNodes(m,[{name:d,id:"",type:"folder"}])}catch(d){yield alertDialog(d)}})}function addLink(){return yt(this,null,function*(){try{const d=getFolderFromSelected(),m=getFreeName(d,"new link");if(!m)return;addNodes(d,[{name:m,url:"https://example.com",id:""}]),toast("Link created","success",{onClose:()=>focusSelector("input[name=url]")})}catch(d){yield alertDialog(d)}})}function getFolderFromSelected(){const d=state.selectedFiles[0]||state.vfs;return d.type==="folder"?d:d.parent}function MenuButton(g){var x=g,{items:d}=x,m=Vt(x,["items"]);const[b,E]=reactExports.useState(),v=!!b,C=reactExports.useCallback(()=>E(void 0),[]),S=reactExports.useId(),T=reactExports.useId();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Btn,Oe({id:S,"aria-controls":v?T:void 0,"aria-haspopup":!0,"aria-expanded":v?!0:void 0,onClick(R){E(R.currentTarget)}},m)),reactExports.createElement(Menu$2,{id:T,anchorEl:b,open:v,onClose:C,MenuListProps:{"aria-labelledby":S},children:d.map((R,k)=>reactExports.createElement(MenuItem,Rt(Oe({key:k},R),{onClick(){var L;C(),(L=R.onClick)==null||L.apply(this,arguments)}})))}))}const GridApiContext=reactExports.createContext(void 0);function useGridApiContext(){const d=reactExports.useContext(GridApiContext);if(d===void 0)throw new Error(["MUI: Could not find the data grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(`
324
324
  `));return d}const useGridApiRef=()=>reactExports.useRef({}),GridRootPropsContext=reactExports.createContext(void 0),useGridRootProps=()=>{const d=reactExports.useContext(GridRootPropsContext);if(!d)throw new Error("MUI: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.");return d},GridPrivateApiContext=reactExports.createContext(void 0);function useGridPrivateApiContext(){const d=reactExports.useContext(GridPrivateApiContext);if(d===void 0)throw new Error(["MUI: Could not find the data grid private context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(`
@@ -609,7 +609,7 @@ return result$$;`.replaceAll("$$",String(filterItemsApplierId)));return filterIt
609
609
  🇾🇪|YE|Yemen
610
610
  🇿🇲|ZM|Zambia
611
611
  🇿🇼|ZW|Zimbabwe`.split(`
612
- `).map(d=>{const[m,g,x]=d.split("|");return{flag:m,code:g,name:x}}),WITH_IP="AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GT,GU,GW,GY,HK,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,"+"UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW".split(","),logLabels={log:"Served",error_log:"Not served",console:"Console",disconnections:"Disconnections",ips:"IP's"};let reloadIps;function LogsPage({setTitleSide:d}){const[m,g]=reactExports.useState(0),x=typedKeys(logLabels),b=!useBreakpoint("sm")&&{error_log:"Not",console:reactExports.createElement(Terminal),disconnections:reactExports.createElement(DisconnectIcon)},E=x[m],v=E.endsWith("log"),C=useApiEx("get_log_info");return d(reactExports.useMemo(()=>v&&(C.element||with_(C.data,T=>reactExports.createElement(Box,{fontSize:"smaller"},`Current: ${formatBytes(_.sum(Object.values(T.current)))}`,reactExports.createElement("br"),with_(Object.values(T.rotated).flat(),R=>`Archived: ${formatBytes(_.sumBy(R,"size"))} / ${R.length} files`)))),[C.element,C.data,v])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{gap:0},reactExports.createElement(Tabs,{value:m,onChange(T,R){g(R)}},x.map(T=>reactExports.createElement(Tab,{label:_.get(b,T)||logLabels[T],key:T,sx:{minWidth:0,px:{xs:1.5,sm:2}}}))),reactExports.createElement(Box,{flex:1}),reactExports.createElement(IconBtn,{icon:Download,title:v?"Download as file":"Not available",link:API_URL+`get_log_file?file=${E}`,disabled:!v}),reactExports.createElement(IconBtn,{icon:Settings,title:"Options",onClick:S})),x.map(T=>reactExports.createElement(LogFile,{hidden:E!==T,file:T,key:T,fillFlex:!0})));function S(){newDialog({title:"Log options",dialogProps:{sx:{maxWidth:"40em"}},Content(){return reactExports.createElement(ConfigForm,{barSx:Oe({gap:2,width:"100%"},useDialogBarColors()),form:{stickyBar:!0,fields:[{k:CFG.log,label:logLabels.log,sm:6,helperText:"Requests are logged here. Empty to disable it."},{k:CFG.error_log,label:logLabels.error_log,sm:6,placeholder:"errors go to main log",helperText:"Write errors in a different file. Empty to use same file."},{k:CFG.log_rotation,comp:SelectField,sm:6,options:[{value:"",label:"disabled"},"daily","weekly","monthly"],helperText:[wikiLink("Logs#rotation","To keep log-files smaller")," (deletion is not automatic)"]},{k:CFG.dont_log_net,comp:NetmaskField,label:"Don't log address",sm:6,placeholder:"no exception"},{k:CFG.log_gui,sm:6,comp:BoolField,label:"Log interface loading",helperText:"Some requests are necessary to load the interface"},{k:CFG.log_api,sm:6,comp:BoolField,label:"Log API requests",helperText:"Requests for commands"},{k:CFG.log_ua,sm:6,comp:BoolField,label:"Log User-Agent",helperText:"Contains browser and possibly OS information. Can double the size of your logs on disk."},{k:CFG.log_spam,sm:6,comp:BoolField,label:"Log spam requests",helperText:md`Spam requests are *failed* requests that you probably don't want to see`},{k:CFG.track_ips,sm:6,comp:BoolField,label:"Keep track of IPs",parentProps:{display:"flex",gap:1},after:reactExports.createElement(Btn,{size:"small",variant:"outlined",color:"warning",confirm:!0,doneMessage:!0,onClick:()=>apiCall("reset_ips").then(reloadIps)},"Reset")}]}})}})}}const LOGS_ON_FILE=[CFG.log,CFG.error_log];function LogFile(v){var C=v,{file:d,footerSide:m,hidden:g,limit:x,filter:b}=C,E=Vt(C,["file","footerSide","hidden","limit","filter"]);const[S,T]=reactExports.useState(!1),[R,k]=reactExports.useState(!1),{pause:L,pauseButton:D}=usePauseButton(),[A,I]=useToggleButton("Show APIs","Hide APIs",ye=>({icon:SmartToy,sx:{rotate:ye?0:"180deg"},disabled:d==="console"}),!0),[N,B]=reactExports.useState(NaN),[j,z]=reactExports.useState(!0),[Y,W]=reactExports.useState(0),U=ao(2,20),V=!0,[J,Q]=reactExports.useState(!g);reactExports.useEffect(()=>Q(ye=>ye||!g),[g]);const ee=LOGS_ON_FILE.includes(d);useApi(J&&ee&&"get_log_file",{file:d,range:j||!Y?String(-U):`0-${Y}`},{skipParse:!0,skipLog:!0,onResponse(ye,Ee){var $e;const ve=Ee.split(`
612
+ `).map(d=>{const[m,g,x]=d.split("|");return{flag:m,code:g,name:x}}),WITH_IP="AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GT,GU,GW,GY,HK,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,"+"UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW".split(","),logLabels={log:"Served",error_log:"Not served",console:"Console",disconnections:"Disconnections",ips:"IPs"};let reloadIps;function LogsPage({setTitleSide:d}){const[m,g]=reactExports.useState(0),x=typedKeys(logLabels),b=!useBreakpoint("sm")&&{error_log:"Not",console:reactExports.createElement(Terminal),disconnections:reactExports.createElement(DisconnectIcon)},E=x[m],v=E.endsWith("log"),C=useApiEx("get_log_info");return d(reactExports.useMemo(()=>v&&(C.element||with_(C.data,T=>reactExports.createElement(Box,{fontSize:"smaller"},`Current: ${formatBytes(_.sum(Object.values(T.current)))}`,reactExports.createElement("br"),with_(Object.values(T.rotated).flat(),R=>`Archived: ${formatBytes(_.sumBy(R,"size"))} / ${R.length} files`)))),[C.element,C.data,v])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{gap:0},reactExports.createElement(Tabs,{value:m,onChange(T,R){g(R)}},x.map(T=>reactExports.createElement(Tab,{label:_.get(b,T)||logLabels[T],key:T,sx:{minWidth:0,px:{xs:1.5,sm:2}}}))),reactExports.createElement(Box,{flex:1}),reactExports.createElement(IconBtn,{icon:Download,title:v?"Download as file":"Not available",link:API_URL+`get_log_file?file=${E}`,disabled:!v}),reactExports.createElement(IconBtn,{icon:Settings,title:"Options",onClick:S})),x.map(T=>reactExports.createElement(LogFile,{hidden:E!==T,file:T,key:T,fillFlex:!0})));function S(){newDialog({title:"Log options",dialogProps:{sx:{maxWidth:"40em"}},Content(){return reactExports.createElement(ConfigForm,{barSx:Oe({gap:2,width:"100%"},useDialogBarColors()),form:{stickyBar:!0,fields:[{k:CFG.log,label:logLabels.log,sm:6,helperText:"Requests are logged here. Empty to disable it."},{k:CFG.error_log,label:logLabels.error_log,sm:6,placeholder:"errors go to main log",helperText:"Write errors in a different file. Empty to use same file."},{k:CFG.log_rotation,comp:SelectField,sm:6,options:[{value:"",label:"disabled"},"daily","weekly","monthly"],helperText:[wikiLink("Logs#rotation","To keep log-files smaller")," (deletion is not automatic)"]},{k:CFG.dont_log_net,comp:NetmaskField,label:"Don't log address",sm:6,placeholder:"no exception"},{k:CFG.log_gui,sm:6,comp:BoolField,label:"Log interface loading",helperText:"Some requests are necessary to load the interface"},{k:CFG.log_api,sm:6,comp:BoolField,label:"Log API requests",helperText:"Requests for commands"},{k:CFG.log_ua,sm:6,comp:BoolField,label:"Log User-Agent",helperText:"Contains browser and possibly OS information. Can double the size of your logs on disk."},{k:CFG.log_spam,sm:6,comp:BoolField,label:"Log spam requests",helperText:md`Spam requests are *failed* requests that you probably don't want to see`},{k:CFG.track_ips,sm:6,comp:BoolField,label:"Keep track of IPs",parentProps:{display:"flex",gap:1},after:reactExports.createElement(Btn,{size:"small",variant:"outlined",color:"warning",confirm:!0,doneMessage:!0,onClick:()=>apiCall("reset_ips").then(reloadIps)},"Reset")}]}})}})}}const LOGS_ON_FILE=[CFG.log,CFG.error_log];function LogFile(v){var C=v,{file:d,footerSide:m,hidden:g,limit:x,filter:b}=C,E=Vt(C,["file","footerSide","hidden","limit","filter"]);const[S,T]=reactExports.useState(!1),[R,k]=reactExports.useState(!1),{pause:L,pauseButton:D}=usePauseButton(),[A,I]=useToggleButton("Show APIs","Hide APIs",ye=>({icon:SmartToy,sx:{rotate:ye?0:"180deg"},disabled:d==="console"}),!0),[N,B]=reactExports.useState(NaN),[j,z]=reactExports.useState(!0),[Y,W]=reactExports.useState(0),U=ao(2,20),V=!0,[J,Q]=reactExports.useState(!g);reactExports.useEffect(()=>Q(ye=>ye||!g),[g]);const ee=LOGS_ON_FILE.includes(d);useApi(J&&ee&&"get_log_file",{file:d,range:j||!Y?String(-U):`0-${Y}`},{skipParse:!0,skipLog:!0,onResponse(ye,Ee){var $e;const ve=Ee.split(`
613
613
  `);if(j){const Pe=Number(($e=splitAt("/",ye.headers.get("Content-Range")||""))==null?void 0:$e[1]);if(isNaN(Pe))throw _dbg("shouldn't happen");B(Pe),Ee.length>=Pe?z(!1):W(Pe-Ee.length+ve.shift().length+1)}else Y&&(toast(`Entire log loaded, ${formatBytes(Y)}`),W(0));const Te=mapFilter(ve,(Pe,Se)=>ge(parseLogLine(Pe,Se)),Boolean,V);ie(Pe=>[...Pe,...Te])}});const{list:Z,setList:ie,error:oe,connecting:re,reload:X}=useApiList(J&&"get_log",{file:d},{limit:x,invert:V,pause:L,map:ge}),ce=d==="ips";ce&&(reloadIps=X);const pe={field:"ts",headerName:"Timestamp",type:"dateTime",width:96,valueGetter:({value:ye})=>new Date(ye),renderCell:({value:ye})=>reactExports.createElement(reactExports.Fragment,{},ye.toLocaleDateString(),reactExports.createElement("br"),ye.toLocaleTimeString())},ae={field:"ip",headerName:"Address",flex:.6,minWidth:130,maxWidth:230,mergeRender:{user:{display:"flex",justifyContent:"space-between",gap:".5em"},country:S&&{},ua:{}}},ue=reactExports.useMemo(()=>{var ye;return b?Z.filter(b):A||((ye=Z==null?void 0:Z[0])==null?void 0:ye.uri)===void 0?Z:Z.filter(Ee=>!Ee.uri.startsWith(API_URL))},[Z,A,b]),fe=d==="console";return g?null:reactExports.createElement(DataTable,Rt(Oe({persist:"log_"+d,error:oe,loading:re,rows:ue,compact:!0,actionsProps:{hideUnder:"md"},actions:fe?void 0:({row:ye})=>onlyTruthy([reactExports.createElement(BlockIpBtn,{ip:ye.ip,comment:"From log"}),ce&&reactExports.createElement(Btn,{icon:Delete,confirm:!0,title:`Delete ${ye.ip}`,doneMessage:!0,onClick:()=>apiCall("delete_ips",{ip:ye.ip}).then(()=>ie(Ee=>Ee.filter(ve=>ve.ip!==ye.ip)))}),ce&&reactExports.createElement(Btn,{icon:AutoDelete,confirm:!0,title:`Delete all records up to ${formatTimestamp$2(ye.ts)}`,onClick:()=>apiCall("delete_ips",{ts:ye.ts}).then(Ee=>toast(`${Ee.n} deleted`)).then(X)}),ee&&reactExports.createElement(Btn,{icon:ContentCopy,title:"Copy request",onClick(){copyTextToClipboard(JSON.stringify(_.omit(ye,"id"),void 0,2))}})]),initialState:ce?{sorting:{sortModel:[{field:"ts",sort:"desc"}]}}:void 0},E),{footerSide:ye=>reactExports.createElement(Box,{},D,I,!re&&Y>0&&reactExports.createElement(Btn,{icon:ClearAll,variant:"outlined",sx:{ml:{sm:1}},labelIf:ye>700,title:`Only ${formatBytes(U)} was loaded, for speed. Total size is ${formatBytes(N)}`,loading:!j,onClick:()=>z(!1)},"Load whole log"),m),columns:fe?[pe,{field:"k",headerName:"Level",hideUnder:"sm"},{field:"msg",headerName:"Message",flex:1,mergeRender:{k:{override:{valueFormatter:({value:ye})=>ye!=="log"&&ye}}}}]:ce||d==="disconnections"?[pe,ae,{headerName:"Country",field:"country",flex:1,hideUnder:!S||"md",valueGetter:({value:ye})=>{var Ee;return((Ee=_.find(ALL,{code:ye}))==null?void 0:Ee.name)||ye},renderCell:({row:ye})=>reactExports.createElement(Country,{code:ye.country,long:!0,def:"-"})},!ce&&{field:"msg",headerName:"Message",flex:4}]:[ae,{headerName:"Country",field:"country",valueGetter:({row:ye})=>{var Ee;return(Ee=ye.extra)==null?void 0:Ee.country},hideUnder:!S||"xl",renderCell:({value:ye})=>reactExports.createElement(Country,{code:ye,def:"-"})},{field:"user",headerName:"Username",flex:.3,maxWidth:200,hideUnder:"xl"},pe,{field:"method",headerName:"Method",width:80,hideUnder:"xl"},{field:"status",headerName:"Code",type:"number",width:70,hideUnder:"xl",renderCell:({value:ye})=>hTooltip(prefix(ye+" - ",httpCodes[ye])||"Unknown",void 0,reactExports.createElement(Box,{bgcolor:"#888a",color:"#fff",borderRadius:".3em",p:".05em .2em"},ye))},{field:"length",headerName:"Size",type:"number",hideUnder:"md",valueFormatter:({value:ye})=>formatBytes(ye)},{headerName:"Agent",field:"ua",width:60,hideUnder:!R||"md",valueGetter:({row:ye})=>{var Ee;return(Ee=ye.extra)==null?void 0:Ee.ua},renderCell:({value:ye})=>agentIcons(ye)},{field:"notes",headerName:"Notes",width:110,hideUnder:"sm",cellClassName:"wrap",renderCell:({value:ye})=>ye&&md(ye)},{field:"uri",headerName:"URI",flex:2,minWidth:100,sx:{wordBreak:"break-all"},mergeRender:{method:{},status:{}},renderCell:({value:ye,row:Ee})=>{var Le;const[ve,Te]=splitAt("?",ye).map(Ye=>safeDecodeURIComponent(Ye)),$e=(Le=Ee.extra)==null?void 0:Le.ul;if(_.isArray($e))return ve+$e.join(" + ");if(!ve.startsWith(API_URL))return[ve,Te&&reactExports.createElement(Box,{key:0,component:"span",color:"text.secondary",fontSize:"smaller"},"?",Te)];const Pe=ve.slice(API_URL.length),Se=Te&&": "+Array.from(new URLSearchParams(Te)).map(Ye=>{var De;return`${Ye[0]}=${(De=tryJson(Ye[1]))!=null?De:Ye[1]}`}).join(" ; ");return"API "+Pe+Se}},{field:"agentText",valueGetter:({row:ye})=>{var Ee;return(Ee=ye.extra)==null?void 0:Ee.ua},headerName:"Agent text",flex:2,hideUnder:!0}]}));function ge(ye){var ve,Te,$e;if(!ye)return;const{extra:Ee}=ye;if((Ee!=null&&Ee.country||ye.country)&&!S&&T(!0),Ee!=null&&Ee.ua&&!R&&k(!0),ye.uri){const Pe=ye.method==="PUT"||(Ee==null?void 0:Ee.ul),Se=Pe&&stringAfter("?",ye.uri).includes("partial=");Pe&&(ye.length=((ve=Ee==null?void 0:Ee.size)!=null?ve:0)+(!Se&&Number((Te=ye.uri.match(/\?.*resume=(\d+)/))==null?void 0:Te[1])||0)),ye.notes=Ee!=null&&Ee.dl?"full download "+(Ee.speed?formatSpeed(Ee.speed,{sep:" "}):""):Pe?`${Se?"partial ":""} upload ${Ee.speed?formatSpeed(Ee.speed,{sep:" "}):""}`:ye.status===HTTP_UNAUTHORIZED&&(($e=ye.uri)!=null&&$e.startsWith(API_URL+"loginSrp"))?"login failed"+prefix(`:
614
614
  `,Ee==null?void 0:Ee.u):_.map(Ee==null?void 0:Ee.params,(Le,Ye)=>`${Ye}: ${Le}
615
615
  `).join("")+(ye.notes||""),Ee!=null&&Ee.aborted&&(ye.notes+=" (aborted)")}return ye}}const UW="https://upload.wikimedia.org/wikipedia/commons/",CLIENT_ICONS={Chrome:UW+"e/e1/Google_Chrome_icon_%28February_2022%29.svg",Chromium:UW+"f/fe/Chromium_Material_Icon.svg",Firefox:UW+"a/a0/Firefox_logo%2C_2019.svg",Safari:UW+"5/52/Safari_browser_logo.svg",Edge:UW+"9/98/Microsoft_Edge_logo_%282019%29.svg",Opera:UW+"4/49/Opera_2015_icon.svg",Finder:UW+"thumb/b/b9/Finder_Icon_macOS_Tahoe.png/250px-Finder_Icon_macOS_Tahoe.png",Cyberduck:UW+"archive/4/48/20091115091336%21Cyberduck_icon.png",ForkLift:UW+"../en/9/96/ForkLift_3_File_Manager_and_File_Transfer_Client_Logo.png",Explorer:UW+"3/33/Microsoft_PowerToys-Logo_File_Explorer_Preview_02.svg",WinSCP:UW+"4/4f/WinSCP_6_Logo.png"},OS_ICONS={Android:UW+"d/d7/Android_robot.svg",Linux:UW+"0/0a/Tux-shaded.svg",Windows:UW+"0/0a/Unofficial_Windows_logo_variant_-_2002%E2%80%932012_%28Multicolored%29.svg",macOS:UW+"7/74/Apple_logo_dark_grey.svg",iOS:UW+"7/74/Apple_logo_dark_grey.svg"},OSS={iOS:/iPhone OS|iPad/,macOS:/Mac OS|Darwin/,Windows:/Windows NT|^Microsoft-WebDAV|^WinSCP/,Android:/Android/,Linux:/Linux/};function agentIcons(d){if(!d)return;const m=shortenAgent(d),g=reactExports.createElement(AgentIcon,{k:m,altText:!0,map:CLIENT_ICONS}),x=_.findKey(OSS,b=>b.test(d));return reactExports.createElement(Box,{fontSize:"110%"},g," ",x&&osIcon(x))}const alreadyFailed={};function osIcon(d){return reactExports.createElement(AgentIcon,{k:d,map:OS_ICONS})}function AgentIcon({k:d,map:m,altText:g}){const x=m[d],[b,E]=reactExports.useState(alreadyFailed[d]);return!x||b?reactExports.createElement(reactExports.Fragment,{},g?d:null):reactExports.createElement("img",{src:x,alt:d+" icon",title:d,style:{height:"1.2em",verticalAlign:"bottom",marginRight:".2em"},onError(){E(alreadyFailed[d]=!0)}})}function parseLogLine(d,m){const g=/^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+) ?(.*)/.exec(d);if(!g)return;const[,x,,b,E,v,C,S,T,R,k]=g;return{id:m,ip:x,user:b==="-"?void 0:b,ts:new Date(E+" "+v),method:C,uri:S,status:Number(T),length:R==="-"?void 0:Number(R),extra:tryJson(tryJson(k))||void 0}}function VfsPathField(S){var T=S,{value:d="",onChange:m,helperText:g,setApi:x,autocompleteProps:b,folders:E=!0,files:v=!0}=T,C=Vt(T,["value","onChange","helperText","setApi","autocompleteProps","folders","files"]);const R=dirname(d.replace(/\/{2,}/g,"/")),{list:k,loading:L}=useApiList("get_file_list",{uri:R,admin:!0,fileMask:typeof v=="string"?v:void 0,onlyFolders:!v}),D=reactExports.useMemo(()=>{const A=_.uniq([R&&dirname(R)+"/",enforceFinal("/",R)].filter(Boolean)).concat(k.map(I=>join(R,I.n)));return d&&!A.includes(d)&&A.push(d),A},[k,R]);return x==null||x({getError(){return!E&&(d==null?void 0:d.endsWith("/"))&&"must be a file"||!1}}),reactExports.createElement(Autocomplete,Oe({value:d,options:D,isOptionEqualToValue:(A,I)=>A===I||A===I+"/",loading:L,disableClearable:!0,disableCloseOnSelect:!0,renderInput:A=>reactExports.createElement(TextField,Rt(Oe(Oe({helperText:g,onChange(I){const N=I.target.value;(v||!N||N.endsWith("/"))&&m(N,{was:d,event:I})},onBlur(I){const N=enforceFinal("/",I.target.value);D.includes(N)&&m(N,{was:d,event:I})}},A),C),{InputLabelProps:Oe(Oe({shrink:!0},A.InputLabelProps),C.InputLabelProps)})),onChange:(A,I)=>m(I,{was:d,event:A})},b))}function VfsMenuBar({statusApi:d,add:m}){const{vfsModified:g,vfsUndo:x}=useSnapState();return reactExports.createElement(Flex,{zIndex:2,gap:1,backgroundColor:"background.paper",width:"fit-content"},reactExports.createElement(AddVfsBtn),reactExports.createElement(Btn,{icon:Save,title:"Save",disabled:!g&&"No changes to save",modified:g,doneAnimation:!0,onClick:saveVfs}),reactExports.createElement(Btn,{icon:Undo,title:"Undo/redo last change",disabled:!x&&"No changes to undo",onClick:undoVfs}),reloadBtn(()=>reloadVfs()),reactExports.createElement(Btn,{icon:Storage,title:"Disk spaces",onClick:()=>apiCall("get_disk_spaces").then(b=>alertDialog(reactExports.createElement(List,{dense:!0},b.map(E=>reactExports.createElement(ListItem,{key:E.name},reactExports.createElement(ListItemIcon,{},reactExports.createElement(Storage)),reactExports.createElement(ListItemText,{sx:{wordBreak:"break-word"},primary:E.name+prefix(" (",E.description,")"),secondary:formatDiskSpace(E)})))),{title:"Disk spaces"}).then(()=>!1),alertDialog)}),m,reactExports.createElement(SystemIntegrationButton,d.data))}function AddVfsBtn(d){return reactExports.createElement(MenuButton,Rt(Oe({variant:"contained",icon:Add,title:"Add item to virtual file system"},d),{items:[{children:"virtual folder",onClick:addVirtual},{children:"file or folder from disk",onClick:addFiles},{children:"web-link",onClick:addLink}]}))}function SystemIntegrationButton({platform:d}){const m=d==="win32",{data:g,reload:x}=useApi(m&&"windows_integrated"),b=useBreakpoint("sm");return m?reactExports.createElement(Btn,Oe({icon:osIcon("Windows"),variant:"outlined",doneMessage:!0},g!=null&&g.is?{confirm:!0,children:"Remove integration",onClick:()=>apiCall("windows_remove").then(x)}:{children:"System integration",onClick(){return yt(this,null,function*(){const v=reactExports.createElement(Box,{width:{xs:"100%",sm:"34em"}},reactExports.createElement("img",{src:"win-shell.png",style:{display:"block",width:"100%"}}),reactExports.createElement(Alert,{severity:"info"},"We are going to add a command in the right-click of Windows File Manager.",reactExports.createElement(Box,{},"It will also automatically copy the URL, ready to paste!"))),C=yield promptDialog(v,{field:{comp:VfsPathField,files:!1,label:"Add to this folder",placeholder:"home",autoFocus:b},form:{saveOnEnter:!1}});return typeof C=="string"&&apiCall("windows_integration",{parent:C}).then(x)})}})):null}function saveVfs(){return yt(this,null,function*(){yield apiCall("set_vfs",{uri:"/",props:function d(m=state.vfs){var x;const g=_.pick(m,VFS_STORED_KEYS);return g.children=(x=m==null?void 0:m.children)==null?void 0:x.map(d),g}()}),state.vfsModified=!1})}const FolderIcon=Folder,FileIcon=InsertDriveFileOutlined;let once=!0;const SPECIAL_TREE_ITEM="?";function VfsTree({statusApi:d}){var D;const{vfs:m,selectedFiles:g,expanded:x}=useSnapState(),b=reactExports.useRef(),E=reactExports.useCallback(function({node:A}){var U,J,Q,ee;let{id:I,name:N,isRoot:B}=A;const j=A.type==="folder",z=reactExports.useRef();return B&&z.current&&((U=z.current.firstElementChild)==null||U.classList.toggle("Mui-selected",!(g.length&&!_.find(g,{id:"/"})))),reactExports.createElement(TreeItem,{ref(Z){Z&&getOrSet(Z.dataset,"hfsFocus",()=>void Z.addEventListener("focusin",ie=>ie.stopImmediatePropagation())),z.current=Z},onKeyUp(Z){Z.key==="Delete"&&(deleteVfs([I]),Z.stopPropagation())},onDoubleClick:W,label:reactExports.createElement(Box,{draggable:!B,onDragStart(){b.current=I},onDragOver(Z){if(!j)return;const ie=b.current;ie!=null&&ie.startsWith(I)&&!ie.slice(I.length+1,-1).includes("/")||Z.preventDefault()},onDrop(){return yt(this,null,function*(){var oe,re;const Z=b.current;if(!Z)return;const ie=(oe=id2vfsNode.get(Z))==null?void 0:oe.name;moveVfs(Z,I)&&toast(`Moved "${ie}" under "${(re=id2vfsNode.get(I))==null?void 0:re.name}"`,"success")})},sx:{display:"flex",gap:".5em",minHeight:"1.8em",pt:".2em"}},reactExports.createElement(Box,{display:"flex",flex:0},vfsNodeIcon(A),reactExports.createElement(Box,{sx:{flex:0,ml:"2px",my:"2px","&>*":{fontSize:"87%",opacity:.6,mt:"-2px"},display:"grid",gridAutoFlow:"column",gridTemplateRows:"auto auto",height:"1em"}},A.can_delete!=null&&iconTooltip(Delete,"Delete permission"),A.can_upload!=null&&iconTooltip(Upload,"Upload permission"),!B&&!A.source&&!A.url&&iconTooltip(Cloud,"Virtual (no source)"),Y(A.can_see)&&iconTooltip(RemoveRedEye,"Restrictions on who can see"),Y(A.can_read)&&iconTooltip(Lock,"Restrictions on who can download"),A.default&&iconTooltip(Web,"Show as web-page"),A.masks&&iconTooltip(TheaterComedy,"Masks"),A.size===-1&&iconTooltip(HighlightOff,"Source not found"),with_(_.findKey((J=d.data)==null?void 0:J.roots,Z=>Z===I.slice(1)),Z=>Z&&iconTooltip(Home,`home for ${Z}`)))),B?"Home folder":N),collapseIcon:reactExports.createElement(ExpandMore,{onClick:W}),expandIcon:reactExports.createElement(ChevronRight,{onClick:W}),nodeId:I},with_(A.source&&j?"files from "+A.source:!((Q=A.children)!=null&&Q.length)&&B&&"nothing here",Z=>Z&&reactExports.createElement(TreeItem,{nodeId:SPECIAL_TREE_ITEM+I,label:reactExports.createElement("i",{},Z)})),...((ee=A.children)==null?void 0:ee.map(Z=>reactExports.createElement(E,{key:Z.id,node:Z})))||[]);function Y(Z){return Z!=null&&Z!==!0}function W(Z){const ie=state.expanded;state.expanded=ie.includes(I)?ie.filter(oe=>oe!==I):[...ie,I],Z.preventDefault(),Z.stopPropagation()}},[d.data]),v=reactExports.useRef(null),C=id2vfsNode.size>0&&x.length===id2vfsNode.size,S=["/",...((D=m==null?void 0:m.children)==null?void 0:D.length)===1?[m.children[0].id]:[]];once&&(once=!1,state.expanded=S);const[T,R]=useToggleButton("Collapse all","Expand all",A=>({icon:A?UnfoldLess:UnfoldMore,sx:{rotate:A?0:"180deg"},onClick(){state.expanded=C?S:Array.from(id2vfsNode.keys())}}),C);reactExports.useEffect(()=>{state.expanded=_.uniq(state.expanded.concat(state.selectedFiles.map(A=>{var I;return((I=A.parent)==null?void 0:I.id)||""})))},[state.vfs]);const k="vfs",L=g[0];return reactExports.useEffect(()=>{var A;(A=document.getElementById(`${k}-${L==null?void 0:L.id}`))==null||A.scrollIntoView({block:"nearest",behavior:"instant"})},[L]),reactExports.createElement(Flex,{flexDirection:"column",alignItems:"stretch",flex:1},reactExports.createElement(Flex,{mb:1,flexWrap:"wrap",gap:[1,2]},reactExports.createElement(Typography,{variant:"h6"},"Virtual File System"),reactExports.createElement(VfsMenuBar,{statusApi:d,add:R})),m&&reactExports.createElement(TreeView,{ref:v,expanded:toMutable(x),selected:g.map(A=>A.id),multiSelect:!0,id:k,sx:{height:0,flex:"1 1 auto",overflowX:"auto",maxWidth:v.current&&`calc(100vw - ${16+v.current.offsetLeft}px)`,"& ul":{borderLeft:"1px dashed #444",marginLeft:"15px",paddingLeft:"15px"}},onNodeSelect(A,I){var N,B;state.selectedFiles=onlyTruthy(wantArray(I).map(j=>id2vfsNode.get(j))),state.vfsShowDiskContentFor=I.length===1&&((N=I[0])==null?void 0:N[0])===SPECIAL_TREE_ITEM&&((B=id2vfsNode.get(I[0].slice(1)))==null?void 0:B.source)||""}},reactExports.createElement(E,{node:m})))}function moveVfs(d,m){var k,L;const g=id2vfsNode.get(d);if(!g)return!alertDialog("Item to move not found","error");if(g.isRoot)return!alertDialog("Cannot move root","error");const x=id2vfsNode.get(m);if(!x||x.type!=="folder")return!alertDialog("Destination folder not found","error");if(isDescendantUri(m,d))return!alertDialog("Cannot move inside itself","error");if((k=x.children)!=null&&k.find(D=>D.name===g.name))return!alertDialog("Item with same name already present in destination","error");const b=(L=g.parent)==null?void 0:L.children;if(!b)return!alertDialog("Source parent not found","error");const E=g.parent,v=g.name,C=g.type==="folder",S=R(x);prepareVfsUndo(),_.remove(b,{id:g.id}),!b.length&&E&&(E.children=void 0),addToChildrenOf(x,[g]);const T=prefix(m,pathEncode(v),C?"/":"");return reindexVfs({select:[T]}),state.expanded=_.uniq([...state.expanded,...S]),!0;function R(D){const A=[];let I=D;for(;I;)A.push(I.id),I=I.parent;return A}}function vfsNodeIcon(d){return d.isRoot?iconTooltip(Home,"home, or root if you like"):d.type==="folder"?iconTooltip(FolderIcon,"Folder"):d.url?iconTooltip(Link$2,"Web-link"):iconTooltip(FileIcon,"File")}function addToChildrenOf(d,m){d.children||(d.children=[]),d.children.push(...m),markVfsModified()}var safeIsNaN=Number.isNaN||function(m){return typeof m=="number"&&m!==m};function isEqual(d,m){return!!(d===m||safeIsNaN(d)&&safeIsNaN(m))}function areInputsEqual(d,m){if(d.length!==m.length)return!1;for(var g=0;g<d.length;g++)if(!isEqual(d[g],m[g]))return!1;return!0}function memoizeOne(d,m){m===void 0&&(m=areInputsEqual);var g,x=[],b,E=!1;function v(){for(var C=[],S=0;S<arguments.length;S++)C[S]=arguments[S];return E&&g===this&&m(C,x)||(b=d.apply(this,C),E=!0,g=this,x=C),b}return v}var hasNativePerformanceNow=typeof performance=="object"&&typeof performance.now=="function",now=hasNativePerformanceNow?function(){return performance.now()}:function(){return Date.now()};function cancelTimeout(d){cancelAnimationFrame(d.id)}function requestTimeout(d,m){var g=now();function x(){now()-g>=m?d.call(null):b.id=requestAnimationFrame(x)}var b={id:requestAnimationFrame(x)};return b}var size=-1;function getScrollbarSize(d){if(d===void 0&&(d=!1),size===-1||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",document.body.appendChild(m),size=m.offsetWidth-m.clientWidth,document.body.removeChild(m)}return size}var cachedRTLResult=null;function getRTLOffsetType(d){if(d===void 0&&(d=!1),cachedRTLResult===null||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",g.direction="rtl";var x=document.createElement("div"),b=x.style;return b.width="100px",b.height="100px",m.appendChild(x),document.body.appendChild(m),m.scrollLeft>0?cachedRTLResult="positive-descending":(m.scrollLeft=1,m.scrollLeft===0?cachedRTLResult="negative":cachedRTLResult="positive-ascending"),document.body.removeChild(m),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function(m,g){return m};function createListComponent(d){var m,g=d.getItemOffset,x=d.getEstimatedTotalSize,b=d.getItemSize,E=d.getOffsetForIndexAndAlignment,v=d.getStartIndexForOffset,C=d.getStopIndexForStartIndex,S=d.initInstanceProps,T=d.shouldResetStyleCacheOnItemSizeChange,R=d.validateProps;return m=function(k){_inheritsLoose(L,k);function L(A){var I;return I=k.call(this,A)||this,I._instanceProps=S(I.props,_assertThisInitialized(I)),I._outerRef=void 0,I._resetIsScrollingTimeoutId=null,I.state={instance:_assertThisInitialized(I),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof I.props.initialScrollOffset=="number"?I.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},I._callOnItemsRendered=void 0,I._callOnItemsRendered=memoizeOne(function(N,B,j,z){return I.props.onItemsRendered({overscanStartIndex:N,overscanStopIndex:B,visibleStartIndex:j,visibleStopIndex:z})}),I._callOnScroll=void 0,I._callOnScroll=memoizeOne(function(N,B,j){return I.props.onScroll({scrollDirection:N,scrollOffset:B,scrollUpdateWasRequested:j})}),I._getItemStyle=void 0,I._getItemStyle=function(N){var B=I.props,j=B.direction,z=B.itemSize,Y=B.layout,W=I._getItemStyleCache(T&&z,T&&Y,T&&j),U;if(W.hasOwnProperty(N))U=W[N];else{var V=g(I.props,N,I._instanceProps),J=b(I.props,N,I._instanceProps),Q=j==="horizontal"||Y==="horizontal",ee=j==="rtl",Z=Q?V:0;W[N]=U={position:"absolute",left:ee?void 0:Z,right:ee?Z:void 0,top:Q?0:V,height:Q?"100%":J,width:Q?J:"100%"}}return U},I._getItemStyleCache=void 0,I._getItemStyleCache=memoizeOne(function(N,B,j){return{}}),I._onScrollHorizontal=function(N){var B=N.currentTarget,j=B.clientWidth,z=B.scrollLeft,Y=B.scrollWidth;I.setState(function(W){if(W.scrollOffset===z)return null;var U=I.props.direction,V=z;if(U==="rtl")switch(getRTLOffsetType()){case"negative":V=-z;break;case"positive-descending":V=Y-j-z;break}return V=Math.max(0,Math.min(V,Y-j)),{isScrolling:!0,scrollDirection:W.scrollOffset<V?"forward":"backward",scrollOffset:V,scrollUpdateWasRequested:!1}},I._resetIsScrollingDebounced)},I._onScrollVertical=function(N){var B=N.currentTarget,j=B.clientHeight,z=B.scrollHeight,Y=B.scrollTop;I.setState(function(W){if(W.scrollOffset===Y)return null;var U=Math.max(0,Math.min(Y,z-j));return{isScrolling:!0,scrollDirection:W.scrollOffset<U?"forward":"backward",scrollOffset:U,scrollUpdateWasRequested:!1}},I._resetIsScrollingDebounced)},I._outerRefSetter=function(N){var B=I.props.outerRef;I._outerRef=N,typeof B=="function"?B(N):B!=null&&typeof B=="object"&&B.hasOwnProperty("current")&&(B.current=N)},I._resetIsScrollingDebounced=function(){I._resetIsScrollingTimeoutId!==null&&cancelTimeout(I._resetIsScrollingTimeoutId),I._resetIsScrollingTimeoutId=requestTimeout(I._resetIsScrolling,IS_SCROLLING_DEBOUNCE_INTERVAL$1)},I._resetIsScrolling=function(){I._resetIsScrollingTimeoutId=null,I.setState({isScrolling:!1},function(){I._getItemStyleCache(-1,null)})},I}L.getDerivedStateFromProps=function(I,N){return validateSharedProps$1(I,N),R(I),null};var D=L.prototype;return D.scrollTo=function(I){I=Math.max(0,I),this.setState(function(N){return N.scrollOffset===I?null:{scrollDirection:N.scrollOffset<I?"forward":"backward",scrollOffset:I,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},D.scrollToItem=function(I,N){N===void 0&&(N="auto");var B=this.props,j=B.itemCount,z=B.layout,Y=this.state.scrollOffset;I=Math.max(0,Math.min(I,j-1));var W=0;if(this._outerRef){var U=this._outerRef;z==="vertical"?W=U.scrollWidth>U.clientWidth?getScrollbarSize():0:W=U.scrollHeight>U.clientHeight?getScrollbarSize():0}this.scrollTo(E(this.props,I,N,Y,this._instanceProps,W))},D.componentDidMount=function(){var I=this.props,N=I.direction,B=I.initialScrollOffset,j=I.layout;if(typeof B=="number"&&this._outerRef!=null){var z=this._outerRef;N==="horizontal"||j==="horizontal"?z.scrollLeft=B:z.scrollTop=B}this._callPropsCallbacks()},D.componentDidUpdate=function(){var I=this.props,N=I.direction,B=I.layout,j=this.state,z=j.scrollOffset,Y=j.scrollUpdateWasRequested;if(Y&&this._outerRef!=null){var W=this._outerRef;if(N==="horizontal"||B==="horizontal")if(N==="rtl")switch(getRTLOffsetType()){case"negative":W.scrollLeft=-z;break;case"positive-ascending":W.scrollLeft=z;break;default:var U=W.clientWidth,V=W.scrollWidth;W.scrollLeft=V-U-z;break}else W.scrollLeft=z;else W.scrollTop=z}this._callPropsCallbacks()},D.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&cancelTimeout(this._resetIsScrollingTimeoutId)},D.render=function(){var I=this.props,N=I.children,B=I.className,j=I.direction,z=I.height,Y=I.innerRef,W=I.innerElementType,U=I.innerTagName,V=I.itemCount,J=I.itemData,Q=I.itemKey,ee=Q===void 0?defaultItemKey$1:Q,Z=I.layout,ie=I.outerElementType,oe=I.outerTagName,re=I.style,X=I.useIsScrolling,ce=I.width,pe=this.state.isScrolling,ae=j==="horizontal"||Z==="horizontal",ue=ae?this._onScrollHorizontal:this._onScrollVertical,fe=this._getRangeToRender(),ge=fe[0],ye=fe[1],Ee=[];if(V>0)for(var ve=ge;ve<=ye;ve++)Ee.push(reactExports.createElement(N,{data:J,key:ee(ve,J),index:ve,isScrolling:X?pe:void 0,style:this._getItemStyle(ve)}));var Te=x(this.props,this._instanceProps);return reactExports.createElement(ie||oe||"div",{className:B,onScroll:ue,ref:this._outerRefSetter,style:_extends$1({position:"relative",height:z,width:ce,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:j},re)},reactExports.createElement(W||U||"div",{children:Ee,ref:Y,style:{height:ae?"100%":Te,pointerEvents:pe?"none":void 0,width:ae?Te:"100%"}}))},D._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var I=this.props.itemCount;if(I>0){var N=this._getRangeToRender(),B=N[0],j=N[1],z=N[2],Y=N[3];this._callOnItemsRendered(B,j,z,Y)}}if(typeof this.props.onScroll=="function"){var W=this.state,U=W.scrollDirection,V=W.scrollOffset,J=W.scrollUpdateWasRequested;this._callOnScroll(U,V,J)}},D._getRangeToRender=function(){var I=this.props,N=I.itemCount,B=I.overscanCount,j=this.state,z=j.isScrolling,Y=j.scrollDirection,W=j.scrollOffset;if(N===0)return[0,0,0,0];var U=v(this.props,W,this._instanceProps),V=C(this.props,U,W,this._instanceProps),J=!z||Y==="backward"?Math.max(1,B):1,Q=!z||Y==="forward"?Math.max(1,B):1;return[Math.max(0,U-J),Math.max(0,Math.min(N-1,V+Q)),U,V]},L}(reactExports.PureComponent),m.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},m}var validateSharedProps$1=function(m,g){m.children,m.direction,m.height,m.layout,m.innerTagName,m.outerTagName,m.width,g.instance},FixedSizeList=createListComponent({getItemOffset:function(m,g){var x=m.itemSize;return g*x},getItemSize:function(m,g){var x=m.itemSize;return x},getEstimatedTotalSize:function(m){var g=m.itemCount,x=m.itemSize;return x*g},getOffsetForIndexAndAlignment:function(m,g,x,b,E,v){var C=m.direction,S=m.height,T=m.itemCount,R=m.itemSize,k=m.layout,L=m.width,D=C==="horizontal"||k==="horizontal",A=D?L:S,I=Math.max(0,T*R-A),N=Math.min(I,g*R),B=Math.max(0,g*R-A+R+v);switch(x==="smart"&&(b>=B-A&&b<=N+A?x="auto":x="center"),x){case"start":return N;case"end":return B;case"center":{var j=Math.round(B+(N-B)/2);return j<Math.ceil(A/2)?0:j>I+Math.floor(A/2)?I:j}case"auto":default:return b>=B&&b<=N?b:b<B?B:N}},getStartIndexForOffset:function(m,g){var x=m.itemCount,b=m.itemSize;return Math.max(0,Math.min(x-1,Math.floor(g/b)))},getStopIndexForStartIndex:function(m,g,x){var b=m.direction,E=m.height,v=m.itemCount,C=m.itemSize,S=m.layout,T=m.width,R=b==="horizontal"||S==="horizontal",k=g*C,L=R?T:E,D=Math.ceil((L+x-k)/C);return Math.max(0,Math.min(v-1,g+D-1))},initInstanceProps:function(m){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(m){m.itemSize}});let lastPath=".";function FilePicker({onSelect:d,multiple:m=!0,files:g=!0,folders:x=!0,fileMask:b,from:E=lastPath}){const[v,C]=reactExports.useState(E);lastPath=v;const[S,T]=reactExports.useState(!1),R=reactExports.useRef(!1);useApi(!S&&"resolve_path",{path:E,closestFolder:!0},{onResponse:(ce,pe)=>yt(this,null,function*(){try{const{path:ae}=pe;if(typeof ae!="string")return;C(ae),R.current=ae[1]===":"||ae.startsWith("\\\\")}finally{T(!0)}})});const{list:k,props:L,error:D,connecting:A,reload:I}=useApiList(S&&"get_ls",{path:v,files:g,fileMask:b});reactExports.useEffect(()=>{B([]),z("")},[v]);const[N,B]=reactExports.useState([]),[j,z]=reactExports.useState(""),Y=reactExports.useMemo(()=>_.debounce(ce=>z(ce)),[]),W=reactExports.useMemo(()=>{const ce=new RegExp(_.escapeRegExp(j),"i");return pe=>ce.test(pe)},[j]),U=useBreakpoint("sm"),[V,J]=reactExports.useState(0),Q=reactExports.useMemo(()=>_.sortBy(k.filter(ce=>W(ce.n)),["k","n"]),[k,W]),ee=R.current?"":"/",Z=R.current?"\\":"/",ie=enforceFinal(Z,v),oe=v.length<2;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{label:"Current folder",value:v,InputLabelProps:{shrink:!0},helperText:"UNC paths are supported",onChange(ce){return yt(this,null,function*(){if(!ce)return C(ee);const pe=yield apiCall("resolve_path",{path:ce});if(pe.isFolder===!1)return g?d([ce]):C(ce.slice(0,-basename(ce).length-1));C(pe.path)})},end:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{title:"root",disabled:oe,icon:VerticalAlignTop,onClick(){C(ee)}}),reactExports.createElement(IconBtn,{title:"parent folder",disabled:oe,icon:ArrowUpward,onClick(){const ce=/[\\/]$/.test(v)?v.slice(0,-1):v,pe=ce.lastIndexOf(Z),ae=pe===1,ue=isWindowsDrive(ce)||ae?ee:ce.slice(0,pe||1);C(ue)}}))}),D?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1(D)):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{ref(ce){if(!ce)return;const pe=(ce==null?void 0:ce.clientHeight)-1;pe-V>1&&J(pe)},sx:{flex:1,display:"flex",flexDirection:"column"}},k.length?reactExports.createElement(FixedSizeList,{width:"100%",height:V,itemSize:46,itemCount:Q.length,overscanCount:5,children({index:ce,style:pe}){const ae=Q[ce],ue=ae.k==="d";return reactExports.createElement(MenuItem,{style:Rt(Oe({},pe),{padding:0}),key:ae.n,onClick(){ue?C(ie+ae.n):d([ie+ae.n])}},m&&reactExports.createElement(Checkbox$1,{checked:N.includes(ae.n),disabled:!x&&ue,onClick(fe){const ge=ae.n+(ae.k?"/":""),ye=N.filter(Ee=>Ee!==ge);B(ye.length<N.length?ye:[...N,ge]),fe.stopPropagation()}}),reactExports.createElement(ListLsItem,{it:ae}))}}):reactExports.createElement(Center,{flex:1,mt:"4em"},A?spinner():"No elements in this folder")),reactExports.createElement(Flex,{alignItems:"center"},(m||x||!g)&&reactExports.createElement(Btn,{disabled:!N.length&&(!v||!x&&g),sx:{minWidth:"max-content"},onClick(){d(N.length?N.map(ce=>ie+ce):[ie])}},g&&(N.length||!x)?`Select (${N.length})`:U?"Select this folder":"This folder"),x&&reactExports.createElement(Btn,{icon:CreateNewFolder,variant:"outlined",doneMessage:!0,labelIf:"sm",onClick(){return yt(this,null,function*(){const ce=yield promptDialog("New folder name");if(!ce)return!1;yield apiCall("mkdir",{path:`${v}/${ce}`}),I()})}},"New folder"),reactExports.createElement(TextField,{size:"small",value:j,label:`Filter results (${Q.length}${Q.length<k.length?"/"+k.length:""})`,onChange(ce){Y(ce.target.value)},sx:{flex:1}}),(L==null?void 0:L.total)>0&&reactExports.createElement(IconProgress,{icon:Storage,progress:1,offset:(L.total-L.free)/L.total,title:formatDiskSpace(L)}))))}function formatDiskSpace({free:d,total:m}){return`${formatBytes(d)} available (${formatPerc(d/m)}) of ${formatBytes(m)}`}function ListLsItem({it:d}){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(ListItemIcon,{},reactExports.createElement(d.k?FolderIcon:FileIcon)),reactExports.createElement(ListItemText,{sx:{whiteSpace:"pre-wrap",wordBreak:"break-all"}},d.n),!d.k&&d.s!==void 0&&reactExports.createElement(Typography,{variant:"body2",color:"text.secondary",ml:4,mr:1},formatBytes(d.s)))}const _excluded$v=["localeText"],MuiPickersAdapterContext=reactExports.createContext(null),LocalizationProvider=function(m){var g;const{localeText:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$v),{utils:E,localeText:v}=(g=reactExports.useContext(MuiPickersAdapterContext))!=null?g:{utils:void 0,localeText:void 0},C=useThemeProps({props:b,name:"MuiLocalizationProvider"}),{children:S,dateAdapter:T,dateFormats:R,dateLibInstance:k,adapterLocale:L,localeText:D}=C,A=reactExports.useMemo(()=>_extends$1({},D,v,x),[D,v,x]),I=reactExports.useMemo(()=>{if(!T)return E||null;const j=new T({locale:L,formats:R,instance:k});if(!j.isMUIAdapter)throw new Error(["MUI: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`","For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`","More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(`
@@ -756,7 +756,7 @@ ${g.comment}`:g.comment}this.doc.range[2]=g.offset;break}default:this.errors.pus
756
756
  `)+1;for(;g!==0;)this.onNewLine(this.offset+g),g=this.source.indexOf(`
757
757
  `,g)+1}yield*bt(this.pop());break;default:yield*bt(this.pop()),yield*bt(this.step())}}*blockMap(m){var x;const g=m.items[m.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,g.value){const b="end"in g.value?g.value.end:void 0,E=Array.isArray(b)?b[b.length-1]:void 0;(E==null?void 0:E.type)==="comment"?b==null||b.push(this.sourceToken):m.items.push({start:[this.sourceToken]})}else g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"space":case"comment":if(g.value)m.items.push({start:[this.sourceToken]});else if(g.sep)g.sep.push(this.sourceToken);else{if(this.atIndentedComment(g.start,m.indent)){const b=m.items[m.items.length-2],E=(x=b==null?void 0:b.value)==null?void 0:x.end;if(Array.isArray(E)){Array.prototype.push.apply(E,g.start),E.push(this.sourceToken),m.items.pop();return}}g.start.push(this.sourceToken)}return}if(this.indent>=m.indent){const b=!this.onKeyLine&&this.indent===m.indent,E=b&&(g.sep||g.explicitKey)&&this.type!=="seq-item-ind";let v=[];if(E&&g.sep&&!g.value){const C=[];for(let S=0;S<g.sep.length;++S){const T=g.sep[S];switch(T.type){case"newline":C.push(S);break;case"space":break;case"comment":T.indent>m.indent&&(C.length=0);break;default:C.length=0}}C.length>=2&&(v=g.sep.splice(C[1]))}switch(this.type){case"anchor":case"tag":E||g.value?(v.push(this.sourceToken),m.items.push({start:v}),this.onKeyLine=!0):g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"explicit-key-ind":!g.sep&&!g.explicitKey?(g.start.push(this.sourceToken),g.explicitKey=!0):E||g.value?(v.push(this.sourceToken),m.items.push({start:v,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(g.explicitKey)if(g.sep)if(g.value)m.items.push({start:[],key:null,sep:[this.sourceToken]});else if(includesToken(g.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:v,key:null,sep:[this.sourceToken]}]});else if(isFlowToken(g.key)&&!includesToken(g.sep,"newline")){const C=getFirstKeyStartProps(g.start),S=g.key,T=g.sep;T.push(this.sourceToken),delete g.key,delete g.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:C,key:S,sep:T}]})}else v.length>0?g.sep=g.sep.concat(v,this.sourceToken):g.sep.push(this.sourceToken);else if(includesToken(g.start,"newline"))Object.assign(g,{key:null,sep:[this.sourceToken]});else{const C=getFirstKeyStartProps(g.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:C,key:null,sep:[this.sourceToken]}]})}else g.sep?g.value||E?m.items.push({start:v,key:null,sep:[this.sourceToken]}):includesToken(g.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):g.sep.push(this.sourceToken):Object.assign(g,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const C=this.flowScalar(this.type);E||g.value?(m.items.push({start:v,key:C,sep:[]}),this.onKeyLine=!0):g.sep?this.stack.push(C):(Object.assign(g,{key:C,sep:[]}),this.onKeyLine=!0);return}default:{const C=this.startBlockValue(m);if(C){if(C.type==="block-seq"){if(!g.explicitKey&&g.sep&&!includesToken(g.sep,"newline")){yield*bt(this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}));return}}else b&&m.items.push({start:v});this.stack.push(C);return}}}}yield*bt(this.pop()),yield*bt(this.step())}*blockSequence(m){var x;const g=m.items[m.items.length-1];switch(this.type){case"newline":if(g.value){const b="end"in g.value?g.value.end:void 0,E=Array.isArray(b)?b[b.length-1]:void 0;(E==null?void 0:E.type)==="comment"?b==null||b.push(this.sourceToken):m.items.push({start:[this.sourceToken]})}else g.start.push(this.sourceToken);return;case"space":case"comment":if(g.value)m.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(g.start,m.indent)){const b=m.items[m.items.length-2],E=(x=b==null?void 0:b.value)==null?void 0:x.end;if(Array.isArray(E)){Array.prototype.push.apply(E,g.start),E.push(this.sourceToken),m.items.pop();return}}g.start.push(this.sourceToken)}return;case"anchor":case"tag":if(g.value||this.indent<=m.indent)break;g.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==m.indent)break;g.value||includesToken(g.start,"seq-item-ind")?m.items.push({start:[this.sourceToken]}):g.start.push(this.sourceToken);return}if(this.indent>m.indent){const b=this.startBlockValue(m);if(b){this.stack.push(b);return}}yield*bt(this.pop()),yield*bt(this.step())}*flowCollection(m){const g=m.items[m.items.length-1];if(this.type==="flow-error-end"){let x;do yield*bt(this.pop()),x=this.peek(1);while((x==null?void 0:x.type)==="flow-collection")}else if(m.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!g||g.sep?m.items.push({start:[this.sourceToken]}):g.start.push(this.sourceToken);return;case"map-value-ind":!g||g.value?m.items.push({start:[],key:null,sep:[this.sourceToken]}):g.sep?g.sep.push(this.sourceToken):Object.assign(g,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!g||g.value?m.items.push({start:[this.sourceToken]}):g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const b=this.flowScalar(this.type);!g||g.value?m.items.push({start:[],key:b,sep:[]}):g.sep?this.stack.push(b):Object.assign(g,{key:b,sep:[]});return}case"flow-map-end":case"flow-seq-end":m.end.push(this.sourceToken);return}const x=this.startBlockValue(m);x?this.stack.push(x):(yield*bt(this.pop()),yield*bt(this.step()))}else{const x=this.peek(2);if(x.type==="block-map"&&(this.type==="map-value-ind"&&x.indent===m.indent||this.type==="newline"&&!x.items[x.items.length-1].sep))yield*bt(this.pop()),yield*bt(this.step());else if(this.type==="map-value-ind"&&x.type!=="flow-collection"){const b=getPrevProps(x),E=getFirstKeyStartProps(b);fixFlowSeqItems(m);const v=m.end.splice(1,m.end.length);v.push(this.sourceToken);const C={type:"block-map",offset:m.offset,indent:m.indent,items:[{start:E,key:m,sep:v}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=C}else yield*bt(this.lineEnd(m))}}flowScalar(m){if(this.onNewLine){let g=this.source.indexOf(`
758
758
  `)+1;for(;g!==0;)this.onNewLine(this.offset+g),g=this.source.indexOf(`
759
- `,g)+1}return{type:m,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(m){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return x.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(m,g){return this.type!=="comment"||this.indent<=g?!1:m.every(x=>x.type==="newline"||x.type==="space")}*documentEnd(m){this.type!=="doc-mode"&&(m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop())))}*lineEnd(m){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*bt(this.pop()),yield*bt(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop()))}}};function parseOptions(d){const m=d.prettyErrors!==!1;return{lineCounter:d.lineCounter||m&&new LineCounter||null,prettyErrors:m}}function parseAllDocuments(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m),v=Array.from(E.compose(b.parse(d)));if(x&&g)for(const C of v)C.errors.forEach(prettifyError(d,g)),C.warnings.forEach(prettifyError(d,g));return v.length>0?v:Object.assign([],{empty:!0},E.streamInfo())}function parseDocument(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m);let v=null;for(const C of E.compose(b.parse(d),!0,d.length))if(!v)v=C;else if(v.options.logLevel!=="silent"){v.errors.push(new YAMLParseError(C.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return x&&g&&(v.errors.forEach(prettifyError(d,g)),v.warnings.forEach(prettifyError(d,g))),v}function parse$1(d,m,g){let x;typeof m=="function"?x=m:g===void 0&&m&&typeof m=="object"&&(g=m);const b=parseDocument(d,g);if(!b)return null;if(b.warnings.forEach(E=>warn(b.options.logLevel,E)),b.errors.length>0){if(b.options.logLevel!=="silent")throw b.errors[0];b.errors=[]}return b.toJS(Object.assign({reviver:x},g))}function stringify(d,m,g){var b;let x=null;if(typeof m=="function"||Array.isArray(m)?x=m:g===void 0&&m&&(g=m),typeof g=="string"&&(g=g.length),typeof g=="number"){const E=Math.round(g);g=E<1?void 0:E>8?{indent:8}:{indent:E}}if(d===void 0){const{keepUndefined:E}=(b=g!=null?g:m)!=null?b:{};if(!E)return}return isDocument(d)&&!x?d.toString(g):new Document(d,x,g).toString(g)}const YAML=Object.freeze(Object.defineProperty({__proto__:null,Alias,CST:cst,Composer,Document,Lexer,LineCounter,Pair,Parser:Parser$1,Scalar,Schema,YAMLError,YAMLMap,YAMLParseError,YAMLSeq,YAMLWarning,isAlias,isCollection:isCollection$1,isDocument,isMap:isMap$1,isNode,isPair,isScalar:isScalar$1,isSeq,parse:parse$1,parseAllDocuments,parseDocument,stringify,visit:visit$1,visitAsync},Symbol.toStringTag,{value:"Module"}));let G=null;class H{}H.render=function(d,m){G(d,m)};self.QrCreator=H;(function(d){function m(C,S,T,R){var k={},L=d(T,S);L.u(C),L.J(),R=R||0;var D=L.h(),A=L.h()+2*R;return k.text=C,k.level=S,k.version=T,k.O=A,k.a=function(I,N){return I-=R,N-=R,0>I||I>=D||0>N||N>=D?!1:L.a(I,N)},k}function g(C,S,T,R,k,L,D,A,I,N){function B(j,z,Y,W,U,V,J){j?(C.lineTo(z+V,Y+J),C.arcTo(z,Y,W,U,L)):C.lineTo(z,Y)}D?C.moveTo(S+L,T):C.moveTo(S,T),B(A,R,T,R,k,-L,0),B(I,R,k,S,k,0,-L),B(N,S,k,S,T,L,0),B(D,S,T,R,T,0,L)}function x(C,S,T,R,k,L,D,A,I,N){function B(j,z,Y,W){C.moveTo(j+Y,z),C.lineTo(j,z),C.lineTo(j,z+W),C.arcTo(j,z,j+Y,z,L)}D&&B(S,T,L,L),A&&B(R,T,-L,L),I&&B(R,k,-L,-L),N&&B(S,k,L,-L)}function b(C,S){var T=S.fill;if(typeof T=="string")C.fillStyle=T;else{var R=T.type,k=T.colorStops;if(T=T.position.map(D=>Math.round(D*S.size)),R==="linear-gradient")var L=C.createLinearGradient.apply(C,T);else if(R==="radial-gradient")L=C.createRadialGradient.apply(C,T);else throw Error("Unsupported fill");k.forEach(([D,A])=>{L.addColorStop(D,A)}),C.fillStyle=L}}function E(C,S){e:{var T=S.text,R=S.v,k=S.N,L=S.K,D=S.P;for(k=Math.max(1,k||1),L=Math.min(40,L||40);k<=L;k+=1)try{var A=m(T,R,k,D);break e}catch(ce){}A=void 0}if(!A)return null;for(T=C.getContext("2d"),S.background&&(T.fillStyle=S.background,T.fillRect(S.left,S.top,S.size,S.size)),R=A.O,L=S.size/R,T.beginPath(),D=0;D<R;D+=1)for(k=0;k<R;k+=1){var I=T,N=S.left+k*L,B=S.top+D*L,j=D,z=k,Y=A.a,W=N+L,U=B+L,V=j-1,J=j+1,Q=z-1,ee=z+1,Z=Math.floor(Math.min(.5,Math.max(0,S.R))*L),ie=Y(j,z),oe=Y(V,Q),re=Y(V,z);V=Y(V,ee);var X=Y(j,ee);ee=Y(J,ee),z=Y(J,z),J=Y(J,Q),j=Y(j,Q),N=Math.round(N),B=Math.round(B),W=Math.round(W),U=Math.round(U),ie?g(I,N,B,W,U,Z,!re&&!j,!re&&!X,!z&&!X,!z&&!j):x(I,N,B,W,U,Z,re&&j&&oe,re&&X&&V,z&&X&&ee,z&&j&&J)}return b(T,S),T.fill(),C}var v={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(C,S){var T={};Object.assign(T,v,C),T.N=T.minVersion,T.K=T.maxVersion,T.v=T.ecLevel,T.left=T.left,T.top=T.top,T.size=T.size,T.fill=T.fill,T.background=T.background,T.text=T.text,T.R=T.radius,T.P=T.quiet,S instanceof HTMLCanvasElement?((S.width!==T.size||S.height!==T.size)&&(S.width=T.size,S.height=T.size),S.getContext("2d").clearRect(0,0,S.width,S.height),E(S,T)):(C=document.createElement("canvas"),C.width=T.size,C.height=T.size,T=E(C,T),S.appendChild(T))}})(function(){function d(S){var T=g.s(S);return{S:function(){return 4},b:function(){return T.length},write:function(R){for(var k=0;k<T.length;k+=1)R.put(T[k],8)}}}function m(){var S=[],T=0,R={B:function(){return S},c:function(k){return(S[Math.floor(k/8)]>>>7-k%8&1)==1},put:function(k,L){for(var D=0;D<L;D+=1)R.m((k>>>L-D-1&1)==1)},f:function(){return T},m:function(k){var L=Math.floor(T/8);S.length<=L&&S.push(0),k&&(S[L]|=128>>>T%8),T+=1}};return R}function g(S,T){function R(j,z){for(var Y=-1;7>=Y;Y+=1)if(!(-1>=j+Y||A<=j+Y))for(var W=-1;7>=W;W+=1)-1>=z+W||A<=z+W||(D[j+Y][z+W]=0<=Y&&6>=Y&&(W==0||W==6)||0<=W&&6>=W&&(Y==0||Y==6)||2<=Y&&4>=Y&&2<=W&&4>=W)}function k(j,z){for(var Y=A=4*S+17,W=Array(Y),U=0;U<Y;U+=1){W[U]=Array(Y);for(var V=0;V<Y;V+=1)W[U][V]=null}for(D=W,R(0,0),R(A-7,0),R(0,A-7),Y=E.G(S),W=0;W<Y.length;W+=1)for(U=0;U<Y.length;U+=1){V=Y[W];var J=Y[U];if(D[V][J]==null)for(var Q=-2;2>=Q;Q+=1)for(var ee=-2;2>=ee;ee+=1)D[V+Q][J+ee]=Q==-2||Q==2||ee==-2||ee==2||Q==0&&ee==0}for(Y=8;Y<A-8;Y+=1)D[Y][6]==null&&(D[Y][6]=Y%2==0);for(Y=8;Y<A-8;Y+=1)D[6][Y]==null&&(D[6][Y]=Y%2==0);for(Y=E.w(L<<3|z),W=0;15>W;W+=1)U=!j&&(Y>>W&1)==1,D[6>W?W:8>W?W+1:A-15+W][8]=U,D[8][8>W?A-W-1:9>W?15-W:14-W]=U;if(D[A-8][8]=!j,7<=S){for(Y=E.A(S),W=0;18>W;W+=1)U=!j&&(Y>>W&1)==1,D[Math.floor(W/3)][W%3+A-8-3]=U;for(W=0;18>W;W+=1)U=!j&&(Y>>W&1)==1,D[W%3+A-8-3][Math.floor(W/3)]=U}if(I==null){for(j=C.I(S,L),Y=m(),W=0;W<N.length;W+=1)U=N[W],Y.put(4,4),Y.put(U.b(),E.f(4,S)),U.write(Y);for(W=U=0;W<j.length;W+=1)U+=j[W].j;if(Y.f()>8*U)throw Error("code length overflow. ("+Y.f()+">"+8*U+")");for(Y.f()+4<=8*U&&Y.put(0,4);Y.f()%8!=0;)Y.m(!1);for(;!(Y.f()>=8*U)&&(Y.put(236,8),!(Y.f()>=8*U));)Y.put(17,8);var Z=0;for(U=W=0,V=Array(j.length),J=Array(j.length),Q=0;Q<j.length;Q+=1){var ie=j[Q].j,oe=j[Q].o-ie;for(W=Math.max(W,ie),U=Math.max(U,oe),V[Q]=Array(ie),ee=0;ee<V[Q].length;ee+=1)V[Q][ee]=255&Y.B()[ee+Z];for(Z+=ie,ee=E.C(oe),ie=x(V[Q],ee.b()-1).l(ee),J[Q]=Array(ee.b()-1),ee=0;ee<J[Q].length;ee+=1)oe=ee+ie.b()-J[Q].length,J[Q][ee]=0<=oe?ie.c(oe):0}for(ee=Y=0;ee<j.length;ee+=1)Y+=j[ee].o;for(Y=Array(Y),ee=Z=0;ee<W;ee+=1)for(Q=0;Q<j.length;Q+=1)ee<V[Q].length&&(Y[Z]=V[Q][ee],Z+=1);for(ee=0;ee<U;ee+=1)for(Q=0;Q<j.length;Q+=1)ee<J[Q].length&&(Y[Z]=J[Q][ee],Z+=1);I=Y}for(j=I,Y=-1,W=A-1,U=7,V=0,z=E.F(z),J=A-1;0<J;J-=2)for(J==6&&--J;;){for(Q=0;2>Q;Q+=1)D[W][J-Q]==null&&(ee=!1,V<j.length&&(ee=(j[V]>>>U&1)==1),z(W,J-Q)&&(ee=!ee),D[W][J-Q]=ee,--U,U==-1&&(V+=1,U=7));if(W+=Y,0>W||A<=W){W-=Y,Y=-Y;break}}}var L=b[T],D=null,A=0,I=null,N=[],B={u:function(j){j=d(j),N.push(j),I=null},a:function(j,z){if(0>j||A<=j||0>z||A<=z)throw Error(j+","+z);return D[j][z]},h:function(){return A},J:function(){for(var j=0,z=0,Y=0;8>Y;Y+=1){k(!0,Y);var W=E.D(B);(Y==0||j>W)&&(j=W,z=Y)}k(!1,z)}};return B}function x(S,T){if(typeof S.length=="undefined")throw Error(S.length+"/"+T);var R=function(){for(var L=0;L<S.length&&S[L]==0;)L+=1;for(var D=Array(S.length-L+T),A=0;A<S.length-L;A+=1)D[A]=S[A+L];return D}(),k={c:function(L){return R[L]},b:function(){return R.length},multiply:function(L){for(var D=Array(k.b()+L.b()-1),A=0;A<k.b();A+=1)for(var I=0;I<L.b();I+=1)D[A+I]^=v.i(v.g(k.c(A))+v.g(L.c(I)));return x(D,0)},l:function(L){if(0>k.b()-L.b())return k;for(var D=v.g(k.c(0))-v.g(L.c(0)),A=Array(k.b()),I=0;I<k.b();I+=1)A[I]=k.c(I);for(I=0;I<L.b();I+=1)A[I]^=v.i(v.g(L.c(I))+D);return x(A,0).l(L)}};return k}g.s=function(S){for(var T=[],R=0;R<S.length;R++){var k=S.charCodeAt(R);128>k?T.push(k):2048>k?T.push(192|k>>6,128|k&63):55296>k||57344<=k?T.push(224|k>>12,128|k>>6&63,128|k&63):(R++,k=65536+((k&1023)<<10|S.charCodeAt(R)&1023),T.push(240|k>>18,128|k>>12&63,128|k>>6&63,128|k&63))}return T};var b={L:1,M:0,Q:3,H:2},E=function(){function S(k){for(var L=0;k!=0;)L+=1,k>>>=1;return L}var T=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],R={w:function(k){for(var L=k<<10;0<=S(L)-S(1335);)L^=1335<<S(L)-S(1335);return(k<<10|L)^21522},A:function(k){for(var L=k<<12;0<=S(L)-S(7973);)L^=7973<<S(L)-S(7973);return k<<12|L},G:function(k){return T[k-1]},F:function(k){switch(k){case 0:return function(L,D){return(L+D)%2==0};case 1:return function(L){return L%2==0};case 2:return function(L,D){return D%3==0};case 3:return function(L,D){return(L+D)%3==0};case 4:return function(L,D){return(Math.floor(L/2)+Math.floor(D/3))%2==0};case 5:return function(L,D){return L*D%2+L*D%3==0};case 6:return function(L,D){return(L*D%2+L*D%3)%2==0};case 7:return function(L,D){return(L*D%3+(L+D)%2)%2==0};default:throw Error("bad maskPattern:"+k)}},C:function(k){for(var L=x([1],0),D=0;D<k;D+=1)L=L.multiply(x([1,v.i(D)],0));return L},f:function(k,L){if(k!=4||1>L||40<L)throw Error("mode: "+k+"; type: "+L);return 10>L?8:16},D:function(k){for(var L=k.h(),D=0,A=0;A<L;A+=1)for(var I=0;I<L;I+=1){for(var N=0,B=k.a(A,I),j=-1;1>=j;j+=1)if(!(0>A+j||L<=A+j))for(var z=-1;1>=z;z+=1)0>I+z||L<=I+z||(j!=0||z!=0)&&B==k.a(A+j,I+z)&&(N+=1);5<N&&(D+=3+N-5)}for(A=0;A<L-1;A+=1)for(I=0;I<L-1;I+=1)N=0,k.a(A,I)&&(N+=1),k.a(A+1,I)&&(N+=1),k.a(A,I+1)&&(N+=1),k.a(A+1,I+1)&&(N+=1),(N==0||N==4)&&(D+=3);for(A=0;A<L;A+=1)for(I=0;I<L-6;I+=1)k.a(A,I)&&!k.a(A,I+1)&&k.a(A,I+2)&&k.a(A,I+3)&&k.a(A,I+4)&&!k.a(A,I+5)&&k.a(A,I+6)&&(D+=40);for(I=0;I<L;I+=1)for(A=0;A<L-6;A+=1)k.a(A,I)&&!k.a(A+1,I)&&k.a(A+2,I)&&k.a(A+3,I)&&k.a(A+4,I)&&!k.a(A+5,I)&&k.a(A+6,I)&&(D+=40);for(I=N=0;I<L;I+=1)for(A=0;A<L;A+=1)k.a(A,I)&&(N+=1);return D+=Math.abs(100*N/L/L-50)/5*10}};return R}(),v=function(){for(var S=Array(256),T=Array(256),R=0;8>R;R+=1)S[R]=1<<R;for(R=8;256>R;R+=1)S[R]=S[R-4]^S[R-5]^S[R-6]^S[R-8];for(R=0;255>R;R+=1)T[S[R]]=R;return{g:function(k){if(1>k)throw Error("glog("+k+")");return T[k]},i:function(k){for(;0>k;)k+=255;for(;256<=k;)k-=255;return S[k]}}}(),C=function(){function S(k,L){switch(L){case b.L:return T[4*(k-1)];case b.M:return T[4*(k-1)+1];case b.Q:return T[4*(k-1)+2];case b.H:return T[4*(k-1)+3]}}var T=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],R={I:function(k,L){var D=S(k,L);if(typeof D=="undefined")throw Error("bad rs block @ typeNumber:"+k+"/errorCorrectLevel:"+L);k=D.length/3,L=[];for(var A=0;A<k;A+=1)for(var I=D[3*A],N=D[3*A+1],B=D[3*A+2],j=0;j<I;j+=1){var z=B,Y={};Y.o=N,Y.j=z,L.push(Y)}return L}};return R}();return g}());const QrCreator$1=QrCreator,SYS_ICONS={login:["👤","user"],user:["👤","user"],filter:["✂"],search:["🔍"],search_off:["❌","cancel"],close:["❌","cancel"],error:["❌","cancel"],stop:["⏹️"],options:["⚙","cog"],archive:["📦"],logout:["🚪"],home:["🏠"],parent:["⬅","left"],folder:["📂"],file:["📄","doc"],spinner:["🎲","spin6 spinner"],password:["🗝️","key"],download:["⬇️"],upload:["⬆️"],reload:["🔄","reload"],lock:["🔒","lock"],admin:["👑","crown"],check:["✔️"],to_start:["◀"],to_end:["▶"],menu:["☰"],list:["☰","menu"],play:["▶"],pause:["⏸"],edit:["✏️"],zoom:["↔"],delete:["🗑️","trash"],comment:["💬"],link:["↗"],info:["ⓘ"],cut:["✄"],paste:["📋"],copy:["⧉"],shuffle:["🔀"],repeat:["🔁","reload"],success:["👍","check"],warning:["⚠️",!1],audio:["🎧"],video:["🎥"],image:["📸"],cancel:["❌","cancel"],total:["➕","spin6"],eye:["👁️"]};function subscribeKey(d,m,g,x){let b=d[m];return subscribe(d,()=>{const E=d[m];Object.is(b,E)||g(b=E)},x)}let currentCleanups;function watch(d,m){let g=!0;const x=new Set,b=new Map,E=()=>{g&&(g=!1,x.forEach(C=>C()),x.clear(),b.forEach(C=>C()),b.clear())},v=()=>yt(this,null,function*(){if(!g)return;x.forEach(T=>T()),x.clear();const C=new Set,S=currentCleanups;currentCleanups=x;try{const T=d(k=>{if(C.add(k),g&&!b.has(k)){const L=subscribe(k,v,m==null?void 0:m.sync);b.set(k,L)}return k}),R=T&&T instanceof Promise?yield T:T;R&&(g?x.add(R):E())}finally{currentCleanups=S}b.forEach((T,R)=>{C.has(R)||(b.delete(R),T())})});return currentCleanups&&currentCleanups.add(E),v(),E}const ANY_LANGUAGE="all";function i18nFromTranslations(d,m="en"){const g=proxy({embedded:m,disabled:!1,translations:d}),x=[];watch(T=>{const R=T(g);x.splice(0,1/0,ANY_LANGUAGE,...R.disabled?[]:Object.keys(R.translations),R.embedded)});const b=new Set;function E(){return Object.keys(g.translations)}function v(T,R,k){var j,z;if(!T)return"";const L=S(T)?[k!=null?k:k=T[0]]:Array.isArray(T)?T:[T];typeof R=="string"&&!k&&(k=R,R=null);let D,A="";const{embedded:I}=g,N=Object.keys(g.translations);for(const Y of L){for(const W of x)if(D=(z=(j=g.translations[A=W])==null?void 0:j.translate)==null?void 0:z[Y])break;if(D)break;!b.has(Y)&&N.length&&N[0]!==I&&(b.add(Y),console.debug("i18n miss:",Y))}return D||(D=k||L[L.length-1],A=I),Array.from(C(D)).map(([Y,W])=>{if(!W)return Y;const[U,V,J]=Y.split(",").map(ee=>ee.trim());if(!R)throw"missing params on "+L[0];const Q=U&&R[U];return V==="plural"&&J?B(Q,J):Q||Q===0?Q:""}).join("");function B(Y,W){const U=Intl.PluralRules?new Intl.PluralRules(A||I).select(Number(Y)):"other";let V="",J=!1,Q=!1;for(const[Z,ie]of C(W)){if(J)return ee(Z);if(Q&&(V=Z,Q=!1),ie)continue;const oe=Z.trim().split(/\s+/);J=oe.some(re=>re[0]==="="&&Y===Number(re.slice(1))||re===U),Q=!J&&oe.includes("other")}return ee(V);function ee(Z){return Z.replace("#",String(Y))}}}function*C(T){let R=0;for(;;){const k=T.indexOf("{",R);if(k<0)break;yield[T.slice(R,k),!1];let L=1;for(R=k+1;L&&R<T.length;)T[R]==="{"?L++:T[R]==="}"&&L--,R++;if(L)return console.debug("Tokenizer: unclosed");yield[T.slice(k+1,R-1),!0]}yield[T.slice(R),!1]}function S(T){return(T==null?void 0:T.raw)&&Array.isArray(T)}return{t:v,state:g,getLangs:E,i18nWrapperProps:()=>({lang:E()[0]||g.embedded}),useI18N(){return useSnapshot(g),{t:v}}}}const state$1=proxy(Rt(Oe({uploadOnExisting:getHFS().dontOverwriteUploading?"rename":"skip",uri:"",canChangePassword:!1,props:{}},objSameKeys(FRONTEND_OPTIONS,(d,m)=>{var g;return(g=getHFS()[m])!=null?g:d})),{iconsReady:!1,username:"",list:[],clip:[],loading:!1,listReloader:0,patternFilter:"",showFilter:!1,selected:{},remoteSearch:void 0}));function useSnapState$1(){return useSnapshot(state$1)}const SETTINGS_KEY="hfs_settings",SETTINGS_WITHOUT_GUI=["file_menu_on_link","page_size","title_with_path"],SETTINGS_TO_STORE$1=_.difference(typedKeys(FRONTEND_OPTIONS),SETTINGS_WITHOUT_GUI).concat(["uploadOnExisting"]);loadSettings();for(const d of SETTINGS_TO_STORE$1)subscribeKey(state$1,d,storeSettings$1);function loadSettings(){const d=localStorage.getItem(SETTINGS_KEY);if(!d)return;let m;try{m=JSON.parse(d)}catch(g){console.error("invalid settings stored",d);return}for(const g of SETTINGS_TO_STORE$1){const x=m[g];x!==void 0&&(state$1[g]=x)}}function storeSettings$1(){localStorage.setItem(SETTINGS_KEY,JSON.stringify(_.pick(state$1,SETTINGS_TO_STORE$1)))}const of=class of{constructor(m,g){var b,E;if(this.ext="",this.isFolder=m.endsWith("/"),this.isFolder&&(m=m.slice(0,-1)),Object.assign(this,g),this.n=m,this.uri=(g==null?void 0:g.url)||(!m||m[0]==="/"?"":location.pathname)+pathEncode(m)+(this.isFolder?"/":""),!this.isFolder){const v=m.lastIndexOf(".")+1;this.ext=v?m.substring(v).toLowerCase():""}this.c&&(this.c=new Date(this.c)),this.m=this.m?new Date(this.m):this.c,this.name=m.slice(m.lastIndexOf("/")+1);const x=this.isFolder&&!this.web?"L":"R";this.cantOpen=(b=this.p)!=null&&b.match(x)?!0:(E=this.p)!=null&&E.match(x.toLowerCase())?of.FORBIDDEN:void 0}isRoot(){return!this.name}getNext(){return this.getSibling(1)}getPrevious(){return this.getSibling(-1)}getNextFiltered(){return this.getSibling(1,state$1.filteredList)}getPreviousFiltered(){return this.getSibling(-1,state$1.filteredList)}getSibling(m,g=state$1.list){return g[m+g.findIndex(x=>x.n===this.n)]}getDefaultIcon(){var m;return hIcon(this.icon===!0?`${this.n}?get=icon`:(m=this.icon)!=null?m:this.isFolder||this.web?"folder":this.url?"link":ext2type(this.ext)||"file")}canArchive(){var m,g,x;return((m=this.p)==null?void 0:m.includes("A"))||((g=state$1.props)==null?void 0:g.can_archive)&&!((x=this.p)!=null&&x.includes("a"))}canDelete(){var m,g,x;return!this.isRoot()&&(((m=this.p)==null?void 0:m.includes("D"))||((g=state$1.props)==null?void 0:g.can_delete_children)&&!((x=this.p)!=null&&x.includes("d")))}canUpload(){var m,g,x;return this.isFolder&&(((m=this.p)==null?void 0:m.includes("U"))||((g=state$1.props)==null?void 0:g.can_upload)&&!((x=this.p)!=null&&x.includes("u")))}canSelect(){return this.url||this.isRoot()?!1:this.canArchive()||this.canDelete()||hfsEvent("enableEntrySelection",{entry:this}).some(Boolean)}};of.FORBIDDEN="FORBIDDEN";let DirEntry=of;const exts={image:["jpeg","jpg","gif","png","webp","svg"],audio:["mp3","wav","m4a","ogg","flac"],video:["mp4","mpeg","mpg","webm","mov","m4v","mkv"],archive:["zip","rar","gz","tgz"]};function ext2type(d){return _.findKey(exts,m=>m.includes(d))}const i18n=i18nFromTranslations(getHFS().lang||{},EMBEDDED_LANGUAGE);i18n.state.disabled=!urlParams.lang&&state$1.disableTranslation;function toast$1(d,m="info",{timeout:g=5e3}={}){console.debug("toast",d);const x=Math.random();toasts.push({id:x,content:reactExports.isValidElement(d)?ref(d):d,type:reactExports.isValidElement(m)?ref(m):m,close:E});const b=pendingPromise();return setTimeout(E,g),{close:E,closed:b};function E(){const v=_.find(toasts,{id:x});v&&(v.closed=!0,b.resolve())}}const toasts=proxy([]),{t:t$d}=i18n;_.merge(dialogsDefaults,{closableProps:{"aria-label":t$d`Close`}});function promptDialog$1(L){return yt(this,arguments,function*(d,R={}){var k=R,{value:m,type:g,helperText:x,trim:b=!0,inputProps:E,onSubmit:v,onField:C,placeholder:S}=k,T=Vt(k,["value","type","helperText","trim","inputProps","onSubmit","onField","placeholder"]);const D=g==="textarea"&&g;return new Promise(I=>newDialog(Rt(Oe({className:"dialog-prompt",icon:"?",onClose:I},T),{Content:A})));function A(){const I=reactExports.useRef();return reactExports.useEffect(()=>{const B=I.current;if(!B)return;const j=B;if(setTimeout(()=>j.focus(),100),m&&(j.value=m),C==null||C(j),D){let z=function(){j.style.height="auto",j.style.height=j.scrollHeight+5+"px"};setTimeout(z),j.addEventListener("input",z)}},[D]),reactExports.createElement("form",{},reactExports.createElement("label",{htmlFor:"input"},d),reactExports.createElement(D||"input",Rt(Oe({ref:I,type:g,name:"input",autoFocus:!0,placeholder:S},E),{style:Oe({width:m?m.length/2+"em":"auto",minWidth:"100%",maxWidth:"100%",boxSizing:"border-box"},D&&{width:"30em",maxHeight:"70vh"}),onKeyDown(B){const{key:j}=B;if(j==="Escape")return closeDialog();if((D?isCtrlKey(B):j)==="Enter")return B.preventDefault(),N()}})),x&&reactExports.createElement("div",{style:{fontSize:"smaller",marginTop:".2em"}},x),reactExports.createElement("div",{style:{textAlign:"right",marginTop:".8em"}},reactExports.createElement("button",{onClick:N},t$d`Continue`)));function N(){return yt(this,null,function*(){var j,z;let B=(j=I.current)==null?void 0:j.value;b&&(B=B==null?void 0:B.trim());try{v&&B!==void 0&&(B=(z=yield v==null?void 0:v(B))!=null?z:B),closeDialog(B)}catch(Y){alertDialog$1(Y,"error")}})}}})}function formDialog$1(m){return yt(this,null,function*(){var d=Vt(m,[]);return new Promise(g=>{const{close:x}=newDialog(Rt(Oe({className:"dialog-form"},d),{onClose:g,Content(){return reactExports.createElement("form",{onSubmit(b){b.preventDefault(),x(Object.fromEntries(new FormData(b.target).entries()))}},reactExports.createElement(d.Content))}}))})})}let msgShowing;function alertDialog$1(d,m="info",g=""){if(d===msgShowing)return;const x=msgShowing;msgShowing=d,d instanceof Error&&(m="error");const b=pendingPromise();return b.finally(()=>{d===msgShowing&&(msgShowing=x)}),Object.assign(b,newDialog({className:"dialog-alert dialog-alert-"+m,title:g||t$d(_.capitalize(m)),icon:"!",onClose:b.resolve,dialogProps:{role:"alertdialog"},Content(){if(d instanceof Error){const E=err2msg(d),v=d.message;d=reactExports.createElement("div",{},E,v!==E&&reactExports.createElement("div",{style:{marginTop:20,fontSize:"small"}},v))}return typeof d=="string"&&(d=reactExports.createElement("p",{},d)),d}}))}function confirmDialog$1(d,m={}){const R=m,{href:g,afterButtons:x,timeout:b,timeoutConfirm:E=!1}=R,v=Vt(R,["href","afterButtons","timeout","timeoutConfirm"]);typeof d=="string"&&(d=reactExports.createElement("p",{},d));const C=pendingPromise(),S=newDialog(Rt(Oe({className:"dialog-confirm",icon:"?",onClose:C.resolve},v),{Content:T}));return Object.assign(C,S);function T(){const[k,L]=reactExports.useState(Math.ceil(b||0));useInterval(()=>L(A=>Math.max(0,A-1)),1e3);const D=b&&b>0&&b<60&&` (${k})`||"";return reactExports.useEffect(()=>{b&&!k&&S.close(E)},[k]),reactExports.createElement("div",{},d,reactExports.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"1em"}},reactExports.createElement("a",{href:g,tabIndex:-1,onClick(){S.close(!0)}},reactExports.createElement("button",{},t$d`Yes`,E&&D)),reactExports.createElement("button",{onClick(){S.close(!1)}},t$d`Don't`,!E&&D),x))}}const dialogLib=Object.freeze(Object.defineProperty({__proto__:null,Dialogs,alertDialog:alertDialog$1,anyDialogOpen,closeDialog,componentOrNode,confirmDialog:confirmDialog$1,dialogsDefaults,focusableSelector,formDialog:formDialog$1,isDescendant,newDialog,promptDialog:promptDialog$1,toast:toast$1},Symbol.toStringTag,{value:"Module"})),{t:t$c}=i18n;function Spinner(d){return hIcon("spinner",Oe({className:"spinner"},d))}const Flex$1=reactExports.forwardRef((S,C)=>{var T=S,{gap:d=".8em",center:m=!1,vert:g=!1,children:x=null,className:b="",props:E={}}=T,v=Vt(T,["gap","center","vert","children","className","props"]);return reactExports.createElement("div",Oe({ref:C,className:b,style:Oe({display:"flex",gap:d,flexDirection:g?"column":void 0,alignItems:g?void 0:"center",justifyContent:m?"center":void 0},v)},E),x)}),FlexV=reactExports.forwardRef((d,m)=>reactExports.createElement(Flex$1,Oe({ref:m,vert:!0},d))),Checkbox=reactExports.forwardRef((C,v)=>{var S=C,{onChange:d,value:m,children:g,labelProps:x,id:b}=S,E=Vt(S,["onChange","value","children","labelProps","id"]);const T=reactExports.createElement("input",Oe(Rt(Oe({ref:v,type:"checkbox",onChange:R=>d==null?void 0:d(!!R.target.checked,R)},m!==void 0&&{checked:!!m}),{value:1,id:g?void 0:b}),E));return g?reactExports.createElement("label",Oe({id:b},x),T,g):T});function CustomCode(b){var E=b,{name:d,children:m,render:g}=E,x=Vt(E,["name","children","render"]);const v=reactExports.useMemo(()=>hfsEvent(d,Object.assign(x,{def:m})),[d,m,...x?Object.values(x):[]]),[C,S]=useStateMounted([]);return reactExports.useEffect(()=>{var L,D;if(v.isDefaultPrevented()||v.some(A=>A===null))return S(null);const T=v.map(k);v.forEach((A,I)=>{typeof(A==null?void 0:A.then)=="function"&&A.then(N=>{T[I]=k(N,I),S(onlyTruthy(T))},()=>{})});const R=(L=getHFS().customHtml)==null?void 0:L[d];(D=R==null?void 0:R.trim)!=null&&D.call(R)&&T.push(k(R,-1)),S(onlyTruthy(T));function k(A,I){return reactExports.isValidElement(A)?reactExports.createElement(reactExports.Fragment,{key:I},A):A===0||A&&isPrimitive(A)?reactExports.createElement(Html,{key:I},String(A)):_.isArray(A)?reactExports.createElement(reactExports.Fragment,{key:I},...A):null}},[v]),g!=null||(g=_.identity),reactExports.createElement(reactExports.Fragment,{},g(C&&(C!=null&&C.length||!m?C:m)))}function iconBtn(d,m,b={}){var E=b,{title:g}=E,x=Vt(E,["title"]);return reactExports.createElement("button",Rt(Oe({title:g!=null?g:t$c(_.capitalize(d)),onClick:m},x),{className:"icon-button "+(x.className||"")}),d.length>1?hIcon(d):d)}function Btn$1(T){var R=T,{icon:d,label:m,tooltip:g,toggled:x,onClick:b,onClickAnimation:E,asText:v,successFeedback:C}=R,S=Vt(R,["icon","label","tooltip","toggled","onClick","onClickAnimation","asText","successFeedback"]);const[k,L]=reactExports.useState(!1),[D,A]=reactExports.useState(!1),I=reactExports.useRef();return reactExports.createElement(v?"a":"button",Rt(Oe(Oe({title:m+prefix(" - ",g),"aria-label":m,"aria-pressed":x,onClick(N){v&&N.preventDefault(),b&&(E!==!1&&L(!0),Promise.resolve().then(b).finally(()=>L(!1)).then(()=>{C&&(A(!0),clearTimeout(I.current),I.current=setTimeout(()=>A(!1),1e3))},B=>alertDialog$1(B,"error")))}},S),v?{role:"button",style:Oe({cursor:"pointer"},S.style)}:void 0),{className:[S.className,x&&"toggled",k&&"ani-working",D&&"success"].filter(Boolean).join(" ")}),d&&(reactExports.isValidElement(d)?d:hIcon(d)),reactExports.createElement("span",{className:"label"},m))}function Bytes(g){var x=g,{bytes:d}=x,m=Vt(x,["bytes"]);return reactExports.createElement("span",Oe(Oe({},noAriaTitle(d.toLocaleString())),m),formatBytes(d))}const documentComplete=document.readyState==="complete"?Promise.resolve():new Promise(d=>document.addEventListener("readystatechange",d));var Om;Promise.race([documentComplete,(Om=document.fonts)==null?void 0:Om.ready]).then(()=>yt(void 0,null,function*(){if(!document.fonts)return state$1.iconsReady=!0;const d="9px fontello";yield document.fonts.load(d),state$1.iconsReady=document.fonts.check(d)}));const Icon=reactExports.memo(b=>{var E=b,{name:d,alt:m,className:g=""}=E,x=Vt(E,["name","alt","className"]);var L,D;if(!d)return null;d=(D=(L=getHFS().icons)==null?void 0:L[d])!=null?D:d;const[v,C=d]=SYS_ICONS[d]||[],{iconsReady:S}=useSnapState$1();g+=" icon";const T=d.length===1||d.match(/^[\uD800-\uDFFF\u2600-\u27BF\u2B00-\u2BFF\u3030-\u303F\u3297\u3299\u00A9\u00AE\u200D\u20E3\uFE0F\u2190-\u21FF\u2300-\u23FF\u2400-\u243F\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF]*$/),R=!T&&/[/?]/.test(d),k=S&&C;return g+=R?" file-icon":k?` font-icon fa-${C}`:" emoji-icon",reactExports.createElement("span",Rt(Oe(Oe(Rt(Oe({},m?{"aria-label":m}:{"aria-hidden":!0}),{role:"img"}),x),R?{style:Oe({backgroundImage:`url(${JSON.stringify(d)})`},x==null?void 0:x.style)}:void 0),{className:g}),T?d:k?null:v||"#")});function parse(d,m){if(d instanceof RegExp)return{keys:!1,pattern:d};var g,x,b,E,v=[],C="",S=d.split("/");for(S[0]||S.shift();b=S.shift();)g=b[0],g==="*"?(v.push(g),C+=b[1]==="?"?"(?:/(.*))?":"/(.*)"):g===":"?(x=b.indexOf("?",1),E=b.indexOf(".",1),v.push(b.substring(1,~x?x:~E?E:b.length)),C+=~x&&!~E?"(?:/([^/]+?))?":"/([^/]+?)",~E&&(C+=(~x?"?":"")+"\\"+b.substring(E))):C+="/"+b;return{keys:v,pattern:new RegExp("^"+C+(m?"(?=$|/)":"/?$"),"i")}}const useBuiltinInsertionEffect=React$1.useInsertionEffect,canUseDOM=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",useIsomorphicLayoutEffect=canUseDOM?reactExports.useLayoutEffect:reactExports.useEffect,useInsertionEffect=useBuiltinInsertionEffect||useIsomorphicLayoutEffect,useEvent=d=>{const m=reactExports.useRef([d,(...g)=>m[0](...g)]).current;return useInsertionEffect(()=>{m[0]=d}),m[1]},eventPopstate="popstate",eventPushState="pushState",eventReplaceState="replaceState",eventHashchange="hashchange",events=[eventPopstate,eventPushState,eventReplaceState,eventHashchange],subscribeToLocationUpdates=d=>{for(const m of events)addEventListener(m,d);return()=>{for(const m of events)removeEventListener(m,d)}},useLocationProperty=(d,m)=>shimExports.useSyncExternalStore(subscribeToLocationUpdates,d,m),currentSearch=()=>location.search,useSearch=({ssrSearch:d}={})=>useLocationProperty(currentSearch,d!=null?()=>d:currentSearch),currentPathname=()=>location.pathname,usePathname=({ssrPath:d}={})=>useLocationProperty(currentPathname,d!=null?()=>d:currentPathname),navigate=(d,{replace:m=!1,state:g=null}={})=>history[m?eventReplaceState:eventPushState](g,"",d),useBrowserLocation=(d={})=>[usePathname(d),navigate],patchKey=Symbol.for("wouter_v3");if(typeof history!="undefined"&&typeof window[patchKey]=="undefined"){for(const d of[eventPushState,eventReplaceState]){const m=history[d];history[d]=function(){const g=m.apply(this,arguments),x=new Event(d);return x.arguments=arguments,dispatchEvent(x),g}}Object.defineProperty(window,patchKey,{value:!0})}const _relativePath=(d,m)=>m.toLowerCase().indexOf(d.toLowerCase())?"~"+m:m.slice(d.length)||"/",baseDefaults=(d="")=>d==="/"?"":d,absolutePath=(d,m)=>d[0]==="~"?d.slice(1):baseDefaults(m)+d,relativePath=(d="",m)=>_relativePath(unescape(baseDefaults(d)),unescape(m)),unescape=d=>{try{return decodeURI(d)}catch(m){return d}},defaultRouter={hook:useBrowserLocation,searchHook:useSearch,parser:parse,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:d=>d,aroundNav:(d,m,g)=>d(m,g)},RouterCtx=reactExports.createContext(defaultRouter),useRouter=()=>reactExports.useContext(RouterCtx),Params0={};reactExports.createContext(Params0);const useLocationFromRouter=d=>{const[m,g]=d.hook(d);return[relativePath(d.base,m),useEvent((x,b)=>d.aroundNav(g,absolutePath(x,d.base),b))]},Link$1=reactExports.forwardRef((d,m)=>{const g=useRouter(),[x,b]=useLocationFromRouter(g),B=d,{to:E="",href:v=E,onClick:C,asChild:S,children:T,className:R,replace:k,state:L,transition:D}=B,A=Vt(B,["to","href","onClick","asChild","children","className","replace","state","transition"]),I=useEvent(j=>{j.ctrlKey||j.metaKey||j.altKey||j.shiftKey||j.button!==0||(C==null||C(j),j.defaultPrevented||(j.preventDefault(),b(v,d)))}),N=g.hrefs(v[0]==="~"?v.slice(1):g.base+v,g);return S&&reactExports.isValidElement(T)?reactExports.cloneElement(T,{onClick:I,href:N}):reactExports.createElement("a",Rt(Oe({},A),{onClick:I,href:N,className:R!=null&&R.call?R(x===v):R,children:T,ref:m}))});function Link(x){var b=x,{to:d,reloadDocument:m}=b,g=Vt(b,["to","reloadDocument"]);return m?reactExports.createElement("a",Oe({href:d},g)):reactExports.createElement(Link$1,Oe({href:d},g))}const{t:t$b}=i18n;function srpClientSequence(d,m,g,x,b){return yt(this,null,function*(){const{pubKey:E,salt:v}=yield x("loginSrp1",{username:m});if(!v)throw Error("salt");const C=yield srpClientPart(d,m,g,v,E),S=yield x("loginSrp2",Oe({pubKey:String(C.A),proof:String(C.M1)},b));return yield C.step3(BigInt(S.proof)).catch(()=>Promise.reject("trust")),S})}function srpClientPart(d,m,g,x,b){return yt(this,null,function*(){const E=new d.SRPRoutines(new d.SRPParameters);return yield(yield new d.SRPClientSession(E).step1(m,g)).step2(BigInt(x),BigInt(b))})}const{t:t$a,useI18N:useI18N$9}=i18n;function login$1(d,m,g){return yt(this,null,function*(){const x=working();return withSrpLib(srpClientSequence)(d,m,apiCall,g).catch(b=>{if(b.code==HTTP_METHOD_NOT_ALLOWED||!m)return apiCall("login",Oe({username:d,password:m},g));throw b}).then(b=>(hfsEvent("loginOk",{username:d}),refreshSession$1(b),state$1.loginRequired=!1,b),b=>{throw hfsEvent("loginFailed",{username:d,error:b}),Error(b.data==="trust"?t$a("login_untrusted","Login aborted: server identity cannot be trusted"):b.code===HTTP_UNAUTHORIZED&&!b.data?t$a("login_bad_credentials","Invalid credentials"):b.code===HTTP_CONFLICT?t$a("login_bad_cookies","Cookies not working - login failed"):t$a(b.message||String(b)))}).finally(x)})}const refreshSession$1=makeSessionRefresher(state$1);function logout(){return apiCall("logout",{},{modal:working}).catch(d=>{if(d.code!==HTTP_UNAUTHORIZED)throw d;if(refreshSession$1(),fallbackToBasicAuth())return location.reload();reloadList(),toast$1(t$a`Logged out`,"success")})}let closeLoginDialog,lastPromise;function loginDialog(d=!0,m=!0){return yt(this,null,function*(){return lastPromise=new Promise(g=>{if(fallbackToBasicAuth())return location.href="/?get=login";if(closeLoginDialog)return lastPromise;let x=!1;const{close:b}=newDialog({closable:d,className:"login-dialog",icon:()=>hIcon("login"),onClose(E){g(E),closeLoginDialog=void 0},title:()=>reactExports.createElement(reactExports.Fragment,{},useI18N$9().t("Login")),Content(){const E=reactExports.useRef(),v=reactExports.useRef(),C=reactExports.useRef(),[S,T]=reactExports.useState(!1),{t:R}=useI18N$9();return reactExports.createElement("form",{onSubmit(D){D.preventDefault(),L(D)}},reactExports.createElement(CustomCode,{name:"beforeLogin"}),reactExports.createElement(CustomCode,{name:"loginUsernameField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_username"},R`Username`),reactExports.createElement("input",{ref:E,id:"login_username",name:"username",autoComplete:"username",autoFocus:!0,required:!0,onKeyDown:k}))),reactExports.createElement(CustomCode,{name:"loginPasswordField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_password"},R`Password`),reactExports.createElement("div",{className:"password-field"},reactExports.createElement("input",{ref:v,id:"login_password",name:"password",type:S?"text":"password",autoComplete:"current-password",required:!0,onKeyDown:k}),reactExports.createElement("button",{type:"button",className:"password-eye","aria-hidden":!0,tabIndex:-1,onPointerDown(D){D.preventDefault(),T(!0)},onPointerUp:()=>T(!1),onPointerEnter:()=>T(!0),onPointerLeave:()=>T(!1),onPointerCancel:()=>T(!1)},hIcon("eye"))))),reactExports.createElement(CustomCode,{name:"beforeLoginSubmit"}),reactExports.createElement("div",{className:"submit"},reactExports.createElement("button",{type:"submit"},R`Continue`)),reactExports.createElement("div",{id:"login-options"},reactExports.createElement(Checkbox,{ref:C,id:ALLOW_SESSION_IP_CHANGE},R(ALLOW_SESSION_IP_CHANGE,"Allow IP change during this session"))));function k(D){const{key:A}=D;if(A==="Escape")return b(null);if(A==="Enter")return L(D)}function L(D){return yt(this,null,function*(){var Y,W;const A=D.target instanceof HTMLElement&&D.target.closest("form");if(!A)return;D.stopPropagation();const z=_.pickBy(Object.fromEntries(new FormData(A).entries()),_.isString),{username:I,password:N}=z,B=Vt(z,["username","password"]),j=I.trim();if(!(x||!j)){x=!0;try{const U=yield login$1(j,N,Oe({[ALLOW_SESSION_IP_CHANGE]:(Y=C.current)==null?void 0:Y.checked},B)).finally(()=>x=!1);yield b(!0),toast$1(R`Logged in`,"success"),U!=null&&U.redirect?setTimeout(()=>getHFS().navigate(U.redirect),10):m&&reloadList()}catch(U){yield alertDialog$1(U),(W=E.current)==null||W.focus()}}})}}});closeLoginDialog=b})})}const{t:t$9,useI18N:useI18N$8}=i18n,{t:t$8,useI18N:useI18N$7}=i18n;function cut(d){if(state$1.clip=d,d.length)return toast$1(t$8("after_cut",`Your selection is now in the clipboard.
759
+ `,g)+1}return{type:m,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(m){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return x.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(m,g){return this.type!=="comment"||this.indent<=g?!1:m.every(x=>x.type==="newline"||x.type==="space")}*documentEnd(m){this.type!=="doc-mode"&&(m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop())))}*lineEnd(m){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*bt(this.pop()),yield*bt(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop()))}}};function parseOptions(d){const m=d.prettyErrors!==!1;return{lineCounter:d.lineCounter||m&&new LineCounter||null,prettyErrors:m}}function parseAllDocuments(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m),v=Array.from(E.compose(b.parse(d)));if(x&&g)for(const C of v)C.errors.forEach(prettifyError(d,g)),C.warnings.forEach(prettifyError(d,g));return v.length>0?v:Object.assign([],{empty:!0},E.streamInfo())}function parseDocument(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m);let v=null;for(const C of E.compose(b.parse(d),!0,d.length))if(!v)v=C;else if(v.options.logLevel!=="silent"){v.errors.push(new YAMLParseError(C.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return x&&g&&(v.errors.forEach(prettifyError(d,g)),v.warnings.forEach(prettifyError(d,g))),v}function parse$1(d,m,g){let x;typeof m=="function"?x=m:g===void 0&&m&&typeof m=="object"&&(g=m);const b=parseDocument(d,g);if(!b)return null;if(b.warnings.forEach(E=>warn(b.options.logLevel,E)),b.errors.length>0){if(b.options.logLevel!=="silent")throw b.errors[0];b.errors=[]}return b.toJS(Object.assign({reviver:x},g))}function stringify(d,m,g){var b;let x=null;if(typeof m=="function"||Array.isArray(m)?x=m:g===void 0&&m&&(g=m),typeof g=="string"&&(g=g.length),typeof g=="number"){const E=Math.round(g);g=E<1?void 0:E>8?{indent:8}:{indent:E}}if(d===void 0){const{keepUndefined:E}=(b=g!=null?g:m)!=null?b:{};if(!E)return}return isDocument(d)&&!x?d.toString(g):new Document(d,x,g).toString(g)}const YAML=Object.freeze(Object.defineProperty({__proto__:null,Alias,CST:cst,Composer,Document,Lexer,LineCounter,Pair,Parser:Parser$1,Scalar,Schema,YAMLError,YAMLMap,YAMLParseError,YAMLSeq,YAMLWarning,isAlias,isCollection:isCollection$1,isDocument,isMap:isMap$1,isNode,isPair,isScalar:isScalar$1,isSeq,parse:parse$1,parseAllDocuments,parseDocument,stringify,visit:visit$1,visitAsync},Symbol.toStringTag,{value:"Module"}));let G=null;class H{}H.render=function(d,m){G(d,m)};self.QrCreator=H;(function(d){function m(C,S,T,R){var k={},L=d(T,S);L.u(C),L.J(),R=R||0;var D=L.h(),A=L.h()+2*R;return k.text=C,k.level=S,k.version=T,k.O=A,k.a=function(I,N){return I-=R,N-=R,0>I||I>=D||0>N||N>=D?!1:L.a(I,N)},k}function g(C,S,T,R,k,L,D,A,I,N){function B(j,z,Y,W,U,V,J){j?(C.lineTo(z+V,Y+J),C.arcTo(z,Y,W,U,L)):C.lineTo(z,Y)}D?C.moveTo(S+L,T):C.moveTo(S,T),B(A,R,T,R,k,-L,0),B(I,R,k,S,k,0,-L),B(N,S,k,S,T,L,0),B(D,S,T,R,T,0,L)}function x(C,S,T,R,k,L,D,A,I,N){function B(j,z,Y,W){C.moveTo(j+Y,z),C.lineTo(j,z),C.lineTo(j,z+W),C.arcTo(j,z,j+Y,z,L)}D&&B(S,T,L,L),A&&B(R,T,-L,L),I&&B(R,k,-L,-L),N&&B(S,k,L,-L)}function b(C,S){var T=S.fill;if(typeof T=="string")C.fillStyle=T;else{var R=T.type,k=T.colorStops;if(T=T.position.map(D=>Math.round(D*S.size)),R==="linear-gradient")var L=C.createLinearGradient.apply(C,T);else if(R==="radial-gradient")L=C.createRadialGradient.apply(C,T);else throw Error("Unsupported fill");k.forEach(([D,A])=>{L.addColorStop(D,A)}),C.fillStyle=L}}function E(C,S){e:{var T=S.text,R=S.v,k=S.N,L=S.K,D=S.P;for(k=Math.max(1,k||1),L=Math.min(40,L||40);k<=L;k+=1)try{var A=m(T,R,k,D);break e}catch(ce){}A=void 0}if(!A)return null;for(T=C.getContext("2d"),S.background&&(T.fillStyle=S.background,T.fillRect(S.left,S.top,S.size,S.size)),R=A.O,L=S.size/R,T.beginPath(),D=0;D<R;D+=1)for(k=0;k<R;k+=1){var I=T,N=S.left+k*L,B=S.top+D*L,j=D,z=k,Y=A.a,W=N+L,U=B+L,V=j-1,J=j+1,Q=z-1,ee=z+1,Z=Math.floor(Math.min(.5,Math.max(0,S.R))*L),ie=Y(j,z),oe=Y(V,Q),re=Y(V,z);V=Y(V,ee);var X=Y(j,ee);ee=Y(J,ee),z=Y(J,z),J=Y(J,Q),j=Y(j,Q),N=Math.round(N),B=Math.round(B),W=Math.round(W),U=Math.round(U),ie?g(I,N,B,W,U,Z,!re&&!j,!re&&!X,!z&&!X,!z&&!j):x(I,N,B,W,U,Z,re&&j&&oe,re&&X&&V,z&&X&&ee,z&&j&&J)}return b(T,S),T.fill(),C}var v={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(C,S){var T={};Object.assign(T,v,C),T.N=T.minVersion,T.K=T.maxVersion,T.v=T.ecLevel,T.left=T.left,T.top=T.top,T.size=T.size,T.fill=T.fill,T.background=T.background,T.text=T.text,T.R=T.radius,T.P=T.quiet,S instanceof HTMLCanvasElement?((S.width!==T.size||S.height!==T.size)&&(S.width=T.size,S.height=T.size),S.getContext("2d").clearRect(0,0,S.width,S.height),E(S,T)):(C=document.createElement("canvas"),C.width=T.size,C.height=T.size,T=E(C,T),S.appendChild(T))}})(function(){function d(S){var T=g.s(S);return{S:function(){return 4},b:function(){return T.length},write:function(R){for(var k=0;k<T.length;k+=1)R.put(T[k],8)}}}function m(){var S=[],T=0,R={B:function(){return S},c:function(k){return(S[Math.floor(k/8)]>>>7-k%8&1)==1},put:function(k,L){for(var D=0;D<L;D+=1)R.m((k>>>L-D-1&1)==1)},f:function(){return T},m:function(k){var L=Math.floor(T/8);S.length<=L&&S.push(0),k&&(S[L]|=128>>>T%8),T+=1}};return R}function g(S,T){function R(j,z){for(var Y=-1;7>=Y;Y+=1)if(!(-1>=j+Y||A<=j+Y))for(var W=-1;7>=W;W+=1)-1>=z+W||A<=z+W||(D[j+Y][z+W]=0<=Y&&6>=Y&&(W==0||W==6)||0<=W&&6>=W&&(Y==0||Y==6)||2<=Y&&4>=Y&&2<=W&&4>=W)}function k(j,z){for(var Y=A=4*S+17,W=Array(Y),U=0;U<Y;U+=1){W[U]=Array(Y);for(var V=0;V<Y;V+=1)W[U][V]=null}for(D=W,R(0,0),R(A-7,0),R(0,A-7),Y=E.G(S),W=0;W<Y.length;W+=1)for(U=0;U<Y.length;U+=1){V=Y[W];var J=Y[U];if(D[V][J]==null)for(var Q=-2;2>=Q;Q+=1)for(var ee=-2;2>=ee;ee+=1)D[V+Q][J+ee]=Q==-2||Q==2||ee==-2||ee==2||Q==0&&ee==0}for(Y=8;Y<A-8;Y+=1)D[Y][6]==null&&(D[Y][6]=Y%2==0);for(Y=8;Y<A-8;Y+=1)D[6][Y]==null&&(D[6][Y]=Y%2==0);for(Y=E.w(L<<3|z),W=0;15>W;W+=1)U=!j&&(Y>>W&1)==1,D[6>W?W:8>W?W+1:A-15+W][8]=U,D[8][8>W?A-W-1:9>W?15-W:14-W]=U;if(D[A-8][8]=!j,7<=S){for(Y=E.A(S),W=0;18>W;W+=1)U=!j&&(Y>>W&1)==1,D[Math.floor(W/3)][W%3+A-8-3]=U;for(W=0;18>W;W+=1)U=!j&&(Y>>W&1)==1,D[W%3+A-8-3][Math.floor(W/3)]=U}if(I==null){for(j=C.I(S,L),Y=m(),W=0;W<N.length;W+=1)U=N[W],Y.put(4,4),Y.put(U.b(),E.f(4,S)),U.write(Y);for(W=U=0;W<j.length;W+=1)U+=j[W].j;if(Y.f()>8*U)throw Error("code length overflow. ("+Y.f()+">"+8*U+")");for(Y.f()+4<=8*U&&Y.put(0,4);Y.f()%8!=0;)Y.m(!1);for(;!(Y.f()>=8*U)&&(Y.put(236,8),!(Y.f()>=8*U));)Y.put(17,8);var Z=0;for(U=W=0,V=Array(j.length),J=Array(j.length),Q=0;Q<j.length;Q+=1){var ie=j[Q].j,oe=j[Q].o-ie;for(W=Math.max(W,ie),U=Math.max(U,oe),V[Q]=Array(ie),ee=0;ee<V[Q].length;ee+=1)V[Q][ee]=255&Y.B()[ee+Z];for(Z+=ie,ee=E.C(oe),ie=x(V[Q],ee.b()-1).l(ee),J[Q]=Array(ee.b()-1),ee=0;ee<J[Q].length;ee+=1)oe=ee+ie.b()-J[Q].length,J[Q][ee]=0<=oe?ie.c(oe):0}for(ee=Y=0;ee<j.length;ee+=1)Y+=j[ee].o;for(Y=Array(Y),ee=Z=0;ee<W;ee+=1)for(Q=0;Q<j.length;Q+=1)ee<V[Q].length&&(Y[Z]=V[Q][ee],Z+=1);for(ee=0;ee<U;ee+=1)for(Q=0;Q<j.length;Q+=1)ee<J[Q].length&&(Y[Z]=J[Q][ee],Z+=1);I=Y}for(j=I,Y=-1,W=A-1,U=7,V=0,z=E.F(z),J=A-1;0<J;J-=2)for(J==6&&--J;;){for(Q=0;2>Q;Q+=1)D[W][J-Q]==null&&(ee=!1,V<j.length&&(ee=(j[V]>>>U&1)==1),z(W,J-Q)&&(ee=!ee),D[W][J-Q]=ee,--U,U==-1&&(V+=1,U=7));if(W+=Y,0>W||A<=W){W-=Y,Y=-Y;break}}}var L=b[T],D=null,A=0,I=null,N=[],B={u:function(j){j=d(j),N.push(j),I=null},a:function(j,z){if(0>j||A<=j||0>z||A<=z)throw Error(j+","+z);return D[j][z]},h:function(){return A},J:function(){for(var j=0,z=0,Y=0;8>Y;Y+=1){k(!0,Y);var W=E.D(B);(Y==0||j>W)&&(j=W,z=Y)}k(!1,z)}};return B}function x(S,T){if(typeof S.length=="undefined")throw Error(S.length+"/"+T);var R=function(){for(var L=0;L<S.length&&S[L]==0;)L+=1;for(var D=Array(S.length-L+T),A=0;A<S.length-L;A+=1)D[A]=S[A+L];return D}(),k={c:function(L){return R[L]},b:function(){return R.length},multiply:function(L){for(var D=Array(k.b()+L.b()-1),A=0;A<k.b();A+=1)for(var I=0;I<L.b();I+=1)D[A+I]^=v.i(v.g(k.c(A))+v.g(L.c(I)));return x(D,0)},l:function(L){if(0>k.b()-L.b())return k;for(var D=v.g(k.c(0))-v.g(L.c(0)),A=Array(k.b()),I=0;I<k.b();I+=1)A[I]=k.c(I);for(I=0;I<L.b();I+=1)A[I]^=v.i(v.g(L.c(I))+D);return x(A,0).l(L)}};return k}g.s=function(S){for(var T=[],R=0;R<S.length;R++){var k=S.charCodeAt(R);128>k?T.push(k):2048>k?T.push(192|k>>6,128|k&63):55296>k||57344<=k?T.push(224|k>>12,128|k>>6&63,128|k&63):(R++,k=65536+((k&1023)<<10|S.charCodeAt(R)&1023),T.push(240|k>>18,128|k>>12&63,128|k>>6&63,128|k&63))}return T};var b={L:1,M:0,Q:3,H:2},E=function(){function S(k){for(var L=0;k!=0;)L+=1,k>>>=1;return L}var T=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],R={w:function(k){for(var L=k<<10;0<=S(L)-S(1335);)L^=1335<<S(L)-S(1335);return(k<<10|L)^21522},A:function(k){for(var L=k<<12;0<=S(L)-S(7973);)L^=7973<<S(L)-S(7973);return k<<12|L},G:function(k){return T[k-1]},F:function(k){switch(k){case 0:return function(L,D){return(L+D)%2==0};case 1:return function(L){return L%2==0};case 2:return function(L,D){return D%3==0};case 3:return function(L,D){return(L+D)%3==0};case 4:return function(L,D){return(Math.floor(L/2)+Math.floor(D/3))%2==0};case 5:return function(L,D){return L*D%2+L*D%3==0};case 6:return function(L,D){return(L*D%2+L*D%3)%2==0};case 7:return function(L,D){return(L*D%3+(L+D)%2)%2==0};default:throw Error("bad maskPattern:"+k)}},C:function(k){for(var L=x([1],0),D=0;D<k;D+=1)L=L.multiply(x([1,v.i(D)],0));return L},f:function(k,L){if(k!=4||1>L||40<L)throw Error("mode: "+k+"; type: "+L);return 10>L?8:16},D:function(k){for(var L=k.h(),D=0,A=0;A<L;A+=1)for(var I=0;I<L;I+=1){for(var N=0,B=k.a(A,I),j=-1;1>=j;j+=1)if(!(0>A+j||L<=A+j))for(var z=-1;1>=z;z+=1)0>I+z||L<=I+z||(j!=0||z!=0)&&B==k.a(A+j,I+z)&&(N+=1);5<N&&(D+=3+N-5)}for(A=0;A<L-1;A+=1)for(I=0;I<L-1;I+=1)N=0,k.a(A,I)&&(N+=1),k.a(A+1,I)&&(N+=1),k.a(A,I+1)&&(N+=1),k.a(A+1,I+1)&&(N+=1),(N==0||N==4)&&(D+=3);for(A=0;A<L;A+=1)for(I=0;I<L-6;I+=1)k.a(A,I)&&!k.a(A,I+1)&&k.a(A,I+2)&&k.a(A,I+3)&&k.a(A,I+4)&&!k.a(A,I+5)&&k.a(A,I+6)&&(D+=40);for(I=0;I<L;I+=1)for(A=0;A<L-6;A+=1)k.a(A,I)&&!k.a(A+1,I)&&k.a(A+2,I)&&k.a(A+3,I)&&k.a(A+4,I)&&!k.a(A+5,I)&&k.a(A+6,I)&&(D+=40);for(I=N=0;I<L;I+=1)for(A=0;A<L;A+=1)k.a(A,I)&&(N+=1);return D+=Math.abs(100*N/L/L-50)/5*10}};return R}(),v=function(){for(var S=Array(256),T=Array(256),R=0;8>R;R+=1)S[R]=1<<R;for(R=8;256>R;R+=1)S[R]=S[R-4]^S[R-5]^S[R-6]^S[R-8];for(R=0;255>R;R+=1)T[S[R]]=R;return{g:function(k){if(1>k)throw Error("glog("+k+")");return T[k]},i:function(k){for(;0>k;)k+=255;for(;256<=k;)k-=255;return S[k]}}}(),C=function(){function S(k,L){switch(L){case b.L:return T[4*(k-1)];case b.M:return T[4*(k-1)+1];case b.Q:return T[4*(k-1)+2];case b.H:return T[4*(k-1)+3]}}var T=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],R={I:function(k,L){var D=S(k,L);if(typeof D=="undefined")throw Error("bad rs block @ typeNumber:"+k+"/errorCorrectLevel:"+L);k=D.length/3,L=[];for(var A=0;A<k;A+=1)for(var I=D[3*A],N=D[3*A+1],B=D[3*A+2],j=0;j<I;j+=1){var z=B,Y={};Y.o=N,Y.j=z,L.push(Y)}return L}};return R}();return g}());const QrCreator$1=QrCreator,SYS_ICONS={login:["👤","user"],user:["👤","user"],filter:["✂"],search:["🔍"],search_off:["❌","cancel"],close:["❌","cancel"],error:["❌","cancel"],stop:["⏹️"],options:["⚙","cog"],archive:["📦"],logout:["🚪"],home:["🏠"],parent:["⬅","left"],folder:["📂"],file:["📄","doc"],spinner:["🎲","spin6 spinner"],password:["🗝️","key"],download:["⬇️"],upload:["⬆️"],reload:["🔄","reload"],lock:["🔒","lock"],admin:["👑","crown"],check:["✔️"],to_start:["◀"],to_end:["▶"],menu:["☰"],list:["☰","menu"],play:["▶"],pause:["⏸"],edit:["✏️"],zoom:["↔"],delete:["🗑️","trash"],comment:["💬"],link:["↗"],info:["ⓘ"],cut:["✄"],paste:["📋"],copy:["⧉"],shuffle:["🔀"],repeat:["🔁","reload"],success:["👍","check"],warning:["⚠️",!1],audio:["🎧"],video:["🎥"],image:["📸"],cancel:["❌","cancel"],total:["➕","spin6"],eye:["👁️"]};function subscribeKey(d,m,g,x){let b=d[m];return subscribe(d,()=>{const E=d[m];Object.is(b,E)||g(b=E)},x)}let currentCleanups;function watch(d,m){let g=!0;const x=new Set,b=new Map,E=()=>{g&&(g=!1,x.forEach(C=>C()),x.clear(),b.forEach(C=>C()),b.clear())},v=()=>yt(this,null,function*(){if(!g)return;x.forEach(T=>T()),x.clear();const C=new Set,S=currentCleanups;currentCleanups=x;try{const T=d(k=>{if(C.add(k),g&&!b.has(k)){const L=subscribe(k,v,m==null?void 0:m.sync);b.set(k,L)}return k}),R=T&&T instanceof Promise?yield T:T;R&&(g?x.add(R):E())}finally{currentCleanups=S}b.forEach((T,R)=>{C.has(R)||(b.delete(R),T())})});return currentCleanups&&currentCleanups.add(E),v(),E}const ANY_LANGUAGE="all";function i18nFromTranslations(d,m="en"){const g=proxy({embedded:m,disabled:!1,translations:d}),x=[];watch(T=>{const R=T(g);x.splice(0,1/0,ANY_LANGUAGE,...R.disabled?[]:Object.keys(R.translations),R.embedded)});const b=new Set;function E(){return Object.keys(g.translations)}function v(T,R,k){var j,z;if(!T)return"";const L=S(T)?[k!=null?k:k=T[0]]:Array.isArray(T)?T:[T];typeof R=="string"&&!k&&(k=R,R=null);let D,A="";const{embedded:I}=g,N=Object.keys(g.translations);for(const Y of L){for(const W of x)if(D=(z=(j=g.translations[A=W])==null?void 0:j.translate)==null?void 0:z[Y])break;if(D)break;!b.has(Y)&&N.length&&N[0]!==I&&(b.add(Y),console.debug("i18n miss:",Y))}return D||(D=k||L[L.length-1],A=I),Array.from(C(D)).map(([Y,W])=>{if(!W)return Y;const[U,V,J]=Y.split(",").map(ee=>ee.trim());if(!R)throw"missing params on "+L[0];const Q=U&&R[U];return V==="plural"&&J?B(Q,J):Q||Q===0?Q:""}).join("");function B(Y,W){const U=Intl.PluralRules?new Intl.PluralRules(A||I).select(Number(Y)):"other";let V="",J=!1,Q=!1;for(const[Z,ie]of C(W)){if(J)return ee(Z);if(Q&&(V=Z,Q=!1),ie)continue;const oe=Z.trim().split(/\s+/);J=oe.some(re=>re[0]==="="&&Y===Number(re.slice(1))||re===U),Q=!J&&oe.includes("other")}return ee(V);function ee(Z){return Z.replace("#",String(Y))}}}function*C(T){let R=0;for(;;){const k=T.indexOf("{",R);if(k<0)break;yield[T.slice(R,k),!1];let L=1;for(R=k+1;L&&R<T.length;)T[R]==="{"?L++:T[R]==="}"&&L--,R++;if(L)return console.debug("Tokenizer: unclosed");yield[T.slice(k+1,R-1),!0]}yield[T.slice(R),!1]}function S(T){return(T==null?void 0:T.raw)&&Array.isArray(T)}return{t:v,state:g,getLangs:E,i18nWrapperProps:()=>({lang:E()[0]||g.embedded}),useI18N(){return useSnapshot(g),{t:v}}}}const state$1=proxy(Rt(Oe({uploadOnExisting:getHFS().dontOverwriteUploading?"rename":"skip",uri:"",canChangePassword:!1,props:{}},objSameKeys(FRONTEND_OPTIONS,(d,m)=>{var g;return(g=getHFS()[m])!=null?g:d})),{iconsReady:!1,username:"",list:[],clip:[],loading:!1,listReloader:0,patternFilter:"",showFilter:!1,selected:{},remoteSearch:void 0}));function useSnapState$1(){return useSnapshot(state$1)}const SETTINGS_KEY="hfs_settings",SETTINGS_WITHOUT_GUI=["file_menu_on_link","page_size","title_with_path"],SETTINGS_TO_STORE$1=_.difference(typedKeys(FRONTEND_OPTIONS),SETTINGS_WITHOUT_GUI).concat(["uploadOnExisting"]);loadSettings();for(const d of SETTINGS_TO_STORE$1)subscribeKey(state$1,d,storeSettings$1);function loadSettings(){const d=localStorage.getItem(SETTINGS_KEY);if(!d)return;let m;try{m=JSON.parse(d)}catch(g){console.error("invalid settings stored",d);return}for(const g of SETTINGS_TO_STORE$1){const x=m[g];x!==void 0&&(state$1[g]=x)}}function storeSettings$1(){localStorage.setItem(SETTINGS_KEY,JSON.stringify(_.pick(state$1,SETTINGS_TO_STORE$1)))}const of=class of{constructor(m,g){var b,E;if(this.ext="",this.isFolder=m.endsWith("/"),this.isFolder&&(m=m.slice(0,-1)),Object.assign(this,g),this.n=m,this.uri=(g==null?void 0:g.url)||(!m||m[0]==="/"?"":location.pathname)+pathEncode(m)+(this.isFolder?"/":""),!this.isFolder){const v=m.lastIndexOf(".")+1;this.ext=v?m.substring(v).toLowerCase():""}this.c&&(this.c=new Date(this.c)),this.m=this.m?new Date(this.m):this.c,this.name=m.slice(m.lastIndexOf("/")+1);const x=this.isFolder&&!this.web?"L":"R";this.cantOpen=(b=this.p)!=null&&b.match(x)?!0:(E=this.p)!=null&&E.match(x.toLowerCase())?of.FORBIDDEN:void 0}isRoot(){return!this.name}getNext(){return this.getSibling(1)}getPrevious(){return this.getSibling(-1)}getNextFiltered(){return this.getSibling(1,state$1.filteredList)}getPreviousFiltered(){return this.getSibling(-1,state$1.filteredList)}getSibling(m,g=state$1.list){return g[m+g.findIndex(x=>x.n===this.n)]}getDefaultIcon(){var m;return hIcon(this.icon===!0?`${this.n}?get=icon`:(m=this.icon)!=null?m:this.isFolder||this.web?"folder":this.url?"link":ext2type(this.ext)||"file")}canArchive(){var m,g,x;return((m=this.p)==null?void 0:m.includes("A"))||((g=state$1.props)==null?void 0:g.can_archive)&&!((x=this.p)!=null&&x.includes("a"))}canDelete(){var m,g,x;return!this.isRoot()&&(((m=this.p)==null?void 0:m.includes("D"))||((g=state$1.props)==null?void 0:g.can_delete_children)&&!((x=this.p)!=null&&x.includes("d")))}canUpload(){var m,g,x;return this.isFolder&&(((m=this.p)==null?void 0:m.includes("U"))||((g=state$1.props)==null?void 0:g.can_upload)&&!((x=this.p)!=null&&x.includes("u")))}canSelect(){return this.url||this.isRoot()?!1:this.canArchive()||this.canDelete()||hfsEvent("enableEntrySelection",{entry:this}).some(Boolean)}};of.FORBIDDEN="FORBIDDEN";let DirEntry=of;const exts={image:["jpeg","jpg","gif","png","webp","svg"],audio:["mp3","wav","m4a","ogg","flac"],video:["mp4","mpeg","mpg","webm","mov","m4v","mkv"],archive:["zip","rar","gz","tgz"]};function ext2type(d){return _.findKey(exts,m=>m.includes(d))}const i18n=i18nFromTranslations(getHFS().lang||{},EMBEDDED_LANGUAGE);i18n.state.disabled=!urlParams.lang&&state$1.disableTranslation;function toast$1(d,m="info",{timeout:g=5e3}={}){console.debug("toast",d);const x=Math.random();toasts.push({id:x,content:reactExports.isValidElement(d)?ref(d):d,type:reactExports.isValidElement(m)?ref(m):m,close:E});const b=pendingPromise();return setTimeout(E,g),{close:E,closed:b};function E(){const v=_.find(toasts,{id:x});v&&(v.closed=!0,b.resolve())}}const toasts=proxy([]),{t:t$d}=i18n;_.merge(dialogsDefaults,{closableProps:{"aria-label":t$d`Close`}});function promptDialog$1(L){return yt(this,arguments,function*(d,R={}){var k=R,{value:m,type:g,helperText:x,trim:b=!0,inputProps:E,onSubmit:v,onField:C,placeholder:S}=k,T=Vt(k,["value","type","helperText","trim","inputProps","onSubmit","onField","placeholder"]);const D=g==="textarea"&&g;return new Promise(I=>newDialog(Rt(Oe({className:"dialog-prompt",icon:"?",onClose:I},T),{Content:A})));function A(){const I=reactExports.useRef();return reactExports.useEffect(()=>{const B=I.current;if(!B)return;const j=B;if(setTimeout(()=>j.focus(),100),m&&(j.value=m),C==null||C(j),D){let z=function(){j.style.height="auto",j.style.height=j.scrollHeight+5+"px"};setTimeout(z),j.addEventListener("input",z)}},[D]),reactExports.createElement("form",{},reactExports.createElement("label",{htmlFor:"input"},d),reactExports.createElement(D||"input",Rt(Oe({ref:I,type:g,name:"input",autoFocus:!0,placeholder:S},E),{style:Oe({width:m?m.length/2+"em":"auto",minWidth:"100%",maxWidth:"100%",boxSizing:"border-box"},D&&{width:"30em",maxHeight:"70vh"}),onKeyDown(B){const{key:j}=B;if(j==="Escape")return closeDialog();if((D?isCtrlKey(B):j)==="Enter")return B.preventDefault(),N()}})),x&&reactExports.createElement("div",{style:{fontSize:"smaller",marginTop:".2em"}},x),reactExports.createElement("div",{style:{textAlign:"right",marginTop:".8em"}},reactExports.createElement("button",{onClick:N},t$d`Continue`)));function N(){return yt(this,null,function*(){var j,z;let B=(j=I.current)==null?void 0:j.value;b&&(B=B==null?void 0:B.trim());try{v&&B!==void 0&&(B=(z=yield v==null?void 0:v(B))!=null?z:B),closeDialog(B)}catch(Y){alertDialog$1(Y,"error")}})}}})}function formDialog$1(m){return yt(this,null,function*(){var d=Vt(m,[]);return new Promise(g=>{const{close:x}=newDialog(Rt(Oe({className:"dialog-form"},d),{onClose:g,Content(){return reactExports.createElement("form",{onSubmit(b){b.preventDefault(),x(Object.fromEntries(new FormData(b.target).entries()))}},reactExports.createElement(d.Content))}}))})})}let msgShowing;function alertDialog$1(d,m="info",g=""){if(d===msgShowing)return;const x=msgShowing;msgShowing=d,d instanceof Error&&(m="error");const b=pendingPromise();return b.finally(()=>{d===msgShowing&&(msgShowing=x)}),Object.assign(b,newDialog({className:"dialog-alert dialog-alert-"+m,title:g||t$d(_.capitalize(m)),icon:"!",onClose:b.resolve,dialogProps:{role:"alertdialog"},Content(){if(d instanceof Error){const E=err2msg(d),v=d.message;d=reactExports.createElement("div",{},E,v!==E&&reactExports.createElement("div",{style:{marginTop:20,fontSize:"small"}},v))}return typeof d=="string"&&(d=reactExports.createElement("p",{},d)),d}}))}function confirmDialog$1(d,m={}){const R=m,{href:g,afterButtons:x,timeout:b,timeoutConfirm:E=!1}=R,v=Vt(R,["href","afterButtons","timeout","timeoutConfirm"]);typeof d=="string"&&(d=reactExports.createElement("p",{},d));const C=pendingPromise(),S=newDialog(Rt(Oe({className:"dialog-confirm",icon:"?",onClose:C.resolve},v),{Content:T}));return Object.assign(C,S);function T(){const[k,L]=reactExports.useState(Math.ceil(b||0));useInterval(()=>L(A=>Math.max(0,A-1)),1e3);const D=b&&b>0&&b<60&&` (${k})`||"";return reactExports.useEffect(()=>{b&&!k&&S.close(E)},[k]),reactExports.createElement("div",{},d,reactExports.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"1em"}},reactExports.createElement("a",{href:g,tabIndex:-1,onClick(){S.close(!0)}},reactExports.createElement("button",{},t$d`Yes`,E&&D)),reactExports.createElement("button",{onClick(){S.close(!1)}},t$d`Don't`,!E&&D),x))}}const dialogLib=Object.freeze(Object.defineProperty({__proto__:null,Dialogs,alertDialog:alertDialog$1,anyDialogOpen,closeDialog,componentOrNode,confirmDialog:confirmDialog$1,dialogsDefaults,focusableSelector,formDialog:formDialog$1,isDescendant,newDialog,promptDialog:promptDialog$1,toast:toast$1},Symbol.toStringTag,{value:"Module"})),{t:t$c}=i18n;function Spinner(d){return hIcon("spinner",Oe({className:"spinner"},d))}const Flex$1=reactExports.forwardRef((S,C)=>{var T=S,{gap:d=".8em",center:m=!1,vert:g=!1,children:x=null,className:b="",props:E={}}=T,v=Vt(T,["gap","center","vert","children","className","props"]);return reactExports.createElement("div",Oe({ref:C,className:b,style:Oe({display:"flex",gap:d,flexDirection:g?"column":void 0,alignItems:g?void 0:"center",justifyContent:m?"center":void 0},v)},E),x)}),FlexV=reactExports.forwardRef((d,m)=>reactExports.createElement(Flex$1,Oe({ref:m,vert:!0},d))),Checkbox=reactExports.forwardRef((C,v)=>{var S=C,{onChange:d,value:m,children:g,labelProps:x,id:b}=S,E=Vt(S,["onChange","value","children","labelProps","id"]);const T=reactExports.createElement("input",Oe(Rt(Oe({ref:v,type:"checkbox",onChange:R=>d==null?void 0:d(!!R.target.checked,R)},m!==void 0&&{checked:!!m}),{value:1,id:g?void 0:b}),E));return g?reactExports.createElement("label",Oe({id:b},x),T,g):T});function CustomCode(b){var E=b,{name:d,children:m,render:g}=E,x=Vt(E,["name","children","render"]);const v=reactExports.useMemo(()=>hfsEvent(d,Object.assign(x,{def:m})),[d,m,...x?Object.values(x):[]]),[C,S]=useStateMounted([]);return reactExports.useEffect(()=>{var L,D;if(v.isDefaultPrevented()||v.some(A=>A===null))return S(null);const T=v.map(k);v.forEach((A,I)=>{typeof(A==null?void 0:A.then)=="function"&&A.then(N=>{T[I]=k(N,I),S(onlyTruthy(T))},()=>{})});const R=(L=getHFS().customHtml)==null?void 0:L[d];(D=R==null?void 0:R.trim)!=null&&D.call(R)&&T.push(k(R,-1)),S(onlyTruthy(T));function k(A,I){return reactExports.isValidElement(A)?reactExports.createElement(reactExports.Fragment,{key:I},A):A===0||A&&isPrimitive(A)?reactExports.createElement(Html,{key:I},String(A)):_.isArray(A)?reactExports.createElement(reactExports.Fragment,{key:I},...A):null}},[v]),g!=null||(g=_.identity),reactExports.createElement(reactExports.Fragment,{},g(C&&(C!=null&&C.length||!m?C:m)))}function iconBtn(d,m,b={}){var E=b,{title:g}=E,x=Vt(E,["title"]);return reactExports.createElement("button",Rt(Oe({title:g!=null?g:t$c(_.capitalize(d)),onClick:m},x),{className:"icon-button "+(x.className||"")}),d.length>1?hIcon(d):d)}function Btn$1(T){var R=T,{icon:d,label:m,tooltip:g,toggled:x,onClick:b,onClickAnimation:E,asText:v,successFeedback:C}=R,S=Vt(R,["icon","label","tooltip","toggled","onClick","onClickAnimation","asText","successFeedback"]);const[k,L]=reactExports.useState(!1),[D,A]=reactExports.useState(!1),I=reactExports.useRef();return reactExports.createElement(v?"a":"button",Rt(Oe(Oe({title:m+prefix(" - ",g),"aria-label":m,"aria-pressed":x,onClick(N){v&&N.preventDefault(),b&&(E!==!1&&L(!0),Promise.resolve().then(b).finally(()=>L(!1)).then(()=>{C&&(A(!0),clearTimeout(I.current),I.current=setTimeout(()=>A(!1),1e3))},B=>alertDialog$1(B,"error")))}},S),v?{role:"button",style:Oe({cursor:"pointer"},S.style)}:void 0),{className:[S.className,x&&"toggled",k&&"ani-working",D&&"success"].filter(Boolean).join(" ")}),d&&(reactExports.isValidElement(d)?d:hIcon(d)),reactExports.createElement("span",{className:"label"},m))}function Bytes(g){var x=g,{bytes:d}=x,m=Vt(x,["bytes"]);return reactExports.createElement("span",Oe(Oe({},noAriaTitle(d.toLocaleString())),m),formatBytes(d))}const documentComplete=document.readyState==="complete"?Promise.resolve():new Promise(d=>document.addEventListener("readystatechange",d));var Om;Promise.race([documentComplete,(Om=document.fonts)==null?void 0:Om.ready]).then(()=>yt(void 0,null,function*(){if(!document.fonts)return state$1.iconsReady=!0;const d="9px fontello";yield document.fonts.load(d),state$1.iconsReady=document.fonts.check(d)}));const Icon=reactExports.memo(b=>{var E=b,{name:d,alt:m,className:g=""}=E,x=Vt(E,["name","alt","className"]);var L,D;if(!d)return null;d=(D=(L=getHFS().icons)==null?void 0:L[d])!=null?D:d;const[v,C=d]=SYS_ICONS[d]||[],{iconsReady:S}=useSnapState$1();g+=" icon";const T=d.length===1||d.match(/^[\uD800-\uDFFF\u2600-\u27BF\u2B00-\u2BFF\u3030-\u303F\u3297\u3299\u00A9\u00AE\u200D\u20E3\uFE0F\u2190-\u21FF\u2300-\u23FF\u2400-\u243F\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF]*$/),R=!T&&/[/?]/.test(d),k=S&&C;return g+=R?" file-icon":k?` font-icon fa-${C}`:" emoji-icon",reactExports.createElement("span",Rt(Oe(Oe(Rt(Oe({},m?{"aria-label":m}:{"aria-hidden":!0}),{role:"img"}),x),R?{style:Oe({backgroundImage:`url(${JSON.stringify(d)})`},x==null?void 0:x.style)}:void 0),{className:g}),T?d:k?null:v||"#")});function parse(d,m){if(d instanceof RegExp)return{keys:!1,pattern:d};var g,x,b,E,v=[],C="",S=d.split("/");for(S[0]||S.shift();b=S.shift();)g=b[0],g==="*"?(v.push(g),C+=b[1]==="?"?"(?:/(.*))?":"/(.*)"):g===":"?(x=b.indexOf("?",1),E=b.indexOf(".",1),v.push(b.substring(1,~x?x:~E?E:b.length)),C+=~x&&!~E?"(?:/([^/]+?))?":"/([^/]+?)",~E&&(C+=(~x?"?":"")+"\\"+b.substring(E))):C+="/"+b;return{keys:v,pattern:new RegExp("^"+C+(m?"(?=$|/)":"/?$"),"i")}}const useBuiltinInsertionEffect=React$1.useInsertionEffect,canUseDOM=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",useIsomorphicLayoutEffect=canUseDOM?reactExports.useLayoutEffect:reactExports.useEffect,useInsertionEffect=useBuiltinInsertionEffect||useIsomorphicLayoutEffect,useEvent=d=>{const m=reactExports.useRef([d,(...g)=>m[0](...g)]).current;return useInsertionEffect(()=>{m[0]=d}),m[1]},eventPopstate="popstate",eventPushState="pushState",eventReplaceState="replaceState",eventHashchange="hashchange",events=[eventPopstate,eventPushState,eventReplaceState,eventHashchange],subscribeToLocationUpdates=d=>{for(const m of events)addEventListener(m,d);return()=>{for(const m of events)removeEventListener(m,d)}},useLocationProperty=(d,m)=>shimExports.useSyncExternalStore(subscribeToLocationUpdates,d,m),currentSearch=()=>location.search,useSearch=({ssrSearch:d}={})=>useLocationProperty(currentSearch,d!=null?()=>d:currentSearch),currentPathname=()=>location.pathname,usePathname=({ssrPath:d}={})=>useLocationProperty(currentPathname,d!=null?()=>d:currentPathname),navigate=(d,{replace:m=!1,state:g=null}={})=>history[m?eventReplaceState:eventPushState](g,"",d),useBrowserLocation=(d={})=>[usePathname(d),navigate],patchKey=Symbol.for("wouter_v3");if(typeof history!="undefined"&&typeof window[patchKey]=="undefined"){for(const d of[eventPushState,eventReplaceState]){const m=history[d];history[d]=function(){const g=m.apply(this,arguments),x=new Event(d);return x.arguments=arguments,dispatchEvent(x),g}}Object.defineProperty(window,patchKey,{value:!0})}const _relativePath=(d,m)=>m.toLowerCase().indexOf(d.toLowerCase())?"~"+m:m.slice(d.length)||"/",baseDefaults=(d="")=>d==="/"?"":d,absolutePath=(d,m)=>d[0]==="~"?d.slice(1):baseDefaults(m)+d,relativePath=(d="",m)=>_relativePath(unescape(baseDefaults(d)),unescape(m)),unescape=d=>{try{return decodeURI(d)}catch(m){return d}},defaultRouter={hook:useBrowserLocation,searchHook:useSearch,parser:parse,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:d=>d,aroundNav:(d,m,g)=>d(m,g)},RouterCtx=reactExports.createContext(defaultRouter),useRouter=()=>reactExports.useContext(RouterCtx),Params0={};reactExports.createContext(Params0);const useLocationFromRouter=d=>{const[m,g]=d.hook(d);return[relativePath(d.base,m),useEvent((x,b)=>d.aroundNav(g,absolutePath(x,d.base),b))]},Link$1=reactExports.forwardRef((d,m)=>{const g=useRouter(),[x,b]=useLocationFromRouter(g),B=d,{to:E="",href:v=E,onClick:C,asChild:S,children:T,className:R,replace:k,state:L,transition:D}=B,A=Vt(B,["to","href","onClick","asChild","children","className","replace","state","transition"]),I=useEvent(j=>{j.ctrlKey||j.metaKey||j.altKey||j.shiftKey||j.button!==0||(C==null||C(j),j.defaultPrevented||(j.preventDefault(),b(v,d)))}),N=g.hrefs(v[0]==="~"?v.slice(1):g.base+v,g);return S&&reactExports.isValidElement(T)?reactExports.cloneElement(T,{onClick:I,href:N}):reactExports.createElement("a",Rt(Oe({},A),{onClick:I,href:N,className:R!=null&&R.call?R(x===v):R,children:T,ref:m}))});function Link(x){var b=x,{to:d,reloadDocument:m}=b,g=Vt(b,["to","reloadDocument"]);return m?reactExports.createElement("a",Oe({href:d},g)):reactExports.createElement(Link$1,Oe({href:d},g))}const{t:t$b}=i18n;function srpClientSequence(d,m,g,x,b){return yt(this,null,function*(){const{pubKey:E,salt:v}=yield x("loginSrp1",{username:m});if(!v)throw Error("salt");const C=yield srpClientPart(d,m,g,v,E),S=yield x("loginSrp2",Oe({pubKey:String(C.A),proof:String(C.M1)},b));return yield C.step3(BigInt(S.proof)).catch(()=>Promise.reject("trust")),S})}function srpClientPart(d,m,g,x,b){return yt(this,null,function*(){const E=new d.SRPRoutines(new d.SRPParameters);return yield(yield new d.SRPClientSession(E).step1(m,g)).step2(BigInt(x),BigInt(b))})}const{t:t$a,useI18N:useI18N$9}=i18n;function login$1(d,m,g){return yt(this,null,function*(){const x=working();return withSrpLib(srpClientSequence)(d,m,apiCall,g).catch(b=>{if(b.code==HTTP_METHOD_NOT_ALLOWED||!m)return apiCall("login",Oe({username:d,password:m},g));throw b}).then(b=>(hfsEvent("loginOk",{username:d}),refreshSession$1(b),state$1.loginRequired=!1,b),b=>{throw hfsEvent("loginFailed",{username:d,error:b}),Error(b.data==="trust"?t$a("login_untrusted","Login aborted: server identity cannot be trusted"):b.code===HTTP_UNAUTHORIZED&&!b.data?t$a("login_bad_credentials","Invalid credentials"):b.code===HTTP_CONFLICT?t$a("login_bad_cookies","Cookies are not working - login failed"):t$a(b.message||String(b)))}).finally(x)})}const refreshSession$1=makeSessionRefresher(state$1);function logout(){return apiCall("logout",{},{modal:working}).catch(d=>{if(d.code!==HTTP_UNAUTHORIZED)throw d;if(refreshSession$1(),fallbackToBasicAuth())return location.reload();reloadList(),toast$1(t$a`Logged out`,"success")})}let closeLoginDialog,lastPromise;function loginDialog(d=!0,m=!0){return yt(this,null,function*(){return lastPromise=new Promise(g=>{if(fallbackToBasicAuth())return location.href="/?get=login";if(closeLoginDialog)return lastPromise;let x=!1;const{close:b}=newDialog({closable:d,className:"login-dialog",icon:()=>hIcon("login"),onClose(E){g(E),closeLoginDialog=void 0},title:()=>reactExports.createElement(reactExports.Fragment,{},useI18N$9().t("Login")),Content(){const E=reactExports.useRef(),v=reactExports.useRef(),C=reactExports.useRef(),[S,T]=reactExports.useState(!1),{t:R}=useI18N$9();return reactExports.createElement("form",{onSubmit(D){D.preventDefault(),L(D)}},reactExports.createElement(CustomCode,{name:"beforeLogin"}),reactExports.createElement(CustomCode,{name:"loginUsernameField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_username"},R`Username`),reactExports.createElement("input",{ref:E,id:"login_username",name:"username",autoComplete:"username",autoFocus:!0,required:!0,onKeyDown:k}))),reactExports.createElement(CustomCode,{name:"loginPasswordField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_password"},R`Password`),reactExports.createElement("div",{className:"password-field"},reactExports.createElement("input",{ref:v,id:"login_password",name:"password",type:S?"text":"password",autoComplete:"current-password",required:!0,onKeyDown:k}),reactExports.createElement("button",{type:"button",className:"password-eye","aria-hidden":!0,tabIndex:-1,onPointerDown(D){D.preventDefault(),T(!0)},onPointerUp:()=>T(!1),onPointerEnter:()=>T(!0),onPointerLeave:()=>T(!1),onPointerCancel:()=>T(!1)},hIcon("eye"))))),reactExports.createElement(CustomCode,{name:"beforeLoginSubmit"}),reactExports.createElement("div",{className:"submit"},reactExports.createElement("button",{type:"submit"},R`Continue`)),reactExports.createElement("div",{id:"login-options"},reactExports.createElement(Checkbox,{ref:C,id:ALLOW_SESSION_IP_CHANGE},R(ALLOW_SESSION_IP_CHANGE,"Allow IP change during this session"))));function k(D){const{key:A}=D;if(A==="Escape")return b(null);if(A==="Enter")return L(D)}function L(D){return yt(this,null,function*(){var Y,W;const A=D.target instanceof HTMLElement&&D.target.closest("form");if(!A)return;D.stopPropagation();const z=_.pickBy(Object.fromEntries(new FormData(A).entries()),_.isString),{username:I,password:N}=z,B=Vt(z,["username","password"]),j=I.trim();if(!(x||!j)){x=!0;try{const U=yield login$1(j,N,Oe({[ALLOW_SESSION_IP_CHANGE]:(Y=C.current)==null?void 0:Y.checked},B)).finally(()=>x=!1);yield b(!0),toast$1(R`Logged in`,"success"),U!=null&&U.redirect?setTimeout(()=>getHFS().navigate(U.redirect),10):m&&reloadList()}catch(U){yield alertDialog$1(U),(W=E.current)==null||W.focus()}}})}}});closeLoginDialog=b})})}const{t:t$9,useI18N:useI18N$8}=i18n,{t:t$8,useI18N:useI18N$7}=i18n;function cut(d){if(state$1.clip=d,d.length)return toast$1(t$8("after_cut",`Your selection is now in the clipboard.
760
760
  Go to destination folder to paste.`),"info")}const{t:t$7,useI18N:useI18N$6}=i18n;function openFileMenu(d,m,g){return yt(this,null,function*(){var B,j,z;const{uri:x,isFolder:b,s:E}=d,v=!((B=d.p)!=null&&B.includes("r")),C=!((j=d.p)!=null&&j.match(/L/i)),S=d.cantOpen===DirEntry.FORBIDDEN,R=[!(S||b&&!(v&&d.canArchive()&&C))&&{id:"download",label:t$7`Download`,href:x+(b?"?get=zip":"?dl"),icon:"download",target:"_blank"},((z=state$1.props)==null?void 0:z.can_comment)&&{id:"comment",label:t$7`Comment`,icon:"comment",onClick:()=>editComment(d)},...g.map(Y=>{if(Y==="open"){if(S)return;const W={id:"open",icon:"play",label:t$7("file_open","Open"),href:x,target:b||d.web?void 0:"_blank",rel:b||d.web?void 0:"noopener noreferrer",onClick:makeOnClickOpen(d)};return!b||W.onClick?W:reactExports.createElement(LinkClosingDialog,{to:x,reloadDocument:d.web},hIcon(W.icon),W.label)}return Y==="delete"?d.canDelete()&&{id:"delete",label:t$7`Delete`,icon:"delete",onClick:()=>deleteFiles$1([d.uri])}:Y==="show"?!d.cantOpen&&getShowComponent(d)&&{id:"show",label:t$7`Show`,icon:"image",onClick:()=>fileShow(d)}:Y}),d.canDelete()&&{id:"rename",label:t$7`Rename`,icon:"edit",onClick:()=>rename(d)},d.canDelete()&&{id:"cut",label:t$7`Cut`,icon:"cut",onClick:()=>I(cut([d]))},b&&!d.web&&!d.cantOpen&&{id:"list",label:t$7`Get list`,href:x+"?get=list&folders=*",icon:"list",target:"_blank"}].filter(Boolean),k=d.n.slice(0,-1-d.name.length),L=[{id:"name",label:t$7`Name`,value:d.name},typeof E=="number"&&{id:"size",label:t$7`Size`,value:reactExports.createElement(reactExports.Fragment,{},formatBytes(E),reactExports.createElement("small",{className:HIDE_IN_TESTS},prefix(" (",E>getHFS().kb&&E.toLocaleString(),")")))},d.m&&{id:"timestamp",label:t$7`Timestamp`,value:d.m.toLocaleString()},d.c&&{id:"creation",label:t$7`Creation`,value:d.c.toLocaleString()},k&&{id:"folder",label:t$7`Folder`,value:reactExports.createElement(Link,{to:(k.startsWith("/")?"":location.pathname)+pathEncode(k)+"/",onClick:()=>closeDialog(null,!0)},k.replaceAll("/"," / "))},b&&!d.cantOpen&&{id:"folderSize",label:t$7`Size`,value:reactExports.createElement(N)}].filter(Boolean),D=yield Promise.all(hfsEvent("fileMenu",{entry:d,menu:R,props:L}));R.push(...D.flat().filter(Boolean)),_.remove(R,(Y,W)=>_.find(R,U=>Y.id?Y.id===U.id:!U.id&&Y.label===U.label,W+1));const A=getEntryIcon(d),{close:I}=newDialog({title:b?t$7`Folder menu`:t$7`File menu`,className:"file-dialog",icon:()=>A,position:Math.min(innerWidth,innerHeight)<800?void 0:[m.pageX,m.pageY-scrollY],restoreFocus:m.screenY||m.screenX?!1:void 0,Content(){var J;const{t:Y}=useI18N$6(),{data:W}=useApi("get_file_details",{uris:[d.uri]}),U=(J=W==null?void 0:W.details)==null?void 0:J[0],V=[...L,with_(renderUploaderFromDetails(U),Q=>Q&&{id:"uploader",label:Y`Uploader`,value:Q})];return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("dl",{className:"file-dialog-properties"},dontBotherWithKeys(V.map(Q=>reactExports.isValidElement(Q)?Q:_.isPlainObject(Q)?reactExports.createElement("div",{id:`menu-prop-${Q.id}`},reactExports.createElement("dt",{},Q.label),reactExports.createElement("dd",{},Q.value)):null)),d.cantOpen&&reactExports.createElement("div",{},hIcon("password",{style:{marginRight:".5em",marginTop:".5em"}}),Y(MISSING_PERM))),reactExports.createElement("div",{className:"file-menu"},dontBotherWithKeys(R.map((Q,ee)=>reactExports.isValidElement(Q)?Q:(Q==null?void 0:Q.label)&&reactExports.createElement("a",Rt(Oe({key:ee,href:"#"},_.omit(Q,["label","icon","toggled"])),{id:Q.id&&`menu-entry-${Q.id}`,className:Q.toggled?"toggled":void 0,onClick(ie){return yt(this,null,function*(){var oe;Q.href||ie.preventDefault();try{(yield(oe=Q.onClick)==null?void 0:oe.call(Q,ie))!==!1&&I()}catch(re){alertDialog$1(re)}})}}),hIcon(Q.icon||"file"),reactExports.createElement("label",{style:{display:"flex",flexDirection:"column"}},reactExports.createElement("div",{},Q.label),reactExports.createElement("small",{},Q.subLabel)))))))}});function N(){const[Y,W]=reactExports.useState(!1),[U]=reactExports.useState(()=>randomId()),{data:V,error:J,loading:Q}=useApi(Y&&"get_folder_size",{uri:d.uri,id:U},{timeout:!1}),ee=useApi(Q&&"get_folder_size_partial",{id:U});return useInterval(ee.reload,1e3),Z(V||J)||(Q?reactExports.createElement("span",{},Z(ee.data)," ",reactExports.createElement(Btn$1,{asText:!0,label:t$7`Cancel`,icon:reactExports.createElement(Spinner),onClick(){W(!1)}})):reactExports.createElement(Btn$1,{asText:!0,label:t$7`Calculate`,onClick(){W(!0)}}));function Z(ie){return ie&&(ie.code?err2msg(ie):reactExports.createElement("span",{},reactExports.createElement(Bytes,_.pick(ie,"bytes"))," / ",t$7("n_files",{n:ie.files.toLocaleString()},"{n,plural,one{# file} other{# files}}")," / ",t$7("n_folders",{n:ie.folders.toLocaleString()},"{n,plural,one{# folder} other{# folders}}")))}}})}function rename(d){return yt(this,null,function*(){var T;const m=yield promptDialog$1(t$7`Name`,{value:d.name,title:t$7`Rename`,onField:R=>R.setSelectionRange(0,d.name.lastIndexOf("."))});if(!m)return;const{n:g,uri:x}=d;yield apiCall("rename",{uri:x,dest:m},{modal:working});const b=t$7`Operation successful`;if(x===location.pathname)return(T=alertDialog$1(b))==null?void 0:T.then(()=>getHFS().navigate(x+"../"+pathEncode(m)+"/"));const E=g.replace(/(.*?)[^/]+$/,(R,k)=>k+m),v=new DirEntry(E,Oe({key:g},d)),C=_.findIndex(state$1.list,{n:g});state$1.list[C]=v;const S=_.findIndex(state$1.filteredList,{n:g});S>=0&&(state$1.filteredList[S]=v),toast$1(b,"success")})}function editComment(d){return yt(this,null,function*(){const m=yield inputComment(d.name,d.comment);m!==void 0&&(yield apiCall("comment",{uri:d.uri,comment:m},{modal:working}),decodeURI(d.uri)===decodeURI(location.pathname)?_.set(state$1,"props.comment",m):updateEntry(d,g=>g.comment=m),operationSuccessful())})}function updateEntry(d,m){m(_.find(state$1.list,{n:d.n}))}function LinkClosingDialog(d){return reactExports.createElement(Link,d.reloadDocument?d:Rt(Oe({},d),{to:"",onClick(g){return yt(this,null,function*(){var x;for(g.preventDefault();anyDialogOpen();)yield(x=closeDialog())==null?void 0:x.closed;getHFS().navigate(d.to)})}}))}function makeOnClickOpen(d){return d.cantOpen?m=>yt(this,null,function*(){if(m.preventDefault(),d.cantOpen===DirEntry.FORBIDDEN)return alertDialog$1(t$7`Forbidden`,"warning");if(yield loginDialog(!0,!1)){if(d.isFolder&&!d.web)return setTimeout(()=>getHFS().navigate(d.uri));location.href=d.uri}}):void 0}function renderUploaderFromDetails(d){if(!d)return;const{upload:m}=d;return m&&`${m.username||""}${prefix("@",m.ip)}`}const{t:t$6}=i18n,uploadState=proxy({uploadDialogIsOpen:!1,eta:0,speed:0,partial:0,progress:0,paused:!1,qs:[],adding:[],interrupted:[],errors:[],doneByte:0,done:[]});window.onbeforeunload=d=>{if(uploadState.qs.length)return d.preventDefault(),d.returnValue=t$6("Uploading")};let stuckSince=1/0,bytesSentTimestamp=Date.now(),bytesSent=0;const recentSpeedSamples=[];setInterval(()=>{const d=Date.now(),m=(d-bytesSentTimestamp)/1e3,g=bytesSent/m;currentReq&&d-stuckSince>=1e4&&(currentReq.abort(),console.debug("upload stuck, aborting")),bytesSent=0,bytesSentTimestamp=d;const b=_.sumBy(uploadState.qs,v=>_.sumBy(v.entries,C=>C.file.size))-uploadState.partial,E=uploadState.uploading;E&&recentSpeedSamples.push(g),(!E||recentSpeedSamples.length>5)&&recentSpeedSamples.shift(),uploadState.paused&&(recentSpeedSamples.length=0),uploadState.speed=_.mean(recentSpeedSamples),uploadState.eta=b/uploadState.speed},2e3);let currentReq;const id$2=randomId();let userAborted=!1,closeLastDialog,reloadOnClose=!1;function startUpload(d,m,g=0){return yt(this,null,function*(){console.debug("start upload",d.path,g),uploadState.uploading=d,uploadState.progress=0,userAborted=!1;let x=!0;const b=getHFS().splitUploads,E=d.file.size,v=m+pathEncode(d.path);let C=!1;do{let R=currentReq=new XMLHttpRequest;const k=pendingPromise();stuckSince=Date.now(),R.onloadend=()=>yt(this,null,function*(){try{if(currentReq=void 0,uploadState.paused)return C=!0;if(x=!0,!userAborted&&!R.status){R=new XMLHttpRequest,R.open("PUT",v+A+"&simulating="+I.size,!1);try{R.send()}catch(B){console.log(B)}yield wait(500)}const{status:N}=R;if(N===HTTP_RANGE_NOT_SATISFIABLE)return C=!0;if(N===HTTP_PRECONDITION_FAILED){const B=Number(R.getResponseHeader("x-size"));if(R.getResponseHeader(MTIME_CHECK)){const j=fetch(v+"?get="+UPLOAD_TEMP_HASH).then(Y=>Y.text());if((yield calcHash(d.file,B))!==(yield j))return x=!1,console.debug("upload hash mismatch");console.debug("upload hash is matching")}return g=B,console.debug("resuming upload",B.toLocaleString())}if(userAborted||N===HTTP_CONFLICT){if(R.responseText==="retry")return yield wait(2e3);d.error=N?t$6("upload_conflict","already exists"):t$6`Interrupted`,uploadState.interrupted.push(d)}else if(N>=400)S(N);else if(N){if(b&&(g+=b,g<E))return;uploadState.done.push(Rt(Oe({},d),{response:tryJson(R.responseText)})),uploadState.doneByte+=d.file.size,reloadOnClose=!0}else return yield wait(2e3);C=!0,k.then(T)}finally{k.resolve()}});let L=0;R.upload.onprogress=N=>{uploadState.partial=N.loaded+g,uploadState.progress=uploadState.partial/E,bytesSent+=N.loaded-L,N.loaded>L&&(stuckSince=Date.now()),L=N.loaded};const D=b&&g+b<E,A=buildUrlQueryString({id:id$2,mtime:d.file.lastModified,resume:g+(x?"!":""),partial:D?E-g:void 0,comment:d.comment||void 0,existing:with_(state$1.uploadOnExisting,N=>N!=="rename"?N:void 0)});R.open("PUT",v+A,!0);const I=d.file.slice(g,b?g+b:void 0);R.send(I),yield k}while(!C);function S(R){var A;const L={[HTTP_PAYLOAD_TOO_LARGE]:t$6`file too large`+(getHFS().proxyDetected?`
761
761
  – `+t$6("proxy_413","Check for this limit on the proxy server"):""),[HTTP_CONFLICT]:t$6("upload_conflict","already exists"),[HTTP_INSUFFICIENT_STORAGE]:t$6`insufficient storage`}[R]||HTTP_MESSAGES[R]||R;if(d.error=L,uploadState.errors.push(d)>1)return;const D=t$6("failed_upload",{name:d.path},"Couldn't upload {name}")+prefix(": ",L);closeLastDialog==null||closeLastDialog(),closeLastDialog=(A=alertDialog$1(D,"error"))==null?void 0:A.close}function T(){uploadState.uploading=void 0,uploadState.partial=0;const{qs:R}=uploadState;if(!R.length||(R[0].entries.shift(),R[0].entries.length||R.shift(),R.length)||(setTimeout(reloadList,500),reloadOnClose=!1,uploadState.uploadDialogIsOpen))return;const k=snapshot(uploadState);resetCounters();const L=reactExports.createElement("div",{},t$6(["upload_concluded","Upload terminated"],"Upload concluded:"),reactExports.createElement(UploadStatus,{snapshot:k,display:"flex",flexDirection:"column"}));k.errors.length||k.interrupted.length?alertDialog$1(L,"warning"):toast$1(L,"success")}})}subscribe(uploadState,()=>{const[d]=uploadState.qs;d!=null&&d.entries.length&&!uploadState.uploading&&!uploadState.paused&&startUpload(d.entries[0],d.to)});function resetCounters(){Object.assign(uploadState,{errors:[],done:[],doneByte:0,interrupted:[]})}function calcHash(d,m=1/0){return yt(this,null,function*(){const g=yield S(),x=Date.now(),b=d.stream().getReader();let E=m;const v=_.debounce(()=>uploadState.hashing=(m-E)/m,100,{maxWait:500});try{for(;E>0;){const T=yield b.read();if(T.done)break;const R=T.value.slice(0,E);g.update(R.buffer),E-=R.length,v(),yield wait(1)}}finally{v.flush(),uploadState.hashing=void 0}const C=g.digest().toString(16);return console.debug("hash calculated in",Date.now()-x,"ms",C),C;function S(){return yt(this,null,function*(){const T=(yield __vitePreload(()=>yt(this,null,function*(){const{h32:k}=yield import("./index-DtaRq1wi.js").then(L=>L.i);return{h32:k}}),[])).h32(),R=T.update;return T.update=k=>R.call(T,k),T})}})}const{t:t$5}=i18n;getHFS().dontOverwriteUploading;function UploadStatus(g){var x=g,{snapshot:d}=x,m=Vt(x,["snapshot"]);const b=useSnapshot(uploadState),{done:E,doneByte:v,errors:C,interrupted:S}=d||b,T=E.length>0&&t$5("upload_finished",{n:E.length,size:formatBytes(v)},"{n} finished ({size})"),R=S.length>0&&t$5("upload_interrupted",{n:S.length},"{n} interrupted"),k=C.length>0&&t$5("upload_errors",{n:C.length},"{n} failed"),L=[T,R,k].filter(Boolean).join(" – ");if(!L)return null;const D=reactExports.createElement("span",{className:"horiz-sep"}," – ");return reactExports.createElement("div",{style:Oe({},m)},L,D,reactExports.createElement(Btn$1,{label:t$5`Show details`,asText:!0,onClick:A}),D,reactExports.createElement(Btn$1,{label:t$5("copy_links","Copy links"),asText:!0,successFeedback:!0,onClick(){return yt(this,null,function*(){yield copyTextToClipboard(E.map(N=>location.origin+getPrefixUrl()+N.response.uri).join(`
762
762
  `)),operationSuccessful()})}}));function A(){uploadState.uploadDialogIsOpen||closeDialog(),alertDialog$1(reactExports.createElement("div",{},[[T,E],[R,S],[k,C]].map(([N,B],j)=>N&&reactExports.createElement("div",{key:j},N,reactExports.createElement("ul",{},B.map((z,Y)=>reactExports.createElement("li",{key:Y},z.path,prefix(" (",z.error,")"))))))))}}function inputComment(d,m){return promptDialog$1(t$5("enter_comment",{name:d},"Comment for {name}"),{value:m,type:"textarea"})}const{t:t$4,useI18N:useI18N$5}=i18n;function deleteFiles$1(d){return yt(this,null,function*(){const m=d.length;if(!(yield confirmDialog$1(t$4("delete_confirm",{n:m},"Delete {n,plural, one{# item} other{# items}}?"))))return!1;const g=working(),x=onlyTruthy(yield Promise.all(d.map(v=>apiCall("delete",{},{restUri:v}).then(()=>null,C=>(C==null?void 0:C.code)!==HTTP_NOT_FOUND&&{uri:v,err:C}))));g(),reloadList();const b=x.length,E=t$4("delete_completed",{n:m-b},"Deletion: {n} completed");if(m===1&&!b)return toast$1(E,"success");alertDialog$1(reactExports.createElement(reactExports.Fragment,{},E,b>0&&t$4("delete_failed",{n:b},", {n} failed"),reactExports.createElement("div",{style:{textAlign:"left",marginTop:"1em"}},...x.map(v=>reactExports.createElement(ErrorMsg,{err:t$4(err2msg(v.err))+": "+v.uri})))))})}const{useI18N:useI18N$4}=i18n,{useI18N:useI18N$3}=i18n,{useI18N:useI18N$2}=i18n,{t:t$3,useI18N:useI18N$1}=i18n,MISSING_PERM="Missing permission";reactExports.memo(({nPages:d,current:m,pageSize:g,changePage:x,atBottom:b})=>{reactExports.useEffect(()=>(document.body.style.overflowY="scroll",()=>{document.body.style.overflowY=""}),[]);const E=reactExports.useRef(0);reactExports.useEffect(()=>domOn("scroll",()=>E.current=Date.now()),[]);const v=reactExports.useRef();reactExports.useEffect(()=>{Date.now()-E.current>500&&scrollIntoView(v.current,"nearest")},[m]);const C=d>20,S=_.floor(m,-1),T=S+10;return reactExports.createElement("div",{id:"paging"},reactExports.createElement("button",{title:t$3("go_first","Go to first item"),className:m?void 0:"toggled",onClick(){x(0)}},hIcon("to_start")),reactExports.createElement("div",{id:"paging-middle"},_.range(1,d).map(R=>{if(C&&R%10&&(R<S||R>=T))return!1;const k=R*g;return reactExports.createElement("button",Rt(Oe({key:R},R===m&&{className:"toggled",ref:v}),{onClick:()=>x(R)}),C&&!(R%10)&&k>=1e3?k/1e3+"K":k)})),reactExports.createElement("button",{title:t$3("go_last","Go to last item"),className:b?"toggled":void 0,onClick(){x(d-1,!0)}},hIcon("to_end")))});function scrollIntoView(d,m){if(d)try{d.scrollIntoView({block:m})}catch(g){d.scrollIntoView(m==="center")}}function useMidnight(){const[d,m]=reactExports.useState(g);return reactExports.useEffect(()=>{setTimeout(()=>m(g()),10*6e4)},[]),d;function g(){const x=new Date;x.setHours(x.getHours()-6);const b=new Date;return b.setHours(0,0,0,0),x<b?x:b}}function getEntryIcon(d){return reactExports.createElement(CustomCode,{name:"entryIcon",entry:d},d.getDefaultIcon())}const EntryDetails=reactExports.memo(({entry:d,midnight:m})=>{const{sort_by:g}=useSnapState$1(),x=g==="creation"?d.c:d.m,b=x&&x>m,E=useWindowSize().width<800,{t:v}=useI18N$1(),C="2-digit";return reactExports.createElement("div",{className:"entry-details"},reactExports.createElement(CustomCode,{name:"additionalEntryDetails",entry:d}),d.cantOpen&&hIcon(d.cantOpen===DirEntry.FORBIDDEN?"lock":"password",{className:"miss-perm",title:v(MISSING_PERM)}),reactExports.createElement(EntrySize,{s:d.s}),x&&reactExports.createElement("span",{className:"entry-ts","aria-hidden":!0,onClick(){E&&alertDialog$1(v`Full timestamp:`+`
@@ -801,13 +801,13 @@ Go to destination folder to paste.`),"info")}const{t:t$7,useI18N:useI18N$6}=i18n
801
801
  * @public
802
802
  */var g=function(x){var b=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,E=0,v={},C={manual:x.Prism&&x.Prism.manual,disableWorkerMessageHandler:x.Prism&&x.Prism.disableWorkerMessageHandler,util:{encode:function j(z){return z instanceof S?new S(z.type,j(z.content),z.alias):Array.isArray(z)?z.map(j):z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(j){return Object.prototype.toString.call(j).slice(8,-1)},objId:function(j){return j.__id||Object.defineProperty(j,"__id",{value:++E}),j.__id},clone:function j(z,Y){Y=Y||{};var W,U;switch(C.util.type(z)){case"Object":if(U=C.util.objId(z),Y[U])return Y[U];W={},Y[U]=W;for(var V in z)z.hasOwnProperty(V)&&(W[V]=j(z[V],Y));return W;case"Array":return U=C.util.objId(z),Y[U]?Y[U]:(W=[],Y[U]=W,z.forEach(function(J,Q){W[Q]=j(J,Y)}),W);default:return z}},getLanguage:function(j){for(;j;){var z=b.exec(j.className);if(z)return z[1].toLowerCase();j=j.parentElement}return"none"},setLanguage:function(j,z){j.className=j.className.replace(RegExp(b,"gi"),""),j.classList.add("language-"+z)},currentScript:function(){if(typeof document=="undefined")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(W){var j=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(W.stack)||[])[1];if(j){var z=document.getElementsByTagName("script");for(var Y in z)if(z[Y].src==j)return z[Y]}return null}},isActive:function(j,z,Y){for(var W="no-"+z;j;){var U=j.classList;if(U.contains(z))return!0;if(U.contains(W))return!1;j=j.parentElement}return!!Y}},languages:{plain:v,plaintext:v,text:v,txt:v,extend:function(j,z){var Y=C.util.clone(C.languages[j]);for(var W in z)Y[W]=z[W];return Y},insertBefore:function(j,z,Y,W){W=W||C.languages;var U=W[j],V={};for(var J in U)if(U.hasOwnProperty(J)){if(J==z)for(var Q in Y)Y.hasOwnProperty(Q)&&(V[Q]=Y[Q]);Y.hasOwnProperty(J)||(V[J]=U[J])}var ee=W[j];return W[j]=V,C.languages.DFS(C.languages,function(Z,ie){ie===ee&&Z!=j&&(this[Z]=V)}),V},DFS:function j(z,Y,W,U){U=U||{};var V=C.util.objId;for(var J in z)if(z.hasOwnProperty(J)){Y.call(z,J,z[J],W||J);var Q=z[J],ee=C.util.type(Q);ee==="Object"&&!U[V(Q)]?(U[V(Q)]=!0,j(Q,Y,null,U)):ee==="Array"&&!U[V(Q)]&&(U[V(Q)]=!0,j(Q,Y,J,U))}}},plugins:{},highlightAll:function(j,z){C.highlightAllUnder(document,j,z)},highlightAllUnder:function(j,z,Y){var W={callback:Y,container:j,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};C.hooks.run("before-highlightall",W),W.elements=Array.prototype.slice.apply(W.container.querySelectorAll(W.selector)),C.hooks.run("before-all-elements-highlight",W);for(var U=0,V;V=W.elements[U++];)C.highlightElement(V,z===!0,W.callback)},highlightElement:function(j,z,Y){var W=C.util.getLanguage(j),U=C.languages[W];C.util.setLanguage(j,W);var V=j.parentElement;V&&V.nodeName.toLowerCase()==="pre"&&C.util.setLanguage(V,W);var J=j.textContent,Q={element:j,language:W,grammar:U,code:J};function ee(ie){Q.highlightedCode=ie,C.hooks.run("before-insert",Q),Q.element.innerHTML=Q.highlightedCode,C.hooks.run("after-highlight",Q),C.hooks.run("complete",Q),Y&&Y.call(Q.element)}if(C.hooks.run("before-sanity-check",Q),V=Q.element.parentElement,V&&V.nodeName.toLowerCase()==="pre"&&!V.hasAttribute("tabindex")&&V.setAttribute("tabindex","0"),!Q.code){C.hooks.run("complete",Q),Y&&Y.call(Q.element);return}if(C.hooks.run("before-highlight",Q),!Q.grammar){ee(C.util.encode(Q.code));return}if(z&&x.Worker){var Z=new Worker(C.filename);Z.onmessage=function(ie){ee(ie.data)},Z.postMessage(JSON.stringify({language:Q.language,code:Q.code,immediateClose:!0}))}else ee(C.highlight(Q.code,Q.grammar,Q.language))},highlight:function(j,z,Y){var W={code:j,grammar:z,language:Y};if(C.hooks.run("before-tokenize",W),!W.grammar)throw new Error('The language "'+W.language+'" has no grammar.');return W.tokens=C.tokenize(W.code,W.grammar),C.hooks.run("after-tokenize",W),S.stringify(C.util.encode(W.tokens),W.language)},tokenize:function(j,z){var Y=z.rest;if(Y){for(var W in Y)z[W]=Y[W];delete z.rest}var U=new k;return L(U,U.head,j),R(j,U,z,U.head,0),A(U)},hooks:{all:{},add:function(j,z){var Y=C.hooks.all;Y[j]=Y[j]||[],Y[j].push(z)},run:function(j,z){var Y=C.hooks.all[j];if(!(!Y||!Y.length))for(var W=0,U;U=Y[W++];)U(z)}},Token:S};x.Prism=C;function S(j,z,Y,W){this.type=j,this.content=z,this.alias=Y,this.length=(W||"").length|0}S.stringify=function j(z,Y){if(typeof z=="string")return z;if(Array.isArray(z)){var W="";return z.forEach(function(ee){W+=j(ee,Y)}),W}var U={type:z.type,content:j(z.content,Y),tag:"span",classes:["token",z.type],attributes:{},language:Y},V=z.alias;V&&(Array.isArray(V)?Array.prototype.push.apply(U.classes,V):U.classes.push(V)),C.hooks.run("wrap",U);var J="";for(var Q in U.attributes)J+=" "+Q+'="'+(U.attributes[Q]||"").replace(/"/g,"&quot;")+'"';return"<"+U.tag+' class="'+U.classes.join(" ")+'"'+J+">"+U.content+"</"+U.tag+">"};function T(j,z,Y,W){j.lastIndex=z;var U=j.exec(Y);if(U&&W&&U[1]){var V=U[1].length;U.index+=V,U[0]=U[0].slice(V)}return U}function R(j,z,Y,W,U,V){for(var J in Y)if(!(!Y.hasOwnProperty(J)||!Y[J])){var Q=Y[J];Q=Array.isArray(Q)?Q:[Q];for(var ee=0;ee<Q.length;++ee){if(V&&V.cause==J+","+ee)return;var Z=Q[ee],ie=Z.inside,oe=!!Z.lookbehind,re=!!Z.greedy,X=Z.alias;if(re&&!Z.pattern.global){var ce=Z.pattern.toString().match(/[imsuy]*$/)[0];Z.pattern=RegExp(Z.pattern.source,ce+"g")}for(var pe=Z.pattern||Z,ae=W.next,ue=U;ae!==z.tail&&!(V&&ue>=V.reach);ue+=ae.value.length,ae=ae.next){var fe=ae.value;if(z.length>j.length)return;if(!(fe instanceof S)){var ge=1,ye;if(re){if(ye=T(pe,ue,j,oe),!ye||ye.index>=j.length)break;var $e=ye.index,Ee=ye.index+ye[0].length,ve=ue;for(ve+=ae.value.length;$e>=ve;)ae=ae.next,ve+=ae.value.length;if(ve-=ae.value.length,ue=ve,ae.value instanceof S)continue;for(var Te=ae;Te!==z.tail&&(ve<Ee||typeof Te.value=="string");Te=Te.next)ge++,ve+=Te.value.length;ge--,fe=j.slice(ue,ve),ye.index-=ue}else if(ye=T(pe,0,fe,oe),!ye)continue;var $e=ye.index,Pe=ye[0],Se=fe.slice(0,$e),Le=fe.slice($e+Pe.length),Ye=ue+fe.length;V&&Ye>V.reach&&(V.reach=Ye);var De=ae.prev;Se&&(De=L(z,De,Se),ue+=Se.length),D(z,De,ge);var Ie=new S(J,ie?C.tokenize(Pe,ie):Pe,X,Pe);if(ae=L(z,De,Ie),Le&&L(z,ae,Le),ge>1){var Me={cause:J+","+ee,reach:Ye};R(j,z,Y,ae.prev,ue,Me),V&&Me.reach>V.reach&&(V.reach=Me.reach)}}}}}}function k(){var j={value:null,prev:null,next:null},z={value:null,prev:j,next:null};j.next=z,this.head=j,this.tail=z,this.length=0}function L(j,z,Y){var W=z.next,U={value:Y,prev:z,next:W};return z.next=U,W.prev=U,j.length++,U}function D(j,z,Y){for(var W=z.next,U=0;U<Y&&W!==j.tail;U++)W=W.next;z.next=W,W.prev=z,j.length-=U}function A(j){for(var z=[],Y=j.head.next;Y!==j.tail;)z.push(Y.value),Y=Y.next;return z}if(!x.document)return x.addEventListener&&(C.disableWorkerMessageHandler||x.addEventListener("message",function(j){var z=JSON.parse(j.data),Y=z.language,W=z.code,U=z.immediateClose;x.postMessage(C.highlight(W,C.languages[Y],Y)),U&&x.close()},!1)),C;var I=C.util.currentScript();I&&(C.filename=I.src,I.hasAttribute("data-manual")&&(C.manual=!0));function N(){C.manual||C.highlightAll()}if(!C.manual){var B=document.readyState;B==="loading"||B==="interactive"&&I&&I.defer?document.addEventListener("DOMContentLoaded",N):window.requestAnimationFrame?window.requestAnimationFrame(N):window.setTimeout(N,16)}return C}(m);d.exports&&(d.exports=g),typeof commonjsGlobal!="undefined"&&(commonjsGlobal.Prism=g),g.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},g.languages.markup.tag.inside["attr-value"].inside.entity=g.languages.markup.entity,g.languages.markup.doctype.inside["internal-subset"].inside=g.languages.markup,g.hooks.add("wrap",function(x){x.type==="entity"&&(x.attributes.title=x.content.replace(/&amp;/,"&"))}),Object.defineProperty(g.languages.markup.tag,"addInlined",{value:function(b,E){var v={};v["language-"+E]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:g.languages[E]},v.cdata=/^<!\[CDATA\[|\]\]>$/i;var C={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:v}};C["language-"+E]={pattern:/[\s\S]+/,inside:g.languages[E]};var S={};S[b]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return b}),"i"),lookbehind:!0,greedy:!0,inside:C},g.languages.insertBefore("markup","cdata",S)}}),Object.defineProperty(g.languages.markup.tag,"addAttribute",{value:function(x,b){g.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+x+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[b,"language-"+b],inside:g.languages[b]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),g.languages.html=g.languages.markup,g.languages.mathml=g.languages.markup,g.languages.svg=g.languages.markup,g.languages.xml=g.languages.extend("markup",{}),g.languages.ssml=g.languages.xml,g.languages.atom=g.languages.xml,g.languages.rss=g.languages.xml,function(x){var b=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;x.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+b.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+b.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+b.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+b.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:b,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},x.languages.css.atrule.inside.rest=x.languages.css;var E=x.languages.markup;E&&(E.tag.addInlined("style","css"),E.tag.addAttribute("style","css"))}(g),g.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},g.languages.javascript=g.languages.extend("clike",{"class-name":[g.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),g.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,g.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:g.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:g.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:g.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:g.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:g.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),g.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:g.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),g.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),g.languages.markup&&(g.languages.markup.tag.addInlined("script","javascript"),g.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),g.languages.js=g.languages.javascript,function(){if(typeof g=="undefined"||typeof document=="undefined")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var x="Loading…",b=function(I,N){return"✖ Error "+I+" while fetching file: "+N},E="✖ Error: File does not exist or is empty",v={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},C="data-src-status",S="loading",T="loaded",R="failed",k="pre[data-src]:not(["+C+'="'+T+'"]):not(['+C+'="'+S+'"])';function L(I,N,B){var j=new XMLHttpRequest;j.open("GET",I,!0),j.onreadystatechange=function(){j.readyState==4&&(j.status<400&&j.responseText?N(j.responseText):j.status>=400?B(b(j.status,j.statusText)):B(E))},j.send(null)}function D(I){var N=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(I||"");if(N){var B=Number(N[1]),j=N[2],z=N[3];return j?z?[B,Number(z)]:[B,void 0]:[B,B]}}g.hooks.add("before-highlightall",function(I){I.selector+=", "+k}),g.hooks.add("before-sanity-check",function(I){var N=I.element;if(N.matches(k)){I.code="",N.setAttribute(C,S);var B=N.appendChild(document.createElement("CODE"));B.textContent=x;var j=N.getAttribute("data-src"),z=I.language;if(z==="none"){var Y=(/\.(\w+)$/.exec(j)||[,"none"])[1];z=v[Y]||Y}g.util.setLanguage(B,z),g.util.setLanguage(N,z);var W=g.plugins.autoloader;W&&W.loadLanguages(z),L(j,function(U){N.setAttribute(C,T);var V=D(N.getAttribute("data-range"));if(V){var J=U.split(/\r\n?|\n/g),Q=V[0],ee=V[1]==null?J.length:V[1];Q<0&&(Q+=J.length),Q=Math.max(0,Math.min(Q-1,J.length)),ee<0&&(ee+=J.length),ee=Math.max(0,Math.min(ee,J.length)),U=J.slice(Q,ee).join(`
803
803
  `),N.hasAttribute("data-start")||N.setAttribute("data-start",String(Q+1))}B.textContent=U,g.highlightElement(B)},function(U){N.setAttribute(C,R),B.textContent=U})}}),g.plugins.fileHighlight={highlight:function(N){for(var B=(N||document).querySelectorAll(k),j=0,z;z=B[j++];)g.highlightElement(z)}};var A=!1;g.fileHighlight=function(){A||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),A=!0),g.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(prism)),prism.exports}var prismExports=requirePrism();Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(d){d.type==="entity"&&(d.attributes.title=d.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(m,g){var x={};x["language-"+g]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[g]},x.cdata=/^<!\[CDATA\[|\]\]>$/i;var b={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:x}};b["language-"+g]={pattern:/[\s\S]+/,inside:Prism.languages[g]};var E={};E[m]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return m}),"i"),lookbehind:!0,greedy:!0,inside:b},Prism.languages.insertBefore("markup","cdata",E)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(d,m){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+d+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[m,"language-"+m],inside:Prism.languages[m]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(d){var m=/[*&][^\s[\]{},]+/,g=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,x="(?:"+g.source+"(?:[ ]+"+m.source+")?|"+m.source+"(?:[ ]+"+g.source+")?)",b=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),E=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function v(C,S){S=(S||"").replace(/m/g,"")+"m";var T=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return x}).replace(/<<value>>/g,function(){return C});return RegExp(T,S)}d.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return x})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return x}).replace(/<<key>>/g,function(){return"(?:"+b+"|"+E+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:v(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:v(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:v(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:v(E),lookbehind:!0,greedy:!0},number:{pattern:v(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:g,important:m,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},d.languages.yml=d.languages.yaml})(Prism);(function(d){var m=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;d.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+m.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+m.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+m.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+m.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:m,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},d.languages.css.atrule.inside.rest=d.languages.css;var g=d.languages.markup;g&&(g.tag.addInlined("style","css"),g.tag.addAttribute("style","css"))})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;const TextEditor=reactExports.forwardRef((b,x)=>{var E=b,{style:d,lang:m="plain"}=E,g=Vt(E,["style","lang"]);return reactExports.createElement(Editor,Oe({highlight:v=>prismExports.highlight(v,prismExports.languages[m],m),padding:10,tabSize:4,insertSpaces:!0,ignoreTabKey:!1,style:Oe({fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",fontSize:"1em",flex:1,background:"#8883",borderBottom:"1px solid #bbb"},d)},g))});function TextEditorField(v){var C=v,{onChange:d,value:m,onBlur:g,setApi:x,lang:b}=C,E=Vt(C,["onChange","value","onBlur","setApi","lang"]);x==null||x({getError(){return b==="js"&&m?try_(()=>new Function(m)&&null,R=>R.message):!1}});const[S,T]=reactExports.useState(m||"");return reactExports.createElement(TextField,Rt(Oe({multiline:!0,fullWidth:!0,value:S,InputProps:{inputComponent:TextEditorAsInput},inputProps:{lang:b},onChange(R){T(R.target.value)},onBlur(R){g==null||g(R),d(R.target.value,{was:m,event:R})}},E),{onKeyDown(R){var I;if((I=E.onKeyDown)==null||I.call(E,R),isCtrlKey(R)==="Enter")return d(S,{was:m,event:R});if(!R.altKey||R.key!=="Tab")return;R.preventDefault();const k=document.querySelectorAll(focusableSelector),L=_.indexOf(k,R.target),D=k.length,A=(L+(R.shiftKey?-1:1)+D)%D;k[A].focus(),console.debug(k[A])}}))}const TextEditorAsInput=reactExports.forwardRef((x,g)=>{var b=x,{onChange:d}=b,m=Vt(b,["onChange"]);return reactExports.createElement(Box,{sx:{width:"100%",textarea:{outline:0}}},reactExports.createElement(TextEditor,Rt(Oe({ref:g,padding:2,style:{background:"initial",borderBottom:"initial"}},m),{onValueChange:E=>d({target:{value:E}}),onKeyDown(E){isCtrlKey(E)==="Enter"&&E.preventDefault()}})))}),DefaultConfiguration={fieldSeparator:",",lineSeparator:`
804
- `,quote:'"'},CSV_INITAL_STATE={field:0,fieldOffset:0,line:0,lineOffset:0,quoted:!1,appendCell:!1,appendField:!1,appendRow:!1};class ParseError extends Error{constructor(m,g){super(`Invalid CSV at ${m}:${g}`)}}class Parser{constructor(m=DefaultConfiguration){Ko(this,"_rows",[]);Ko(this,"_row",[]);Ko(this,"_cell","");Ko(this,"_options",DefaultConfiguration);Ko(this,"_state",Oe({},CSV_INITAL_STATE));Ko(this,"_index",0);Ko(this,"_current","");Ko(this,"_previous","");Ko(this,"_quoteState",Oe({},CSV_INITAL_STATE));this._options=Object.assign({},DefaultConfiguration,m)}parse(m){for(this.reset(),this._index=0;this._index<m.length;this._index++)this._state.appendCell=!0,this._previous=this._current,this._current=m[this._index],this.handleNext();if(this._row.length>0&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this.addRow(this._row,this._rows,this._state)),this._state.quoted)throw new ParseError(this._quoteState.line,this._quoteState.lineOffset);return this.makeImmutable(),this._rows}get rows(){return this._rows}get json(){if(this.rows.length>0){const m=this.rows[0].filter(g=>typeof g=="string");return Object.freeze(this.rows.filter((g,x)=>g&&x>0).map(g=>{const x={};return m.forEach((b,E)=>{x[b]=g[E]}),Object.freeze(x)}))}return Object.freeze([])}handleNext(){this.handleQuote()||this.handleFieldSeparator()||this.handleLineSeparator(),this.processState()}handleQuote(){return this._current===this._options.quote?(this._quoteState=Oe({},this._state),this._previous==="\\"?this.handleQuoteEscaped():this.handleQuoteNotEscaped(),!0):!1}handleQuoteEscaped(){this._cell=this._cell.slice(0,Math.max(0,this._cell.length-1))}handleQuoteNotEscaped(){if(this._cell.length===0||this._state.quoted)this._state.quoted=!this._state.quoted;else throw new ParseError(this._state.line,this._state.lineOffset);this._state.appendCell=!1}handleFieldSeparator(){return this._current===this._options.fieldSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0),!0):!1}handleLineSeparator(){return this._current===this._options.lineSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0,this._state.appendRow=!0),!0):!1}processState(){this._state.appendCell&&(this._cell+=this._current),this._state.appendField&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this._cell=""),this._state.appendRow&&(this.addRow(this._row,this._rows,this._state),this._row=[]),this._state.lineOffset++,this._state.fieldOffset++}fieldValue(m){return m}addField(m,g,x){g.push(m),x.field++,x.fieldOffset=-1,x.appendField=!1}addRow(m,g,x){g.push(m),x.field=0,x.line++,x.lineOffset=-1,x.appendRow=!1}makeImmutable(){this.rows.forEach(m=>{m.forEach(g=>Object.freeze(g)),Object.freeze(m)}),Object.freeze(this._rows)}reset(){this._rows=[],this._row=[],this._cell="",this._state=Oe({},CSV_INITAL_STATE),this._index=0,this._current="",this._previous="",this._quoteState=Oe({},CSV_INITAL_STATE)}}function importAccountsCsv(d){return yt(this,null,function*(){selectFiles(m=>yt(this,null,function*(){const g=m==null?void 0:m[0];if(!g)return;const x=yield readFile(g);if(!x)return;const E=new Parser().parse(x.trim()),v={comp:NumberField,min:1,max:9,xs:6,typing:!0},C={skipFirstLines:0,usernameColumn:1,passwordColumn:2,groupColumn:3,redirectColumn:4,overwriteExistingAccounts:!1},S=yield formDialog({title:"Import accounts from CSV",dialogProps:{maxWidth:"sm"},values:C,form:k=>{const L=E[k.skipFirstLines||0],D=R(L,Oe(Oe({},C),k));return{save:{startIcon:reactExports.createElement(Upload),children:"Go"},fields:[reactExports.createElement(Box,{p:1},"Total lines:",E.length),{k:"skipFirstLines",comp:NumberField,max:E.length-1,typing:!0,md:6,helperText:reactExports.createElement(reactExports.Fragment,{},"First line: ",reactExports.createElement("code",{},L.join(", ")))},{k:"overwriteExistingAccounts",comp:BoolField,md:6},Rt(Oe({k:"usernameColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First username: ",D.u)}),Rt(Oe({k:"passwordColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First password: ",D.p)}),Rt(Oe({k:"groupColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First group: ",D.g)}),Rt(Oe({k:"redirectColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First redirect: ",D.r)})]}}});if(!S)return;const{close:T}=newDialog({title:"Importing...",Content(){const[k,L]=reactExports.useState(0),[D,A]=reactExports.useState();return reactExports.useEffect(()=>{let I=!1;return setTimeout(()=>yt(this,null,function*(){var Y;if(I)return;let N=0,B=0,j=S.skipFirstLines;const z=E.length-j;try{let W=0;for(const U of E){if(I)return;if(j){j--;continue}const V=R(U,S);A(V),L(W++/z),yield apiCall("add_account",{username:V.u,belongs:(Y=V.g)==null?void 0:Y.split(","),redirect:V.r,overwrite:S.overwriteExistingAccounts}).then(()=>{if(V.p)return apiNewPassword(V.u,V.p)},J=>{if(J.code===HTTP_CONFLICT)return B++;N++})}}finally{T();const W=z-N-B,U="Results: "+[prefix("",N," failed"),prefix("",W," succeeded"),prefix("",B," skipped because already present")].filter(Boolean).join(", ");alertDialog(U,!W&&N?"error":N||B?"warning":"success"),d==null||d()}})),()=>{I=!0}},[]),reactExports.createElement(Box,{display:"flex",gap:2,alignItems:"center"},reactExports.createElement(IconProgress,{icon:Group,progress:k}),D==null?void 0:D.u)}});function R(k,L){return{u:k[L.usernameColumn-1],p:k[L.passwordColumn-1],g:k[L.groupColumn-1],r:k[L.redirectColumn-1]}}}),{multiple:!1,accept:".csv"})})}function AccountsPage(){const{username:d,accountsAsTree:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_accounts"),[E,v]=reactExports.useState([]),C=Array.isArray(E);reactExports.useEffect(()=>{Array.isArray(g==null?void 0:g.list)&&C&&v(E.filter(z=>g.list.find(Y=>(Y==null?void 0:Y.username)===z)))},[g]);const S=reactExports.useMemo(()=>g&&_.sortBy(g.list,[z=>!z.isGroup,z=>!z.adminActualAccess,"username"]),[g]),T=C&&_.find(S,{username:E[0]}),R="md",k=useBreakpoint(R),L=!(E.length>0)||!S?null:C&&E.length>1?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},E.length+" selected"),reactExports.createElement(Btn,{onClick:j,icon:Delete},"Remove")),reactExports.createElement(List,{},E.map(z=>reactExports.createElement(ListItem,{key:z},reactExports.createElement(ListItemText,{},z))))):with_(T||N(),z=>reactExports.createElement(AccountForm,{account:z,groups:S.filter(Y=>Y.isGroup).map(Y=>Y.username),addToBar:k&&[reactExports.createElement(Box,{flex:1}),account2icon(z,{fontSize:"large",sx:{p:1}}),reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:B})],reload:x,done(Y){v(k?[Y]:[]),x(),toast("Account saved","success")}}));reactExports.useEffect(()=>{if(k||!L||!E.length)return;const{close:z}=newDialog({title:_.isString(E)?_.startCase(E):E.length>1?"Multiple selection":T?(T.isGroup?"Group: ":"User: ")+T.username:"?",Content:()=>L,onClose:B});return()=>void z()},[k,E,T]);const D={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"},[A,I]=useToggleButton("Show tree","Show list",()=>({icon:AccountTree}),m);return state.accountsAsTree=A,b||reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Oe({item:!0,xs:12,[R]:5,lg:4,xl:5},D),reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:2,mb:2,boxShadow:z=>`0px -8px 4px 10px ${z.palette.background.paper}`,sx:{position:"sticky",top:0,zIndex:2,backgroundColor:"background.paper",width:"fit-content"}},reactExports.createElement(MenuButton,{variant:"contained",startIcon:reactExports.createElement(PersonAdd),items:[{children:"user",onClick:()=>v("new-user")},{children:"group",onClick:()=>v("new-group")},{children:"from CSV",onClick:()=>importAccountsCsv(x)}]},"Add"),reloadBtn(x),I,(S==null?void 0:S.length)>0&&reactExports.createElement(Typography,{p:1},`${S.length} account(s)`)),!(S!=null&&S.length)&&reactExports.createElement(Alert,{severity:"info"},md`To access administration <u>remotely</u> you will need to create a user account with admin permission`),reactExports.createElement(TreeView,{multiSelect:!0,sx:{pr:4,pb:2,minWidth:"15em"},selected:C?E:[],defaultCollapseIcon:reactExports.createElement(ExpandMore),defaultExpandIcon:reactExports.createElement(ChevronRight),onNodeSelect(z,Y){var W,U;(U=(W=z.target)==null?void 0:W.closest)!=null&&U.call(W,".MuiTreeItem-iconContainer")||v(Y)}},S&&function z(Y){return Y.map(W=>{var U,V;return reactExports.createElement(TreeItem,{key:W.username,nodeId:W.username,label:reactExports.createElement(Box,{sx:{display:"flex",flexWrap:"wrap",padding:".2em 0",columnGap:".5em",alignItems:"center"}},account2icon(W),(W.disabled||W.canLogin===!1)&&iconTooltip(DoNotDisturb,W.disabled?"Disabled":"Disabled by its groups",W.disabled?void 0:{color:"text.secondary"}),(W.expire||W.days_to_live)&&reactExports.createElement(Schedule),W.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin"),W.username,!!((U=W.belongs)!=null&&U.length)&&reactExports.createElement(Box,{sx:{color:"text.secondary",fontSize:"small"}},"(",(V=W.belongs)==null?void 0:V.join(", "),")"))},A&&z(S.filter(J=>{var Q;return(Q=W.directMembers)==null?void 0:Q.includes(J.username)})))})}(A?S.filter(z=>!S.some(Y=>{var W;return(W=Y.members)==null?void 0:W.includes(z.username)})):S))),k&&L&&reactExports.createElement(Grid,Oe({item:!0,[R]:!0,maxWidth:"100%"},D),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},L))));function N(){return{username:"",hasPassword:E==="new-user",adminActualAccess:!1,invalidated:void 0,canLogin:!0,canChangePassword:!0,isGroup:E==="new-group",members:[],directMembers:[]}}function B(){v([])}function j(){return yt(this,null,function*(){const z=_.without(E,d);if(E.length>z.length&&!(yield confirmDialog("You cannot ask to delete the account you are using. Continue with the rest?")))return;if(!z.length)return alertDialog("Nothing to delete","info");if(!(yield confirmDialog(`Delete ${z.length} item(s)?`)))return;const Y=[];for(const W of z)(yield apiCall("del_account",{username:W}).then(()=>1,()=>0))||Y.push(W);if(x(),Y.length)return alertDialog("Following elements couldn't be deleted: "+Y.join(", "),"error")})}}function account2icon(d,m={}){return reactExports.createElement(d.isGroup?Group:Person,m)}const ACCEPT_LINK="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept";function FileForm({file:d,addToBar:m,statusApi:g,accounts:x,saved:b,isSideBreakpoint:E}){var ue,fe,Ee;const ae=d,{parent:v,children:C,isRoot:S,byMasks:T}=ae,R=Vt(ae,["parent","children","isRoot","byMasks"]),[k,L]=reactExports.useState(R);reactExports.useEffect(()=>{L(Object.assign(objSameKeys(defaultPerms,()=>null),R))},[d]);const D=reactExports.useMemo(()=>{let ve=d.parent;for(;ve;){if(ve.default!=null)return ve.default;ve=ve.parent}},[d]),{source:A}=d,I=d.type==="folder",N=!d.type&&A&&d.size<0,B=k.url!==void 0,j=A!==void 0,z=j&&I,Y=useBreakpoint("xl"),W=!B&&(Y||j),U=!B&&Y||j&&!z,V=d.accept>""||I&&((fe=d.can_upload)!=null?fe:(ue=d.inherited)==null?void 0:ue.can_upload),J=I,Q=useDialogBarColors(),{movingFile:ee}=useSnapState(),Z=!j&&reactExports.createElement(Box,{color:"warning.main",component:"span"},"Works only on folders with disk source! "),ie={can_read:!B,can_see:!0,can_archive:!B,can_list:I,can_upload:I,can_delete:I},oe=!k.icon,re=k.icon&&!k.icon.includes("."),X=A&&basename(A),ce=X===k.name;return reactExports.createElement(Form,{values:k,set(ve,Te){L($e=>(Te==="source"&&ce&&($e.name=basename(ve)),Rt(Oe({},$e),{[Te]:ve})))},barSx:Oe({gap:2,width:"100%"},Q),stickyBar:!0,addToBar:[I&&!E&&reactExports.createElement(AddVfsBtn,{variant:"outlined"},"Add"),reactExports.createElement(IconBtn,{icon:ContentCut,disabled:S||ee===d.id,title:"Cut (you can also use drag & drop to move items)","aria-label":"Cut",onClick(){state.movingFile=d.id,alertDialog(reactExports.createElement(Box,{},"Now that this is marked for moving, click on the destination folder, and then the paste button ",reactExports.createElement(ContentPaste)),"info")}}),ee&&reactExports.createElement(IconBtn,{icon:ContentPaste,disabled:d.type!=="folder"||d.id.startsWith(ee)||d.id===ee.replace(/[^/]+\/?$/,""),title:ee,onClick(){return yt(this,null,function*(){moveVfs(ee,d.id)&&(state.movingFile="")})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Delete",disabled:S,onClick(){deleteVfs([d.id]),b()}}),...wantArray(m)],onError:alertDialog,save:Rt(Oe({},propsForModifiedValues(isModifiedConfig(k,R))),{children:"Apply",startIcon:reactExports.createElement(Check),onClick(){return yt(this,null,function*(){const ve=state.selectedFiles[0]||id2vfsNode.get(k.id);if(!ve)throw Error("Selected node not found");const Te=_.omit(k,["birthtime","mtime","size","id"]),$e=ve.id;prepareVfsUndo(),Object.assign(ve,Te),Te.name!==void 0&&reindexVfs({node:ve,clearMap:!1,select:[ve]}),ve.id!==$e&&L(Pe=>Rt(Oe({},Pe),{id:ve.id})),markVfsModified(),b()})}}),fields:[S?reactExports.createElement(Alert,{severity:"info"},"This is the Home folder, the root of your shared files. Options set here will be applied to all files."):I&&j&&reactExports.createElement(Alert,{severity:"info"},'To set permissions on individual items in folder, add them by clicking Add button, and then "from disk"'),Rt(Oe({k:"name",required:!0,xl:!0,helperText:j&&"You can decide a name that's different from the one on your disk"},S&&{disabled:!0,value:"Home folder"}),{end:X&&!ce&&reactExports.createElement(Btn,{icon:RestartAlt,title:"Reset to same name on disk",onClick:()=>L(Rt(Oe({},k),{name:X}))})}),B?{k:"url",label:"URL",lg:12,xl:8,required:!0}:{k:"source",label:"Disk source",xl:!0,comp:FileField,files:N||!I,folders:N||I,placeholder:"none",helperText:k.source?I?"Files from this path on disk will be listed, but you can add more":void 0:"If you enter a path here, its content will be listed. Leaving this empty, makes this folder fully virtual."},{k:"id",comp:LinkField,statusApi:g,xs:12},{k:"order",comp:NumberField,min:-1e5,max:1e5,label:"Priority (order in the frontend)",placeholder:"default",sm:4,helperText:wikiLink("Virtual-file-system#order","To force position")},{k:"iconType",comp:SelectField,options:["default","file","embedded"],value:k.icon?re?"embedded":"file":"default",fromField:ve=>L(Rt(Oe({},k),{icon:ve==="default"?"":ve==="file"?"select.a.file":Object.keys(SYS_ICONS)[0]})),xs:!0,sm:oe?8:!0},!oe&&Oe({k:"icon",xs:8,sm:4},re?{comp:SelectField,options:_.map(_.uniqBy(_.map(SYS_ICONS,(ve,Te)=>{var $e;return[Te,ve[0],($e=ve[1])!=null?$e:Te]}),ve=>ve[2]),([ve,Te])=>({value:ve,label:reactExports.createElement(Flex,{gap:".5em"},hIcon(ve),hIcon(Te)," ",ve)})),helperText:"The second icon is the fallback"}:{label:"Icon file",placeholder:"default",comp:FileField,fileMask:IMAGE_FILEMASK}),pe("can_read","Who can see but not download will be asked to log in"),pe("can_archive","Should this be included when user downloads as ZIP"),pe("can_list","Permission to request the list of a folder. The list will include only things you can see.",{contentText:"subfolders"}),pe("can_delete",[Z,"Those who can delete can also rename and cut/move"]),pe("can_upload",Z,{contentText:"subfolders"}),pe("can_see",["See this item in the list. ",wikiLink("Permissions","More help.")]),B&&{k:"target",comp:BoolField,sm:!0,label:"Open in new browser",fromField:ve=>ve?"_blank":null,toField:ve=>ve>""},U&&{k:"size",comp:DisplayField,sm:6,lg:4,toField:formatBytes},W&&{k:"birthtime",comp:DisplayField,sm:6,lg:U&&4,label:"Created",toField:formatTimestamp$1},W&&{k:"mtime",comp:DisplayField,sm:6,lg:U&&4,label:"Modified",toField:formatTimestamp$1},V&&{k:"accept",label:"Accept on upload",placeholder:"anything",xl:J?4:12,helperText:reactExports.createElement("span",{},"Not enforced, just hinting the browser. ",reactExports.createElement(Link$3,{href:ACCEPT_LINK,target:"_blank"},"Example: .zip"))},J&&{k:"default",comp:BoolField,xl:V?8:12,label:"Serve as web-page if index.html is found"+(D&&k.default==null?" (inherited)":""),value:(Ee=k.default)!=null?Ee:D,toField:Boolean,fromField:ve=>ve&&!D?"index.html":ve?null:!1,helperText:md("...instead of showing list of files")},{k:"comment",multiline:!0,xl:!0},I&&{k:"masks",multiline:!0,xl:6,toField:YAML.stringify,fromField:ve=>ve?YAML.parse(ve):void 0,comp:TextEditorField,lang:"yaml",helperText:["Special field, leave empty unless you know what you are doing. YAML syntax. ",wikiLink("Masks-field","(examples)")]}]});function pe(ve,Te,$e={}){var Ye,De,Ie,Me,We,je,ze;if(!ie[ve])return null;const Pe=[ve,...onlyTruthy(_.map(ie,(tt,qe)=>!tt&&qe))],Se=_.difference(Object.keys(defaultPerms),Pe);let Le=(Me=(Ie=(Ye=d.inherited)==null?void 0:Ye[ve])!=null?Ie:(De=getInheritedPerms(d))==null?void 0:De[ve])!=null?Me:defaultPerms[ve];for(;typeof Le=="string"&&_.get(ie,Le)===!1;)Le=(ze=(je=_.get(k,Le))!=null?je:Le!==WHO_ANY_ACCOUNT?(We=getInheritedPerms(d))==null?void 0:We[Le]:void 0)!=null?ze:_.get(defaultPerms,Le);return Oe({comp:WhoField,k:ve,sm:6,lg:12,xl:4,parent:v,accounts:x,helperText:Te,isDir:I,otherPerms:Se.map(tt=>({value:tt,label:who2desc(tt)})),label:"Who can "+perm2word(ve),inherit:Le,byMasks:T==null?void 0:T[ve],fromField:tt=>tt!=null?tt:null},$e)}}function perm2word(d){return xlate(d.split("_")[1],{read:"download",archive:"zip",list:"access list"})}function WhoField(A){var I=A,{value:d,onChange:m,parent:g,inherit:x,accounts:b,helperText:E,otherPerms:v,byMasks:C,hideValues:S,isChildren:T,isDir:R,contentText:k="folder content",setApi:L}=I,D=Vt(I,["value","onChange","parent","inherit","accounts","helperText","otherPerms","byMasks","hideValues","isChildren","isDir","contentText","setApi"]);const N=who2desc(C!=null?C:x)+prefix(" (",C!==void 0?"from masks":g!==void 0?"as parent folder":"default",")"),B=isWhoObject(d),j=B?d.this:d,z=reactExports.useMemo(()=>onlyTruthy([{value:null,label:N},{value:!0},{value:!1},{value:"*"},...v,{value:[],label:"Select accounts"}].map(V=>!(S!=null&&S.includes(V.value))&&Oe({label:who2desc(V.value)},V))),[x,g,j,...wantArray(S)]),Y=500,W=Array.isArray(j);return reactExports.createElement(Box,{sx:{borderRight:B?"8px solid #8884":void 0,transition:`all ${Y}ms`}},reactExports.createElement(SelectField,Rt(Oe({},D),{value:W?[]:j!=null?j:null,onChange(V,{event:J}){m(B?U(Rt(Oe({},d),{this:V!=null?V:void 0})):V!=null?V:void 0,{was:d,event:J})},options:z})),reactExports.createElement(Collapse,{in:W,timeout:Y},W&&reactExports.createElement(MultiSelectField,Rt(Oe({label:b!=null&&b.length?"Accounts "+D.label:"You didn't create any account yet",value:j,onChange:m,options:(b==null?void 0:b.map(V=>({value:V.username,label:V.username,a:V})))||[],placeholder:"none"},j.length===0&&{helperText:"Select some account",error:!0}),{renderOption:V=>{var J;return reactExports.createElement("span",{},((J=V.a)==null?void 0:J.isGroup)&&account2icon(V.a)," ",V.label)}}))),reactExports.createElement(FormHelperText,{},E,!T&&R&&reactExports.createElement(LinkBtn,{sx:{display:"block",mt:-.5},onClick(V){m(B?j:{this:j,children:j==null?!x:void 0},{was:d,event:V})}},B?"Set same permission for ":"Set different permission for ",k)),!T&&reactExports.createElement(Collapse,{in:B,timeout:Y},reactExports.createElement(WhoField,{label:"Permission for "+k,parent:g,inherit:x,accounts:b,otherPerms:v,isDir:R,value:B?d==null?void 0:d.children:void 0,isChildren:!0,hideValues:[j!=null?j:x,j],onChange(V,{event:J}){B&&m(U(Rt(Oe({},d),{children:V})),{was:d,event:J})}})));function U(V){return V.this===V.children?V.this:V}}function who2desc(d){return d===!1?"No one":d===!0?"Anyone":d==="*"?"Any logged-in account":Array.isArray(d)?d.join(", "):typeof d=="string"?`As "can ${perm2word(d)}"`:"*UNKNOWN*"+JSON.stringify(d)}function LinkField({value:d,statusApi:m}){const{reload:g,error:x}=m,b=useRequestRender();reactExports.useEffect(()=>m.sub(b),[]);const E=m.getData(),v=E&&(E.urls.https||E.urls.http||[E.base_url]),C=try_(()=>normalizeHost(new URL(E==null?void 0:E.baseUrl).host)),S=reactExports.useMemo(()=>C&&_.find(E.roots,(D,A)=>matches(C,A)),[E]);S&&d&&(d=d.indexOf(S)===1?d.slice(S.length):void 0);const T=prefix((E==null?void 0:E.baseUrl)||"",d),R=reactExports.useMemo(()=>reactExports.forwardRef((D,A)=>reactExports.createElement(Link$3,Rt(Oe({ref:A},D),{href:T,style:{height:"auto",overflow:"hidden",textOverflow:"ellipsis"},target:"frontend"}),T)),[T]);return reactExports.createElement(Box,{display:"flex"},C?v?reactExports.createElement(DisplayField,{label:"Link",className:MASK_IN_TESTS,value:T||`outside of configured main address (${C})`,error:x,InputProps:T?{inputComponent:R}:void 0,end:reactExports.createElement(Box,{},reactExports.createElement(IconBtn,{icon:ContentCopy,title:"Copy",disabled:!T,doneAnimation:!0,onClick:()=>copyTextToClipboard(T)}),reactExports.createElement(IconBtn,{icon:QrCode2,title:"QR Code",onClick:k,disabled:!T}),reactExports.createElement(IconBtn,{icon:Edit,title:"Change",onClick(){changeBaseUrl().then(g)}}))}):"error":"Invalid baseUrl");function k(){newDialog({title:"QR Code",dialogProps:{sx:{bgcolor:"background.default",border:"1px solid"}},Content(){const D=useTheme$1();return reactExports.createElement("canvas",{ref:A=>A&&L(A,T,D.palette.text.primary),style:{width:"100%"}})}})}function L(D,A,I){return yt(this,null,function*(){try{QrCreator$1.render({text:A,radius:0,ecLevel:"H",fill:I,background:null,size:300},D)}catch(N){console.error("Error generating QR code:",N)}})}}function changeBaseUrl(){return yt(this,null,function*(){return new Promise(d=>yt(this,null,function*(){const m=yield apiCall("get_status"),{base_url:g,roots:x}=yield apiCall("get_config",{only:[CFG.base_url,CFG.roots]}),b=m.urls.https||m.urls.http,E=Object.keys(x).map(S=>S.split("|")).flat().filter(S=>!/[*?]/.test(S)),v=splitAt("//",b[0])[0]+"//";b.push(..._.difference(E.map(S=>v+S),b));const{close:C}=newDialog({title:"Main address",Content(){const[S,T]=reactExports.useState(g||""),R=new URL(S||b[0]).protocol+"//",k=b.includes(S)?"":S.slice(R.length),L=reactExports.createElement(Check,{sx:{ml:2}});return reactExports.createElement(Box,{display:"flex",flexDirection:"column"},reactExports.createElement(Box,{mb:2},"Choose a main address for your links"),reactExports.createElement(MenuList,{},reactExports.createElement(MenuItem,{selected:!S,onClick:()=>D("")},"Automatic",!S&&L),b.map(I=>reactExports.createElement(MenuItem,{key:I,selected:I===S,onClick:()=>D(I)},I,I===S&&L))),reactExports.createElement(StringField,{label:"Custom IP or domain",helperText:md(`You can type any address but *you* are responsible to make the address work.
804
+ `,quote:'"'},CSV_INITAL_STATE={field:0,fieldOffset:0,line:0,lineOffset:0,quoted:!1,appendCell:!1,appendField:!1,appendRow:!1};class ParseError extends Error{constructor(m,g){super(`Invalid CSV at ${m}:${g}`)}}class Parser{constructor(m=DefaultConfiguration){Ko(this,"_rows",[]);Ko(this,"_row",[]);Ko(this,"_cell","");Ko(this,"_options",DefaultConfiguration);Ko(this,"_state",Oe({},CSV_INITAL_STATE));Ko(this,"_index",0);Ko(this,"_current","");Ko(this,"_previous","");Ko(this,"_quoteState",Oe({},CSV_INITAL_STATE));this._options=Object.assign({},DefaultConfiguration,m)}parse(m){for(this.reset(),this._index=0;this._index<m.length;this._index++)this._state.appendCell=!0,this._previous=this._current,this._current=m[this._index],this.handleNext();if(this._row.length>0&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this.addRow(this._row,this._rows,this._state)),this._state.quoted)throw new ParseError(this._quoteState.line,this._quoteState.lineOffset);return this.makeImmutable(),this._rows}get rows(){return this._rows}get json(){if(this.rows.length>0){const m=this.rows[0].filter(g=>typeof g=="string");return Object.freeze(this.rows.filter((g,x)=>g&&x>0).map(g=>{const x={};return m.forEach((b,E)=>{x[b]=g[E]}),Object.freeze(x)}))}return Object.freeze([])}handleNext(){this.handleQuote()||this.handleFieldSeparator()||this.handleLineSeparator(),this.processState()}handleQuote(){return this._current===this._options.quote?(this._quoteState=Oe({},this._state),this._previous==="\\"?this.handleQuoteEscaped():this.handleQuoteNotEscaped(),!0):!1}handleQuoteEscaped(){this._cell=this._cell.slice(0,Math.max(0,this._cell.length-1))}handleQuoteNotEscaped(){if(this._cell.length===0||this._state.quoted)this._state.quoted=!this._state.quoted;else throw new ParseError(this._state.line,this._state.lineOffset);this._state.appendCell=!1}handleFieldSeparator(){return this._current===this._options.fieldSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0),!0):!1}handleLineSeparator(){return this._current===this._options.lineSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0,this._state.appendRow=!0),!0):!1}processState(){this._state.appendCell&&(this._cell+=this._current),this._state.appendField&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this._cell=""),this._state.appendRow&&(this.addRow(this._row,this._rows,this._state),this._row=[]),this._state.lineOffset++,this._state.fieldOffset++}fieldValue(m){return m}addField(m,g,x){g.push(m),x.field++,x.fieldOffset=-1,x.appendField=!1}addRow(m,g,x){g.push(m),x.field=0,x.line++,x.lineOffset=-1,x.appendRow=!1}makeImmutable(){this.rows.forEach(m=>{m.forEach(g=>Object.freeze(g)),Object.freeze(m)}),Object.freeze(this._rows)}reset(){this._rows=[],this._row=[],this._cell="",this._state=Oe({},CSV_INITAL_STATE),this._index=0,this._current="",this._previous="",this._quoteState=Oe({},CSV_INITAL_STATE)}}function importAccountsCsv(d){return yt(this,null,function*(){selectFiles(m=>yt(this,null,function*(){const g=m==null?void 0:m[0];if(!g)return;const x=yield readFile(g);if(!x)return;const E=new Parser().parse(x.trim()),v={comp:NumberField,min:1,max:9,xs:6,typing:!0},C={skipFirstLines:0,usernameColumn:1,passwordColumn:2,groupColumn:3,redirectColumn:4,overwriteExistingAccounts:!1},S=yield formDialog({title:"Import accounts from CSV",dialogProps:{maxWidth:"sm"},values:C,form:k=>{const L=E[k.skipFirstLines||0],D=R(L,Oe(Oe({},C),k));return{save:{startIcon:reactExports.createElement(Upload),children:"Go"},fields:[reactExports.createElement(Box,{p:1},"Total lines:",E.length),{k:"skipFirstLines",comp:NumberField,max:E.length-1,typing:!0,md:6,helperText:reactExports.createElement(reactExports.Fragment,{},"First line: ",reactExports.createElement("code",{},L.join(", ")))},{k:"overwriteExistingAccounts",comp:BoolField,md:6},Rt(Oe({k:"usernameColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First username: ",D.u)}),Rt(Oe({k:"passwordColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First password: ",D.p)}),Rt(Oe({k:"groupColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First group: ",D.g)}),Rt(Oe({k:"redirectColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First redirect: ",D.r)})]}}});if(!S)return;const{close:T}=newDialog({title:"Importing...",Content(){const[k,L]=reactExports.useState(0),[D,A]=reactExports.useState();return reactExports.useEffect(()=>{let I=!1;return setTimeout(()=>yt(this,null,function*(){var Y;if(I)return;let N=0,B=0,j=S.skipFirstLines;const z=E.length-j;try{let W=0;for(const U of E){if(I)return;if(j){j--;continue}const V=R(U,S);A(V),L(W++/z),yield apiCall("add_account",{username:V.u,belongs:(Y=V.g)==null?void 0:Y.split(","),redirect:V.r,overwrite:S.overwriteExistingAccounts}).then(()=>{if(V.p)return apiNewPassword(V.u,V.p)},J=>{if(J.code===HTTP_CONFLICT)return B++;N++})}}finally{T();const W=z-N-B,U="Results: "+[prefix("",N," failed"),prefix("",W," succeeded"),prefix("",B," skipped because already present")].filter(Boolean).join(", ");alertDialog(U,!W&&N?"error":N||B?"warning":"success"),d==null||d()}})),()=>{I=!0}},[]),reactExports.createElement(Box,{display:"flex",gap:2,alignItems:"center"},reactExports.createElement(IconProgress,{icon:Group,progress:k}),D==null?void 0:D.u)}});function R(k,L){return{u:k[L.usernameColumn-1],p:k[L.passwordColumn-1],g:k[L.groupColumn-1],r:k[L.redirectColumn-1]}}}),{multiple:!1,accept:".csv"})})}function AccountsPage(){const{username:d,accountsAsTree:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_accounts"),[E,v]=reactExports.useState([]),C=Array.isArray(E);reactExports.useEffect(()=>{Array.isArray(g==null?void 0:g.list)&&C&&v(E.filter(z=>g.list.find(Y=>(Y==null?void 0:Y.username)===z)))},[g]);const S=reactExports.useMemo(()=>g&&_.sortBy(g.list,[z=>!z.isGroup,z=>!z.adminActualAccess,"username"]),[g]),T=C&&_.find(S,{username:E[0]}),R="md",k=useBreakpoint(R),L=!(E.length>0)||!S?null:C&&E.length>1?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},E.length+" selected"),reactExports.createElement(Btn,{onClick:j,icon:Delete},"Remove")),reactExports.createElement(List,{},E.map(z=>reactExports.createElement(ListItem,{key:z},reactExports.createElement(ListItemText,{},z))))):with_(T||N(),z=>reactExports.createElement(AccountForm,{account:z,groups:S.filter(Y=>Y.isGroup).map(Y=>Y.username),addToBar:k&&[reactExports.createElement(Box,{flex:1}),account2icon(z,{fontSize:"large",sx:{p:1}}),reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:B})],reload:x,done(Y){v(k?[Y]:[]),x(),toast("Account saved","success")}}));reactExports.useEffect(()=>{if(k||!L||!E.length)return;const{close:z}=newDialog({title:_.isString(E)?_.startCase(E):E.length>1?"Multiple selection":T?(T.isGroup?"Group: ":"User: ")+T.username:"?",Content:()=>L,onClose:B});return()=>void z()},[k,E,T]);const D={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"},[A,I]=useToggleButton("Show tree","Show list",()=>({icon:AccountTree}),m);return state.accountsAsTree=A,b||reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Oe({item:!0,xs:12,[R]:5,lg:4,xl:5},D),reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:2,mb:2,boxShadow:z=>`0px -8px 4px 10px ${z.palette.background.paper}`,sx:{position:"sticky",top:0,zIndex:2,backgroundColor:"background.paper",width:"fit-content"}},reactExports.createElement(MenuButton,{variant:"contained",startIcon:reactExports.createElement(PersonAdd),items:[{children:"user",onClick:()=>v("new-user")},{children:"group",onClick:()=>v("new-group")},{children:"from CSV",onClick:()=>importAccountsCsv(x)}]},"Add"),reloadBtn(x),I,(S==null?void 0:S.length)>0&&reactExports.createElement(Typography,{p:1},`${S.length} account(s)`)),!(S!=null&&S.length)&&reactExports.createElement(Alert,{severity:"info"},md`To access administration <u>remotely</u> you will need to create a user account with admin permission`),reactExports.createElement(TreeView,{multiSelect:!0,sx:{pr:4,pb:2,minWidth:"15em"},selected:C?E:[],defaultCollapseIcon:reactExports.createElement(ExpandMore),defaultExpandIcon:reactExports.createElement(ChevronRight),onNodeSelect(z,Y){var W,U;(U=(W=z.target)==null?void 0:W.closest)!=null&&U.call(W,".MuiTreeItem-iconContainer")||v(Y)}},S&&function z(Y){return Y.map(W=>{var U,V;return reactExports.createElement(TreeItem,{key:W.username,nodeId:W.username,label:reactExports.createElement(Box,{sx:{display:"flex",flexWrap:"wrap",padding:".2em 0",columnGap:".5em",alignItems:"center"}},account2icon(W),(W.disabled||W.canLogin===!1)&&iconTooltip(DoNotDisturb,W.disabled?"Disabled":"Disabled by its groups",W.disabled?void 0:{color:"text.secondary"}),(W.expire||W.days_to_live)&&reactExports.createElement(Schedule),W.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin"),W.username,!!((U=W.belongs)!=null&&U.length)&&reactExports.createElement(Box,{sx:{color:"text.secondary",fontSize:"small"}},"(",(V=W.belongs)==null?void 0:V.join(", "),")"))},A&&z(S.filter(J=>{var Q;return(Q=W.directMembers)==null?void 0:Q.includes(J.username)})))})}(A?S.filter(z=>!S.some(Y=>{var W;return(W=Y.members)==null?void 0:W.includes(z.username)})):S))),k&&L&&reactExports.createElement(Grid,Oe({item:!0,[R]:!0,maxWidth:"100%"},D),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},L))));function N(){return{username:"",hasPassword:E==="new-user",adminActualAccess:!1,invalidated:void 0,canLogin:!0,canChangePassword:!0,isGroup:E==="new-group",members:[],directMembers:[]}}function B(){v([])}function j(){return yt(this,null,function*(){const z=_.without(E,d);if(E.length>z.length&&!(yield confirmDialog("You cannot ask to delete the account you are using. Continue with the rest?")))return;if(!z.length)return alertDialog("Nothing to delete","info");if(!(yield confirmDialog(`Delete ${z.length} item(s)?`)))return;const Y=[];for(const W of z)(yield apiCall("del_account",{username:W}).then(()=>1,()=>0))||Y.push(W);if(x(),Y.length)return alertDialog("The following items couldn't be deleted: "+Y.join(", "),"error")})}}function account2icon(d,m={}){return reactExports.createElement(d.isGroup?Group:Person,m)}const ACCEPT_LINK="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept";function FileForm({file:d,addToBar:m,statusApi:g,accounts:x,saved:b,isSideBreakpoint:E}){var ue,fe,Ee;const ae=d,{parent:v,children:C,isRoot:S,byMasks:T}=ae,R=Vt(ae,["parent","children","isRoot","byMasks"]),[k,L]=reactExports.useState(R);reactExports.useEffect(()=>{L(Object.assign(objSameKeys(defaultPerms,()=>null),R))},[d]);const D=reactExports.useMemo(()=>{let ve=d.parent;for(;ve;){if(ve.default!=null)return ve.default;ve=ve.parent}},[d]),{source:A}=d,I=d.type==="folder",N=!d.type&&A&&d.size<0,B=k.url!==void 0,j=A!==void 0,z=j&&I,Y=useBreakpoint("xl"),W=!B&&(Y||j),U=!B&&Y||j&&!z,V=d.accept>""||I&&((fe=d.can_upload)!=null?fe:(ue=d.inherited)==null?void 0:ue.can_upload),J=I,Q=useDialogBarColors(),{movingFile:ee}=useSnapState(),Z=!j&&reactExports.createElement(Box,{color:"warning.main",component:"span"},"Works only on folders with disk source! "),ie={can_read:!B,can_see:!0,can_archive:!B,can_list:I,can_upload:I,can_delete:I},oe=!k.icon,re=k.icon&&!k.icon.includes("."),X=A&&basename(A),ce=X===k.name;return reactExports.createElement(Form,{values:k,set(ve,Te){L($e=>(Te==="source"&&ce&&($e.name=basename(ve)),Rt(Oe({},$e),{[Te]:ve})))},barSx:Oe({gap:2,width:"100%"},Q),stickyBar:!0,addToBar:[I&&!E&&reactExports.createElement(AddVfsBtn,{variant:"outlined"},"Add"),reactExports.createElement(IconBtn,{icon:ContentCut,disabled:S||ee===d.id,title:"Cut (you can also use drag & drop to move items)","aria-label":"Cut",onClick(){state.movingFile=d.id,alertDialog(reactExports.createElement(Box,{},"Now that this is marked for moving, click on the destination folder, and then the paste button ",reactExports.createElement(ContentPaste)),"info")}}),ee&&reactExports.createElement(IconBtn,{icon:ContentPaste,disabled:d.type!=="folder"||d.id.startsWith(ee)||d.id===ee.replace(/[^/]+\/?$/,""),title:ee,onClick(){return yt(this,null,function*(){moveVfs(ee,d.id)&&(state.movingFile="")})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Delete",disabled:S,onClick(){deleteVfs([d.id]),b()}}),...wantArray(m)],onError:alertDialog,save:Rt(Oe({},propsForModifiedValues(isModifiedConfig(k,R))),{children:"Apply",startIcon:reactExports.createElement(Check),onClick(){return yt(this,null,function*(){const ve=state.selectedFiles[0]||id2vfsNode.get(k.id);if(!ve)throw Error("Selected node not found");const Te=_.omit(k,["birthtime","mtime","size","id"]),$e=ve.id;prepareVfsUndo(),Object.assign(ve,Te),Te.name!==void 0&&reindexVfs({node:ve,clearMap:!1,select:[ve]}),ve.id!==$e&&L(Pe=>Rt(Oe({},Pe),{id:ve.id})),markVfsModified(),b()})}}),fields:[S?reactExports.createElement(Alert,{severity:"info"},"This is the Home folder, the root of your shared files. Options set here will be applied to all files."):I&&j&&reactExports.createElement(Alert,{severity:"info"},'To set permissions on individual items in folder, add them by clicking Add button, and then "from disk"'),Rt(Oe({k:"name",required:!0,xl:!0,helperText:j&&"You can decide a name that's different from the one on your disk"},S&&{disabled:!0,value:"Home folder"}),{end:X&&!ce&&reactExports.createElement(Btn,{icon:RestartAlt,title:"Reset to same name on disk",onClick:()=>L(Rt(Oe({},k),{name:X}))})}),B?{k:"url",label:"URL",lg:12,xl:8,required:!0}:{k:"source",label:"Disk source",xl:!0,comp:FileField,files:N||!I,folders:N||I,placeholder:"none",helperText:k.source?I?"Files from this path on disk will be listed, but you can add more":void 0:"If you enter a path here, its content will be listed. Leaving this empty, makes this folder fully virtual."},{k:"id",comp:LinkField,statusApi:g,xs:12},{k:"order",comp:NumberField,min:-1e5,max:1e5,label:"Priority (order in the frontend)",placeholder:"default",sm:4,helperText:wikiLink("Virtual-file-system#order","To force position")},{k:"iconType",comp:SelectField,options:["default","file","embedded"],value:k.icon?re?"embedded":"file":"default",fromField:ve=>L(Rt(Oe({},k),{icon:ve==="default"?"":ve==="file"?"select.a.file":Object.keys(SYS_ICONS)[0]})),xs:!0,sm:oe?8:!0},!oe&&Oe({k:"icon",xs:8,sm:4},re?{comp:SelectField,options:_.map(_.uniqBy(_.map(SYS_ICONS,(ve,Te)=>{var $e;return[Te,ve[0],($e=ve[1])!=null?$e:Te]}),ve=>ve[2]),([ve,Te])=>({value:ve,label:reactExports.createElement(Flex,{gap:".5em"},hIcon(ve),hIcon(Te)," ",ve)})),helperText:"The second icon is the fallback"}:{label:"Icon file",placeholder:"default",comp:FileField,fileMask:IMAGE_FILEMASK}),pe("can_read","Who can see but not download will be asked to log in"),pe("can_archive","Should this be included when user downloads as ZIP"),pe("can_list","Permission to request the list of a folder. The list will include only things you can see.",{contentText:"subfolders"}),pe("can_delete",[Z,"Those who can delete can also rename and cut/move"]),pe("can_upload",Z,{contentText:"subfolders"}),pe("can_see",["See this item in the list. ",wikiLink("Permissions","More help.")]),B&&{k:"target",comp:BoolField,sm:!0,label:"Open in new browser",fromField:ve=>ve?"_blank":null,toField:ve=>ve>""},U&&{k:"size",comp:DisplayField,sm:6,lg:4,toField:formatBytes},W&&{k:"birthtime",comp:DisplayField,sm:6,lg:U&&4,label:"Created",toField:formatTimestamp$1},W&&{k:"mtime",comp:DisplayField,sm:6,lg:U&&4,label:"Modified",toField:formatTimestamp$1},V&&{k:"accept",label:"Accept on upload",placeholder:"anything",xl:J?4:12,helperText:reactExports.createElement("span",{},"Not enforced, just hinting the browser. ",reactExports.createElement(Link$3,{href:ACCEPT_LINK,target:"_blank"},"Example: .zip"))},J&&{k:"default",comp:BoolField,xl:V?8:12,label:"Serve as web-page if index.html is found"+(D&&k.default==null?" (inherited)":""),value:(Ee=k.default)!=null?Ee:D,toField:Boolean,fromField:ve=>ve&&!D?"index.html":ve?null:!1,helperText:md("...instead of showing list of files")},{k:"comment",multiline:!0,xl:!0},I&&{k:"masks",multiline:!0,xl:6,toField:YAML.stringify,fromField:ve=>ve?YAML.parse(ve):void 0,comp:TextEditorField,lang:"yaml",helperText:["Special field, leave empty unless you know what you are doing. YAML syntax. ",wikiLink("Masks-field","(examples)")]}]});function pe(ve,Te,$e={}){var Ye,De,Ie,Me,We,je,ze;if(!ie[ve])return null;const Pe=[ve,...onlyTruthy(_.map(ie,(tt,qe)=>!tt&&qe))],Se=_.difference(Object.keys(defaultPerms),Pe);let Le=(Me=(Ie=(Ye=d.inherited)==null?void 0:Ye[ve])!=null?Ie:(De=getInheritedPerms(d))==null?void 0:De[ve])!=null?Me:defaultPerms[ve];for(;typeof Le=="string"&&_.get(ie,Le)===!1;)Le=(ze=(je=_.get(k,Le))!=null?je:Le!==WHO_ANY_ACCOUNT?(We=getInheritedPerms(d))==null?void 0:We[Le]:void 0)!=null?ze:_.get(defaultPerms,Le);return Oe({comp:WhoField,k:ve,sm:6,lg:12,xl:4,parent:v,accounts:x,helperText:Te,isDir:I,otherPerms:Se.map(tt=>({value:tt,label:who2desc(tt)})),label:"Who can "+perm2word(ve),inherit:Le,byMasks:T==null?void 0:T[ve],fromField:tt=>tt!=null?tt:null},$e)}}function perm2word(d){return xlate(d.split("_")[1],{read:"download",archive:"zip",list:"access list"})}function WhoField(A){var I=A,{value:d,onChange:m,parent:g,inherit:x,accounts:b,helperText:E,otherPerms:v,byMasks:C,hideValues:S,isChildren:T,isDir:R,contentText:k="folder content",setApi:L}=I,D=Vt(I,["value","onChange","parent","inherit","accounts","helperText","otherPerms","byMasks","hideValues","isChildren","isDir","contentText","setApi"]);const N=who2desc(C!=null?C:x)+prefix(" (",C!==void 0?"from masks":g!==void 0?"as parent folder":"default",")"),B=isWhoObject(d),j=B?d.this:d,z=reactExports.useMemo(()=>onlyTruthy([{value:null,label:N},{value:!0},{value:!1},{value:"*"},...v,{value:[],label:"Select accounts"}].map(V=>!(S!=null&&S.includes(V.value))&&Oe({label:who2desc(V.value)},V))),[x,g,j,...wantArray(S)]),Y=500,W=Array.isArray(j);return reactExports.createElement(Box,{sx:{borderRight:B?"8px solid #8884":void 0,transition:`all ${Y}ms`}},reactExports.createElement(SelectField,Rt(Oe({},D),{value:W?[]:j!=null?j:null,onChange(V,{event:J}){m(B?U(Rt(Oe({},d),{this:V!=null?V:void 0})):V!=null?V:void 0,{was:d,event:J})},options:z})),reactExports.createElement(Collapse,{in:W,timeout:Y},W&&reactExports.createElement(MultiSelectField,Rt(Oe({label:b!=null&&b.length?"Accounts "+D.label:"You didn't create any account yet",value:j,onChange:m,options:(b==null?void 0:b.map(V=>({value:V.username,label:V.username,a:V})))||[],placeholder:"none"},j.length===0&&{helperText:"Select some account",error:!0}),{renderOption:V=>{var J;return reactExports.createElement("span",{},((J=V.a)==null?void 0:J.isGroup)&&account2icon(V.a)," ",V.label)}}))),reactExports.createElement(FormHelperText,{},E,!T&&R&&reactExports.createElement(LinkBtn,{sx:{display:"block",mt:-.5},onClick(V){m(B?j:{this:j,children:j==null?!x:void 0},{was:d,event:V})}},B?"Set same permission for ":"Set different permission for ",k)),!T&&reactExports.createElement(Collapse,{in:B,timeout:Y},reactExports.createElement(WhoField,{label:"Permission for "+k,parent:g,inherit:x,accounts:b,otherPerms:v,isDir:R,value:B?d==null?void 0:d.children:void 0,isChildren:!0,hideValues:[j!=null?j:x,j],onChange(V,{event:J}){B&&m(U(Rt(Oe({},d),{children:V})),{was:d,event:J})}})));function U(V){return V.this===V.children?V.this:V}}function who2desc(d){return d===!1?"No one":d===!0?"Anyone":d==="*"?"Any logged-in account":Array.isArray(d)?d.join(", "):typeof d=="string"?`As "can ${perm2word(d)}"`:"*UNKNOWN*"+JSON.stringify(d)}function LinkField({value:d,statusApi:m}){const{reload:g,error:x}=m,b=useRequestRender();reactExports.useEffect(()=>m.sub(b),[]);const E=m.getData(),v=E&&(E.urls.https||E.urls.http||[E.base_url]),C=try_(()=>normalizeHost(new URL(E==null?void 0:E.baseUrl).host)),S=reactExports.useMemo(()=>C&&_.find(E.roots,(D,A)=>matches(C,A)),[E]);S&&d&&(d=d.indexOf(S)===1?d.slice(S.length):void 0);const T=prefix((E==null?void 0:E.baseUrl)||"",d),R=reactExports.useMemo(()=>reactExports.forwardRef((D,A)=>reactExports.createElement(Link$3,Rt(Oe({ref:A},D),{href:T,style:{height:"auto",overflow:"hidden",textOverflow:"ellipsis"},target:"frontend"}),T)),[T]);return reactExports.createElement(Box,{display:"flex"},C?v?reactExports.createElement(DisplayField,{label:"Link",className:MASK_IN_TESTS,value:T||`outside of configured main address (${C})`,error:x,InputProps:T?{inputComponent:R}:void 0,end:reactExports.createElement(Box,{},reactExports.createElement(IconBtn,{icon:ContentCopy,title:"Copy",disabled:!T,doneAnimation:!0,onClick:()=>copyTextToClipboard(T)}),reactExports.createElement(IconBtn,{icon:QrCode2,title:"QR Code",onClick:k,disabled:!T}),reactExports.createElement(IconBtn,{icon:Edit,title:"Change",onClick(){changeBaseUrl().then(g)}}))}):"error":"Invalid baseUrl");function k(){newDialog({title:"QR Code",dialogProps:{sx:{bgcolor:"background.default",border:"1px solid"}},Content(){const D=useTheme$1();return reactExports.createElement("canvas",{ref:A=>A&&L(A,T,D.palette.text.primary),style:{width:"100%"}})}})}function L(D,A,I){return yt(this,null,function*(){try{QrCreator$1.render({text:A,radius:0,ecLevel:"H",fill:I,background:null,size:300},D)}catch(N){console.error("Error generating QR code:",N)}})}}function changeBaseUrl(){return yt(this,null,function*(){return new Promise(d=>yt(this,null,function*(){const m=yield apiCall("get_status"),{base_url:g,roots:x}=yield apiCall("get_config",{only:[CFG.base_url,CFG.roots]}),b=m.urls.https||m.urls.http,E=Object.keys(x).map(S=>S.split("|")).flat().filter(S=>!/[*?]/.test(S)),v=splitAt("//",b[0])[0]+"//";b.push(..._.difference(E.map(S=>v+S),b));const{close:C}=newDialog({title:"Main address",Content(){const[S,T]=reactExports.useState(g||""),R=new URL(S||b[0]).protocol+"//",k=b.includes(S)?"":S.slice(R.length),L=reactExports.createElement(Check,{sx:{ml:2}});return reactExports.createElement(Box,{display:"flex",flexDirection:"column"},reactExports.createElement(Box,{mb:2},"Choose a main address for your links"),reactExports.createElement(MenuList,{},reactExports.createElement(MenuItem,{selected:!S,onClick:()=>D("")},"Automatic",!S&&L),b.map(I=>reactExports.createElement(MenuItem,{key:I,selected:I===S,onClick:()=>D(I)},I,I===S&&L))),reactExports.createElement(StringField,{label:"Custom IP or domain",helperText:md(`You can type any address but *you* are responsible to make the address work.
805
805
  This functionality is just to help you copy the link in case you have a domain or a complex network configuration.`),value:k,onChange:I=>D(prefix(R,I)),start:reactExports.createElement(SelectField,{value:R,onChange:I=>k?D(I+k):toast("Enter domain first"),options:["http://","https://"],size:"small",variant:"standard",sx:{"& .MuiSelect-select":{pt:"1px",pb:0}}}),sx:{mt:2}}),reactExports.createElement(Box,{mt:2,textAlign:"right"},reactExports.createElement(Btn,{icon:Save,children:"Save",onClick(){return yt(this,null,function*(){S!==g&&(yield apiCall("set_config",{values:{[CFG.base_url]:S.replace(/\/$/,"")}})),C(),d(S)})}})));function D(I){I.endsWith("/")&&(I=I.slice(0,-1)),T(I)}}})}))})}let selectOnReload,exposeVfsLoading;const id2vfsNode=new Map;function VfsPage({setTitleSide:d}){var J,Q,ee,Z;const{vfs:m,selectedFiles:g,movingFile:x,vfsShowDiskContentFor:b}=useSnapState(),{data:E,reload:v,element:C,loading:S}=useApiEx("get_vfs");exposeVfsLoading=S,reactExports.useEffect(()=>{m||v()},[m,v]);const{data:T}=useApiEx("get_config",{only:[CFG.force_address,CFG.base_url]}),R="md",k=useBreakpoint(R),L=useApiEx("get_status"),{data:D}=L,A=reactExports.useMemo(()=>{var X;const ie=T==null?void 0:T[CFG.force_address],oe=(X=(D==null?void 0:D.urls.https)||(D==null?void 0:D.urls.http))==null?void 0:X.filter(ce=>{if(!ie)return!0;const pe=normalizeHost(new URL(ce).host);return Object.keys(D.roots).some(ae=>matches(pe,ae))}),re=ie?T==null?void 0:T[CFG.base_url]:D==null?void 0:D.baseUrl;return re&&oe&&!oe.includes(re)&&oe.unshift(re),oe},[D,T]),I=useApiEx("get_accounts"),N=reactExports.useMemo(()=>{var ie;return _.sortBy((ie=I==null?void 0:I.data)==null?void 0:ie.list,"username")},[I.data]),B=useApiList(b&&"get_ls",{path:b}),j=reactExports.useRef(_.noop);reactExports.useEffect(()=>{var ie;x===((ie=g[0])==null?void 0:ie.id)&&j.current()},[x]);const z=E&&!((Q=(J=E.root)==null?void 0:J.children)!=null&&Q.length)&&!((ee=E.root)!=null&&ee.source),Y=reactExports.useMemo(()=>z?reactExports.createElement(Alert,{severity:"warning",children:reactExports.createElement(reactExports.Fragment,{},"Add something to your virtual file system — click the ",reactExports.createElement(Add),"button, or set a source for the Home folder")}):(A==null?void 0:A.length)>0&&reactExports.createElement(Alert,{severity:"info",children:["Your shared files can be browsed from ",reactExports.createElement("span",{className:HIDE_IN_TESTS,key:0},reactJoin(" or ",A.slice(0,3).map(ie=>reactExports.createElement(Link$3,{href:ie,target:"frontend"},ie))))]}),[z,A]);d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},"This is what your users will see. Edit it freely – files on disk won’t be changed."),Y),[Y]));const W=(g==null?void 0:g.length)<2&&g[0],U=reactExports.useMemo(()=>I.element||!m?null:B.enabled?B.element||reactExports.createElement(Box,{},reactExports.createElement(Box,{fontSize:"xx-large",sx:{wordBreak:"break-all"}},"From ",b),reactExports.createElement(List,{dense:!0},B.list.map(ie=>reactExports.createElement(ListItem,{key:ie.n,sx:{borderTop:"1px solid #8888"}},reactExports.createElement(ListLsItem,{it:ie}))))):W?reactExports.createElement(FileForm,{key:W.id,isSideBreakpoint:k,addToBar:k&&reactExports.createElement(Box,{flex:1,textAlign:"right",mr:1,color:"#8883"},vfsNodeIcon(W)),statusApi:L,saved:()=>j.current(),accounts:N!=null?N:[],file:W}):g.length?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},g.length+" selected"),reactExports.createElement(Button,{onClick:deleteFiles,startIcon:reactExports.createElement(Delete)},"Remove")),reactExports.createElement(List,{dense:!0,disablePadding:!0},g.map(ie=>reactExports.createElement(ListItem,{key:ie.id},reactExports.createElement(ListItemText,{primary:ie.name,secondary:ie.source}))))):null,[I.element,m,B.list,W,g]);if(reactExports.useEffect(()=>{if(k||!U)return;const ie=[""];{let re=W&&W.parent;for(;re&&!re.isRoot;)ie.push(re.name),re=re.parent}const{close:oe}=newDialog({title:b?"Disk content":g.length>1?"Multiple selection":reactExports.createElement(Flex,{},vfsNodeIcon(g[0]),reactExports.createElement(Flex,{flexWrap:"wrap",gap:"0 0.5em"},g[0].name||"Home",reactExports.createElement(Box,{component:"span",color:"text.secondary"},ie.join(" /")))),dialogProps:{sx:{justifyContent:"flex-end"}},Content:()=>U,onClose(re){re||(state.selectedFiles=[],state.vfsShowDiskContentFor="")}});return j.current=oe,()=>void oe(!0)},[k,(Z=_.last(g))==null?void 0:Z.id,U]),reactExports.useEffect(()=>{if(state.vfs||!E)return;const{root:ie}=E;if(!ie)return;ie.isRoot=!0,state.vfs=ie,state.vfsUndo=void 0,reindexVfs({sortChildren:!0,select:oe()}),state.vfsModified=!1;function oe(){if(!selectOnReload)return;j.current();const re=selectOnReload;return selectOnReload=void 0,re}},[E]),C&&!state.vfs)return id2vfsNode.clear(),C;const V={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"};return reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Oe({item:!0,xs:12,[R]:5,lg:6,xl:5},V),reactExports.createElement(VfsTree,{statusApi:L})),k&&U&&reactExports.createElement(Grid,Oe({item:!0,[R]:!0,maxWidth:"100%"},V),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},U))))}function reindexVfs({node:d=state.vfs,clearMap:m=!0,sortChildren:g=!1,select:x=state.selectedFiles}={}){var E;if(!d)return;m&&id2vfsNode.clear(),b(d,((E=d.parent)==null?void 0:E.id)||"/",d.parent),state.vfsShowDiskContentFor="",x&&(state.selectedFiles=onlyTruthy(x.map(v=>id2vfsNode.get(typeof v=="string"?v:v.id))));function b(v,C,S){const T=v.id;v.parent=S,v.inherited=getInheritedPerms(v);const R=v.isRoot?"/":prefix(C,pathEncode(v.name),v.type==="folder"?"/":"");if(T&&T!==R&&id2vfsNode.delete(T),v.id=R,id2vfsNode.set(R,v),!!v.children){g&&(v.children=_.sortBy(v.children,["type",k=>{var L;return(L=k.name)==null?void 0:L.toLocaleLowerCase()}]));for(const k of v.children)b(k,v.id,v)}}}function getInheritedPerms(d){const m=d==null?void 0:d.parent;if(!m)return;const g={};for(const b of PERM_KEYS){const E=x(m,b);E!==void 0&&d[b]==null&&(g[b]=E)}return _.isEmpty(g)?void 0:g;function x(b,E){for(;b;){let v=b[E];if(v!=null&&(!isWhoObject(v)||(v=v.children,v!==void 0)))return v;b=b.parent}}}function reloadVfs(d){return selectOnReload=d,state.vfs=void 0,wait(100).then(()=>exposeVfsLoading)}function deleteFiles(){return yt(this,null,function*(){const d=state.selectedFiles;d.length&&(deleteVfs(d.map(m=>m.id)),toast(`${d.length} item(s) deleted`,"success"))})}function deleteVfs(d){const m=_.uniq(d).sort(),g=m.filter((x,b)=>x!=="/"&&(b===0||_.findLastIndex(m,E=>isDescendantUri(x,E),b-1)<0));if(g.length){prepareVfsUndo();for(const x of g){const b=id2vfsNode.get(x),E=b.parent.children;_.remove(E,{id:b.id})}state.movingFile&&g.some(x=>state.movingFile===x||isDescendantUri(state.movingFile,x))&&(state.movingFile=""),markVfsModified()}}function isDescendantUri(d,m){return m.endsWith("/")&&d.startsWith(m)}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(d,...m){throw new Error(`[Immer] minified error nr: ${d}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(d){return!!d&&!!d[DRAFT_STATE]}function isDraftable(d){var m;return d?isPlainObject(d)||Array.isArray(d)||!!d[DRAFTABLE]||!!((m=d.constructor)!=null&&m[DRAFTABLE])||isMap(d)||isSet(d):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(d){if(!d||typeof d!="object")return!1;const m=getPrototypeOf(d);if(m===null)return!0;const g=Object.hasOwnProperty.call(m,"constructor")&&m.constructor;return g===Object?!0:typeof g=="function"&&Function.toString.call(g)===objectCtorString}function each(d,m){getArchtype(d)===0?Reflect.ownKeys(d).forEach(g=>{m(g,d[g],d)}):d.forEach((g,x)=>m(x,g,d))}function getArchtype(d){const m=d[DRAFT_STATE];return m?m.type_:Array.isArray(d)?1:isMap(d)?2:isSet(d)?3:0}function has(d,m){return getArchtype(d)===2?d.has(m):Object.prototype.hasOwnProperty.call(d,m)}function set(d,m,g){const x=getArchtype(d);x===2?d.set(m,g):x===3?d.add(g):d[m]=g}function is$2(d,m){return d===m?d!==0||1/d===1/m:d!==d&&m!==m}function isMap(d){return d instanceof Map}function isSet(d){return d instanceof Set}function latest(d){return d.copy_||d.base_}function shallowCopy(d,m){if(isMap(d))return new Map(d);if(isSet(d))return new Set(d);if(Array.isArray(d))return Array.prototype.slice.call(d);const g=isPlainObject(d);if(m===!0||m==="class_only"&&!g){const x=Object.getOwnPropertyDescriptors(d);delete x[DRAFT_STATE];let b=Reflect.ownKeys(x);for(let E=0;E<b.length;E++){const v=b[E],C=x[v];C.writable===!1&&(C.writable=!0,C.configurable=!0),(C.get||C.set)&&(x[v]={configurable:!0,writable:!0,enumerable:C.enumerable,value:d[v]})}return Object.create(getPrototypeOf(d),x)}else{const x=getPrototypeOf(d);if(x!==null&&g)return Oe({},d);const b=Object.create(x);return Object.assign(b,d)}}function freeze(d,m=!1){return isFrozen(d)||isDraft(d)||!isDraftable(d)||(getArchtype(d)>1&&Object.defineProperties(d,{set:{value:dontMutateFrozenCollections},add:{value:dontMutateFrozenCollections},clear:{value:dontMutateFrozenCollections},delete:{value:dontMutateFrozenCollections}}),Object.freeze(d),m&&Object.values(d).forEach(g=>freeze(g,!0))),d}function dontMutateFrozenCollections(){die(2)}function isFrozen(d){return Object.isFrozen(d)}var plugins={};function getPlugin(d){const m=plugins[d];return m||die(0,d),m}var currentScope;function getCurrentScope(){return currentScope}function createScope(d,m){return{drafts_:[],parent_:d,immer_:m,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(d,m){m&&(getPlugin("Patches"),d.patches_=[],d.inversePatches_=[],d.patchListener_=m)}function revokeScope(d){leaveScope(d),d.drafts_.forEach(revokeDraft),d.drafts_=null}function leaveScope(d){d===currentScope&&(currentScope=d.parent_)}function enterScope(d){return currentScope=createScope(currentScope,d)}function revokeDraft(d){const m=d[DRAFT_STATE];m.type_===0||m.type_===1?m.revoke_():m.revoked_=!0}function processResult(d,m){m.unfinalizedDrafts_=m.drafts_.length;const g=m.drafts_[0];return d!==void 0&&d!==g?(g[DRAFT_STATE].modified_&&(revokeScope(m),die(4)),isDraftable(d)&&(d=finalize(m,d),m.parent_||maybeFreeze(m,d)),m.patches_&&getPlugin("Patches").generateReplacementPatches_(g[DRAFT_STATE].base_,d,m.patches_,m.inversePatches_)):d=finalize(m,g,[]),revokeScope(m),m.patches_&&m.patchListener_(m.patches_,m.inversePatches_),d!==NOTHING?d:void 0}function finalize(d,m,g){if(isFrozen(m))return m;const x=m[DRAFT_STATE];if(!x)return each(m,(b,E)=>finalizeProperty(d,x,m,b,E,g)),m;if(x.scope_!==d)return m;if(!x.modified_)return maybeFreeze(d,x.base_,!0),x.base_;if(!x.finalized_){x.finalized_=!0,x.scope_.unfinalizedDrafts_--;const b=x.copy_;let E=b,v=!1;x.type_===3&&(E=new Set(b),b.clear(),v=!0),each(E,(C,S)=>finalizeProperty(d,x,b,C,S,g,v)),maybeFreeze(d,b,!1),g&&d.patches_&&getPlugin("Patches").generatePatches_(x,g,d.patches_,d.inversePatches_)}return x.copy_}function finalizeProperty(d,m,g,x,b,E,v){if(isDraft(b)){const C=E&&m&&m.type_!==3&&!has(m.assigned_,x)?E.concat(x):void 0,S=finalize(d,b,C);if(set(g,x,S),isDraft(S))d.canAutoFreeze_=!1;else return}else v&&g.add(b);if(isDraftable(b)&&!isFrozen(b)){if(!d.immer_.autoFreeze_&&d.unfinalizedDrafts_<1)return;finalize(d,b),(!m||!m.scope_.parent_)&&typeof x!="symbol"&&(isMap(g)?g.has(x):Object.prototype.propertyIsEnumerable.call(g,x))&&maybeFreeze(d,b)}}function maybeFreeze(d,m,g=!1){!d.parent_&&d.immer_.autoFreeze_&&d.canAutoFreeze_&&freeze(m,g)}function createProxyProxy(d,m){const g=Array.isArray(d),x={type_:g?1:0,scope_:m?m.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:m,base_:d,draft_:null,copy_:null,revoke_:null,isManual_:!1};let b=x,E=objectTraps;g&&(b=[x],E=arrayTraps);const{revoke:v,proxy:C}=Proxy.revocable(b,E);return x.draft_=C,x.revoke_=v,C}var objectTraps={get(d,m){if(m===DRAFT_STATE)return d;const g=latest(d);if(!has(g,m))return readPropFromProto(d,g,m);const x=g[m];return d.finalized_||!isDraftable(x)?x:x===peek(d.base_,m)?(prepareCopy(d),d.copy_[m]=createProxy(x,d)):x},has(d,m){return m in latest(d)},ownKeys(d){return Reflect.ownKeys(latest(d))},set(d,m,g){const x=getDescriptorFromProto(latest(d),m);if(x!=null&&x.set)return x.set.call(d.draft_,g),!0;if(!d.modified_){const b=peek(latest(d),m),E=b==null?void 0:b[DRAFT_STATE];if(E&&E.base_===g)return d.copy_[m]=g,d.assigned_[m]=!1,!0;if(is$2(g,b)&&(g!==void 0||has(d.base_,m)))return!0;prepareCopy(d),markChanged(d)}return d.copy_[m]===g&&(g!==void 0||m in d.copy_)||Number.isNaN(g)&&Number.isNaN(d.copy_[m])||(d.copy_[m]=g,d.assigned_[m]=!0),!0},deleteProperty(d,m){return peek(d.base_,m)!==void 0||m in d.base_?(d.assigned_[m]=!1,prepareCopy(d),markChanged(d)):delete d.assigned_[m],d.copy_&&delete d.copy_[m],!0},getOwnPropertyDescriptor(d,m){const g=latest(d),x=Reflect.getOwnPropertyDescriptor(g,m);return x&&{writable:!0,configurable:d.type_!==1||m!=="length",enumerable:x.enumerable,value:g[m]}},defineProperty(){die(11)},getPrototypeOf(d){return getPrototypeOf(d.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(d,m)=>{arrayTraps[d]=function(){return arguments[0]=arguments[0][0],m.apply(this,arguments)}});arrayTraps.deleteProperty=function(d,m){return arrayTraps.set.call(this,d,m,void 0)};arrayTraps.set=function(d,m,g){return objectTraps.set.call(this,d[0],m,g,d[0])};function peek(d,m){const g=d[DRAFT_STATE];return(g?latest(g):d)[m]}function readPropFromProto(d,m,g){var b;const x=getDescriptorFromProto(m,g);return x?"value"in x?x.value:(b=x.get)==null?void 0:b.call(d.draft_):void 0}function getDescriptorFromProto(d,m){if(!(m in d))return;let g=getPrototypeOf(d);for(;g;){const x=Object.getOwnPropertyDescriptor(g,m);if(x)return x;g=getPrototypeOf(g)}}function markChanged(d){d.modified_||(d.modified_=!0,d.parent_&&markChanged(d.parent_))}function prepareCopy(d){d.copy_||(d.copy_=shallowCopy(d.base_,d.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(d){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(m,g,x)=>{if(typeof m=="function"&&typeof g!="function"){const E=g;g=m;const v=this;return function(S=E,...T){return v.produce(S,R=>g.call(this,R,...T))}}typeof g!="function"&&die(6),x!==void 0&&typeof x!="function"&&die(7);let b;if(isDraftable(m)){const E=enterScope(this),v=createProxy(m,void 0);let C=!0;try{b=g(v),C=!1}finally{C?revokeScope(E):leaveScope(E)}return usePatchesInScope(E,x),processResult(b,E)}else if(!m||typeof m!="object"){if(b=g(m),b===void 0&&(b=m),b===NOTHING&&(b=void 0),this.autoFreeze_&&freeze(b,!0),x){const E=[],v=[];getPlugin("Patches").generateReplacementPatches_(m,b,E,v),x(E,v)}return b}else die(1,m)},this.produceWithPatches=(m,g)=>{if(typeof m=="function")return(v,...C)=>this.produceWithPatches(v,S=>m(S,...C));let x,b;return[this.produce(m,g,(v,C)=>{x=v,b=C}),x,b]},typeof(d==null?void 0:d.autoFreeze)=="boolean"&&this.setAutoFreeze(d.autoFreeze),typeof(d==null?void 0:d.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(d.useStrictShallowCopy)}createDraft(d){isDraftable(d)||die(8),isDraft(d)&&(d=current(d));const m=enterScope(this),g=createProxy(d,void 0);return g[DRAFT_STATE].isManual_=!0,leaveScope(m),g}finishDraft(d,m){const g=d&&d[DRAFT_STATE];(!g||!g.isManual_)&&die(9);const{scope_:x}=g;return usePatchesInScope(x,m),processResult(void 0,x)}setAutoFreeze(d){this.autoFreeze_=d}setUseStrictShallowCopy(d){this.useStrictShallowCopy_=d}applyPatches(d,m){let g;for(g=m.length-1;g>=0;g--){const b=m[g];if(b.path.length===0&&b.op==="replace"){d=b.value;break}}g>-1&&(m=m.slice(g+1));const x=getPlugin("Patches").applyPatches_;return isDraft(d)?x(d,m):this.produce(d,b=>x(b,m))}};function createProxy(d,m){const g=isMap(d)?getPlugin("MapSet").proxyMap_(d,m):isSet(d)?getPlugin("MapSet").proxySet_(d,m):createProxyProxy(d,m);return(m?m.scope_:getCurrentScope()).drafts_.push(g),g}function current(d){return isDraft(d)||die(10,d),currentImpl(d)}function currentImpl(d){if(!isDraftable(d)||isFrozen(d))return d;const m=d[DRAFT_STATE];let g;if(m){if(!m.modified_)return m.base_;m.finalized_=!0,g=shallowCopy(d,m.scope_.immer_.useStrictShallowCopy_)}else g=shallowCopy(d,!0);return each(g,(x,b)=>{set(g,x,currentImpl(b))}),m&&(m.finalized_=!1),g}var immer=new Immer2,produce=immer.produce;const STORAGE_KEY="admin_state",INIT={title:"",config:{},selectedFiles:[],vfsShowDiskContentFor:"",accountsAsTree:!1,movingFile:"",vfs:void 0,vfsUndo:void 0,vfsModified:!1,expanded:[],loginRequired:!1,username:"",monitorOnlyFiles:!0,monitorWithLog:!0,customHtmlSection:"",darkTheme:void 0,dataTablePersistence:{},hideRandomPlugin:!1,onlinePluginsColumns:{version:!1,pushed_at:!1,license:!1}};Object.assign(INIT,JSON.parse(localStorage[STORAGE_KEY]||null));const state=proxy(INIT);Object.assign(window,{state});const SETTINGS_TO_STORE=["onlinePluginsColumns","monitorOnlyFiles","monitorWithLog","customHtmlSection","darkTheme","dataTablePersistence","accountsAsTree","hideRandomPlugin"],storeSettings=_.debounce(()=>localStorage[STORAGE_KEY]=JSON.stringify(_.pick(state,SETTINGS_TO_STORE)),500,{maxWait:1e3});for(const d of SETTINGS_TO_STORE)subscribeKey(state,d,storeSettings);function useSnapState(){return useSnapshot(state)}function markVfsModified(){state.vfs=Oe({},state.vfs),state.vfsModified=!0,reindexVfs()}function prepareVfsUndo(){state.vfs&&(state.vfsUndo=cloneVfs(state.vfs))}function undoVfs(){if(!state.vfs||!state.vfsUndo)return;const d=cloneVfs(state.vfs);state.vfs=state.vfsUndo,state.vfsUndo=d,state.vfsModified=!0,reindexVfs()}function updateStateObject(d,m,g){d[m]=produce(d[m],g)}function cloneVfs(d){const E=d,{parent:m,children:g}=E,x=Vt(E,["parent","children"]),b=_.cloneDeep(x);return g&&(b.children=g.map(cloneVfs)),b}function useDark(){return useMediaQuery$1("(prefers-color-scheme: dark)")}const EMPTY={};function useMyTheme(){const{darkTheme:d}=useSnapState(),m=useDark(),g=(d!=null?d:m)?null:EMPTY;return reactExports.useMemo(()=>createTheme({palette:g||{mode:"dark",text:{primary:"#bbb",secondary:"#fff6"},primary:{main:"#469",light:"#68c"},secondary:{main:"#969"}},typography:{fontFamily:'Roboto, "Noto sans", "Segoe UI", "San Francisco", "Helvetica Neue", Arial, sans-serif'},components:{MuiLink:{defaultProps:g||{color:"primary.light"}},MuiTextField:{defaultProps:{variant:"filled"},styleOverrides:g||{root:{"& label.Mui-focused":{color:"#ccc"}}}},MuiButton:{defaultProps:{variant:"outlined"},styleOverrides:g||{root({ownerState:x}){return x.color==="primary"&&{color:x.variant==="contained"?"#ddd":"#68c"}}}}}}),[g])}function SwitchThemeBtn(d){const{darkTheme:m}=useSnapState(),g=useDark(),x=m!=null?m:g;return reactExports.createElement(Btn,Oe({icon:x?Brightness7:Brightness4,onClick:()=>{const b=!x;return state.darkTheme=g===b?void 0:b}},d),x?"Light theme":"Dark theme")}dialogsDefaults.Container=function(m){const g=reactExports.useRef(),x=useIsMobile();reactExports.useEffect(()=>{const T=setTimeout(()=>{const R=g.current;R&&(x||focusSelector("[autofocus]",R)||focusSelector(focusableSelector,R))});return()=>clearTimeout(T)},[x,g.current]);const b=useDialogBarColors();m=Oe(Oe({},dialogsDefaults),m);const S=m.dialogProps||{},{sx:E,root:v}=S,C=Vt(S,["sx","root"]);return m.noFrame?reactExports.createElement(Modal,{open:!0,children:reactExports.createElement(Center,{},reactExports.createElement(m.Content))}):reactExports.createElement(Dialog$1,Rt(Oe(Oe({open:!0,maxWidth:!1,fullScreen:x},C),v),{className:m.className,onClose:()=>closeDialog()}),m.title&&reactExports.createElement(DialogTitle,{sx:Oe({position:"sticky",top:0,p:1,zIndex:2,boxShadow:"0 0 8px #0004",display:"flex",alignItems:"center"},b)},m.icon&&componentOrNode(m.icon),reactExports.createElement(Box,{flex:1,minWidth:40,ml:1},componentOrNode(m.title)),m.closable&&reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:()=>closeDialog()})),reactExports.createElement(DialogContent,{ref:g,sx:Oe({p:m.padding?{xs:1,sm:void 0}:0,pt:"16px !important",overflow:"initial",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"stretch"},E)},reactExports.createElement(m.Content)))};function useDialogBarColors(){const{darkTheme:d}=useSnapState();return(d!=null?d:useDark())?{bgcolor:"#2d2d2d"}:{bgcolor:"#ccc",color:"#444"}}const type2ico={error:ErrorIcon,warning:Warning,info:Info,success:Check};function alertDialog(d,m){var S;const g=typeof m=="string"?{type:m}:m!=null?m:{};let C=g,{type:x="info"}=C,b=Vt(C,["type"]);d instanceof Error&&(d=err2msg$1(d.message||d.code),x="error");const E=pendingPromise(),v=newDialog(Rt(Oe({className:"dialog-alert dialog-alert-"+x,icon:(S=g.icon)!=null?S:reactExports.createElement(type2ico[x],{color:x}),onClose:E.resolve,title:_.upperFirst(x),dialogProps:{fullScreen:!1}},b),{Content(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(d)?d:reactExports.createElement(Box,{fontSize:"large",lineHeight:"1.8em",pb:1},String(d)))}}));return Object.assign(E,v)}function confirmDialog(d,C={}){var S=C,{href:m,trueText:g="Go",falseText:x="Don't",before:b,after:E}=S,v=Vt(S,["href","trueText","falseText","before","after"]);const T=pendingPromise(),R=newDialog(Rt(Oe({className:"dialog-confirm",onClose:T.resolve,dialogProps:{sx:{alignItems:"center"}}},v),{Content:k}));return Object.assign(T,R);function k(){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{mb:2},typeof d=="string"?md(d):d),reactExports.createElement(Flex,{},b==null?void 0:b({onClick:L=>R.close(L)}),reactExports.createElement("a",{href:m,onClick:()=>R.close(!0)},reactExports.createElement(Button,{variant:"contained"},g)),reactExports.createElement(Button,{onClick:()=>R.close(!1)},x),E==null?void 0:E({onClick:L=>R.close(L)})))}}function formDialog(b){return yt(this,null,function*(){var E=b,{form:d,values:m,Wrapper:g}=E,x=Vt(E,["form","values","Wrapper"]);let v;return new Promise(C=>{const S=newDialog(Rt(Oe({className:"dialog-form",onClose:T=>C(T||v)},x),{Content(){const[T,R]=reactExports.useState(m||{}),A=typeof d=="function"?d(T):d,{onChange:k,before:L}=A,D=Vt(A,["onChange","before"]);return D.save===!1&&(v=T),reactExports.createElement(g||reactExports.Fragment,{},L,reactExports.createElement(Form,Rt(Oe({},D),{values:T,set(I,N){R(B=>{const j=Rt(Oe({},B),{[N]:I});return k==null||k(j,{setValues:R}),j})},save:D.save!==!1&&Oe({onClick(){S.close(T)}},D.save)})))}}))})})}function promptDialog(S){return yt(this,arguments,function*(d,v={}){var C=v,{value:m="",field:g,save:x,addToBar:b=[]}=C,E=Vt(C,["value","field","save","addToBar"]);return formDialog(Rt(Oe({},E),{values:{text:m},form:Oe({fields:[Rt(Oe({k:"text",label:null,autoFocus:!0},g),{before:reactExports.createElement(Box,{mb:2},d)})],save:Oe({children:"Continue",startIcon:reactExports.createElement(Forward)},x),saveOnEnter:!0,barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick:closeDialog},"Cancel"),...b]},E.form)})).then(T=>T==null?void 0:T.text)})}function waitDialog(){return newDialog({Content:()=>reactExports.createElement(CircularProgress,{size:"20vw"}),noFrame:!0,closable:!1}).close}function toast(d,m="info",g){const b=newDialog(Rt(Oe({},g),{Content:E,dialogProps:{fullScreen:!1,PaperProps:{sx:{transition:"opacity 3000ms ease-in"},ref(v){v&&(v.style.opacity="0")}}}}));return setTimeout(b.close,3e3),b;function E(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(m)?m:reactExports.createElement(type2ico[m],{color:m}),reactExports.isValidElement(d)?d:reactExports.createElement("div",{},String(d)))}}function spinner(){return reactExports.createElement(CircularProgress)}function useBreakpoint(d){return useMediaQuery$1(m=>m.breakpoints.up(d),{noSsr:!0})}function IconProgress({icon:d,progress:m,offset:g,title:x,sx:b}){return reactExports.createElement(Flex,{vert:!0,center:!0},reactExports.createElement(d,{sx:{position:"absolute",ml:"4px"}}),reactExports.createElement(CircularProgress,{value:m*100||0,variant:"determinate",size:32,sx:{position:"absolute"}}),hTooltip(x!=null?x:_.isNumber(m)?formatPerc(m):"Size unknown","",reactExports.createElement(CircularProgress,{color:"success",value:(g||1e-7)*100,variant:"determinate",size:32,sx:Oe({display:"flex"},b)})))}function Flex(v){var C=v,{vert:d=!1,center:m=!1,children:g=null,props:x={},component:b}=C,E=Vt(C,["vert","center","children","props","component"]);return reactExports.createElement(Box,Oe({sx:Oe(Oe({display:"flex",gap:".8em",flexDirection:d?"column":void 0,alignItems:d?void 0:"center"},m&&{justifyContent:"center"}),E),component:b},x),g)}function wikiLink(d,m){return Array.isArray(m)&&(m=dontBotherWithKeys(m)),reactExports.createElement(Link$3,{href:WIKI_URL+d,target:"help"},m)}function WildcardsSupported(){return wikiLink("Wildcards","Wildcards supported")}function reloadBtn(d,m){return reactExports.createElement(IconBtn,Oe({icon:Refresh,title:"Reload",onClick:d},m))}function propsForModifiedValues(d){return d?{sx:{outline:"2px solid",animation:".5s blink 2"}}:void 0}function useRefPass(d){const m=reactExports.useRef(null);return Object.assign(m,{pass(g){m.current=g,_.isFunction(d)?d(g):d&&(d.current=g)}})}const IconBtn=reactExports.forwardRef((d,m)=>reactExports.createElement(Btn,Oe({ref:m},d))),Btn=reactExports.forwardRef((N,I)=>{var B=N,{icon:d,title:m,onClick:g,disabled:x,progress:b,link:E,tooltipProps:v,confirm:C,doneMessage:S,doneAnimation:T,labelIf:R,children:k,modified:L,loading:D}=B,A=Vt(B,["icon","title","onClick","disabled","progress","link","tooltipProps","confirm","doneMessage","doneAnimation","labelIf","children","modified","loading"]);var Z,ie;const[j,z]=useStateMounted(!1);typeof x=="string"&&(m=x),x=b||x?!0:void 0,E&&(g=()=>window.open(E));const Y=useBreakpoint(_.isString(R)?R:"xs")&&(_.isBoolean(R)?R:!0);!Y&&k&&(m=k);const W=useRefPass(I),U=_.merge(propsForModifiedValues(L),{ref:W.pass,disabled:x,"aria-hidden":x,onClick(...oe){return yt(this,null,function*(){if(j||C&&!(yield confirmDialog(C===!0?"Are you sure?":C)))return;const re=g==null?void 0:g.apply(this,oe);re instanceof Promise&&(z(!0),re.finally(()=>z(!1)));try{(yield re)!==!1&&execDoneMessage(S,T&&W.current)}catch(X){alertDialog(X)}})}},A),V=reactExports.isValidElement(d)?d:d&&reactExports.createElement(d);let J=k&&Y?reactExports.createElement(LoadingButton,_.merge({variant:"contained",startIcon:V,loading:!!(D||j||b),loadingPosition:d&&"start",loadingIndicator:typeof b!="number"?void 0:reactExports.createElement(CircularProgress,{size:"1rem",value:b*100,variant:"determinate"}),children:Y&&k},U,(!Y||!k)&&{sx:{minWidth:"auto",px:1,py:"7px","& span":{mx:0}}})):reactExports.createElement(IconButton,_.merge(U,{sx:{height:"fit-content"},TouchRippleProps:{"aria-hidden":!0},"aria-label":!k||!Y?(Z=A["aria-label"])!=null?Z:_.isString(m)?m:void 0:A["aria-label"]}),(b||j)&&b!==!1&&reactExports.createElement(CircularProgress,Rt(Oe({},typeof b=="number"?{value:b*100,variant:"determinate"}:null),{style:{position:"absolute",top:"10%",left:"10%",width:"80%",height:"80%"}})),V);const Q=(ie=A["aria-label"])!=null?ie:with_(_.isString(m)&&m,oe=>oe?`${prefix("",_.isString(k)&&k," – ")}${oe}`:void 0);return m&&(J=reactExports.createElement("span",x?{role:"button","aria-label":Q,"aria-disabled":!0}:void 0,J),J=hTooltip(m,Q,J,v)),J});function execDoneMessage(d,m){m&&restartAnimation(m,"success .5s"),d&&toast(d===!0?"Operation completed":d,"success")}function iconTooltip(d,m,g,x){return hTooltip(m,void 0,reactExports.createElement(d,Oe({sx:g},x)))}function InLink(m){var d=Vt(m,[]);const g=useNavigate();return d.onClickCapture=x=>yt(this,null,function*(){var b;for(x.preventDefault();anyDialogOpen();)yield(b=closeDialog())==null?void 0:b.closed;g(d.to)}),reactExports.createElement(Link$3,Oe({component:Link$4},d))}const Center=reactExports.forwardRef((d,m)=>reactExports.createElement(Box,Oe({ref:m,display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},d)));function LinkBtn(m){var d=Vt(m,[]);return reactExports.createElement(Link$3,Rt(Oe({},d),{href:"",sx:Oe({cursor:"pointer"},d.sx),role:"button",onClick(g){var x;g.preventDefault(),(x=d.onClick)==null||x.call(d,g)}}))}function usePauseButton(d="",m=!0,g){const[x,b]=useToggleButton(`Pause ${d}`,`Resume ${d}`,E=>Oe({icon:E?PauseCircle:PlayCircle,sx:{rotate:E?"180deg":"0deg"}},g),m);return{pause:!x,pauseButton:b}}function useToggleButton(d,m,g,x=!1){const[b,E]=reactExports.useState(x instanceof Promise||x instanceof Function?()=>{const T=callable(x);return T instanceof Promise?(T.then(R=>E(R)),!1):T}:x),v=reactExports.useCallback(()=>E(T=>!T),[]),C=g(b),S=reactExports.useMemo(()=>reactExports.createElement(IconBtn,Rt(Oe({size:"small",color:b?"primary":void 0,title:b||m===void 0?d:m,"aria-label":d,"aria-pressed":b},C),{sx:Oe({transition:"all .5s"},C.sx),onClick(T){var R;(R=C.onClick)==null||R.call(C,T),v()}})),[b]);return[b,S,E]}function NetmaskField(x){var b=x,{setApi:d,helperText:m}=b,g=Vt(b,["setApi","helperText"]);const E=reactExports.useRef(!1);return d==null||d({getError(){return g.value&&apiCall("validate_net_mask",{mask:g.value}).then(v=>!v.result&&"Invalid mask")}}),reactExports.createElement(StringField,Rt(Oe({helperText:reactExports.createElement("span",{},m,m&&" – ",wikiLink("Wildcards#network-masks","Wildcards supported"))},g),{onTyping(v){var C,S;return!E.current&&(v!=null&&v.includes("127.0.0.1"))&&!v.includes("::1")&&(E.current=!0,alertDialog('Hostname "localhost" is normally translated as ::1 instead of 127.0.0.1',"warning")),(S=(C=g.onTyping)==null?void 0:C.call(g,v))!=null?S:v}}))}function Country({code:d,ip:m,def:g,long:x,short:b}){const E=m&&!isIpLocalHost(m)&&!isIpLan(m),{data:v}=useBatch(d===void 0&&E&&ip2countryBatch,m,{delay:100});d||(d=v||"");const C=d&&_.find(ALL,{code:d});return C?hTooltip(x?void 0:C.name,void 0,reactExports.createElement("span",{},reactExports.createElement(Box,{className:`fflag fflag-${d.toUpperCase()}`,component:"span",mr:1}),x?C.name+prefix(" (",b&&d,")"):d)):reactExports.createElement(reactExports.Fragment,{},g)}function ip2countryBatch(d){return yt(this,null,function*(){return(yield apiCall("ip_country",{ips:d})).codes})}function hTooltip(d,m,g,x){return reactExports.createElement(Tooltip,Oe(Rt(Oe({title:d,children:g},m===""?{"aria-hidden":!0}:{"aria-label":m||_.isString(d)&&d||void 0}),{componentsProps:{popper:{sx:Oe({whiteSpace:"pre-wrap"},x==null?void 0:x.sx)}}}),x))}setDefaultApiCallOptions({onResponse(d,m){return yt(this,null,function*(){if(d.status===HTTP_UNAUTHORIZED)throw state.loginRequired=(m==null?void 0:m.possible)!==!1||HTTP_FORBIDDEN,new ApiError(d.status,m)})}});const ERRORS={timeout:"Operation timeout"};function useApiEx(...d){const m=useApi(...d);return Rt(Oe({},m),{element:reactExports.useMemo(()=>d[0]?m.error?reactExports.createElement(Alert,{severity:"error"},xlate(String(m.error),ERRORS),reactExports.createElement(IconBtn,{icon:Refresh,title:"Reload",onClick:m.reload,sx:{m:"-10px 0 -8px 16px"}})):m.data===void 0?spinner():null:null,Object.values(m))})}function useApiList(d,m={},{map:g,invert:x,pause:b,limit:E}={}){const[v,C]=useStateMounted([]),[S,T]=useStateMounted(void 0),[R,k]=useStateMounted(void 0),[L,D]=useStateMounted(!0),[A,I]=useStateMounted(!1),[N,B]=useStateMounted(!0),[j,z]=reactExports.useState(0),Y=reactExports.useRef(0),[W,U]=reactExports.useState();reactExports.useEffect(()=>U(b?v:void 0),[b]),reactExports.useEffect(()=>{if(!d)return;const ee=[],Z=_.debounce(()=>{const re=ee.splice(0,1/0);re.length&&(x&&re.reverse(),C(X=>{if(x){const pe=[...re,...X];return pe.splice(E!=null?E:1/0,1/0),pe}const ce=[...X,...re];return ce.splice(0,ce.length-(E!=null?E:1/0)),ce}))},1e3,{maxWait:1e3});k(void 0),I(!0),D(!0),B(!0),C([]);const ie=apiEvents(d,objSameKeys(m,re=>re===!1?void 0:re),(re,X)=>{switch(re){case"connected":return D(!1),setTimeout(()=>Z.flush());case"error":return k("Connection error"),setTimeout(Q,1e3),oe();case"closed":return oe();case"msg":if(ie.readyState!==ie.OPEN)return oe();const ce=[],pe=[];wantArray(X).forEach(ae=>{var ge,ye,Ee,ve;if(!Array.isArray(ae))return console.debug("illegal list packet",ae);console.debug("LIST",...ae);const[ue,fe]=ae;if(ue===LIST.ready){Z.flush(),B(!1);return}if(ue===LIST.error){fe===HTTP_UNAUTHORIZED?state.loginRequired=((ge=ae[2])==null?void 0:ge.possible)!==!1||HTTP_FORBIDDEN:k(_.isString(fe)||_.isNumber(fe)?err2msg$1(fe):fe);return}if(ue===LIST.props)return T(fe);if(ue===LIST.add){const Te=(ye=g==null?void 0:g(fe))!=null?ye:fe;(Ee=Te.id)!=null||(Te.id=Y.current=Math.max(Y.current,Date.now())+.001),ee.push(Te),Z();return}if(ue===LIST.remove){const Te=_.matches(fe);_.isEmpty(_.remove(ee,Te))&&ce.push(Te);return}if(ue===LIST.update){const Te=(ve=g==null?void 0:g(ae[2]))!=null?ve:ae[2],$e=_.find(ee,fe);if($e)return Object.assign($e,Te);pe.push([fe,Te]);return}console.debug("unknown list api",ue)}),C(ae=>{let ue=ae,fe;if(ce.length&&(fe=ae.filter(ge=>!ce.some(ye=>ye(ge))),fe.length<ae.length&&(ue=fe)),pe.length)for(const[ge,ye]of pe){const Ee=_.findIndex(ue,ge);Ee<0||(ue===ae&&(ue=fe!=null?fe:ae.slice()),ue[Ee]=Oe(Oe({},ue[Ee]),ye))}return ue})}});return()=>{Z.cancel(),ie.close()};function oe(){B(!1),I(!1),Z.flush()}},[j,d,JSON.stringify(m)]);const V=reactExports.useCallback(ee=>C(Z=>produce(Z,ee)),[C]),J=reactExports.useCallback((ee,Z)=>{V(ie=>{const oe=_.find(ie,ee);oe&&Object.assign(oe,Z)})},[V]);return{list:W!=null?W:v,props:S,loading:A,error:R,initializing:N,connecting:L,setList:C,updateList:V,updateEntry:J,reload:Q,enabled:!!d,element:L||N||A?spinner():R?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1(R)):null};function Q(){z(ee=>ee+1)}}function MonitorPage({setTitleSide:d}){return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"If you are behind a proxy, connections list may not match browsers activity"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(MoreInfo),reactExports.createElement(Connections))}function MoreInfo(){var L,D;const{data:d,element:m,reload:g}=useApiEx("get_status");useInterval(g,1e4);const{data:x}=useApiEvents("get_connection_stats"),[b,E]=reactExports.useState(!1),v=useBreakpoint("md"),C=useBreakpoint("sm"),S=useBreakpoint("xl"),T=createDurationFormatter({maxTokens:2,skipZeroes:!0});return m||reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:{xs:.5,md:1},mb:{xs:1,sm:2}},(b||v)&&R("started",{label:"Uptime",render:A=>T(Date.now()-+new Date(A)),title:A=>"Started: "+formatTimestamp$1(A)}),(b||C)&&R("sent_got",{render:A=>({Sent:formatBytes(A[0]),Got:formatBytes(A[1])}),title:A=>"Since: "+formatTimestamp$1(A[2]),onDelete:()=>confirmDialog("Reset stats?").then(A=>A&&apiCall("clear_persistent",{k:["totalSent","totalGot"]}).then(()=>alertDialog("Done","success"),alertDialog))}),R("outSpeedKb",{label:"Output",render:formatSpeedK,minWidth:"8.5em"}),R("inSpeedKb",{label:"Input",render:formatSpeedK,minWidth:"8.5em"}),(b||C)&&R("ips",{label:"IPs",title:()=>"Currently connected"}),(v||b&&v||((L=d==null?void 0:d.http)==null?void 0:L.error))&&R("http",{label:"HTTP",render:k}),(v||b&&v||((D=d==null?void 0:d.https)==null?void 0:D.error))&&R("https",{label:"HTTPS",render:k}),(S||b)&&R("ram",{label:"RAM",render:formatBytes}),!S&&reactExports.createElement(IconBtn,{size:"small",icon:b?ChevronLeft:ChevronRight,title:"Show more",onClick:()=>E(A=>!A)}));function R(A,{label:I,minWidth:N,render:B,title:j,onDelete:z}={}){var V;let Y=(V=_.get(x,A))!=null?V:_.get(d,A);if(Y===void 0)return null;let W;const U=j==null?void 0:j(Y);return B&&(Y=B(Y),Array.isArray(Y)&&([Y,W]=Y)),I||(I=_.capitalize(A.replaceAll("_"," "))),hTooltip(U,void 0,reactExports.createElement(Chip,{variant:"filled",color:W,onDelete:z,label:reactJoin(" – ",_.map(_.isPlainObject(Y)?Y:{[I]:Y},(J,Q)=>reactExports.createElement("span",{style:{display:"inline-block",minWidth:N}},reactExports.createElement("b",{},Q),": ",J)))}))}function k(A){return A.listening?["port "+A.port,"success"]:A.error?[A.error,"error"]:"off"}}function Connections(){var L;const{list:d,error:m,props:g}=useApiList("get_connections"),x=useApiEx("get_config",{only:[CFG.geo_enable]}),{monitorOnlyFiles:b}=useSnapState(),{pause:E,pauseButton:v}=usePauseButton(),C=reactExports.useMemo(()=>d==null?void 0:d.filter(D=>!b||D.op).map((D,A)=>Oe({id:A},D)),[!E&&d,b]),S=useBreakpoint("md"),[T,R]=useToggleButton("Show log","Hide log",D=>({icon:History,sx:{rotate:D?0:"180deg"}}),state.monitorWithLog);state.monitorWithLog=T;const k=S&&T?6:0;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Flex,{flex:1},reactExports.createElement(SelectField,{fullWidth:!1,value:b,onChange:D=>state.monitorOnlyFiles=D,options:{"Show downloads+uploads":!0,"Show all connections":!1}})),S&&reactExports.createElement(Flex,{flex:1,justifyContent:"space-between"},T?"Live log":reactExports.createElement(Box),R)),reactExports.createElement(Grid,{container:!0,flex:1,columnSpacing:1},reactExports.createElement(Grid,{item:!0,xs:12-k,sx:fillFlexParentSx},reactExports.createElement(DataTable,{persist:"connections",error:m,rows:C,fillFlex:!0,noRows:b&&"No downloads/uploads at the moment",footerSide:()=>reactExports.createElement(Flex,{},v,reactExports.createElement(Btn,{size:"small",icon:DisconnectIcon,labelIf:"xl",confirm:"Disconnecting all connections but localhost. Continue?",onClick:()=>apiCall("disconnect",{allButLocalhost:!0}).then(D=>toast(`Disconnected: ${D.result}`))},"Disconnect all")),columns:[{field:"ip",headerName:"Address",flex:1,maxWidth:400,renderCell:({row:D,value:A})=>ipForUrl(A)+" :"+D.port,mergeRender:{user:{display:"flex",justifyContent:"space-between",gap:".5em"},agent:{},country:{}}},{field:"country",headerName:"Country",hideUnder:((L=x.data)==null?void 0:L[CFG.geo_enable])!==!0||"md",renderCell:({value:D,row:A})=>reactExports.createElement(Country,{code:D,ip:A.ip})},{field:"user",headerName:"User",hideUnder:"md"},{field:"started",headerName:"Started",type:"dateTime",width:96,hideUnder:"lg",valueFormatter:({value:D})=>new Date(D).toLocaleTimeString()},{field:"path",headerName:"File",flex:1.5,renderCell({value:D,row:A}){var I;if(!(!D||!A.op))return A.op==="browsing"?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small"},"browsing")):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconProgress,{icon:A.archive?FolderZip:A.op==="upload"?Upload:Download,progress:(I=A.opProgress)!=null?I:A.opOffset,offset:A.opOffset,title:md(formatPerc(A.opProgress)+(A.opTotal?`
806
- Total: `+formatBytes(A.opTotal):"")),sx:{mr:1}}),A.archive?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},A.archive)):with_(D==null?void 0:D.lastIndexOf("/"),N=>reactExports.createElement(Box,{},D.slice(N+1),N>0&&reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},D.slice(0,N)))))}},{field:"outSpeedKb",headerName:"Speed",width:110,hideUnder:"sm",type:"number",renderCell:({value:D,row:A})=>formatSpeedK(Math.max(D||0,A.inSpeedKb||0)||void 0),mergeRender:{sent:{fontSize:"small",textAlign:"right"}}},{field:"sent",headerName:"Sent",type:"number",hideUnder:"md",renderCell:({value:D,row:A})=>formatBytes(Math.max(D||0,A.got||0))},{field:"v",headerName:"Protocol",align:"center",hideUnder:1/0,renderCell:({value:D})=>reactExports.createElement(reactExports.Fragment,{},"IPv"+D,iconTooltip(Lock,"HTTPS",{opacity:.5}))},{field:"agent",headerName:"Agent",hideUnder:"lg",renderCell:({value:D})=>agentIcons(D)}],actionsProps:{hideUnder:"sm"},actions:({row:D})=>[reactExports.createElement(IconBtn,{icon:DisconnectIcon,title:"Disconnect",doneMessage:!0,onClick:()=>apiCall("disconnect",_.pick(D,["ip","port"])).then(A=>A.result>0)}),reactExports.createElement(BlockIpBtn,{ip:D.ip,comment:"From monitoring",disabled:D.ip===(g==null?void 0:g.you)})]})),S&&T&&reactExports.createElement(Grid,Oe({item:!0,xs:k},fillFlexParentSx),reactExports.createElement(LogFile,{file:`${CFG.log}|${CFG.error_log}`,filter:b?D=>!D.uri.startsWith(SPECIAL_URI):void 0,fillFlex:!0,compact:!1,limit:1e3,getRowClassName:({row:D})=>D.status<400?"":"isError",sx:{"& .isError":{backgroundColor:"#a443"}}}))))}function formatSpeedK(d){return d===void 0?"":formatSpeed(d*1e3,{digits:1})}function ArrayField(j){var z=j,{label:d,helperText:m,fields:g,value:x,onChange:b,onError:E,setApi:v,reorder:C,prepend:S,noRows:T,valuesForAdd:R,autoRowHeight:k,dialog:L,form:D,details:A,objectK:I,saveOn:N}=z,B=Vt(z,["label","helperText","fields","value","onChange","onError","setApi","reorder","prepend","noRows","valuesForAdd","autoRowHeight","dialog","form","details","objectK","saveOn"]);const Y=Array.isArray(x)?x:!I||!x?[]:Object.entries(x).map(([Z,ie])=>Oe({[I]:Z},ie)),W=reactExports.useMemo(()=>Y.map((Z,ie)=>setHidden(Oe({},Z),Z.hasOwnProperty("id")?{$idx:ie}:{id:ie})),[JSON.stringify(Y)]),U=Z=>ie=>Oe(Oe({fields:callable(g,ie).map(ge=>{var ye=ge,{$width:oe,$column:re,$type:X,$hideUnder:ce,showIf:pe,$render:ae,$mergeRender:ue}=ye,fe=Vt(ye,["$width","$column","$type","$hideUnder","showIf","$render","$mergeRender"]);var Ee;return(!pe||pe(ie))&&_.defaults(fe,(Ee=byType[X])==null?void 0:Ee.field)})},D),Z);v==null||v({isEqual:isOrderedEqual});const[V,J]=reactExports.useState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{rowGap:0,flexWrap:"wrap",ml:"2px"},d&&reactExports.createElement(FormLabel,{sx:{color:"text.primary"}},d),m&&reactExports.createElement(FormHelperText,{},m)),reactExports.createElement(Box,Oe({},B),reactExports.createElement(DataTable,Rt(Oe(Oe({rows:W,details:A},k&&{getRowHeight:()=>"auto"}),!useBreakpoint("sm")&&{compact:!0}),{sx:Oe({".MuiDataGrid-virtualScroller":{minHeight:"3em"}},k&&{".MuiDataGrid-cell":{minHeight:"52px !important"}}),hideFooterSelectedRowCount:!0,hideFooter:!0,slots:{noRowsOverlay:()=>reactExports.createElement(Center,{},T||"No entries")},slotProps:{pagination:{showFirstButton:!0,showLastButton:!0}},columns:[...callable(g,!1).map(Z=>{var oe,re;if(reactExports.isValidElement(Z))return;const ie=(oe=byType[Z.$type])==null?void 0:oe.column;return _.defaults(Oe(Rt(Oe({field:Z.k,headerName:(re=Z.headerName)!=null?re:typeof Z.label=="string"?Z.label:labelFromKey(Z.k),disableColumnMenu:!0,valueGetter({value:X}){return(Z.toField||_.identity)(X)}},Z.$width?{[Z.$width>=8?"width":"flex"]:Z.$width}:!(ie!=null&&ie.width)&&!(ie!=null&&ie.flex)&&{flex:1}),{renderCell:Z.$render,mergeRender:Z.$mergeRender,hideUnder:Z.$hideUnder}),Z.$column),ie)}).filter(Boolean),{field:"",type:"actions",width:90,headerAlign:"center",renderHeader(){const Z="Add";return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{icon:Add,title:Z,size:"small",onClick(oe){return yt(this,null,function*(){const re=yield formDialog({form:U({}),title:Z,values:R,dialogProps:L});if(!re)return;const X=Y.slice()||[];S?X.unshift(re):X.push(re),ee(X,oe)})}}),V!==void 0&&reactExports.createElement(IconBtn,{icon:Undo,title:"Undo",size:"small",onClick:oe=>ee(V,oe)}))},getActions({row:Z}){const{$idx:ie=Z.id}=Z,oe="Modify";return[reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Edit),label:oe,title:oe,onClick(X){return yt(this,null,function*(){X.stopPropagation();const ce=yield formDialog({values:Z,form:U(N==="change"&&{save:!1,onChange(pe){Q(ie,pe,"change")}}||N&&{save:!1}),title:reactExports.createElement(reactExports.Fragment,{},oe,d&&" - ",d),dialogProps:L});ce&&Q(ie,ce,X)})}}),reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Delete),label:"Delete",showInMenu:C,onClick:X=>{X.stopPropagation(),ee(Y.filter((ce,pe)=>pe!==ie),X)}}),C&&ie&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowUpward),label:"Move up",showInMenu:!0,onClick:X=>{X.stopPropagation(),ee(swap(Y.slice(),ie,ie-1),X)}}),C&&ie<W.length-1&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowDownward),label:"Move down",showInMenu:!0,onClick:X=>{X.stopPropagation(),ee(swap(Y.slice(),ie,ie+1),X)}})].filter(Boolean)}}]}))));function Q(Z,ie,oe){ee(Y.map((re,X)=>X===Z?ie:re),oe)}function ee(Z,ie){b(I?Object.fromEntries(Z.map(X=>{var ce=X,{[I]:oe}=ce,re=Vt(ce,[Im(I)]);return[oe,re]})):Z,{was:x,event:ie}),N!=="change"&&J(Y)}}const byType={boolean:{field:{comp:BoolField},column:{renderCell:({value:d})=>d&&reactExports.createElement(Check)}},dateTime:{field:{comp:DateTimeField},column:{minWidth:96,flex:.5,renderCell:({value:d})=>d&&new Date(d).toLocaleString()}}},HFS_GITHUB_ACCOUNT=HFS_REPO.replace(/\/.+/,"/");function OnlinePlugins(){const[d,m]=reactExports.useState(""),g=useDebounce(d,1e3),{list:x,error:b,initializing:E}=useApiList("get_online_plugins",{text:g}),v=useSnapState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{value:d,onChange:m,start:reactExports.createElement(Search),typing:!0,label:"Search text"}),reactExports.createElement(DataTable,{error:b&&err2msg$1(xlate(b,PLUGIN_ERRORS)),rows:x.length?x:[],noRows:"No compatible plugins have been found",fillFlex:!0,initializing:E,columnVisibilityModel:v.onlinePluginsColumns,onColumnVisibilityModelChange:C=>Object.assign(state.onlinePluginsColumns,C),columns:[{field:"id",headerName:"name",flex:1,renderCell:renderName,mergeRender:{description:{fontSize:"x-small"}}},{field:"version",width:70},{field:"pushed_at",headerName:"last update",valueGetter:({value:C})=>new Date(C).toLocaleDateString()},{field:"license",width:80},themeField,Rt(Oe({},descriptionField),{flex:3,hideUnder:"sm"}),{field:"stargazers_count",width:50,headerName:"stars",align:"center",hideUnder:"sm"}],actions:({row:C,id:S})=>[reactExports.createElement(IconBtn,{icon:Download,title:"Install",progress:C.downloading,disabled:C.installed&&"Already installed",tooltipProps:{placement:"bottom-end"},onClick:()=>installPluginFromResult(C)}),reactExports.createElement(IconBtn,{icon:RemoveRedEye,disabled:!C.preview,onClick:()=>newDialog({title:S,Content:()=>reactExports.createElement(ShowImages,{imgs:wantArray(C.preview)})})})]}))}function ShowImages({imgs:d}){const[m,g]=reactExports.useState(0);return reactExports.createElement(Flex,{vert:!0,flex:1},reactExports.createElement(Flex,{vert:!0,center:!0,height:0,flex:"auto",minHeight:"50vh",minWidth:"50vw"},reactExports.createElement("img",{src:d[m],style:{margin:"auto",maxWidth:"100%",maxHeight:"100%"}})),d.length>1&&reactExports.createElement(Flex,{center:!0},reactExports.createElement(IconBtn,{icon:ArrowBack,disabled:!m,onClick:()=>g(m-1)}),reactExports.createElement(IconBtn,{icon:ArrowForward,disabled:m>=d.length-1,onClick:()=>g(m+1)})))}function installPluginFromResult(d){return yt(this,null,function*(){if(!d.id.startsWith(HFS_GITHUB_ACCOUNT)&&!(yield confirmDialog(reactExports.createElement(Flex,{vert:!0,alignItems:"center"},reactExports.createElement(Warning,{color:"warning",fontSize:"large"}),"Proceed only if you trust this plugin",reactExports.createElement(Box,{fontSize:"60%"},"A plugin has the same power of any other software"))))||d.missing&&!(yield confirmDialog("This will also install: "+_.map(d.missing,"repo").join(", "))))return;const m=d.branch||d.default_branch;return installPlugin(d.id,m).catch(g=>{if(g.code!==HTTP_FAILED_DEPENDENCY)return alertDialog(g);const x=reactExports.createElement(reactExports.Fragment,{},"This plugin has some dependencies unmet:",g.data.map(b=>reactExports.createElement("li",{key:b.repo},b.repo+": "+b.error)));return alertDialog(x,"error")})})}function installPlugin(d,m){return yt(this,null,function*(){try{const g=yield apiCall("download_plugin",{id:d,branch:m,stop:!0},{timeout:!1});(yield confirmDialog(`Plugin ${d} downloaded`,{trueText:"Start"}))&&(yield startPlugin(g.id))}catch(g){let x=!1;if(g.code===HTTP_FAILED_DEPENDENCY)for(const b of g.cause)b.error==="missing"&&(toast("Installing dependency: "+b.repo),yield installPlugin(b.repo),x=!0);if(x)return installPlugin(d,m);throw g}})}const TABS={Installed:InstalledPlugins,"Get more":OnlinePlugins,"Check updates":()=>reactExports.createElement(InstalledPlugins,{updates:!0})},LABELS=Object.keys(TABS),PANES=Object.values(TABS),PLUGIN_ERRORS={ENOTFOUND:"Cannot reach github.com",ECONNREFUSED:"Cannot reach github.com"};function PluginsPage(){const[d,m]=reactExports.useState(0);return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Tabs,{value:d,onChange(g,x){m(x)}},LABELS.map(g=>reactExports.createElement(Tab,{key:g,label:g}))),reactExports.createElement(PANES[d]))}function showPluginOptions(d,m){return yt(this,null,function*(){const{id:g}=d,{config:x}=yield apiCall("get_plugin",{id:g}),b={current:void 0},E=!!d.config,v=yield formDialog({title:E?`Options for ${g}`:`Log for ${g}`,form:S=>({before:d.description&&reactExports.createElement(Box,{mx:2,mb:2},d.description),fields:makeFields(callable(d.config,S)||{},S),save:E?{children:"Save and close"}:!1,barSx:{gap:1},apiRef:b,addToBar:[reactExports.createElement(Btn,{variant:"outlined",onClick(){return yt(this,null,function*(){var R;(yield(R=b.current)==null?void 0:R.validate())&&(yield C(S))})}},"Save")]}),values:x,dialogProps:_.merge({maxWidth:"md",sx:{m:"auto"}},d.configDialog,{maxWidth:!1,sx:{maxWidth:null}}),Wrapper({children:S}){const{list:T,setList:R}=useApiList("get_plugin_log",{id:g},{map(D){D.ts=new Date(D.ts)}}),k=useAutoScroll(T);let L;return reactExports.createElement(Flex,{alignItems:"stretch",justifyContent:"center",flexWrap:"wrap",flexDirection:E?void 0:"column"},reactExports.createElement(Box,{maxWidth:m,minWidth:"min-content"},S),reactExports.createElement(Paper,{elevation:1,sx:{position:"relative",fontFamily:"monospace",flex:1,minWidth:"min(40em, 90vw)",minHeight:"20em",px:.5}},reactExports.createElement(Box,{my:.5,pb:.5,borderBottom:"1px solid",display:"flex",alignItems:"center",justifyContent:"space-between"},"Output",reactExports.createElement(Btn,{size:"small",sx:{p:0},onClick(){R([])}},"Clear")),reactExports.createElement(Box,{position:"absolute",bottom:0,top:"31px",left:0,right:0,sx:{overflowY:"auto"},ref:k},!T.length&&reactExports.createElement(Box,{p:1},"Log is empty"),reactExports.createElement(Box,{sx:{textIndent:"-1em",pl:"1em",position:"absolute",width:"calc(100% - 1.2em)",ml:"2px",pt:".2em"}},T.map(D=>{formatDate(D.ts);const A=formatDate(D.ts);return reactExports.createElement(reactExports.Fragment,{key:D.id},A!==L&&(L=A),reactExports.createElement(Box,{},reactExports.createElement(Box,{title:A,display:"inline",color:"text.secondary",mr:1},formatTime(D.ts)),replaceStringToReact(D.msg,/https?:\/\/\S+/,I=>reactExports.createElement(Link$3,{href:I[0],target:"_blank"},I[0]))))})))))}});if(v&&!_.isEqual(x,v))return C(v);function C(S){return yt(this,null,function*(){yield apiCall("set_plugin",{id:g,config:S}),Object.assign(x,S),toast("Configuration saved")})}})}function makeFields(d,m){return Object.entries(d).map(([g,x])=>{var k;if(!x)return;let R=x,{type:b,defaultValue:E,frontend:v,showIf:C}=R,S=Vt(R,["type","defaultValue","frontend","showIf"]);try{if(S.getError=evalWrapper(S.getError),typeof C=="string"&&(x.showIf=C=evalWrapper(C)),C&&!C(m))return}catch(L){}S.helperText&&(S.helperText=md(S.helperText,{html:!1}));const T=type2comp[b];if(m===!1&&b==="date_time"&&(S.$type="dateTime"),T===ArrayField){let{fields:L}=S;S.valuesForAdd=newObj(callable(L,!1),D=>D.defaultValue),typeof L=="string"&&(L=evalWrapper(L)),(k=S.details)!=null||(S.details=!1),S.fields=D=>_.map(makeFields(callable(L,D),D),(A,I)=>A&&Rt(Oe({k:I},A),{defaultValue:void 0})).filter(Boolean)}return E!==void 0&&b==="boolean"&&(S.placeholder=`Default value is ${JSON.stringify(E)}`),Oe({k:g,comp:T},S)})}function evalWrapper(s){return eval(s)}const type2comp={string:StringField,number:NumberField,boolean:BoolField,select:SelectField,multiselect:MultiSelectField,array:ArrayField,real_path:FileField,vfs_path:VfsPathField,username:UsernameField,color:ColorField,show_html:({html:d})=>reactExports.createElement(Html,{},String(d)),date_time:DateTimeField,net_mask:NetmaskField};type2comp.showHtml=type2comp.show_html;function UsernameField(E){var v=E,{value:d,onChange:m,multiple:g,groups:x}=v,b=Vt(v,["value","onChange","multiple","groups"]);const{data:C,element:S,loading:T}=useApiEx("get_accounts"),R=reactExports.useMemo(()=>C&&_.sortBy(C.list,[k=>!k.isGroup,k=>!k.adminActualAccess,"username"]),[C]);return(!T||!C)&&S||reactExports.createElement(g?MultiSelectField:SelectField,Oe({value:d,onChange:m,options:R==null?void 0:R.filter(k=>x===void 0||x===k.isGroup).map(k=>({value:k.username,label:k.username,a:k})),renderOption:k=>{if(!k.a)return reactExports.createElement("span",{style:{textDecoration:"line-through"}},k.label);const L=k.a.isGroup&&account2icon(k.a)||k.a.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin");return L?reactExports.createElement("span",{},reactExports.createElement("span",{style:{marginLeft:-8,marginRight:8}},L),k.label):k.label}},b))}function ColorField(d){return reactExports.createElement(StringField,Oe({inputProps:Oe({type:"color",style:{marginRight:24}},!d.value&&{value:"#888888",style:{zIndex:1,opacity:.1}}),InputProps:{endAdornment:d.value?reactExports.createElement(Btn,{icon:Clear,size:"small",sx:{position:"absolute",right:4},title:"Clear",onClick(m){d.onChange(null,{was:d.value,event:m})}}):reactExports.createElement(Box,{sx:{position:"absolute",width:"100%",bottom:2,pt:"3px",textAlign:"center",color:"#fff",background:"repeating-linear-gradient(45deg, #333, #333 10px, #444 10px, #444 20px)"}},"default")},typing:!0},d))}function InstalledPlugins({updates:d}){const{list:m,error:g,setList:x,initializing:b}=useApiList(d?"get_plugin_updates":"get_plugins",{},{map(L){L.config&&(L.config=tryJson(L.config,D=>evalWrapper("()=>("+D+")")()))}}),[E,v]=reactExports.useState(0);reactExports.useEffect(()=>{x(L=>_.sortBy(L,D=>{var A;return(D.error?0:D.started?1:D.badApi?2:3)+treatPluginName(((A=D.repo)==null?void 0:A.split("/").reverse().join("/"))||D.id).toLowerCase()}))},[m.length,E]);const C="small",{pause:S,pauseButton:T}=usePauseButton("plugins",()=>getSingleConfig(CFG.suspend_plugins).then(L=>!L),{onClick(){return yt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.suspend_plugins]:!S}}),S&&(yield wait(2e3),v(Date.now()))})}}),R=useTheme$1();return reactExports.createElement(DataTable,{error:isPrimitive(g)?xlate(g,PLUGIN_ERRORS):_.map(g,(L,D)=>`Error ${D} for: ${L.join(", ")}`).join("; "),rows:m.length?m:[],fillFlex:!0,initializing:b,disableColumnSelector:!0,getRowHeight:d&&(({model:L})=>L.changelog?"auto":50),noRows:d&&'No updates available. Only plugins available on "search online" are checked.',columns:[{field:"id",headerName:"name",flex:.3,minWidth:150,renderCell:renderName,valueGetter({row:L}){return L.repo||L.id},mergeRender:{[d?"changelog":"description"]:{fontSize:"x-small"}}},{field:"version",width:70,hideUnder:"sm",cellInnerProps:{className:HIDE_IN_TESTS},mergeRender:{installedVersion:{fontSize:"x-small"}}},themeField,Rt(Oe({},descriptionField),{flex:1,hideUnder:"sm"}),{field:"installedVersion",hideUnder:!0,dialogHidden:!0,renderCell:({value:L})=>L&&`Yours ${L}`},{field:"changelog",headerName:"Change log",flex:2,hideUnder:!d||"sm",sx:{flexDirection:"column",alignItems:"flex-start"},renderCell({value:L,row:D}){return Array.isArray(L)?reactExports.createElement(Table,{sx:{td:{p:0}}},_.uniq(_.sortBy(L,"version").filter(A=>_.isString(A.message)&&A.message&&A.version>D.installedVersion)).map((A,I)=>reactExports.createElement(TableRow,{key:I},reactExports.createElement(TableCell,{sx:{whiteSpace:"pre",verticalAlign:"top"}},`• ${A.version}: `),reactExports.createElement(TableCell,{},md(A.message))))):null}}],footerSide:()=>!d&&T,actions:({row:L,id:D})=>d?[reactExports.createElement(IconBtn,{icon:Upgrade,title:L.downloading?"Downloading":L.updated?"Already updated":"Update",disabled:L.updated,progress:L.downloading,size:C,onClick(){return yt(this,null,function*(){yield apiCall("update_plugin",{id:D},{timeout:!1}).catch(N=>{var B;throw N.code!==HTTP_FAILED_DEPENDENCY?N:Error("Failed dependencies: "+((B=N.cause)==null?void 0:B.map(j=>prefix('plugin "',j.id||j.repo,'" ')+j.error).join("; ")))}),toast("Plugin updated")})}})]:[reactExports.createElement(IconBtn,L.started?{icon:StopCircle,title:reactExports.createElement(Box,{"aria-hidden":!0},`Stop ${D}`,reactExports.createElement("br"),"Started "+new Date(L.started).toLocaleString()),"aria-label":`Stop ${D}`,size:C,color:"success",doneAnimation:!0,onClick:()=>apiCall("stop_plugin",{id:D})}:{icon:PlayCircle,title:`Start ${D}`,disabled:S&&"All plugins are paused – Click the Resume button below",size:C,onClick:()=>startPlugin(D)}),reactExports.createElement(IconBtn,{icon:L.config||!L.started||!L.log?Settings:ListAlt,title:L.config||!L.log?"Options":"Log",size:C,disabled:!L.started&&"Start plugin to access options"||!L.config&&!L.log&&"No options and no log for this plugin",onClick(){var j;const N=L.configDialog;let B=R.breakpoints.values[N==null?void 0:N.maxWidth]||((j=N==null?void 0:N.sx)==null?void 0:j.maxWidth)||xlate(N==null?void 0:N.maxWidth,{xs:0})||432;return typeof B=="number"&&(B+="px"),showPluginOptions(L,B)}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Uninstall",size:C,onClick(){return yt(this,null,function*(){const N=yield confirmDialog(`${D}: delete configuration too?`,{trueText:"Yes",falseText:"No",after:({onClick:B})=>reactExports.createElement(Btn,{variant:"outlined",onClick(){B(void 0)}},"Abort")});N!==void 0&&(yield apiCall("uninstall_plugin",{id:D,deleteConfig:N}),toast("Plugin uninstalled"))})}})]})}function getSingleConfig(d){return apiCall("get_config",{only:[d]}).then(m=>m[d])}function treatPluginName(d){return d.replace(/hfs-/,"")}function renderName({row:d,value:m}){const{repo:g}=d;return reactExports.createElement(reactExports.Fragment,{},d.downgrade&&x("This version is older than the one you installed. It is possible that the author found a problem with your version and decided to retire it.",!0),x(d.error||d.badApi,!d.error),g!=null&&g.includes("//")?reactExports.createElement(Link$3,{href:g,target:"plugin"},m):with_(g==null?void 0:g.split("/"),b=>(b==null?void 0:b.length)!==2?m:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Link$3,{href:"https://github.com/"+g,target:"plugin",onClick(E){E.stopPropagation()}},treatPluginName(b[1])),NBSP+"by ",b[0])));function x(b,E=!1){return b&&hTooltip(b,b,reactExports.createElement(ErrorIcon,{fontSize:"small",color:E?"warning":"error",sx:{ml:-.5,mr:.5}}))}}function startPlugin(d){return yt(this,null,function*(){try{return yield apiCall("start_plugin",{id:d}),toast("Plugin started",reactExports.createElement(PlayCircle,{color:"success"})),!0}catch(m){alertDialog(`Plugin ${d} didn't start, with error: ${String((m==null?void 0:m.message)||m)}`,"error")}})}const descriptionField={field:"description",mergeRender:{isTheme:{}},mergeRenderSx:{float:"left"}},themeField={field:"isTheme",headerName:"is theme",hideUnder:!0,dialogHidden:!0,type:"boolean",renderCell({value:d}){return d&&iconTooltip(ThemeIcon,_.isString(d)?`${d} theme`:"theme",{fontSize:"1.2rem",mr:".3em"})}},cacheKey="onlinePluginsCache";function RandomPlugin(){const{hideRandomPlugin:d}=useSnapState(),m=localStorage.getItem(cacheKey),g=reactExports.useMemo(()=>{const S=tryJson(m||"");return(S==null?void 0:S.ts)&&Date.now()-S.ts<DAY&&_.shuffle(S.list)},[m]),{list:x,initializing:b}=useApiList(!d&&!g&&"get_online_plugins"),[E,v]=reactExports.useState(-1),C=g==null?void 0:g[E];if(reactExports.useEffect(()=>{!g&&!b&&x.length&&localStorage.setItem(cacheKey,JSON.stringify({ts:Date.now(),list:x})),v(0)},[x,b]),reactExports.useEffect(()=>{E>0&&!C&&toast("No more plugins!")},[E]),!(d||!C))return reactExports.createElement(Card,{sx:{display:{xs:"none",md:"block"},float:"right",width:"min(50%, 30em)",ml:"1em"}},reactExports.createElement(CardContent,{},reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.4em"},reactExports.createElement(Box,{color:"warning.main",mr:1,display:"inline"},"🎲"),"Random plugin:"),reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.8em",my:1},renderName({row:C})),reactExports.createElement(Box,{},C.description),C.preview&&reactExports.createElement("img",{src:wantArray(C.preview)[0],style:{maxWidth:"100%",maxHeight:"50vh",marginTop:"1em",border:"1px solid",maskImage:"radial-gradient(circle at center, black 50%, transparent 100%)"}})),reactExports.createElement(CardActions,{},reactExports.createElement(Btn,{variant:"outlined",onClick:()=>installPluginFromResult(C)},"Install"),reactExports.createElement(Btn,{variant:"outlined",onClick:()=>v(S=>S+1)},"Another"),reactExports.createElement(Btn,{variant:"outlined",onClick(){state.hideRandomPlugin=!0}},"Hide this box")))}function HomePage(){var ee,Z,ie,oe,re;const d=" — ",{username:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_status"),{data:E}=useApiEx(m&&"get_account"),v=useApiEx("get_config",{only:["https_port","cert","private_key","proxies","ignore_proxies","vfs"]}),{list:C}=useApiList("get_plugins"),[S,T]=reactExports.useState(!1),{list:R}=useApiList(S&&"get_plugin_updates"),[k,L]=reactExports.useState(),[D,A]=reactExports.useState();if(b||!g)return b;const{http:I,https:N}=g,B=!(I!=null&&I.listening)&&(N!=null&&N.listening)?"s":"",j=B?N:(I==null?void 0:I.listening)&&I,z=j&&`http${B}://`+window.location.hostname+(j.port===(B?443:80)?"":":"+j.port),Y=objSameKeys({http:I,https:N},X=>X.busy?[`port ${X.configuredPort} already used by ${X.busy}${d}choose a `,cfgLink("different port"),` or stop ${X.busy}`]:X.error),W=Y&&onlyTruthy(Object.entries(Y).map(([X,ce])=>ce&&[md(`Protocol <u>${X}</u>: `),ce,(isCertError(ce)||isKeyError(ce))&&[d,reactExports.createElement(LinkBtn,{onClick(){suggestMakingCert().then(()=>wait(999)).then(v.reload).then(x)}},"make one")," or ",d,cfgLink("provide adequate files")]])),U={onContextMenu(X){return yt(this,null,function*(){if(X.preventDefault(),!g.updatePossible)return alertDialog("Automatic update is not support for your installation","warning");const ce=yield promptDialog("Enter a link to the zip to install");ce&&(yield update(ce))})},title:g.updatePossible&&"Right-click if you want to install a zip"},V=(ee=v.data)==null?void 0:ee.vfs;return reactExports.createElement(Box,{},reactExports.createElement(RandomPlugin),reactExports.createElement(Box,{display:"flex",gap:2,flexDirection:"column",alignItems:"flex-start",height:"100%"},dontBotherWithKeys(((Z=g.alerts)==null?void 0:Z.map(X=>entry("warning",md(X,{html:!1}))))||[]),W.length?dontBotherWithKeys(W.map(X=>entry("error",dontBotherWithKeys(X)))):entry("success","Server is working"),V&&!((ie=V.children)!=null&&ie.length)&&!V.source?entry("warning","You have no shared files",d,fsLink("add some")):null,E!=null&&E.adminActualAccess?entry("","Welcome, "+m):entry("",md("You're accessing the Admin-panel without an account because you are on localhost"),...g.anyAccountCanLoginAdmin?[]:[d,"to access from another computer, you must ",reactExports.createElement(InLink,{to:"accounts"},md("create an account with *admin* permission"))]),!z&&entry("warning","Frontend unreachable: ",_.map(Y,(X,ce)=>ce+" "+(X?"is in error":"is off")).join(", "),!W.length&&[d,cfgLink("switch http or https on")]),with_(g.acmeRenewError,X=>X&&entry("warning",X)),with_(g.blacklistedInstalledPlugins,X=>(X==null?void 0:X.length)>0&&entry("warning","Found blacklisted plugin(s): ",X.join(", "))),with_(C==null?void 0:C.filter(X=>X.error||X.badApi).length,X=>X>0&&entry("warning",`${X} plugin(s) failing`,d,reactExports.createElement(InLink,{to:"plugins"},"check now"))),!((oe=v.data)!=null&&oe.split_uploads)&&Date.now()-Number(g.cloudflareDetected||0)<DAY&&entry("",wikiLink("Reverse-proxy#cloudflare","Cloudflare detected, read our guide")),with_(proxyWarning(v.data,g),X=>X&&entry("warning",X,d,cfgLink("set the number of proxies"),d,"unless you are sure and you can ",reactExports.createElement(Btn,{variant:"outlined",size:"small",sx:{lineHeight:"unset"},confirm:"Go on only if you know what you are doing",onClick:()=>apiCall("set_config",{values:{ignore_proxies:!0}}).then(v.reload)},"ignore this warning"),d,wikiLink("Proxy-warning","Explanation"))),(((re=v.data)==null?void 0:re.proxies)>0||(g==null?void 0:g.proxyDetected))&&entry("",wikiLink("Reverse-proxy","Read our guide on proxies")),g.frpDetected&&entry("warning",'FRP is detected. It should not be used with "type = tcp" with HFS. Possible solutions are',reactExports.createElement("ol",{},reactExports.createElement("li",{},"configure FRP with type=http (best solution)"),reactExports.createElement("li",{},md("configure FRP to connect to HFS <u>not</u> with localhost (safe, but you won't see users' IPs)")),reactExports.createElement("li",{},`disable "admin access for localhost" in HFS (safe, but you won't see users' IPs)`))),entry("",md("This is the *Admin-panel*, where you manage your server. Access your files on the [Front-end](../..).")),entry("",wikiLink("","See the documentation")," and ",reactExports.createElement(Link$3,{target:"support",href:REPO_URL+"discussions"},"get support")),!k&&with_(g.autoCheckUpdateResult,X=>(X==null?void 0:X.isNewer)&&reactExports.createElement(Update,{info:X,fromAuto:!0,bodyCollapsed:!0,title:"An update has been found"})),R.length>0&&entry("success","Updates available for plugin(s): "+R.map(X=>X.id).join(", ")),reactExports.createElement(ConfigForm,{gridProps:{sx:{mt:1,display:"flex",columnGap:1,alignitems:"center","&>div.MuiGrid2-root":{width:"auto",px:.5,py:0},".MuiCheckbox-root":{pl:"2px"}}},saveOnChange:!0,form:{fields:[g.updatePossible==="local"?reactExports.createElement(Btn,{icon:UpdateIcon,onClick:()=>update()},"Update from local file"):!k&&reactExports.createElement(Btn,Oe({icon:UpdateIcon,onClick(){return apiCall("wait_project_info").then(x),T(!0),apiCall("check_update").then(X=>L(X.options),alertDialog)}},U),"Check for updates"),{k:"auto_check_update",comp:CheckboxField,label:"Auto check updates daily"},{k:"update_to_beta",comp:CheckboxField,label:"Include beta versions"}]}}),k&&with_(_.find(k,"isNewer"),X=>!k.length||!g.updatePossible&&!X?entry("","No update available"):X&&!g.updatePossible?entry("success",`Version ${X.name} available`):reactExports.createElement(Flex,{vert:!0},k.map(ce=>reactExports.createElement(Update,{info:ce,key:ce.name})))),reactExports.createElement(Flex,{flexWrap:"wrap"},!D&&g.updatePossible&&g.previousVersionAvailable&&reactExports.createElement(Btn,{icon:Restore,onClick:()=>update(PREVIOUS_TAG)},"Reinstall previous version"),g.updatePossible?D?reactExports.createElement(Flex,{vert:!0},D.map(X=>reactExports.createElement(Update,{info:X,key:X.name,bodyCollapsed:!0}))):reactExports.createElement(Btn,Oe({icon:Colorize,onClick:J},U),"Get another version"):entry("",reactExports.createElement(Link$3,{href:REPO_URL+"releases/",target:"repo"},"All releases"))),reactExports.createElement(SwitchThemeBtn),Date.now()-Number(new Date(g.started))>HOUR&&reactExports.createElement(Link$3,{title:"Donate",target:"donate",style:{textDecoration:"none",position:"fixed",bottom:0,right:4,fontSize:"large"},href:"https://www.paypal.com/donate/?hosted_button_id=HC8MB4GRVU5T2"},"❤️")));function J(){return yt(this,null,function*(){return apiCall("get_other_versions").then(X=>A(X.options),alertDialog)})}}function Update({info:d,title:m,bodyCollapsed:g,fromAuto:x}){const[b,E]=reactExports.useState(g);return reactExports.createElement(Flex,{alignItems:"flex-start",flexWrap:"wrap"},reactExports.createElement(Card,{className:"release"},reactExports.createElement(CardContent,{},reactExports.createElement(Flex,{},m&&reactExports.createElement(Box,{fontSize:"larger",mb:1},m),reactExports.createElement(Btn,Rt(Oe({icon:UpdateIcon},!d.isNewer&&d.prerelease&&{color:"warning",variant:"outlined"}),{onClick:()=>update(x?void 0:d.tag_name)}),prefix("Install ",d.name,d.isNewer?"":" (older)")),reactExports.createElement(Link$3,{href:REPO_URL+"releases/tag/"+d.tag_name,target:"repo"},reactExports.createElement(OpenInNew))),b?reactExports.createElement(LinkBtn,{sx:{display:"block",mt:1},onClick(){E(!1)}},"See details"):reactExports.createElement(Box,{mt:1},renderChangelog(d.body)))))}function renderChangelog(d){return md(d,{html:!1,onText:m=>replaceStringToReact(m,new RegExp("(?<=^|\\W)#(\\d+)\\b|(https:.*\\S+)","g"),g=>g[1]?reactExports.createElement(Link$3,{href:REPO_URL+"issues/"+g[1],target:"_blank"},reactExports.createElement(OpenInNew,{fontSize:"small"})):reactExports.createElement(Link$3,{href:g[2],target:"_blank"},g[2]))})}function update(d){return yt(this,null,function*(){if(!(yield confirmDialog("Installation may take less than a minute, depending on the speed of your server")))return;toast("Downloading");const m=yield apiCall("update",{tag:d},{timeout:600}).then(()=>0,b=>b);if(m)return alertDialog(m);toast("Restarting");const g=Date.now();let x;for(;yield apiCall("NONE").then(()=>0,b=>!b.code);)!x&&Date.now()-g>15e3&&(x=alertDialog("This is taking too long, please check your server","warning")),yield wait(500);x==null||x.close(),subscribeKey(state,"loginRequired",()=>state.loginRequired=!1),yield alertDialog("Procedure complete","success"),window.location.reload()})}function entry(d,...m){return reactExports.createElement(Box,{fontSize:"x-large",color:g=>{var x;return d&&((x=g.palette[d])==null?void 0:x.main)}},reactExports.createElement({success:CheckCircle,info:Info,"":Info,warning:Warning,error:ErrorIcon}[d],{sx:{mr:1,color:d?void 0:"primary.main"}}),reactExports.createElement("span",{style:["warning","error"].includes(d)?{animation:".5s blink 2"}:void 0},...m))}function fsLink(d="File System page"){return reactExports.createElement(InLink,{to:"fs"},d)}function cfgLink(d="Options page"){return reactExports.createElement(InLink,{to:"options"},d)}function proxyWarning(d,m){return m&&d&&!d.ignore_proxies&&(!d.proxies&&m.proxyDetected?"A proxy was detected but none is configured":d.proxies&&!m.proxyDetected&&Date.now()-+new Date(m.started)>DAY?`Proxies is set to ${d.proxies} but none was detected recently. Consider setting it zero`:"")}let loaded,exposedReloadStatus;const pageState=proxy({changes:{}});subscribe(state,d=>{d.some(m=>m[1][0]==="config")&&recalculateChanges()});function OptionsPage(){var Y,W;const{data:d,reload:m,element:g}=useApiEx("get_config",{omit:["vfs"]}),x=useSnapState(),{changes:b}=useSnapshot(pageState),E=useApiEx(d&&"get_status"),v=E.data,C=exposedReloadStatus=E.reload;reactExports.useEffect(()=>void C(),[d]),reactExports.useEffect(()=>()=>exposedReloadStatus=void 0,[]);const S=useBreakpoint("sm"),T=reactExports.useRef(null),R=(Y=useApiEx("get_admins").data)==null?void 0:Y.list,k=window.location.hostname,L=k==="localhost",D=k.includes(":"),A=[{label:"any",value:""},{label:"any IPv4",value:"0.0.0.0",disabled:!L&&D},{label:"any IPv6",value:"::",disabled:!L&&!D},...["127.0.0.1","::1"].map(U=>({label:U,value:U,disabled:!L&&k!==U})),...((W=v==null?void 0:v.ips)==null?void 0:W.map(U=>({value:U,disabled:k!==U})))||[]];if(g)return g;if(E.error)return E.element;const I=loaded!==d?state.config=loaded=d:x.config,N={comp:NumberField,min:1,unit:"KB/s",placeholder:"no limit",sm:6},B={comp:NumberField,placeholder:"no limit",toField:U=>U||"",sm:4},j=I.https_port>=0;return reactExports.createElement(Form,{sx:{maxWidth:"60em"},values:I,set(U,V){state.config[V]=U},stickyBar:!0,onError:alertDialog,save:Oe({ref:T,onClick:z},propsForModifiedValues(Object.keys(b).length>0)),barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick(){m(),C()},startIcon:reactExports.createElement(Refresh)},"Reload"),reactExports.createElement(Button,{component:Link$4,to:"/config",startIcon:reactExports.createElement(EditNote)},S?"Config file":"File")],defaults(){return{xs:6}},fields:[reactExports.createElement(Section,{title:"Networking"}),{k:"port",comp:PortField,xs:12,sm:6,label:"HTTP port",status:(v==null?void 0:v.http)||!0,suggestedPort:80},{k:"https_port",comp:PortField,xs:12,sm:6,label:"HTTPS port",status:(v==null?void 0:v.https)||!0,suggestedPort:443,onChange(U){return U>=0&&!j&&!I.cert&&suggestMakingCert(),U}},j&&{k:"cert",comp:FileField,sm:4,label:"HTTPS certificate file",helperText:wikiLink("HTTPS#certificate","What is this?"),error:with_(v==null?void 0:v.https.error,U=>isCertError(U)&&(v.https.listening?U:[U," - ",reactExports.createElement(LinkBtn,{key:"fix",onClick:suggestMakingCert},"make one")]))},j&&Oe({k:"private_key",comp:FileField,sm:4,label:"HTTPS private key file"},with_(v==null?void 0:v.https.error,U=>isKeyError(U)?{error:!0,helperText:U}:null)),j&&{k:"force_https",comp:BoolField,label:"Force HTTPS",sm:4,disabled:!j||I.port<0,helperText:"Not applied to localhost. Doesn't work with proxies."},{k:"listen_interface",comp:SelectField,sm:4,afterList:A.some(U=>U.disabled)&&reactExports.createElement(Box,{p:"8px 16px 0",borderTop:"1px solid",fontSize:"small"},"Disabled addresses depend on the address you used to connect"),options:A},Rt(Oe({k:"max_kbps"},N),{sm:4,label:"Limit output",helperText:"Doesn't apply to localhost"}),Rt(Oe({k:"max_kbps_per_ip"},N),{sm:4,label:"Limit output per-IP"}),Rt(Oe({k:CFG.max_downloads},B),{helperText:"Number of simultaneous downloads"}),Rt(Oe({k:CFG.max_downloads_per_ip},B),{label:"Max downloads per-IP"}),Rt(Oe({k:CFG.max_downloads_per_account},B),{label:"Max downloads per-account",helperText:"Overrides other limits"}),{k:"admin_net",comp:NetmaskField,label:"Admin-panel accessible from",placeholder:"any address",helperText:"IP address of browser machine"},{k:"localhost_admin",comp:BoolField,xs:12,sm:6,label:"Unprotected Admin-panel on localhost",getError:U=>!U&&(R==null?void 0:R.length)===0&&"First create at least one admin account",helperText:"Access without entering credentials"},{k:"proxies",comp:NumberField,xs:12,sm:4,md:4,max:9,label:"Number of incoming HTTP proxies",placeholder:"none",error:proxyWarning(I,v),helperText:"Wrong number will prevent detection of users' IP"},{k:CFG.outbound_proxy,xs:12,sm:5,md:4,placeholder:"none",helperText:"URL form",getError:U=>try_(()=>U&&new URL(U)&&"",()=>"Invalid URL")},{k:"allowed_referer",comp:AllowedReferer,sm:3,md:4,placeholder:"any",label:"Links from other websites",helperText:"In case another website is linking your files"},{k:"block",label:!1,comp:ArrayField,xs:12,prepend:!0,sm:!0,autoRowHeight:!0,form:{maxWidth:"30em"},fields:[{k:"ip",label:"Blocked IP",sm:12,required:!0,wrap:!0,$width:2,comp:NetmaskField,$column:{mergeRender:{comment:{},expire:{}}},helperText:"Be careful to not kick yourself out, by blocking also your IP"},{k:"expire",$type:"dateTime",minDate:new Date,sm:6,$hideUnder:"sm",helperText:"Leave empty for no expiration"},{k:"disabled",$type:"boolean",label:"Enabled",helperText:"In case you want to not block without deleting the rule",toField:U=>!U,fromField:U=>U?void 0:!0,sm:6,$width:80},{k:"comment",$hideUnder:"sm"}]},reactExports.createElement(Section,{title:"Front-end",subtitle:"Following options affect only the front-end"}),{k:"file_menu_on_link",comp:SelectField,label:"Access file menu",md:4,options:{"by clicking on file name":!0,"by dedicated button":!1}},{k:"title",md:8,helperText:"You can see this in the tab of your browser"},{k:"auto_play_seconds",comp:NumberField,xs:6,sm:3,min:1,max:1e4,required:!0,label:"Auto-play seconds delay",helperText:md(`Default value for the [Show interface](${REPO_URL}discussions/270)`)},{k:"tile_size",comp:NumberField,xs:6,sm:3,max:MAX_TILE_SIZE,required:!0,label:"Default tiles size",helperText:wikiLink("Tiles","To enable tiles-mode")},{k:"theme",comp:SelectField,xs:6,sm:3,options:THEME_OPTIONS},{k:"sort_by",comp:SelectField,xs:6,sm:3,options:SORT_BY_OPTIONS},{k:"invert_order",comp:BoolField,xs:6,md:3},{k:"folders_first",comp:BoolField,xs:6,md:3},{k:"sort_numerics",comp:BoolField,xs:6,md:3,label:"Sort numeric names"},{k:"title_with_path",comp:BoolField,xs:6,md:3},{k:"favicon",comp:FileField,placeholder:"None",fileMask:"*.ico|"+IMAGE_FILEMASK,xs:12,sm:9,helperText:"The icon associated to your website"},{k:"page_size",comp:NumberField,xs:!0,min:1,required:!0,helperText:"Entries per page"},reactExports.createElement(Section,{title:"Uploads"}),{k:"dont_overwrite_uploading",comp:BoolField,md:4,label:"Uploads don't overwrite",helperText:"Files are automatically numbered (frontend only)"},{k:CFG.split_uploads,comp:NumberField,unit:"MB",md:2,step:.1,fromField:U=>U*1e6,toField:U=>U?U/1e6:null,placeholder:"disabled",label:"Split uploads in chunks",helperText:"Overcome proxy limits (frontend only)"},{k:"delete_unfinished_uploads_after",comp:NumberField,md:3,min:0,unit:"seconds",required:!0},{k:"min_available_mb",comp:NumberField,md:3,min:0,unit:"MBytes",placeholder:"None",label:"Min. available disk space",helperText:"Reject uploads that don't comply"},reactExports.createElement(Section,{title:"Others"}),{k:"keep_session_alive",comp:BoolField,sm:6,md:6,helperText:"Keeps you logged in while the page is left open and the computer is on"},{k:"session_duration",comp:NumberField,sm:3,md:3,min:5,unit:"seconds",required:!0},{k:CFG.size_1024,label:"KB size",comp:SelectField,sm:3,options:{1e3:!1,1024:!0}},{k:"show_hidden_files",comp:BoolField,sm:3},{k:CFG.comments_storage,comp:SelectField,xs:12,sm:6,md:5,options:{"in file DESCRIPT.ION":"","in file attributes":"attr","in file attributes + load DESCRIPT.ION":"attr+ion"}},{k:"descript_ion_encoding",xs:8,sm:3,md:4,label:"Encoding of file DESCRIPT.ION",comp:SelectField,disabled:!I.descript_ion,options:["utf8",720,775,819,850,852,862,869,874,808,..._.range(1250,1257),10029,20866,21866]},{k:"open_browser_at_start",comp:BoolField,label:"Open Admin-panel at start",xs:12,sm:6,md:3,helperText:"Browser is automatically launched with HFS"},{k:"zip_calculate_size_for_seconds",comp:NumberField,xs:12,sm:6,md:3,unit:"seconds",required:!0,label:"Calculate ZIP size for",helperText:"If time is not enough, the browser will not show download percentage"},{k:"mime",comp:ArrayField,label:!1,reorder:!0,prepend:!0,xs:12,sm:12,md:6,fields:[{k:"v",label:"Mime type",placeholder:"auto",$width:2,helperText:"Leave empty to get automatic value"},{k:"k",label:"File mask",helperText:reactExports.createElement(WildcardsSupported),$width:1,$column:{renderCell:({value:U,id:V})=>reactExports.createElement("code",{},U,U==="*"&&V<_.size(I.mime)-1&&iconTooltip(Warning,md("Mime with `*` should be the last, because first matching row applies"),{color:"warning.main",ml:1}))}}],toField:U=>Object.entries(U||{}).map(([V,J])=>({k:V,v:J})),fromField:U=>Object.fromEntries(U.map(V=>[V.k,V.v||"auto"]))},{k:CFG.force_webdav_login,comp:WebdavAgentAuthField,sm:!0,label:"WebDAV force login",fallbackRE:"Microsoft-WebDAV",helperText:"Force login for clients that mishandle mixed anonymous/protected access"},I[CFG.force_webdav_login]!==!0&&{k:CFG.webdav_initial_auth,comp:WebdavAgentAuthField,sm:6,label:"WebDAV initial auth",helperText:"Force login only once. Used only when previous option does not match"},{k:"server_code",comp:TextEditorField,lang:"js",xs:12,helperText:md(`This code works similarly to [a plugin](${REPO_URL}blob/main/dev-plugins.md) (with some limitations)`)}]});function z(){return yt(this,null,function*(){var fe,ge;if(_.isEmpty(b))return toast("Nothing to save");const U=window.location,V=["port","https_port"];if(V.every(ye=>b[ye]!==void 0))return alertDialog("You cannot change both http and https port at once. Please, do one, save, and then do the other.","warning");const J=[(fe=v==null?void 0:v.http)==null?void 0:fe.listening,(ge=v==null?void 0:v.https)==null?void 0:ge.listening],Q=location.protocol==="https:";Q&&(V.reverse(),J.reverse());const ee=b[V[0]],Z=I[V[1]],ie=Z>0&&J[1],oe=Q?"http":"https";if(ee<0&&!ie)return alertDialog("You cannot switch off this port unless you have a working fixed port for "+oe,"warning");if(ee===0&&!ie)return alertDialog("You cannot randomize this port unless you have a working fixed port for "+oe,"warning");const re=ee>0&&ee!=U.port;if(re&&!(yield confirmDialog("You are changing the port and you may be disconnected")))return;const X="cert"in b||"private_key"in b;if(Q&&X&&!(yield confirmDialog("You may disrupt https service, kicking you out")))return;yield apiCall("set_config",{values:b}),"split_uploads"in b&&(yield alertDialog('Users need to reload for the "split uploads" option to take effect',"warning"));const ce=ipForUrl(U.hostname),pe=U.pathname+U.hash,ae=ee<=0?`${Q?"http:":"https:"}//${ce}:${Z}${pe}`:re?`${U.protocol}//${ce}:${ee||I[V[0]]}${pe}`:yield with_(`https://${ce}:${U.port}${pe}`,ye=>{var Ee;return!Q&&((Ee=b.force_https)!=null?Ee:d.force_https)&&fetch(ye).then(()=>ye,()=>0)});if(ae)return yield alertDialog("You are being redirected but in some cases this may fail. Hold on tight!","warning"),window.location.href=ae;const ue="port"in b||"https_port"in b;setTimeout(C,ue||X?1e3:0),Object.assign(loaded,b),recalculateChanges(),execDoneMessage(!1,T.current)})}}function Section({title:d,subtitle:m}){return reactExports.createElement(Divider,{role:"heading",sx:{fontSize:"larger",fontWeight:"bold"}},d,reactExports.createElement(Box,{fontSize:"small",fontWeight:"normal"},m))}function recalculateChanges(){const d={};if(state.config)for(const[m,g]of Object.entries(state.config))JSON.stringify(g)!==JSON.stringify(loaded==null?void 0:loaded[m])&&(d[m]=g);pageState.changes=d}function isCertError(d){return/certificate/.test(d)}function isKeyError(d){return/private key/.test(d)}function PortField({label:d,value:m,onChange:g,setApi:x,status:b,suggestedPort:E=1,error:v,helperText:C}){const S=reactExports.useRef(E);m>0&&(S.current=m);const T=Number(m>0?S.current:m)||0;let R=b==null?void 0:b.error;return R&&(isCertError(R)||isKeyError(R)?R=void 0:v=!0),reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{sx:{flexGrow:1},label:d,error:v,value:T,options:[{label:"off",value:-1},{label:"random",value:0},{label:"choose",value:S.current}],onChange:g}),m>0&&reactExports.createElement(NumberField,{label:"Number",fullWidth:!1,value:m,onChange:g,setApi:x,error:v,min:1,max:65535,helperText:C,sx:{minWidth:"5.5em"}})),b&&reactExports.createElement(FormHelperText,{error:v},b===!0?"...":R!=null?R:(b==null?void 0:b.listening)&&"Correctly working on port "+b.port))}function AllowedReferer({label:d,value:m,onChange:g,error:x}){const b=!m||m==="-",E="example.com";return reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:b?m:E,options:{"allow all":"","forbid all":"-","allow some":E},onChange:g,error:x,sx:b?void 0:{maxWidth:"11em"}}),!b&&reactExports.createElement(StringField,{label:"Domain to allow",value:m,placeholder:"example.com",onChange:g,error:x,helperText:reactExports.createElement(WildcardsSupported)}))}function WebdavAgentAuthField({label:d,value:m,onChange:g,error:x,helperText:b,fallbackRE:E=".*"}){const[v,C]=reactExports.useState(""),S=typeof m=="string";reactExports.useEffect(()=>C(S?m:E),[m]);const T=reactExports.useId();return reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:m,onChange:g,error:x,"aria-describedby":T,options:{Off:!1,Always:!0,RegEx:v},sx:S?{maxWidth:"9em"}:void 0}),S&&reactExports.createElement(StringField,{label:"User-Agent regex",value:m,onChange:g,error:x})),reactExports.createElement(FormHelperText,{id:T},b))}function suggestMakingCert(){return yt(this,null,function*(){return new Promise(d=>{const{close:m}=newDialog({icon:CardMembership,title:"Get a certificate",onClose:d,Content:()=>reactExports.createElement(Box,{p:1,lineHeight:1.5},reactExports.createElement(Box,{},"HTTPS needs a certificate to work."),reactExports.createElement(Box,{},"We suggest you to ",reactExports.createElement(InLink,{to:"internet"},"get a free but proper certificate"),"."),reactExports.createElement(Box,{},"If you don't have a domain ",reactExports.createElement(LinkBtn,{onClick:g},"make a self-signed certificate")," but that ",wikiLink("HTTPS#certificate"," won't be perfect"),"."))});function g(){return yt(this,null,function*(){if(!window.crypto.subtle)return alertDialog("Retry this procedure on localhost","warning");const x=yield apiCall("make_self_signed_cert",{fileName:"self"});loaded&&Object.assign(loaded,x),setTimeout(exposedReloadStatus,1e3),setTimeout(exposedReloadStatus,2e3),Object.assign(state.config,x),yield alertDialog("Certificate saved","success"),m()})}})})}function LogoutPage(){const{element:d}=useApiEx("get_config",{only:[]}),{username:m}=useSnapState();return d||reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2},m?reactExports.createElement(reactExports.Fragment,{},"You are logged in as: "+m,reactExports.createElement(Btn,{icon:Logout,size:"large",onClick:()=>apiCall("logout").catch(x=>x.code!==HTTP_UNAUTHORIZED&&alertDialog(x))},"I want to logout")):reactExports.createElement(Alert,{severity:"info"},"You are not logged in, because authentication is not required on localhost"),reactExports.createElement(Btn,{icon:PowerSettingsNew,size:"large",color:"warning",confirm:"Stopping the server, this interface won't respond anymore",onClick(){return yt(this,null,function*(){yield apiCall("quit"),yield alertDialog("Good-bye","success"),location.reload()})}},"Quit HFS"))}function LangPage({setTitleSide:d}){const{list:m,error:g,connecting:x,reload:b}=useApiList("get_langs"),E=reactExports.useMemo(()=>["en",..._.uniq(m.map(C=>C.code))],[m]);return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"Translation is limited to Front-end, it doesn't apply to Admin-panel"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,Oe({mt:1,maxWidth:"50em",flex:1},fillFlexParentSx),reactExports.createElement(Box,{mb:1,display:"flex"},reactExports.createElement(Btn,{icon:Upload,onClick:v},"Add"),reactExports.createElement(Box,{flex:1}),reactExports.createElement(ForceLang,{langs:E})),reactExports.createElement(DataTable,{error:g,loading:x,rows:reactExports.useMemo(()=>_.sortBy(m,C=>(C.embedded?2:1)+C.code),[m.length]),hideFooter:!0,fillFlex:!0,columns:[{field:"code",width:110,valueFormatter:({value:C})=>C==null?void 0:C.toUpperCase()},{field:"version",width:120,hideUnder:"sm"},{field:"author",flex:1,hideUnder:"sm"}],actions:({row:C})=>[reactExports.createElement(IconBtn,{icon:Delete,title:C.embedded?"Cannot delete (embedded)":"Delete",confirm:`Delete language code "${C.code}"?`,disabled:C.embedded,onClick(){return yt(this,null,function*(){yield apiCall("del_lang",_.pick(C,"code")),b(),toast("Deleted")})}})]})));function v(){selectFiles(C=>yt(this,null,function*(){if(!C)return;const S={};for(const T of C)S[T.name]=yield readFile(T);try{yield apiCall("add_langs",{langs:S}),b(),toast("Loaded")}catch(T){yield alertDialog(T)}}),{accept:".json"})}}function ForceLang({langs:d}){const m=CFG.force_lang,{data:g,reload:x,loading:b}=useApiEx("get_config",{only:[m]}),[E,v]=reactExports.useState();reactExports.useEffect(()=>{var R;return v((R=g==null?void 0:g[m])!=null?R:E)},[g]);const[C,S]=reactExports.useState();return reactExports.createElement(SelectField,{fullWidth:!1,disabled:!!b||typeof C=="string",value:C!=null?C:E,onChange(R){return yt(this,null,function*(){S(R);try{yield apiCall("set_config",{values:{[m]:R}}),yield x()}finally{S(void 0)}})},options:[{label:"Respect browser language",value:""},...d.map(R=>({value:R,label:"Force language: "+R}))]})}function switchBtn(d,m,g){return reactExports.createElement(VerticalSwitch,Oe({checked:d||!1,onChange(x,b){m(b)},disabled:d===void 0},g))}const VerticalSwitch=styled(Switch)(({theme:d,size:m})=>{const g=m&&m==="small";return{height:g?36:48,width:g?18:26,padding:5,"& .MuiSwitch-switchBase":{margin:1,padding:0,transform:`translateY(${g?16:22}px)`,"&.Mui-checked":{color:d.palette.primary.contrastText,transform:"translateY(2px)","& .MuiSwitch-thumb:before":{backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/></svg>')`},"& + .MuiSwitch-track":{backgroundColor:d.palette.grey[500]}}},"& .Mui-checked .MuiSwitch-thumb":{backgroundColor:d.palette.primary.main,boxShadow:"0px 2px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)"},"& .MuiSwitch-thumb":{width:g?16:24,height:g?16:24,backgroundColor:d.palette.grey[700],"&::before":{content:"''",position:"absolute",width:"85%",height:"85%",left:0,top:0,backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M19,13H5V11H19V13Z"/></svg>')`}},"& .MuiSwitch-track":{backgroundColor:d.palette.grey[500],borderRadius:20/2}}}),names={top:"Top of HTML Body",bottom:"Bottom of HTML Body"};function CustomHtmlPage({setTitleSide:d}){const{data:m,reload:g}=useApiEx("get_custom_html"),{customHtmlSection:x}=useSnapState(),[b,E]=reactExports.useState({}),[v,C]=reactExports.useState({});reactExports.useEffect(()=>{m&&(C(m.sections),k(m.enabled))},[m]),reactExports.useEffect(()=>E(v),[v]);const S=reactExports.useMemo(()=>{const D=_.sortBy(Object.keys(b),isNumeric);return D.length&&!D.includes(x)&&(state.customHtmlSection=_.findKey(b,Boolean)||(D==null?void 0:D[0])||""),D.map(A=>{var I;return{value:A,label:(names[A]||prefix("HTTP ",HTTP_MESSAGES[A])||_.startCase(A))+((I=b[A])!=null&&I.trim()?" *":"")}})},[useDebounce(b,500)]),T=reactExports.useMemo(()=>!_.isEqualWith(v,b,(D,A)=>!D&&!A||void 0),[v,b]),[R,k]=reactExports.useState();return d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},md("Add HTML code to some parts of the Front-end. It's saved to file `custom.html`, that you can edit directly with your editor of choice. "),wikiLink("customization","More help")),reactExports.createElement(Alert,{severity:"info"},md("To customize icons "),wikiLink("customization#icons","read documentation"))),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{display:"flex",alignItems:"center",gap:1,mb:1},reactExports.createElement(SelectField,{label:"Section",value:x,options:S,onChange:D=>state.customHtmlSection=D}),reloadBtn(g),reactExports.createElement(IconBtn,{icon:Save,title:`Save
807
- (ctrl+enter)`,modified:T,onClick:L}),hTooltip("Enable all sections",void 0,switchBtn(R,D=>yt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.disable_custom_html]:!D}}),k(D)})))),reactExports.createElement(TextEditor,{lang:x==="style"?"css":x==="script"?"js":"html",value:(b==null?void 0:b[x])||"",style:{background:"#8881"},onValueChange(D){E(A=>Rt(Oe({},A),{[x]:D}))},onKeyDown(D){["s","S","Enter"].includes(isCtrlKey(D))&&(L(),D.preventDefault())}}));function L(){return apiCall("set_custom_html",{sections:b}).then(()=>C(b))}}const COUNTRIES=ALL.filter(d=>WITH_IP.includes(d.code)),PORT_FORWARD_URL="https://portforward.com/",HIGHER_PORT=1080,MSG_ISP=reactExports.createElement("div",{},"HFS will probably not be reachable on the Internet. ",wikiLink("Work-on-the-internet#double-nat","Read more"));function InternetPage({setTitleSide:d}){var X,ce,pe,ae,ue;const[m,g]=reactExports.useState(),[x,b]=reactExports.useState(!1),[E,v]=reactExports.useState(!1),C=useApiEx("get_status"),S=useApiEx("get_config",{only:[CFG.base_url]}),T=(X=S.data)==null?void 0:X[CFG.base_url],R=with_([(pe=(ce=C.data)==null?void 0:ce.http)==null?void 0:pe.error,(ue=(ae=C.data)==null?void 0:ae.https)==null?void 0:ue.error],([fe,ge])=>fe&&ge?"error":fe||ge?"warning":"success"),k=useApiEx("get_nat",{},{timeout:20}),{data:L}=useApiEx("get_public_ips",{timeout:20}),{data:D}=k,A=D==null?void 0:D.internalPort,I=(D==null?void 0:D.mapped)&&D.mapped.private.port!==A&&D.mapped.private.port,N=(D==null?void 0:D.externalIp)&&L&&!L.includes(D.externalIp),B=useRequestRender();return reactExports.useEffect(()=>{B.state&&Z(!0)},[B.state]),d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"This page makes sure your site is working correctly on the Internet"),[])),reactExports.createElement(Flex,{vert:!0,gap:"2em",maxWidth:"40em"},Q(),J(),U(),Y(),z());function j(fe){return fe.replace(new RegExp(".+<body>(.+)<\\/body>.+","is"),(ge,ye)=>ye||ge).replace(/<[^>]+>/g," ")}function z(){const{data:fe}=useApiEvents("get_dynamic_dns_error"),ge=reactExports.useRef();return reactExports.useEffect(()=>ge.current&&restartAnimation(ge.current,"1s blink"),[fe]),reactExports.createElement(TitleCard,{icon:Dns,title:"Dynamic DNS updater"},fe&&reactExports.createElement(Flex,{},fe.error?reactExports.createElement(ErrorIcon,{color:"error",ref:ge}):reactExports.createElement(Check,{color:"success",ref:ge}),formatTimestamp$1(fe.ts)," – ",prefix("Error: ",j(fe.error)).slice(0,500)||"Updated successfully"),"This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution in case you are more keen to it.",reactExports.createElement(ConfigForm,{form:(ye,{setValues:Ee})=>({fields:[reactExports.createElement(Flex,{},_.map({NoIP:{url:"https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain",fields:["username","password","domain"]},DuckDNS:{url:"https://www.duckdns.org/update/$domain/$token>OK",fields:[{k:"domain",helperText:"do NOT include the .duckdns.org part"},"token"]}},({url:ve,fields:Te},$e)=>reactExports.createElement(Btn,{key:ve,onClick:()=>formDialog({title:$e+" wizard",form:{maxWidth:"20em",before:reactExports.createElement(Box,{mb:1},"Following information is stored non-encrypted"),fields:Te.map(Pe=>_.isString(Pe)?{k:Pe}:Pe)}}).then(Pe=>Pe&&Ee({[CFG.dynamic_dns_url]:replace(ve,Pe,"$")}))},$e+" wizard"))),{k:CFG.dynamic_dns_url,label:"Updater URL",multiline:!0,helperText:"Refer to your DNS service provider to know what URL can automatically keep your domain updated. Supported symbols are $IP4, $IP6, $IPX. Optionally, you can append “>” followed by a regular expression to determine a successful answer, otherwise status code will be used."}]})}))}function Y(){const fe=reactExports.useMemo(()=>COUNTRIES.map(ge=>({value:ge.code,label:ge.name})),[COUNTRIES]);return reactExports.createElement(TitleCard,{title:"Geo IP",icon:Public},reactExports.createElement(ConfigForm,{keys:[CFG.geo_enable,CFG.geo_allow,CFG.geo_list,CFG.geo_allow_unknown],form:ge=>{var ye;return{fields:[{k:CFG.geo_enable,comp:BoolField,label:"Enable",helperText:md("Necessary database will be downloaded every month (2MB). Service is made possible thanks to [IP2Location](https://www.ip2location.com).")},...ge!=null&&ge[CFG.geo_enable]?[{k:CFG.geo_allow,comp:SelectField,label:"Rule",options:{"no restriction":null,"block selected countries":!1,"allow selected countries":!0}},ge[CFG.geo_allow]!=null&&{k:CFG.geo_list,comp:MultiSelectField,label:`Selected countries (${((ye=ge[CFG.geo_list])==null?void 0:ye.length)||0})`,valueSeparator:!1,placeholder:"none",options:fe,renderOption:Ee=>reactExports.createElement(Country,{code:Ee.value,long:!0}),clearable:!0,getError:Ee=>ge[CFG.geo_allow]&&!(Ee!=null&&Ee.length)&&"Cannot be empty"},ge[CFG.geo_allow]!=null&&{k:CFG.geo_allow_unknown,comp:SelectField,label:"When country cannot be determined",helperText:"Local IPs are ignored",options:{Allow:!0,Block:!1}}]:[]]}},addToBar:[reactExports.createElement(Box,{flex:1}),reactExports.createElement(Btn,{icon:Search,onClick:W},"Lookup IP")]}))}function W(){return yt(this,null,function*(){const fe=yield promptDialog("Lookup IP");if(!fe)return;const{country:ge}=yield apiCall("geo_ip",{ip:fe});return ge?alertDialog(reactExports.createElement(Country,{code:ge,long:!0}),"success"):alertDialog("IP not found","error")})}function U(){var Le;const[fe,ge]=reactExports.useState(),ye=useApiEx("get_cert");reactExports.useEffect(()=>{apiCall("get_config",{only:["acme_domain","acme_renew"]}).then(ge)},[]);const[Ee,ve]=reactExports.useState(!1);if(!fe)return reactExports.createElement(CircularProgress);const{https:Te}=C.data||{},$e=(Te==null?void 0:Te.port)===PORT_DISABLED,Pe=Te==null?void 0:Te.error;return C.element||reactExports.createElement(TitleCard,{title:"HTTPS",icon:Lock,color:Te!=null&&Te.listening&&!Pe?"success":"warning"},Pe?reactExports.createElement(Alert,{severity:"warning"},Pe):$e&&reactExports.createElement(LinkBtn,{onClick:V},"Not enabled"),ye.element||with_(ye.data,De=>{var Ie,Me;return De.none?reactExports.createElement(LinkBtn,{onClick:Se},"No certificate configured"):reactExports.createElement(Box,{},reactExports.createElement(CardMembership,{fontSize:"small",sx:{mr:1,verticalAlign:"middle"}}),"Current certificate",reactExports.createElement("ul",{},reactExports.createElement("li",{},"Domain: ",((Ie=De.altNames)==null?void 0:Ie.join(" + "))||"-"),reactExports.createElement("li",{},"Issuer: ",((Me=De.issuer)==null?void 0:Me.O)||reactExports.createElement("i",{},"self-signed")),reactExports.createElement("li",{},"Validity: ",["validFrom","validTo"].map(We=>formatTimestamp$1(De[We])).join(" – "))))}),reactExports.createElement(Divider),reactExports.createElement(Form,{gap:1,gridProps:{rowSpacing:1},values:fe,set(De,Ie){ge(Me=>{const We=Rt(Oe({},Me),{[Ie]:De});return ve(!0),apiCall("set_config",{values:We}).finally(()=>ve(!1)),We})},fields:[md("Generate certificate using [Let's Encrypt](https://letsencrypt.org)"),{k:"acme_domain",label:"Domain for certificate",sm:((Le=fe.acme_domain)==null?void 0:Le.length)>30?12:6,required:!0,multiline:!0,fromField:De=>De.replaceAll(`
806
+ Total: `+formatBytes(A.opTotal):"")),sx:{mr:1}}),A.archive?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},A.archive)):with_(D==null?void 0:D.lastIndexOf("/"),N=>reactExports.createElement(Box,{},D.slice(N+1),N>0&&reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},D.slice(0,N)))))}},{field:"outSpeedKb",headerName:"Speed",width:110,hideUnder:"sm",type:"number",renderCell:({value:D,row:A})=>formatSpeedK(Math.max(D||0,A.inSpeedKb||0)||void 0),mergeRender:{sent:{fontSize:"small",textAlign:"right"}}},{field:"sent",headerName:"Sent",type:"number",hideUnder:"md",renderCell:({value:D,row:A})=>formatBytes(Math.max(D||0,A.got||0))},{field:"v",headerName:"Protocol",align:"center",hideUnder:1/0,renderCell:({value:D})=>reactExports.createElement(reactExports.Fragment,{},"IPv"+D,iconTooltip(Lock,"HTTPS",{opacity:.5}))},{field:"agent",headerName:"Agent",hideUnder:"lg",renderCell:({value:D})=>agentIcons(D)}],actionsProps:{hideUnder:"sm"},actions:({row:D})=>[reactExports.createElement(IconBtn,{icon:DisconnectIcon,title:"Disconnect",doneMessage:!0,onClick:()=>apiCall("disconnect",_.pick(D,["ip","port"])).then(A=>A.result>0)}),reactExports.createElement(BlockIpBtn,{ip:D.ip,comment:"From monitoring",disabled:D.ip===(g==null?void 0:g.you)})]})),S&&T&&reactExports.createElement(Grid,Oe({item:!0,xs:k},fillFlexParentSx),reactExports.createElement(LogFile,{file:`${CFG.log}|${CFG.error_log}`,filter:b?D=>!D.uri.startsWith(SPECIAL_URI):void 0,fillFlex:!0,compact:!1,limit:1e3,getRowClassName:({row:D})=>D.status<400?"":"isError",sx:{"& .isError":{backgroundColor:"#a443"}}}))))}function formatSpeedK(d){return d===void 0?"":formatSpeed(d*1e3,{digits:1})}function ArrayField(j){var z=j,{label:d,helperText:m,fields:g,value:x,onChange:b,onError:E,setApi:v,reorder:C,prepend:S,noRows:T,valuesForAdd:R,autoRowHeight:k,dialog:L,form:D,details:A,objectK:I,saveOn:N}=z,B=Vt(z,["label","helperText","fields","value","onChange","onError","setApi","reorder","prepend","noRows","valuesForAdd","autoRowHeight","dialog","form","details","objectK","saveOn"]);const Y=Array.isArray(x)?x:!I||!x?[]:Object.entries(x).map(([Z,ie])=>Oe({[I]:Z},ie)),W=reactExports.useMemo(()=>Y.map((Z,ie)=>setHidden(Oe({},Z),Z.hasOwnProperty("id")?{$idx:ie}:{id:ie})),[JSON.stringify(Y)]),U=Z=>ie=>Oe(Oe({fields:callable(g,ie).map(ge=>{var ye=ge,{$width:oe,$column:re,$type:X,$hideUnder:ce,showIf:pe,$render:ae,$mergeRender:ue}=ye,fe=Vt(ye,["$width","$column","$type","$hideUnder","showIf","$render","$mergeRender"]);var Ee;return(!pe||pe(ie))&&_.defaults(fe,(Ee=byType[X])==null?void 0:Ee.field)})},D),Z);v==null||v({isEqual:isOrderedEqual});const[V,J]=reactExports.useState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{rowGap:0,flexWrap:"wrap",ml:"2px"},d&&reactExports.createElement(FormLabel,{sx:{color:"text.primary"}},d),m&&reactExports.createElement(FormHelperText,{},m)),reactExports.createElement(Box,Oe({},B),reactExports.createElement(DataTable,Rt(Oe(Oe({rows:W,details:A},k&&{getRowHeight:()=>"auto"}),!useBreakpoint("sm")&&{compact:!0}),{sx:Oe({".MuiDataGrid-virtualScroller":{minHeight:"3em"}},k&&{".MuiDataGrid-cell":{minHeight:"52px !important"}}),hideFooterSelectedRowCount:!0,hideFooter:!0,slots:{noRowsOverlay:()=>reactExports.createElement(Center,{},T||"No entries")},slotProps:{pagination:{showFirstButton:!0,showLastButton:!0}},columns:[...callable(g,!1).map(Z=>{var oe,re;if(reactExports.isValidElement(Z))return;const ie=(oe=byType[Z.$type])==null?void 0:oe.column;return _.defaults(Oe(Rt(Oe({field:Z.k,headerName:(re=Z.headerName)!=null?re:typeof Z.label=="string"?Z.label:labelFromKey(Z.k),disableColumnMenu:!0,valueGetter({value:X}){return(Z.toField||_.identity)(X)}},Z.$width?{[Z.$width>=8?"width":"flex"]:Z.$width}:!(ie!=null&&ie.width)&&!(ie!=null&&ie.flex)&&{flex:1}),{renderCell:Z.$render,mergeRender:Z.$mergeRender,hideUnder:Z.$hideUnder}),Z.$column),ie)}).filter(Boolean),{field:"",type:"actions",width:90,headerAlign:"center",renderHeader(){const Z="Add";return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{icon:Add,title:Z,size:"small",onClick(oe){return yt(this,null,function*(){const re=yield formDialog({form:U({}),title:Z,values:R,dialogProps:L});if(!re)return;const X=Y.slice()||[];S?X.unshift(re):X.push(re),ee(X,oe)})}}),V!==void 0&&reactExports.createElement(IconBtn,{icon:Undo,title:"Undo",size:"small",onClick:oe=>ee(V,oe)}))},getActions({row:Z}){const{$idx:ie=Z.id}=Z,oe="Modify";return[reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Edit),label:oe,title:oe,onClick(X){return yt(this,null,function*(){X.stopPropagation();const ce=yield formDialog({values:Z,form:U(N==="change"&&{save:!1,onChange(pe){Q(ie,pe,"change")}}||N&&{save:!1}),title:reactExports.createElement(reactExports.Fragment,{},oe,d&&" - ",d),dialogProps:L});ce&&Q(ie,ce,X)})}}),reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Delete),label:"Delete",showInMenu:C,onClick:X=>{X.stopPropagation(),ee(Y.filter((ce,pe)=>pe!==ie),X)}}),C&&ie&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowUpward),label:"Move up",showInMenu:!0,onClick:X=>{X.stopPropagation(),ee(swap(Y.slice(),ie,ie-1),X)}}),C&&ie<W.length-1&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowDownward),label:"Move down",showInMenu:!0,onClick:X=>{X.stopPropagation(),ee(swap(Y.slice(),ie,ie+1),X)}})].filter(Boolean)}}]}))));function Q(Z,ie,oe){ee(Y.map((re,X)=>X===Z?ie:re),oe)}function ee(Z,ie){b(I?Object.fromEntries(Z.map(X=>{var ce=X,{[I]:oe}=ce,re=Vt(ce,[Im(I)]);return[oe,re]})):Z,{was:x,event:ie}),N!=="change"&&J(Y)}}const byType={boolean:{field:{comp:BoolField},column:{renderCell:({value:d})=>d&&reactExports.createElement(Check)}},dateTime:{field:{comp:DateTimeField},column:{minWidth:96,flex:.5,renderCell:({value:d})=>d&&new Date(d).toLocaleString()}}},HFS_GITHUB_ACCOUNT=HFS_REPO.replace(/\/.+/,"/");function OnlinePlugins(){const[d,m]=reactExports.useState(""),g=useDebounce(d,1e3),{list:x,error:b,initializing:E}=useApiList("get_online_plugins",{text:g}),v=useSnapState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{value:d,onChange:m,start:reactExports.createElement(Search),typing:!0,label:"Search text"}),reactExports.createElement(DataTable,{error:b&&err2msg$1(xlate(b,PLUGIN_ERRORS)),rows:x.length?x:[],noRows:"No compatible plugins have been found",fillFlex:!0,initializing:E,columnVisibilityModel:v.onlinePluginsColumns,onColumnVisibilityModelChange:C=>Object.assign(state.onlinePluginsColumns,C),columns:[{field:"id",headerName:"name",flex:1,renderCell:renderName,mergeRender:{description:{fontSize:"x-small"}}},{field:"version",width:70},{field:"pushed_at",headerName:"last update",valueGetter:({value:C})=>new Date(C).toLocaleDateString()},{field:"license",width:80},themeField,Rt(Oe({},descriptionField),{flex:3,hideUnder:"sm"}),{field:"stargazers_count",width:50,headerName:"stars",align:"center",hideUnder:"sm"}],actions:({row:C,id:S})=>[reactExports.createElement(IconBtn,{icon:Download,title:"Install",progress:C.downloading,disabled:C.installed&&"Already installed",tooltipProps:{placement:"bottom-end"},onClick:()=>installPluginFromResult(C)}),reactExports.createElement(IconBtn,{icon:RemoveRedEye,disabled:!C.preview,onClick:()=>newDialog({title:S,Content:()=>reactExports.createElement(ShowImages,{imgs:wantArray(C.preview)})})})]}))}function ShowImages({imgs:d}){const[m,g]=reactExports.useState(0);return reactExports.createElement(Flex,{vert:!0,flex:1},reactExports.createElement(Flex,{vert:!0,center:!0,height:0,flex:"auto",minHeight:"50vh",minWidth:"50vw"},reactExports.createElement("img",{src:d[m],style:{margin:"auto",maxWidth:"100%",maxHeight:"100%"}})),d.length>1&&reactExports.createElement(Flex,{center:!0},reactExports.createElement(IconBtn,{icon:ArrowBack,disabled:!m,onClick:()=>g(m-1)}),reactExports.createElement(IconBtn,{icon:ArrowForward,disabled:m>=d.length-1,onClick:()=>g(m+1)})))}function installPluginFromResult(d){return yt(this,null,function*(){if(!d.id.startsWith(HFS_GITHUB_ACCOUNT)&&!(yield confirmDialog(reactExports.createElement(Flex,{vert:!0,alignItems:"center"},reactExports.createElement(Warning,{color:"warning",fontSize:"large"}),"Proceed only if you trust this plugin",reactExports.createElement(Box,{fontSize:"60%"},"A plugin has the same power of any other software"))))||d.missing&&!(yield confirmDialog("This will also install: "+_.map(d.missing,"repo").join(", "))))return;const m=d.branch||d.default_branch;return installPlugin(d.id,m).catch(g=>{if(g.code!==HTTP_FAILED_DEPENDENCY)return alertDialog(g);const x=reactExports.createElement(reactExports.Fragment,{},"This plugin has some dependencies unmet:",g.data.map(b=>reactExports.createElement("li",{key:b.repo},b.repo+": "+b.error)));return alertDialog(x,"error")})})}function installPlugin(d,m){return yt(this,null,function*(){try{const g=yield apiCall("download_plugin",{id:d,branch:m,stop:!0},{timeout:!1});(yield confirmDialog(`Plugin ${d} downloaded`,{trueText:"Start"}))&&(yield startPlugin(g.id))}catch(g){let x=!1;if(g.code===HTTP_FAILED_DEPENDENCY)for(const b of g.cause)b.error==="missing"&&(toast("Installing dependency: "+b.repo),yield installPlugin(b.repo),x=!0);if(x)return installPlugin(d,m);throw g}})}const TABS={Installed:InstalledPlugins,"Get more":OnlinePlugins,"Check updates":()=>reactExports.createElement(InstalledPlugins,{updates:!0})},LABELS=Object.keys(TABS),PANES=Object.values(TABS),PLUGIN_ERRORS={ENOTFOUND:"Cannot reach github.com",ECONNREFUSED:"Cannot reach github.com"};function PluginsPage(){const[d,m]=reactExports.useState(0);return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Tabs,{value:d,onChange(g,x){m(x)}},LABELS.map(g=>reactExports.createElement(Tab,{key:g,label:g}))),reactExports.createElement(PANES[d]))}function showPluginOptions(d,m){return yt(this,null,function*(){const{id:g}=d,{config:x}=yield apiCall("get_plugin",{id:g}),b={current:void 0},E=!!d.config,v=yield formDialog({title:E?`Options for ${g}`:`Log for ${g}`,form:S=>({before:d.description&&reactExports.createElement(Box,{mx:2,mb:2},d.description),fields:makeFields(callable(d.config,S)||{},S),save:E?{children:"Save and close"}:!1,barSx:{gap:1},apiRef:b,addToBar:[reactExports.createElement(Btn,{variant:"outlined",onClick(){return yt(this,null,function*(){var R;(yield(R=b.current)==null?void 0:R.validate())&&(yield C(S))})}},"Save")]}),values:x,dialogProps:_.merge({maxWidth:"md",sx:{m:"auto"}},d.configDialog,{maxWidth:!1,sx:{maxWidth:null}}),Wrapper({children:S}){const{list:T,setList:R}=useApiList("get_plugin_log",{id:g},{map(D){D.ts=new Date(D.ts)}}),k=useAutoScroll(T);let L;return reactExports.createElement(Flex,{alignItems:"stretch",justifyContent:"center",flexWrap:"wrap",flexDirection:E?void 0:"column"},reactExports.createElement(Box,{maxWidth:m,minWidth:"min-content"},S),reactExports.createElement(Paper,{elevation:1,sx:{position:"relative",fontFamily:"monospace",flex:1,minWidth:"min(40em, 90vw)",minHeight:"20em",px:.5}},reactExports.createElement(Box,{my:.5,pb:.5,borderBottom:"1px solid",display:"flex",alignItems:"center",justifyContent:"space-between"},"Output",reactExports.createElement(Btn,{size:"small",sx:{p:0},onClick(){R([])}},"Clear")),reactExports.createElement(Box,{position:"absolute",bottom:0,top:"31px",left:0,right:0,sx:{overflowY:"auto"},ref:k},!T.length&&reactExports.createElement(Box,{p:1},"Log is empty"),reactExports.createElement(Box,{sx:{textIndent:"-1em",pl:"1em",position:"absolute",width:"calc(100% - 1.2em)",ml:"2px",pt:".2em"}},T.map(D=>{formatDate(D.ts);const A=formatDate(D.ts);return reactExports.createElement(reactExports.Fragment,{key:D.id},A!==L&&(L=A),reactExports.createElement(Box,{},reactExports.createElement(Box,{title:A,display:"inline",color:"text.secondary",mr:1},formatTime(D.ts)),replaceStringToReact(D.msg,/https?:\/\/\S+/,I=>reactExports.createElement(Link$3,{href:I[0],target:"_blank"},I[0]))))})))))}});if(v&&!_.isEqual(x,v))return C(v);function C(S){return yt(this,null,function*(){yield apiCall("set_plugin",{id:g,config:S}),Object.assign(x,S),toast("Configuration saved")})}})}function makeFields(d,m){return Object.entries(d).map(([g,x])=>{var k;if(!x)return;let R=x,{type:b,defaultValue:E,frontend:v,showIf:C}=R,S=Vt(R,["type","defaultValue","frontend","showIf"]);try{if(S.getError=evalWrapper(S.getError),typeof C=="string"&&(x.showIf=C=evalWrapper(C)),C&&!C(m))return}catch(L){}S.helperText&&(S.helperText=md(S.helperText,{html:!1}));const T=type2comp[b];if(m===!1&&b==="date_time"&&(S.$type="dateTime"),T===ArrayField){let{fields:L}=S;S.valuesForAdd=newObj(callable(L,!1),D=>D.defaultValue),typeof L=="string"&&(L=evalWrapper(L)),(k=S.details)!=null||(S.details=!1),S.fields=D=>_.map(makeFields(callable(L,D),D),(A,I)=>A&&Rt(Oe({k:I},A),{defaultValue:void 0})).filter(Boolean)}return E!==void 0&&b==="boolean"&&(S.placeholder=`Default value is ${JSON.stringify(E)}`),Oe({k:g,comp:T},S)})}function evalWrapper(s){return eval(s)}const type2comp={string:StringField,number:NumberField,boolean:BoolField,select:SelectField,multiselect:MultiSelectField,array:ArrayField,real_path:FileField,vfs_path:VfsPathField,username:UsernameField,color:ColorField,show_html:({html:d})=>reactExports.createElement(Html,{},String(d)),date_time:DateTimeField,net_mask:NetmaskField};type2comp.showHtml=type2comp.show_html;function UsernameField(E){var v=E,{value:d,onChange:m,multiple:g,groups:x}=v,b=Vt(v,["value","onChange","multiple","groups"]);const{data:C,element:S,loading:T}=useApiEx("get_accounts"),R=reactExports.useMemo(()=>C&&_.sortBy(C.list,[k=>!k.isGroup,k=>!k.adminActualAccess,"username"]),[C]);return(!T||!C)&&S||reactExports.createElement(g?MultiSelectField:SelectField,Oe({value:d,onChange:m,options:R==null?void 0:R.filter(k=>x===void 0||x===k.isGroup).map(k=>({value:k.username,label:k.username,a:k})),renderOption:k=>{if(!k.a)return reactExports.createElement("span",{style:{textDecoration:"line-through"}},k.label);const L=k.a.isGroup&&account2icon(k.a)||k.a.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin");return L?reactExports.createElement("span",{},reactExports.createElement("span",{style:{marginLeft:-8,marginRight:8}},L),k.label):k.label}},b))}function ColorField(d){return reactExports.createElement(StringField,Oe({inputProps:Oe({type:"color",style:{marginRight:24}},!d.value&&{value:"#888888",style:{zIndex:1,opacity:.1}}),InputProps:{endAdornment:d.value?reactExports.createElement(Btn,{icon:Clear,size:"small",sx:{position:"absolute",right:4},title:"Clear",onClick(m){d.onChange(null,{was:d.value,event:m})}}):reactExports.createElement(Box,{sx:{position:"absolute",width:"100%",bottom:2,pt:"3px",textAlign:"center",color:"#fff",background:"repeating-linear-gradient(45deg, #333, #333 10px, #444 10px, #444 20px)"}},"default")},typing:!0},d))}function InstalledPlugins({updates:d}){const{list:m,error:g,setList:x,initializing:b}=useApiList(d?"get_plugin_updates":"get_plugins",{},{map(L){L.config&&(L.config=tryJson(L.config,D=>evalWrapper("()=>("+D+")")()))}}),[E,v]=reactExports.useState(0);reactExports.useEffect(()=>{x(L=>_.sortBy(L,D=>{var A;return(D.error?0:D.started?1:D.badApi?2:3)+treatPluginName(((A=D.repo)==null?void 0:A.split("/").reverse().join("/"))||D.id).toLowerCase()}))},[m.length,E]);const C="small",{pause:S,pauseButton:T}=usePauseButton("plugins",()=>getSingleConfig(CFG.suspend_plugins).then(L=>!L),{onClick(){return yt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.suspend_plugins]:!S}}),S&&(yield wait(2e3),v(Date.now()))})}}),R=useTheme$1();return reactExports.createElement(DataTable,{error:isPrimitive(g)?xlate(g,PLUGIN_ERRORS):_.map(g,(L,D)=>`Error ${D} for: ${L.join(", ")}`).join("; "),rows:m.length?m:[],fillFlex:!0,initializing:b,disableColumnSelector:!0,getRowHeight:d&&(({model:L})=>L.changelog?"auto":50),noRows:d&&'No updates available. Only plugins available on "search online" are checked.',columns:[{field:"id",headerName:"name",flex:.3,minWidth:150,renderCell:renderName,valueGetter({row:L}){return L.repo||L.id},mergeRender:{[d?"changelog":"description"]:{fontSize:"x-small"}}},{field:"version",width:70,hideUnder:"sm",cellInnerProps:{className:HIDE_IN_TESTS},mergeRender:{installedVersion:{fontSize:"x-small"}}},themeField,Rt(Oe({},descriptionField),{flex:1,hideUnder:"sm"}),{field:"installedVersion",hideUnder:!0,dialogHidden:!0,renderCell:({value:L})=>L&&`Yours ${L}`},{field:"changelog",headerName:"Change log",flex:2,hideUnder:!d||"sm",sx:{flexDirection:"column",alignItems:"flex-start"},renderCell({value:L,row:D}){return Array.isArray(L)?reactExports.createElement(Table,{sx:{td:{p:0}}},_.uniq(_.sortBy(L,"version").filter(A=>_.isString(A.message)&&A.message&&A.version>D.installedVersion)).map((A,I)=>reactExports.createElement(TableRow,{key:I},reactExports.createElement(TableCell,{sx:{whiteSpace:"pre",verticalAlign:"top"}},`• ${A.version}: `),reactExports.createElement(TableCell,{},md(A.message))))):null}}],footerSide:()=>!d&&T,actions:({row:L,id:D})=>d?[reactExports.createElement(IconBtn,{icon:Upgrade,title:L.downloading?"Downloading":L.updated?"Already updated":"Update",disabled:L.updated,progress:L.downloading,size:C,onClick(){return yt(this,null,function*(){yield apiCall("update_plugin",{id:D},{timeout:!1}).catch(N=>{var B;throw N.code!==HTTP_FAILED_DEPENDENCY?N:Error("Failed dependencies: "+((B=N.cause)==null?void 0:B.map(j=>prefix('plugin "',j.id||j.repo,'" ')+j.error).join("; ")))}),toast("Plugin updated")})}})]:[reactExports.createElement(IconBtn,L.started?{icon:StopCircle,title:reactExports.createElement(Box,{"aria-hidden":!0},`Stop ${D}`,reactExports.createElement("br"),"Started "+new Date(L.started).toLocaleString()),"aria-label":`Stop ${D}`,size:C,color:"success",doneAnimation:!0,onClick:()=>apiCall("stop_plugin",{id:D})}:{icon:PlayCircle,title:`Start ${D}`,disabled:S&&"All plugins are paused – Click the Resume button below",size:C,onClick:()=>startPlugin(D)}),reactExports.createElement(IconBtn,{icon:L.config||!L.started||!L.log?Settings:ListAlt,title:L.config||!L.log?"Options":"Log",size:C,disabled:!L.started&&"Start plugin to access options"||!L.config&&!L.log&&"No options and no log for this plugin",onClick(){var j;const N=L.configDialog;let B=R.breakpoints.values[N==null?void 0:N.maxWidth]||((j=N==null?void 0:N.sx)==null?void 0:j.maxWidth)||xlate(N==null?void 0:N.maxWidth,{xs:0})||432;return typeof B=="number"&&(B+="px"),showPluginOptions(L,B)}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Uninstall",size:C,onClick(){return yt(this,null,function*(){const N=yield confirmDialog(`${D}: delete configuration too?`,{trueText:"Yes",falseText:"No",after:({onClick:B})=>reactExports.createElement(Btn,{variant:"outlined",onClick(){B(void 0)}},"Abort")});N!==void 0&&(yield apiCall("uninstall_plugin",{id:D,deleteConfig:N}),toast("Plugin uninstalled"))})}})]})}function getSingleConfig(d){return apiCall("get_config",{only:[d]}).then(m=>m[d])}function treatPluginName(d){return d.replace(/hfs-/,"")}function renderName({row:d,value:m}){const{repo:g}=d;return reactExports.createElement(reactExports.Fragment,{},d.downgrade&&x("This version is older than the one you installed. It is possible that the author found a problem with your version and decided to retire it.",!0),x(d.error||d.badApi,!d.error),g!=null&&g.includes("//")?reactExports.createElement(Link$3,{href:g,target:"plugin"},m):with_(g==null?void 0:g.split("/"),b=>(b==null?void 0:b.length)!==2?m:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Link$3,{href:"https://github.com/"+g,target:"plugin",onClick(E){E.stopPropagation()}},treatPluginName(b[1])),NBSP+"by ",b[0])));function x(b,E=!1){return b&&hTooltip(b,b,reactExports.createElement(ErrorIcon,{fontSize:"small",color:E?"warning":"error",sx:{ml:-.5,mr:.5}}))}}function startPlugin(d){return yt(this,null,function*(){try{return yield apiCall("start_plugin",{id:d}),toast("Plugin started",reactExports.createElement(PlayCircle,{color:"success"})),!0}catch(m){alertDialog(`Plugin ${d} didn't start, with error: ${String((m==null?void 0:m.message)||m)}`,"error")}})}const descriptionField={field:"description",mergeRender:{isTheme:{}},mergeRenderSx:{float:"left"}},themeField={field:"isTheme",headerName:"is theme",hideUnder:!0,dialogHidden:!0,type:"boolean",renderCell({value:d}){return d&&iconTooltip(ThemeIcon,_.isString(d)?`${d} theme`:"theme",{fontSize:"1.2rem",mr:".3em"})}},cacheKey="onlinePluginsCache";function RandomPlugin(){const{hideRandomPlugin:d}=useSnapState(),m=localStorage.getItem(cacheKey),g=reactExports.useMemo(()=>{const S=tryJson(m||"");return(S==null?void 0:S.ts)&&Date.now()-S.ts<DAY&&_.shuffle(S.list)},[m]),{list:x,initializing:b}=useApiList(!d&&!g&&"get_online_plugins"),[E,v]=reactExports.useState(-1),C=g==null?void 0:g[E];if(reactExports.useEffect(()=>{!g&&!b&&x.length&&localStorage.setItem(cacheKey,JSON.stringify({ts:Date.now(),list:x})),v(0)},[x,b]),reactExports.useEffect(()=>{E>0&&!C&&toast("No more plugins!")},[E]),!(d||!C))return reactExports.createElement(Card,{sx:{display:{xs:"none",md:"block"},float:"right",width:"min(50%, 30em)",ml:"1em"}},reactExports.createElement(CardContent,{},reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.4em"},reactExports.createElement(Box,{color:"warning.main",mr:1,display:"inline"},"🎲"),"Random plugin:"),reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.8em",my:1},renderName({row:C})),reactExports.createElement(Box,{},C.description),C.preview&&reactExports.createElement("img",{src:wantArray(C.preview)[0],style:{maxWidth:"100%",maxHeight:"50vh",marginTop:"1em",border:"1px solid",maskImage:"radial-gradient(circle at center, black 50%, transparent 100%)"}})),reactExports.createElement(CardActions,{},reactExports.createElement(Btn,{variant:"outlined",onClick:()=>installPluginFromResult(C)},"Install"),reactExports.createElement(Btn,{variant:"outlined",onClick:()=>v(S=>S+1)},"Another"),reactExports.createElement(Btn,{variant:"outlined",onClick(){state.hideRandomPlugin=!0}},"Hide this box")))}function HomePage(){var ee,Z,ie,oe,re;const d=" — ",{username:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_status"),{data:E}=useApiEx(m&&"get_account"),v=useApiEx("get_config",{only:["https_port","cert","private_key","proxies","ignore_proxies","vfs"]}),{list:C}=useApiList("get_plugins"),[S,T]=reactExports.useState(!1),{list:R}=useApiList(S&&"get_plugin_updates"),[k,L]=reactExports.useState(),[D,A]=reactExports.useState();if(b||!g)return b;const{http:I,https:N}=g,B=!(I!=null&&I.listening)&&(N!=null&&N.listening)?"s":"",j=B?N:(I==null?void 0:I.listening)&&I,z=j&&`http${B}://`+window.location.hostname+(j.port===(B?443:80)?"":":"+j.port),Y=objSameKeys({http:I,https:N},X=>X.busy?[`port ${X.configuredPort} already used by ${X.busy}${d}choose a `,cfgLink("different port"),` or stop ${X.busy}`]:X.error),W=Y&&onlyTruthy(Object.entries(Y).map(([X,ce])=>ce&&[md(`Protocol <u>${X}</u>: `),ce,(isCertError(ce)||isKeyError(ce))&&[d,reactExports.createElement(LinkBtn,{onClick(){suggestMakingCert().then(()=>wait(999)).then(v.reload).then(x)}},"make one")," or ",d,cfgLink("provide adequate files")]])),U={onContextMenu(X){return yt(this,null,function*(){if(X.preventDefault(),!g.updatePossible)return alertDialog("Automatic update is not supported for your installation","warning");const ce=yield promptDialog("Enter a link to the zip to install");ce&&(yield update(ce))})},title:g.updatePossible&&"Right-click if you want to install a zip"},V=(ee=v.data)==null?void 0:ee.vfs;return reactExports.createElement(Box,{},reactExports.createElement(RandomPlugin),reactExports.createElement(Box,{display:"flex",gap:2,flexDirection:"column",alignItems:"flex-start",height:"100%"},dontBotherWithKeys(((Z=g.alerts)==null?void 0:Z.map(X=>entry("warning",md(X,{html:!1}))))||[]),W.length?dontBotherWithKeys(W.map(X=>entry("error",dontBotherWithKeys(X)))):entry("success","Server is working"),V&&!((ie=V.children)!=null&&ie.length)&&!V.source?entry("warning","You have no shared files",d,fsLink("add some")):null,E!=null&&E.adminActualAccess?entry("","Welcome, "+m):entry("",md("You're accessing the Admin-panel without an account because you are on localhost"),...g.anyAccountCanLoginAdmin?[]:[d,"to access from another computer, you must ",reactExports.createElement(InLink,{to:"accounts"},md("create an account with *admin* permission"))]),!z&&entry("warning","Frontend unreachable: ",_.map(Y,(X,ce)=>ce+" "+(X?"is in error":"is off")).join(", "),!W.length&&[d,cfgLink("switch http or https on")]),with_(g.acmeRenewError,X=>X&&entry("warning",X)),with_(g.blacklistedInstalledPlugins,X=>(X==null?void 0:X.length)>0&&entry("warning","Found blacklisted plugin(s): ",X.join(", "))),with_(C==null?void 0:C.filter(X=>X.error||X.badApi).length,X=>X>0&&entry("warning",`${X} plugin(s) failing`,d,reactExports.createElement(InLink,{to:"plugins"},"check now"))),!((oe=v.data)!=null&&oe.split_uploads)&&Date.now()-Number(g.cloudflareDetected||0)<DAY&&entry("",wikiLink("Reverse-proxy#cloudflare","Cloudflare detected, read our guide")),with_(proxyWarning(v.data,g),X=>X&&entry("warning",X,d,cfgLink("set the number of proxies"),d,"unless you are sure and you can ",reactExports.createElement(Btn,{variant:"outlined",size:"small",sx:{lineHeight:"unset"},confirm:"Go on only if you know what you are doing",onClick:()=>apiCall("set_config",{values:{ignore_proxies:!0}}).then(v.reload)},"ignore this warning"),d,wikiLink("Proxy-warning","Explanation"))),(((re=v.data)==null?void 0:re.proxies)>0||(g==null?void 0:g.proxyDetected))&&entry("",wikiLink("Reverse-proxy","Read our guide on proxies")),g.frpDetected&&entry("warning",'FRP is detected. It should not be used with "type = tcp" with HFS. Possible solutions are',reactExports.createElement("ol",{},reactExports.createElement("li",{},"configure FRP with type=http (best solution)"),reactExports.createElement("li",{},md("configure FRP to connect to HFS <u>not</u> with localhost (safe, but you won't see users' IPs)")),reactExports.createElement("li",{},`disable "admin access for localhost" in HFS (safe, but you won't see users' IPs)`))),entry("",md("This is the *Admin-panel*, where you manage your server. Access your files on the [Front-end](../..).")),entry("",wikiLink("","See the documentation")," and ",reactExports.createElement(Link$3,{target:"support",href:REPO_URL+"discussions"},"get support")),!k&&with_(g.autoCheckUpdateResult,X=>(X==null?void 0:X.isNewer)&&reactExports.createElement(Update,{info:X,fromAuto:!0,bodyCollapsed:!0,title:"An update has been found"})),R.length>0&&entry("success","Updates available for plugin(s): "+R.map(X=>X.id).join(", ")),reactExports.createElement(ConfigForm,{gridProps:{sx:{mt:1,display:"flex",columnGap:1,alignitems:"center","&>div.MuiGrid2-root":{width:"auto",px:.5,py:0},".MuiCheckbox-root":{pl:"2px"}}},saveOnChange:!0,form:{fields:[g.updatePossible==="local"?reactExports.createElement(Btn,{icon:UpdateIcon,onClick:()=>update()},"Update from local file"):!k&&reactExports.createElement(Btn,Oe({icon:UpdateIcon,onClick(){return apiCall("wait_project_info").then(x),T(!0),apiCall("check_update").then(X=>L(X.options),alertDialog)}},U),"Check for updates"),{k:"auto_check_update",comp:CheckboxField,label:"Auto check updates daily"},{k:"update_to_beta",comp:CheckboxField,label:"Include beta versions"}]}}),k&&with_(_.find(k,"isNewer"),X=>!k.length||!g.updatePossible&&!X?entry("","No update available"):X&&!g.updatePossible?entry("success",`Version ${X.name} available`):reactExports.createElement(Flex,{vert:!0},k.map(ce=>reactExports.createElement(Update,{info:ce,key:ce.name})))),reactExports.createElement(Flex,{flexWrap:"wrap"},!D&&g.updatePossible&&g.previousVersionAvailable&&reactExports.createElement(Btn,{icon:Restore,onClick:()=>update(PREVIOUS_TAG)},"Reinstall previous version"),g.updatePossible?D?reactExports.createElement(Flex,{vert:!0},D.map(X=>reactExports.createElement(Update,{info:X,key:X.name,bodyCollapsed:!0}))):reactExports.createElement(Btn,Oe({icon:Colorize,onClick:J},U),"Get another version"):entry("",reactExports.createElement(Link$3,{href:REPO_URL+"releases/",target:"repo"},"All releases"))),reactExports.createElement(SwitchThemeBtn),Date.now()-Number(new Date(g.started))>HOUR&&reactExports.createElement(Link$3,{title:"Donate",target:"donate",style:{textDecoration:"none",position:"fixed",bottom:0,right:4,fontSize:"large"},href:"https://www.paypal.com/donate/?hosted_button_id=HC8MB4GRVU5T2"},"❤️")));function J(){return yt(this,null,function*(){return apiCall("get_other_versions").then(X=>A(X.options),alertDialog)})}}function Update({info:d,title:m,bodyCollapsed:g,fromAuto:x}){const[b,E]=reactExports.useState(g);return reactExports.createElement(Flex,{alignItems:"flex-start",flexWrap:"wrap"},reactExports.createElement(Card,{className:"release"},reactExports.createElement(CardContent,{},reactExports.createElement(Flex,{},m&&reactExports.createElement(Box,{fontSize:"larger",mb:1},m),reactExports.createElement(Btn,Rt(Oe({icon:UpdateIcon},!d.isNewer&&d.prerelease&&{color:"warning",variant:"outlined"}),{onClick:()=>update(x?void 0:d.tag_name)}),prefix("Install ",d.name,d.isNewer?"":" (older)")),reactExports.createElement(Link$3,{href:REPO_URL+"releases/tag/"+d.tag_name,target:"repo"},reactExports.createElement(OpenInNew))),b?reactExports.createElement(LinkBtn,{sx:{display:"block",mt:1},onClick(){E(!1)}},"See details"):reactExports.createElement(Box,{mt:1},renderChangelog(d.body)))))}function renderChangelog(d){return md(d,{html:!1,onText:m=>replaceStringToReact(m,new RegExp("(?<=^|\\W)#(\\d+)\\b|(https:.*\\S+)","g"),g=>g[1]?reactExports.createElement(Link$3,{href:REPO_URL+"issues/"+g[1],target:"_blank"},reactExports.createElement(OpenInNew,{fontSize:"small"})):reactExports.createElement(Link$3,{href:g[2],target:"_blank"},g[2]))})}function update(d){return yt(this,null,function*(){if(!(yield confirmDialog("Installation may take less than a minute, depending on the speed of your server")))return;toast("Downloading");const m=yield apiCall("update",{tag:d},{timeout:600}).then(()=>0,b=>b);if(m)return alertDialog(m);toast("Restarting");const g=Date.now();let x;for(;yield apiCall("NONE").then(()=>0,b=>!b.code);)!x&&Date.now()-g>15e3&&(x=alertDialog("This is taking too long, please check your server","warning")),yield wait(500);x==null||x.close(),subscribeKey(state,"loginRequired",()=>state.loginRequired=!1),yield alertDialog("Procedure complete","success"),window.location.reload()})}function entry(d,...m){return reactExports.createElement(Box,{fontSize:"x-large",color:g=>{var x;return d&&((x=g.palette[d])==null?void 0:x.main)}},reactExports.createElement({success:CheckCircle,info:Info,"":Info,warning:Warning,error:ErrorIcon}[d],{sx:{mr:1,color:d?void 0:"primary.main"}}),reactExports.createElement("span",{style:["warning","error"].includes(d)?{animation:".5s blink 2"}:void 0},...m))}function fsLink(d="File System page"){return reactExports.createElement(InLink,{to:"fs"},d)}function cfgLink(d="Options page"){return reactExports.createElement(InLink,{to:"options"},d)}function proxyWarning(d,m){return m&&d&&!d.ignore_proxies&&(!d.proxies&&m.proxyDetected?"A proxy was detected but none is configured":d.proxies&&!m.proxyDetected&&Date.now()-+new Date(m.started)>DAY?`Proxy count is set to ${d.proxies} but none was detected recently. Consider setting it to zero`:"")}let loaded,exposedReloadStatus;const pageState=proxy({changes:{}});subscribe(state,d=>{d.some(m=>m[1][0]==="config")&&recalculateChanges()});function OptionsPage(){var Y,W;const{data:d,reload:m,element:g}=useApiEx("get_config",{omit:["vfs"]}),x=useSnapState(),{changes:b}=useSnapshot(pageState),E=useApiEx(d&&"get_status"),v=E.data,C=exposedReloadStatus=E.reload;reactExports.useEffect(()=>void C(),[d]),reactExports.useEffect(()=>()=>exposedReloadStatus=void 0,[]);const S=useBreakpoint("sm"),T=reactExports.useRef(null),R=(Y=useApiEx("get_admins").data)==null?void 0:Y.list,k=window.location.hostname,L=k==="localhost",D=k.includes(":"),A=[{label:"any",value:""},{label:"any IPv4",value:"0.0.0.0",disabled:!L&&D},{label:"any IPv6",value:"::",disabled:!L&&!D},...["127.0.0.1","::1"].map(U=>({label:U,value:U,disabled:!L&&k!==U})),...((W=v==null?void 0:v.ips)==null?void 0:W.map(U=>({value:U,disabled:k!==U})))||[]];if(g)return g;if(E.error)return E.element;const I=loaded!==d?state.config=loaded=d:x.config,N={comp:NumberField,min:1,unit:"KB/s",placeholder:"no limit",sm:6},B={comp:NumberField,placeholder:"no limit",toField:U=>U||"",sm:4},j=I.https_port>=0;return reactExports.createElement(Form,{sx:{maxWidth:"60em"},values:I,set(U,V){state.config[V]=U},stickyBar:!0,onError:alertDialog,save:Oe({ref:T,onClick:z},propsForModifiedValues(Object.keys(b).length>0)),barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick(){m(),C()},startIcon:reactExports.createElement(Refresh)},"Reload"),reactExports.createElement(Button,{component:Link$4,to:"/config",startIcon:reactExports.createElement(EditNote)},S?"Config file":"File")],defaults(){return{xs:6}},fields:[reactExports.createElement(Section,{title:"Networking"}),{k:"port",comp:PortField,xs:12,sm:6,label:"HTTP port",status:(v==null?void 0:v.http)||!0,suggestedPort:80},{k:"https_port",comp:PortField,xs:12,sm:6,label:"HTTPS port",status:(v==null?void 0:v.https)||!0,suggestedPort:443,onChange(U){return U>=0&&!j&&!I.cert&&suggestMakingCert(),U}},j&&{k:"cert",comp:FileField,sm:4,label:"HTTPS certificate file",helperText:wikiLink("HTTPS#certificate","What is this?"),error:with_(v==null?void 0:v.https.error,U=>isCertError(U)&&(v.https.listening?U:[U," - ",reactExports.createElement(LinkBtn,{key:"fix",onClick:suggestMakingCert},"make one")]))},j&&Oe({k:"private_key",comp:FileField,sm:4,label:"HTTPS private key file"},with_(v==null?void 0:v.https.error,U=>isKeyError(U)?{error:!0,helperText:U}:null)),j&&{k:"force_https",comp:BoolField,label:"Force HTTPS",sm:4,disabled:!j||I.port<0,helperText:"Not applied to localhost. Doesn't work with proxies."},{k:"listen_interface",comp:SelectField,sm:4,afterList:A.some(U=>U.disabled)&&reactExports.createElement(Box,{p:"8px 16px 0",borderTop:"1px solid",fontSize:"small"},"Disabled addresses depend on the address you used to connect"),options:A},Rt(Oe({k:"max_kbps"},N),{sm:4,label:"Limit output",helperText:"Doesn't apply to localhost"}),Rt(Oe({k:"max_kbps_per_ip"},N),{sm:4,label:"Limit output per-IP"}),Rt(Oe({k:CFG.max_downloads},B),{helperText:"Number of simultaneous downloads"}),Rt(Oe({k:CFG.max_downloads_per_ip},B),{label:"Max downloads per-IP"}),Rt(Oe({k:CFG.max_downloads_per_account},B),{label:"Max downloads per-account",helperText:"Overrides other limits"}),{k:"admin_net",comp:NetmaskField,label:"Admin-panel accessible from",placeholder:"any address",helperText:"IP address of browser machine"},{k:"localhost_admin",comp:BoolField,xs:12,sm:6,label:"Unprotected Admin-panel on localhost",getError:U=>!U&&(R==null?void 0:R.length)===0&&"First create at least one admin account",helperText:"Access without entering credentials"},{k:"proxies",comp:NumberField,xs:12,sm:4,md:4,max:9,label:"Number of incoming HTTP proxies",placeholder:"none",error:proxyWarning(I,v),helperText:"Wrong number will prevent detection of users' IP"},{k:CFG.outbound_proxy,xs:12,sm:5,md:4,placeholder:"none",helperText:"URL form",getError:U=>try_(()=>U&&new URL(U)&&"",()=>"Invalid URL")},{k:"allowed_referer",comp:AllowedReferer,sm:3,md:4,placeholder:"any",label:"Links from other websites",helperText:"In case another website is linking your files"},{k:"block",label:!1,comp:ArrayField,xs:12,prepend:!0,sm:!0,autoRowHeight:!0,form:{maxWidth:"30em"},fields:[{k:"ip",label:"Blocked IP",sm:12,required:!0,wrap:!0,$width:2,comp:NetmaskField,$column:{mergeRender:{comment:{},expire:{}}},helperText:"Be careful to not kick yourself out, by blocking also your IP"},{k:"expire",$type:"dateTime",minDate:new Date,sm:6,$hideUnder:"sm",helperText:"Leave empty for no expiration"},{k:"disabled",$type:"boolean",label:"Enabled",helperText:"In case you want to not block without deleting the rule",toField:U=>!U,fromField:U=>U?void 0:!0,sm:6,$width:80},{k:"comment",$hideUnder:"sm"}]},reactExports.createElement(Section,{title:"Front-end",subtitle:"Following options affect only the front-end"}),{k:"file_menu_on_link",comp:SelectField,label:"Access file menu",md:4,options:{"by clicking on file name":!0,"by dedicated button":!1}},{k:"title",md:8,helperText:"You can see this in the tab of your browser"},{k:"auto_play_seconds",comp:NumberField,xs:6,sm:3,min:1,max:1e4,required:!0,label:"Auto-play seconds delay",helperText:md(`Default value for the [Show interface](${REPO_URL}discussions/270)`)},{k:"tile_size",comp:NumberField,xs:6,sm:3,max:MAX_TILE_SIZE,required:!0,label:"Default tiles size",helperText:wikiLink("Tiles","To enable tiles-mode")},{k:"theme",comp:SelectField,xs:6,sm:3,options:THEME_OPTIONS},{k:"sort_by",comp:SelectField,xs:6,sm:3,options:SORT_BY_OPTIONS},{k:"invert_order",comp:BoolField,xs:6,md:3},{k:"folders_first",comp:BoolField,xs:6,md:3},{k:"sort_numerics",comp:BoolField,xs:6,md:3,label:"Sort numeric names"},{k:"title_with_path",comp:BoolField,xs:6,md:3},{k:"favicon",comp:FileField,placeholder:"None",fileMask:"*.ico|"+IMAGE_FILEMASK,xs:12,sm:9,helperText:"The icon associated to your website"},{k:"page_size",comp:NumberField,xs:!0,min:1,required:!0,helperText:"Entries per page"},reactExports.createElement(Section,{title:"Uploads"}),{k:"dont_overwrite_uploading",comp:BoolField,md:4,label:"Uploads don't overwrite",helperText:"Files are automatically numbered (frontend only)"},{k:CFG.split_uploads,comp:NumberField,unit:"MB",md:2,step:.1,fromField:U=>U*1e6,toField:U=>U?U/1e6:null,placeholder:"disabled",label:"Split uploads in chunks",helperText:"Overcome proxy limits (frontend only)"},{k:"delete_unfinished_uploads_after",comp:NumberField,md:3,min:0,unit:"seconds",required:!0},{k:"min_available_mb",comp:NumberField,md:3,min:0,unit:"MBytes",placeholder:"None",label:"Min. available disk space",helperText:"Reject uploads that don't comply"},reactExports.createElement(Section,{title:"Others"}),{k:"keep_session_alive",comp:BoolField,sm:6,md:6,helperText:"Keeps you logged in while the page is left open and the computer is on"},{k:"session_duration",comp:NumberField,sm:3,md:3,min:5,unit:"seconds",required:!0},{k:CFG.size_1024,label:"KB size",comp:SelectField,sm:3,options:{1e3:!1,1024:!0}},{k:"show_hidden_files",comp:BoolField,sm:3},{k:CFG.comments_storage,comp:SelectField,xs:12,sm:6,md:5,options:{"in file DESCRIPT.ION":"","in file attributes":"attr","in file attributes + load DESCRIPT.ION":"attr+ion"}},{k:"descript_ion_encoding",xs:8,sm:3,md:4,label:"Encoding of file DESCRIPT.ION",comp:SelectField,disabled:!I.descript_ion,options:["utf8",720,775,819,850,852,862,869,874,808,..._.range(1250,1257),10029,20866,21866]},{k:"open_browser_at_start",comp:BoolField,label:"Open Admin-panel at start",xs:12,sm:6,md:3,helperText:"Browser is automatically launched with HFS"},{k:"zip_calculate_size_for_seconds",comp:NumberField,xs:12,sm:6,md:3,unit:"seconds",required:!0,label:"Calculate ZIP size for",helperText:"If time is not enough, the browser will not show download percentage"},{k:"mime",comp:ArrayField,label:!1,reorder:!0,prepend:!0,xs:12,sm:12,md:6,fields:[{k:"v",label:"Mime type",placeholder:"auto",$width:2,helperText:"Leave empty to get automatic value"},{k:"k",label:"File mask",helperText:reactExports.createElement(WildcardsSupported),$width:1,$column:{renderCell:({value:U,id:V})=>reactExports.createElement("code",{},U,U==="*"&&V<_.size(I.mime)-1&&iconTooltip(Warning,md("Mime with `*` should be the last, because first matching row applies"),{color:"warning.main",ml:1}))}}],toField:U=>Object.entries(U||{}).map(([V,J])=>({k:V,v:J})),fromField:U=>Object.fromEntries(U.map(V=>[V.k,V.v||"auto"]))},{k:CFG.force_webdav_login,comp:WebdavAgentAuthField,sm:!0,label:"WebDAV force login",fallbackRE:"Microsoft-WebDAV",helperText:"Force login for clients that mishandle mixed anonymous/protected access"},I[CFG.force_webdav_login]!==!0&&{k:CFG.webdav_initial_auth,comp:WebdavAgentAuthField,sm:6,label:"WebDAV initial auth",helperText:"Force login only once. Used only when previous option does not match"},{k:"server_code",comp:TextEditorField,lang:"js",xs:12,helperText:md(`This code works similarly to [a plugin](${REPO_URL}blob/main/dev-plugins.md) (with some limitations)`)}]});function z(){return yt(this,null,function*(){var fe,ge;if(_.isEmpty(b))return toast("Nothing to save");const U=window.location,V=["port","https_port"];if(V.every(ye=>b[ye]!==void 0))return alertDialog("You cannot change both http and https port at once. Please, do one, save, and then do the other.","warning");const J=[(fe=v==null?void 0:v.http)==null?void 0:fe.listening,(ge=v==null?void 0:v.https)==null?void 0:ge.listening],Q=location.protocol==="https:";Q&&(V.reverse(),J.reverse());const ee=b[V[0]],Z=I[V[1]],ie=Z>0&&J[1],oe=Q?"http":"https";if(ee<0&&!ie)return alertDialog("You cannot switch off this port unless you have a working fixed port for "+oe,"warning");if(ee===0&&!ie)return alertDialog("You cannot randomize this port unless you have a working fixed port for "+oe,"warning");const re=ee>0&&ee!=U.port;if(re&&!(yield confirmDialog("You are changing the port and you may be disconnected")))return;const X="cert"in b||"private_key"in b;if(Q&&X&&!(yield confirmDialog("You may disrupt https service, kicking you out")))return;yield apiCall("set_config",{values:b}),"split_uploads"in b&&(yield alertDialog('Users need to reload for the "split uploads" option to take effect',"warning"));const ce=ipForUrl(U.hostname),pe=U.pathname+U.hash,ae=ee<=0?`${Q?"http:":"https:"}//${ce}:${Z}${pe}`:re?`${U.protocol}//${ce}:${ee||I[V[0]]}${pe}`:yield with_(`https://${ce}:${U.port}${pe}`,ye=>{var Ee;return!Q&&((Ee=b.force_https)!=null?Ee:d.force_https)&&fetch(ye).then(()=>ye,()=>0)});if(ae)return yield alertDialog("You are being redirected but in some cases this may fail. Hold on tight!","warning"),window.location.href=ae;const ue="port"in b||"https_port"in b;setTimeout(C,ue||X?1e3:0),Object.assign(loaded,b),recalculateChanges(),execDoneMessage(!1,T.current)})}}function Section({title:d,subtitle:m}){return reactExports.createElement(Divider,{role:"heading",sx:{fontSize:"larger",fontWeight:"bold"}},d,reactExports.createElement(Box,{fontSize:"small",fontWeight:"normal"},m))}function recalculateChanges(){const d={};if(state.config)for(const[m,g]of Object.entries(state.config))JSON.stringify(g)!==JSON.stringify(loaded==null?void 0:loaded[m])&&(d[m]=g);pageState.changes=d}function isCertError(d){return/certificate/.test(d)}function isKeyError(d){return/private key/.test(d)}function PortField({label:d,value:m,onChange:g,setApi:x,status:b,suggestedPort:E=1,error:v,helperText:C}){const S=reactExports.useRef(E);m>0&&(S.current=m);const T=Number(m>0?S.current:m)||0;let R=b==null?void 0:b.error;return R&&(isCertError(R)||isKeyError(R)?R=void 0:v=!0),reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{sx:{flexGrow:1},label:d,error:v,value:T,options:[{label:"off",value:-1},{label:"random",value:0},{label:"choose",value:S.current}],onChange:g}),m>0&&reactExports.createElement(NumberField,{label:"Number",fullWidth:!1,value:m,onChange:g,setApi:x,error:v,min:1,max:65535,helperText:C,sx:{minWidth:"5.5em"}})),b&&reactExports.createElement(FormHelperText,{error:v},b===!0?"...":R!=null?R:(b==null?void 0:b.listening)&&"Correctly working on port "+b.port))}function AllowedReferer({label:d,value:m,onChange:g,error:x}){const b=!m||m==="-",E="example.com";return reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:b?m:E,options:{"allow all":"","forbid all":"-","allow some":E},onChange:g,error:x,sx:b?void 0:{maxWidth:"11em"}}),!b&&reactExports.createElement(StringField,{label:"Domain to allow",value:m,placeholder:"example.com",onChange:g,error:x,helperText:reactExports.createElement(WildcardsSupported)}))}function WebdavAgentAuthField({label:d,value:m,onChange:g,error:x,helperText:b,fallbackRE:E=".*"}){const[v,C]=reactExports.useState(""),S=typeof m=="string";reactExports.useEffect(()=>C(S?m:E),[m]);const T=reactExports.useId();return reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:m,onChange:g,error:x,"aria-describedby":T,options:{Off:!1,Always:!0,RegEx:v},sx:S?{maxWidth:"9em"}:void 0}),S&&reactExports.createElement(StringField,{label:"User-Agent regex",value:m,onChange:g,error:x})),reactExports.createElement(FormHelperText,{id:T},b))}function suggestMakingCert(){return yt(this,null,function*(){return new Promise(d=>{const{close:m}=newDialog({icon:CardMembership,title:"Get a certificate",onClose:d,Content:()=>reactExports.createElement(Box,{p:1,lineHeight:1.5},reactExports.createElement(Box,{},"HTTPS needs a certificate to work."),reactExports.createElement(Box,{},"We suggest you to ",reactExports.createElement(InLink,{to:"internet"},"get a free but proper certificate"),"."),reactExports.createElement(Box,{},"If you don't have a domain ",reactExports.createElement(LinkBtn,{onClick:g},"make a self-signed certificate")," but that ",wikiLink("HTTPS#certificate"," won't be perfect"),"."))});function g(){return yt(this,null,function*(){if(!window.crypto.subtle)return alertDialog("Retry this procedure on localhost","warning");const x=yield apiCall("make_self_signed_cert",{fileName:"self"});loaded&&Object.assign(loaded,x),setTimeout(exposedReloadStatus,1e3),setTimeout(exposedReloadStatus,2e3),Object.assign(state.config,x),yield alertDialog("Certificate saved","success"),m()})}})})}function LogoutPage(){const{element:d}=useApiEx("get_config",{only:[]}),{username:m}=useSnapState();return d||reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2},m?reactExports.createElement(reactExports.Fragment,{},"You are logged in as: "+m,reactExports.createElement(Btn,{icon:Logout,size:"large",onClick:()=>apiCall("logout").catch(x=>x.code!==HTTP_UNAUTHORIZED&&alertDialog(x))},"I want to logout")):reactExports.createElement(Alert,{severity:"info"},"You are not logged in, because authentication is not required on localhost"),reactExports.createElement(Btn,{icon:PowerSettingsNew,size:"large",color:"warning",confirm:"Stopping the server, this interface won't respond anymore",onClick(){return yt(this,null,function*(){yield apiCall("quit"),yield alertDialog("Good-bye","success"),location.reload()})}},"Quit HFS"))}function LangPage({setTitleSide:d}){const{list:m,error:g,connecting:x,reload:b}=useApiList("get_langs"),E=reactExports.useMemo(()=>["en",..._.uniq(m.map(C=>C.code))],[m]);return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"Translation is limited to the Front-end and doesn't apply to the Admin-panel"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,Oe({mt:1,maxWidth:"50em",flex:1},fillFlexParentSx),reactExports.createElement(Box,{mb:1,display:"flex"},reactExports.createElement(Btn,{icon:Upload,onClick:v},"Add"),reactExports.createElement(Box,{flex:1}),reactExports.createElement(ForceLang,{langs:E})),reactExports.createElement(DataTable,{error:g,loading:x,rows:reactExports.useMemo(()=>_.sortBy(m,C=>(C.embedded?2:1)+C.code),[m.length]),hideFooter:!0,fillFlex:!0,columns:[{field:"code",width:110,valueFormatter:({value:C})=>C==null?void 0:C.toUpperCase()},{field:"version",width:120,hideUnder:"sm"},{field:"author",flex:1,hideUnder:"sm"}],actions:({row:C})=>[reactExports.createElement(IconBtn,{icon:Delete,title:C.embedded?"Cannot delete (embedded)":"Delete",confirm:`Delete language code "${C.code}"?`,disabled:C.embedded,onClick(){return yt(this,null,function*(){yield apiCall("del_lang",_.pick(C,"code")),b(),toast("Deleted")})}})]})));function v(){selectFiles(C=>yt(this,null,function*(){if(!C)return;const S={};for(const T of C)S[T.name]=yield readFile(T);try{yield apiCall("add_langs",{langs:S}),b(),toast("Loaded")}catch(T){yield alertDialog(T)}}),{accept:".json"})}}function ForceLang({langs:d}){const m=CFG.force_lang,{data:g,reload:x,loading:b}=useApiEx("get_config",{only:[m]}),[E,v]=reactExports.useState();reactExports.useEffect(()=>{var R;return v((R=g==null?void 0:g[m])!=null?R:E)},[g]);const[C,S]=reactExports.useState();return reactExports.createElement(SelectField,{fullWidth:!1,disabled:!!b||typeof C=="string",value:C!=null?C:E,onChange(R){return yt(this,null,function*(){S(R);try{yield apiCall("set_config",{values:{[m]:R}}),yield x()}finally{S(void 0)}})},options:[{label:"Respect browser language",value:""},...d.map(R=>({value:R,label:"Force language: "+R}))]})}function switchBtn(d,m,g){return reactExports.createElement(VerticalSwitch,Oe({checked:d||!1,onChange(x,b){m(b)},disabled:d===void 0},g))}const VerticalSwitch=styled(Switch)(({theme:d,size:m})=>{const g=m&&m==="small";return{height:g?36:48,width:g?18:26,padding:5,"& .MuiSwitch-switchBase":{margin:1,padding:0,transform:`translateY(${g?16:22}px)`,"&.Mui-checked":{color:d.palette.primary.contrastText,transform:"translateY(2px)","& .MuiSwitch-thumb:before":{backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/></svg>')`},"& + .MuiSwitch-track":{backgroundColor:d.palette.grey[500]}}},"& .Mui-checked .MuiSwitch-thumb":{backgroundColor:d.palette.primary.main,boxShadow:"0px 2px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)"},"& .MuiSwitch-thumb":{width:g?16:24,height:g?16:24,backgroundColor:d.palette.grey[700],"&::before":{content:"''",position:"absolute",width:"85%",height:"85%",left:0,top:0,backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M19,13H5V11H19V13Z"/></svg>')`}},"& .MuiSwitch-track":{backgroundColor:d.palette.grey[500],borderRadius:20/2}}}),names={top:"Top of HTML Body",bottom:"Bottom of HTML Body"};function CustomHtmlPage({setTitleSide:d}){const{data:m,reload:g}=useApiEx("get_custom_html"),{customHtmlSection:x}=useSnapState(),[b,E]=reactExports.useState({}),[v,C]=reactExports.useState({});reactExports.useEffect(()=>{m&&(C(m.sections),k(m.enabled))},[m]),reactExports.useEffect(()=>E(v),[v]);const S=reactExports.useMemo(()=>{const D=_.sortBy(Object.keys(b),isNumeric);return D.length&&!D.includes(x)&&(state.customHtmlSection=_.findKey(b,Boolean)||(D==null?void 0:D[0])||""),D.map(A=>{var I;return{value:A,label:(names[A]||prefix("HTTP ",HTTP_MESSAGES[A])||_.startCase(A))+((I=b[A])!=null&&I.trim()?" *":"")}})},[useDebounce(b,500)]),T=reactExports.useMemo(()=>!_.isEqualWith(v,b,(D,A)=>!D&&!A||void 0),[v,b]),[R,k]=reactExports.useState();return d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},md("Add HTML code to some parts of the Front-end. It's saved to file `custom.html`, that you can edit directly with your editor of choice. "),wikiLink("customization","More help")),reactExports.createElement(Alert,{severity:"info"},md("To customize icons "),wikiLink("customization#icons","read documentation"))),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{display:"flex",alignItems:"center",gap:1,mb:1},reactExports.createElement(SelectField,{label:"Section",value:x,options:S,onChange:D=>state.customHtmlSection=D}),reloadBtn(g),reactExports.createElement(IconBtn,{icon:Save,title:`Save
807
+ (ctrl+enter)`,modified:T,onClick:L}),hTooltip("Enable all sections",void 0,switchBtn(R,D=>yt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.disable_custom_html]:!D}}),k(D)})))),reactExports.createElement(TextEditor,{lang:x==="style"?"css":x==="script"?"js":"html",value:(b==null?void 0:b[x])||"",style:{background:"#8881"},onValueChange(D){E(A=>Rt(Oe({},A),{[x]:D}))},onKeyDown(D){["s","S","Enter"].includes(isCtrlKey(D))&&(L(),D.preventDefault())}}));function L(){return apiCall("set_custom_html",{sections:b}).then(()=>C(b))}}const COUNTRIES=ALL.filter(d=>WITH_IP.includes(d.code)),PORT_FORWARD_URL="https://portforward.com/",HIGHER_PORT=1080,MSG_ISP=reactExports.createElement("div",{},"HFS will probably not be reachable on the Internet. ",wikiLink("Work-on-the-internet#double-nat","Read more"));function InternetPage({setTitleSide:d}){var X,ce,pe,ae,ue;const[m,g]=reactExports.useState(),[x,b]=reactExports.useState(!1),[E,v]=reactExports.useState(!1),C=useApiEx("get_status"),S=useApiEx("get_config",{only:[CFG.base_url]}),T=(X=S.data)==null?void 0:X[CFG.base_url],R=with_([(pe=(ce=C.data)==null?void 0:ce.http)==null?void 0:pe.error,(ue=(ae=C.data)==null?void 0:ae.https)==null?void 0:ue.error],([fe,ge])=>fe&&ge?"error":fe||ge?"warning":"success"),k=useApiEx("get_nat",{},{timeout:20}),{data:L}=useApiEx("get_public_ips",{timeout:20}),{data:D}=k,A=D==null?void 0:D.internalPort,I=(D==null?void 0:D.mapped)&&D.mapped.private.port!==A&&D.mapped.private.port,N=(D==null?void 0:D.externalIp)&&L&&!L.includes(D.externalIp),B=useRequestRender();return reactExports.useEffect(()=>{B.state&&Z(!0)},[B.state]),d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"This page makes sure your site is working correctly on the Internet"),[])),reactExports.createElement(Flex,{vert:!0,gap:"2em",maxWidth:"40em"},Q(),J(),U(),Y(),z());function j(fe){return fe.replace(new RegExp(".+<body>(.+)<\\/body>.+","is"),(ge,ye)=>ye||ge).replace(/<[^>]+>/g," ")}function z(){const{data:fe}=useApiEvents("get_dynamic_dns_error"),ge=reactExports.useRef();return reactExports.useEffect(()=>ge.current&&restartAnimation(ge.current,"1s blink"),[fe]),reactExports.createElement(TitleCard,{icon:Dns,title:"Dynamic DNS updater"},fe&&reactExports.createElement(Flex,{},fe.error?reactExports.createElement(ErrorIcon,{color:"error",ref:ge}):reactExports.createElement(Check,{color:"success",ref:ge}),formatTimestamp$1(fe.ts)," – ",prefix("Error: ",j(fe.error)).slice(0,500)||"Updated successfully"),"This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution if you prefer it.",reactExports.createElement(ConfigForm,{form:(ye,{setValues:Ee})=>({fields:[reactExports.createElement(Flex,{},_.map({NoIP:{url:"https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain",fields:["username","password","domain"]},DuckDNS:{url:"https://www.duckdns.org/update/$domain/$token>OK",fields:[{k:"domain",helperText:"do NOT include the .duckdns.org part"},"token"]}},({url:ve,fields:Te},$e)=>reactExports.createElement(Btn,{key:ve,onClick:()=>formDialog({title:$e+" wizard",form:{maxWidth:"20em",before:reactExports.createElement(Box,{mb:1},"The following information is stored unencrypted"),fields:Te.map(Pe=>_.isString(Pe)?{k:Pe}:Pe)}}).then(Pe=>Pe&&Ee({[CFG.dynamic_dns_url]:replace(ve,Pe,"$")}))},$e+" wizard"))),{k:CFG.dynamic_dns_url,label:"Updater URL",multiline:!0,helperText:"Refer to your DNS service provider to know what URL can automatically keep your domain updated. Supported symbols are $IP4, $IP6, $IPX. Optionally, you can append “>” followed by a regular expression to determine a successful answer, otherwise status code will be used."}]})}))}function Y(){const fe=reactExports.useMemo(()=>COUNTRIES.map(ge=>({value:ge.code,label:ge.name})),[COUNTRIES]);return reactExports.createElement(TitleCard,{title:"Geo IP",icon:Public},reactExports.createElement(ConfigForm,{keys:[CFG.geo_enable,CFG.geo_allow,CFG.geo_list,CFG.geo_allow_unknown],form:ge=>{var ye;return{fields:[{k:CFG.geo_enable,comp:BoolField,label:"Enable",helperText:md("Necessary database will be downloaded every month (2MB). Service is made possible thanks to [IP2Location](https://www.ip2location.com).")},...ge!=null&&ge[CFG.geo_enable]?[{k:CFG.geo_allow,comp:SelectField,label:"Rule",options:{"no restriction":null,"block selected countries":!1,"allow selected countries":!0}},ge[CFG.geo_allow]!=null&&{k:CFG.geo_list,comp:MultiSelectField,label:`Selected countries (${((ye=ge[CFG.geo_list])==null?void 0:ye.length)||0})`,valueSeparator:!1,placeholder:"none",options:fe,renderOption:Ee=>reactExports.createElement(Country,{code:Ee.value,long:!0}),clearable:!0,getError:Ee=>ge[CFG.geo_allow]&&!(Ee!=null&&Ee.length)&&"Cannot be empty"},ge[CFG.geo_allow]!=null&&{k:CFG.geo_allow_unknown,comp:SelectField,label:"When country cannot be determined",helperText:"Local IPs are ignored",options:{Allow:!0,Block:!1}}]:[]]}},addToBar:[reactExports.createElement(Box,{flex:1}),reactExports.createElement(Btn,{icon:Search,onClick:W},"Lookup IP")]}))}function W(){return yt(this,null,function*(){const fe=yield promptDialog("Lookup IP");if(!fe)return;const{country:ge}=yield apiCall("geo_ip",{ip:fe});return ge?alertDialog(reactExports.createElement(Country,{code:ge,long:!0}),"success"):alertDialog("IP not found","error")})}function U(){var Le;const[fe,ge]=reactExports.useState(),ye=useApiEx("get_cert");reactExports.useEffect(()=>{apiCall("get_config",{only:["acme_domain","acme_renew"]}).then(ge)},[]);const[Ee,ve]=reactExports.useState(!1);if(!fe)return reactExports.createElement(CircularProgress);const{https:Te}=C.data||{},$e=(Te==null?void 0:Te.port)===PORT_DISABLED,Pe=Te==null?void 0:Te.error;return C.element||reactExports.createElement(TitleCard,{title:"HTTPS",icon:Lock,color:Te!=null&&Te.listening&&!Pe?"success":"warning"},Pe?reactExports.createElement(Alert,{severity:"warning"},Pe):$e&&reactExports.createElement(LinkBtn,{onClick:V},"Not enabled"),ye.element||with_(ye.data,De=>{var Ie,Me;return De.none?reactExports.createElement(LinkBtn,{onClick:Se},"No certificate configured"):reactExports.createElement(Box,{},reactExports.createElement(CardMembership,{fontSize:"small",sx:{mr:1,verticalAlign:"middle"}}),"Current certificate",reactExports.createElement("ul",{},reactExports.createElement("li",{},"Domain: ",((Ie=De.altNames)==null?void 0:Ie.join(" + "))||"-"),reactExports.createElement("li",{},"Issuer: ",((Me=De.issuer)==null?void 0:Me.O)||reactExports.createElement("i",{},"self-signed")),reactExports.createElement("li",{},"Validity: ",["validFrom","validTo"].map(We=>formatTimestamp$1(De[We])).join(" – "))))}),reactExports.createElement(Divider),reactExports.createElement(Form,{gap:1,gridProps:{rowSpacing:1},values:fe,set(De,Ie){ge(Me=>{const We=Rt(Oe({},Me),{[Ie]:De});return ve(!0),apiCall("set_config",{values:We}).finally(()=>ve(!1)),We})},fields:[md("Generate certificate using [Let's Encrypt](https://letsencrypt.org)"),{k:"acme_domain",label:"Domain for certificate",sm:((Le=fe.acme_domain)==null?void 0:Le.length)>30?12:6,required:!0,multiline:!0,fromField:De=>De.replaceAll(`
808
808
  `,","),toField:De=>De.replaceAll(",",`
809
809
  `),helperText:md(`Example: your.domain.com
810
- Multiple domains on separated lines`)},{k:"acme_renew",label:"Automatic renew one month before expiration",comp:BoolField,disabled:!fe.acme_domain},with_(C.data.acmeRenewError,De=>De&&reactExports.createElement(Alert,{severity:"error"},De))],save:Rt(Oe({children:"Request",startIcon:reactExports.createElement(Send)},Ee&&{loading:!0}),{onClick(){return yt(this,null,function*(){var We;const[De,...Ie]=fe.acme_domain.split(",");De===((We=ye.data.subject)==null?void 0:We.CN)&&Number(new Date(ye.data.validTo))-Date.now()>=30*DAY&&!(yield confirmDialog("Your certificate is still good",{trueText:"Make a new one anyway"}))||(yield confirmDialog("HFS must temporarily serve HTTP on public port 80, and your router must be configured or this operation will fail"))&&((yield ee(De))||(yield apiCall("make_cert",{domain:De,altNames:Ie},{timeout:2e4}).then(()=>yt(this,null,function*(){yield alertDialog("Certificate created","success"),$e&&(yield V()),ye.reload()}),alertDialog).finally(C.reload)))})}})}));function Se(){return yt(this,null,function*(){yield suggestMakingCert(),ye.reload(),C.reload()})}}function V(){return yt(this,null,function*(){if(!(yield confirmDialog(`HTTPS is currently disabled.
810
+ Multiple domains on separate lines`)},{k:"acme_renew",label:"Automatic renew one month before expiration",comp:BoolField,disabled:!fe.acme_domain},with_(C.data.acmeRenewError,De=>De&&reactExports.createElement(Alert,{severity:"error"},De))],save:Rt(Oe({children:"Request",startIcon:reactExports.createElement(Send)},Ee&&{loading:!0}),{onClick(){return yt(this,null,function*(){var We;const[De,...Ie]=fe.acme_domain.split(",");De===((We=ye.data.subject)==null?void 0:We.CN)&&Number(new Date(ye.data.validTo))-Date.now()>=30*DAY&&!(yield confirmDialog("Your certificate is still good",{trueText:"Make a new one anyway"}))||(yield confirmDialog("HFS must temporarily serve HTTP on public port 80, and your router must be configured or this operation will fail"))&&((yield ee(De))||(yield apiCall("make_cert",{domain:De,altNames:Ie},{timeout:2e4}).then(()=>yt(this,null,function*(){yield alertDialog("Certificate created","success"),$e&&(yield V()),ye.reload()}),alertDialog).finally(C.reload)))})}})}));function Se(){return yt(this,null,function*(){yield suggestMakingCert(),ye.reload(),C.reload()})}}function V(){return yt(this,null,function*(){if(!(yield confirmDialog(`HTTPS is currently disabled.
811
811
  Full configuration is available in the Options page.`,{trueText:"Enable it"})))return;const fe=waitDialog();try{yield apiCall("set_config",{values:{https_port:443}}),yield wait(1e3),C.reload()}finally{fe()}})}function J(){return S.element||reactExports.createElement(TitleCard,{icon:Public,title:"Address"},reactExports.createElement(Flex,{flexWrap:"wrap"},"Main address: ",T?reactExports.createElement("tt",{},T):"automatic, not configured",reactExports.createElement(Btn,{size:"small",variant:"outlined","aria-label":"Change address",onClick:()=>void changeBaseUrl().then(S.reload)},"Change")),reactExports.createElement(Divider),reactExports.createElement(ConfigForm,{saveOnChange:!0,onSave(){C.reload()},form:{fields:[{k:CFG.roots,label:"Domain roots",helperText:"You can decide different home-folders (in the VFS) for different domains, a bit like virtual hosts. If none is matched, the default home will be used.",comp:ArrayField,fields:[{k:"host",label:"Domain/Host",helperText:"Wildcards supported: *.domain.com|other.com",getError:fe=>(fe==null?void 0:fe.includes("/"))&&"No URLs or paths here!"},{k:"root",label:"Home/Root",comp:VfsPathField,files:!1,placeholder:"default",helperText:"Root path in VFS",$column:{renderCell({value:fe}){return fe||reactExports.createElement("i",{},"default")}}}],toField:fe=>Object.entries(fe||{}).map(([ge,ye])=>({host:ge,root:ye})),fromField:fe=>Object.fromEntries(fe.map(ge=>[ge.host,ge.root||""]))},{k:CFG.force_address,label:"Accept requests only using domains above (and localhost)",comp:BoolField}]}}))}function Q(){if(k.error)return k.element;if(!D||!L)return reactExports.createElement(CircularProgress);const fe=L.includes(D==null?void 0:D.localIp);return reactExports.createElement(Flex,{justifyContent:"space-around"},reactExports.createElement(Device,{name:"Server",icon:fe?Storage:HomeWorkTwoTone,color:R,ip:D==null?void 0:D.localIp,below:A&&reactExports.createElement(Box,{fontSize:"smaller",className:"port "+HIDE_IN_TESTS},"port ",A)}),!fe&&reactExports.createElement(DataLine),!fe&&reactExports.createElement(Device,{name:"Router",icon:RouterTwoTone,ip:D==null?void 0:D.gatewayIp,color:(D==null?void 0:D.mapped)&&(I?"warning":"success"),below:E?reactExports.createElement(LinearProgress,{sx:{height:"1em"}}):reactExports.createElement(LinkBtn,{fontSize:"smaller",display:"block",onClick:ie},"port ",I?"is wrong":(D==null?void 0:D.externalPort)||"unknown")}),reactExports.createElement(DataLine),reactExports.createElement(Device,{name:"Internet",icon:PublicTwoTone,ip:L,color:m?"success":m===!1?"error":N?"warning":void 0,below:x?reactExports.createElement(LinearProgress,{sx:{height:"1em"}}):reactExports.createElement(Box,{fontSize:"smaller",className:HIDE_IN_TESTS},N&&reactExports.createElement(LinkBtn,{display:"block",onClick:()=>alertDialog(MSG_ISP,"warning")},"Double NAT"),m?"Working!":m===!1?"Failed!":""," ",(T>""||L.length>0)&&D.internalPort&&reactExports.createElement(LinkBtn,{onClick:()=>Z()},"Verify")||" ")}))}function ee(fe){return yt(this,null,function*(){return fe&&(yield apiCall("check_domain",{domain:fe}).catch(ge=>confirmDialog(String(ge),{trueText:"Continue anyway",falseText:"Stop"})))===!1})}function Z(fe=!1){return yt(this,null,function*(){yield k.loading;const ge=k.getData();if(ge&&(g(void 0),!(!fe&&!(yield confirmDialog("This test will check if your server is working properly on the Internet"))))){b(!0);try{const ye=T&&new URL(T).hostname,Ee=!isIpLan(ye)&&T;if(!isIP(ye)&&(yield ee(ye)))return;const ve=Ee&&(yield apiCall("self_check",{url:Ee}).catch(Le=>alertDialog(Le.code?"Sorry, this function is not available at the moment. Retry later.":Le,"error")));if(Ee&&!ve)return;if(ve!=null&&ve.success)return g(!0),alertDialog(reactExports.createElement(Box,{},"Your server is responding correctly over the Internet:",reactExports.createElement("ul",{},reactExports.createElement("li",{},ve.url))),"success");(ve==null?void 0:ve.success)===!1&&(yield alertDialog(md(`Your configured address ${Ee} doesn't seem to work 😰
812
812
  still, we are going to test your IP address 🤞`),"warning"));const Te=yield apiCall("self_check",{});if(Te.some(Le=>Le.success)){g(!0);const Le=ve.success===!1&&md(`Your server is responding over the Internet 👍
813
813
  but not with configured address ${Ee} 👎