const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StatsWindow-ByOdGV7k.js","assets/react-yfL0ty4i.js","assets/CharacterWindow-BQ1W50Yr.js","assets/InventoryWindow-Bcbj1qpi.js","assets/RadarWindow-Ck-ZXL0X.js","assets/CombatStatsWindow-B5ExQS-J.js","assets/CombatPickerWindow-BJXsqBXB.js","assets/IssuesWindow-dWHeGxap.js","assets/VitalSharingWindow-8Ale6iJP.js","assets/QuestStatusWindow-CUxZqStR.js","assets/AgentWindow-COH8h8RZ.js","assets/AdminUsersWindow-BhagAzyV.js"])))=>i.map(i=>d[i]); import{r as Ud,g as y0,a as v0}from"./react-yfL0ty4i.js";(function(){const S=document.createElement("link").relList;if(S&&S.supports&&S.supports("modulepreload"))return;for(const T of document.querySelectorAll('link[rel="modulepreload"]'))r(T);new MutationObserver(T=>{for(const C of T)if(C.type==="childList")for(const N of C.addedNodes)N.tagName==="LINK"&&N.rel==="modulepreload"&&r(N)}).observe(document,{childList:!0,subtree:!0});function A(T){const C={};return T.integrity&&(C.integrity=T.integrity),T.referrerPolicy&&(C.referrerPolicy=T.referrerPolicy),T.crossOrigin==="use-credentials"?C.credentials="include":T.crossOrigin==="anonymous"?C.credentials="omit":C.credentials="same-origin",C}function r(T){if(T.ep)return;T.ep=!0;const C=A(T);fetch(T.href,C)}})();var rf={exports:{}},Sn={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var pd;function g0(){if(pd)return Sn;pd=1;var f=Symbol.for("react.transitional.element"),S=Symbol.for("react.fragment");function A(r,T,C){var N=null;if(C!==void 0&&(N=""+C),T.key!==void 0&&(N=""+T.key),"key"in T){C={};for(var O in T)O!=="key"&&(C[O]=T[O])}else C=T;return T=C.ref,{$$typeof:f,type:r,key:N,ref:T!==void 0?T:null,props:C}}return Sn.Fragment=S,Sn.jsx=A,Sn.jsxs=A,Sn}var zd;function S0(){return zd||(zd=1,rf.exports=g0()),rf.exports}var o=S0(),z=Ud();const pn=y0(z);var df={exports:{}},bn={},mf={exports:{}},hf={};/** * @license React * scheduler.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var xd;function b0(){return xd||(xd=1,(function(f){function S(b,R){var Q=b.length;b.push(R);l:for(;0>>1,Y=b[H];if(0>>1;HT(I,Q))RlT(Et,I)?(b[H]=Et,b[Rl]=Q,H=Rl):(b[H]=I,b[ol]=Q,H=ol);else if(RlT(Et,Q))b[H]=Et,b[Rl]=Q,H=Rl;else break l}}return R}function T(b,R){var Q=b.sortIndex-R.sortIndex;return Q!==0?Q:b.id-R.id}if(f.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var C=performance;f.unstable_now=function(){return C.now()}}else{var N=Date,O=N.now();f.unstable_now=function(){return N.now()-O}}var h=[],_=[],B=1,y=null,j=3,U=!1,V=!1,P=!1,fl=!1,Sl=typeof setTimeout=="function"?setTimeout:null,K=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function Dl(b){for(var R=A(_);R!==null;){if(R.callback===null)r(_);else if(R.startTime<=b)r(_),R.sortIndex=R.expirationTime,S(h,R);else break;R=A(_)}}function Vl(b){if(P=!1,Dl(b),!V)if(A(h)!==null)V=!0,F||(F=!0,Al());else{var R=A(_);R!==null&&bt(Vl,R.startTime-b)}}var F=!1,ll=-1,G=5,w=-1;function J(){return fl?!0:!(f.unstable_now()-wb&&J());){var H=y.callback;if(typeof H=="function"){y.callback=null,j=y.priorityLevel;var Y=H(y.expirationTime<=b);if(b=f.unstable_now(),typeof Y=="function"){y.callback=Y,Dl(b),R=!0;break t}y===A(h)&&r(h),Dl(b)}else r(h);y=A(h)}if(y!==null)R=!0;else{var sl=A(_);sl!==null&&bt(Vl,sl.startTime-b),R=!1}}break l}finally{y=null,j=Q,U=!1}R=void 0}}finally{R?Al():F=!1}}}var Al;if(typeof k=="function")Al=function(){k(zl)};else if(typeof MessageChannel<"u"){var Nt=new MessageChannel,Tt=Nt.port2;Nt.port1.onmessage=zl,Al=function(){Tt.postMessage(null)}}else Al=function(){Sl(zl,0)};function bt(b,R){ll=Sl(function(){b(f.unstable_now())},R)}f.unstable_IdlePriority=5,f.unstable_ImmediatePriority=1,f.unstable_LowPriority=4,f.unstable_NormalPriority=3,f.unstable_Profiling=null,f.unstable_UserBlockingPriority=2,f.unstable_cancelCallback=function(b){b.callback=null},f.unstable_forceFrameRate=function(b){0>b||125H?(b.sortIndex=Q,S(_,b),A(h)===null&&b===A(_)&&(P?(K(ll),ll=-1):P=!0,bt(Vl,Q-H))):(b.sortIndex=Y,S(h,b),V||U||(V=!0,F||(F=!0,Al()))),b},f.unstable_shouldYield=J,f.unstable_wrapCallback=function(b){var R=j;return function(){var Q=j;j=R;try{return b.apply(this,arguments)}finally{j=Q}}}})(hf)),hf}var Ad;function p0(){return Ad||(Ad=1,mf.exports=b0()),mf.exports}/** * @license React * react-dom-client.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Td;function z0(){if(Td)return bn;Td=1;var f=p0(),S=Ud(),A=v0();function r(l){var t="https://react.dev/errors/"+l;if(1Y||(l.current=H[Y],H[Y]=null,Y--)}function I(l,t){Y++,H[Y]=l.current,l.current=t}var Rl=sl(null),Et=sl(null),Wt=sl(null),An=sl(null);function Tn(l,t){switch(I(Wt,t),I(Et,l),I(Rl,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?Zr(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=Zr(t),l=Lr(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}ol(Rl),I(Rl,l)}function Ga(){ol(Rl),ol(Et),ol(Wt)}function Ku(l){l.memoizedState!==null&&I(An,l);var t=Rl.current,a=Lr(t,l.type);t!==a&&(I(Et,l),I(Rl,a))}function En(l){Et.current===l&&(ol(Rl),ol(Et)),An.current===l&&(ol(An),hn._currentValue=Q)}var wu,Sf;function za(l){if(wu===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);wu=t&&t[1]||"",Sf=-1)":-1n||s[e]!==g[n]){var E=` `+s[e].replace(" at new "," at ");return l.displayName&&E.includes("")&&(E=E.replace("",l.displayName)),E}while(1<=e&&0<=n);break}}}finally{Ju=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?za(a):""}function wd(l,t){switch(l.tag){case 26:case 27:case 5:return za(l.type);case 16:return za("Lazy");case 13:return l.child!==t&&t!==null?za("Suspense Fallback"):za("Suspense");case 19:return za("SuspenseList");case 0:case 15:return ku(l.type,!1);case 11:return ku(l.type.render,!1);case 1:return ku(l.type,!0);case 31:return za("Activity");default:return""}}function bf(l){try{var t="",a=null;do t+=wd(l,a),a=l,l=l.return;while(l);return t}catch(e){return` Error generating stack: `+e.message+` `+e.stack}}var Wu=Object.prototype.hasOwnProperty,$u=f.unstable_scheduleCallback,Fu=f.unstable_cancelCallback,Jd=f.unstable_shouldYield,kd=f.unstable_requestPaint,Fl=f.unstable_now,Wd=f.unstable_getCurrentPriorityLevel,pf=f.unstable_ImmediatePriority,zf=f.unstable_UserBlockingPriority,_n=f.unstable_NormalPriority,$d=f.unstable_LowPriority,xf=f.unstable_IdlePriority,Fd=f.log,Id=f.unstable_setDisableYieldValue,Ee=null,Il=null;function $t(l){if(typeof Fd=="function"&&Id(l),Il&&typeof Il.setStrictMode=="function")try{Il.setStrictMode(Ee,l)}catch{}}var Pl=Math.clz32?Math.clz32:tm,Pd=Math.log,lm=Math.LN2;function tm(l){return l>>>=0,l===0?32:31-(Pd(l)/lm|0)|0}var Mn=256,Dn=262144,jn=4194304;function xa(l){var t=l&42;if(t!==0)return t;switch(l&-l){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 l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Nn(l,t,a){var e=l.pendingLanes;if(e===0)return 0;var n=0,u=l.suspendedLanes,c=l.pingedLanes;l=l.warmLanes;var i=e&134217727;return i!==0?(e=i&~u,e!==0?n=xa(e):(c&=i,c!==0?n=xa(c):a||(a=i&~l,a!==0&&(n=xa(a))))):(i=e&~u,i!==0?n=xa(i):c!==0?n=xa(c):a||(a=e&~l,a!==0&&(n=xa(a)))),n===0?0:t!==0&&t!==n&&(t&u)===0&&(u=n&-n,a=t&-t,u>=a||u===32&&(a&4194048)!==0)?t:n}function _e(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function am(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Af(){var l=jn;return jn<<=1,(jn&62914560)===0&&(jn=4194304),l}function Iu(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function Me(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function em(l,t,a,e,n,u){var c=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var i=l.entanglements,s=l.expirationTimes,g=l.hiddenUpdates;for(a=c&~a;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var sm=/[\n"\\]/g;function ft(l){return l.replace(sm,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function nc(l,t,a,e,n,u,c,i){l.name="",c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.type=c:l.removeAttribute("type"),t!=null?c==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+it(t)):l.value!==""+it(t)&&(l.value=""+it(t)):c!=="submit"&&c!=="reset"||l.removeAttribute("value"),t!=null?uc(l,c,it(t)):a!=null?uc(l,c,it(a)):e!=null&&l.removeAttribute("value"),n==null&&u!=null&&(l.defaultChecked=!!u),n!=null&&(l.checked=n&&typeof n!="function"&&typeof n!="symbol"),i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.name=""+it(i):l.removeAttribute("name")}function Bf(l,t,a,e,n,u,c,i){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(l.type=u),t!=null||a!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){ec(l);return}a=a!=null?""+it(a):"",t=t!=null?""+it(t):a,i||t===l.value||(l.value=t),l.defaultValue=t}e=e??n,e=typeof e!="function"&&typeof e!="symbol"&&!!e,l.checked=i?l.checked:!!e,l.defaultChecked=!!e,c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(l.name=c),ec(l)}function uc(l,t,a){t==="number"&&Un(l.ownerDocument)===l||l.defaultValue===""+a||(l.defaultValue=""+a)}function wa(l,t,a,e){if(l=l.options,t){t={};for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),oc=!1;if(Ut)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){oc=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch{oc=!1}var It=null,rc=null,Hn=null;function Zf(){if(Hn)return Hn;var l,t=rc,a=t.length,e,n="value"in It?It.value:It.textContent,u=n.length;for(l=0;l=Re),Wf=" ",$f=!1;function Ff(l,t){switch(l){case"keyup":return qm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function If(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var $a=!1;function Xm(l,t){switch(l){case"compositionend":return If(t);case"keypress":return t.which!==32?null:($f=!0,Wf);case"textInput":return l=t.data,l===Wf&&$f?null:l;default:return null}}function Gm(l,t){if($a)return l==="compositionend"||!vc&&Ff(l,t)?(l=Zf(),Hn=rc=It=null,$a=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-l};l=e}l:{for(;a;){if(a.nextSibling){a=a.nextSibling;break l}a=a.parentNode}a=void 0}a=cs(a)}}function fs(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?fs(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function ss(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=Un(l.document);t instanceof l.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)l=t.contentWindow;else break;t=Un(l.document)}return t}function bc(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var km=Ut&&"documentMode"in document&&11>=document.documentMode,Fa=null,pc=null,Ye=null,zc=!1;function os(l,t,a){var e=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;zc||Fa==null||Fa!==Un(e)||(e=Fa,"selectionStart"in e&&bc(e)?e={start:e.selectionStart,end:e.selectionEnd}:(e=(e.ownerDocument&&e.ownerDocument.defaultView||window).getSelection(),e={anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}),Ye&&qe(Ye,e)||(Ye=e,e=Du(pc,"onSelect"),0>=c,n-=c,_t=1<<32-Pl(t)+n|a<$?(nl=X,X=null):nl=X.sibling;var il=p(m,X,v[$],M);if(il===null){X===null&&(X=nl);break}l&&X&&il.alternate===null&&t(m,X),d=u(il,d,$),cl===null?Z=il:cl.sibling=il,cl=il,X=nl}if($===v.length)return a(m,X),ul&&Ht(m,$),Z;if(X===null){for(;$$?(nl=X,X=null):nl=X.sibling;var pa=p(m,X,il.value,M);if(pa===null){X===null&&(X=nl);break}l&&X&&pa.alternate===null&&t(m,X),d=u(pa,d,$),cl===null?Z=pa:cl.sibling=pa,cl=pa,X=nl}if(il.done)return a(m,X),ul&&Ht(m,$),Z;if(X===null){for(;!il.done;$++,il=v.next())il=D(m,il.value,M),il!==null&&(d=u(il,d,$),cl===null?Z=il:cl.sibling=il,cl=il);return ul&&Ht(m,$),Z}for(X=e(X);!il.done;$++,il=v.next())il=x(X,m,$,il.value,M),il!==null&&(l&&il.alternate!==null&&X.delete(il.key===null?$:il.key),d=u(il,d,$),cl===null?Z=il:cl.sibling=il,cl=il);return l&&X.forEach(function(h0){return t(m,h0)}),ul&&Ht(m,$),Z}function vl(m,d,v,M){if(typeof v=="object"&&v!==null&&v.type===P&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case U:l:{for(var Z=v.key;d!==null;){if(d.key===Z){if(Z=v.type,Z===P){if(d.tag===7){a(m,d.sibling),M=n(d,v.props.children),M.return=m,m=M;break l}}else if(d.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===G&&Ua(Z)===d.type){a(m,d.sibling),M=n(d,v.props),Le(M,v),M.return=m,m=M;break l}a(m,d);break}else t(m,d);d=d.sibling}v.type===P?(M=Da(v.props.children,m.mode,M,v.key),M.return=m,m=M):(M=Kn(v.type,v.key,v.props,null,m.mode,M),Le(M,v),M.return=m,m=M)}return c(m);case V:l:{for(Z=v.key;d!==null;){if(d.key===Z)if(d.tag===4&&d.stateNode.containerInfo===v.containerInfo&&d.stateNode.implementation===v.implementation){a(m,d.sibling),M=n(d,v.children||[]),M.return=m,m=M;break l}else{a(m,d);break}else t(m,d);d=d.sibling}M=Dc(v,m.mode,M),M.return=m,m=M}return c(m);case G:return v=Ua(v),vl(m,d,v,M)}if(bt(v))return q(m,d,v,M);if(Al(v)){if(Z=Al(v),typeof Z!="function")throw Error(r(150));return v=Z.call(v),L(m,d,v,M)}if(typeof v.then=="function")return vl(m,d,In(v),M);if(v.$$typeof===k)return vl(m,d,kn(m,v),M);Pn(m,v)}return typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint"?(v=""+v,d!==null&&d.tag===6?(a(m,d.sibling),M=n(d,v),M.return=m,m=M):(a(m,d),M=Mc(v,m.mode,M),M.return=m,m=M),c(m)):a(m,d)}return function(m,d,v,M){try{Ze=0;var Z=vl(m,d,v,M);return fe=null,Z}catch(X){if(X===ie||X===$n)throw X;var cl=tt(29,X,null,m.mode);return cl.lanes=M,cl.return=m,cl}finally{}}}var Ha=Us(!0),Rs=Us(!1),ea=!1;function Gc(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Qc(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function na(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function ua(l,t,a){var e=l.updateQueue;if(e===null)return null;if(e=e.shared,(rl&2)!==0){var n=e.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t,t=Ln(l),gs(l,null,a),t}return Zn(l,e,t,a),Ln(l)}function Ke(l,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,Ef(l,a)}}function Vc(l,t){var a=l.updateQueue,e=l.alternate;if(e!==null&&(e=e.updateQueue,a===e)){var n=null,u=null;if(a=a.firstBaseUpdate,a!==null){do{var c={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};u===null?n=u=c:u=u.next=c,a=a.next}while(a!==null);u===null?n=u=t:u=u.next=t}else n=u=t;a={baseState:e.baseState,firstBaseUpdate:n,lastBaseUpdate:u,shared:e.shared,callbacks:e.callbacks},l.updateQueue=a;return}l=a.lastBaseUpdate,l===null?a.firstBaseUpdate=t:l.next=t,a.lastBaseUpdate=t}var Zc=!1;function we(){if(Zc){var l=ce;if(l!==null)throw l}}function Je(l,t,a,e){Zc=!1;var n=l.updateQueue;ea=!1;var u=n.firstBaseUpdate,c=n.lastBaseUpdate,i=n.shared.pending;if(i!==null){n.shared.pending=null;var s=i,g=s.next;s.next=null,c===null?u=g:c.next=g,c=s;var E=l.alternate;E!==null&&(E=E.updateQueue,i=E.lastBaseUpdate,i!==c&&(i===null?E.firstBaseUpdate=g:i.next=g,E.lastBaseUpdate=s))}if(u!==null){var D=n.baseState;c=0,E=g=s=null,i=u;do{var p=i.lane&-536870913,x=p!==i.lane;if(x?(el&p)===p:(e&p)===p){p!==0&&p===ue&&(Zc=!0),E!==null&&(E=E.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});l:{var q=l,L=i;p=t;var vl=a;switch(L.tag){case 1:if(q=L.payload,typeof q=="function"){D=q.call(vl,D,p);break l}D=q;break l;case 3:q.flags=q.flags&-65537|128;case 0:if(q=L.payload,p=typeof q=="function"?q.call(vl,D,p):q,p==null)break l;D=y({},D,p);break l;case 2:ea=!0}}p=i.callback,p!==null&&(l.flags|=64,x&&(l.flags|=8192),x=n.callbacks,x===null?n.callbacks=[p]:x.push(p))}else x={lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},E===null?(g=E=x,s=D):E=E.next=x,c|=p;if(i=i.next,i===null){if(i=n.shared.pending,i===null)break;x=i,i=x.next,x.next=null,n.lastBaseUpdate=x,n.shared.pending=null}}while(!0);E===null&&(s=D),n.baseState=s,n.firstBaseUpdate=g,n.lastBaseUpdate=E,u===null&&(n.shared.lanes=0),oa|=c,l.lanes=c,l.memoizedState=D}}function Hs(l,t){if(typeof l!="function")throw Error(r(191,l));l.call(t)}function Bs(l,t){var a=l.callbacks;if(a!==null)for(l.callbacks=null,l=0;lu?u:8;var c=b.T,i={};b.T=i,fi(l,!1,t,a);try{var s=n(),g=b.S;if(g!==null&&g(i,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var E=eh(s,e);$e(l,t,E,ct(l))}else $e(l,t,e,ct(l))}catch(D){$e(l,t,{then:function(){},status:"rejected",reason:D},ct())}finally{R.p=u,c!==null&&i.types!==null&&(c.types=i.types),b.T=c}}function sh(){}function ci(l,t,a,e){if(l.tag!==5)throw Error(r(476));var n=yo(l).queue;ho(l,n,t,Q,a===null?sh:function(){return vo(l),a(e)})}function yo(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:Q,baseState:Q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:Q},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:a},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function vo(l){var t=yo(l);t.next===null&&(t=l.alternate.memoizedState),$e(l,t.next.queue,{},ct())}function ii(){return Xl(hn)}function go(){return Ml().memoizedState}function So(){return Ml().memoizedState}function oh(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var a=ct();l=na(a);var e=ua(t,l,a);e!==null&&($l(e,t,a),Ke(e,t,a)),t={cache:Bc()},l.payload=t;return}t=t.return}}function rh(l,t,a){var e=ct();a={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},su(l)?po(t,a):(a=Ec(l,t,a,e),a!==null&&($l(a,l,e),zo(a,t,e)))}function bo(l,t,a){var e=ct();$e(l,t,a,e)}function $e(l,t,a,e){var n={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(su(l))po(t,n);else{var u=l.alternate;if(l.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var c=t.lastRenderedState,i=u(c,a);if(n.hasEagerState=!0,n.eagerState=i,lt(i,c))return Zn(l,t,n,0),gl===null&&Vn(),!1}catch{}finally{}if(a=Ec(l,t,n,e),a!==null)return $l(a,l,e),zo(a,t,e),!0}return!1}function fi(l,t,a,e){if(e={lane:2,revertLane:Gi(),gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},su(l)){if(t)throw Error(r(479))}else t=Ec(l,a,e,2),t!==null&&$l(t,l,2)}function su(l){var t=l.alternate;return l===W||t!==null&&t===W}function po(l,t){oe=au=!0;var a=l.pending;a===null?t.next=t:(t.next=a.next,a.next=t),l.pending=t}function zo(l,t,a){if((a&4194048)!==0){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,Ef(l,a)}}var Fe={readContext:Xl,use:uu,useCallback:Tl,useContext:Tl,useEffect:Tl,useImperativeHandle:Tl,useLayoutEffect:Tl,useInsertionEffect:Tl,useMemo:Tl,useReducer:Tl,useRef:Tl,useState:Tl,useDebugValue:Tl,useDeferredValue:Tl,useTransition:Tl,useSyncExternalStore:Tl,useId:Tl,useHostTransitionStatus:Tl,useFormState:Tl,useActionState:Tl,useOptimistic:Tl,useMemoCache:Tl,useCacheRefresh:Tl};Fe.useEffectEvent=Tl;var xo={readContext:Xl,use:uu,useCallback:function(l,t){return Zl().memoizedState=[l,t===void 0?null:t],l},useContext:Xl,useEffect:no,useImperativeHandle:function(l,t,a){a=a!=null?a.concat([l]):null,iu(4194308,4,fo.bind(null,t,l),a)},useLayoutEffect:function(l,t){return iu(4194308,4,l,t)},useInsertionEffect:function(l,t){iu(4,2,l,t)},useMemo:function(l,t){var a=Zl();t=t===void 0?null:t;var e=l();if(Ba){$t(!0);try{l()}finally{$t(!1)}}return a.memoizedState=[e,t],e},useReducer:function(l,t,a){var e=Zl();if(a!==void 0){var n=a(t);if(Ba){$t(!0);try{a(t)}finally{$t(!1)}}}else n=t;return e.memoizedState=e.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:n},e.queue=l,l=l.dispatch=rh.bind(null,W,l),[e.memoizedState,l]},useRef:function(l){var t=Zl();return l={current:l},t.memoizedState=l},useState:function(l){l=ti(l);var t=l.queue,a=bo.bind(null,W,t);return t.dispatch=a,[l.memoizedState,a]},useDebugValue:ni,useDeferredValue:function(l,t){var a=Zl();return ui(a,l,t)},useTransition:function(){var l=ti(!1);return l=ho.bind(null,W,l.queue,!0,!1),Zl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,a){var e=W,n=Zl();if(ul){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),gl===null)throw Error(r(349));(el&127)!==0||Vs(e,t,a)}n.memoizedState=a;var u={value:a,getSnapshot:t};return n.queue=u,no(Ls.bind(null,e,u,l),[l]),e.flags|=2048,de(9,{destroy:void 0},Zs.bind(null,e,u,a,t),null),a},useId:function(){var l=Zl(),t=gl.identifierPrefix;if(ul){var a=Mt,e=_t;a=(e&~(1<<32-Pl(e)-1)).toString(32)+a,t="_"+t+"R_"+a,a=eu++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof e.is=="string"?c.createElement("select",{is:e.is}):c.createElement("select"),e.multiple?u.multiple=!0:e.size&&(u.size=e.size);break;default:u=typeof e.is=="string"?c.createElement(n,{is:e.is}):c.createElement(n)}}u[ql]=t,u[Ll]=e;l:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)u.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break l;for(;c.sibling===null;){if(c.return===null||c.return===t)break l;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=u;l:switch(Ql(u,n,e),n){case"button":case"input":case"select":case"textarea":e=!!e.autoFocus;break l;case"img":e=!0;break l;default:e=!1}e&&Qt(t)}}return pl(t),xi(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,a),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==e&&Qt(t);else{if(typeof e!="string"&&t.stateNode===null)throw Error(r(166));if(l=Wt.current,ee(t)){if(l=t.stateNode,a=t.memoizedProps,e=null,n=Yl,n!==null)switch(n.tag){case 27:case 5:e=n.memoizedProps}l[ql]=t,l=!!(l.nodeValue===a||e!==null&&e.suppressHydrationWarning===!0||Qr(l.nodeValue,a)),l||ta(t,!0)}else l=ju(l).createTextNode(e),l[ql]=t,t.stateNode=l}return pl(t),null;case 31:if(a=t.memoizedState,l===null||l.memoizedState!==null){if(e=ee(t),a!==null){if(l===null){if(!e)throw Error(r(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(r(557));l[ql]=t}else ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pl(t),l=!1}else a=Cc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=a),l=!0;if(!l)return t.flags&256?(et(t),t):(et(t),null);if((t.flags&128)!==0)throw Error(r(558))}return pl(t),null;case 13:if(e=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(n=ee(t),e!==null&&e.dehydrated!==null){if(l===null){if(!n)throw Error(r(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(r(317));n[ql]=t}else ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pl(t),n=!1}else n=Cc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(et(t),t):(et(t),null)}return et(t),(t.flags&128)!==0?(t.lanes=a,t):(a=e!==null,l=l!==null&&l.memoizedState!==null,a&&(e=t.child,n=null,e.alternate!==null&&e.alternate.memoizedState!==null&&e.alternate.memoizedState.cachePool!==null&&(n=e.alternate.memoizedState.cachePool.pool),u=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(u=e.memoizedState.cachePool.pool),u!==n&&(e.flags|=2048)),a!==l&&a&&(t.child.flags|=8192),hu(t,t.updateQueue),pl(t),null);case 4:return Ga(),l===null&&Li(t.stateNode.containerInfo),pl(t),null;case 10:return qt(t.type),pl(t),null;case 19:if(ol(_l),e=t.memoizedState,e===null)return pl(t),null;if(n=(t.flags&128)!==0,u=e.rendering,u===null)if(n)Pe(e,!1);else{if(El!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(u=tu(l),u!==null){for(t.flags|=128,Pe(e,!1),l=u.updateQueue,t.updateQueue=l,hu(t,l),t.subtreeFlags=0,l=a,a=t.child;a!==null;)Ss(a,l),a=a.sibling;return I(_l,_l.current&1|2),ul&&Ht(t,e.treeForkCount),t.child}l=l.sibling}e.tail!==null&&Fl()>bu&&(t.flags|=128,n=!0,Pe(e,!1),t.lanes=4194304)}else{if(!n)if(l=tu(u),l!==null){if(t.flags|=128,n=!0,l=l.updateQueue,t.updateQueue=l,hu(t,l),Pe(e,!0),e.tail===null&&e.tailMode==="hidden"&&!u.alternate&&!ul)return pl(t),null}else 2*Fl()-e.renderingStartTime>bu&&a!==536870912&&(t.flags|=128,n=!0,Pe(e,!1),t.lanes=4194304);e.isBackwards?(u.sibling=t.child,t.child=u):(l=e.last,l!==null?l.sibling=u:t.child=u,e.last=u)}return e.tail!==null?(l=e.tail,e.rendering=l,e.tail=l.sibling,e.renderingStartTime=Fl(),l.sibling=null,a=_l.current,I(_l,n?a&1|2:a&1),ul&&Ht(t,e.treeForkCount),l):(pl(t),null);case 22:case 23:return et(t),Kc(),e=t.memoizedState!==null,l!==null?l.memoizedState!==null!==e&&(t.flags|=8192):e&&(t.flags|=8192),e?(a&536870912)!==0&&(t.flags&128)===0&&(pl(t),t.subtreeFlags&6&&(t.flags|=8192)):pl(t),a=t.updateQueue,a!==null&&hu(t,a.retryQueue),a=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(a=l.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(t.flags|=2048),l!==null&&ol(Ca),null;case 24:return a=null,l!==null&&(a=l.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),qt(jl),pl(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function vh(l,t){switch(Nc(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return qt(jl),Ga(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return En(t),null;case 31:if(t.memoizedState!==null){if(et(t),t.alternate===null)throw Error(r(340));ja()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(et(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ja()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return ol(_l),null;case 4:return Ga(),null;case 10:return qt(t.type),null;case 22:case 23:return et(t),Kc(),l!==null&&ol(Ca),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return qt(jl),null;case 25:return null;default:return null}}function wo(l,t){switch(Nc(t),t.tag){case 3:qt(jl),Ga();break;case 26:case 27:case 5:En(t);break;case 4:Ga();break;case 31:t.memoizedState!==null&&et(t);break;case 13:et(t);break;case 19:ol(_l);break;case 10:qt(t.type);break;case 22:case 23:et(t),Kc(),l!==null&&ol(Ca);break;case 24:qt(jl)}}function ln(l,t){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var n=e.next;a=n;do{if((a.tag&l)===l){e=void 0;var u=a.create,c=a.inst;e=u(),c.destroy=e}a=a.next}while(a!==n)}}catch(i){ml(t,t.return,i)}}function fa(l,t,a){try{var e=t.updateQueue,n=e!==null?e.lastEffect:null;if(n!==null){var u=n.next;e=u;do{if((e.tag&l)===l){var c=e.inst,i=c.destroy;if(i!==void 0){c.destroy=void 0,n=t;var s=a,g=i;try{g()}catch(E){ml(n,s,E)}}}e=e.next}while(e!==u)}}catch(E){ml(t,t.return,E)}}function Jo(l){var t=l.updateQueue;if(t!==null){var a=l.stateNode;try{Bs(t,a)}catch(e){ml(l,l.return,e)}}}function ko(l,t,a){a.props=qa(l.type,l.memoizedProps),a.state=l.memoizedState;try{a.componentWillUnmount()}catch(e){ml(l,t,e)}}function tn(l,t){try{var a=l.ref;if(a!==null){switch(l.tag){case 26:case 27:case 5:var e=l.stateNode;break;case 30:e=l.stateNode;break;default:e=l.stateNode}typeof a=="function"?l.refCleanup=a(e):a.current=e}}catch(n){ml(l,t,n)}}function Dt(l,t){var a=l.ref,e=l.refCleanup;if(a!==null)if(typeof e=="function")try{e()}catch(n){ml(l,t,n)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(n){ml(l,t,n)}else a.current=null}function Wo(l){var t=l.type,a=l.memoizedProps,e=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&e.focus();break l;case"img":a.src?e.src=a.src:a.srcSet&&(e.srcset=a.srcSet)}}catch(n){ml(l,l.return,n)}}function Ai(l,t,a){try{var e=l.stateNode;Yh(e,l.type,a,t),e[Ll]=t}catch(n){ml(l,l.return,n)}}function $o(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ya(l.type)||l.tag===4}function Ti(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||$o(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ya(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Ei(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(l,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(l),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Ct));else if(e!==4&&(e===27&&ya(l.type)&&(a=l.stateNode,t=null),l=l.child,l!==null))for(Ei(l,t,a),l=l.sibling;l!==null;)Ei(l,t,a),l=l.sibling}function yu(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?a.insertBefore(l,t):a.appendChild(l);else if(e!==4&&(e===27&&ya(l.type)&&(a=l.stateNode),l=l.child,l!==null))for(yu(l,t,a),l=l.sibling;l!==null;)yu(l,t,a),l=l.sibling}function Fo(l){var t=l.stateNode,a=l.memoizedProps;try{for(var e=l.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Ql(t,e,a),t[ql]=l,t[Ll]=a}catch(u){ml(l,l.return,u)}}var Vt=!1,Cl=!1,_i=!1,Io=typeof WeakSet=="function"?WeakSet:Set,Bl=null;function gh(l,t){if(l=l.containerInfo,Ji=Bu,l=ss(l),bc(l)){if("selectionStart"in l)var a={start:l.selectionStart,end:l.selectionEnd};else l:{a=(a=l.ownerDocument)&&a.defaultView||window;var e=a.getSelection&&a.getSelection();if(e&&e.rangeCount!==0){a=e.anchorNode;var n=e.anchorOffset,u=e.focusNode;e=e.focusOffset;try{a.nodeType,u.nodeType}catch{a=null;break l}var c=0,i=-1,s=-1,g=0,E=0,D=l,p=null;t:for(;;){for(var x;D!==a||n!==0&&D.nodeType!==3||(i=c+n),D!==u||e!==0&&D.nodeType!==3||(s=c+e),D.nodeType===3&&(c+=D.nodeValue.length),(x=D.firstChild)!==null;)p=D,D=x;for(;;){if(D===l)break t;if(p===a&&++g===n&&(i=c),p===u&&++E===e&&(s=c),(x=D.nextSibling)!==null)break;D=p,p=D.parentNode}D=x}a=i===-1||s===-1?null:{start:i,end:s}}else a=null}a=a||{start:0,end:0}}else a=null;for(ki={focusedElem:l,selectionRange:a},Bu=!1,Bl=t;Bl!==null;)if(t=Bl,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,Bl=l;else for(;Bl!==null;){switch(t=Bl,u=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(a=0;a title"))),Ql(u,e,a),u[ql]=l,Hl(u),e=u;break l;case"link":var c=nd("link","href",n).get(e+(a.href||""));if(c){for(var i=0;ivl&&(c=vl,vl=L,L=c);var m=is(i,L),d=is(i,vl);if(m&&d&&(x.rangeCount!==1||x.anchorNode!==m.node||x.anchorOffset!==m.offset||x.focusNode!==d.node||x.focusOffset!==d.offset)){var v=D.createRange();v.setStart(m.node,m.offset),x.removeAllRanges(),L>vl?(x.addRange(v),x.extend(d.node,d.offset)):(v.setEnd(d.node,d.offset),x.addRange(v))}}}}for(D=[],x=i;x=x.parentNode;)x.nodeType===1&&D.push({element:x,left:x.scrollLeft,top:x.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;ia?32:a,b.T=null,a=Ui,Ui=null;var u=da,c=Jt;if(Ul=0,ge=da=null,Jt=0,(rl&6)!==0)throw Error(r(331));var i=rl;if(rl|=4,sr(u.current),cr(u,u.current,c,a),rl=i,fn(0,!1),Il&&typeof Il.onPostCommitFiberRoot=="function")try{Il.onPostCommitFiberRoot(Ee,u)}catch{}return!0}finally{R.p=n,b.T=e,Mr(l,t)}}function jr(l,t,a){t=ot(a,t),t=di(l.stateNode,t,2),l=ua(l,t,2),l!==null&&(Me(l,2),jt(l))}function ml(l,t,a){if(l.tag===3)jr(l,l,a);else for(;t!==null;){if(t.tag===3){jr(t,l,a);break}else if(t.tag===1){var e=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof e.componentDidCatch=="function"&&(ra===null||!ra.has(e))){l=ot(a,l),a=No(2),e=ua(t,a,2),e!==null&&(Oo(a,e,t,l),Me(e,2),jt(e));break}}t=t.return}}function qi(l,t,a){var e=l.pingCache;if(e===null){e=l.pingCache=new ph;var n=new Set;e.set(t,n)}else n=e.get(t),n===void 0&&(n=new Set,e.set(t,n));n.has(a)||(ji=!0,n.add(a),l=Eh.bind(null,l,t,a),t.then(l,l))}function Eh(l,t,a){var e=l.pingCache;e!==null&&e.delete(t),l.pingedLanes|=l.suspendedLanes&a,l.warmLanes&=~a,gl===l&&(el&a)===a&&(El===4||El===3&&(el&62914560)===el&&300>Fl()-Su?(rl&2)===0&&Se(l,0):Ni|=a,ve===el&&(ve=0)),jt(l)}function Nr(l,t){t===0&&(t=Af()),l=Ma(l,t),l!==null&&(Me(l,t),jt(l))}function _h(l){var t=l.memoizedState,a=0;t!==null&&(a=t.retryLane),Nr(l,a)}function Mh(l,t){var a=0;switch(l.tag){case 31:case 13:var e=l.stateNode,n=l.memoizedState;n!==null&&(a=n.retryLane);break;case 19:e=l.stateNode;break;case 22:e=l.stateNode._retryCache;break;default:throw Error(r(314))}e!==null&&e.delete(t),Nr(l,a)}function Dh(l,t){return $u(l,t)}var Eu=null,pe=null,Yi=!1,_u=!1,Xi=!1,ha=0;function jt(l){l!==pe&&l.next===null&&(pe===null?Eu=pe=l:pe=pe.next=l),_u=!0,Yi||(Yi=!0,Nh())}function fn(l,t){if(!Xi&&_u){Xi=!0;do for(var a=!1,e=Eu;e!==null;){if(l!==0){var n=e.pendingLanes;if(n===0)var u=0;else{var c=e.suspendedLanes,i=e.pingedLanes;u=(1<<31-Pl(42|l)+1)-1,u&=n&~(c&~i),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(a=!0,Rr(e,u))}else u=el,u=Nn(e,e===gl?u:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),(u&3)===0||_e(e,u)||(a=!0,Rr(e,u));e=e.next}while(a);Xi=!1}}function jh(){Or()}function Or(){_u=Yi=!1;var l=0;ha!==0&&Gh()&&(l=ha);for(var t=Fl(),a=null,e=Eu;e!==null;){var n=e.next,u=Cr(e,t);u===0?(e.next=null,a===null?Eu=n:a.next=n,n===null&&(pe=a)):(a=e,(l!==0||(u&3)!==0)&&(_u=!0)),e=n}Ul!==0&&Ul!==5||fn(l),ha!==0&&(ha=0)}function Cr(l,t){for(var a=l.suspendedLanes,e=l.pingedLanes,n=l.expirationTimes,u=l.pendingLanes&-62914561;0i)break;var E=s.transferSize,D=s.initiatorType;E&&Vr(D)&&(s=s.responseEnd,c+=E*(s"u"?null:document;function ld(l,t,a){var e=ze;if(e&&typeof t=="string"&&t){var n=ft(t);n='link[rel="'+l+'"][href="'+n+'"]',typeof a=="string"&&(n+='[crossorigin="'+a+'"]'),Pr.has(n)||(Pr.add(n),l={rel:l,crossOrigin:a,href:t},e.querySelector(n)===null&&(t=e.createElement("link"),Ql(t,"link",l),Hl(t),e.head.appendChild(t)))}}function Wh(l){kt.D(l),ld("dns-prefetch",l,null)}function $h(l,t){kt.C(l,t),ld("preconnect",l,t)}function Fh(l,t,a){kt.L(l,t,a);var e=ze;if(e&&l&&t){var n='link[rel="preload"][as="'+ft(t)+'"]';t==="image"&&a&&a.imageSrcSet?(n+='[imagesrcset="'+ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(n+='[imagesizes="'+ft(a.imageSizes)+'"]')):n+='[href="'+ft(l)+'"]';var u=n;switch(t){case"style":u=xe(l);break;case"script":u=Ae(l)}vt.has(u)||(l=y({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:l,as:t},a),vt.set(u,l),e.querySelector(n)!==null||t==="style"&&e.querySelector(dn(u))||t==="script"&&e.querySelector(mn(u))||(t=e.createElement("link"),Ql(t,"link",l),Hl(t),e.head.appendChild(t)))}}function Ih(l,t){kt.m(l,t);var a=ze;if(a&&l){var e=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+ft(e)+'"][href="'+ft(l)+'"]',u=n;switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Ae(l)}if(!vt.has(u)&&(l=y({rel:"modulepreload",href:l},t),vt.set(u,l),a.querySelector(n)===null)){switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(mn(u)))return}e=a.createElement("link"),Ql(e,"link",l),Hl(e),a.head.appendChild(e)}}}function Ph(l,t,a){kt.S(l,t,a);var e=ze;if(e&&l){var n=La(e).hoistableStyles,u=xe(l);t=t||"default";var c=n.get(u);if(!c){var i={loading:0,preload:null};if(c=e.querySelector(dn(u)))i.loading=5;else{l=y({rel:"stylesheet",href:l,"data-precedence":t},a),(a=vt.get(u))&&tf(l,a);var s=c=e.createElement("link");Hl(s),Ql(s,"link",l),s._p=new Promise(function(g,E){s.onload=g,s.onerror=E}),s.addEventListener("load",function(){i.loading|=1}),s.addEventListener("error",function(){i.loading|=2}),i.loading|=4,Ou(c,t,e)}c={type:"stylesheet",instance:c,count:1,state:i},n.set(u,c)}}}function l0(l,t){kt.X(l,t);var a=ze;if(a&&l){var e=La(a).hoistableScripts,n=Ae(l),u=e.get(n);u||(u=a.querySelector(mn(n)),u||(l=y({src:l,async:!0},t),(t=vt.get(n))&&af(l,t),u=a.createElement("script"),Hl(u),Ql(u,"link",l),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},e.set(n,u))}}function t0(l,t){kt.M(l,t);var a=ze;if(a&&l){var e=La(a).hoistableScripts,n=Ae(l),u=e.get(n);u||(u=a.querySelector(mn(n)),u||(l=y({src:l,async:!0,type:"module"},t),(t=vt.get(n))&&af(l,t),u=a.createElement("script"),Hl(u),Ql(u,"link",l),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},e.set(n,u))}}function td(l,t,a,e){var n=(n=Wt.current)?Nu(n):null;if(!n)throw Error(r(446));switch(l){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=xe(a.href),a=La(n).hoistableStyles,e=a.get(t),e||(e={type:"style",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){l=xe(a.href);var u=La(n).hoistableStyles,c=u.get(l);if(c||(n=n.ownerDocument||n,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(l,c),(u=n.querySelector(dn(l)))&&!u._p&&(c.instance=u,c.state.loading=5),vt.has(l)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},vt.set(l,a),u||a0(n,l,a,c.state))),t&&e===null)throw Error(r(528,""));return c}if(t&&e!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ae(a),a=La(n).hoistableScripts,e=a.get(t),e||(e={type:"script",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,l))}}function xe(l){return'href="'+ft(l)+'"'}function dn(l){return'link[rel="stylesheet"]['+l+"]"}function ad(l){return y({},l,{"data-precedence":l.precedence,precedence:null})}function a0(l,t,a,e){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?e.loading=1:(t=l.createElement("link"),e.preload=t,t.addEventListener("load",function(){return e.loading|=1}),t.addEventListener("error",function(){return e.loading|=2}),Ql(t,"link",a),Hl(t),l.head.appendChild(t))}function Ae(l){return'[src="'+ft(l)+'"]'}function mn(l){return"script[async]"+l}function ed(l,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var e=l.querySelector('style[data-href~="'+ft(a.href)+'"]');if(e)return t.instance=e,Hl(e),e;var n=y({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return e=(l.ownerDocument||l).createElement("style"),Hl(e),Ql(e,"style",n),Ou(e,a.precedence,l),t.instance=e;case"stylesheet":n=xe(a.href);var u=l.querySelector(dn(n));if(u)return t.state.loading|=4,t.instance=u,Hl(u),u;e=ad(a),(n=vt.get(n))&&tf(e,n),u=(l.ownerDocument||l).createElement("link"),Hl(u);var c=u;return c._p=new Promise(function(i,s){c.onload=i,c.onerror=s}),Ql(u,"link",e),t.state.loading|=4,Ou(u,a.precedence,l),t.instance=u;case"script":return u=Ae(a.src),(n=l.querySelector(mn(u)))?(t.instance=n,Hl(n),n):(e=a,(n=vt.get(u))&&(e=y({},a),af(e,n)),l=l.ownerDocument||l,n=l.createElement("script"),Hl(n),Ql(n,"link",e),l.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(e=t.instance,t.state.loading|=4,Ou(e,a.precedence,l));return t.instance}function Ou(l,t,a){for(var e=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=e.length?e[e.length-1]:null,u=n,c=0;c title"):null)}function e0(l,t,a){if(a===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return l=t.disabled,typeof t.precedence=="string"&&l==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function cd(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function n0(l,t,a,e){if(a.type==="stylesheet"&&(typeof e.media!="string"||matchMedia(e.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var n=xe(e.href),u=t.querySelector(dn(n));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Uu.bind(l),t.then(l,l)),a.state.loading|=4,a.instance=u,Hl(u);return}u=t.ownerDocument||t,e=ad(e),(n=vt.get(n))&&tf(e,n),u=u.createElement("link"),Hl(u);var c=u;c._p=new Promise(function(i,s){c.onload=i,c.onerror=s}),Ql(u,"link",e),a.instance=u}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(l.count++,a=Uu.bind(l),t.addEventListener("load",a),t.addEventListener("error",a))}}var ef=0;function u0(l,t){return l.stylesheets&&l.count===0&&Hu(l,l.stylesheets),0ef?50:800)+t);return l.unsuspend=a,function(){l.unsuspend=null,clearTimeout(e),clearTimeout(n)}}:null}function Uu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hu(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Ru=null;function Hu(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Ru=new Map,t.forEach(c0,l),Ru=null,Uu.call(l))}function c0(l,t){if(!(t.state.loading&4)){var a=Ru.get(l);if(a)var e=a.get(null);else{a=new Map,Ru.set(l,a);for(var n=l.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(f)}catch(S){console.error(S)}}return f(),df.exports=z0(),df.exports}var A0=x0();const Rd=z.createContext({windows:[],openWindow:()=>{},closeWindow:()=>{},bringToFront:()=>{}}),T0=({children:f})=>{const[S,A]=z.useState([]),r=z.useRef(1e4),T=z.useCallback((O,h,_)=>{A(B=>B.find(j=>j.id===O)?B.map(j=>j.id===O?{...j,zIndex:++r.current}:j):[...B,{id:O,title:h,charName:_,zIndex:++r.current}])},[]),C=z.useCallback(O=>{A(h=>h.filter(_=>_.id!==O))},[]),N=z.useCallback(O=>{A(h=>h.map(_=>_.id===O?{..._,zIndex:++r.current}:_))},[]);return o.jsx(Rd.Provider,{value:{windows:S,openWindow:T,closeWindow:C,bringToFront:N},children:f})},zn=()=>z.useContext(Rd),gt={west:-102.1,east:102.1,north:102.1,south:-102.1};function xn(f,S,A,r){const T=(f-gt.west)/(gt.east-gt.west)*A,C=(gt.north-S)/(gt.north-gt.south)*r;return{x:T,y:C}}function E0(f,S,A,r,T,C,N){const O=(f-r)/A,h=(S-T)/A,_=gt.west+O/C*(gt.east-gt.west),B=gt.north-h/N*(gt.north-gt.south);return{ew:_,ns:B}}function yf(f,S){const A=f>=0?"N":"S",r=S>=0?"E":"W";return`${Math.abs(f).toFixed(1)}${A}, ${Math.abs(S).toFixed(1)}${r}`}const Hd=pn.memo(({players:f,imgW:S,imgH:A,getColor:r,onHover:T,onSelect:C,selectedPlayer:N})=>{const{openWindow:O}=zn(),[h,_]=z.useState(null);z.useEffect(()=>{const y=()=>_(null);return h&&window.addEventListener("click",y),()=>window.removeEventListener("click",y)},[h]);const B=z.useMemo(()=>f.filter(y=>y.ew!==void 0&&y.ns!==void 0).map(y=>({...y,pos:xn(y.ew,y.ns,S,A),color:r(y.character_name)})),[f,S,A,r]);return o.jsxs("div",{className:"ml-dots-layer",children:[B.map(y=>o.jsx("div",{className:`ml-dot ${N===y.character_name?"ml-dot-selected":""}`,style:{left:y.pos.x,top:y.pos.y,backgroundColor:y.color},onMouseEnter:j=>{var V;const U=(V=j.currentTarget.closest(".ml-map-container"))==null?void 0:V.getBoundingClientRect();U&&T(y,j.clientX-U.left,j.clientY-U.top)},onMouseLeave:()=>T(null,0,0),onClick:()=>C(y.character_name),onDoubleClick:()=>O(`chat-${y.character_name}`,`Chat: ${y.character_name}`,y.character_name),onContextMenu:j=>{var Sl;j.preventDefault();const U=y.character_name,V=(Sl=j.currentTarget.closest(".ml-map-container"))==null?void 0:Sl.getBoundingClientRect(),P=V?j.clientX-V.left:j.clientX,fl=V?j.clientY-V.top:j.clientY;_({name:U,x:P,y:fl})}},y.character_name)),h&&o.jsx("div",{style:{position:"fixed",left:h.x+410,top:h.y,background:"#1a1a1a",border:"1px solid #444",borderRadius:4,zIndex:9999,padding:"2px 0",fontSize:"0.75rem",boxShadow:"0 4px 12px rgba(0,0,0,0.5)",minWidth:120},children:[{label:"Chat",id:"chat"},{label:"Stats",id:"stats"},{label:"Inventory",id:"inv"},{label:"Character",id:"char"},{label:"Combat",id:"combat"},{label:"Radar",id:"radar"}].map(y=>o.jsx("div",{onClick:()=>{O(`${y.id}-${h.name}`,`${y.label}: ${h.name}`,h.name),_(null)},style:{padding:"4px 12px",cursor:"pointer",color:"#ccc"},onMouseEnter:j=>j.currentTarget.style.background="#333",onMouseLeave:j=>j.currentTarget.style.background="",children:y.label},y.id))})]})});Hd.displayName="PlayerDots";const Zu="/api";async function At(f){const S=await fetch(`${Zu}${f}`,{credentials:"include"});if(!S.ok)throw new Error(`API ${f}: ${S.status}`);return S.json()}async function vf(f,S){var r;const A=await fetch(`${Zu}${f}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(S??{})});if(!A.ok){let T="";try{T=((r=await A.json())==null?void 0:r.detail)??""}catch{}throw new Error(`API ${f}: ${A.status}${T?` (${T})`:""}`)}return A.json()}async function _0(f,S){var r;const A=await fetch(`${Zu}${f}`,{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(S??{})});if(!A.ok){let T="";try{T=((r=await A.json())==null?void 0:r.detail)??""}catch{}throw new Error(`API ${f}: ${A.status}${T?` (${T})`:""}`)}return A.json()}async function M0(f){var A;const S=await fetch(`${Zu}${f}`,{method:"DELETE",credentials:"include"});if(!S.ok){let r="";try{r=((A=await S.json())==null?void 0:A.detail)??""}catch{}throw new Error(`API ${f}: ${S.status}${r?` (${r})`:""}`)}return S.json()}function D0(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/api/ws/live`}const Bd=pn.memo(({imgW:f,imgH:S,getColor:A})=>{const[r,T]=z.useState([]);z.useEffect(()=>{const N=async()=>{try{const h=await At("/trails/?seconds=600");T(h.trails??[])}catch{}};N();const O=setInterval(N,2e3);return()=>clearInterval(O)},[]);const C=z.useMemo(()=>{const N={};for(const O of r){const{x:h,y:_}=xn(O.ew,O.ns,f,S);N[O.character_name]||(N[O.character_name]=[]),N[O.character_name].push(`${h},${_}`)}return Object.entries(N).filter(([,O])=>O.length>=2).map(([O,h])=>({name:O,points:h.join(" ")}))},[r,f,S]);return o.jsx("svg",{className:"ml-trails-svg",viewBox:`0 0 ${f} ${S}`,preserveAspectRatio:"none",children:C.map(N=>o.jsx("polyline",{points:N.points,stroke:A(N.name),fill:"none",strokeWidth:2,strokeOpacity:.7,strokeLinecap:"round",strokeLinejoin:"round"},N.name))})});Bd.displayName="TrailsSVG";const j0=({imgW:f,imgH:S,enabled:A})=>{const r=z.useRef(null),[T,C]=z.useState([]);return z.useEffect(()=>{if(!A)return;(async()=>{try{const O=await At("/spawns/heatmap?hours=24&limit=50000");C(O.spawn_points??[])}catch{}})()},[A]),z.useEffect(()=>{const N=r.current;if(!N||!A||T.length===0||f===0)return;N.width=f,N.height=S;const O=N.getContext("2d");if(O){O.clearRect(0,0,f,S);for(const h of T){const{x:_,y:B}=xn(h.ew,h.ns,f,S),y=Math.max(5,Math.min(12,5+Math.sqrt(h.intensity*.5))),j=O.createRadialGradient(_,B,0,_,B,y);j.addColorStop(0,`rgba(255, 0, 0, ${Math.min(.9,h.intensity/40)})`),j.addColorStop(.6,`rgba(255, 100, 0, ${Math.min(.4,h.intensity/120)})`),j.addColorStop(1,"rgba(255, 150, 0, 0)"),O.fillStyle=j,O.fillRect(_-y,B-y,y*2,y*2)}}},[T,f,S,A]),A?o.jsx("canvas",{ref:r,className:"ml-heatmap-canvas"}):null},N0=({imgW:f,imgH:S,enabled:A})=>{const[r,T]=z.useState([]);z.useEffect(()=>{if(!A)return;const N=async()=>{try{const h=await At("/portals");T(h.portals??[])}catch{}};N();const O=setInterval(N,6e4);return()=>clearInterval(O)},[A]);const C=z.useMemo(()=>r.map(N=>({...N,pos:xn(N.coordinates.ew,N.coordinates.ns,f,S)})),[r,f,S]);return!A||C.length===0?null:o.jsx("div",{className:"ml-portals-layer",children:C.map((N,O)=>o.jsx("div",{className:"ml-portal-icon",style:{left:N.pos.x,top:N.pos.y},title:`${N.portal_name} (by ${N.discovered_by})`},O))})},_d="mo-midsummer",qd=z.createContext(null),O0=({children:f})=>{const[S,A]=z.useState(()=>localStorage.getItem(_d)!=="off");z.useEffect(()=>{const T=document.documentElement;S?T.setAttribute("data-midsummer",""):T.removeAttribute("data-midsummer"),localStorage.setItem(_d,S?"on":"off")},[S]);const r=z.useCallback(()=>A(T=>!T),[]);return o.jsx(qd.Provider,{value:{enabled:S,toggle:r},children:f})};function Lu(){const f=z.useContext(qd);if(!f)throw new Error("useMidsummer must be used within MidsummerProvider");return f}const Md=6,C0=(f,S)=>({x:f/2,y:S/2}),U0=({imgW:f,imgH:S})=>{const{enabled:A}=Lu();if(!A||f===0)return null;const{x:r,y:T}=C0(f,S);return o.jsxs("div",{className:"ms-maypole",style:{left:r,top:T},"aria-hidden":"true",children:[o.jsx("div",{className:"ms-maypole-pole"}),o.jsx("div",{className:"ms-maypole-ring",children:Array.from({length:Md}).map((C,N)=>o.jsx("span",{className:"ms-frog",style:{transform:`rotate(${360/Md*N}deg) translateY(-40px)`},children:"🐸"},N))})]})},Dd=20,jd=.3,R0=({players:f,getColor:S,onSelectPlayer:A,showHeatmap:r,showPortals:T,selectedPlayer:C})=>{var Vl;const N=z.useRef(null),O=z.useRef(null),[h,_]=z.useState({w:0,h:0}),[B,y]=z.useState(null),j=z.useRef(null),U=z.useRef({scale:1,offX:0,offY:0}),V=z.useRef({dragging:!1,sx:0,sy:0,startOffX:0,startOffY:0}),P=z.useCallback(()=>{if(O.current){const{scale:F,offX:ll,offY:G}=U.current;O.current.style.transform=`translate(${ll}px, ${G}px) scale(${F})`}},[]),fl=z.useCallback(F=>{const ll=F.currentTarget;if(_({w:ll.naturalWidth,h:ll.naturalHeight}),N.current){const G=N.current.clientWidth,w=N.current.clientHeight,J=Math.min(G/ll.naturalWidth,w/ll.naturalHeight);U.current={scale:J,offX:(G-ll.naturalWidth*J)/2,offY:(w-ll.naturalHeight*J)/2},P()}},[P]),Sl=z.useCallback(F=>{var Tt;F.preventDefault();const ll=(Tt=N.current)==null?void 0:Tt.getBoundingClientRect();if(!ll)return;const G=U.current,w=F.deltaY<0?1.1:.9,J=Math.min(Dd,Math.max(jd,G.scale*w)),zl=J/G.scale,Al=F.clientX-ll.left,Nt=F.clientY-ll.top;U.current={scale:J,offX:Al-(Al-G.offX)*zl,offY:Nt-(Nt-G.offY)*zl},P()},[P]),K=z.useCallback(F=>{if(F.button!==0)return;const ll=U.current;V.current={dragging:!0,sx:F.clientX,sy:F.clientY,startOffX:ll.offX,startOffY:ll.offY}},[]);z.useEffect(()=>{const F=G=>{const w=V.current;if(w.dragging&&(U.current.offX=w.startOffX+(G.clientX-w.sx),U.current.offY=w.startOffY+(G.clientY-w.sy),P()),N.current&&h.w>0&&j.current){const J=N.current.getBoundingClientRect(),zl=U.current,Al=E0(G.clientX-J.left,G.clientY-J.top,zl.scale,zl.offX,zl.offY,h.w,h.h);j.current.textContent=yf(Al.ns,Al.ew)}},ll=()=>{V.current.dragging=!1};return window.addEventListener("mousemove",F),window.addEventListener("mouseup",ll),()=>{window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",ll)}},[P,h.w,h.h]);const k=z.useRef(null);z.useEffect(()=>{if(!C||h.w===0||!N.current||k.current===C)return;const F=f.find(zl=>zl.character_name===C);if(!F)return;k.current=C;const{x:ll,y:G}=xn(F.ew,F.ns,h.w,h.h),w=N.current.getBoundingClientRect(),J=3;U.current={scale:Math.min(Dd,Math.max(jd,J)),offX:w.width/2-ll*J,offY:w.height/2-G*J},P()},[C,f,h.w,h.h,P]),z.useEffect(()=>{C||(k.current=null)},[C]);const Dl=z.useCallback((F,ll,G)=>{y(F?{x:ll,y:G,player:F}:null)},[]);return o.jsxs("div",{className:"ml-map-container",ref:N,onWheel:Sl,onMouseDown:K,children:[o.jsxs("div",{ref:O,className:"ml-map-group",children:[o.jsx("img",{src:"/dereth.png",alt:"Dereth",className:"ml-map-img",onLoad:fl,draggable:!1}),h.w>0&&o.jsxs(o.Fragment,{children:[o.jsx(j0,{imgW:h.w,imgH:h.h,enabled:r}),o.jsx(Bd,{imgW:h.w,imgH:h.h,getColor:S}),o.jsx(Hd,{players:f,imgW:h.w,imgH:h.h,getColor:S,onHover:Dl,onSelect:A,selectedPlayer:C}),o.jsx(N0,{imgW:h.w,imgH:h.h,enabled:T}),o.jsx(U0,{imgW:h.w,imgH:h.h})]})]}),B&&o.jsxs("div",{className:"ml-tooltip",style:{left:B.x+12,top:B.y-10},children:[o.jsx("strong",{children:B.player.character_name}),o.jsx("br",{}),yf(B.player.ns,B.player.ew),o.jsx("br",{}),B.player.kills_per_hour," kph Β· ",(Vl=B.player.kills)==null?void 0:Vl.toLocaleString()," kills"]}),o.jsx("div",{className:"ml-coords",ref:j})]})},Yd=pn.memo(({player:f,vitals:S,color:A,onSelect:r,isSelected:T})=>{var B,y;const{openWindow:C}=zn(),N=(f.vt_state||"idle").toLowerCase(),O=N==="combat"||N==="hunt",h=(f.total_rares??0)>0?Math.round((f.total_kills??0)/(f.total_rares??1)).toLocaleString():null,_=f.character_name;return o.jsxs("li",{className:`ml-player-row ${T?"ml-player-selected":""}`,style:{borderLeftColor:A},children:[o.jsxs("div",{className:"ml-pr-header",onClick:r,children:[o.jsx("span",{className:"ml-pr-name",children:_}),o.jsx("span",{className:"ml-pr-coords",children:yf(f.ns,f.ew)})]}),o.jsxs("div",{className:"ml-pr-vitals",children:[o.jsx("div",{className:"ml-vital-bar hp",children:o.jsx("div",{className:"ml-vital-fill",style:{width:`${(S==null?void 0:S.health_percentage)??0}%`}})}),o.jsx("div",{className:"ml-vital-bar sta",children:o.jsx("div",{className:"ml-vital-fill",style:{width:`${(S==null?void 0:S.stamina_percentage)??0}%`}})}),o.jsx("div",{className:"ml-vital-bar mana",children:o.jsx("div",{className:"ml-vital-fill",style:{width:`${(S==null?void 0:S.mana_percentage)??0}%`}})})]}),o.jsxs("div",{className:"ml-pr-grid",children:[o.jsxs("span",{className:"ml-gs",title:"Session kills",children:["βš”οΈ ",((B=f.kills)==null?void 0:B.toLocaleString())??0]}),o.jsxs("span",{className:"ml-gs",title:"Total kills",children:["πŸ† ",(f.total_kills??0).toLocaleString()]}),o.jsxs("span",{className:"ml-gs",title:"Kills per hour",children:[f.kills_per_hour??"0"," ",o.jsx("span",{className:"ml-suffix",children:"KPH"})]}),o.jsxs("span",{className:"ml-gs",title:"Rares (session / total)",children:["πŸ’Ž ",f.session_rares??0," / ",f.total_rares??0]}),o.jsx("span",{className:"ml-gs",title:"Kills per rare",children:h?o.jsxs(o.Fragment,{children:["πŸ“Š ",h," ",o.jsx("span",{className:"ml-suffix",children:"KPR"})]}):""}),o.jsx("span",{className:`ml-meta-pill ${O?"active":N!=="idle"&&N!=="default"&&N!==""?"other":""}`,children:f.vt_state||"idle"}),o.jsxs("span",{className:"ml-gs",title:"Online time",children:["πŸ• ",((y=f.onlinetime)==null?void 0:y.replace(/^00\./,""))??"--"]}),o.jsxs("span",{className:"ml-gs",title:"Deaths",children:["☠️ ",f.deaths??"0"]}),o.jsxs("span",{className:"ml-gs",title:"Prismatic tapers",children:[o.jsx("img",{src:"/prismatic-taper-icon.png",className:"ml-taper-icon",alt:""}),f.prismatic_taper_count??"0"]})]}),o.jsxs("div",{className:"ml-pr-buttons",children:[o.jsx("button",{className:"ml-btn accent",onClick:()=>C(`chat-${_}`,`Chat: ${_}`,_),children:"Chat"}),o.jsx("button",{className:"ml-btn accent",onClick:()=>C(`stats-${_}`,`Stats: ${_}`,_),children:"Stats"}),o.jsx("button",{className:"ml-btn accent",onClick:()=>C(`inv-${_}`,`Inventory: ${_}`,_),children:"Inv"}),o.jsx("button",{className:"ml-btn",onClick:()=>C(`char-${_}`,`Character: ${_}`,_),children:"Char"}),o.jsx("button",{className:"ml-btn",onClick:()=>C(`combat-${_}`,`Combat: ${_}`,_),children:"Combat"}),o.jsx("button",{className:"ml-btn",onClick:()=>C(`radar-${_}`,`Radar: ${_}`,_),children:"Radar"})]})]})});Yd.displayName="PlayerRow";const H0=({players:f,vitals:S,getColor:A,onSelect:r,selectedPlayer:T})=>{const C=z.useRef(null),[N,O]=z.useState(!1),h=z.useCallback(()=>{C.current&&O(C.current.scrollTop>200)},[]);return o.jsxs("div",{style:{position:"relative",flex:1,minHeight:0},children:[o.jsx("ul",{className:"ml-player-list",ref:C,onScroll:h,children:f.map(_=>o.jsx(Yd,{player:_,vitals:S.get(_.character_name)??null,color:A(_.character_name),onSelect:()=>r(_.character_name),isSelected:T===_.character_name},_.character_name))}),N&&o.jsx("button",{onClick:()=>{var _;(_=C.current)==null||_.scrollTo({top:0,behavior:"smooth"})},style:{position:"absolute",bottom:8,right:8,width:28,height:28,borderRadius:"50%",background:"rgba(68,136,255,0.2)",border:"1px solid rgba(68,136,255,0.4)",color:"#6af",cursor:"pointer",fontSize:"0.8rem",display:"flex",alignItems:"center",justifyContent:"center"},children:"β–²"})]})},B0=[{key:"name",label:"Name"},{key:"kph",label:"KPH"},{key:"skills",label:"S.Kills"},{key:"srares",label:"S.Rares"},{key:"tkills",label:"T.Kills"},{key:"kpr",label:"KPR"}],q0=({value:f,onChange:S})=>o.jsx("div",{className:"ml-sort-buttons",children:B0.map(A=>o.jsx("button",{className:`ml-sort-btn ${f===A.key?"active":""}`,onClick:()=>S(A.key),children:A.label},A.key))}),Y0=()=>At("/live"),X0=()=>At("/combat-stats"),G0=()=>At("/server-health"),Q0=()=>At("/total-rares"),V0=()=>At("/total-kills"),My=(f,S)=>vf("/agent/ask",{message:f,session_id:S}),Dy=()=>vf("/agent/sessions/new",{}),jy=f=>At(`/agent/sessions/${encodeURIComponent(f)}/history`),Z0=()=>At("/me");async function L0(){await fetch("/api/logout",{credentials:"include",redirect:"manual"}),window.location.href="/login"}const Ny=()=>At("/api-admin/users"),Oy=(f,S,A)=>vf("/api-admin/users",{username:f,password:S,is_admin:A}),Cy=(f,S)=>_0(`/api-admin/users/${f}`,S),Uy=f=>M0(`/api-admin/users/${f}`);function K0(){const[f,S]=z.useState(null),[A,r]=z.useState(!0);return z.useEffect(()=>{let T=!1;return Z0().then(C=>{T||S(C)}).catch(()=>{T||S(null)}).finally(()=>{T||r(!1)}),()=>{T=!0}},[]),{user:f,loading:A}}const w0=()=>{const{enabled:f,toggle:S}=Lu();return o.jsxs("span",{className:"ml-tool-link",style:{cursor:"pointer"},title:f?"Turn off the midsummer theme":"Turn on the midsummer theme",onClick:S,children:["🐸 Midsommar ",f?"on":"off"]})},J0=()=>{const{openWindow:f}=zn(),{user:S}=K0(),A=!!(S!=null&&S.is_admin),r=z.useCallback(async()=>{if(confirm("Log out?"))try{await L0()}catch{window.location.href="/login"}},[]);return o.jsxs("div",{className:"ml-tool-links",children:[o.jsx(w0,{}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("agent","Overlord Assistant"),children:"πŸ€– Assistant"}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},title:"Opens the player dashboard in a new tab",onClick:()=>window.open("/?view=dashboard","_blank","noopener"),children:"πŸ‘₯ Dashboard β†—"}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("queststatus","Quest Status"),children:"πŸ“œ Quests"}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("issues","Issues Board"),children:"πŸ“‹ Issues"}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("vitalsharing","Vital Sharing"),children:"🀝 Vitals"}),o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("combatpicker","Combat Stats"),children:"βš”οΈ Combat"}),A&&o.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>f("adminusers","Admin Β· Users"),children:"πŸ›‘οΈ Admin"}),o.jsxs("span",{className:"ml-tool-link ml-tool-link-logout",style:{cursor:"pointer"},onClick:r,title:S?`Logged in as ${S.username}`:"Log out",children:["πŸšͺ Log out",S?` (${S.username})`:""]})]})},k0=({players:f,vitals:S,serverHealth:A,totalRares:r,totalKills:T,getColor:C,onSelectPlayer:N,showHeatmap:O,showPortals:h,onToggleHeatmap:_,onTogglePortals:B,version:y,selectedPlayer:j})=>{var F,ll;const[U,V]=z.useState("name"),[P,fl]=z.useState(""),Sl=z.useMemo(()=>f.reduce((G,w)=>G+(parseInt(w.kills_per_hour)||0),0),[f]),K=((F=A==null?void 0:A.status)==null?void 0:F.toLowerCase())==="online"||((ll=A==null?void 0:A.status)==null?void 0:ll.toLowerCase())==="up",k=z.useDeferredValue(f),Dl=z.useDeferredValue(S),Vl=z.useMemo(()=>{let G=[...k];switch(P&&(G=G.filter(w=>w.character_name.toLowerCase().startsWith(P.toLowerCase()))),U){case"kph":G.sort((w,J)=>(parseInt(J.kills_per_hour)||0)-(parseInt(w.kills_per_hour)||0));break;case"skills":G.sort((w,J)=>(J.kills||0)-(w.kills||0));break;case"srares":G.sort((w,J)=>(J.session_rares??0)-(w.session_rares??0));break;case"tkills":G.sort((w,J)=>(J.total_kills??0)-(w.total_kills??0));break;case"kpr":G.sort((w,J)=>{const zl=(w.total_kills??0)/Math.max(1,w.total_rares??1),Al=(J.total_kills??0)/Math.max(1,J.total_rares??1);return zl-Al});break;default:G.sort((w,J)=>w.character_name.localeCompare(J.character_name))}return G},[k,U,P]);return o.jsxs("div",{className:"ml-sidebar",children:[y&&o.jsxs("div",{className:"ml-version",children:["v",y]}),o.jsx("div",{className:"ml-sidebar-header",children:o.jsxs("span",{className:"ml-sidebar-title",style:{cursor:"pointer"},onClick:()=>{if(document.querySelector(".ms-hop-frogs"))return;const G=document.querySelector(".ml-layout");G&&(G.classList.remove("ms-hop"),G.offsetWidth,G.classList.add("ms-hop"));const w=document.createElement("div");w.className="ms-hop-frogs";for(let J=0;J<9;J++){const zl=document.createElement("span");zl.textContent="🐸",zl.style.left=J*11+3+"vw",zl.style.animationDelay=(J*.07).toFixed(2)+"s",w.appendChild(zl)}document.body.appendChild(w),window.setTimeout(()=>{G==null||G.classList.remove("ms-hop"),w.remove()},2600)},children:["Active Mosswart Enjoyers (",f.length,")"]})}),o.jsxs("div",{className:"ml-server-status",children:[o.jsx("span",{className:`ml-status-dot ${K?"online":"offline"}`}),o.jsxs("span",{className:"ml-status-text",children:["Coldeve ",K?"Online":"Offline"]}),(A==null?void 0:A.player_count)!=null&&o.jsxs("span",{className:"ml-status-detail",children:["πŸ‘₯ ",A.player_count]}),(A==null?void 0:A.latency_ms)!=null&&o.jsxs("span",{className:"ml-status-detail",children:[Math.round(A.latency_ms),"ms"]}),(A==null?void 0:A.uptime_seconds)!=null&&o.jsxs("span",{className:"ml-status-detail",children:["Up: ",Math.floor(A.uptime_seconds/3600),"h"]})]}),o.jsxs("div",{className:"ml-counters",children:[o.jsxs("div",{className:"ml-counter rares",children:[o.jsx("span",{className:"ml-counter-val",children:r}),o.jsx("span",{className:"ml-counter-lbl",children:"Rares"})]}),o.jsxs("div",{className:`ml-counter kph ${Sl>5e3?"ultra":""}`,children:[o.jsx("span",{className:"ml-counter-val",children:Sl.toLocaleString()}),o.jsx("span",{className:"ml-counter-lbl",children:"Server KPH"})]}),o.jsxs("div",{className:"ml-counter kills",children:[o.jsx("span",{className:"ml-counter-val",children:T.toLocaleString()}),o.jsx("span",{className:"ml-counter-lbl",children:"Kills"})]})]}),o.jsxs("div",{className:"ml-tool-links",children:[o.jsx("a",{href:"/inventory.html",target:"_blank",className:"ml-tool-link",children:"πŸ” Inv Search"}),o.jsx("a",{href:"/suitbuilder.html",target:"_blank",className:"ml-tool-link",children:"πŸ›‘οΈ Suitbuilder"}),o.jsx("a",{href:"/debug.html",target:"_blank",className:"ml-tool-link",children:"πŸ› Debug"})]}),o.jsx(J0,{}),o.jsxs("div",{className:"ml-toggles",children:[o.jsxs("label",{className:"ml-toggle-label",children:[o.jsx("input",{type:"checkbox",checked:O,onChange:G=>_(G.target.checked)}),o.jsx("span",{children:"Spawn Heatmap"})]}),o.jsxs("label",{className:"ml-toggle-label",children:[o.jsx("input",{type:"checkbox",checked:h,onChange:G=>B(G.target.checked)}),o.jsx("span",{children:"Portals"})]})]}),o.jsx("div",{style:{borderTop:"1px solid #333",marginTop:4,paddingTop:4}}),o.jsx(q0,{value:U,onChange:V}),o.jsx("input",{className:"ml-filter",type:"text",placeholder:"Filter players...",value:P,onChange:G=>fl(G.target.value)}),o.jsx(H0,{players:Vl,vitals:Dl,getColor:C,onSelect:N,selectedPlayer:j})]})},W0="modulepreload",$0=function(f){return"/"+f},Nd={},St=function(S,A,r){let T=Promise.resolve();if(A&&A.length>0){let N=function(_){return Promise.all(_.map(B=>Promise.resolve(B).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const O=document.querySelector("meta[property=csp-nonce]"),h=(O==null?void 0:O.nonce)||(O==null?void 0:O.getAttribute("nonce"));T=N(A.map(_=>{if(_=$0(_),_ in Nd)return;Nd[_]=!0;const B=_.endsWith(".css"),y=B?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${_}"]${y}`))return;const j=document.createElement("link");if(j.rel=B?"stylesheet":W0,B||(j.as="script"),j.crossOrigin="",j.href=_,h&&j.setAttribute("nonce",h),document.head.appendChild(j),B)return new Promise((U,V)=>{j.addEventListener("load",U),j.addEventListener("error",()=>V(new Error(`Unable to preload CSS for ${_}`)))})}))}function C(N){const O=new Event("vite:preloadError",{cancelable:!0});if(O.payload=N,window.dispatchEvent(O),!O.defaultPrevented)throw N}return T.then(N=>{for(const O of N||[])O.status==="rejected"&&C(O.reason);return S().catch(C)})},Xd=({id:f,title:S,zIndex:A,width:r=700,height:T=340,children:C})=>{const{closeWindow:N,bringToFront:O}=zn(),h=z.useRef(null),_=z.useRef({dragging:!1,sx:0,sy:0,ox:0,oy:0}),B=z.useRef({resizing:!1,sx:0,sy:0,sw:0,sh:0}),y=z.useRef({x:420,y:10+Math.random()*40}),[j,U]=z.useState({w:r,h:T}),V=z.useCallback(fl=>{var K;fl.preventDefault(),O(f);const Sl=(K=h.current)==null?void 0:K.getBoundingClientRect();Sl&&(_.current={dragging:!0,sx:fl.clientX,sy:fl.clientY,ox:Sl.left,oy:Sl.top})},[f,O]),P=z.useCallback(fl=>{fl.preventDefault(),fl.stopPropagation(),B.current={resizing:!0,sx:fl.clientX,sy:fl.clientY,sw:j.w,sh:j.h}},[j.w,j.h]);return z.useEffect(()=>{const fl=K=>{const k=_.current;k.dragging&&h.current&&(y.current.x=k.ox+(K.clientX-k.sx),y.current.y=k.oy+(K.clientY-k.sy),h.current.style.left=`${y.current.x}px`,h.current.style.top=`${y.current.y}px`);const Dl=B.current;if(Dl.resizing){const Vl=Math.max(300,Dl.sw+(K.clientX-Dl.sx)),F=Math.max(200,Dl.sh+(K.clientY-Dl.sy));U({w:Vl,h:F})}},Sl=()=>{_.current.dragging=!1,B.current.resizing=!1};return window.addEventListener("mousemove",fl),window.addEventListener("mouseup",Sl),()=>{window.removeEventListener("mousemove",fl),window.removeEventListener("mouseup",Sl)}},[]),o.jsxs("div",{ref:h,className:"ml-window",style:{zIndex:A,width:j.w,height:j.h,left:y.current.x,top:y.current.y},onMouseDown:()=>O(f),children:[o.jsxs("div",{className:"ml-window-header",onMouseDown:V,children:[o.jsx("span",{className:"ml-window-title",children:S}),o.jsx("button",{className:"ml-window-close",onClick:()=>N(f),children:"Γ—"})]}),o.jsx("div",{className:"ml-window-content",children:C}),o.jsx("div",{className:"ml-window-resize",onMouseDown:P})]})},F0={0:"#00FF00",2:"#FFFFFF",3:"#FF0000",4:"#FFFFFF",5:"#33CCFF",6:"#CCFF99",7:"#00FFFF",14:"#FFD700",15:"#FF69B4",17:"#AAAAFF",18:"#88FF88",21:"#FF8888",22:"#FFAA66"},Gd=50,Qd=f=>`mo-chat-history-${f}`;function I0(f){try{const S=localStorage.getItem(Qd(f));return S?JSON.parse(S):[]}catch{return[]}}function P0(f,S){try{localStorage.setItem(Qd(f),JSON.stringify(S.slice(-Gd)))}catch{}}const ly=({id:f,charName:S,zIndex:A,messages:r,socket:T})=>{const C=z.useRef(null),[N,O]=z.useState(""),[h,_]=z.useState(!1),B=z.useRef(I0(S)),y=z.useRef(-1),j=z.useRef(""),U=z.useRef(!1);z.useEffect(()=>{const K=C.current;K&&(U.current?_(!0):(K.scrollTop=K.scrollHeight,_(!1)))},[r.length]);const V=z.useCallback(()=>{const K=C.current;if(!K)return;const k=K.scrollHeight-K.scrollTop-K.clientHeight<30;U.current=!k,k&&_(!1)},[]),P=z.useCallback(()=>{const K=C.current;K&&(K.scrollTop=K.scrollHeight,U.current=!1,_(!1))},[]),fl=z.useCallback(K=>{K.preventDefault();const k=N.trim();!k||!T||T.readyState!==WebSocket.OPEN||(T.send(JSON.stringify({player_name:S,command:k})),B.current.push(k),B.current.length>Gd&&B.current.shift(),P0(S,B.current),y.current=-1,j.current="",O(""),U.current=!1)},[N,T,S]),Sl=z.useCallback(K=>{const k=B.current;if(k.length!==0){if(K.key==="ArrowUp")K.preventDefault(),y.current===-1?(j.current=N,y.current=k.length-1):y.current>0&&y.current--,O(k[y.current]);else if(K.key==="ArrowDown"){if(K.preventDefault(),y.current===-1)return;y.currento.jsx("div",{className:"ml-chat-line",style:{color:F0[K.color??2]??"#ddd"},children:K.text},k))}),h&&o.jsx("div",{onClick:P,style:{padding:"3px 0",textAlign:"center",fontSize:"0.65rem",color:"#6af",background:"#1a2a3a",cursor:"pointer",borderTop:"1px solid #334"},children:"β–Ό New messages below"}),o.jsx("form",{className:"ml-chat-form",onSubmit:fl,children:o.jsx("input",{className:"ml-chat-input",value:N,onChange:K=>O(K.target.value),onKeyDown:Sl,placeholder:"Enter chat..."})})]})},ty=z.lazy(()=>St(()=>import("./StatsWindow-ByOdGV7k.js"),__vite__mapDeps([0,1])).then(f=>({default:f.StatsWindow}))),ay=z.lazy(()=>St(()=>import("./CharacterWindow-BQ1W50Yr.js"),__vite__mapDeps([2,1])).then(f=>({default:f.CharacterWindow}))),ey=z.lazy(()=>St(()=>import("./InventoryWindow-Bcbj1qpi.js"),__vite__mapDeps([3,1])).then(f=>({default:f.InventoryWindow}))),ny=z.lazy(()=>St(()=>import("./RadarWindow-Ck-ZXL0X.js"),__vite__mapDeps([4,1])).then(f=>({default:f.RadarWindow}))),uy=z.lazy(()=>St(()=>import("./CombatStatsWindow-B5ExQS-J.js"),__vite__mapDeps([5,1])).then(f=>({default:f.CombatStatsWindow}))),cy=z.lazy(()=>St(()=>import("./CombatPickerWindow-BJXsqBXB.js"),__vite__mapDeps([6,1])).then(f=>({default:f.CombatPickerWindow}))),iy=z.lazy(()=>St(()=>import("./IssuesWindow-dWHeGxap.js"),__vite__mapDeps([7,1])).then(f=>({default:f.IssuesWindow}))),fy=z.lazy(()=>St(()=>import("./VitalSharingWindow-8Ale6iJP.js"),__vite__mapDeps([8,1])).then(f=>({default:f.VitalSharingWindow}))),sy=z.lazy(()=>St(()=>import("./QuestStatusWindow-CUxZqStR.js"),__vite__mapDeps([9,1])).then(f=>({default:f.QuestStatusWindow}))),oy=z.lazy(()=>St(()=>Promise.resolve().then(()=>xy),void 0).then(f=>({default:f.PlayerDashboardWindow}))),ry=z.lazy(()=>St(()=>import("./AgentWindow-COH8h8RZ.js"),__vite__mapDeps([10,1])).then(f=>({default:f.AgentWindow}))),dy=z.lazy(()=>St(()=>import("./AdminUsersWindow-BhagAzyV.js"),__vite__mapDeps([11,1])).then(f=>({default:f.AdminUsersWindow}))),Vd=pn.memo(({characters:f,chatMessages:S,nearbyObjects:A,inventoryVersions:r,equipmentCantrips:T,characterStats:C,socket:N})=>{const{windows:O}=zn();return o.jsx(z.Suspense,{fallback:null,children:O.map(h=>{var y;const _=h.charName??"";switch(h.id.split("-")[0]){case"chat":return o.jsx(ly,{id:h.id,charName:_,zIndex:h.zIndex,messages:S.get(_)??[],socket:N},h.id);case"stats":return o.jsx(ty,{id:h.id,charName:_,zIndex:h.zIndex},h.id);case"char":return o.jsx(ay,{id:h.id,charName:_,zIndex:h.zIndex,vitals:((y=f.get(_))==null?void 0:y.vitals)??void 0,liveStats:C.get(_)},h.id);case"inv":return o.jsx(ey,{id:h.id,charName:_,zIndex:h.zIndex,inventoryVersion:r.get(_)??0,equipmentCantrips:T.get(_)},h.id);case"radar":return o.jsx(ny,{id:h.id,charName:_,zIndex:h.zIndex,socket:N,radarData:A.get(_)??null},h.id);case"combat":return o.jsx(uy,{id:h.id,charName:_,zIndex:h.zIndex},h.id);case"combatpicker":return o.jsx(cy,{id:h.id,zIndex:h.zIndex,characters:f},h.id);case"issues":return o.jsx(iy,{id:h.id,zIndex:h.zIndex},h.id);case"vitalsharing":return o.jsx(fy,{id:h.id,zIndex:h.zIndex},h.id);case"queststatus":return o.jsx(sy,{id:h.id,zIndex:h.zIndex},h.id);case"playerdash":return o.jsx(oy,{id:h.id,zIndex:h.zIndex,characters:f},h.id);case"agent":return o.jsx(ry,{id:h.id,zIndex:h.zIndex},h.id);case"adminusers":return o.jsx(dy,{id:h.id,zIndex:h.zIndex},h.id);default:return null}})})});Vd.displayName="WindowRenderer";let my=0;const hy=({recentRares:f})=>{const[S,A]=z.useState([]),[r,T]=z.useState(0),[C,N]=z.useState([]);z.useEffect(()=>{if(f.length>r&&r>0){const h=f.slice(0,f.length-r);for(const _ of h){const B=++my;A(y=>[...y,{key:B,charName:_.character_name,rareName:_.name,exiting:!1}]),O();try{const y=new AudioContext,j=y.createOscillator(),U=y.createGain();j.connect(U),U.connect(y.destination),j.frequency.value=880,j.type="sine",U.gain.value=.3,j.start(),U.gain.exponentialRampToValueAtTime(.001,y.currentTime+.5),j.stop(y.currentTime+.5)}catch{}setTimeout(()=>{A(y=>y.map(j=>j.key===B?{...j,exiting:!0}:j)),setTimeout(()=>{A(y=>y.filter(j=>j.key!==B))},500)},6e3)}}T(f.length)},[f.length]);const O=z.useCallback(()=>{const h=Date.now(),_=["#FFD700","#FF4444","#FF8800","#AA44FF","#4488FF"],B=Array.from({length:30},(y,j)=>{const U=Math.PI*2*j/30+(Math.random()-.5)*.5,V=100+Math.random()*200;return{dx:Math.cos(U)*V,dy:Math.sin(U)*V-50,color:_[Math.floor(Math.random()*_.length)]}});N(y=>[...y,{id:h,particles:B}]),setTimeout(()=>N(y=>y.filter(j=>j.id!==h)),2200)},[]);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"ml-rare-notifications",children:S.map(h=>o.jsxs("div",{className:`ml-rare-notif ${h.exiting?"exiting":""}`,children:[o.jsx("div",{className:"ml-rare-notif-title",children:"πŸŽ† LEGENDARY RARE! πŸŽ†"}),o.jsx("div",{className:"ml-rare-notif-name",children:h.rareName}),o.jsx("div",{className:"ml-rare-notif-by",children:"found by"}),o.jsx("div",{className:"ml-rare-notif-char",children:h.charName})]},h.key))}),o.jsx("div",{className:"ml-fireworks",children:C.map(h=>o.jsx(pn.Fragment,{children:h.particles.map((_,B)=>o.jsx("div",{className:"ml-firework-particle",style:{left:"50%",top:"30%",backgroundColor:_.color,"--dx":`${_.dx}px`,"--dy":`${_.dy+200}px`}},B))},h.id))})]})};let yy=0;const vy=({deathAlerts:f})=>{const[S,A]=z.useState([]),r=z.useRef(0);return z.useEffect(()=>{if(f.length>r.current&&r.current>0){const T=f.slice(r.current);for(const C of T){const N=++yy;A(O=>[...O,{key:N,alert:C,exiting:!1}]);try{const O=new AudioContext,h=O.createOscillator(),_=O.createGain();h.connect(_),_.connect(O.destination),h.frequency.value=440,h.type="sawtooth",_.gain.value=.2,h.start(),_.gain.exponentialRampToValueAtTime(.001,O.currentTime+.8),h.stop(O.currentTime+.8)}catch{}setTimeout(()=>{A(O=>O.map(h=>h.key===N?{...h,exiting:!0}:h)),setTimeout(()=>A(O=>O.filter(h=>h.key!==N)),500)},8e3)}}r.current=f.length},[f.length]),S.length===0?null:o.jsx("div",{style:{position:"fixed",top:70,left:"50%",transform:"translateX(-50%)",zIndex:99999,display:"flex",flexDirection:"column",gap:6,pointerEvents:"none"},children:S.map(T=>o.jsxs("div",{style:{background:"linear-gradient(135deg, #2a0a0a, #1a0000)",border:"2px solid #cc4444",borderRadius:8,padding:"12px 24px",textAlign:"center",boxShadow:"0 0 30px rgba(204, 68, 68, 0.3)",animation:T.exiting?"ml-notif-out 0.5s ease-in forwards":"ml-notif-in 0.5s ease-out"},children:[o.jsx("div",{style:{fontSize:"1.2rem",fontWeight:800,color:"#ff4444"},children:"☠️ CHARACTER DIED ☠️"}),o.jsx("div",{style:{fontSize:"1rem",fontWeight:600,color:"#fff",marginTop:2},children:T.alert.character_name}),o.jsxs("div",{style:{fontSize:"0.8rem",color:"#c88",marginTop:2},children:["Vitae: ",T.alert.vitae,"%"]})]},T.key))})},Od=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf","#ff4444","#44ff44","#4444ff","#ffff44","#ff44ff","#44ffff","#ff8844","#88ff44","#4488ff","#ff4488","#cc3333","#33cc33","#3333cc","#cccc33","#cc33cc","#33cccc","#cc6633","#66cc33","#3366cc","#cc3366","#ff6666","#66ff66","#6666ff","#ffff66","#ff66ff","#66ffff","#ffaa66","#aaff66","#66aaff","#ff66aa","#990099","#009900","#000099","#990000","#009999","#999900","#aa5500","#55aa00","#0055aa","#aa0055","#ffaaaa","#aaffaa","#aaaaff","#ffffaa","#ffaaff","#aaffff","#ffccaa","#ccffaa","#aaccff","#ffaacc"];function gy(f){let S=0;for(let A=0;A{let T=f.current.get(r);return T||(T=S.current{const{enabled:f}=Lu();return f?o.jsx("div",{className:"ms-banner",role:"status",children:"🐸 Glad midsommar! 🌼 SmΓ₯ grodorna, smΓ₯ grodorna… πŸ₯‚"}):null},Cd=["🐸","🌼","🌸","πŸ‡ΈπŸ‡ͺ","🌿"],Ld=()=>{const{enabled:f}=Lu();return z.useEffect(()=>{if(!f||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const S=document.createElement("div");S.className="ms-rain",document.body.appendChild(S);const A=()=>{const T=document.createElement("span");T.textContent=Cd[Math.floor(Math.random()*Cd.length)],T.style.left=Math.floor(Math.random()*100)+"vw";const C=6+Math.random()*5;T.style.animationDuration=C.toFixed(2)+"s",T.style.fontSize=14+Math.floor(Math.random()*16)+"px",S.appendChild(T),window.setTimeout(()=>T.remove(),C*1e3+250)},r=window.setInterval(A,450);return()=>{window.clearInterval(r),S.remove()}},[f]),null},by=({data:f})=>{const S=Sy(),[A,r]=z.useState(!1),[T,C]=z.useState(!1),[N,O]=z.useState(null),h=z.useMemo(()=>Array.from(f.characters.values()).filter(U=>U.telemetry).map(U=>U.telemetry),[f.characters]),_=z.useMemo(()=>new Map(Array.from(f.characters.values()).filter(U=>U.vitals).map(U=>[U.name,U.vitals])),[f.characters]),[B,y]=z.useState("");z.useEffect(()=>{fetch("/api/api-version",{credentials:"include"}).then(U=>U.json()).then(U=>y(U.version??"")).catch(()=>{})},[]);const j=z.useCallback(U=>{O(V=>V===U?null:U)},[]);return o.jsx(T0,{children:o.jsxs("div",{className:"ml-layout",children:[o.jsx(Zd,{}),o.jsx(Ld,{}),o.jsx(k0,{players:h,vitals:_,serverHealth:f.serverHealth,totalRares:f.totalRares,totalKills:f.totalKills,getColor:S,onSelectPlayer:j,showHeatmap:A,showPortals:T,onToggleHeatmap:r,onTogglePortals:C,version:B,selectedPlayer:N}),o.jsx(R0,{players:h,getColor:S,onSelectPlayer:j,showHeatmap:A,showPortals:T,selectedPlayer:N}),o.jsx(Vd,{characters:f.characters,chatMessages:f.chatMessages,nearbyObjects:f.nearbyObjects,inventoryVersions:f.inventoryVersions,equipmentCantrips:f.equipmentCantrips,characterStats:f.characterStats,socket:f.socketRef.current}),o.jsx(hy,{recentRares:f.recentRares}),o.jsx(vy,{deathAlerts:f.deathAlerts})]})})};function py(f){const S=z.useRef(null),A=z.useRef(0),r=z.useRef(f);r.current=f;const T=z.useCallback(()=>{var N;if(((N=S.current)==null?void 0:N.readyState)===WebSocket.OPEN)return;const C=new WebSocket(D0());S.current=C,C.addEventListener("message",O=>{try{const h=JSON.parse(O.data);r.current(h)}catch{}}),C.addEventListener("close",()=>{S.current=null,A.current=window.setTimeout(T,2e3)}),C.addEventListener("error",()=>{C.close()})},[]);return z.useEffect(()=>(T(),()=>{var C;clearTimeout(A.current),(C=S.current)==null||C.close(),S.current=null}),[T]),S}function Kd(){const[f,S]=z.useState(new Map),[A,r]=z.useState(null),[T,C]=z.useState(0),[N,O]=z.useState(0),[h,_]=z.useState([]),B=z.useRef(new Map),[y,j]=z.useState(0),[U,V]=z.useState(new Map),P=z.useRef(new Map),[fl,Sl]=z.useState(0),K=z.useRef(new Map),[k,Dl]=z.useState(0),[Vl,F]=z.useState([]),[ll,G]=z.useState(new Map),w=z.useRef(f);w.current=f;const J=z.useCallback((b,R)=>{S(Q=>{const H=new Map(Q),Y=H.get(b)??{name:b,telemetry:null,vitals:null,combat:null,lastUpdate:0};return H.set(b,R(Y)),H})},[]),zl=z.useCallback(b=>{var R,Q;if(b.type){if(b.type==="telemetry"){const H=b;J(H.character_name,Y=>({...Y,telemetry:H,lastUpdate:Date.now()}))}else if(b.type==="vitals"){const H=b,Y=(R=w.current.get(H.character_name))==null?void 0:R.vitals;Y&&(Y.vitae??0)===0&&(H.vitae??0)>0&&F(sl=>[...sl,{character_name:H.character_name,vitae:H.vitae,timestamp:new Date().toISOString()}].slice(-50)),J(H.character_name,sl=>({...sl,vitals:H,lastUpdate:Date.now()}))}else if(b.type==="combat_stats"){const H=b;J(H.character_name,Y=>({...Y,combat:H,lastUpdate:Date.now()}))}else if(b.type==="rare"){const H=b;_(Y=>[H,...Y].slice(0,50))}else if(b.type==="inventory_delta"){const H=b;H.character_name&&V(Y=>{const sl=new Map(Y);return sl.set(H.character_name,(sl.get(H.character_name)??0)+1),sl})}else if(b.type==="character_stats"){const H=b;K.current.set(H.character_name,b),Dl(Y=>Y+1)}else if(b.type==="equipment_cantrip_state"){const H=b;P.current.set(H.character_name,H),Sl(Y=>Y+1)}else if(b.type==="dungeon_map"){const H=b;H.landblock&&(window.__dungeonMapCache||(window.__dungeonMapCache={}),window.__dungeonMapCache[H.landblock]=H)}else if(b.type==="nearby_objects"){const H=b;if(G(Y=>{const sl=new Map(Y);return sl.set(H.character_name,H),sl}),H.is_dungeon&&H.landblock&&!((Q=window.__dungeonMapCache)!=null&&Q[H.landblock])){const Y=Al.current;(Y==null?void 0:Y.readyState)===WebSocket.OPEN&&Y.send(JSON.stringify({type:"request_dungeon_map",landblock:H.landblock}))}}else if(b.type==="chat"){const H=b,Y=B.current.get(H.character_name)??[];Y.push({text:H.text,color:H.color,timestamp:H.timestamp}),Y.length>1e3&&Y.splice(0,Y.length-1e3),B.current.set(H.character_name,Y),j(sl=>sl+1)}}},[J]),Al=py(zl);z.useEffect(()=>{const b=async()=>{try{const Q=await Y0();S(H=>{var sl;const Y=new Map(H);for(const ol of Q.players??[]){const I=Y.get(ol.character_name);Y.set(ol.character_name,{name:ol.character_name,telemetry:ol,vitals:(I==null?void 0:I.vitals)??null,combat:(I==null?void 0:I.combat)??null,lastUpdate:Date.now()})}for(const ol of Y.keys())(sl=Q.players)!=null&&sl.some(I=>I.character_name===ol)||Y.delete(ol);return Y})}catch{}};b();const R=setInterval(b,5e3);return()=>clearInterval(R)},[]),z.useEffect(()=>{const b=async()=>{try{const Q=await X0();for(const H of Q.stats??[])J(H.character_name,Y=>({...Y,combat:{...H,type:"combat_stats"}}))}catch{}};b();const R=setInterval(b,3e4);return()=>clearInterval(R)},[J]),z.useEffect(()=>{const b=async()=>{try{r(await G0())}catch{}};b();const R=setInterval(b,3e4);return()=>clearInterval(R)},[]),z.useEffect(()=>{const b=async()=>{try{const[Q,H]=await Promise.all([Q0(),V0()]);C(Q.all_time??0),O(H.total??0)}catch{}};b();const R=setInterval(b,3e5);return()=>clearInterval(R)},[]);const Nt=z.useMemo(()=>B.current,[y]),Tt=z.useMemo(()=>P.current,[fl]),bt=z.useMemo(()=>K.current,[k]);return{characters:f,serverHealth:A,totalRares:T,totalKills:N,recentRares:h,chatMessages:Nt,nearbyObjects:ll,inventoryVersions:U,equipmentCantrips:Tt,characterStats:bt,deathAlerts:Vl,socketRef:Al}}const gf=({characters:f})=>{const[S,A]=z.useState("kph"),[r,T]=z.useState(!1),[C,N]=z.useState(null),O=z.useMemo(()=>{const y=Array.from(f.values()).filter(j=>j.telemetry).map(j=>{var V,P,fl;const U=j.telemetry;return{name:j.name,kills:U.kills??0,kph:parseInt(U.kills_per_hour)||0,totalKills:U.total_kills??0,rares:U.total_rares??0,sessionRares:U.session_rares??0,deaths:parseInt(U.deaths)||0,totalDeaths:parseInt(U.total_deaths)||0,uptime:((V=U.onlinetime)==null?void 0:V.replace(/^00\./,""))??"",state:U.vt_state??"idle",tapers:parseInt(U.prismatic_taper_count)||0,hp:((P=j.vitals)==null?void 0:P.health_percentage)??0,vitae:((fl=j.vitals)==null?void 0:fl.vitae)??0}});return y.sort((j,U)=>{let V=0;switch(S){case"name":V=j.name.localeCompare(U.name);break;case"kills":V=j.kills-U.kills;break;case"kph":V=j.kph-U.kph;break;case"rares":V=j.rares-U.rares;break;case"deaths":V=j.totalDeaths-U.totalDeaths;break;case"uptime":V=j.uptime.localeCompare(U.uptime);break;case"state":V=j.state.localeCompare(U.state);break}return r?V:-V}),y},[f,S,r]),h=y=>{S===y?T(!r):(A(y),T(!1))},_=y=>({padding:"4px 6px",cursor:"pointer",userSelect:"none",color:S===y?"#6af":"#888",fontSize:"0.65rem",fontWeight:600,whiteSpace:"nowrap",borderBottom:"1px solid #444"}),B=y=>S===y?r?" β–²":" β–Ό":"";return o.jsxs("div",{style:{flex:1,overflow:"auto",fontSize:"0.73rem"},children:[o.jsxs("table",{style:{width:"auto",borderCollapse:"collapse"},children:[o.jsx("thead",{children:o.jsxs("tr",{style:{position:"sticky",top:0,background:"#1a1a1a",zIndex:1},children:[o.jsxs("th",{style:{..._("name"),textAlign:"left"},onClick:()=>h("name"),children:["Character",B("name")]}),o.jsxs("th",{style:{..._("state"),textAlign:"center"},onClick:()=>h("state"),children:["State",B("state")]}),o.jsxs("th",{style:{..._("kph"),textAlign:"right"},onClick:()=>h("kph"),children:["KPH",B("kph")]}),o.jsxs("th",{style:{..._("kills"),textAlign:"right"},onClick:()=>h("kills"),children:["Session",B("kills")]}),o.jsx("th",{style:{textAlign:"right",padding:"4px 6px",color:"#888",fontSize:"0.65rem",fontWeight:600,borderBottom:"1px solid #444"},children:"Total"}),o.jsxs("th",{style:{..._("rares"),textAlign:"right"},onClick:()=>h("rares"),children:["Rares",B("rares")]}),o.jsxs("th",{style:{..._("deaths"),textAlign:"right"},onClick:()=>h("deaths"),children:["Deaths",B("deaths")]}),o.jsxs("th",{style:{..._("uptime"),textAlign:"right"},onClick:()=>h("uptime"),children:["Uptime",B("uptime")]}),o.jsx("th",{style:{textAlign:"right",padding:"4px 6px",color:"#888",fontSize:"0.65rem",fontWeight:600,borderBottom:"1px solid #444"},children:"HP%"}),o.jsx("th",{style:{textAlign:"right",padding:"4px 6px",color:"#888",fontSize:"0.65rem",fontWeight:600,borderBottom:"1px solid #444"},children:"Vitae"}),o.jsx("th",{style:{textAlign:"right",padding:"4px 6px",color:"#888",fontSize:"0.65rem",fontWeight:600,borderBottom:"1px solid #444"},children:"Tapers"})]})}),o.jsx("tbody",{children:O.map(y=>{const j=y.state.toLowerCase(),U=j==="combat"||j==="hunt",V=C===y.name;return o.jsxs("tr",{onClick:()=>N(V?null:y.name),style:{borderBottom:"1px solid #1a1a1a",cursor:"pointer",background:V?"rgba(102, 170, 255, 0.18)":void 0,outline:V?"1px solid rgba(102, 170, 255, 0.55)":void 0,outlineOffset:"-1px"},children:[o.jsx("td",{style:{padding:"3px 10px 3px 6px",color:"#ccc",fontWeight:500,whiteSpace:"nowrap"},children:y.name}),o.jsx("td",{style:{textAlign:"center",padding:"3px 6px"},children:o.jsx("span",{style:{fontSize:"0.6rem",padding:"1px 6px",borderRadius:3,background:U?"rgba(68,204,68,0.15)":j==="idle"||j==="default"?"rgba(100,100,100,0.2)":"rgba(204,68,68,0.15)",color:U?"#4c4":j==="idle"||j==="default"?"#888":"#c44"},children:y.state})}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:"#4c4",fontVariantNumeric:"tabular-nums"},children:y.kph.toLocaleString()}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:"#ccc",fontVariantNumeric:"tabular-nums"},children:y.kills.toLocaleString()}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:"#888",fontVariantNumeric:"tabular-nums"},children:y.totalKills.toLocaleString()}),o.jsxs("td",{style:{textAlign:"right",padding:"3px 6px",color:"#fc0",fontVariantNumeric:"tabular-nums"},children:[y.rares,y.sessionRares>0?` (${y.sessionRares})`:""]}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:y.totalDeaths>0?"#c66":"#555",fontVariantNumeric:"tabular-nums"},children:y.totalDeaths}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:"#888",fontVariantNumeric:"tabular-nums"},children:y.uptime}),o.jsxs("td",{style:{textAlign:"right",padding:"3px 6px",fontVariantNumeric:"tabular-nums",color:y.hp>80?"#4c4":y.hp>40?"#ca0":"#c44"},children:[y.hp.toFixed(0),"%"]}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",fontVariantNumeric:"tabular-nums",color:y.vitae>0?"#f66":"#333"},children:y.vitae>0?`${y.vitae}%`:""}),o.jsx("td",{style:{textAlign:"right",padding:"3px 6px",color:"#888",fontVariantNumeric:"tabular-nums"},children:y.tapers.toLocaleString()})]},y.name)})})]}),O.length===0&&o.jsx("div",{style:{padding:20,color:"#666",textAlign:"center"},children:"No characters online"})]})},zy=({id:f,zIndex:S,characters:A})=>o.jsx(Xd,{id:f,title:"Player Dashboard",zIndex:S,width:850,height:500,children:o.jsx(gf,{characters:A})}),xy=Object.freeze(Object.defineProperty({__proto__:null,PlayerDashboardContent:gf,PlayerDashboardWindow:zy},Symbol.toStringTag,{value:"Module"})),Ay=()=>{const f=Kd(),[S,A]=z.useState("");z.useEffect(()=>{const T=document.title;return document.title="Overlord Dashboard",()=>{document.title=T}},[]),z.useEffect(()=>{fetch("/api/api-version",{credentials:"include"}).then(T=>T.json()).then(T=>A(T.version??"")).catch(()=>{})},[]);const r=Array.from(f.characters.values()).filter(T=>T.telemetry).length;return o.jsxs("div",{className:"ml-dashboard-page",children:[o.jsx(Zd,{}),o.jsx(Ld,{}),o.jsxs("header",{className:"ml-dashboard-header",children:[o.jsx("span",{className:"ml-dashboard-title",children:"πŸ‘₯ Player Dashboard"}),o.jsxs("span",{className:"ml-dashboard-count",children:[r," online"]}),o.jsx("span",{style:{flex:1}}),S&&o.jsxs("span",{className:"ml-dashboard-version",children:["v",S]})]}),o.jsx("main",{className:"ml-dashboard-main",children:o.jsx(gf,{characters:f.characters})})]})};function Ty(){const f=new URLSearchParams(window.location.search).get("view");return o.jsx(O0,{children:f==="dashboard"?o.jsx(Ay,{}):o.jsx(Ey,{})})}function Ey(){const f=Kd();return o.jsx(by,{data:f})}A0.createRoot(document.getElementById("root")).render(o.jsx(z.StrictMode,{children:o.jsx(Ty,{})}));"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").catch(()=>{});export{Xd as D,At as a,jy as b,My as c,Dy as d,K0 as e,Oy as f,Cy as g,Uy as h,o as j,Ny as l,z as r,zn as u};