diff --git a/static/assets/index-DbxQ-_cN.js b/static/assets/index-DbxQ-_cN.js new file mode 100644 index 000000000..b4ba854be --- /dev/null +++ b/static/assets/index-DbxQ-_cN.js @@ -0,0 +1,8752 @@ +function Eme(t,e){for(var a=0;an[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function a(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=a(i);fetch(i.href,s)}})();var L_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ic(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var hE={exports:{}},l0={};var Gq;function Dme(){if(Gq)return l0;Gq=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function a(n,i,s){var o=null;if(s!==void 0&&(o=""+s),i.key!==void 0&&(o=""+i.key),"key"in i){s={};for(var l in i)l!=="key"&&(s[l]=i[l])}else s=i;return i=s.ref,{$$typeof:t,type:n,key:o,ref:i!==void 0?i:null,props:s}}return l0.Fragment=e,l0.jsx=a,l0.jsxs=a,l0}var $q;function Fme(){return $q||($q=1,hE.exports=Dme()),hE.exports}var r=Fme(),fE={exports:{}},tr={};var Wq;function Lme(){if(Wq)return tr;Wq=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),o=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),p=Symbol.iterator;function f(K){return K===null||typeof K!="object"?null:(K=p&&K[p]||K["@@iterator"],typeof K=="function"?K:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(K,oe,me){this.props=K,this.context=oe,this.refs=b,this.updater=me||g}x.prototype.isReactComponent={},x.prototype.setState=function(K,oe){if(typeof K!="object"&&typeof K!="function"&&K!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,K,oe,"setState")},x.prototype.forceUpdate=function(K){this.updater.enqueueForceUpdate(this,K,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(K,oe,me){this.props=K,this.context=oe,this.refs=b,this.updater=me||g}var C=k.prototype=new S;C.constructor=k,v(C,x.prototype),C.isPureReactComponent=!0;var N=Array.isArray;function T(){}var j={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function P(K,oe,me){var pe=me.ref;return{$$typeof:t,type:K,key:oe,ref:pe!==void 0?pe:null,props:me}}function E(K,oe){return P(K.type,oe,K.props)}function R(K){return typeof K=="object"&&K!==null&&K.$$typeof===t}function O(K){var oe={"=":"=0",":":"=2"};return"$"+K.replace(/[=:]/g,function(me){return oe[me]})}var B=/\/+/g;function z(K,oe){return typeof K=="object"&&K!==null&&K.key!=null?O(""+K.key):oe.toString(36)}function X(K){switch(K.status){case"fulfilled":return K.value;case"rejected":throw K.reason;default:switch(typeof K.status=="string"?K.then(T,T):(K.status="pending",K.then(function(oe){K.status==="pending"&&(K.status="fulfilled",K.value=oe)},function(oe){K.status==="pending"&&(K.status="rejected",K.reason=oe)})),K.status){case"fulfilled":return K.value;case"rejected":throw K.reason}}throw K}function ne(K,oe,me,pe,ge){var U=typeof K;(U==="undefined"||U==="boolean")&&(K=null);var Q=!1;if(K===null)Q=!0;else switch(U){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(K.$$typeof){case t:case e:Q=!0;break;case u:return Q=K._init,ne(Q(K._payload),oe,me,pe,ge)}}if(Q)return ge=ge(K),Q=pe===""?"."+z(K,0):pe,N(ge)?(me="",Q!=null&&(me=Q.replace(B,"$&/")+"/"),ne(ge,oe,me,"",function(H){return H})):ge!=null&&(R(ge)&&(ge=E(ge,me+(ge.key==null||K&&K.key===ge.key?"":(""+ge.key).replace(B,"$&/")+"/")+Q)),oe.push(ge)),1;Q=0;var A=pe===""?".":pe+":";if(N(K))for(var D=0;D>>1,le=ne[de];if(0>>1;dei(me,ce))pei(ge,me)?(ne[de]=ge,ne[pe]=ce,de=pe):(ne[de]=me,ne[oe]=ce,de=oe);else if(pei(ge,ce))ne[de]=ge,ne[pe]=ce,de=pe;else break e}}return Y}function i(ne,Y){var ce=ne.sortIndex-Y.sortIndex;return ce!==0?ce:ne.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,m=null,p=3,f=!1,g=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function C(ne){for(var Y=a(d);Y!==null;){if(Y.callback===null)n(d);else if(Y.startTime<=ne)n(d),Y.sortIndex=Y.expirationTime,e(c,Y);else break;Y=a(d)}}function N(ne){if(v=!1,C(ne),!g)if(a(c)!==null)g=!0,T||(T=!0,O());else{var Y=a(d);Y!==null&&X(N,Y.startTime-ne)}}var T=!1,j=-1,F=5,P=-1;function E(){return b?!0:!(t.unstable_now()-Pne&&E());){var de=m.callback;if(typeof de=="function"){m.callback=null,p=m.priorityLevel;var le=de(m.expirationTime<=ne);if(ne=t.unstable_now(),typeof le=="function"){m.callback=le,C(ne),Y=!0;break t}m===a(c)&&n(c),C(ne)}else n(c);m=a(c)}if(m!==null)Y=!0;else{var K=a(d);K!==null&&X(N,K.startTime-ne),Y=!1}}break e}finally{m=null,p=ce,f=!1}Y=void 0}}finally{Y?O():T=!1}}}var O;if(typeof k=="function")O=function(){k(R)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,z=B.port2;B.port1.onmessage=R,O=function(){z.postMessage(null)}}else O=function(){x(R,0)};function X(ne,Y){j=x(function(){ne(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(ne){ne.callback=null},t.unstable_forceFrameRate=function(ne){0>ne||125de?(ne.sortIndex=ce,e(d,ne),a(c)===null&&ne===a(d)&&(v?(S(j),j=-1):v=!0,X(N,ce-de))):(ne.sortIndex=le,e(c,ne),g||f||(g=!0,T||(T=!0,O()))),ne},t.unstable_shouldYield=E,t.unstable_wrapCallback=function(ne){var Y=p;return function(){var ce=p;p=Y;try{return ne.apply(this,arguments)}finally{p=ce}}}})(xE)),xE}var Qq;function Ime(){return Qq||(Qq=1,bE.exports=zme()),bE.exports}var yE={exports:{}},Vs={};var Xq;function Ome(){if(Xq)return Vs;Xq=1;var t=fb();function e(c){var d="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),yE.exports=Ome(),yE.exports}var Jq;function Bme(){if(Jq)return c0;Jq=1;var t=Ime(),e=fb(),a=kZ();function n(h){var w="https://react.dev/errors/"+h;if(1le||(h.current=de[le],de[le]=null,le--)}function me(h,w){le++,de[le]=h.current,h.current=w}var pe=K(null),ge=K(null),U=K(null),Q=K(null);function A(h,w){switch(me(U,w),me(ge,h),me(pe,null),w.nodeType){case 9:case 11:h=(h=w.documentElement)&&(h=h.namespaceURI)?hq(h):0;break;default:if(h=w.tagName,w=w.namespaceURI)w=hq(w),h=fq(w,h);else switch(h){case"svg":h=1;break;case"math":h=2;break;default:h=0}}oe(pe),me(pe,h)}function D(){oe(pe),oe(ge),oe(U)}function H(h){h.memoizedState!==null&&me(Q,h);var w=pe.current,_=fq(w,h.type);w!==_&&(me(ge,h),me(pe,_))}function W(h){ge.current===h&&(oe(pe),oe(ge)),Q.current===h&&(oe(Q),n0._currentValue=ce)}var q,J;function I(h){if(q===void 0)try{throw Error()}catch(_){var w=_.stack.trim().match(/\n( *(at )?)/);q=w&&w[1]||"",J=-1<_.stack.indexOf(` + at`)?" ()":-1<_.stack.indexOf("@")?"@unknown:0:0":""}return` +`+q+h+J}var V=!1;function re(h,w){if(!h||V)return"";V=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var M={DetermineComponentFrameRoot:function(){try{if(w){var Wt=function(){throw Error()};if(Object.defineProperty(Wt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Wt,[])}catch(Ot){var Dt=Ot}Reflect.construct(h,[],Wt)}else{try{Wt.call()}catch(Ot){Dt=Ot}h.call(Wt.prototype)}}else{try{throw Error()}catch(Ot){Dt=Ot}(Wt=h())&&typeof Wt.catch=="function"&&Wt.catch(function(){})}}catch(Ot){if(Ot&&Dt&&typeof Ot.stack=="string")return[Ot.stack,Dt.stack]}return[null,null]}};M.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var $=Object.getOwnPropertyDescriptor(M.DetermineComponentFrameRoot,"name");$&&$.configurable&&Object.defineProperty(M.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var ae=M.DetermineComponentFrameRoot(),Ce=ae[0],He=ae[1];if(Ce&&He){var ft=Ce.split(` +`),Et=He.split(` +`);for($=M=0;M$||ft[M]!==Et[$]){var qt=` +`+ft[M].replace(" at new "," at ");return h.displayName&&qt.includes("")&&(qt=qt.replace("",h.displayName)),qt}while(1<=M&&0<=$);break}}}finally{V=!1,Error.prepareStackTrace=_}return(_=h?h.displayName||h.name:"")?I(_):""}function te(h,w){switch(h.tag){case 26:case 27:case 5:return I(h.type);case 16:return I("Lazy");case 13:return h.child!==w&&w!==null?I("Suspense Fallback"):I("Suspense");case 19:return I("SuspenseList");case 0:case 15:return re(h.type,!1);case 11:return re(h.type.render,!1);case 1:return re(h.type,!0);case 31:return I("Activity");default:return""}}function Z(h){try{var w="",_=null;do w+=te(h,_),_=h,h=h.return;while(h);return w}catch(M){return` +Error generating stack: `+M.message+` +`+M.stack}}var se=Object.prototype.hasOwnProperty,he=t.unstable_scheduleCallback,ue=t.unstable_cancelCallback,fe=t.unstable_shouldYield,G=t.unstable_requestPaint,L=t.unstable_now,ee=t.unstable_getCurrentPriorityLevel,be=t.unstable_ImmediatePriority,xe=t.unstable_UserBlockingPriority,ve=t.unstable_NormalPriority,Ee=t.unstable_LowPriority,Ne=t.unstable_IdlePriority,qe=t.log,Qe=t.unstable_setDisableYieldValue,je=null,Ie=null;function Re(h){if(typeof qe=="function"&&Qe(h),Ie&&typeof Ie.setStrictMode=="function")try{Ie.setStrictMode(je,h)}catch{}}var Ge=Math.clz32?Math.clz32:ze,Xe=Math.log,Ue=Math.LN2;function ze(h){return h>>>=0,h===0?32:31-(Xe(h)/Ue|0)|0}var Ye=256,De=262144,Ze=4194304;function Ve(h){var w=h&42;if(w!==0)return w;switch(h&-h){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return h&261888;case 262144:case 524288:case 1048576:case 2097152:return h&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return h&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return h}}function Me(h,w,_){var M=h.pendingLanes;if(M===0)return 0;var $=0,ae=h.suspendedLanes,Ce=h.pingedLanes;h=h.warmLanes;var He=M&134217727;return He!==0?(M=He&~ae,M!==0?$=Ve(M):(Ce&=He,Ce!==0?$=Ve(Ce):_||(_=He&~h,_!==0&&($=Ve(_))))):(He=M&~ae,He!==0?$=Ve(He):Ce!==0?$=Ve(Ce):_||(_=M&~h,_!==0&&($=Ve(_)))),$===0?0:w!==0&&w!==$&&(w&ae)===0&&(ae=$&-$,_=w&-w,ae>=_||ae===32&&(_&4194048)!==0)?w:$}function Oe(h,w){return(h.pendingLanes&~(h.suspendedLanes&~h.pingedLanes)&w)===0}function et(h,w){switch(h){case 1:case 2:case 4:case 8:case 64:return w+250;case 16:case 32: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 w+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function $e(){var h=Ze;return Ze<<=1,(Ze&62914560)===0&&(Ze=4194304),h}function we(h){for(var w=[],_=0;31>_;_++)w.push(h);return w}function Le(h,w){h.pendingLanes|=w,w!==268435456&&(h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0)}function Be(h,w,_,M,$,ae){var Ce=h.pendingLanes;h.pendingLanes=_,h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0,h.expiredLanes&=_,h.entangledLanes&=_,h.errorRecoveryDisabledLanes&=_,h.shellSuspendCounter=0;var He=h.entanglements,ft=h.expirationTimes,Et=h.hiddenUpdates;for(_=Ce&~_;0<_;){var qt=31-Ge(_),Wt=1<"u")return null;try{return h.activeElement||h.body}catch{return h.body}}var wr=/[\n"\\]/g;function ja(h){return h.replace(wr,function(w){return"\\"+w.charCodeAt(0).toString(16)+" "})}function $a(h,w,_,M,$,ae,Ce,He){h.name="",Ce!=null&&typeof Ce!="function"&&typeof Ce!="symbol"&&typeof Ce!="boolean"?h.type=Ce:h.removeAttribute("type"),w!=null?Ce==="number"?(w===0&&h.value===""||h.value!=w)&&(h.value=""+Qt(w)):h.value!==""+Qt(w)&&(h.value=""+Qt(w)):Ce!=="submit"&&Ce!=="reset"||h.removeAttribute("value"),w!=null?Wr(h,Ce,Qt(w)):_!=null?Wr(h,Ce,Qt(_)):M!=null&&h.removeAttribute("value"),$==null&&ae!=null&&(h.defaultChecked=!!ae),$!=null&&(h.checked=$&&typeof $!="function"&&typeof $!="symbol"),He!=null&&typeof He!="function"&&typeof He!="symbol"&&typeof He!="boolean"?h.name=""+Qt(He):h.removeAttribute("name")}function Ba(h,w,_,M,$,ae,Ce,He){if(ae!=null&&typeof ae!="function"&&typeof ae!="symbol"&&typeof ae!="boolean"&&(h.type=ae),w!=null||_!=null){if(!(ae!=="submit"&&ae!=="reset"||w!=null)){Jt(h);return}_=_!=null?""+Qt(_):"",w=w!=null?""+Qt(w):_,He||w===h.value||(h.value=w),h.defaultValue=w}M=M??$,M=typeof M!="function"&&typeof M!="symbol"&&!!M,h.checked=He?h.checked:!!M,h.defaultChecked=!!M,Ce!=null&&typeof Ce!="function"&&typeof Ce!="symbol"&&typeof Ce!="boolean"&&(h.name=Ce),Jt(h)}function Wr(h,w,_){w==="number"&&Ha(h.ownerDocument)===h||h.defaultValue===""+_||(h.defaultValue=""+_)}function tt(h,w,_,M){if(h=h.options,w){w={};for(var $=0;$<_.length;$++)w["$"+_[$]]=!0;for(_=0;_"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yp=!1;if(nr)try{var Td={};Object.defineProperty(Td,"passive",{get:function(){yp=!0}}),window.addEventListener("test",Td,Td),window.removeEventListener("test",Td,Td)}catch{yp=!1}var mi=null,Fu=null,ki=null;function _f(){if(ki)return ki;var h,w=Fu,_=w.length,M,$="value"in mi?mi.value:mi.textContent,ae=$.length;for(h=0;h<_&&w[h]===$[h];h++);var Ce=_-h;for(M=1;M<=Ce&&w[_-M]===$[ae-M];M++);return ki=$.slice(h,1=hi),_p=" ",Mb=!1;function ye(h,w){switch(h){case"keyup":return Av.indexOf(w.keyCode)!==-1;case"keydown":return w.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zt(h){return h=h.detail,typeof h=="object"&&"data"in h?h.data:null}var ha=!1;function Ma(h,w){switch(h){case"compositionend":return zt(w);case"keypress":return w.which!==32?null:(Mb=!0,_p);case"textInput":return h=w.data,h===_p&&Mb?null:h;default:return null}}function Wa(h,w){if(ha)return h==="compositionend"||!ml&&ye(h,w)?(h=_f(),ki=Fu=mi=null,ha=!1,h):null;switch(h){case"paste":return null;case"keypress":if(!(w.ctrlKey||w.altKey||w.metaKey)||w.ctrlKey&&w.altKey){if(w.char&&1=w)return{node:_,offset:w-h};h=M}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Lo(_)}}function Ro(h,w){return h&&w?h===w?!0:h&&h.nodeType===3?!1:w&&w.nodeType===3?Ro(h,w.parentNode):"contains"in h?h.contains(w):h.compareDocumentPosition?!!(h.compareDocumentPosition(w)&16):!1:!1}function mo(h){h=h!=null&&h.ownerDocument!=null&&h.ownerDocument.defaultView!=null?h.ownerDocument.defaultView:window;for(var w=Ha(h.document);w instanceof h.HTMLIFrameElement;){try{var _=typeof w.contentWindow.location.href=="string"}catch{_=!1}if(_)h=w.contentWindow;else break;w=Ha(h.document)}return w}function Ci(h){var w=h&&h.nodeName&&h.nodeName.toLowerCase();return w&&(w==="input"&&(h.type==="text"||h.type==="search"||h.type==="tel"||h.type==="url"||h.type==="password")||w==="textarea"||h.contentEditable==="true")}var Dd=nr&&"documentMode"in document&&11>=document.documentMode,fi=null,Sr=null,Or=null,Zn=!1;function Cp(h,w,_){var M=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Zn||fi==null||fi!==Ha(M)||(M=fi,"selectionStart"in M&&Ci(M)?M={start:M.selectionStart,end:M.selectionEnd}:(M=(M.ownerDocument&&M.ownerDocument.defaultView||window).getSelection(),M={anchorNode:M.anchorNode,anchorOffset:M.anchorOffset,focusNode:M.focusNode,focusOffset:M.focusOffset}),Or&&Ss(Or,M)||(Or=M,M=v_(Sr,"onSelect"),0>=Ce,$-=Ce,Ld=1<<32-Ge(w)+$|_<<$|M,Rd=ae+h}else Ld=1<or?(jr=Aa,Aa=null):jr=Aa.sibling;var Ur=Dt(Ct,Aa,Mt[or],Gt);if(Ur===null){Aa===null&&(Aa=jr);break}h&&Aa&&Ur.alternate===null&&w(Ct,Aa),bt=ae(Ur,bt,or),Br===null?za=Ur:Br.sibling=Ur,Br=Ur,Aa=jr}if(or===Mt.length)return _(Ct,Aa),Dr&&Hu(Ct,or),za;if(Aa===null){for(;oror?(jr=Aa,Aa=null):jr=Aa.sibling;var Wp=Dt(Ct,Aa,Ur.value,Gt);if(Wp===null){Aa===null&&(Aa=jr);break}h&&Aa&&Wp.alternate===null&&w(Ct,Aa),bt=ae(Wp,bt,or),Br===null?za=Wp:Br.sibling=Wp,Br=Wp,Aa=jr}if(Ur.done)return _(Ct,Aa),Dr&&Hu(Ct,or),za;if(Aa===null){for(;!Ur.done;or++,Ur=Mt.next())Ur=Wt(Ct,Ur.value,Gt),Ur!==null&&(bt=ae(Ur,bt,or),Br===null?za=Ur:Br.sibling=Ur,Br=Ur);return Dr&&Hu(Ct,or),za}for(Aa=M(Aa);!Ur.done;or++,Ur=Mt.next())Ur=Ot(Aa,Ct,or,Ur.value,Gt),Ur!==null&&(h&&Ur.alternate!==null&&Aa.delete(Ur.key===null?or:Ur.key),bt=ae(Ur,bt,or),Br===null?za=Ur:Br.sibling=Ur,Br=Ur);return h&&Aa.forEach(function(Mme){return w(Ct,Mme)}),Dr&&Hu(Ct,or),za}function ln(Ct,bt,Mt,Gt){if(typeof Mt=="object"&&Mt!==null&&Mt.type===v&&Mt.key===null&&(Mt=Mt.props.children),typeof Mt=="object"&&Mt!==null){switch(Mt.$$typeof){case f:e:{for(var za=Mt.key;bt!==null;){if(bt.key===za){if(za=Mt.type,za===v){if(bt.tag===7){_(Ct,bt.sibling),Gt=$(bt,Mt.props.children),Gt.return=Ct,Ct=Gt;break e}}else if(bt.elementType===za||typeof za=="object"&&za!==null&&za.$$typeof===F&&Ff(za)===bt.type){_(Ct,bt.sibling),Gt=$(bt,Mt.props),Lv(Gt,Mt),Gt.return=Ct,Ct=Gt;break e}_(Ct,bt);break}else w(Ct,bt);bt=bt.sibling}Mt.type===v?(Gt=Af(Mt.props.children,Ct.mode,Gt,Mt.key),Gt.return=Ct,Ct=Gt):(Gt=zk(Mt.type,Mt.key,Mt.props,null,Ct.mode,Gt),Lv(Gt,Mt),Gt.return=Ct,Ct=Gt)}return Ce(Ct);case g:e:{for(za=Mt.key;bt!==null;){if(bt.key===za)if(bt.tag===4&&bt.stateNode.containerInfo===Mt.containerInfo&&bt.stateNode.implementation===Mt.implementation){_(Ct,bt.sibling),Gt=$(bt,Mt.children||[]),Gt.return=Ct,Ct=Gt;break e}else{_(Ct,bt);break}else w(Ct,bt);bt=bt.sibling}Gt=Ej(Mt,Ct.mode,Gt),Gt.return=Ct,Ct=Gt}return Ce(Ct);case F:return Mt=Ff(Mt),ln(Ct,bt,Mt,Gt)}if(X(Mt))return Ca(Ct,bt,Mt,Gt);if(O(Mt)){if(za=O(Mt),typeof za!="function")throw Error(n(150));return Mt=za.call(Mt),qa(Ct,bt,Mt,Gt)}if(typeof Mt.then=="function")return ln(Ct,bt,Vk(Mt),Gt);if(Mt.$$typeof===k)return ln(Ct,bt,Bk(Ct,Mt),Gt);Gk(Ct,Mt)}return typeof Mt=="string"&&Mt!==""||typeof Mt=="number"||typeof Mt=="bigint"?(Mt=""+Mt,bt!==null&&bt.tag===6?(_(Ct,bt.sibling),Gt=$(bt,Mt),Gt.return=Ct,Ct=Gt):(_(Ct,bt),Gt=Mj(Mt,Ct.mode,Gt),Gt.return=Ct,Ct=Gt),Ce(Ct)):_(Ct,bt)}return function(Ct,bt,Mt,Gt){try{Fv=0;var za=ln(Ct,bt,Mt,Gt);return Ub=null,za}catch(Aa){if(Aa===Bb||Aa===Hk)throw Aa;var Br=pl(29,Aa,null,Ct.mode);return Br.lanes=Gt,Br.return=Ct,Br}}}var Rf=iU(!0),sU=iU(!1),jp=!1;function Vj(h){h.updateQueue={baseState:h.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gj(h,w){h=h.updateQueue,w.updateQueue===h&&(w.updateQueue={baseState:h.baseState,firstBaseUpdate:h.firstBaseUpdate,lastBaseUpdate:h.lastBaseUpdate,shared:h.shared,callbacks:null})}function Mp(h){return{lane:h,tag:0,payload:null,callback:null,next:null}}function Ep(h,w,_){var M=h.updateQueue;if(M===null)return null;if(M=M.shared,($r&2)!==0){var $=M.pending;return $===null?w.next=w:(w.next=$.next,$.next=w),M.pending=w,w=Rk(h),q5(h,null,_),w}return Lk(h,M,w,_),Rk(h)}function Rv(h,w,_){if(w=w.updateQueue,w!==null&&(w=w.shared,(_&4194048)!==0)){var M=w.lanes;M&=h.pendingLanes,_|=M,w.lanes=_,Lt(h,_)}}function $j(h,w){var _=h.updateQueue,M=h.alternate;if(M!==null&&(M=M.updateQueue,_===M)){var $=null,ae=null;if(_=_.firstBaseUpdate,_!==null){do{var Ce={lane:_.lane,tag:_.tag,payload:_.payload,callback:null,next:null};ae===null?$=ae=Ce:ae=ae.next=Ce,_=_.next}while(_!==null);ae===null?$=ae=w:ae=ae.next=w}else $=ae=w;_={baseState:M.baseState,firstBaseUpdate:$,lastBaseUpdate:ae,shared:M.shared,callbacks:M.callbacks},h.updateQueue=_;return}h=_.lastBaseUpdate,h===null?_.firstBaseUpdate=w:h.next=w,_.lastBaseUpdate=w}var Wj=!1;function zv(){if(Wj){var h=Ob;if(h!==null)throw h}}function Iv(h,w,_,M){Wj=!1;var $=h.updateQueue;jp=!1;var ae=$.firstBaseUpdate,Ce=$.lastBaseUpdate,He=$.shared.pending;if(He!==null){$.shared.pending=null;var ft=He,Et=ft.next;ft.next=null,Ce===null?ae=Et:Ce.next=Et,Ce=ft;var qt=h.alternate;qt!==null&&(qt=qt.updateQueue,He=qt.lastBaseUpdate,He!==Ce&&(He===null?qt.firstBaseUpdate=Et:He.next=Et,qt.lastBaseUpdate=ft))}if(ae!==null){var Wt=$.baseState;Ce=0,qt=Et=ft=null,He=ae;do{var Dt=He.lane&-536870913,Ot=Dt!==He.lane;if(Ot?(Ar&Dt)===Dt:(M&Dt)===Dt){Dt!==0&&Dt===Ib&&(Wj=!0),qt!==null&&(qt=qt.next={lane:0,tag:He.tag,payload:He.payload,callback:null,next:null});e:{var Ca=h,qa=He;Dt=w;var ln=_;switch(qa.tag){case 1:if(Ca=qa.payload,typeof Ca=="function"){Wt=Ca.call(ln,Wt,Dt);break e}Wt=Ca;break e;case 3:Ca.flags=Ca.flags&-65537|128;case 0:if(Ca=qa.payload,Dt=typeof Ca=="function"?Ca.call(ln,Wt,Dt):Ca,Dt==null)break e;Wt=m({},Wt,Dt);break e;case 2:jp=!0}}Dt=He.callback,Dt!==null&&(h.flags|=64,Ot&&(h.flags|=8192),Ot=$.callbacks,Ot===null?$.callbacks=[Dt]:Ot.push(Dt))}else Ot={lane:Dt,tag:He.tag,payload:He.payload,callback:He.callback,next:null},qt===null?(Et=qt=Ot,ft=Wt):qt=qt.next=Ot,Ce|=Dt;if(He=He.next,He===null){if(He=$.shared.pending,He===null)break;Ot=He,He=Ot.next,Ot.next=null,$.lastBaseUpdate=Ot,$.shared.pending=null}}while(!0);qt===null&&(ft=Wt),$.baseState=ft,$.firstBaseUpdate=Et,$.lastBaseUpdate=qt,ae===null&&($.shared.lanes=0),zp|=Ce,h.lanes=Ce,h.memoizedState=Wt}}function oU(h,w){if(typeof h!="function")throw Error(n(191,h));h.call(w)}function lU(h,w){var _=h.callbacks;if(_!==null)for(h.callbacks=null,h=0;h<_.length;h++)oU(_[h],w)}var Hb=K(null),$k=K(0);function cU(h,w){h=Ju,me($k,h),me(Hb,w),Ju=h|w.baseLanes}function Kj(){me($k,Ju),me(Hb,Hb.current)}function Yj(){Ju=$k.current,oe(Hb),oe($k)}var hl=K(null),Jl=null;function Dp(h){var w=h.alternate;me(gi,gi.current&1),me(hl,h),Jl===null&&(w===null||Hb.current!==null||w.memoizedState!==null)&&(Jl=h)}function Qj(h){me(gi,gi.current),me(hl,h),Jl===null&&(Jl=h)}function dU(h){h.tag===22?(me(gi,gi.current),me(hl,h),Jl===null&&(Jl=h)):Fp()}function Fp(){me(gi,gi.current),me(hl,hl.current)}function fl(h){oe(hl),Jl===h&&(Jl=null),oe(gi)}var gi=K(0);function Wk(h){for(var w=h;w!==null;){if(w.tag===13){var _=w.memoizedState;if(_!==null&&(_=_.dehydrated,_===null||aE(_)||rE(_)))return w}else if(w.tag===19&&(w.memoizedProps.revealOrder==="forwards"||w.memoizedProps.revealOrder==="backwards"||w.memoizedProps.revealOrder==="unstable_legacy-backwards"||w.memoizedProps.revealOrder==="together")){if((w.flags&128)!==0)return w}else if(w.child!==null){w.child.return=w,w=w.child;continue}if(w===h)break;for(;w.sibling===null;){if(w.return===null||w.return===h)return null;w=w.return}w.sibling.return=w.return,w=w.sibling}return null}var Gu=0,ir=null,sn=null,Ni=null,Kk=!1,qb=!1,zf=!1,Yk=0,Ov=0,Vb=null,wue=0;function Jn(){throw Error(n(321))}function Xj(h,w){if(w===null)return!1;for(var _=0;_ae?ae:8;var Ce=ne.T,He={};ne.T=He,mM(h,!1,w,_);try{var ft=$(),Et=ne.S;if(Et!==null&&Et(He,ft),ft!==null&&typeof ft=="object"&&typeof ft.then=="function"){var qt=vue(ft,M);Uv(h,w,qt,xl(h))}else Uv(h,w,M,xl(h))}catch(Wt){Uv(h,w,{then:function(){},status:"rejected",reason:Wt},xl())}finally{Y.p=ae,Ce!==null&&He.types!==null&&(Ce.types=He.types),ne.T=Ce}}function Pue(){}function dM(h,w,_,M){if(h.tag!==5)throw Error(n(476));var $=BU(h).queue;OU(h,$,w,ce,_===null?Pue:function(){return UU(h),_(M)})}function BU(h){var w=h.memoizedState;if(w!==null)return w;w={memoizedState:ce,baseState:ce,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:$u,lastRenderedState:ce},next:null};var _={};return w.next={memoizedState:_,baseState:_,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:$u,lastRenderedState:_},next:null},h.memoizedState=w,h=h.alternate,h!==null&&(h.memoizedState=w),w}function UU(h){var w=BU(h);w.next===null&&(w=h.alternate.memoizedState),Uv(h,w.next.queue,{},xl())}function uM(){return _s(n0)}function HU(){return bi().memoizedState}function qU(){return bi().memoizedState}function Nue(h){for(var w=h.return;w!==null;){switch(w.tag){case 24:case 3:var _=xl();h=Mp(_);var M=Ep(w,h,_);M!==null&&(Uo(M,w,_),Rv(M,w,_)),w={cache:Bj()},h.payload=w;return}w=w.return}}function Tue(h,w,_){var M=xl();_={lane:M,revertLane:0,gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null},t_(h)?GU(w,_):(_=Aj(h,w,_,M),_!==null&&(Uo(_,h,M),$U(_,w,M)))}function VU(h,w,_){var M=xl();Uv(h,w,_,M)}function Uv(h,w,_,M){var $={lane:M,revertLane:0,gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null};if(t_(h))GU(w,$);else{var ae=h.alternate;if(h.lanes===0&&(ae===null||ae.lanes===0)&&(ae=w.lastRenderedReducer,ae!==null))try{var Ce=w.lastRenderedState,He=ae(Ce,_);if($.hasEagerState=!0,$.eagerState=He,Fn(He,Ce))return Lk(h,w,$,0),yn===null&&Fk(),!1}catch{}if(_=Aj(h,w,$,M),_!==null)return Uo(_,h,M),$U(_,w,M),!0}return!1}function mM(h,w,_,M){if(M={lane:2,revertLane:VM(),gesture:null,action:M,hasEagerState:!1,eagerState:null,next:null},t_(h)){if(w)throw Error(n(479))}else w=Aj(h,_,M,2),w!==null&&Uo(w,h,2)}function t_(h){var w=h.alternate;return h===ir||w!==null&&w===ir}function GU(h,w){qb=Kk=!0;var _=h.pending;_===null?w.next=w:(w.next=_.next,_.next=w),h.pending=w}function $U(h,w,_){if((_&4194048)!==0){var M=w.lanes;M&=h.pendingLanes,_|=M,w.lanes=_,Lt(h,_)}}var Hv={readContext:_s,use:Xk,useCallback:Jn,useContext:Jn,useEffect:Jn,useImperativeHandle:Jn,useLayoutEffect:Jn,useInsertionEffect:Jn,useMemo:Jn,useReducer:Jn,useRef:Jn,useState:Jn,useDebugValue:Jn,useDeferredValue:Jn,useTransition:Jn,useSyncExternalStore:Jn,useId:Jn,useHostTransitionStatus:Jn,useFormState:Jn,useActionState:Jn,useOptimistic:Jn,useMemoCache:Jn,useCacheRefresh:Jn};Hv.useEffectEvent=Jn;var WU={readContext:_s,use:Xk,useCallback:function(h,w){return po().memoizedState=[h,w===void 0?null:w],h},useContext:_s,useEffect:jU,useImperativeHandle:function(h,w,_){_=_!=null?_.concat([h]):null,Jk(4194308,4,FU.bind(null,w,h),_)},useLayoutEffect:function(h,w){return Jk(4194308,4,h,w)},useInsertionEffect:function(h,w){Jk(4,2,h,w)},useMemo:function(h,w){var _=po();w=w===void 0?null:w;var M=h();if(zf){Re(!0);try{h()}finally{Re(!1)}}return _.memoizedState=[M,w],M},useReducer:function(h,w,_){var M=po();if(_!==void 0){var $=_(w);if(zf){Re(!0);try{_(w)}finally{Re(!1)}}}else $=w;return M.memoizedState=M.baseState=$,h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:h,lastRenderedState:$},M.queue=h,h=h.dispatch=Tue.bind(null,ir,h),[M.memoizedState,h]},useRef:function(h){var w=po();return h={current:h},w.memoizedState=h},useState:function(h){h=iM(h);var w=h.queue,_=VU.bind(null,ir,w);return w.dispatch=_,[h.memoizedState,_]},useDebugValue:lM,useDeferredValue:function(h,w){var _=po();return cM(_,h,w)},useTransition:function(){var h=iM(!1);return h=OU.bind(null,ir,h.queue,!0,!1),po().memoizedState=h,[!1,h]},useSyncExternalStore:function(h,w,_){var M=ir,$=po();if(Dr){if(_===void 0)throw Error(n(407));_=_()}else{if(_=w(),yn===null)throw Error(n(349));(Ar&127)!==0||hU(M,w,_)}$.memoizedState=_;var ae={value:_,getSnapshot:w};return $.queue=ae,jU(gU.bind(null,M,ae,h),[h]),M.flags|=2048,Gb(9,{destroy:void 0},fU.bind(null,M,ae,_,w),null),_},useId:function(){var h=po(),w=yn.identifierPrefix;if(Dr){var _=Rd,M=Ld;_=(M&~(1<<32-Ge(M)-1)).toString(32)+_,w="_"+w+"R_"+_,_=Yk++,0<_&&(w+="H"+_.toString(32)),w+="_"}else _=wue++,w="_"+w+"r_"+_.toString(32)+"_";return h.memoizedState=w},useHostTransitionStatus:uM,useFormState:CU,useActionState:CU,useOptimistic:function(h){var w=po();w.memoizedState=w.baseState=h;var _={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return w.queue=_,w=mM.bind(null,ir,!0,_),_.dispatch=w,[h,w]},useMemoCache:aM,useCacheRefresh:function(){return po().memoizedState=Nue.bind(null,ir)},useEffectEvent:function(h){var w=po(),_={impl:h};return w.memoizedState=_,function(){if(($r&2)!==0)throw Error(n(440));return _.impl.apply(void 0,arguments)}}},pM={readContext:_s,use:Xk,useCallback:RU,useContext:_s,useEffect:oM,useImperativeHandle:LU,useInsertionEffect:EU,useLayoutEffect:DU,useMemo:zU,useReducer:Zk,useRef:AU,useState:function(){return Zk($u)},useDebugValue:lM,useDeferredValue:function(h,w){var _=bi();return IU(_,sn.memoizedState,h,w)},useTransition:function(){var h=Zk($u)[0],w=bi().memoizedState;return[typeof h=="boolean"?h:Bv(h),w]},useSyncExternalStore:pU,useId:HU,useHostTransitionStatus:uM,useFormState:PU,useActionState:PU,useOptimistic:function(h,w){var _=bi();return yU(_,sn,h,w)},useMemoCache:aM,useCacheRefresh:qU};pM.useEffectEvent=MU;var KU={readContext:_s,use:Xk,useCallback:RU,useContext:_s,useEffect:oM,useImperativeHandle:LU,useInsertionEffect:EU,useLayoutEffect:DU,useMemo:zU,useReducer:nM,useRef:AU,useState:function(){return nM($u)},useDebugValue:lM,useDeferredValue:function(h,w){var _=bi();return sn===null?cM(_,h,w):IU(_,sn.memoizedState,h,w)},useTransition:function(){var h=nM($u)[0],w=bi().memoizedState;return[typeof h=="boolean"?h:Bv(h),w]},useSyncExternalStore:pU,useId:HU,useHostTransitionStatus:uM,useFormState:TU,useActionState:TU,useOptimistic:function(h,w){var _=bi();return sn!==null?yU(_,sn,h,w):(_.baseState=h,[h,_.queue.dispatch])},useMemoCache:aM,useCacheRefresh:qU};KU.useEffectEvent=MU;function hM(h,w,_,M){w=h.memoizedState,_=_(M,w),_=_==null?w:m({},w,_),h.memoizedState=_,h.lanes===0&&(h.updateQueue.baseState=_)}var fM={enqueueSetState:function(h,w,_){h=h._reactInternals;var M=xl(),$=Mp(M);$.payload=w,_!=null&&($.callback=_),w=Ep(h,$,M),w!==null&&(Uo(w,h,M),Rv(w,h,M))},enqueueReplaceState:function(h,w,_){h=h._reactInternals;var M=xl(),$=Mp(M);$.tag=1,$.payload=w,_!=null&&($.callback=_),w=Ep(h,$,M),w!==null&&(Uo(w,h,M),Rv(w,h,M))},enqueueForceUpdate:function(h,w){h=h._reactInternals;var _=xl(),M=Mp(_);M.tag=2,w!=null&&(M.callback=w),w=Ep(h,M,_),w!==null&&(Uo(w,h,_),Rv(w,h,_))}};function YU(h,w,_,M,$,ae,Ce){return h=h.stateNode,typeof h.shouldComponentUpdate=="function"?h.shouldComponentUpdate(M,ae,Ce):w.prototype&&w.prototype.isPureReactComponent?!Ss(_,M)||!Ss($,ae):!0}function QU(h,w,_,M){h=w.state,typeof w.componentWillReceiveProps=="function"&&w.componentWillReceiveProps(_,M),typeof w.UNSAFE_componentWillReceiveProps=="function"&&w.UNSAFE_componentWillReceiveProps(_,M),w.state!==h&&fM.enqueueReplaceState(w,w.state,null)}function If(h,w){var _=w;if("ref"in w){_={};for(var M in w)M!=="ref"&&(_[M]=w[M])}if(h=h.defaultProps){_===w&&(_=m({},_));for(var $ in h)_[$]===void 0&&(_[$]=h[$])}return _}function XU(h){Dk(h)}function ZU(h){console.error(h)}function JU(h){Dk(h)}function a_(h,w){try{var _=h.onUncaughtError;_(w.value,{componentStack:w.stack})}catch(M){setTimeout(function(){throw M})}}function eH(h,w,_){try{var M=h.onCaughtError;M(_.value,{componentStack:_.stack,errorBoundary:w.tag===1?w.stateNode:null})}catch($){setTimeout(function(){throw $})}}function gM(h,w,_){return _=Mp(_),_.tag=3,_.payload={element:null},_.callback=function(){a_(h,w)},_}function tH(h){return h=Mp(h),h.tag=3,h}function aH(h,w,_,M){var $=_.type.getDerivedStateFromError;if(typeof $=="function"){var ae=M.value;h.payload=function(){return $(ae)},h.callback=function(){eH(w,_,M)}}var Ce=_.stateNode;Ce!==null&&typeof Ce.componentDidCatch=="function"&&(h.callback=function(){eH(w,_,M),typeof $!="function"&&(Ip===null?Ip=new Set([this]):Ip.add(this));var He=M.stack;this.componentDidCatch(M.value,{componentStack:He!==null?He:""})})}function Aue(h,w,_,M,$){if(_.flags|=32768,M!==null&&typeof M=="object"&&typeof M.then=="function"){if(w=_.alternate,w!==null&&zb(w,_,$,!0),_=hl.current,_!==null){switch(_.tag){case 31:case 13:return Jl===null?h_():_.alternate===null&&ei===0&&(ei=3),_.flags&=-257,_.flags|=65536,_.lanes=$,M===qk?_.flags|=16384:(w=_.updateQueue,w===null?_.updateQueue=new Set([M]):w.add(M),UM(h,M,$)),!1;case 22:return _.flags|=65536,M===qk?_.flags|=16384:(w=_.updateQueue,w===null?(w={transitions:null,markerInstances:null,retryQueue:new Set([M])},_.updateQueue=w):(_=w.retryQueue,_===null?w.retryQueue=new Set([M]):_.add(M)),UM(h,M,$)),!1}throw Error(n(435,_.tag))}return UM(h,M,$),h_(),!1}if(Dr)return w=hl.current,w!==null?((w.flags&65536)===0&&(w.flags|=256),w.flags|=65536,w.lanes=$,M!==Lj&&(h=Error(n(422),{cause:M}),Mv(Yl(h,_)))):(M!==Lj&&(w=Error(n(423),{cause:M}),Mv(Yl(w,_))),h=h.current.alternate,h.flags|=65536,$&=-$,h.lanes|=$,M=Yl(M,_),$=gM(h.stateNode,M,$),$j(h,$),ei!==4&&(ei=2)),!1;var ae=Error(n(520),{cause:M});if(ae=Yl(ae,_),Qv===null?Qv=[ae]:Qv.push(ae),ei!==4&&(ei=2),w===null)return!0;M=Yl(M,_),_=w;do{switch(_.tag){case 3:return _.flags|=65536,h=$&-$,_.lanes|=h,h=gM(_.stateNode,M,h),$j(_,h),!1;case 1:if(w=_.type,ae=_.stateNode,(_.flags&128)===0&&(typeof w.getDerivedStateFromError=="function"||ae!==null&&typeof ae.componentDidCatch=="function"&&(Ip===null||!Ip.has(ae))))return _.flags|=65536,$&=-$,_.lanes|=$,$=tH($),aH($,h,_,M),$j(_,$),!1}_=_.return}while(_!==null);return!1}var bM=Error(n(461)),Ti=!1;function Cs(h,w,_,M){w.child=h===null?sU(w,null,_,M):Rf(w,h.child,_,M)}function rH(h,w,_,M,$){_=_.render;var ae=w.ref;if("ref"in M){var Ce={};for(var He in M)He!=="ref"&&(Ce[He]=M[He])}else Ce=M;return Ef(w),M=Zj(h,w,_,Ce,ae,$),He=Jj(),h!==null&&!Ti?(eM(h,w,$),Wu(h,w,$)):(Dr&&He&&Dj(w),w.flags|=1,Cs(h,w,M,$),w.child)}function nH(h,w,_,M,$){if(h===null){var ae=_.type;return typeof ae=="function"&&!jj(ae)&&ae.defaultProps===void 0&&_.compare===null?(w.tag=15,w.type=ae,iH(h,w,ae,M,$)):(h=zk(_.type,null,M,w,w.mode,$),h.ref=w.ref,h.return=w,w.child=h)}if(ae=h.child,!CM(h,$)){var Ce=ae.memoizedProps;if(_=_.compare,_=_!==null?_:Ss,_(Ce,M)&&h.ref===w.ref)return Wu(h,w,$)}return w.flags|=1,h=Uu(ae,M),h.ref=w.ref,h.return=w,w.child=h}function iH(h,w,_,M,$){if(h!==null){var ae=h.memoizedProps;if(Ss(ae,M)&&h.ref===w.ref)if(Ti=!1,w.pendingProps=M=ae,CM(h,$))(h.flags&131072)!==0&&(Ti=!0);else return w.lanes=h.lanes,Wu(h,w,$)}return xM(h,w,_,M,$)}function sH(h,w,_,M){var $=M.children,ae=h!==null?h.memoizedState:null;if(h===null&&w.stateNode===null&&(w.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),M.mode==="hidden"){if((w.flags&128)!==0){if(ae=ae!==null?ae.baseLanes|_:_,h!==null){for(M=w.child=h.child,$=0;M!==null;)$=$|M.lanes|M.childLanes,M=M.sibling;M=$&~ae}else M=0,w.child=null;return oH(h,w,ae,_,M)}if((_&536870912)!==0)w.memoizedState={baseLanes:0,cachePool:null},h!==null&&Uk(w,ae!==null?ae.cachePool:null),ae!==null?cU(w,ae):Kj(),dU(w);else return M=w.lanes=536870912,oH(h,w,ae!==null?ae.baseLanes|_:_,_,M)}else ae!==null?(Uk(w,ae.cachePool),cU(w,ae),Fp(),w.memoizedState=null):(h!==null&&Uk(w,null),Kj(),Fp());return Cs(h,w,$,_),w.child}function qv(h,w){return h!==null&&h.tag===22||w.stateNode!==null||(w.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),w.sibling}function oH(h,w,_,M,$){var ae=Hj();return ae=ae===null?null:{parent:Pi._currentValue,pool:ae},w.memoizedState={baseLanes:_,cachePool:ae},h!==null&&Uk(w,null),Kj(),dU(w),h!==null&&zb(h,w,M,!0),w.childLanes=$,null}function r_(h,w){return w=i_({mode:w.mode,children:w.children},h.mode),w.ref=h.ref,h.child=w,w.return=h,w}function lH(h,w,_){return Rf(w,h.child,null,_),h=r_(w,w.pendingProps),h.flags|=2,fl(w),w.memoizedState=null,h}function jue(h,w,_){var M=w.pendingProps,$=(w.flags&128)!==0;if(w.flags&=-129,h===null){if(Dr){if(M.mode==="hidden")return h=r_(w,M),w.lanes=536870912,qv(null,h);if(Qj(w),(h=Nn)?(h=vq(h,Zl),h=h!==null&&h.data==="&"?h:null,h!==null&&(w.memoizedState={dehydrated:h,treeContext:Pp!==null?{id:Ld,overflow:Rd}:null,retryLane:536870912,hydrationErrors:null},_=G5(h),_.return=w,w.child=_,ks=w,Nn=null)):h=null,h===null)throw Tp(w);return w.lanes=536870912,null}return r_(w,M)}var ae=h.memoizedState;if(ae!==null){var Ce=ae.dehydrated;if(Qj(w),$)if(w.flags&256)w.flags&=-257,w=lH(h,w,_);else if(w.memoizedState!==null)w.child=h.child,w.flags|=128,w=null;else throw Error(n(558));else if(Ti||zb(h,w,_,!1),$=(_&h.childLanes)!==0,Ti||$){if(M=yn,M!==null&&(Ce=dt(M,_),Ce!==0&&Ce!==ae.retryLane))throw ae.retryLane=Ce,Tf(h,Ce),Uo(M,h,Ce),bM;h_(),w=lH(h,w,_)}else h=ae.treeContext,Nn=ec(Ce.nextSibling),ks=w,Dr=!0,Np=null,Zl=!1,h!==null&&K5(w,h),w=r_(w,M),w.flags|=4096;return w}return h=Uu(h.child,{mode:M.mode,children:M.children}),h.ref=w.ref,w.child=h,h.return=w,h}function n_(h,w){var _=w.ref;if(_===null)h!==null&&h.ref!==null&&(w.flags|=4194816);else{if(typeof _!="function"&&typeof _!="object")throw Error(n(284));(h===null||h.ref!==_)&&(w.flags|=4194816)}}function xM(h,w,_,M,$){return Ef(w),_=Zj(h,w,_,M,void 0,$),M=Jj(),h!==null&&!Ti?(eM(h,w,$),Wu(h,w,$)):(Dr&&M&&Dj(w),w.flags|=1,Cs(h,w,_,$),w.child)}function cH(h,w,_,M,$,ae){return Ef(w),w.updateQueue=null,_=mU(w,M,_,$),uU(h),M=Jj(),h!==null&&!Ti?(eM(h,w,ae),Wu(h,w,ae)):(Dr&&M&&Dj(w),w.flags|=1,Cs(h,w,_,ae),w.child)}function dH(h,w,_,M,$){if(Ef(w),w.stateNode===null){var ae=Db,Ce=_.contextType;typeof Ce=="object"&&Ce!==null&&(ae=_s(Ce)),ae=new _(M,ae),w.memoizedState=ae.state!==null&&ae.state!==void 0?ae.state:null,ae.updater=fM,w.stateNode=ae,ae._reactInternals=w,ae=w.stateNode,ae.props=M,ae.state=w.memoizedState,ae.refs={},Vj(w),Ce=_.contextType,ae.context=typeof Ce=="object"&&Ce!==null?_s(Ce):Db,ae.state=w.memoizedState,Ce=_.getDerivedStateFromProps,typeof Ce=="function"&&(hM(w,_,Ce,M),ae.state=w.memoizedState),typeof _.getDerivedStateFromProps=="function"||typeof ae.getSnapshotBeforeUpdate=="function"||typeof ae.UNSAFE_componentWillMount!="function"&&typeof ae.componentWillMount!="function"||(Ce=ae.state,typeof ae.componentWillMount=="function"&&ae.componentWillMount(),typeof ae.UNSAFE_componentWillMount=="function"&&ae.UNSAFE_componentWillMount(),Ce!==ae.state&&fM.enqueueReplaceState(ae,ae.state,null),Iv(w,M,ae,$),zv(),ae.state=w.memoizedState),typeof ae.componentDidMount=="function"&&(w.flags|=4194308),M=!0}else if(h===null){ae=w.stateNode;var He=w.memoizedProps,ft=If(_,He);ae.props=ft;var Et=ae.context,qt=_.contextType;Ce=Db,typeof qt=="object"&&qt!==null&&(Ce=_s(qt));var Wt=_.getDerivedStateFromProps;qt=typeof Wt=="function"||typeof ae.getSnapshotBeforeUpdate=="function",He=w.pendingProps!==He,qt||typeof ae.UNSAFE_componentWillReceiveProps!="function"&&typeof ae.componentWillReceiveProps!="function"||(He||Et!==Ce)&&QU(w,ae,M,Ce),jp=!1;var Dt=w.memoizedState;ae.state=Dt,Iv(w,M,ae,$),zv(),Et=w.memoizedState,He||Dt!==Et||jp?(typeof Wt=="function"&&(hM(w,_,Wt,M),Et=w.memoizedState),(ft=jp||YU(w,_,ft,M,Dt,Et,Ce))?(qt||typeof ae.UNSAFE_componentWillMount!="function"&&typeof ae.componentWillMount!="function"||(typeof ae.componentWillMount=="function"&&ae.componentWillMount(),typeof ae.UNSAFE_componentWillMount=="function"&&ae.UNSAFE_componentWillMount()),typeof ae.componentDidMount=="function"&&(w.flags|=4194308)):(typeof ae.componentDidMount=="function"&&(w.flags|=4194308),w.memoizedProps=M,w.memoizedState=Et),ae.props=M,ae.state=Et,ae.context=Ce,M=ft):(typeof ae.componentDidMount=="function"&&(w.flags|=4194308),M=!1)}else{ae=w.stateNode,Gj(h,w),Ce=w.memoizedProps,qt=If(_,Ce),ae.props=qt,Wt=w.pendingProps,Dt=ae.context,Et=_.contextType,ft=Db,typeof Et=="object"&&Et!==null&&(ft=_s(Et)),He=_.getDerivedStateFromProps,(Et=typeof He=="function"||typeof ae.getSnapshotBeforeUpdate=="function")||typeof ae.UNSAFE_componentWillReceiveProps!="function"&&typeof ae.componentWillReceiveProps!="function"||(Ce!==Wt||Dt!==ft)&&QU(w,ae,M,ft),jp=!1,Dt=w.memoizedState,ae.state=Dt,Iv(w,M,ae,$),zv();var Ot=w.memoizedState;Ce!==Wt||Dt!==Ot||jp||h!==null&&h.dependencies!==null&&Ok(h.dependencies)?(typeof He=="function"&&(hM(w,_,He,M),Ot=w.memoizedState),(qt=jp||YU(w,_,qt,M,Dt,Ot,ft)||h!==null&&h.dependencies!==null&&Ok(h.dependencies))?(Et||typeof ae.UNSAFE_componentWillUpdate!="function"&&typeof ae.componentWillUpdate!="function"||(typeof ae.componentWillUpdate=="function"&&ae.componentWillUpdate(M,Ot,ft),typeof ae.UNSAFE_componentWillUpdate=="function"&&ae.UNSAFE_componentWillUpdate(M,Ot,ft)),typeof ae.componentDidUpdate=="function"&&(w.flags|=4),typeof ae.getSnapshotBeforeUpdate=="function"&&(w.flags|=1024)):(typeof ae.componentDidUpdate!="function"||Ce===h.memoizedProps&&Dt===h.memoizedState||(w.flags|=4),typeof ae.getSnapshotBeforeUpdate!="function"||Ce===h.memoizedProps&&Dt===h.memoizedState||(w.flags|=1024),w.memoizedProps=M,w.memoizedState=Ot),ae.props=M,ae.state=Ot,ae.context=ft,M=qt):(typeof ae.componentDidUpdate!="function"||Ce===h.memoizedProps&&Dt===h.memoizedState||(w.flags|=4),typeof ae.getSnapshotBeforeUpdate!="function"||Ce===h.memoizedProps&&Dt===h.memoizedState||(w.flags|=1024),M=!1)}return ae=M,n_(h,w),M=(w.flags&128)!==0,ae||M?(ae=w.stateNode,_=M&&typeof _.getDerivedStateFromError!="function"?null:ae.render(),w.flags|=1,h!==null&&M?(w.child=Rf(w,h.child,null,$),w.child=Rf(w,null,_,$)):Cs(h,w,_,$),w.memoizedState=ae.state,h=w.child):h=Wu(h,w,$),h}function uH(h,w,_,M){return jf(),w.flags|=256,Cs(h,w,_,M),w.child}var yM={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function vM(h){return{baseLanes:h,cachePool:eU()}}function wM(h,w,_){return h=h!==null?h.childLanes&~_:0,w&&(h|=bl),h}function mH(h,w,_){var M=w.pendingProps,$=!1,ae=(w.flags&128)!==0,Ce;if((Ce=ae)||(Ce=h!==null&&h.memoizedState===null?!1:(gi.current&2)!==0),Ce&&($=!0,w.flags&=-129),Ce=(w.flags&32)!==0,w.flags&=-33,h===null){if(Dr){if($?Dp(w):Fp(),(h=Nn)?(h=vq(h,Zl),h=h!==null&&h.data!=="&"?h:null,h!==null&&(w.memoizedState={dehydrated:h,treeContext:Pp!==null?{id:Ld,overflow:Rd}:null,retryLane:536870912,hydrationErrors:null},_=G5(h),_.return=w,w.child=_,ks=w,Nn=null)):h=null,h===null)throw Tp(w);return rE(h)?w.lanes=32:w.lanes=536870912,null}var He=M.children;return M=M.fallback,$?(Fp(),$=w.mode,He=i_({mode:"hidden",children:He},$),M=Af(M,$,_,null),He.return=w,M.return=w,He.sibling=M,w.child=He,M=w.child,M.memoizedState=vM(_),M.childLanes=wM(h,Ce,_),w.memoizedState=yM,qv(null,M)):(Dp(w),SM(w,He))}var ft=h.memoizedState;if(ft!==null&&(He=ft.dehydrated,He!==null)){if(ae)w.flags&256?(Dp(w),w.flags&=-257,w=kM(h,w,_)):w.memoizedState!==null?(Fp(),w.child=h.child,w.flags|=128,w=null):(Fp(),He=M.fallback,$=w.mode,M=i_({mode:"visible",children:M.children},$),He=Af(He,$,_,null),He.flags|=2,M.return=w,He.return=w,M.sibling=He,w.child=M,Rf(w,h.child,null,_),M=w.child,M.memoizedState=vM(_),M.childLanes=wM(h,Ce,_),w.memoizedState=yM,w=qv(null,M));else if(Dp(w),rE(He)){if(Ce=He.nextSibling&&He.nextSibling.dataset,Ce)var Et=Ce.dgst;Ce=Et,M=Error(n(419)),M.stack="",M.digest=Ce,Mv({value:M,source:null,stack:null}),w=kM(h,w,_)}else if(Ti||zb(h,w,_,!1),Ce=(_&h.childLanes)!==0,Ti||Ce){if(Ce=yn,Ce!==null&&(M=dt(Ce,_),M!==0&&M!==ft.retryLane))throw ft.retryLane=M,Tf(h,M),Uo(Ce,h,M),bM;aE(He)||h_(),w=kM(h,w,_)}else aE(He)?(w.flags|=192,w.child=h.child,w=null):(h=ft.treeContext,Nn=ec(He.nextSibling),ks=w,Dr=!0,Np=null,Zl=!1,h!==null&&K5(w,h),w=SM(w,M.children),w.flags|=4096);return w}return $?(Fp(),He=M.fallback,$=w.mode,ft=h.child,Et=ft.sibling,M=Uu(ft,{mode:"hidden",children:M.children}),M.subtreeFlags=ft.subtreeFlags&65011712,Et!==null?He=Uu(Et,He):(He=Af(He,$,_,null),He.flags|=2),He.return=w,M.return=w,M.sibling=He,w.child=M,qv(null,M),M=w.child,He=h.child.memoizedState,He===null?He=vM(_):($=He.cachePool,$!==null?(ft=Pi._currentValue,$=$.parent!==ft?{parent:ft,pool:ft}:$):$=eU(),He={baseLanes:He.baseLanes|_,cachePool:$}),M.memoizedState=He,M.childLanes=wM(h,Ce,_),w.memoizedState=yM,qv(h.child,M)):(Dp(w),_=h.child,h=_.sibling,_=Uu(_,{mode:"visible",children:M.children}),_.return=w,_.sibling=null,h!==null&&(Ce=w.deletions,Ce===null?(w.deletions=[h],w.flags|=16):Ce.push(h)),w.child=_,w.memoizedState=null,_)}function SM(h,w){return w=i_({mode:"visible",children:w},h.mode),w.return=h,h.child=w}function i_(h,w){return h=pl(22,h,null,w),h.lanes=0,h}function kM(h,w,_){return Rf(w,h.child,null,_),h=SM(w,w.pendingProps.children),h.flags|=2,w.memoizedState=null,h}function pH(h,w,_){h.lanes|=w;var M=h.alternate;M!==null&&(M.lanes|=w),Ij(h.return,w,_)}function _M(h,w,_,M,$,ae){var Ce=h.memoizedState;Ce===null?h.memoizedState={isBackwards:w,rendering:null,renderingStartTime:0,last:M,tail:_,tailMode:$,treeForkCount:ae}:(Ce.isBackwards=w,Ce.rendering=null,Ce.renderingStartTime=0,Ce.last=M,Ce.tail=_,Ce.tailMode=$,Ce.treeForkCount=ae)}function hH(h,w,_){var M=w.pendingProps,$=M.revealOrder,ae=M.tail;M=M.children;var Ce=gi.current,He=(Ce&2)!==0;if(He?(Ce=Ce&1|2,w.flags|=128):Ce&=1,me(gi,Ce),Cs(h,w,M,_),M=Dr?jv:0,!He&&h!==null&&(h.flags&128)!==0)e:for(h=w.child;h!==null;){if(h.tag===13)h.memoizedState!==null&&pH(h,_,w);else if(h.tag===19)pH(h,_,w);else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===w)break e;for(;h.sibling===null;){if(h.return===null||h.return===w)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}switch($){case"forwards":for(_=w.child,$=null;_!==null;)h=_.alternate,h!==null&&Wk(h)===null&&($=_),_=_.sibling;_=$,_===null?($=w.child,w.child=null):($=_.sibling,_.sibling=null),_M(w,!1,$,_,ae,M);break;case"backwards":case"unstable_legacy-backwards":for(_=null,$=w.child,w.child=null;$!==null;){if(h=$.alternate,h!==null&&Wk(h)===null){w.child=$;break}h=$.sibling,$.sibling=_,_=$,$=h}_M(w,!0,_,null,ae,M);break;case"together":_M(w,!1,null,null,void 0,M);break;default:w.memoizedState=null}return w.child}function Wu(h,w,_){if(h!==null&&(w.dependencies=h.dependencies),zp|=w.lanes,(_&w.childLanes)===0)if(h!==null){if(zb(h,w,_,!1),(_&w.childLanes)===0)return null}else return null;if(h!==null&&w.child!==h.child)throw Error(n(153));if(w.child!==null){for(h=w.child,_=Uu(h,h.pendingProps),w.child=_,_.return=w;h.sibling!==null;)h=h.sibling,_=_.sibling=Uu(h,h.pendingProps),_.return=w;_.sibling=null}return w.child}function CM(h,w){return(h.lanes&w)!==0?!0:(h=h.dependencies,!!(h!==null&&Ok(h)))}function Mue(h,w,_){switch(w.tag){case 3:A(w,w.stateNode.containerInfo),Ap(w,Pi,h.memoizedState.cache),jf();break;case 27:case 5:H(w);break;case 4:A(w,w.stateNode.containerInfo);break;case 10:Ap(w,w.type,w.memoizedProps.value);break;case 31:if(w.memoizedState!==null)return w.flags|=128,Qj(w),null;break;case 13:var M=w.memoizedState;if(M!==null)return M.dehydrated!==null?(Dp(w),w.flags|=128,null):(_&w.child.childLanes)!==0?mH(h,w,_):(Dp(w),h=Wu(h,w,_),h!==null?h.sibling:null);Dp(w);break;case 19:var $=(h.flags&128)!==0;if(M=(_&w.childLanes)!==0,M||(zb(h,w,_,!1),M=(_&w.childLanes)!==0),$){if(M)return hH(h,w,_);w.flags|=128}if($=w.memoizedState,$!==null&&($.rendering=null,$.tail=null,$.lastEffect=null),me(gi,gi.current),M)break;return null;case 22:return w.lanes=0,sH(h,w,_,w.pendingProps);case 24:Ap(w,Pi,h.memoizedState.cache)}return Wu(h,w,_)}function fH(h,w,_){if(h!==null)if(h.memoizedProps!==w.pendingProps)Ti=!0;else{if(!CM(h,_)&&(w.flags&128)===0)return Ti=!1,Mue(h,w,_);Ti=(h.flags&131072)!==0}else Ti=!1,Dr&&(w.flags&1048576)!==0&&W5(w,jv,w.index);switch(w.lanes=0,w.tag){case 16:e:{var M=w.pendingProps;if(h=Ff(w.elementType),w.type=h,typeof h=="function")jj(h)?(M=If(h,M),w.tag=1,w=dH(null,w,h,M,_)):(w.tag=0,w=xM(null,w,h,M,_));else{if(h!=null){var $=h.$$typeof;if($===C){w.tag=11,w=rH(null,w,h,M,_);break e}else if($===j){w.tag=14,w=nH(null,w,h,M,_);break e}}throw w=z(h)||h,Error(n(306,w,""))}}return w;case 0:return xM(h,w,w.type,w.pendingProps,_);case 1:return M=w.type,$=If(M,w.pendingProps),dH(h,w,M,$,_);case 3:e:{if(A(w,w.stateNode.containerInfo),h===null)throw Error(n(387));M=w.pendingProps;var ae=w.memoizedState;$=ae.element,Gj(h,w),Iv(w,M,null,_);var Ce=w.memoizedState;if(M=Ce.cache,Ap(w,Pi,M),M!==ae.cache&&Oj(w,[Pi],_,!0),zv(),M=Ce.element,ae.isDehydrated)if(ae={element:M,isDehydrated:!1,cache:Ce.cache},w.updateQueue.baseState=ae,w.memoizedState=ae,w.flags&256){w=uH(h,w,M,_);break e}else if(M!==$){$=Yl(Error(n(424)),w),Mv($),w=uH(h,w,M,_);break e}else for(h=w.stateNode.containerInfo,h.nodeType===9?h=h.body:h=h.nodeName==="HTML"?h.ownerDocument.body:h,Nn=ec(h.firstChild),ks=w,Dr=!0,Np=null,Zl=!0,_=sU(w,null,M,_),w.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(jf(),M===$){w=Wu(h,w,_);break e}Cs(h,w,M,_)}w=w.child}return w;case 26:return n_(h,w),h===null?(_=Pq(w.type,null,w.pendingProps,null))?w.memoizedState=_:Dr||(_=w.type,h=w.pendingProps,M=w_(U.current).createElement(_),M[gt]=w,M[Pt]=h,Ps(M,_,h),it(M),w.stateNode=M):w.memoizedState=Pq(w.type,h.memoizedProps,w.pendingProps,h.memoizedState),null;case 27:return H(w),h===null&&Dr&&(M=w.stateNode=kq(w.type,w.pendingProps,U.current),ks=w,Zl=!0,$=Nn,Hp(w.type)?(nE=$,Nn=ec(M.firstChild)):Nn=$),Cs(h,w,w.pendingProps.children,_),n_(h,w),h===null&&(w.flags|=4194304),w.child;case 5:return h===null&&Dr&&(($=M=Nn)&&(M=ome(M,w.type,w.pendingProps,Zl),M!==null?(w.stateNode=M,ks=w,Nn=ec(M.firstChild),Zl=!1,$=!0):$=!1),$||Tp(w)),H(w),$=w.type,ae=w.pendingProps,Ce=h!==null?h.memoizedProps:null,M=ae.children,JM($,ae)?M=null:Ce!==null&&JM($,Ce)&&(w.flags|=32),w.memoizedState!==null&&($=Zj(h,w,Sue,null,null,_),n0._currentValue=$),n_(h,w),Cs(h,w,M,_),w.child;case 6:return h===null&&Dr&&((h=_=Nn)&&(_=lme(_,w.pendingProps,Zl),_!==null?(w.stateNode=_,ks=w,Nn=null,h=!0):h=!1),h||Tp(w)),null;case 13:return mH(h,w,_);case 4:return A(w,w.stateNode.containerInfo),M=w.pendingProps,h===null?w.child=Rf(w,null,M,_):Cs(h,w,M,_),w.child;case 11:return rH(h,w,w.type,w.pendingProps,_);case 7:return Cs(h,w,w.pendingProps,_),w.child;case 8:return Cs(h,w,w.pendingProps.children,_),w.child;case 12:return Cs(h,w,w.pendingProps.children,_),w.child;case 10:return M=w.pendingProps,Ap(w,w.type,M.value),Cs(h,w,M.children,_),w.child;case 9:return $=w.type._context,M=w.pendingProps.children,Ef(w),$=_s($),M=M($),w.flags|=1,Cs(h,w,M,_),w.child;case 14:return nH(h,w,w.type,w.pendingProps,_);case 15:return iH(h,w,w.type,w.pendingProps,_);case 19:return hH(h,w,_);case 31:return jue(h,w,_);case 22:return sH(h,w,_,w.pendingProps);case 24:return Ef(w),M=_s(Pi),h===null?($=Hj(),$===null&&($=yn,ae=Bj(),$.pooledCache=ae,ae.refCount++,ae!==null&&($.pooledCacheLanes|=_),$=ae),w.memoizedState={parent:M,cache:$},Vj(w),Ap(w,Pi,$)):((h.lanes&_)!==0&&(Gj(h,w),Iv(w,null,null,_),zv()),$=h.memoizedState,ae=w.memoizedState,$.parent!==M?($={parent:M,cache:M},w.memoizedState=$,w.lanes===0&&(w.memoizedState=w.updateQueue.baseState=$),Ap(w,Pi,M)):(M=ae.cache,Ap(w,Pi,M),M!==$.cache&&Oj(w,[Pi],_,!0))),Cs(h,w,w.pendingProps.children,_),w.child;case 29:throw w.pendingProps}throw Error(n(156,w.tag))}function Ku(h){h.flags|=4}function PM(h,w,_,M,$){if((w=(h.mode&32)!==0)&&(w=!1),w){if(h.flags|=16777216,($&335544128)===$)if(h.stateNode.complete)h.flags|=8192;else if(HH())h.flags|=8192;else throw Lf=qk,qj}else h.flags&=-16777217}function gH(h,w){if(w.type!=="stylesheet"||(w.state.loading&4)!==0)h.flags&=-16777217;else if(h.flags|=16777216,!Mq(w))if(HH())h.flags|=8192;else throw Lf=qk,qj}function s_(h,w){w!==null&&(h.flags|=4),h.flags&16384&&(w=h.tag!==22?$e():536870912,h.lanes|=w,Yb|=w)}function Vv(h,w){if(!Dr)switch(h.tailMode){case"hidden":w=h.tail;for(var _=null;w!==null;)w.alternate!==null&&(_=w),w=w.sibling;_===null?h.tail=null:_.sibling=null;break;case"collapsed":_=h.tail;for(var M=null;_!==null;)_.alternate!==null&&(M=_),_=_.sibling;M===null?w||h.tail===null?h.tail=null:h.tail.sibling=null:M.sibling=null}}function Tn(h){var w=h.alternate!==null&&h.alternate.child===h.child,_=0,M=0;if(w)for(var $=h.child;$!==null;)_|=$.lanes|$.childLanes,M|=$.subtreeFlags&65011712,M|=$.flags&65011712,$.return=h,$=$.sibling;else for($=h.child;$!==null;)_|=$.lanes|$.childLanes,M|=$.subtreeFlags,M|=$.flags,$.return=h,$=$.sibling;return h.subtreeFlags|=M,h.childLanes=_,w}function Eue(h,w,_){var M=w.pendingProps;switch(Fj(w),w.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Tn(w),null;case 1:return Tn(w),null;case 3:return _=w.stateNode,M=null,h!==null&&(M=h.memoizedState.cache),w.memoizedState.cache!==M&&(w.flags|=2048),Vu(Pi),D(),_.pendingContext&&(_.context=_.pendingContext,_.pendingContext=null),(h===null||h.child===null)&&(Rb(w)?Ku(w):h===null||h.memoizedState.isDehydrated&&(w.flags&256)===0||(w.flags|=1024,Rj())),Tn(w),null;case 26:var $=w.type,ae=w.memoizedState;return h===null?(Ku(w),ae!==null?(Tn(w),gH(w,ae)):(Tn(w),PM(w,$,null,M,_))):ae?ae!==h.memoizedState?(Ku(w),Tn(w),gH(w,ae)):(Tn(w),w.flags&=-16777217):(h=h.memoizedProps,h!==M&&Ku(w),Tn(w),PM(w,$,h,M,_)),null;case 27:if(W(w),_=U.current,$=w.type,h!==null&&w.stateNode!=null)h.memoizedProps!==M&&Ku(w);else{if(!M){if(w.stateNode===null)throw Error(n(166));return Tn(w),null}h=pe.current,Rb(w)?Y5(w):(h=kq($,M,_),w.stateNode=h,Ku(w))}return Tn(w),null;case 5:if(W(w),$=w.type,h!==null&&w.stateNode!=null)h.memoizedProps!==M&&Ku(w);else{if(!M){if(w.stateNode===null)throw Error(n(166));return Tn(w),null}if(ae=pe.current,Rb(w))Y5(w);else{var Ce=w_(U.current);switch(ae){case 1:ae=Ce.createElementNS("http://www.w3.org/2000/svg",$);break;case 2:ae=Ce.createElementNS("http://www.w3.org/1998/Math/MathML",$);break;default:switch($){case"svg":ae=Ce.createElementNS("http://www.w3.org/2000/svg",$);break;case"math":ae=Ce.createElementNS("http://www.w3.org/1998/Math/MathML",$);break;case"script":ae=Ce.createElement("div"),ae.innerHTML=" + + + +
+ + + + + diff --git a/static/manifest.json b/static/manifest.json new file mode 100644 index 000000000..4cb266e4f --- /dev/null +++ b/static/manifest.json @@ -0,0 +1,95 @@ +{ + "id": "/", + "name": "Bambuddy", + "short_name": "Bambuddy", + "description": "Monitor and manage your Bambu Lab 3D printers", + "start_url": "/", + "display": "standalone", + "background_color": "#1a1a1a", + "theme_color": "#00ae42", + "orientation": "any", + "scope": "/", + "icons": [ + { + "src": "/img/favicon-16x16.png", + "sizes": "16x16", + "type": "image/png" + }, + { + "src": "/img/favicon-32x32.png", + "sizes": "32x32", + "type": "image/png" + }, + { + "src": "/img/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/img/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/img/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/img/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "screenshots": [ + { + "src": "/img/screenshot-mobile.png", + "sizes": "1080x1920", + "type": "image/png", + "form_factor": "narrow", + "label": "Bambuddy on mobile" + }, + { + "src": "/img/screenshot-desktop.png", + "sizes": "1920x1080", + "type": "image/png", + "form_factor": "wide", + "label": "Bambuddy on desktop" + } + ], + "categories": ["utilities", "productivity"], + "shortcuts": [ + { + "name": "Printers", + "short_name": "Printers", + "description": "View your printers", + "url": "/", + "icons": [{ "src": "/img/android-chrome-192x192.png", "sizes": "192x192" }] + }, + { + "name": "Archives", + "short_name": "Archives", + "description": "View print archives", + "url": "/archives", + "icons": [{ "src": "/img/android-chrome-192x192.png", "sizes": "192x192" }] + }, + { + "name": "Queue", + "short_name": "Queue", + "description": "View print queue", + "url": "/queue", + "icons": [{ "src": "/img/android-chrome-192x192.png", "sizes": "192x192" }] + }, + { + "name": "Projects", + "short_name": "Projects", + "description": "View print projects", + "url": "/projects", + "icons": [{ "src": "/img/android-chrome-192x192.png", "sizes": "192x192" }] + } + ] +} diff --git a/static/spoolbuddy_logo_dark.png b/static/spoolbuddy_logo_dark.png new file mode 100644 index 000000000..48e106c2b Binary files /dev/null and b/static/spoolbuddy_logo_dark.png differ diff --git a/static/sw-register.js b/static/sw-register.js new file mode 100644 index 000000000..220886e86 --- /dev/null +++ b/static/sw-register.js @@ -0,0 +1,37 @@ +if ('serviceWorker' in navigator) { + if (location.pathname.startsWith('/spoolbuddy')) { + navigator.serviceWorker.getRegistrations().then((regs) => { + if (regs.length > 0) { + Promise.all([ + ...regs.map((r) => r.unregister()), + caches.keys().then((names) => Promise.all(names.map((n) => caches.delete(n)))), + ]).then(() => location.reload()); + } + }); + } else { + // Capture controller state at script-load. Used to decide whether a + // subsequent `controllerchange` is a deploy-pickup (had a prior SW → + // reload so the new bundle takes over) or a first install (no prior SW → + // skip the reload; the in-flight React mount would otherwise race the + // forced navigation, leaving the page wedged on a spinner. The previous + // approach — `client.navigate(client.url)` from the SW's activate + // handler — exhibited that race in Chromium and a waitUntil hang in + // Firefox, both surfaced on every fresh demo subdomain). + const hadController = !!navigator.serviceWorker.controller; + let reloading = false; + navigator.serviceWorker.addEventListener('controllerchange', () => { + if (!hadController || reloading) return; + reloading = true; + location.reload(); + }); + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js') + .then((registration) => { + console.log('SW registered:', registration.scope); + }) + .catch((error) => { + console.log('SW registration failed:', error); + }); + }); + } +} diff --git a/static/sw.js b/static/sw.js new file mode 100644 index 000000000..42035c068 --- /dev/null +++ b/static/sw.js @@ -0,0 +1,229 @@ +// Bambuddy Service Worker +const CACHE_NAME = 'bambuddy-v30'; +const STATIC_CACHE = 'bambuddy-static-v29'; + +// Static assets to cache on install +const STATIC_ASSETS = [ + '/', + '/manifest.json', + '/img/favicon.png', + '/img/favicon-16x16.png', + '/img/favicon-32x32.png', + '/img/android-chrome-192x192.png', + '/img/android-chrome-512x512.png', + '/img/apple-touch-icon.png', + '/img/bambuddy_logo_dark.png', + // Self-hosted Inter font (#1460) - cached so the UI renders offline. + '/fonts/inter-latin.woff2', + '/fonts/inter-latin-ext.woff2', +]; + +// Install event - cache static assets +self.addEventListener('install', (event) => { + console.log('[SW] Installing service worker...'); + event.waitUntil( + caches.open(STATIC_CACHE).then((cache) => { + console.log('[SW] Caching static assets'); + return cache.addAll(STATIC_ASSETS); + }) + ); + // Activate immediately + self.skipWaiting(); +}); + +// Activate event - clean up old caches and claim existing clients. +// +// The forced reload that picks up a new bundle on already-open clients (the +// kiosk deploy-pickup scenario) lives in sw-register.js via a +// `controllerchange` listener, gated on whether the page already had a SW +// controller at load time. That gate distinguishes first-install (where a +// reload would race the in-flight React mount — observed on every fresh +// *.demo.bambuddy.cool subdomain, and in Firefox the activate's waitUntil +// hung on `client.navigate` until the document load was aborted with a +// Corrupted-Content error) from upgrade-on-existing-client (where the reload +// is wanted). +self.addEventListener('activate', (event) => { + console.log('[SW] Activating service worker...'); + event.waitUntil( + (async () => { + const cacheNames = await caches.keys(); + await Promise.all( + cacheNames + .filter((name) => name !== CACHE_NAME && name !== STATIC_CACHE) + .map((name) => { + console.log('[SW] Deleting old cache:', name); + return caches.delete(name); + }), + ); + await self.clients.claim(); + })(), + ); +}); + +// Fetch event - network-first for API, cache-first for static +self.addEventListener('fetch', (event) => { + const { request } = event; + const url = new URL(request.url); + + // Skip non-GET requests + if (request.method !== 'GET') { + return; + } + + // Skip cross-origin requests - let the browser handle them directly. + // Without this the catch-all HTML branch below would answer a failed + // cross-origin request with our cached index.html, so e.g. a blocked + // Google Fonts request came back as text/html (#1460). + if (url.origin !== self.location.origin) { + return; + } + + // Skip WebSocket connections + if (url.protocol === 'ws:' || url.protocol === 'wss:') { + return; + } + + // Skip camera stream/snapshot requests - Safari has issues with streaming through SW + if (url.pathname.includes('/camera/stream') || url.pathname.includes('/camera/snapshot')) { + return; + } + + // API requests - network first, no cache (real-time data is critical) + if (url.pathname.startsWith('/api/')) { + event.respondWith( + fetch(request).catch(() => { + // Return offline response for API failures + return new Response( + JSON.stringify({ error: 'offline', message: 'You are currently offline' }), + { + status: 503, + headers: { 'Content-Type': 'application/json' }, + } + ); + }) + ); + return; + } + + // Static assets - cache first, then network + if ( + url.pathname.startsWith('/img/') || + url.pathname.startsWith('/icons/') || + url.pathname.startsWith('/fonts/') || + url.pathname.endsWith('.png') || + url.pathname.endsWith('.jpg') || + url.pathname.endsWith('.svg') || + url.pathname.endsWith('.ico') || + url.pathname.endsWith('.woff2') + ) { + event.respondWith( + caches.match(request).then((cached) => { + if (cached) { + return cached; + } + return fetch(request).then((response) => { + // Cache successful responses + if (response.ok) { + const clone = response.clone(); + caches.open(STATIC_CACHE).then((cache) => { + cache.put(request, clone); + }); + } + return response; + }); + }) + ); + return; + } + + // JS/CSS assets - network first (Vite content-hashes filenames, so + // cache-busting is built in; network-first ensures new builds load immediately) + if ( + url.pathname.startsWith('/assets/') || + url.pathname.endsWith('.js') || + url.pathname.endsWith('.css') + ) { + event.respondWith( + fetch(request) + .then((response) => { + if (response.ok) { + const clone = response.clone(); + caches.open(CACHE_NAME).then((cache) => { + cache.put(request, clone); + }); + } + return response; + }) + .catch(() => { + return caches.match(request); + }) + ); + return; + } + + // HTML pages - network first, fall back to cache + event.respondWith( + fetch(request) + .then((response) => { + if (response.ok) { + const clone = response.clone(); + caches.open(CACHE_NAME).then((cache) => { + cache.put(request, clone); + }); + } + return response; + }) + .catch(() => { + return caches.match(request).then((cached) => { + if (cached) { + return cached; + } + // Return cached index for SPA navigation + return caches.match('/'); + }); + }) + ); +}); + +// Handle push notifications (for future use) +self.addEventListener('push', (event) => { + if (!event.data) return; + + const data = event.data.json(); + const options = { + body: data.body || 'New notification from Bambuddy', + icon: '/img/android-chrome-192x192.png', + badge: '/img/favicon-32x32.png', + vibrate: [100, 50, 100], + data: { + url: data.url || '/', + }, + }; + + event.waitUntil( + self.registration.showNotification(data.title || 'Bambuddy', options) + ); +}); + +// Handle notification clicks +self.addEventListener('notificationclick', (event) => { + event.notification.close(); + + const url = event.notification.data?.url || '/'; + + event.waitUntil( + clients.matchAll({ type: 'window', includeUncontrolled: true }).then((windowClients) => { + // Check if there's already a window open + for (const client of windowClients) { + if (client.url.includes(self.location.origin) && 'focus' in client) { + client.navigate(url); + return client.focus(); + } + } + // Open a new window if none exists + if (clients.openWindow) { + return clients.openWindow(url); + } + }) + ); +}); diff --git a/static/vite.svg b/static/vite.svg new file mode 100644 index 000000000..ee9fadaf9 --- /dev/null +++ b/static/vite.svg @@ -0,0 +1 @@ +