tempest.games 0.2.63 → 0.2.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # tempest.games
2
2
 
3
+ ## 0.2.64
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [f74e340]
8
+ - atom.io@0.43.1
9
+
3
10
  ## 0.2.63
4
11
 
5
12
  ### Patch Changes
@@ -265,7 +265,7 @@ Check the top-level render call using <`+v+">."),v="",A!=null&&x!==A&&(x=null,ty
265
265
  `,dnn=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Py=new Map,Wy=new Map,fnn="requestAnimationFrame(function(){$RT=performance.now()});",bnn='<template id="',gnn='"></template>',mnn="<!--$-->",Enn='<!--$?--><template id="',hnn='"></template>',Ann="<!--$!-->",oD="<!--/$-->",Dnn="<template",uD='"',wnn=' data-dgst="',vnn=' data-msg="',Rnn=' data-stck="',Tnn=' data-cstck="',Snn="></template>",_nn='<div hidden id="',xnn='">',Fnn="</div>",Nnn='<svg aria-hidden="true" style="display:none" id="',Cnn='">',Onn="</svg>",Lnn='<math aria-hidden="true" style="display:none" id="',Inn='">',ynn="</math>",Unn='<table hidden id="',Mnn='">',Gnn="</table>",znn='<table hidden><tbody id="',$nn='">',Hnn="</tbody></table>",knn='<table hidden><tr id="',Bnn='">',Pnn="</tr></table>",Wnn='<table hidden><colgroup id="',Ynn='">',Vnn="</colgroup></table>",Xnn='$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("',Znn='$RS("',Qnn='","',Knn='")</script>',Yy=`$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
266
266
  $RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};`,jnn='$RC("',Jnn=`$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll("link[data-precedence],style[data-precedence]"),v=[],k=0;b=e[k++];)"not all"===b.getAttribute("media")?v.push(b):("LINK"===b.tagName&&$RM.set(b.getAttribute("href"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement("link");a.href=d;a.rel=
267
267
  "stylesheet";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute("media");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=
268
- "$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("`,qnn='$RR("',nen='","',een='",',ien='"',ten=")</script>",aen='$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};',ren='$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("',oen='$RX("',uen='"',sD=",",sen=")</script>",len=/[<\u2028\u2029]/g,cen=/[&><\u2028\u2029]/g,pen=' media="not all" data-precedence="',den='" data-href="',fen='">',ben="</style>",lD=!1,_T=!0,Oc=[],gen=' data-precedence="',men='" data-href="',Vy=" ",Een='">',hen="</style>",Xy=' id="',Zy="[",Qy=",[",xT=",",FT="]",NT=0,CT=1,OT=2,Ky=3,Aen=/[<>\r\n]/g,Den=/["';,\r\n]/g,wen="",ven=Function.prototype.bind,Ren=Symbol.for("react.client.reference"),ml={};Object.freeze(ml);var cD={},qp=null,jy={},Jy={},qy=new Set,n8=new Set,e8=new Set,i8=new Set,t8=new Set,a8=new Set,r8=new Set,o8=new Set,u8=new Set,s8={enqueueSetState:function(p,d,g){var A=p._reactInternals;A.queue===null?Cu(p,"setState"):(A.queue.push(d),g!==void 0&&g!==null&&Nu(g))},enqueueReplaceState:function(p,d,g){p=p._reactInternals,p.replace=!0,p.queue=[d],g!==void 0&&g!==null&&Nu(g)},enqueueForceUpdate:function(p,d){p._reactInternals.queue===null?Cu(p,"forceUpdate"):d!==void 0&&d!==null&&Nu(d)}},Ten={id:1,overflow:""},pD=Math.clz32?Math.clz32:ll,Sen=Math.log,_en=Math.LN2,Do=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),dD=null,xen=typeof Object.is==="function"?Object.is:Iu,El=null,LT=null,IT=null,yT=null,fD=null,gi=null,Gm=!1,bD=!1,zm=0,$m=0,Hm=-1,gD=0,Bf=null,Lc=null,mD=0,Cs=!1,km,l8={readContext:Xo,use:function(p){if(p!==null&&typeof p==="object"){if(typeof p.then==="function")return cl(p);if(p.$$typeof===Lm)return Xo(p)}throw Error("An unsupported type was passed to use(): "+String(p))},useContext:function(p){return km="useContext",vt(),p._currentValue2},useMemo:go,useReducer:ha,useRef:function(p){El=vt(),gi=xs();var d=gi.memoizedState;return d===null?(p={current:p},Object.seal(p),gi.memoizedState=p):d},useState:function(p){return km="useState",ha(Lr,p)},useInsertionEffect:di,useLayoutEffect:di,useCallback:function(p,d){return go(function(){return p},d)},useImperativeHandle:di,useEffect:di,useDebugValue:di,useDeferredValue:function(p,d){return vt(),d!==void 0?d:p},useTransition:function(){return vt(),[!1,Uu]},useId:function(){var p=LT.treeContext,d=p.overflow;p=p.id,p=(p&~(1<<32-pD(p)-1)).toString(32)+d;var g=ED;if(g===null)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");return d=zm++,p="_"+g.idPrefix+"R_"+p,0<d&&(p+="H"+d.toString(32)),p+"_"},useSyncExternalStore:function(p,d,g){if(g===void 0)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");return g()},useOptimistic:function(p){return vt(),[p,Fs]},useActionState:Eo,useFormState:Eo,useHostTransitionStatus:function(){return vt(),unn},useMemoCache:function(p){for(var d=Array(p),g=0;g<p;g++)d[g]=Pq;return d},useCacheRefresh:function(){return ho},useEffectEvent:function(){return Zo}},ED=null,Ur=null,Fen={getCacheForType:function(){throw Error("Not implemented.")},cacheSignal:function(){throw Error("Not implemented.")},getOwner:function(){return Ur===null?null:Ur.componentStack}},Bm=0,c8,p8,d8,f8,b8,g8,m8;pl.__reactDisabledLog=!0;var UT,E8,MT=!1,GT=new(typeof WeakMap==="function"?WeakMap:Map),h8={react_stack_bottom_frame:function(p,d,g){return p(d,g)}},Nen=h8.react_stack_bottom_frame.bind(h8),A8={react_stack_bottom_frame:function(p){return p.render()}},Cen=A8.react_stack_bottom_frame.bind(A8),D8={react_stack_bottom_frame:function(p){var d=p._init;return d(p._payload)}},w8=D8.react_stack_bottom_frame.bind(D8),v8=0;if(typeof performance==="object"&&typeof performance.now==="function")var Oen=performance,R8=function(){return Oen.now()};else{var Len=Date;R8=function(){return Len.now()}}var wo=4,Os=0,jt=1,T8=2,hl=3,Pm=4,Ic=5,Pf=14,Jt=null,S8={},_8={},x8={},F8={},N8=!1,C8=!1,O8=!1,Wm=0,hD=!1;Dxn.renderToStaticMarkup=function(p,d){return ly(p,d,!0,'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},Dxn.renderToString=function(p,d){return ly(p,d,!1,'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},Dxn.version="19.2.0"})()});var tJ={};eE(tJ,{version:()=>aJ,resume:()=>oJ,renderToString:()=>uJ,renderToStaticMarkup:()=>sJ,renderToReadableStream:()=>rJ});var wxn,PR,BI,aJ,rJ,oJ,uJ,sJ;var lJ=Le(()=>{eJ();wxn=se(iJ(),1);PR=HI,BI=wxn;aJ=PR.version,rJ=PR.renderToReadableStream,oJ=PR.resume,uJ=BI.renderToString,sJ=BI.renderToStaticMarkup});var EJ={};eE(EJ,{toPlainText:()=>gJ,renderAsync:()=>Txn,render:()=>mJ,pretty:()=>fJ,plainTextSelectors:()=>bJ});import{Writable as vxn}from"stream";function Vp(n,e){if(Array.isArray(n))return n.map((i)=>Vp(i,e));if(typeof n==="object"){if(n.type==="group")return{...n,contents:Vp(n.contents,e),expandedStates:Vp(n.expandedStates,e)};if("contents"in n)return{...n,contents:Vp(n.contents,e)};if("parts"in n)return{...n,parts:Vp(n.parts,e)};if(n.type==="if-break")return{...n,breakContents:Vp(n.breakContents,e),flatContents:Vp(n.flatContents,e)}}return e(n)}function gJ(n,e){return $Q(n,{selectors:bJ,...e})}var pJ,dJ,WR,Rxn,fJ=(n,e={})=>{return O1(n.replaceAll("\x00",""),{...Rxn,...e})},bJ,cJ=async(n)=>{let e="",i=new TextDecoder("utf-8");if("pipeTo"in n){let t=new WritableStream({write(a){e+=i.decode(a,{stream:!0})},close(){e+=i.decode()}});await n.pipeTo(t)}else{let t=new vxn({write(a,r,o){e+=i.decode(a,{stream:!0}),o()},final(a){e+=i.decode(),a()}});n.pipe(t),await new Promise((a,r)=>{t.on("error",r),t.on("close",()=>{a()})})}return e},mJ=async(n,e)=>{let i=dJ.jsx(pJ.Suspense,{children:n}),t=await Promise.resolve().then(() => (lJ(),tJ)).then((o)=>o.default),a;if(Object.hasOwn(t,"renderToReadableStream")&&typeof WritableStream<"u")a=await cJ(await t.renderToReadableStream(i,{progressiveChunkSize:Number.POSITIVE_INFINITY}));else await new Promise((o,u)=>{let s=t.renderToPipeableStream(i,{async onAllReady(){a=await cJ(s),o()},onError(l){u(l)},progressiveChunkSize:Number.POSITIVE_INFINITY})});if(e?.plainText)return gJ(a,e.htmlToTextOptions);let r=`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">${a.replace(/<!DOCTYPE.*?>/,"")}`;if(e?.pretty)return fJ(r);return r},Txn=(n,e)=>{return mJ(n,e)};var hJ=Le(()=>{GV();eZ();HQ();pJ=se(za(),1),dJ=se(Rs(),1);WR={...fO};if(WR.printers){let n=WR.printers.html.print;WR.printers.html.print=(e,i,t,a)=>{let r=e.getNode(),o=n(e,i,t,a);if(r.type==="ieConditionalComment")return Vp(o,(u)=>{if(typeof u==="object"&&u.type==="line")return u.soft?"":" ";return u});return o}}Rxn={endOfLine:"lf",tabWidth:2,plugins:[WR],bracketSameLine:!0,parser:"html"},bJ=[{selector:"img",format:"skip"},{selector:"[data-skip-in-text=true]",format:"skip"},{selector:"a",options:{linkBrackets:!1,hideLinkHrefIfSameAsText:!0}}]});var CJ=Nn((CZn,ZR)=>{var Xxn=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},Un=function(n){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,t={},a={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function h(w){if(w instanceof r)return new r(w.type,h(w.content),w.alias);else if(Array.isArray(w))return w.map(h);else return w.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(h){return Object.prototype.toString.call(h).slice(8,-1)},objId:function(h){if(!h.__id)Object.defineProperty(h,"__id",{value:++i});return h.__id},clone:function h(w,T){T=T||{};var R,F;switch(a.util.type(w)){case"Object":if(F=a.util.objId(w),T[F])return T[F];R={},T[F]=R;for(var L in w)if(w.hasOwnProperty(L))R[L]=h(w[L],T);return R;case"Array":if(F=a.util.objId(w),T[F])return T[F];return R=[],T[F]=R,w.forEach(function(O,N){R[N]=h(O,T)}),R;default:return w}},getLanguage:function(h){while(h){var w=e.exec(h.className);if(w)return w[1].toLowerCase();h=h.parentElement}return"none"},setLanguage:function(h,w){h.className=h.className.replace(RegExp(e,"gi"),""),h.classList.add("language-"+w)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw Error()}catch(R){var h=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(R.stack)||[])[1];if(h){var w=document.getElementsByTagName("script");for(var T in w)if(w[T].src==h)return w[T]}return null}},isActive:function(h,w,T){var R="no-"+w;while(h){var F=h.classList;if(F.contains(w))return!0;if(F.contains(R))return!1;h=h.parentElement}return!!T}},languages:{plain:t,plaintext:t,text:t,txt:t,extend:function(h,w){var T=a.util.clone(a.languages[h]);for(var R in w)T[R]=w[R];return T},insertBefore:function(h,w,T,R){R=R||a.languages;var F=R[h],L={};for(var O in F)if(F.hasOwnProperty(O)){if(O==w){for(var N in T)if(T.hasOwnProperty(N))L[N]=T[N]}if(!T.hasOwnProperty(O))L[O]=F[O]}var B=R[h];return R[h]=L,a.languages.DFS(a.languages,function(W,J){if(J===B&&W!=h)this[W]=L}),L},DFS:function h(w,T,R,F){F=F||{};var L=a.util.objId;for(var O in w)if(w.hasOwnProperty(O)){T.call(w,O,w[O],R||O);var N=w[O],B=a.util.type(N);if(B==="Object"&&!F[L(N)])F[L(N)]=!0,h(N,T,null,F);else if(B==="Array"&&!F[L(N)])F[L(N)]=!0,h(N,T,O,F)}}},plugins:{},highlightAll:function(h,w){a.highlightAllUnder(document,h,w)},highlightAllUnder:function(h,w,T){var R={callback:T,container:h,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",R),R.elements=Array.prototype.slice.apply(R.container.querySelectorAll(R.selector)),a.hooks.run("before-all-elements-highlight",R);for(var F=0,L;L=R.elements[F++];)a.highlightElement(L,w===!0,R.callback)},highlightElement:function(h,w,T){var R=a.util.getLanguage(h),F=a.languages[R];a.util.setLanguage(h,R);var L=h.parentElement;if(L&&L.nodeName.toLowerCase()==="pre")a.util.setLanguage(L,R);var O=h.textContent,N={element:h,language:R,grammar:F,code:O};function B(J){N.highlightedCode=J,a.hooks.run("before-insert",N),N.element.innerHTML=N.highlightedCode,a.hooks.run("after-highlight",N),a.hooks.run("complete",N),T&&T.call(N.element)}if(a.hooks.run("before-sanity-check",N),L=N.element.parentElement,L&&L.nodeName.toLowerCase()==="pre"&&!L.hasAttribute("tabindex"))L.setAttribute("tabindex","0");if(!N.code){a.hooks.run("complete",N),T&&T.call(N.element);return}if(a.hooks.run("before-highlight",N),!N.grammar){B(a.util.encode(N.code));return}if(w&&n.Worker){var W=new Worker(a.filename);W.onmessage=function(J){B(J.data)},W.postMessage(JSON.stringify({language:N.language,code:N.code,immediateClose:!0}))}else B(a.highlight(N.code,N.grammar,N.language))},highlight:function(h,w,T){var R={code:h,grammar:w,language:T};if(a.hooks.run("before-tokenize",R),!R.grammar)throw Error('The language "'+R.language+'" has no grammar.');return R.tokens=a.tokenize(R.code,R.grammar),a.hooks.run("after-tokenize",R),r.stringify(a.util.encode(R.tokens),R.language)},tokenize:function(h,w){var T=w.rest;if(T){for(var R in T)w[R]=T[R];delete w.rest}var F=new s;return l(F,F.head,h),u(h,F,w,F.head,0),f(F)},hooks:{all:{},add:function(h,w){var T=a.hooks.all;T[h]=T[h]||[],T[h].push(w)},run:function(h,w){var T=a.hooks.all[h];if(!T||!T.length)return;for(var R=0,F;F=T[R++];)F(w)}},Token:r};n.Prism=a;function r(h,w,T,R){this.type=h,this.content=w,this.alias=T,this.length=(R||"").length|0}r.stringify=function h(w,T){if(typeof w=="string")return w;if(Array.isArray(w)){var R="";return w.forEach(function(B){R+=h(B,T)}),R}var F={type:w.type,content:h(w.content,T),tag:"span",classes:["token",w.type],attributes:{},language:T},L=w.alias;if(L)if(Array.isArray(L))Array.prototype.push.apply(F.classes,L);else F.classes.push(L);a.hooks.run("wrap",F);var O="";for(var N in F.attributes)O+=" "+N+'="'+(F.attributes[N]||"").replace(/"/g,"&quot;")+'"';return"<"+F.tag+' class="'+F.classes.join(" ")+'"'+O+">"+F.content+"</"+F.tag+">"};function o(h,w,T,R){h.lastIndex=w;var F=h.exec(T);if(F&&R&&F[1]){var L=F[1].length;F.index+=L,F[0]=F[0].slice(L)}return F}function u(h,w,T,R,F,L){for(var O in T){if(!T.hasOwnProperty(O)||!T[O])continue;var N=T[O];N=Array.isArray(N)?N:[N];for(var B=0;B<N.length;++B){if(L&&L.cause==O+","+B)return;var W=N[B],J=W.inside,H=!!W.lookbehind,q=!!W.greedy,K=W.alias;if(q&&!W.pattern.global){var cn=W.pattern.toString().match(/[imsuy]*$/)[0];W.pattern=RegExp(W.pattern.source,cn+"g")}var fn=W.pattern||W;for(var dn=R.next,hn=F;dn!==w.tail;hn+=dn.value.length,dn=dn.next){if(L&&hn>=L.reach)break;var _n=dn.value;if(w.length>h.length)return;if(_n instanceof r)continue;var V=1,ln;if(q){if(ln=o(fn,hn,h,H),!ln||ln.index>=h.length)break;var rn=ln.index,I=ln.index+ln[0].length,j=hn;j+=dn.value.length;while(rn>=j)dn=dn.next,j+=dn.value.length;if(j-=dn.value.length,hn=j,dn.value instanceof r)continue;for(var tn=dn;tn!==w.tail&&(j<I||typeof tn.value==="string");tn=tn.next)V++,j+=tn.value.length;V--,_n=h.slice(hn,j),ln.index-=hn}else if(ln=o(fn,0,_n,H),!ln)continue;var rn=ln.index,Fn=ln[0],Yn=_n.slice(0,rn),Rn=_n.slice(rn+Fn.length),wn=hn+_n.length;if(L&&wn>L.reach)L.reach=wn;var re=dn.prev;if(Yn)re=l(w,re,Yn),hn+=Yn.length;c(w,re,V);var Vn=new r(O,J?a.tokenize(Fn,J):Fn,K,Fn);if(dn=l(w,re,Vn),Rn)l(w,dn,Rn);if(V>1){var ci={cause:O+","+B,reach:wn};if(u(h,w,T,dn.prev,hn,ci),L&&ci.reach>L.reach)L.reach=ci.reach}}}}}function s(){var h={value:null,prev:null,next:null},w={value:null,prev:h,next:null};h.next=w,this.head=h,this.tail=w,this.length=0}function l(h,w,T){var R=w.next,F={value:T,prev:w,next:R};return w.next=F,R.prev=F,h.length++,F}function c(h,w,T){var R=w.next;for(var F=0;F<T&&R!==h.tail;F++)R=R.next;w.next=R,R.prev=w,h.length-=F}function f(h){var w=[],T=h.head.next;while(T!==h.tail)w.push(T.value),T=T.next;return w}if(!n.document){if(!n.addEventListener)return a;if(!a.disableWorkerMessageHandler)n.addEventListener("message",function(h){var w=JSON.parse(h.data),T=w.language,R=w.code,F=w.immediateClose;if(n.postMessage(a.highlight(R,a.languages[T],T)),F)n.close()},!1);return a}var b=a.util.currentScript();if(b){if(a.filename=b.src,b.hasAttribute("data-manual"))a.manual=!0}function m(){if(!a.manual)a.highlightAll()}if(!a.manual){var E=document.readyState;if(E==="loading"||E==="interactive"&&b&&b.defer)document.addEventListener("DOMContentLoaded",m);else if(window.requestAnimationFrame)window.requestAnimationFrame(m);else window.setTimeout(m,16)}return a}(Xxn);if(typeof ZR<"u"&&ZR.exports)ZR.exports=Un;if(typeof global<"u")global.Prism=Un;Un.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Un.languages.markup.tag.inside["attr-value"].inside.entity=Un.languages.markup.entity;Un.languages.markup.doctype.inside["internal-subset"].inside=Un.languages.markup;Un.hooks.add("wrap",function(n){if(n.type==="entity")n.attributes.title=n.content.replace(/&amp;/,"&")});Object.defineProperty(Un.languages.markup.tag,"addInlined",{value:function(e,i){var t={};t["language-"+i]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Un.languages[i]},t.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:t}};a["language-"+i]={pattern:/[\s\S]+/,inside:Un.languages[i]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},Un.languages.insertBefore("markup","cdata",r)}});Object.defineProperty(Un.languages.markup.tag,"addAttribute",{value:function(n,e){Un.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Un.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Un.languages.html=Un.languages.markup;Un.languages.mathml=Un.languages.markup;Un.languages.svg=Un.languages.markup;Un.languages.xml=Un.languages.extend("markup",{});Un.languages.ssml=Un.languages.xml;Un.languages.atom=Un.languages.xml;Un.languages.rss=Un.languages.xml;(function(n){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+e.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var i=n.languages.markup;if(i)i.tag.addInlined("style","css"),i.tag.addAttribute("style","css")})(Un);Un.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Un.languages.javascript=Un.languages.extend("clike",{"class-name":[Un.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Un.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Un.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Un.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Un.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Un.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Un.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Un.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Un.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Un.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Un.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});if(Un.languages.markup)Un.languages.markup.tag.addInlined("script","javascript"),Un.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript");Un.languages.js=Un.languages.javascript;(function(){if(typeof Un>"u"||typeof document>"u")return;if(!Element.prototype.matches)Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var n="Loading\u2026",e=function(b,m){return"\u2716 Error "+b+" while fetching file: "+m},i="\u2716 Error: File does not exist or is empty",t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",r="loading",o="loaded",u="failed",s="pre[data-src]:not(["+a+'="'+o+'"]):not(['+a+'="'+r+'"])';function l(b,m,E){var h=new XMLHttpRequest;h.open("GET",b,!0),h.onreadystatechange=function(){if(h.readyState==4)if(h.status<400&&h.responseText)m(h.responseText);else if(h.status>=400)E(e(h.status,h.statusText));else E(i)},h.send(null)}function c(b){var m=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(b||"");if(m){var E=Number(m[1]),h=m[2],w=m[3];if(!h)return[E,E];if(!w)return[E,void 0];return[E,Number(w)]}return}Un.hooks.add("before-highlightall",function(b){b.selector+=", "+s}),Un.hooks.add("before-sanity-check",function(b){var m=b.element;if(m.matches(s)){b.code="",m.setAttribute(a,r);var E=m.appendChild(document.createElement("CODE"));E.textContent=n;var h=m.getAttribute("data-src"),w=b.language;if(w==="none"){var T=(/\.(\w+)$/.exec(h)||[,"none"])[1];w=t[T]||T}Un.util.setLanguage(E,w),Un.util.setLanguage(m,w);var R=Un.plugins.autoloader;if(R)R.loadLanguages(w);l(h,function(F){m.setAttribute(a,o);var L=c(m.getAttribute("data-range"));if(L){var O=F.split(/\r\n?|\n/g),N=L[0],B=L[1]==null?O.length:L[1];if(N<0)N+=O.length;if(N=Math.max(0,Math.min(N-1,O.length)),B<0)B+=O.length;if(B=Math.max(0,Math.min(B,O.length)),F=O.slice(N,B).join(`
268
+ "$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("`,qnn='$RR("',nen='","',een='",',ien='"',ten=")</script>",aen='$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};',ren='$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("',oen='$RX("',uen='"',sD=",",sen=")</script>",len=/[<\u2028\u2029]/g,cen=/[&><\u2028\u2029]/g,pen=' media="not all" data-precedence="',den='" data-href="',fen='">',ben="</style>",lD=!1,_T=!0,Oc=[],gen=' data-precedence="',men='" data-href="',Vy=" ",Een='">',hen="</style>",Xy=' id="',Zy="[",Qy=",[",xT=",",FT="]",NT=0,CT=1,OT=2,Ky=3,Aen=/[<>\r\n]/g,Den=/["';,\r\n]/g,wen="",ven=Function.prototype.bind,Ren=Symbol.for("react.client.reference"),ml={};Object.freeze(ml);var cD={},qp=null,jy={},Jy={},qy=new Set,n8=new Set,e8=new Set,i8=new Set,t8=new Set,a8=new Set,r8=new Set,o8=new Set,u8=new Set,s8={enqueueSetState:function(p,d,g){var A=p._reactInternals;A.queue===null?Cu(p,"setState"):(A.queue.push(d),g!==void 0&&g!==null&&Nu(g))},enqueueReplaceState:function(p,d,g){p=p._reactInternals,p.replace=!0,p.queue=[d],g!==void 0&&g!==null&&Nu(g)},enqueueForceUpdate:function(p,d){p._reactInternals.queue===null?Cu(p,"forceUpdate"):d!==void 0&&d!==null&&Nu(d)}},Ten={id:1,overflow:""},pD=Math.clz32?Math.clz32:ll,Sen=Math.log,_en=Math.LN2,Do=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),dD=null,xen=typeof Object.is==="function"?Object.is:Iu,El=null,LT=null,IT=null,yT=null,fD=null,gi=null,Gm=!1,bD=!1,zm=0,$m=0,Hm=-1,gD=0,Bf=null,Lc=null,mD=0,Cs=!1,km,l8={readContext:Xo,use:function(p){if(p!==null&&typeof p==="object"){if(typeof p.then==="function")return cl(p);if(p.$$typeof===Lm)return Xo(p)}throw Error("An unsupported type was passed to use(): "+String(p))},useContext:function(p){return km="useContext",vt(),p._currentValue2},useMemo:go,useReducer:ha,useRef:function(p){El=vt(),gi=xs();var d=gi.memoizedState;return d===null?(p={current:p},Object.seal(p),gi.memoizedState=p):d},useState:function(p){return km="useState",ha(Lr,p)},useInsertionEffect:di,useLayoutEffect:di,useCallback:function(p,d){return go(function(){return p},d)},useImperativeHandle:di,useEffect:di,useDebugValue:di,useDeferredValue:function(p,d){return vt(),d!==void 0?d:p},useTransition:function(){return vt(),[!1,Uu]},useId:function(){var p=LT.treeContext,d=p.overflow;p=p.id,p=(p&~(1<<32-pD(p)-1)).toString(32)+d;var g=ED;if(g===null)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");return d=zm++,p="_"+g.idPrefix+"R_"+p,0<d&&(p+="H"+d.toString(32)),p+"_"},useSyncExternalStore:function(p,d,g){if(g===void 0)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");return g()},useOptimistic:function(p){return vt(),[p,Fs]},useActionState:Eo,useFormState:Eo,useHostTransitionStatus:function(){return vt(),unn},useMemoCache:function(p){for(var d=Array(p),g=0;g<p;g++)d[g]=Pq;return d},useCacheRefresh:function(){return ho},useEffectEvent:function(){return Zo}},ED=null,Ur=null,Fen={getCacheForType:function(){throw Error("Not implemented.")},cacheSignal:function(){throw Error("Not implemented.")},getOwner:function(){return Ur===null?null:Ur.componentStack}},Bm=0,c8,p8,d8,f8,b8,g8,m8;pl.__reactDisabledLog=!0;var UT,E8,MT=!1,GT=new(typeof WeakMap==="function"?WeakMap:Map),h8={react_stack_bottom_frame:function(p,d,g){return p(d,g)}},Nen=h8.react_stack_bottom_frame.bind(h8),A8={react_stack_bottom_frame:function(p){return p.render()}},Cen=A8.react_stack_bottom_frame.bind(A8),D8={react_stack_bottom_frame:function(p){var d=p._init;return d(p._payload)}},w8=D8.react_stack_bottom_frame.bind(D8),v8=0;if(typeof performance==="object"&&typeof performance.now==="function")var Oen=performance,R8=function(){return Oen.now()};else{var Len=Date;R8=function(){return Len.now()}}var wo=4,Os=0,jt=1,T8=2,hl=3,Pm=4,Ic=5,Pf=14,Jt=null,S8={},_8={},x8={},F8={},N8=!1,C8=!1,O8=!1,Wm=0,hD=!1;Dxn.renderToStaticMarkup=function(p,d){return ly(p,d,!0,'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},Dxn.renderToString=function(p,d){return ly(p,d,!1,'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},Dxn.version="19.2.0"})()});var tJ={};eE(tJ,{version:()=>aJ,resume:()=>oJ,renderToString:()=>uJ,renderToStaticMarkup:()=>sJ,renderToReadableStream:()=>rJ});var wxn,PR,BI,aJ,rJ,oJ,uJ,sJ;var lJ=Le(()=>{eJ();wxn=se(iJ(),1);PR=HI,BI=wxn;aJ=PR.version,rJ=PR.renderToReadableStream,oJ=PR.resume,uJ=BI.renderToString,sJ=BI.renderToStaticMarkup});var EJ={};eE(EJ,{toPlainText:()=>gJ,renderAsync:()=>Txn,render:()=>mJ,pretty:()=>fJ,plainTextSelectors:()=>bJ});import{Writable as vxn}from"stream";function Vp(n,e){if(Array.isArray(n))return n.map((i)=>Vp(i,e));if(typeof n==="object"){if(n.type==="group")return{...n,contents:Vp(n.contents,e),expandedStates:Vp(n.expandedStates,e)};if("contents"in n)return{...n,contents:Vp(n.contents,e)};if("parts"in n)return{...n,parts:Vp(n.parts,e)};if(n.type==="if-break")return{...n,breakContents:Vp(n.breakContents,e),flatContents:Vp(n.flatContents,e)}}return e(n)}function gJ(n,e){return $Q(n,{selectors:bJ,wordwrap:!1,...e})}var pJ,dJ,WR,Rxn,fJ=(n,e={})=>{return O1(n.replaceAll("\x00",""),{...Rxn,...e})},bJ,cJ=async(n)=>{let e="",i=new TextDecoder("utf-8");if("pipeTo"in n){let t=new WritableStream({write(a){e+=i.decode(a,{stream:!0})},close(){e+=i.decode()}});await n.pipeTo(t)}else{let t=new vxn({write(a,r,o){e+=i.decode(a,{stream:!0}),o()},final(a){e+=i.decode(),a()}});n.pipe(t),await new Promise((a,r)=>{t.on("error",r),t.on("close",()=>{a()})})}return e},mJ=async(n,e)=>{let i=dJ.jsx(pJ.Suspense,{children:n}),t=await Promise.resolve().then(() => (lJ(),tJ)).then((o)=>o.default),a;if(Object.hasOwn(t,"renderToReadableStream")&&typeof WritableStream<"u")a=await cJ(await t.renderToReadableStream(i,{progressiveChunkSize:Number.POSITIVE_INFINITY}));else await new Promise((o,u)=>{let s=t.renderToPipeableStream(i,{async onAllReady(){a=await cJ(s),o()},onError(l){u(l)},progressiveChunkSize:Number.POSITIVE_INFINITY})});if(e?.plainText)return gJ(a,e.htmlToTextOptions);let r=`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">${a.replace(/<!DOCTYPE.*?>/,"")}`;if(e?.pretty)return fJ(r);return r},Txn=(n,e)=>{return mJ(n,e)};var hJ=Le(()=>{GV();eZ();HQ();pJ=se(za(),1),dJ=se(Rs(),1);WR={...fO};if(WR.printers){let n=WR.printers.html.print;WR.printers.html.print=(e,i,t,a)=>{let r=e.getNode(),o=n(e,i,t,a);if(r.type==="ieConditionalComment")return Vp(o,(u)=>{if(typeof u==="object"&&u.type==="line")return u.soft?"":" ";return u});return o}}Rxn={endOfLine:"lf",tabWidth:2,plugins:[WR],bracketSameLine:!0,parser:"html"},bJ=[{selector:"img",format:"skip"},{selector:"[data-skip-in-text=true]",format:"skip"},{selector:"a",options:{linkBrackets:!1,hideLinkHrefIfSameAsText:!0}}]});var CJ=Nn((CZn,ZR)=>{var Xxn=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},Un=function(n){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,t={},a={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function h(w){if(w instanceof r)return new r(w.type,h(w.content),w.alias);else if(Array.isArray(w))return w.map(h);else return w.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(h){return Object.prototype.toString.call(h).slice(8,-1)},objId:function(h){if(!h.__id)Object.defineProperty(h,"__id",{value:++i});return h.__id},clone:function h(w,T){T=T||{};var R,F;switch(a.util.type(w)){case"Object":if(F=a.util.objId(w),T[F])return T[F];R={},T[F]=R;for(var L in w)if(w.hasOwnProperty(L))R[L]=h(w[L],T);return R;case"Array":if(F=a.util.objId(w),T[F])return T[F];return R=[],T[F]=R,w.forEach(function(O,N){R[N]=h(O,T)}),R;default:return w}},getLanguage:function(h){while(h){var w=e.exec(h.className);if(w)return w[1].toLowerCase();h=h.parentElement}return"none"},setLanguage:function(h,w){h.className=h.className.replace(RegExp(e,"gi"),""),h.classList.add("language-"+w)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw Error()}catch(R){var h=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(R.stack)||[])[1];if(h){var w=document.getElementsByTagName("script");for(var T in w)if(w[T].src==h)return w[T]}return null}},isActive:function(h,w,T){var R="no-"+w;while(h){var F=h.classList;if(F.contains(w))return!0;if(F.contains(R))return!1;h=h.parentElement}return!!T}},languages:{plain:t,plaintext:t,text:t,txt:t,extend:function(h,w){var T=a.util.clone(a.languages[h]);for(var R in w)T[R]=w[R];return T},insertBefore:function(h,w,T,R){R=R||a.languages;var F=R[h],L={};for(var O in F)if(F.hasOwnProperty(O)){if(O==w){for(var N in T)if(T.hasOwnProperty(N))L[N]=T[N]}if(!T.hasOwnProperty(O))L[O]=F[O]}var B=R[h];return R[h]=L,a.languages.DFS(a.languages,function(W,J){if(J===B&&W!=h)this[W]=L}),L},DFS:function h(w,T,R,F){F=F||{};var L=a.util.objId;for(var O in w)if(w.hasOwnProperty(O)){T.call(w,O,w[O],R||O);var N=w[O],B=a.util.type(N);if(B==="Object"&&!F[L(N)])F[L(N)]=!0,h(N,T,null,F);else if(B==="Array"&&!F[L(N)])F[L(N)]=!0,h(N,T,O,F)}}},plugins:{},highlightAll:function(h,w){a.highlightAllUnder(document,h,w)},highlightAllUnder:function(h,w,T){var R={callback:T,container:h,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",R),R.elements=Array.prototype.slice.apply(R.container.querySelectorAll(R.selector)),a.hooks.run("before-all-elements-highlight",R);for(var F=0,L;L=R.elements[F++];)a.highlightElement(L,w===!0,R.callback)},highlightElement:function(h,w,T){var R=a.util.getLanguage(h),F=a.languages[R];a.util.setLanguage(h,R);var L=h.parentElement;if(L&&L.nodeName.toLowerCase()==="pre")a.util.setLanguage(L,R);var O=h.textContent,N={element:h,language:R,grammar:F,code:O};function B(J){N.highlightedCode=J,a.hooks.run("before-insert",N),N.element.innerHTML=N.highlightedCode,a.hooks.run("after-highlight",N),a.hooks.run("complete",N),T&&T.call(N.element)}if(a.hooks.run("before-sanity-check",N),L=N.element.parentElement,L&&L.nodeName.toLowerCase()==="pre"&&!L.hasAttribute("tabindex"))L.setAttribute("tabindex","0");if(!N.code){a.hooks.run("complete",N),T&&T.call(N.element);return}if(a.hooks.run("before-highlight",N),!N.grammar){B(a.util.encode(N.code));return}if(w&&n.Worker){var W=new Worker(a.filename);W.onmessage=function(J){B(J.data)},W.postMessage(JSON.stringify({language:N.language,code:N.code,immediateClose:!0}))}else B(a.highlight(N.code,N.grammar,N.language))},highlight:function(h,w,T){var R={code:h,grammar:w,language:T};if(a.hooks.run("before-tokenize",R),!R.grammar)throw Error('The language "'+R.language+'" has no grammar.');return R.tokens=a.tokenize(R.code,R.grammar),a.hooks.run("after-tokenize",R),r.stringify(a.util.encode(R.tokens),R.language)},tokenize:function(h,w){var T=w.rest;if(T){for(var R in T)w[R]=T[R];delete w.rest}var F=new s;return l(F,F.head,h),u(h,F,w,F.head,0),f(F)},hooks:{all:{},add:function(h,w){var T=a.hooks.all;T[h]=T[h]||[],T[h].push(w)},run:function(h,w){var T=a.hooks.all[h];if(!T||!T.length)return;for(var R=0,F;F=T[R++];)F(w)}},Token:r};n.Prism=a;function r(h,w,T,R){this.type=h,this.content=w,this.alias=T,this.length=(R||"").length|0}r.stringify=function h(w,T){if(typeof w=="string")return w;if(Array.isArray(w)){var R="";return w.forEach(function(B){R+=h(B,T)}),R}var F={type:w.type,content:h(w.content,T),tag:"span",classes:["token",w.type],attributes:{},language:T},L=w.alias;if(L)if(Array.isArray(L))Array.prototype.push.apply(F.classes,L);else F.classes.push(L);a.hooks.run("wrap",F);var O="";for(var N in F.attributes)O+=" "+N+'="'+(F.attributes[N]||"").replace(/"/g,"&quot;")+'"';return"<"+F.tag+' class="'+F.classes.join(" ")+'"'+O+">"+F.content+"</"+F.tag+">"};function o(h,w,T,R){h.lastIndex=w;var F=h.exec(T);if(F&&R&&F[1]){var L=F[1].length;F.index+=L,F[0]=F[0].slice(L)}return F}function u(h,w,T,R,F,L){for(var O in T){if(!T.hasOwnProperty(O)||!T[O])continue;var N=T[O];N=Array.isArray(N)?N:[N];for(var B=0;B<N.length;++B){if(L&&L.cause==O+","+B)return;var W=N[B],J=W.inside,H=!!W.lookbehind,q=!!W.greedy,K=W.alias;if(q&&!W.pattern.global){var cn=W.pattern.toString().match(/[imsuy]*$/)[0];W.pattern=RegExp(W.pattern.source,cn+"g")}var fn=W.pattern||W;for(var dn=R.next,hn=F;dn!==w.tail;hn+=dn.value.length,dn=dn.next){if(L&&hn>=L.reach)break;var _n=dn.value;if(w.length>h.length)return;if(_n instanceof r)continue;var V=1,ln;if(q){if(ln=o(fn,hn,h,H),!ln||ln.index>=h.length)break;var rn=ln.index,I=ln.index+ln[0].length,j=hn;j+=dn.value.length;while(rn>=j)dn=dn.next,j+=dn.value.length;if(j-=dn.value.length,hn=j,dn.value instanceof r)continue;for(var tn=dn;tn!==w.tail&&(j<I||typeof tn.value==="string");tn=tn.next)V++,j+=tn.value.length;V--,_n=h.slice(hn,j),ln.index-=hn}else if(ln=o(fn,0,_n,H),!ln)continue;var rn=ln.index,Fn=ln[0],Yn=_n.slice(0,rn),Rn=_n.slice(rn+Fn.length),wn=hn+_n.length;if(L&&wn>L.reach)L.reach=wn;var re=dn.prev;if(Yn)re=l(w,re,Yn),hn+=Yn.length;c(w,re,V);var Vn=new r(O,J?a.tokenize(Fn,J):Fn,K,Fn);if(dn=l(w,re,Vn),Rn)l(w,dn,Rn);if(V>1){var ci={cause:O+","+B,reach:wn};if(u(h,w,T,dn.prev,hn,ci),L&&ci.reach>L.reach)L.reach=ci.reach}}}}}function s(){var h={value:null,prev:null,next:null},w={value:null,prev:h,next:null};h.next=w,this.head=h,this.tail=w,this.length=0}function l(h,w,T){var R=w.next,F={value:T,prev:w,next:R};return w.next=F,R.prev=F,h.length++,F}function c(h,w,T){var R=w.next;for(var F=0;F<T&&R!==h.tail;F++)R=R.next;w.next=R,R.prev=w,h.length-=F}function f(h){var w=[],T=h.head.next;while(T!==h.tail)w.push(T.value),T=T.next;return w}if(!n.document){if(!n.addEventListener)return a;if(!a.disableWorkerMessageHandler)n.addEventListener("message",function(h){var w=JSON.parse(h.data),T=w.language,R=w.code,F=w.immediateClose;if(n.postMessage(a.highlight(R,a.languages[T],T)),F)n.close()},!1);return a}var b=a.util.currentScript();if(b){if(a.filename=b.src,b.hasAttribute("data-manual"))a.manual=!0}function m(){if(!a.manual)a.highlightAll()}if(!a.manual){var E=document.readyState;if(E==="loading"||E==="interactive"&&b&&b.defer)document.addEventListener("DOMContentLoaded",m);else if(window.requestAnimationFrame)window.requestAnimationFrame(m);else window.setTimeout(m,16)}return a}(Xxn);if(typeof ZR<"u"&&ZR.exports)ZR.exports=Un;if(typeof global<"u")global.Prism=Un;Un.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Un.languages.markup.tag.inside["attr-value"].inside.entity=Un.languages.markup.entity;Un.languages.markup.doctype.inside["internal-subset"].inside=Un.languages.markup;Un.hooks.add("wrap",function(n){if(n.type==="entity")n.attributes.title=n.content.replace(/&amp;/,"&")});Object.defineProperty(Un.languages.markup.tag,"addInlined",{value:function(e,i){var t={};t["language-"+i]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Un.languages[i]},t.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:t}};a["language-"+i]={pattern:/[\s\S]+/,inside:Un.languages[i]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},Un.languages.insertBefore("markup","cdata",r)}});Object.defineProperty(Un.languages.markup.tag,"addAttribute",{value:function(n,e){Un.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Un.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Un.languages.html=Un.languages.markup;Un.languages.mathml=Un.languages.markup;Un.languages.svg=Un.languages.markup;Un.languages.xml=Un.languages.extend("markup",{});Un.languages.ssml=Un.languages.xml;Un.languages.atom=Un.languages.xml;Un.languages.rss=Un.languages.xml;(function(n){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+e.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var i=n.languages.markup;if(i)i.tag.addInlined("style","css"),i.tag.addAttribute("style","css")})(Un);Un.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Un.languages.javascript=Un.languages.extend("clike",{"class-name":[Un.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Un.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Un.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Un.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Un.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Un.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Un.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Un.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Un.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Un.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Un.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});if(Un.languages.markup)Un.languages.markup.tag.addInlined("script","javascript"),Un.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript");Un.languages.js=Un.languages.javascript;(function(){if(typeof Un>"u"||typeof document>"u")return;if(!Element.prototype.matches)Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var n="Loading\u2026",e=function(b,m){return"\u2716 Error "+b+" while fetching file: "+m},i="\u2716 Error: File does not exist or is empty",t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",r="loading",o="loaded",u="failed",s="pre[data-src]:not(["+a+'="'+o+'"]):not(['+a+'="'+r+'"])';function l(b,m,E){var h=new XMLHttpRequest;h.open("GET",b,!0),h.onreadystatechange=function(){if(h.readyState==4)if(h.status<400&&h.responseText)m(h.responseText);else if(h.status>=400)E(e(h.status,h.statusText));else E(i)},h.send(null)}function c(b){var m=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(b||"");if(m){var E=Number(m[1]),h=m[2],w=m[3];if(!h)return[E,E];if(!w)return[E,void 0];return[E,Number(w)]}return}Un.hooks.add("before-highlightall",function(b){b.selector+=", "+s}),Un.hooks.add("before-sanity-check",function(b){var m=b.element;if(m.matches(s)){b.code="",m.setAttribute(a,r);var E=m.appendChild(document.createElement("CODE"));E.textContent=n;var h=m.getAttribute("data-src"),w=b.language;if(w==="none"){var T=(/\.(\w+)$/.exec(h)||[,"none"])[1];w=t[T]||T}Un.util.setLanguage(E,w),Un.util.setLanguage(m,w);var R=Un.plugins.autoloader;if(R)R.loadLanguages(w);l(h,function(F){m.setAttribute(a,o);var L=c(m.getAttribute("data-range"));if(L){var O=F.split(/\r\n?|\n/g),N=L[0],B=L[1]==null?O.length:L[1];if(N<0)N+=O.length;if(N=Math.max(0,Math.min(N-1,O.length)),B<0)B+=O.length;if(B=Math.max(0,Math.min(B,O.length)),F=O.slice(N,B).join(`
269
269
  `),!m.hasAttribute("data-start"))m.setAttribute("data-start",String(N+1))}E.textContent=F,Un.highlightElement(E)},function(F){m.setAttribute(a,u),E.textContent=F})}}),Un.plugins.fileHighlight={highlight:function(m){var E=(m||document).querySelectorAll(s);for(var h=0,w;w=E[h++];)Un.highlightElement(w)}};var f=!1;Un.fileHighlight=function(){if(!f)console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),f=!0;Un.plugins.fileHighlight.highlight.apply(this,arguments)}})()});var Lf=Nn((BFn)=>{var Of=se(za(),1);(function(){function n(I){if(I==null)return null;if(typeof I==="function")return I.$$typeof===H?null:I.displayName||I.name||null;if(typeof I==="string")return I;switch(I){case h:return"Fragment";case T:return"Profiler";case w:return"StrictMode";case O:return"Suspense";case N:return"SuspenseList";case J:return"Activity"}if(typeof I==="object")switch(typeof I.tag==="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),I.$$typeof){case E:return"Portal";case F:return I.displayName||"Context";case R:return(I._context.displayName||"Context")+".Consumer";case L:var j=I.render;return I=I.displayName,I||(I=j.displayName||j.name||"",I=I!==""?"ForwardRef("+I+")":"ForwardRef"),I;case B:return j=I.displayName||null,j!==null?j:n(I.type)||"Memo";case W:j=I._payload,I=I._init;try{return n(I(j))}catch(tn){}}return null}function e(I){return""+I}function i(I){try{e(I);var j=!1}catch(Fn){j=!0}if(j){j=console;var tn=j.error,rn=typeof Symbol==="function"&&Symbol.toStringTag&&I[Symbol.toStringTag]||I.constructor.name||"Object";return tn.call(j,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",rn),e(I)}}function t(I){if(I===h)return"<>";if(typeof I==="object"&&I!==null&&I.$$typeof===W)return"<...>";try{var j=n(I);return j?"<"+j+">":"<...>"}catch(tn){return"<...>"}}function a(){var I=q.A;return I===null?null:I.getOwner()}function r(){return Error("react-stack-top-frame")}function o(I){if(K.call(I,"key")){var j=Object.getOwnPropertyDescriptor(I,"key").get;if(j&&j.isReactWarning)return!1}return I.key!==void 0}function u(I,j){function tn(){dn||(dn=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",j))}tn.isReactWarning=!0,Object.defineProperty(I,"key",{get:tn,configurable:!0})}function s(){var I=n(this.type);return hn[I]||(hn[I]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),I=this.props.ref,I!==void 0?I:null}function l(I,j,tn,rn,Fn,Yn){var Rn=tn.ref;return I={$$typeof:m,type:I,key:j,props:tn,_owner:rn},(Rn!==void 0?Rn:null)!==null?Object.defineProperty(I,"ref",{enumerable:!1,get:s}):Object.defineProperty(I,"ref",{enumerable:!1,value:null}),I._store={},Object.defineProperty(I._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(I,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(I,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Fn}),Object.defineProperty(I,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Yn}),Object.freeze&&(Object.freeze(I.props),Object.freeze(I)),I}function c(I,j,tn,rn,Fn,Yn){var Rn=j.children;if(Rn!==void 0)if(rn)if(cn(Rn)){for(rn=0;rn<Rn.length;rn++)f(Rn[rn]);Object.freeze&&Object.freeze(Rn)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else f(Rn);if(K.call(j,"key")){Rn=n(I);var wn=Object.keys(j).filter(function(Vn){return Vn!=="key"});rn=0<wn.length?"{key: someKey, "+wn.join(": ..., ")+": ...}":"{key: someKey}",ln[Rn+rn]||(wn=0<wn.length?"{"+wn.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
270
270
  let props = %s;
271
271
  <%s {...props} />
@@ -297,7 +297,7 @@ ${b.trace}`:`No previous disposal trace for ${i} was found.`);return}t.subject.n
297
297
  ${a} was most recently disposed
298
298
  ${f.trace}`:`No previous disposal trace for ${a} was found.`),i}let u=bt(e),s=r.molecules.get(u);if(!s){let f=n.disposalTraces.buffer.find((b)=>b?.key===u);return n.logger.error("\u274C","key",i,"claim failed:",`Could not allocate to ${u} in store "${n.config.name}".`,f?`
299
299
  ${u} was most recently disposed
300
- ${f.trace}`:`No previous disposal trace for ${u} was found.`),i}let l=n.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:f}])=>f!==a).map(([f])=>Ar(f));if(t)r.moleculeGraph.delete(a);r.moleculeGraph.set({upstreamMoleculeKey:s.stringKey,downstreamMoleculeKey:o.stringKey},{source:s.stringKey});let c={type:"molecule_transfer",key:o.key,exclusive:Boolean(t),from:l,to:[s.key],timestamp:Date.now()};if(Qr(r)&&r.transactionMeta.phase==="building")r.transactionMeta.update.subEvents.push(c);return i}function fan(n,e,i){switch(i){case"newValue":ZU(n,e);break;case"oldValue":ah(n,e.token);break}}function ban(n,e,i){switch(i){case"newValue":ah(n,e.token);break;case"oldValue":if(ZU(n,e),e.subType==="atom")n.valueMap.set(e.token.key,e.value);break}}function ZU(n,e){let{token:i}=e;if(e.subType==="writable"&&e.value)sa(n,i,e.value);else Kr(n,i)}function gan(n,e,i){switch(i){case"newValue":b_(n,e.provenance,e.key);break;case"oldValue":g_(n,e.key);break}}function man(n,e,i){switch(i){case"newValue":g_(n,e.key);break;case"oldValue":b_(n,e.provenance.map(Ar),e.key);for(let[t,a]of e.values){let r=n.families.get(t);if(r){Kr(n,r,e.key);let o=`${t}(${bt(e.key)})`;n.valueMap.set(o,a)}}break}}function Ean(n,e,i){switch(i){case"newValue":for(let t of e.to)s_(n,t,e.key,e.exclusive?"exclusive":void 0);break;case"oldValue":{let t="exclusive";for(let a of e.from)s_(n,a,e.key,t),t=void 0}break}}function QU(n,e,i){let t=i==="newValue"?e.subEvents:[...e.subEvents].reverse();for(let a of t)switch(a.type){case"atom_update":pan(n,a,i);break;case"state_creation":fan(n,a,i);break;case"state_disposal":ban(n,a,i);break;case"molecule_creation":gan(n,a,i);break;case"molecule_disposal":man(n,a,i);break;case"molecule_transfer":Ean(n,a,i);break;case"transaction_outcome":QU(n,a,i);break}}function Ib(n){return"epoch"in n.transactionMeta}function Qr(n){return"phase"in n.transactionMeta}function KU(n,e){return n.transactionMeta.actionContinuities.getRelatedKey(e)}function han(n,e){return n.transactionMeta.epoch.get(e)}function Aan(n,e){let i=KU(n,e);if(i===void 0)return;return han(n,i)}function Dan(n,e,i){let t=KU(n,e);if(t!==void 0)n.transactionMeta.epoch.set(t,i)}function wan(n,e){let i=we(n),{parent:t}=i;i.transactionMeta.phase="applying",i.transactionMeta.update.output=e,t.child=null,t.on.transactionApplying.next(i.transactionMeta);let{subEvents:a}=i.transactionMeta.update;if(n.logger.info("\uD83D\uDEC4","transaction",i.transactionMeta.update.token.key,`applying ${a.length} subEvents:`,a),QU(t,i.transactionMeta.update,"newValue"),Ib(t))Dan(t,i.transactionMeta.update.token.key,i.transactionMeta.update.epoch),tt(n,{key:i.transactionMeta.update.token.key,type:"transaction"})?.subject.next(i.transactionMeta.update),n.logger.info("\uD83D\uDEEC","transaction",i.transactionMeta.update.token.key,"applied");else if(Qr(t))t.transactionMeta.update.subEvents.push(i.transactionMeta.update);t.on.transactionApplying.next(null)}function van(n){return{store:n}}var Ran=(n,e,i,t)=>{let a=we(n),r={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new es(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new es(a.families),joins:new es(a.joins),operation:{open:!1},readonlySelectors:new es(a.readonlySelectors),timelines:new es(a.timelines),timelineTopics:a.timelineTopics.overlay(),trackers:new Map,transactions:new es(a.transactions),selectorAtoms:a.selectorAtoms.overlay(),selectorGraph:a.selectorGraph.overlay(),writableSelectors:new es(a.writableSelectors),valueMap:new es(a.valueMap),defaults:a.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new es(a.molecules),moleculeGraph:a.moleculeGraph.overlay(),moleculeData:a.moleculeData.overlay(),keyRefsInJoins:a.keyRefsInJoins.overlay(),miscResources:new es(a.miscResources)},o=Aan(n,e.key),u={phase:"building",update:{type:"transaction_outcome",token:e,id:t,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:i,output:void 0},toolkit:{get:(...l)=>Kr(s,...l),set:(...l)=>{sa(s,...l)},reset:(...l)=>{I0(s,...l)},run:(l,c=VU())=>f_(s,l,c),find:(...l)=>ua(n,...l),json:(l)=>Nd(s,l),dispose:(...l)=>{ah(s,...l)},env:()=>van(s)}},s=Object.assign(r,{transactionMeta:u});return a.child=s,n.logger.info("\uD83D\uDEEB","transaction",e.key,"building with params:",i),s};function m_(n,e){let{key:i}=e,t=n.transactions.has(i),a={key:i,type:"transaction",run:(o,u)=>{let s=Ran(n,tp(a),o,u);try{let{toolkit:l}=s.transactionMeta,c=e.do(l,...o);return wan(s,c),c}catch(l){throw can(s),n.logger.warn("\uD83D\uDCA5","transaction",i,"caught:",l),l}},install:(o)=>m_(o,e),subject:new ze};we(n).transactions.set(i,a);let r=tp(a);if(!t)n.on.transactionCreation.next(r);return r}var jU=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new is({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new is({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new is({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new is({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new uan(100);molecules=new Map;moleculeGraph=new is({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new is({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});keyRefsInJoins=new is({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new ze,atomDisposal:new ze,selectorCreation:new ze,selectorDisposal:new ze,timelineCreation:new ze,transactionCreation:new ze,transactionApplying:new oan(null),operationClose:new ze,moleculeCreation:new ze,moleculeDisposal:new ze};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new C0("warn",(n,e,i)=>!lan(i))];logger={error:(...n)=>{for(let e of this.loggers)e.error(...n)},info:(...n)=>{for(let e of this.loggers)e.info(...n)},warn:(...n)=>{for(let e of this.loggers)e.warn(...n)}};constructor(n,e=null){if(this.config={...e?.config,...n},e!==null){if(this.operation={...e?.operation},Ib(e))this.transactionMeta={epoch:new Map(e?.transactionMeta.epoch),actionContinuities:new is(e?.transactionMeta.actionContinuities.toJSON())};for(let[,t]of e.families){if(t.internalRoles?.includes("mutable")||t.internalRoles?.includes("join"))continue;t.install(this)}let i=new Set;for(let[,t]of e.atoms){if(i.has(t.key))continue;if(t.install(this),t.type==="mutable_atom"){let a=Nd(e,t),r=_0(t);i.add(a.key),i.add(r.key)}}for(let[,t]of e.readonlySelectors)t.install(this);for(let[,t]of e.writableSelectors){if(i.has(t.key))continue;t.install(this)}for(let[,t]of e.transactions)t.install(this);for(let[,t]of e.timelines)t.install(this)}}},hi={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new jU({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var Tan=class extends Error{constructor(n,e){super(`${Wl[n.type]} ${bt(n.key)} not found in store "${e.config.name}".`)}};function tt(n,e){let i,t=n;while(t!==null){switch(e.type){case"atom":case"mutable_atom":i=t.atoms.get(e.key);break;case"writable_pure_selector":case"writable_held_selector":i=t.writableSelectors.get(e.key);break;case"readonly_pure_selector":case"readonly_held_selector":i=t.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":i=t.families.get(e.key);break;case"timeline":i=t.timelines.get(e.key);break;case"transaction":i=t.transactions.get(e.key);break}if(i)return i;t=t.child}throw new Tan(e,n)}function JU(n,e,i,t){let a=n.disposalTraces.buffer.find((r)=>r?.key===bt(t));switch(n.logger.error("\u274C",e.type,e.key,"gets a fallback value because key",t,"is not allocated",a?`This key was previously disposed:
300
+ ${f.trace}`:`No previous disposal trace for ${u} was found.`),i}let l=n.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:f}])=>f!==a).map(([f])=>Ar(f));if(t)r.moleculeGraph.delete(a);r.moleculeGraph.set({upstreamMoleculeKey:s.stringKey,downstreamMoleculeKey:o.stringKey},{source:s.stringKey});let c={type:"molecule_transfer",key:o.key,exclusive:Boolean(t),from:l,to:[s.key],timestamp:Date.now()};if(Qr(r)&&r.transactionMeta.phase==="building")r.transactionMeta.update.subEvents.push(c);return i}function fan(n,e,i){switch(i){case"newValue":ZU(n,e);break;case"oldValue":ah(n,e.token);break}}function ban(n,e,i){switch(i){case"newValue":ah(n,e.token);break;case"oldValue":if(ZU(n,e),e.subType==="atom")n.valueMap.set(e.token.key,e.value);break}}function ZU(n,e){let{token:i}=e;if(e.subType==="writable"&&e.value)sa(n,i,e.value);else Kr(n,i)}function gan(n,e,i){switch(i){case"newValue":b_(n,e.provenance,e.key);break;case"oldValue":g_(n,e.key);break}}function man(n,e,i){switch(i){case"newValue":g_(n,e.key);break;case"oldValue":b_(n,e.provenance.map(Ar),e.key);for(let[t,a]of e.values){let r=n.families.get(t);if(r){Kr(n,r,e.key);let o=`${t}(${bt(e.key)})`;n.valueMap.set(o,a)}}break}}function Ean(n,e,i){switch(i){case"newValue":for(let t of e.to)s_(n,t,e.key,e.exclusive?"exclusive":void 0);break;case"oldValue":{let t="exclusive";for(let a of e.from)s_(n,a,e.key,t),t=void 0}break}}function QU(n,e,i){let t=i==="newValue"?e.subEvents:[...e.subEvents].reverse();for(let a of t)switch(a.type){case"atom_update":pan(n,a,i);break;case"state_creation":fan(n,a,i);break;case"state_disposal":ban(n,a,i);break;case"molecule_creation":gan(n,a,i);break;case"molecule_disposal":man(n,a,i);break;case"molecule_transfer":Ean(n,a,i);break;case"transaction_outcome":QU(n,a,i);break}}function Ib(n){return"epoch"in n.transactionMeta}function Qr(n){return"phase"in n.transactionMeta}function KU(n,e){return n.transactionMeta.actionContinuities.getRelatedKey(e)}function han(n,e){return n.transactionMeta.epoch.get(e)}function Aan(n,e){let i=KU(n,e);if(i===void 0)return;return han(n,i)}function Dan(n,e,i){let t=KU(n,e);if(t!==void 0)n.transactionMeta.epoch.set(t,i)}function wan(n,e){let i=we(n),{parent:t}=i;i.transactionMeta.phase="applying",i.transactionMeta.update.output=e,t.child=null,t.on.transactionApplying.next(i.transactionMeta);let{subEvents:a}=i.transactionMeta.update;if(n.logger.info("\uD83D\uDEC4","transaction",i.transactionMeta.update.token.key,`applying ${a.length} subEvents:`,a),QU(t,i.transactionMeta.update,"newValue"),Ib(t))Dan(t,i.transactionMeta.update.token.key,i.transactionMeta.update.epoch),tt(n,{key:i.transactionMeta.update.token.key,type:"transaction"})?.subject.next(i.transactionMeta.update),n.logger.info("\uD83D\uDEEC","transaction",i.transactionMeta.update.token.key,"applied");else if(Qr(t))t.transactionMeta.update.subEvents.push(i.transactionMeta.update);t.on.transactionApplying.next(null)}function van(n){return{store:n}}var Ran=(n,e,i,t)=>{let a=we(n),r={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new es(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new es(a.families),joins:new es(a.joins),operation:{open:!1},readonlySelectors:new es(a.readonlySelectors),timelines:new es(a.timelines),timelineTopics:a.timelineTopics.overlay(),trackers:new Map,transactions:new es(a.transactions),selectorAtoms:a.selectorAtoms.overlay(),selectorGraph:a.selectorGraph.overlay(),writableSelectors:new es(a.writableSelectors),valueMap:new es(a.valueMap),defaults:a.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new es(a.molecules),moleculeGraph:a.moleculeGraph.overlay(),moleculeData:a.moleculeData.overlay(),keyRefsInJoins:a.keyRefsInJoins.overlay(),miscResources:new es(a.miscResources)},o=Aan(n,e.key),u={phase:"building",update:{type:"transaction_outcome",token:e,id:t,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:i,output:void 0},toolkit:{get:(...l)=>Kr(s,...l),set:(...l)=>{sa(s,...l)},reset:(...l)=>{I0(s,...l)},run:(l,c=VU())=>f_(s,l,c),find:(...l)=>ua(n,...l),json:(l)=>Nd(s,l),dispose:(...l)=>{ah(s,...l)},env:()=>van(s)}},s=Object.assign(r,{transactionMeta:u});return a.child=s,n.logger.info("\uD83D\uDEEB","transaction",e.key,"building with params:",i),s};function m_(n,e){let{key:i}=e,t=n.transactions.has(i),a={key:i,type:"transaction",run:(o,u)=>{let s=Ran(n,tp(a),o,u);try{let{toolkit:l}=s.transactionMeta,c=e.do(l,...o);return wan(s,c),c}catch(l){throw can(s),n.logger.warn("\uD83D\uDCA5","transaction",i,"caught:",l),l}},install:(o)=>m_(o,e),subject:new ze};we(n).transactions.set(i,a);let r=tp(a);if(!t)n.on.transactionCreation.next(r);return r}var jU=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new is({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new is({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new is({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new is({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new uan(100);molecules=new Map;moleculeGraph=new is({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new is({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});keyRefsInJoins=new is({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new ze,atomDisposal:new ze,selectorCreation:new ze,selectorDisposal:new ze,timelineCreation:new ze,transactionCreation:new ze,transactionApplying:new oan(null),operationClose:new ze,moleculeCreation:new ze,moleculeDisposal:new ze};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new C0("warn",(n,e,i)=>!lan(i))];logger={error:(...n)=>{for(let e of this.loggers)e.error(...n)},info:(...n)=>{for(let e of this.loggers)e.info(...n)},warn:(...n)=>{for(let e of this.loggers)e.warn(...n)}};constructor(n,e=null){if(this.config={...e?.config,...n},e!==null){if(this.operation={...e?.operation},Ib(e))this.transactionMeta={epoch:new Map(e?.transactionMeta.epoch),actionContinuities:new is(e?.transactionMeta.actionContinuities.toJSON())};for(let[,t]of e.families){if(t.internalRoles?.includes("mutable")||t.internalRoles?.includes("join"))continue;t.install(this)}let i=new Set;for(let[,t]of e.atoms){if(i.has(t.key))continue;if(t.install(this),t.type==="mutable_atom"){let a=Nd(e,t),r=_0(t);i.add(a.key),i.add(r.key)}}for(let[,t]of e.readonlySelectors)t.install(this);for(let[,t]of e.writableSelectors){if(i.has(t.key))continue;t.install(this)}for(let[,t]of e.transactions)t.install(this);for(let[,t]of e.timelines)t.install(this)}}},hi={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new jU({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var Tan=class extends Error{constructor(n,e){super(`${Wl[n.type]} ${bt(n.key)} not found in store "${e.config.name}".`)}};function tt(n,e){let i,t=n;while(t!==null){switch(e.type){case"atom":case"mutable_atom":i=t.atoms.get(e.key);break;case"writable_pure_selector":case"writable_held_selector":i=t.writableSelectors.get(e.key);break;case"readonly_pure_selector":case"readonly_held_selector":i=t.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":i=t.families.get(e.key);break;case"timeline":i=t.timelines.get(e.key);break;case"transaction":i=t.transactions.get(e.key);break}if(i)return i;t=t.child}throw new Tan(e,n)}function JU(n,e,i,t){let a=n.disposalTraces.buffer.find((r)=>r?.key===bt(t));switch(n.logger.error("\u274C",e.type,e.key,"gets a fallback value because key",t,"is not allocated",a?`This key was previously disposed:
301
301
  ${a.trace}`:"(no previous disposal trace found)"),i.type){case"mutable_atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=new i.class;return n.defaults.set(i.key,r),r.READONLY_VIEW}case"atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default,o=r(t);return n.defaults.set(i.key,o),o}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default(t);return n.defaults.set(i.key,r),r}}}function x0(n,e){let{type:i,key:t,catch:a}=e;switch(i){case"readonly_pure_selector":case"writable_pure_selector":{let r;n.logger.info("\uD83E\uDDEE",i,t,"computing value");try{if(r=e.getFrom(n),r instanceof Promise)return r.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",i,t,"rejected:",o),a){for(let u of a)if(o instanceof u)return o}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",i,t,"rejected:",o),a){for(let u of a)if(o instanceof u)return su(n,e,o)}throw o}return su(n,e,r)}case"atom":{let r;if(JE(e.default))try{if(r=e.default(),r instanceof Promise)r=r.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",i,t,"rejected:",o),a){for(let u of a)if(o instanceof u)return o}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",i,t,"rejected:",o),a){for(let u of a)if(o instanceof u)return r=su(n,e,o),n.logger.info("\u2728",e.type,t,"computed default",r),r}throw o}else r=e.default,n.logger.info("\u2728",e.type,t,"using static default",r);return su(n,e,r)}}}function Fd(n,e,i){if(n.valueMap.has(e.key))return zan(n,e,i);n.logger.info("\u2754",e.type,e.key,"value not found in cache");let{key:t}=e;switch(e.type){case"readonly_held_selector":case"writable_held_selector":return n.logger.info("\uD83E\uDDEE",e.type,t,"computing value"),e.getFrom(n);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return x0(n,e);case"mutable_atom":{let a=new e.class;return n.logger.info("\u2728",e.type,t,"created new instance",a),su(n,e,a)}}}function E_(n,e){return tt(n,{key:e.family.key,type:`${e.type}_family`})}var BU={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},qE=Symbol("MUST_CREATE"),San=Symbol("DO_NOT_CREATE");function nh(n,e,i,t){let a=bt(t),r=e.molecules.get(a);if(!r&&e.config.lifespan==="immortal"){let{type:u,key:s}=i;return e.logger.warn("\uD83D\uDCA3","key",a,"was used to mint a counterfeit token for",u,`"${s}"`),{counterfeit:!0,key:`${s}(${a})`,type:BU[u],family:{key:s,subKey:a}}}let o;if(n===qE){if(e.logger.info("\uD83D\uDC6A",i.type,i.key,"adds member",typeof t==="string"?`\`${t}\``:t),o=i.create(t),r)e.moleculeData.set(a,i.key)}else{let{type:u,key:s}=i;return{key:`${s}(${a})`,type:BU[u],family:{key:s,subKey:a}}}return o}function h_(n,...e){let i,t,a,r,o;if(e.length===1){if(o=e[0],"family"in o){let s=E_(n,o);if(a=tt(n,s),r=Ar(o.family.subKey),i=eh(n,s,r),"counterfeit"in o)return{token:o,family:a,subKey:r,isNew:!1};if(!i)t=nh(qE,n,s,r),o=t;else o=i}}else if(a=tt(n,e[0]),r=e[1],i=eh(n,a,r),!i)t=nh(qE,n,a,r),o=t;else o=i;let u="counterfeit"in o;if(Boolean(t)&&u===!1&&a){let s;switch(o.type){case"readonly_pure_selector":case"readonly_held_selector":s="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":s="writable";break}let l={type:"state_creation",subType:s,token:o,timestamp:Date.now()};a.subject.next(l);let c=we(n);if(o.family){if(Ib(c))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":n.on.selectorCreation.next(o);break}else if(Qr(c)&&c.on.transactionApplying.state===null)c.transactionMeta.update.subEvents.push(l)}}return{token:o,family:a,subKey:r,isNew:Boolean(t)}}function Kr(n,...e){let{token:i,family:t,subKey:a}=h_(n,...e);if("counterfeit"in i&&t&&a)return JU(n,i,t,a);return Fd(n,tt(n,i))}function eh(n,e,i){let t=bt(i),a=`${e.key}(${t})`,r=we(n),o;switch(e.type){case"atom_family":case"mutable_atom_family":o=r.atoms.get(a);break;case"writable_held_selector_family":case"writable_pure_selector_family":o=r.writableSelectors.get(a);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":o=r.readonlySelectors.get(a);break}if(o)return tp(o);return o}function ua(n,e,i){let t=tt(n,e),a=eh(n,e,i);if(a)return a;return nh(San,n,t,i)}function F0(n,e,i){let t=e.key,a="readonly_pure_selector_family",r={key:t,type:"readonly_pure_selector_family"},o=n.families.get(t);if(o&&n.config.isProduction===!0)n.logger.error("\u2757","readonly_pure_selector_family",t,`Overwriting an existing ${Wl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new ze,l={...r,create:(c)=>{let f=bt(c),b={key:t,subKey:f},m=`${t}(${f})`,E=we(n),h={key:m,get:e.get(c)};if(e.catch)h.catch=e.catch;return v_(E,h,b)},internalRoles:i,subject:u,install:(c)=>F0(c,e),default:(c)=>{return e.get(c)({get:(...f)=>Kr(n,...f),find:(...f)=>ua(n,...f),json:(f)=>Nd(n,f)})}};return n.families.set(t,l),r}function O0(n,e,i){let t={key:e.key,type:"atom_family"},a=n.families.get(e.key);if(a&&n.config.isProduction===!0)n.logger.error("\u2757","atom_family",e.key,`Overwriting an existing ${Wl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new ze,u={...t,create:(s)=>{let l=bt(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=we(n),m=e.default,E={key:f,default:JE(m)?()=>m(s):m};if(e.effects)E.effects=e.effects(s);if(e.catch)E.catch=e.catch;return M0(b,E,c)},default:e.default,subject:r,install:(s)=>O0(s,e),internalRoles:i};if(n.families.set(e.key,u),JE(e.default)===!1)n.defaults.set(e.key,e.default);return t}function qU(n,e,i){let t=e.key,a="readonly_held_selector_family",r={key:t,type:"readonly_held_selector_family"},o=n.families.get(t);if(o&&n.config.isProduction===!0)n.logger.error("\u2757","readonly_held_selector_family",t,`Overwriting an existing ${Wl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new ze,l={...r,create:(c)=>{let f=bt(c),b={key:t,subKey:f},m=`${t}(${f})`;return w_(we(n),{key:m,const:e.const(c),get:e.get(c)},b)},internalRoles:i,subject:u,install:(c)=>qU(c,e),default:e.const};return n.families.set(t,l),r}function nM(n,e,i){let t=e.key,a="writable_held_selector_family",r={key:t,type:"writable_held_selector_family"},o=n.families.get(t);if(o&&n.config.isProduction===!0)n.logger.error("\u2757","writable_held_selector_family",t,`Overwriting an existing ${Wl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new ze,l={...r,create:(c)=>{let f=bt(c),b={key:t,subKey:f},m=`${t}(${f})`;return R_(we(n),{key:m,const:e.const(c),get:e.get(c),set:e.set(c)},b)},internalRoles:i,subject:u,install:(c)=>nM(c,e),default:e.const};return n.families.set(t,l),r}function A_(n,e,i){let t=e.key,a="writable_pure_selector_family",r={key:t,type:"writable_pure_selector_family"},o=n.families.get(t);if(o&&n.config.isProduction===!0)n.logger.error("\u2757","writable_pure_selector_family",t,`Overwriting an existing ${Wl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new ze,l={...r,create:(c)=>{let f=bt(c),b={key:t,subKey:f},m=`${t}(${f})`,E=we(n),h={key:m,get:e.get(c),set:e.set(c)};if(e.catch)h.catch=e.catch;return T_(E,h,b)},internalRoles:i,subject:u,install:(c)=>A_(c,e),default:(c)=>{return e.get(c)({get:(...f)=>Kr(n,...f),find:(...f)=>ua(n,...f),json:(f)=>Nd(n,f)})}};return n.families.set(t,l),r}function eM(n,e){let i="set"in e,t="const"in e;if(t&&i)return nM(n,e,void 0);if(t)return qU(n,e,void 0);if(i)return A_(n,e);return F0(n,e)}function ah(n,...e){let i;if(e.length===1)i=e[0];else{let t=e[0],a=e[1];i=ua(n,t,a)}try{tt(n,i)}catch(t){n.logger.error("\u274C",i.type,i.key,`could not be disposed because it was not found in the store "${n.config.name}".`);return}switch(i.type){case"atom":case"mutable_atom":lM(n,i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":Ian(n,i);break}}function iM(n,e){if(n.operation.open){let i=performance.now();return n.logger.info("\uD83D\uDEAB",e.type,e.key,`deferring setState at T-${i} until setState for "${n.operation.token.key}" is done`),i}return n.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:e,subEvents:[]},n.logger.info("\u2B55",e.type,e.key,`operation start in store "${n.config.name}"${Qr(n)?` ${n.transactionMeta.phase} "${n.transactionMeta.update.token.key}"`:""}`),n}function tM(n){if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)}var aM=(n,e)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",e,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(e)},L0=(n,e)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",e,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(e)};function l_(n,e,{oldValue:i,newValue:t},a,r){let o=tp(e);if(a&&r){e.subject.next({newValue:t});let f={checkpoint:!0,type:"state_creation",subType:"writable",token:o,timestamp:Date.now(),value:t};n.operation.subEvents.push(f),r.subject.next(f);let b=we(n);if(o.family){if(Ib(b))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"writable_held_selector":n.on.selectorCreation.next(o);break}else if(Qr(b)&&b.on.transactionApplying.state===null)b.transactionMeta.update.subEvents.push(f)}return}let{key:u,subject:s,type:l}=e,c={oldValue:r_(i)?i.READONLY_VIEW:i,newValue:r_(t)?t.READONLY_VIEW:t};if(Ib(n)){switch(l){case"mutable_atom":n.logger.info("\uD83D\uDCE2",l,u,"is now (",t,") subscribers:",s.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":n.logger.info("\uD83D\uDCE2",l,u,"went (",i,"->",t,") subscribers:",s.subscribers.keys())}s.next(c)}if(Qr(n)&&(l==="mutable_atom"||l==="atom")){if(n.on.transactionApplying.state===null){if(r_(t))return;let{timestamp:f}=n.operation,b={type:"atom_update",token:o,timestamp:f,update:c};n.transactionMeta.update.subEvents.push(b),n.logger.info("\uD83D\uDCC1","atom",u,"stowed (",i,"->",t,")");return}if(F_(e,"tracker:signal")){let f=u.slice(1),b=n.atoms.get(f);if(Fd(n,b,"mut").do(c.newValue)===null===!0)x_(n,b)}}}var c_=(n,e,i)=>{let t=Fd(n,e,"mut"),a=o_(i,t);return n.logger.info("\u2B50","atom",e.key,"setting value",a),a=su(n,e,a),L0(n,e.key),x_(n,e),{oldValue:t,newValue:a}};function a_(n,e){switch(e.type){case"mutable_atom":return c_(n,e,new e.class);case"atom":{let i;if(JE(e.default))i=x0(n,e);else i=e.default;return c_(n,e,i)}}}function _an(n,e){let i;switch(e.type){case"atom":case"mutable_atom":i=a_(n,e);break;case"writable_held_selector":{let t=ih(n,e.key);for(let r of t.values())l_(n,e,a_(n,r),!1);let a=e.getFrom(n);i={oldValue:a,newValue:a}}break;case"writable_pure_selector":{let t=x0(n,e),a=ih(n,e.key);for(let r of a.values())l_(n,e,a_(n,r),!1);i={oldValue:t,newValue:x0(n,e)}}break}return i}function sa(n,...e){yb(N0,n,...e)}var p_=Symbol("RESET");function I0(n,...e){sa(n,...[...e,p_])}function xan(n,e,i){let t,a,r,{type:o,key:u}=e;switch(e.type){case"writable_pure_selector":t=Fd(n,e,"mut"),a=o_(i,t),a=su(n,e,a);break;case"writable_held_selector":r=e.const,o_(i,r),t=r,a=r}return n.logger.info("\u2B50",o,u,"setting to",a),L0(n,u),e.setSelf(a),{oldValue:t,newValue:a}}var Fan=(n,e,i)=>{let t;switch(e.type){case"atom":case"mutable_atom":t=c_(n,e,i);break;case"writable_pure_selector":case"writable_held_selector":t=xan(n,e,i);break}return t},N0=Symbol("OWN_OP"),D_=Symbol("JOIN_OP");function yb(n,e,...i){let t,a,r,o,u,s;if(i.length===2){if(r=i[0],s=i[1],"family"in r)if(o=E_(e,r),u=Ar(r.family.subKey),t=eh(e,o,u),!t)r=a=nh(qE,e,o,u);else r=t}else if(o=tt(e,i[0]),u=i[1],s=i[2],t=eh(e,o,u),!t)r=a=nh(qE,e,o,u);else r=t;let l=s===p_?"reset":"set",c;if(n===N0){let m=iM(e,r);if(typeof m==="number"){let E=m,h=e.on.operationClose.subscribe(`waiting to ${l} "${r.key}" at T-${E}`,function(){h(),e.logger.info("\uD83D\uDFE2",r.type,r.key,"resuming deferred",l,`from T-${E}`),yb(n,e,r,s)});return}c=m}else c=e;if("counterfeit"in r&&"family"in r){let m=r.family.subKey,E=e.disposalTraces.buffer.find((h)=>h?.key===m);e.logger.error("\u274C",r.type,r.key,"could not be",l,"because key",m,"is not allocated.",E?`this key was previously disposed:${E.trace}`:"(no previous disposal trace found)");return}let f=tt(c,r),b;if(s===p_)b=_an(c,f);else b=Fan(c,f,s);if(l_(c,f,b,Boolean(a),o),n===N0)tM(c)}var rM=(n,e)=>we(n).atoms.has(e),Nan=(n,e)=>we(n).writableSelectors.has(e),Can=(n,e)=>we(n).readonlySelectors.has(e),Oan=(n,e)=>rM(n,e)||Nan(n,e)||Can(n,e);function PU(n,e){return we(n).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([i,{source:t}])=>t!==e).map(([i,{source:t}])=>t).filter((i)=>Oan(n,i))}function ih(n,e,i=new Set){let t=PU(n,e),a=new Map;while(t.length>0){let r=t.pop();if(i.has(r))continue;if(i.add(r),rM(n,r)){let o=n.atoms.get(r);a.set(o.key,o)}else t.push(...PU(n,r))}return a}function Lan(n,e,i,t,a){let r=we(n),{type:o,key:u}=t;if(o==="atom"||o==="mutable_atom")r.selectorAtoms.set({selectorKey:i,atomKey:u}),n.logger.info("\uD83D\uDD0D",e,i,`discovers root atom "${u}"`);else{let s=ih(n,u,a);n.logger.info("\uD83D\uDD0D",e,i,`discovers root atoms: [ ${[...s.values()].map((l)=>`"${l.key}"`).join(", ")} ]`);for(let{key:l}of s.values())r.selectorAtoms=r.selectorAtoms.set({selectorKey:i,atomKey:l})}a.add(u)}function y0(n,e,i,t){return{get:(...a)=>{let r=we(n),{token:o,family:u,subKey:s}=h_(n,...a),l;if("counterfeit"in o&&u&&s)l=JU(n,o,u,s);else l=Fd(n,tt(n,o));return n.logger.info("\uD83D\uDD0C",e,i,`registers dependency ( "${o.key}" =`,l,")"),r.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:i},{source:o.key}),Lan(n,e,i,o,t),l},set:(...a)=>{yb(D_,we(n),...a)},find:(...a)=>ua(n,...a),json:(a)=>Nd(n,a)}}function w_(n,e,i){let t=we(n),a=new ze,r=new Set,{key:o,const:u}=e,s="readonly_held_selector";n.logger.info("\uD83D\uDD28","readonly_held_selector",o,"is being created");let{get:l,find:c,json:f}=y0(t,"readonly_held_selector",o,r),m={...e,type:"readonly_held_selector",subject:a,getFrom:(h)=>{let w=h.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[T,{source:R}]of w)if(R!==o)h.selectorGraph.delete(T,o);return h.selectorAtoms.delete(o),e.get({get:l,find:c,json:f},u),su(h,m,u),n.logger.info("\u2728","readonly_held_selector",o,"=",u),r.clear(),u},install:(h)=>w_(h,e,i)};if(i)m.family=i;t.readonlySelectors.set(o,m);let E={key:o,type:"readonly_held_selector"};if(i)E.family=i;return E}function v_(n,e,i){let t=we(n),a=new ze,r=new Set,o=e.key,u="readonly_pure_selector";n.logger.info("\uD83D\uDD28","readonly_pure_selector",o,"is being created");let{get:s,find:l,json:c}=y0(t,"readonly_pure_selector",o,r),b={...e,type:"readonly_pure_selector",subject:a,getFrom:()=>{let E=we(n),h=E.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[T,{source:R}]of h)if(R!==o)E.selectorGraph.delete(T,o);E.selectorAtoms.delete(o);let w=su(E,b,e.get({get:s,find:l,json:c}));return n.logger.info("\u2728","readonly_pure_selector",o,"=",w),r.clear(),w},install:(E)=>v_(E,e,i)};if(i)b.family=i;t.readonlySelectors.set(o,b);let m={key:o,type:"readonly_pure_selector"};if(i)m.family=i;return m}function R_(n,e,i){let t=we(n),a=new ze,r=new Set,{key:o,const:u}=e,s="writable_held_selector";n.logger.info("\uD83D\uDD28","writable_held_selector",o,"is being created");let l=y0(t,"writable_held_selector",o,r),{find:c,get:f,json:b}=l,m={find:c,get:f,json:b},w={...e,type:"writable_held_selector",subject:a,getFrom:(R)=>{let F=R.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[L,{source:O}]of F)if(O!==o)R.selectorGraph.delete(L,o);return R.selectorAtoms.delete(o),e.get(m,u),su(R,w,u),n.logger.info("\u2728","writable_held_selector",o,"=",u),r.clear(),u},setSelf:()=>{e.set(l,u)},install:(R)=>R_(R,e,i)};if(i)w.family=i;t.writableSelectors.set(o,w);let T={key:o,type:"writable_held_selector"};if(i)T.family=i;return T}function T_(n,e,i){let t=we(n),a=new ze,r=new Set,o=e.key,u="writable_pure_selector";n.logger.info("\uD83D\uDD28","writable_pure_selector",o,"is being created");let s=y0(t,"writable_pure_selector",o,r),{find:l,get:c,json:f}=s,b={find:l,get:c,json:f},h={...e,type:"writable_pure_selector",subject:a,getFrom:(T)=>{let R=T.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[L,{source:O}]of R)if(O!==o)T.selectorGraph.delete(L,o);T.selectorAtoms.delete(o);let F=su(T,h,e.get(b));return n.logger.info("\u2728","writable_pure_selector",o,"=",F),r.clear(),F},setSelf:(T)=>{e.set(s,T)},install:(T)=>T_(T,e,i)};if(i)h.family=i;t.writableSelectors.set(o,h);let w={key:o,type:"writable_pure_selector"};if(i)w.family=i;return w}function oM(n,e){let i="set"in e,t="const"in e;if(t&&i){let r=R_(n,e,void 0);return n.on.selectorCreation.next(r),r}if(t){let r=w_(n,e,void 0);return n.on.selectorCreation.next(r),r}if(i){let r=T_(n,e,void 0);return n.on.selectorCreation.next(r),r}let a=v_(n,e,void 0);return n.on.selectorCreation.next(a),a}function Ian(n,e){let i=we(n),{key:t,type:a,family:r}=e;if(!r)n.logger.error("\u274C",a,t,"Standalone selectors cannot be disposed.");else{if(i.molecules.get(r.subKey))i.moleculeData.delete(r.subKey,r.key);let o;switch(e.type){case"writable_held_selector":i.writableSelectors.delete(t),o={key:r.key,type:"writable_held_selector_family"},tt(n,o).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"writable_pure_selector":i.writableSelectors.delete(t),o={key:r.key,type:"writable_pure_selector_family"},tt(n,o).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_held_selector":i.readonlySelectors.delete(t),o={key:r.key,type:"readonly_held_selector_family"},tt(n,o).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_pure_selector":i.readonlySelectors.delete(t),o={key:r.key,type:"readonly_pure_selector_family"},tt(n,o).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break}if(i.valueMap.delete(t),i.selectorAtoms.delete(t),i.selectorGraph.delete(t),i.moleculeData.delete(r.key,r.subKey),n.logger.info("\uD83D\uDD25",e.type,t,"deleted"),Qr(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});else n.on.selectorDisposal.next(e)}}var yan=(n,e)=>{let i=we(n);if(i.operation.open)return i.operation.prev.get(e.key);return i.valueMap.get(e.key)},WU=(n,e,i)=>{return i.subject.subscribe(`${e.type}:${e.key}`,(t)=>{n.logger.info("\uD83D\uDCE2",e.type,e.key,"root",i.key,"went",t.oldValue,"->",t.newValue);let a=yan(n,e),r=Fd(n,e);n.logger.info("\u2728",e.type,e.key,"went",a,"->",r),e.subject.next({newValue:r,oldValue:a})})};function th(n,e,i,t){function a(f){if(n.operation.open){if(r?.type==="atom"&&F_(r,"tracker:signal")&&"*"+n.operation.token.key===e.key&&"inboundTracker"in t)return;let b=n.on.operationClose.subscribe(`state subscription ${i}`,()=>{b(),t(f)})}else t(f)}h_(n,e);let r=tt(n,e);n.logger.info("\uD83D\uDC40",r.type,r.key,`Adding subscription "${i}"`);let o=r.type==="writable_pure_selector"||r.type==="readonly_pure_selector",u=new Map,s=a;if(o){Fd(n,r);for(let[f,b]of ih(n,r.key))u.set(f,WU(n,r,b));s=function(b){let m=ih(n,r.key);for(let[E,h]of u)if(m.get(E))m.delete(E);else h(),u.delete(E);for(let[E,h]of m)u.set(E,WU(n,r,h));a(b)}}let l=r.subject.subscribe(i,s);return()=>{n.logger.info("\uD83D\uDE48",r.type,r.key,`Removing subscription "${i}"`),l();for(let f of u.values())f()}}var Uan=(n,e,i,t)=>{let a=tt(n,e);n.logger.info("\uD83D\uDC40","timeline",e.key,`Adding subscription "${i}"`);let r=a.subject.subscribe(i,t);return()=>{n.logger.info("\uD83D\uDE48","timeline",e.key,`Removing subscription "${i}" from timeline`),r()}};var S_=class{initializeSignalAtom(n,e){let i=`*${n.key}`;e.atoms.delete(i),e.valueMap.delete(i);let t=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=M0(e,{key:i,default:null},t,["tracker:signal"]);if(e.parent?.valueMap.has(i)){let r=e.parent.valueMap.get(i);e.valueMap.set(i,r)}return a}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(n,e,i){let t=n.key,a=`tracker-from-core:${i.config.name}:${Qr(i)?i.transactionMeta.update.token.key:"main"}:${t}`,r=(o)=>{yb(D_,i,e,o)};this.unsubscribeFromInnerValue=Kr(i,n).subscribe(a,r),this.unsubscribeFromState=th(i,n,a,function(u){if(u.newValue!==u.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=u.newValue.subscribe(a,r)}.bind(this))}supplySignalsToCore(n,e,i){let t=n.key,a=`tracker-to-core:${i.config.name}:${Qr(i)?i.transactionMeta.update.token.key:"main"}:${t}`;th(i,e,a,Object.assign(function({newValue:o,oldValue:u}){let s=i.timelineTopics.getRelatedKey(e.key);if(s&&i.timelines.get(s)?.timeTraveling){let l=Uan(i,{key:s,type:"timeline"},a,function(f){l(),sa(i,n,(b)=>{if(f==="redo"&&o)b.do(o);else if(f==="undo"&&u)b.undo(u);return b})});return}sa(i,n,(l)=>(l.do(o),l))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(n,e){let i=we(e),t=this.initializeSignalAtom(n,i);this.mutableAtomToken=n,this.latestSignalToken=t,this.captureSignalsFromCore(n,t,i),this.supplySignalsToCore(n,t,i),i.trackers.set(n.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),i.trackers.delete(n.key)}}};function U0(n,e,i){n.logger.info("\uD83D\uDD28","atom",e.key,`creating in store "${n.config.name}"`);let t=we(n),{key:a}=e,r=t.atoms.get(a),o="mutable_atom";if(r?.type===o&&n.config.isProduction===!0)return n.logger.error("\u274C",o,a,"Tried to create atom, but it already exists in the store."),tp(r);let u=new ze,s={...e,type:o,install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",a,`installing in store "${c.config.name}"`),U0(c,e,i)},subject:u};if(i)s.family=i;t.atoms.set(s.key,s);let l=tp(s);if(new S_(l,n),!i)oM(n,{key:`${a}:JSON`,get:({get:c})=>c(l).toJSON(),set:({set:c},f)=>{c(l,e.class.fromJSON(f))}});if(e.effects){let c=0,f=[];for(let b of e.effects){let m=b({resetSelf:()=>{I0(n,l)},setSelf:(E)=>{sa(n,l,E)},onSet:(E)=>th(n,l,`effect[${c}]`,E),token:l,store:d_(n)});if(m)f.push(m);++c}s.cleanup=()=>{for(let b of f)b()}}return n.on.atomCreation.next(l),l}var Man=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(n,e){this.latestSignalAtoms=tt(e,O0(e,{key:`*${n.key}`,default:null},["mutable","updates"])),this.mutableAtoms=n;let i=(t)=>{let{type:a,token:r}=t;if(r.family){let o=Ar(r.family.subKey);switch(a){case"state_creation":this.trackers.set(o,new S_(r,e));break;case"state_disposal":{let u=this.trackers.get(o);if(u)u[Symbol.dispose](),this.trackers.delete(o)}}}};this.mutableAtoms.subject.subscribe(`store=${e.config.name}::tracker-atom-family`,i)}};function __(n,e,i){let t={key:e.key,type:"mutable_atom_family"},a=n.families.get(e.key);if(a&&n.config.isProduction===!0)n.logger.error("\u2757","mutable_atom_family",e.key,`Overwriting an existing ${Wl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new ze,u={...t,create:(s)=>{let l=bt(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=we(n),m={key:f,class:e.class};if(e.effects)m.effects=e.effects(s);return U0(b,m,c)},class:e.class,subject:r,install:(s)=>__(s,e),internalRoles:i};return n.families.set(e.key,u),A_(n,{key:`${e.key}:JSON`,get:(s)=>({get:l})=>l(t,s).toJSON(),set:(s)=>({set:l},c)=>{l(t,s,e.class.fromJSON(c))}},["mutable","json"]),new Man(u,n),t}var Gan=(n,e)=>{let i=we(e),t=`${n.key}:JSON`;return i.families.get(t)},Nd=(n,e)=>{if(e.family)return ua(n,tt(we(n),{key:`${e.family.key}:JSON`,type:"writable_pure_selector_family"}),Ar(e.family.subKey));return{type:"writable_pure_selector",key:`${e.key}:JSON`}};var _0=(n)=>{let e={type:"atom",key:`*${n.key}`};if(n.family)e.family={key:`*${n.family.key}`,subKey:n.family.subKey};return e};function r_(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n&&"READONLY_VIEW"in n&&"toJSON"in n}function su(n,e,i){let{key:t,subject:a,type:r}=e,o=n.valueMap.get(t);if(o instanceof u_&&!o.done){let u=o;if(i instanceof Promise)return u.use(i),u;return n.valueMap.set(t,i),i}if(i instanceof Promise){let u=new u_(i);return n.valueMap.set(t,u),u.then(function(l){if(n.valueMap.get(t)===u){switch(iM(n,e),su(n,e,l),r){case"atom":x_(n,e);break;case"readonly_pure_selector":case"writable_pure_selector":sM(n,t);break}tM(n),a.next({newValue:l,oldValue:u})}}).catch((s)=>{n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",s)}),u}return n.logger.info("\uD83D\uDCDD",e.type,e.key,"writing to cache",i),n.valueMap.set(t,i),i}function zan(n,e,i){n.logger.info("\uD83D\uDCD6",e.type,e.key,"reading cached value");let t=n.valueMap.get(e.key);if(i==="mut"&&e.type==="mutable_atom"&&Qr(n)){let a=e,{parent:r}=n;if(n.valueMap.hasOwn(a.key))return t;let o=r.valueMap.get(a.key);n.logger.info("\uD83D\uDCC3","atom",a.key,"copying");let u=o.toJSON(),s=a.class.fromJSON(u);n.valueMap.set(a.key,s),new S_(a,r),t=s}return t}function uM(n,e){let i=n.valueMap.get(e);if(i instanceof u_){let t=n.writableSelectors.get(e)??n.readonlySelectors.get(e);if(t)t.getFrom(n);return}if(n.operation.open)n.operation.prev.set(e,i);n.valueMap.delete(e),n.logger.info("\uD83D\uDDD1","state",e,"evicted")}function x_(n,e){let i=we(n),{key:t,type:a}=e,r=i.selectorAtoms.getRelatedKeys(t);if(i.logger.info("\uD83E\uDDF9",a,t,r?`evicting ${r.size} states downstream:`:"no downstream states",r??"to evict"),r){if(i.operation.open)i.logger.info("\uD83E\uDDF9",a,t,`[ ${[...i.operation.done].join(", ")} ] already done`);for(let o of r){if(aM(i,o))continue;uM(i,o),L0(i,o)}}}function sM(n,e){let i=we(n),t=i.selectorGraph.getRelationEntries({upstreamSelectorKey:e}).filter(([a,{source:r}])=>r===e);for(let[a]of t){if(aM(i,a))continue;uM(i,a),L0(i,a),sM(n,a)}}function M0(n,e,i,t){let{key:r}=e;n.logger.info("\uD83D\uDD28","atom",r,"is being created");let o=we(n),u=o.atoms.get(r);if(u?.type==="atom"&&n.config.isProduction===!0)return n.logger.error("\u274C","atom",r,"Tried to create atom, but it already exists in the store."),tp(u);let s=new ze,l={...e,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",r,`installing in store "${f.config.name}"`),M0(f,e,i)},subject:s};if(i)l.family=i;if(t)l.internalRoles=t;o.atoms.set(r,l);let c=tp(l);if(e.effects){let f=0,b=[];for(let m of e.effects){let E=m({resetSelf:()=>{I0(n,c)},setSelf:(h)=>{sa(n,c,h)},onSet:(h)=>th(n,c,`effect[${f}]`,h),token:c,store:d_(n)});if(E)b.push(E);++f}l.cleanup=()=>{for(let m of b)m()}}return n.on.atomCreation.next(c),c}function F_(n,e){if("internalRoles"in n===!1)return!1;return n.internalRoles.includes(e)}function lM(n,e){let i=we(n),{key:t,family:a}=e,r=tt(i,e);if(!a)n.logger.error("\u274C","atom",t,"Standalone atoms cannot be disposed.");else{r.cleanup?.();let o=n.valueMap.get(r.key),u=tt(n,E_(n,e)).subject,s={type:"state_disposal",subType:"atom",token:e,value:o,timestamp:Date.now()};u.next(s);let l=Qr(i);if(i.atoms.delete(t),i.valueMap.delete(t),i.selectorAtoms.delete(t),i.atomsThatAreDefault.delete(t),i.moleculeData.delete(a.key,a.subKey),n.timelineTopics.delete(t),e.type==="mutable_atom")lM(n,_0(e)),n.trackers.delete(t);if(n.logger.info("\uD83D\uDD25","atom",t,"deleted"),l&&i.transactionMeta.phase==="building"){let c=i.transactionMeta.update.subEvents.at(-1),f=c?.type==="molecule_disposal"&&c.values.some(([m])=>m===r.family?.key),b=F_(r,"tracker:signal");if(!f&&!b)i.transactionMeta.update.subEvents.push(s)}else n.on.atomDisposal.next(e)}}function uu(n){return n[0].toUpperCase()+n.slice(1)}var cM=class{toolkit;options;relations;states;relatedKeysAtoms;transact(n,e){let i=this.toolkit;this.toolkit=n,e(this),this.toolkit=i}store;[Symbol.dispose](){}constructor(n,e=hi.STORE){this.store=e,this.options=n,this.store.miscResources.set(`join:${n.key}`,this),this.toolkit={get:(...c)=>Kr(e,...c),set:(...c)=>{sa(e,...c)},find:(...c)=>ua(e,...c),json:(c)=>Nd(e,c)};let i=n.between[0],t=n.between[1],a=__(e,{key:`${n.key}/relatedKeys`,class:Pl},["join","relations"]);this.relatedKeysAtoms=a;let r=(c,f,b)=>{let{find:m,get:E,set:h}=c,w=m(a,f),T=E(w);for(let R of T){if(b.includes(R))continue;h(a,R,(F)=>{return F.delete(f),F})}h(w,(R)=>{R.clear();for(let F of b){let L=m(a,F),O=E(L),N=O.has(f);if(this.relations.cardinality==="1:n"){let B=[];for(let W of O){if(W===f)continue;let J;if(yb(D_,this.store,a,W,(H)=>{return H.delete(F),J=H.size,H}),J===0)B.push(W)}if(!N&&O.size>0)h(L,(W)=>{return W.clear(),W});for(let W of B)e.keyRefsInJoins.delete(jE(F,W))}if(!N)h(L,(B)=>{return B.add(f),B});R.add(F)}return R})},o=(c,f,b)=>{let{set:m}=c;m(a,f,(E)=>{for(let h of b)E.add(h);return E});for(let E of b)m(a,E,(h)=>{return h.add(f),h});return!0},u=new is(n,{externalStore:{getRelatedKeys:(c)=>this.toolkit.get(a,c),addRelation:(c,f)=>{this.store.keyRefsInJoins.set(`"${c}"`,n.key),this.store.keyRefsInJoins.set(`"${f}"`,n.key),this.store.keyRefsInJoins.set(jE(c,f),n.key),this.toolkit.set(a,c,(b)=>b.add(f)),this.toolkit.set(a,f,(b)=>b.add(c))},deleteRelation:(c,f)=>{this.toolkit.set(a,c,(m)=>{return m.delete(f),m}),this.toolkit.set(a,f,(m)=>{return m.delete(c),m});let b=jE(c,f);this.store.keyRefsInJoins.delete(b)},replaceRelationsSafely:(c,f)=>{r(this.toolkit,c,f)},replaceRelationsUnsafely:(c,f)=>{o(this.toolkit,c,f)},has:(c,f)=>{let b=this.toolkit.get(a,c);return f?b.has(f):b.size>0}},isAType:n.isAType,isBType:n.isBType}),s=()=>F0(e,{key:`${n.key}/singleRelatedKey`,get:(c)=>({get:f})=>{let b=f(a,c);for(let m of b)return m;return null}},["join","keys"]),l=()=>{return F0(e,{key:`${n.key}/multipleRelatedKeys`,get:(c)=>({get:f})=>{return f(Gan(a,e),c)}},["join","keys"])};switch(n.cardinality){case"1:1":{let c=s(),f=`${i}KeyOf${uu(t)}`,b=`${t}KeyOf${uu(i)}`;this.relations=u,this.states={[f]:c,[b]:c};break}case"1:n":{let c=s(),f=l(),b=`${i}KeyOf${uu(t)}`,m=`${t}KeysOf${uu(i)}`,E={[b]:c,[m]:f};this.relations=u,this.states=E;break}case"n:n":{let c=l(),f=`${i}KeysOf${uu(t)}`,b=`${t}KeysOf${uu(i)}`;this.relations=u,this.states={[f]:c,[b]:c}}}}};function pM(n,e){return n.joins.set(e.key,new cM(e)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function N_(n,e){let i=e.joins.get(n.key);if(i===void 0){let t=hi.STORE.joins.get(n.key);if(t===void 0)throw Error(`Join "${n.key}" not found in store "${e.config.name}"`);let a=d_(e);i=new cM(t.options,a),e.joins.set(n.key,i)}return i}function ap(n,e,i){let t=N_(n,i),a=we(i);if(Qr(a)){let{toolkit:r}=a.transactionMeta;t.transact(r,({relations:o})=>{e(o)})}else e(t.relations)}function G0(n,e,i){let t=N_(n,i),a;switch(n.cardinality){case"1:1":{let r=`${n.a}KeyOf${uu(n.b)}`,o=`${n.b}KeyOf${uu(n.a)}`;a={get[r](){let u=t.states[r];return ua(i,u,e)},get[o](){let u=t.states[o];return ua(i,u,e)}};break}case"1:n":{let r=`${n.a}KeyOf${uu(n.b)}`,o=`${n.b}KeysOf${uu(n.a)}`;a={get[r](){let u=t.states[r];return ua(i,u,e)},get[o](){let u=t.states[o];return ua(i,u,e)}};break}case"n:n":{let r=`${n.a}KeysOf${uu(n.b)}`,o=`${n.b}KeysOf${uu(n.a)}`;a={get[r](){let u=t.states[r];return ua(i,u,e)},get[o](){let u=t.states[o];return ua(i,u,e)}}}}return a}function dM(n,e){return N_(n,e).relatedKeysAtoms}function Ub(n){return U0(hi.STORE,n,void 0)}function Mb(n){return O0(hi.STORE,n)}function gCn(...n){return Kr(hi.STORE,...n)}function z0(n){return pM(hi.STORE,n)}function fM(n){return dM(n,hi.STORE)}var Wl={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"};var C_=(n)=>(e,i,t,a,...r)=>{console[n](`${e} ${Wl[i]} \`${t}\` ${a}`,...r)},$an={error:C_("error"),info:C_("info"),warn:C_("warn")},C0=class{logLevel;filter;logger;constructor(n,e,i=$an){this.logLevel=n,this.filter=e,this.logger=i}error=(...n)=>{if(this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.error(...n);else if(e)this.logger.error(...e)}};info=(...n)=>{if(this.logLevel==="info"){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.info(...n);else if(e)this.logger.info(...e)}};warn=(...n)=>{if(this.logLevel!=="error"&&this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.warn(...n);else if(e)this.logger.warn(...e)}}};function jE(n,e){return[n,e].sort().join("\x1F")}function YU(n){if(typeof n==="string"===!1)return null;let[e,i]=n.split("==");if(!i)return null;let t=e.slice(4),[a,r]=i.split("++");if(t&&a&&r)return[t,a,r];return null}function $0(n){return eM(hi.STORE,n)}function H0(n){return m_(hi.STORE,n)}var Iq=se(k0(),1),yq=se(bx(),1);var j3=se(K3(),1),{Server:J3,Namespace:YOn,Socket:q3}=j3.default;import{readFileSync as dk}from"fs";import{createServer as Qgn}from"http";import{createServer as Kgn}from"https";import{resolve as _N}from"path";function nz(n,e){if(n instanceof Promise)throw Error(e)}function Jpn(n,e){let i={},t=[];for(let a in n){let r=n[a]["~standard"].validate(e[a]);if(nz(r,`Validation must be synchronous, but ${a} returned a Promise.`),r.issues){t.push(...r.issues.map((o)=>({...o,message:o.message,path:[a,...o.path??[]]})));continue}i[a]=r.value}if(t.length)return{issues:t};return{value:i}}function uF(n){let e=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[R,F]of Object.entries(e))if(F==="")delete e[R]}if(!!n.skipValidation)return e;let a=typeof n.client==="object"?n.client:{},r=typeof n.server==="object"?n.server:{},o=typeof n.shared==="object"?n.shared:{},u=n.isServer??(typeof window>"u"||("Deno"in window)),s=u?{...r,...o,...a}:{...a,...o},l=n.createFinalSchema?.(s,u)["~standard"].validate(e)??Jpn(s,e);nz(l,"Validation must be synchronous");let c=n.onValidationError??((R)=>{throw console.error("\u274C Invalid environment variables:",R),Error("Invalid environment variables")}),f=n.onInvalidAccess??(()=>{throw Error("\u274C Attempted to access a server-side environment variable on the client")});if(l.issues)return c(l.issues);let b=(R)=>{if(!n.clientPrefix)return!0;return!R.startsWith(n.clientPrefix)&&!(R in o)},m=(R)=>{return u||!b(R)},E=(R)=>{return R==="__esModule"||R==="$$typeof"},h=(n.extends??[]).reduce((R,F)=>{return Object.assign(R,F)},{}),w=Object.assign(h,l.value);return new Proxy(w,{get(R,F){if(typeof F!=="string")return;if(E(F))return;if(!m(F))return f(F);return Reflect.get(R,F)}})}var Iw=(n,e)=>new RegExp(n,e);Object.assign(Iw,{cast:Iw});var fp=(n)=>Array.isArray(n)?n:[n],ez=(n,e)=>{let i=[[],[]];for(let t of n)if(e(t))i[0].push(t);else i[1].push(t);return i},yw=Array,ls=(n,e)=>n.includes(e),iz=(n,e=0)=>[...Array(n)].map((i,t)=>t+e),ve=(n,e,i)=>{if(n===void 0)return e===void 0?[]:Array.isArray(e)?e:[e];if(i?.prepend)if(Array.isArray(e))n.unshift(...e);else n.unshift(e);else if(Array.isArray(e))n.push(...e);else n.push(e);return n},Kl=(n,e)=>{if(e===void 0||e===null)return n??[];if(n===void 0||n===null)return fp(e);return n.concat(e)},tz=(...n)=>n.reduce(Kl,[]),Xs=(n,e,i)=>{if(n===void 0)return Array.isArray(e)?e:[e];let t=i?.isEqual??((a,r)=>a===r);for(let a of fp(e))if(!n.some((r)=>t(r,a)))n.push(a);return n},az=(n,e)=>n.reduce((i,t)=>{let a=t[e];return i[a]=ve(i[a],t),i},{}),jl=(n,e,i)=>n.length===e.length&&n.every(i?.isEqual?(t,a)=>i.isEqual(t,e[a]):(t,a)=>t===e[a]);var qr=(n,e)=>_t(n)===e,_t=(n)=>{let e=typeof n;return e==="object"?n===null?"null":"object":e==="function"?"object":e},no={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},rz={...no,function:"a function"};class oz extends Error{}var Ne=(n)=>Pd(n,oz),Pd=(n,e=Error)=>{throw new e(n)};class Rh extends Error{name="ParseError"}var en=(n)=>Pd(n,Rh),cs=(n)=>` ${n}`,uz="\u200B";var ie=(n,e)=>{let i={},t=Array.isArray(n),a=!1;for(let[r,o]of Object.entries(n).entries()){let u=t?e(r,o[1]):e(...o,r);a||=typeof u[0]==="number";let s=Array.isArray(u[0])||u.length===0?u:[u];for(let[l,c]of s)if(typeof l==="object")i[l.group]=ve(i[l.group],c);else i[l]=c}return a?Object.values(i):i};var sF=Object.entries;var xt=(n,e)=>(n in e),lg=(n,e)=>(e in n);class lF{constructor(n){Object.assign(this,n)}}var sz=class{};class Th extends sz{}var qpn=(n,e)=>{let i={},t={},a;for(a in n)if(a in e)i[a]=n[a];else t[a]=n[a];return[i,t]};var Uw=(n,e)=>qpn(n,e)[1],Zs=(n)=>Object.keys(n).length===0,Wd=(n)=>[...Object.entries(n),...Object.getOwnPropertySymbols(n).map((e)=>[e,n[e]])],lz=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),cz=(n)=>{let e=Object.keys(n).sort(),i={};for(let t=0;t<e.length;t++)i[e[t]]=n[e[t]];return i};var eo=cs(`unset${uz}`),pz=(n)=>Object.values(n).filter((e)=>{if(typeof e==="number")return!0;return typeof n[e]!=="number"});var cF={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},pF=globalThis.File??Blob,dF={ArrayBuffer,Blob,File:pF,FormData,Headers,Request,Response,URL},ndn={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},Yd={...cF,...dF,...ndn,String,Number,Boolean},Sh=(n)=>{let e=Object.getPrototypeOf(n);while(e?.constructor&&(!xt(e.constructor.name,Yd)||!(n instanceof Yd[e.constructor.name])))e=Object.getPrototypeOf(e);let i=e?.constructor?.name;if(i===void 0||i==="Object")return;return i},_h=(n)=>typeof n==="object"&&n!==null?Sh(n)??"object":_t(n);var oi=Array.isArray,edn={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},idn={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},tdn={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},dz={...edn,...idn,...tdn},xh=(n)=>{let e=Object(n).name??null;return e&&xt(e,Yd)&&Yd[e]===n?e:null};var fF=(n,e)=>{let i=n.prototype;while(i!==null){if(i===e.prototype)return!0;i=Object.getPrototypeOf(i)}return!1};var fz=(n)=>bz(n,new Map),bz=(n,e)=>{if(typeof n!=="object"||n===null)return n;if(e?.has(n))return e.get(n);let i=xh(n.constructor);if(i==="Date")return new Date(n.getTime());if(i&&i!=="Array")return n;let t=Array.isArray(n)?n.slice():Object.create(Object.getPrototypeOf(n)),a=Object.getOwnPropertyDescriptors(n);if(e){e.set(n,t);for(let r in a){let o=a[r];if("get"in o||"set"in o)continue;o.value=bz(o.value,e)}}return Object.defineProperties(t,a),t};var adn=(n)=>{let e=eo;return()=>e===eo?e=n():e},bp=(n)=>typeof n==="function"&&n.length===0;var gz=class extends Function{constructor(...n){let e=n.slice(0,-1),i=n.at(-1);try{super(...e,i)}catch(t){return Ne(`Encountered an unexpected error while compiling your definition:
302
302
  Message: ${t}
303
303
  Source: (${n.slice(0,-1)}) => {
@@ -11,7 +11,7 @@ ${D.trace}`:`No previous disposal trace for ${q} was found.`);return}z.subject.n
11
11
  ${H} was most recently disposed
12
12
  ${_.trace}`:`No previous disposal trace for ${H} was found.`),q}let G=h(Z),N=X.molecules.get(G);if(!N){let _=Q.disposalTraces.buffer.find((D)=>D?.key===G);return Q.logger.error("\u274C","key",q,"claim failed:",`Could not allocate to ${G} in store "${Q.config.name}".`,_?`
13
13
  ${G} was most recently disposed
14
- ${_.trace}`:`No previous disposal trace for ${G} was found.`),q}let j=Q.moleculeGraph.getRelationEntries({downstreamMoleculeKey:Y.stringKey}).filter(([,{source:_}])=>_!==H).map(([_])=>R(_));if(z)X.moleculeGraph.delete(H);X.moleculeGraph.set({upstreamMoleculeKey:N.stringKey,downstreamMoleculeKey:Y.stringKey},{source:N.stringKey});let W={type:"molecule_transfer",key:Y.key,exclusive:Boolean(z),from:j,to:[N.key],timestamp:Date.now()};if(F(X)&&X.transactionMeta.phase==="building")X.transactionMeta.update.subEvents.push(W);return q}function nQ(Q,Z,q){switch(q){case"newValue":CQ(Q,Z);break;case"oldValue":n(Q,Z.token);break}}function rQ(Q,Z,q){switch(q){case"newValue":n(Q,Z.token);break;case"oldValue":if(CQ(Q,Z),Z.subType==="atom")Q.valueMap.set(Z.token.key,Z.value);break}}function CQ(Q,Z){let{token:q}=Z;if(Z.subType==="writable"&&Z.value)f(Q,q,Z.value);else I(Q,q)}function sQ(Q,Z,q){switch(q){case"newValue":P0(Q,Z.provenance,Z.key);break;case"oldValue":T0(Q,Z.key);break}}function oQ(Q,Z,q){switch(q){case"newValue":T0(Q,Z.key);break;case"oldValue":P0(Q,Z.provenance.map(R),Z.key);for(let[z,H]of Z.values){let X=Q.families.get(z);if(X){I(Q,X,Z.key);let Y=`${z}(${h(Z.key)})`;Q.valueMap.set(Y,H)}}break}}function tQ(Q,Z,q){switch(q){case"newValue":for(let z of Z.to)O0(Q,z,Z.key,Z.exclusive?"exclusive":void 0);break;case"oldValue":{let z="exclusive";for(let H of Z.from)O0(Q,H,Z.key,z),z=void 0}break}}function EQ(Q,Z,q){let z=q==="newValue"?Z.subEvents:[...Z.subEvents].reverse();for(let H of z)switch(H.type){case"atom_update":iQ(Q,H,q);break;case"state_creation":nQ(Q,H,q);break;case"state_disposal":rQ(Q,H,q);break;case"molecule_creation":sQ(Q,H,q);break;case"molecule_disposal":oQ(Q,H,q);break;case"molecule_transfer":tQ(Q,H,q);break;case"transaction_outcome":EQ(Q,H,q);break}}function u(Q){return"epoch"in Q.transactionMeta}function F(Q){return"phase"in Q.transactionMeta}function BQ(Q,Z){return Q.transactionMeta.actionContinuities.getRelatedKey(Z)}function eQ(Q,Z){return Q.transactionMeta.epoch.get(Z)}function QZ(Q,Z){let q=BQ(Q,Z);if(q===void 0)return;return eQ(Q,q)}function ZZ(Q,Z,q){let z=BQ(Q,Z);if(z!==void 0)Q.transactionMeta.epoch.set(z,q)}function qZ(Q,Z){let q=C(Q),{parent:z}=q;q.transactionMeta.phase="applying",q.transactionMeta.update.output=Z,z.child=null,z.on.transactionApplying.next(q.transactionMeta);let{subEvents:H}=q.transactionMeta.update;if(Q.logger.info("\uD83D\uDEC4","transaction",q.transactionMeta.update.token.key,`applying ${H.length} subEvents:`,H),EQ(z,q.transactionMeta.update,"newValue"),u(z))ZZ(z,q.transactionMeta.update.token.key,q.transactionMeta.update.epoch),B(Q,{key:q.transactionMeta.update.token.key,type:"transaction"})?.subject.next(q.transactionMeta.update),Q.logger.info("\uD83D\uDEEC","transaction",q.transactionMeta.update.token.key,"applied");else if(F(z))z.transactionMeta.update.subEvents.push(q.transactionMeta.update);z.on.transactionApplying.next(null)}function zZ(Q){return{store:Q}}var HZ=(Q,Z,q,z)=>{let H=C(Q),X={parent:H,child:null,on:H.on,loggers:H.loggers,logger:H.logger,config:H.config,atoms:new K(H.atoms),atomsThatAreDefault:new Set(H.atomsThatAreDefault),families:new K(H.families),joins:new K(H.joins),operation:{open:!1},readonlySelectors:new K(H.readonlySelectors),timelines:new K(H.timelines),timelineTopics:H.timelineTopics.overlay(),trackers:new Map,transactions:new K(H.transactions),selectorAtoms:H.selectorAtoms.overlay(),selectorGraph:H.selectorGraph.overlay(),writableSelectors:new K(H.writableSelectors),valueMap:new K(H.valueMap),defaults:H.defaults,disposalTraces:Q.disposalTraces.copy(),molecules:new K(H.molecules),moleculeGraph:H.moleculeGraph.overlay(),moleculeData:H.moleculeData.overlay(),keyRefsInJoins:H.keyRefsInJoins.overlay(),miscResources:new K(H.miscResources)},Y=QZ(Q,Z.key),G={phase:"building",update:{type:"transaction_outcome",token:Z,id:z,epoch:Y===void 0?NaN:Y+1,timestamp:Date.now(),subEvents:[],params:q,output:void 0},toolkit:{get:(...j)=>I(N,...j),set:(...j)=>{f(N,...j)},reset:(...j)=>{W0(N,...j)},run:(j,W=QQ())=>L0(N,j,W),find:(...j)=>M(Q,...j),json:(j)=>p(N,j),dispose:(...j)=>{n(N,...j)},env:()=>zZ(N)}},N=Object.assign(X,{transactionMeta:G});return H.child=N,Q.logger.info("\uD83D\uDEEB","transaction",Z.key,"building with params:",q),N};function M0(Q,Z){let{key:q}=Z,z=Q.transactions.has(q),H={key:q,type:"transaction",run:(Y,G)=>{let N=HZ(Q,b(H),Y,G);try{let{toolkit:j}=N.transactionMeta,W=Z.do(j,...Y);return qZ(N,W),W}catch(j){throw lQ(N),Q.logger.warn("\uD83D\uDCA5","transaction",q,"caught:",j),j}},install:(Y)=>M0(Y,Z),subject:new E};C(Q).transactions.set(q,H);let X=b(H);if(!z)Q.on.transactionCreation.next(X);return X}var ZQ=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new T({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new T({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new T({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new T({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new mQ(100);molecules=new Map;moleculeGraph=new T({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});moleculeData=new T({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});keyRefsInJoins=new T({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});miscResources=new Map;on={atomCreation:new E,atomDisposal:new E,selectorCreation:new E,selectorDisposal:new E,timelineCreation:new E,transactionCreation:new E,transactionApplying:new pQ(null),operationClose:new E,moleculeCreation:new E,moleculeDisposal:new E};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new t0("warn",(Q,Z,q)=>!uQ(q))];logger={error:(...Q)=>{for(let Z of this.loggers)Z.error(...Q)},info:(...Q)=>{for(let Z of this.loggers)Z.info(...Q)},warn:(...Q)=>{for(let Z of this.loggers)Z.warn(...Q)}};constructor(Q,Z=null){if(this.config={...Z?.config,...Q},Z!==null){if(this.operation={...Z?.operation},u(Z))this.transactionMeta={epoch:new Map(Z?.transactionMeta.epoch),actionContinuities:new T(Z?.transactionMeta.actionContinuities.toJSON())};for(let[,z]of Z.families){if(z.internalRoles?.includes("mutable")||z.internalRoles?.includes("join"))continue;z.install(this)}let q=new Set;for(let[,z]of Z.atoms){if(q.has(z.key))continue;if(z.install(this),z.type==="mutable_atom"){let H=p(Z,z),X=j0(z);q.add(H.key),q.add(X.key)}}for(let[,z]of Z.readonlySelectors)z.install(this);for(let[,z]of Z.writableSelectors){if(q.has(z.key))continue;z.install(this)}for(let[,z]of Z.transactions)z.install(this);for(let[,z]of Z.timelines)z.install(this)}}},A={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ZQ({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var XZ=class extends Error{constructor(Q,Z){super(`${S[Q.type]} ${h(Q.key)} not found in store "${Z.config.name}".`)}};function B(Q,Z){let q,z=Q;while(z!==null){switch(Z.type){case"atom":case"mutable_atom":q=z.atoms.get(Z.key);break;case"writable_pure_selector":case"writable_held_selector":q=z.writableSelectors.get(Z.key);break;case"readonly_pure_selector":case"readonly_held_selector":q=z.readonlySelectors.get(Z.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":q=z.families.get(Z.key);break;case"timeline":q=z.timelines.get(Z.key);break;case"transaction":q=z.transactions.get(Z.key);break}if(q)return q;z=z.child}throw new XZ(Z,Q)}function hQ(Q,Z,q,z){let H=Q.disposalTraces.buffer.find((X)=>X?.key===h(z));switch(Q.logger.error("\u274C",Z.type,Z.key,"gets a fallback value because key",z,"is not allocated",H?`This key was previously disposed:
14
+ ${_.trace}`:`No previous disposal trace for ${G} was found.`),q}let j=Q.moleculeGraph.getRelationEntries({downstreamMoleculeKey:Y.stringKey}).filter(([,{source:_}])=>_!==H).map(([_])=>R(_));if(z)X.moleculeGraph.delete(H);X.moleculeGraph.set({upstreamMoleculeKey:N.stringKey,downstreamMoleculeKey:Y.stringKey},{source:N.stringKey});let W={type:"molecule_transfer",key:Y.key,exclusive:Boolean(z),from:j,to:[N.key],timestamp:Date.now()};if(F(X)&&X.transactionMeta.phase==="building")X.transactionMeta.update.subEvents.push(W);return q}function nQ(Q,Z,q){switch(q){case"newValue":CQ(Q,Z);break;case"oldValue":n(Q,Z.token);break}}function rQ(Q,Z,q){switch(q){case"newValue":n(Q,Z.token);break;case"oldValue":if(CQ(Q,Z),Z.subType==="atom")Q.valueMap.set(Z.token.key,Z.value);break}}function CQ(Q,Z){let{token:q}=Z;if(Z.subType==="writable"&&Z.value)f(Q,q,Z.value);else I(Q,q)}function sQ(Q,Z,q){switch(q){case"newValue":P0(Q,Z.provenance,Z.key);break;case"oldValue":T0(Q,Z.key);break}}function oQ(Q,Z,q){switch(q){case"newValue":T0(Q,Z.key);break;case"oldValue":P0(Q,Z.provenance.map(R),Z.key);for(let[z,H]of Z.values){let X=Q.families.get(z);if(X){I(Q,X,Z.key);let Y=`${z}(${h(Z.key)})`;Q.valueMap.set(Y,H)}}break}}function tQ(Q,Z,q){switch(q){case"newValue":for(let z of Z.to)O0(Q,z,Z.key,Z.exclusive?"exclusive":void 0);break;case"oldValue":{let z="exclusive";for(let H of Z.from)O0(Q,H,Z.key,z),z=void 0}break}}function EQ(Q,Z,q){let z=q==="newValue"?Z.subEvents:[...Z.subEvents].reverse();for(let H of z)switch(H.type){case"atom_update":iQ(Q,H,q);break;case"state_creation":nQ(Q,H,q);break;case"state_disposal":rQ(Q,H,q);break;case"molecule_creation":sQ(Q,H,q);break;case"molecule_disposal":oQ(Q,H,q);break;case"molecule_transfer":tQ(Q,H,q);break;case"transaction_outcome":EQ(Q,H,q);break}}function u(Q){return"epoch"in Q.transactionMeta}function F(Q){return"phase"in Q.transactionMeta}function BQ(Q,Z){return Q.transactionMeta.actionContinuities.getRelatedKey(Z)}function eQ(Q,Z){return Q.transactionMeta.epoch.get(Z)}function QZ(Q,Z){let q=BQ(Q,Z);if(q===void 0)return;return eQ(Q,q)}function ZZ(Q,Z,q){let z=BQ(Q,Z);if(z!==void 0)Q.transactionMeta.epoch.set(z,q)}function qZ(Q,Z){let q=C(Q),{parent:z}=q;q.transactionMeta.phase="applying",q.transactionMeta.update.output=Z,z.child=null,z.on.transactionApplying.next(q.transactionMeta);let{subEvents:H}=q.transactionMeta.update;if(Q.logger.info("\uD83D\uDEC4","transaction",q.transactionMeta.update.token.key,`applying ${H.length} subEvents:`,H),EQ(z,q.transactionMeta.update,"newValue"),u(z))ZZ(z,q.transactionMeta.update.token.key,q.transactionMeta.update.epoch),B(Q,{key:q.transactionMeta.update.token.key,type:"transaction"})?.subject.next(q.transactionMeta.update),Q.logger.info("\uD83D\uDEEC","transaction",q.transactionMeta.update.token.key,"applied");else if(F(z))z.transactionMeta.update.subEvents.push(q.transactionMeta.update);z.on.transactionApplying.next(null)}function zZ(Q){return{store:Q}}var HZ=(Q,Z,q,z)=>{let H=C(Q),X={parent:H,child:null,on:H.on,loggers:H.loggers,logger:H.logger,config:H.config,atoms:new K(H.atoms),atomsThatAreDefault:new Set(H.atomsThatAreDefault),families:new K(H.families),joins:new K(H.joins),operation:{open:!1},readonlySelectors:new K(H.readonlySelectors),timelines:new K(H.timelines),timelineTopics:H.timelineTopics.overlay(),trackers:new Map,transactions:new K(H.transactions),selectorAtoms:H.selectorAtoms.overlay(),selectorGraph:H.selectorGraph.overlay(),writableSelectors:new K(H.writableSelectors),valueMap:new K(H.valueMap),defaults:H.defaults,disposalTraces:Q.disposalTraces.copy(),molecules:new K(H.molecules),moleculeGraph:H.moleculeGraph.overlay(),moleculeData:H.moleculeData.overlay(),keyRefsInJoins:H.keyRefsInJoins.overlay(),miscResources:new K(H.miscResources)},Y=QZ(Q,Z.key),G={phase:"building",update:{type:"transaction_outcome",token:Z,id:z,epoch:Y===void 0?NaN:Y+1,timestamp:Date.now(),subEvents:[],params:q,output:void 0},toolkit:{get:(...j)=>I(N,...j),set:(...j)=>{f(N,...j)},reset:(...j)=>{W0(N,...j)},run:(j,W=QQ())=>L0(N,j,W),find:(...j)=>M(Q,...j),json:(j)=>p(N,j),dispose:(...j)=>{n(N,...j)},env:()=>zZ(N)}},N=Object.assign(X,{transactionMeta:G});return H.child=N,Q.logger.info("\uD83D\uDEEB","transaction",Z.key,"building with params:",q),N};function M0(Q,Z){let{key:q}=Z,z=Q.transactions.has(q),H={key:q,type:"transaction",run:(Y,G)=>{let N=HZ(Q,b(H),Y,G);try{let{toolkit:j}=N.transactionMeta,W=Z.do(j,...Y);return qZ(N,W),W}catch(j){throw lQ(N),Q.logger.warn("\uD83D\uDCA5","transaction",q,"caught:",j),j}},install:(Y)=>M0(Y,Z),subject:new E};C(Q).transactions.set(q,H);let X=b(H);if(!z)Q.on.transactionCreation.next(X);return X}var ZQ=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new T({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new T({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new T({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new T({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new mQ(100);molecules=new Map;moleculeGraph=new T({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});moleculeData=new T({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});keyRefsInJoins=new T({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...Q)=>Q.sort().join(":")});miscResources=new Map;on={atomCreation:new E,atomDisposal:new E,selectorCreation:new E,selectorDisposal:new E,timelineCreation:new E,transactionCreation:new E,transactionApplying:new pQ(null),operationClose:new E,moleculeCreation:new E,moleculeDisposal:new E};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new t0("warn",(Q,Z,q)=>!uQ(q))];logger={error:(...Q)=>{for(let Z of this.loggers)Z.error(...Q)},info:(...Q)=>{for(let Z of this.loggers)Z.info(...Q)},warn:(...Q)=>{for(let Z of this.loggers)Z.warn(...Q)}};constructor(Q,Z=null){if(this.config={...Z?.config,...Q},Z!==null){if(this.operation={...Z?.operation},u(Z))this.transactionMeta={epoch:new Map(Z?.transactionMeta.epoch),actionContinuities:new T(Z?.transactionMeta.actionContinuities.toJSON())};for(let[,z]of Z.families){if(z.internalRoles?.includes("mutable")||z.internalRoles?.includes("join"))continue;z.install(this)}let q=new Set;for(let[,z]of Z.atoms){if(q.has(z.key))continue;if(z.install(this),z.type==="mutable_atom"){let H=p(Z,z),X=j0(z);q.add(H.key),q.add(X.key)}}for(let[,z]of Z.readonlySelectors)z.install(this);for(let[,z]of Z.writableSelectors){if(q.has(z.key))continue;z.install(this)}for(let[,z]of Z.transactions)z.install(this);for(let[,z]of Z.timelines)z.install(this)}}},A={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ZQ({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var XZ=class extends Error{constructor(Q,Z){super(`${S[Q.type]} ${h(Q.key)} not found in store "${Z.config.name}".`)}};function B(Q,Z){let q,z=Q;while(z!==null){switch(Z.type){case"atom":case"mutable_atom":q=z.atoms.get(Z.key);break;case"writable_pure_selector":case"writable_held_selector":q=z.writableSelectors.get(Z.key);break;case"readonly_pure_selector":case"readonly_held_selector":q=z.readonlySelectors.get(Z.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":q=z.families.get(Z.key);break;case"timeline":q=z.timelines.get(Z.key);break;case"transaction":q=z.transactions.get(Z.key);break}if(q)return q;z=z.child}throw new XZ(Z,Q)}function hQ(Q,Z,q,z){let H=Q.disposalTraces.buffer.find((X)=>X?.key===h(z));switch(Q.logger.error("\u274C",Z.type,Z.key,"gets a fallback value because key",z,"is not allocated",H?`This key was previously disposed:
15
15
  ${H.trace}`:"(no previous disposal trace found)"),q.type){case"mutable_atom_family":{if(Q.defaults.has(q.key))return Q.defaults.get(q.key);let X=new q.class;return Q.defaults.set(q.key,X),X.READONLY_VIEW}case"atom_family":{if(Q.defaults.has(q.key))return Q.defaults.get(q.key);let X=q.default,Y=X(z);return Q.defaults.set(q.key,Y),Y}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(Q.defaults.has(q.key))return Q.defaults.get(q.key);let X=q.default(z);return Q.defaults.set(q.key,X),X}}}function D0(Q,Z){let{type:q,key:z,catch:H}=Z;switch(q){case"readonly_pure_selector":case"writable_pure_selector":{let X;Q.logger.info("\uD83E\uDDEE",q,z,"computing value");try{if(X=Z.getFrom(Q),X instanceof Promise)return X.catch((Y)=>{if(Q.logger.error("\uD83D\uDCA5",q,z,"rejected:",Y),H){for(let G of H)if(Y instanceof G)return Y}throw Y})}catch(Y){if(Q.logger.error("\uD83D\uDCA5",q,z,"rejected:",Y),H){for(let G of H)if(Y instanceof G)return w(Q,Z,Y)}throw Y}return w(Q,Z,X)}case"atom":{let X;if(s(Z.default))try{if(X=Z.default(),X instanceof Promise)X=X.catch((Y)=>{if(Q.logger.error("\uD83D\uDCA5",q,z,"rejected:",Y),H){for(let G of H)if(Y instanceof G)return Y}throw Y})}catch(Y){if(Q.logger.error("\uD83D\uDCA5",q,z,"rejected:",Y),H){for(let G of H)if(Y instanceof G)return X=w(Q,Z,Y),Q.logger.info("\u2728",Z.type,z,"computed default",X),X}throw Y}else X=Z.default,Q.logger.info("\u2728",Z.type,z,"using static default",X);return w(Q,Z,X)}}}function y(Q,Z,q){if(Q.valueMap.has(Z.key))return hZ(Q,Z,q);Q.logger.info("\u2754",Z.type,Z.key,"value not found in cache");let{key:z}=Z;switch(Z.type){case"readonly_held_selector":case"writable_held_selector":return Q.logger.info("\uD83E\uDDEE",Z.type,z,"computing value"),Z.getFrom(Q);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return D0(Q,Z);case"mutable_atom":{let H=new Z.class;return Q.logger.info("\u2728",Z.type,z,"created new instance",H),w(Q,Z,H)}}}function g0(Q,Z){return B(Q,{key:Z.family.key,type:`${Z.type}_family`})}var DQ={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},o=Symbol("MUST_CREATE"),YZ=Symbol("DO_NOT_CREATE");function t(Q,Z,q,z){let H=h(z),X=Z.molecules.get(H);if(!X&&Z.config.lifespan==="immortal"){let{type:G,key:N}=q;return Z.logger.warn("\uD83D\uDCA3","key",H,"was used to mint a counterfeit token for",G,`"${N}"`),{counterfeit:!0,key:`${N}(${H})`,type:DQ[G],family:{key:N,subKey:H}}}let Y;if(Q===o){if(Z.logger.info("\uD83D\uDC6A",q.type,q.key,"adds member",typeof z==="string"?`\`${z}\``:z),Y=q.create(z),X)Z.moleculeData.set(H,q.key)}else{let{type:G,key:N}=q;return{key:`${N}(${H})`,type:DQ[G],family:{key:N,subKey:H}}}return Y}function b0(Q,...Z){let q,z,H,X,Y;if(Z.length===1){if(Y=Z[0],"family"in Y){let N=g0(Q,Y);if(H=B(Q,N),X=R(Y.family.subKey),q=e(Q,N,X),"counterfeit"in Y)return{token:Y,family:H,subKey:X,isNew:!1};if(!q)z=t(o,Q,N,X),Y=z;else Y=q}}else if(H=B(Q,Z[0]),X=Z[1],q=e(Q,H,X),!q)z=t(o,Q,H,X),Y=z;else Y=q;let G="counterfeit"in Y;if(Boolean(z)&&G===!1&&H){let N;switch(Y.type){case"readonly_pure_selector":case"readonly_held_selector":N="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":N="writable";break}let j={type:"state_creation",subType:N,token:Y,timestamp:Date.now()};H.subject.next(j);let W=C(Q);if(Y.family){if(u(W))switch(Y.type){case"atom":case"mutable_atom":Q.on.atomCreation.next(Y);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":Q.on.selectorCreation.next(Y);break}else if(F(W)&&W.on.transactionApplying.state===null)W.transactionMeta.update.subEvents.push(j)}}return{token:Y,family:H,subKey:X,isNew:Boolean(z)}}function I(Q,...Z){let{token:q,family:z,subKey:H}=b0(Q,...Z);if("counterfeit"in q&&z&&H)return hQ(Q,q,z,H);return y(Q,B(Q,q))}function e(Q,Z,q){let z=h(q),H=`${Z.key}(${z})`,X=C(Q),Y;switch(Z.type){case"atom_family":case"mutable_atom_family":Y=X.atoms.get(H);break;case"writable_held_selector_family":case"writable_pure_selector_family":Y=X.writableSelectors.get(H);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":Y=X.readonlySelectors.get(H);break}if(Y)return b(Y);return Y}function M(Q,Z,q){let z=B(Q,Z),H=e(Q,Z,q);if(H)return H;return t(YZ,Q,z,q)}function $0(Q,Z,q){let z=Z.key,H="readonly_pure_selector_family",X={key:z,type:"readonly_pure_selector_family"},Y=Q.families.get(z);if(Y&&Q.config.isProduction===!0)Q.logger.error("\u2757","readonly_pure_selector_family",z,`Overwriting an existing ${S[Y.type]} "${Y.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let G=new E,j={...X,create:(W)=>{let _=h(W),D={key:z,subKey:_},$=`${z}(${_})`,J=C(Q),V={key:$,get:Z.get(W)};if(Z.catch)V.catch=Z.catch;return p0(J,V,D)},internalRoles:q,subject:G,install:(W)=>$0(W,Z),default:(W)=>{return Z.get(W)({get:(..._)=>I(Q,..._),find:(..._)=>M(Q,..._),json:(_)=>p(Q,_)})}};return Q.families.set(z,j),X}function G0(Q,Z,q){let z={key:Z.key,type:"atom_family"},H=Q.families.get(Z.key);if(H&&Q.config.isProduction===!0)Q.logger.error("\u2757","atom_family",Z.key,`Overwriting an existing ${S[H.type]} "${H.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let X=new E,G={...z,create:(N)=>{let j=h(N),W={key:Z.key,subKey:j},_=`${Z.key}(${j})`,D=C(Q),$=Z.default,J={key:_,default:s($)?()=>$(N):$};if(Z.effects)J.effects=Z.effects(N);if(Z.catch)J.catch=Z.catch;return N0(D,J,W)},default:Z.default,subject:X,install:(N)=>G0(N,Z),internalRoles:q};if(Q.families.set(Z.key,G),s(Z.default)===!1)Q.defaults.set(Z.key,Z.default);return z}function LQ(Q,Z,q){let z=Z.key,H="readonly_held_selector_family",X={key:z,type:"readonly_held_selector_family"},Y=Q.families.get(z);if(Y&&Q.config.isProduction===!0)Q.logger.error("\u2757","readonly_held_selector_family",z,`Overwriting an existing ${S[Y.type]} "${Y.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let G=new E,j={...X,create:(W)=>{let _=h(W),D={key:z,subKey:_},$=`${z}(${_})`;return y0(C(Q),{key:$,const:Z.const(W),get:Z.get(W)},D)},internalRoles:q,subject:G,install:(W)=>LQ(W,Z),default:Z.const};return Q.families.set(z,j),X}function PQ(Q,Z,q){let z=Z.key,H="writable_held_selector_family",X={key:z,type:"writable_held_selector_family"},Y=Q.families.get(z);if(Y&&Q.config.isProduction===!0)Q.logger.error("\u2757","writable_held_selector_family",z,`Overwriting an existing ${S[Y.type]} "${Y.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let G=new E,j={...X,create:(W)=>{let _=h(W),D={key:z,subKey:_},$=`${z}(${_})`;return m0(C(Q),{key:$,const:Z.const(W),get:Z.get(W),set:Z.set(W)},D)},internalRoles:q,subject:G,install:(W)=>PQ(W,Z),default:Z.const};return Q.families.set(z,j),X}function d0(Q,Z,q){let z=Z.key,H="writable_pure_selector_family",X={key:z,type:"writable_pure_selector_family"},Y=Q.families.get(z);if(Y&&Q.config.isProduction===!0)Q.logger.error("\u2757","writable_pure_selector_family",z,`Overwriting an existing ${S[Y.type]} "${Y.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let G=new E,j={...X,create:(W)=>{let _=h(W),D={key:z,subKey:_},$=`${z}(${_})`,J=C(Q),V={key:$,get:Z.get(W),set:Z.set(W)};if(Z.catch)V.catch=Z.catch;return c0(J,V,D)},internalRoles:q,subject:G,install:(W)=>d0(W,Z),default:(W)=>{return Z.get(W)({get:(..._)=>I(Q,..._),find:(..._)=>M(Q,..._),json:(_)=>p(Q,_)})}};return Q.families.set(z,j),X}function qQ(Q,Z){let q="set"in Z,z="const"in Z;if(z&&q)return PQ(Q,Z,void 0);if(z)return LQ(Q,Z,void 0);if(q)return d0(Q,Z);return $0(Q,Z)}function n(Q,...Z){let q;if(Z.length===1)q=Z[0];else{let z=Z[0],H=Z[1];q=M(Q,z,H)}try{B(Q,q)}catch(z){Q.logger.error("\u274C",q.type,q.key,`could not be disposed because it was not found in the store "${Q.config.name}".`);return}switch(q.type){case"atom":case"mutable_atom":wQ(Q,q);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":JZ(Q,q);break}}function OQ(Q,Z){if(Q.operation.open){let q=performance.now();return Q.logger.info("\uD83D\uDEAB",Z.type,Z.key,`deferring setState at T-${q} until setState for "${Q.operation.token.key}" is done`),q}return Q.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:Z,subEvents:[]},Q.logger.info("\u2B55",Z.type,Z.key,`operation start in store "${Q.config.name}"${F(Q)?` ${Q.transactionMeta.phase} "${Q.transactionMeta.update.token.key}"`:""}`),Q}function MQ(Q){if(Q.operation.open)Q.logger.info("\uD83D\uDD34",Q.operation.token.type,Q.operation.token.key,`operation done in store "${Q.config.name}"`);Q.operation={open:!1},Q.on.operationClose.next(Q.operation)}var RQ=(Q,Z)=>{if(!Q.operation.open)return Q.logger.error("\uD83D\uDC1E","unknown",Z,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return Q.operation.done.has(Z)},V0=(Q,Z)=>{if(!Q.operation.open){Q.logger.error("\uD83D\uDC1E","unknown",Z,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}Q.operation.done.add(Z)};function f0(Q,Z,{oldValue:q,newValue:z},H,X){let Y=b(Z);if(H&&X){Z.subject.next({newValue:z});let _={checkpoint:!0,type:"state_creation",subType:"writable",token:Y,timestamp:Date.now(),value:z};Q.operation.subEvents.push(_),X.subject.next(_);let D=C(Q);if(Y.family){if(u(D))switch(Y.type){case"atom":case"mutable_atom":Q.on.atomCreation.next(Y);break;case"writable_pure_selector":case"writable_held_selector":Q.on.selectorCreation.next(Y);break}else if(F(D)&&D.on.transactionApplying.state===null)D.transactionMeta.update.subEvents.push(_)}return}let{key:G,subject:N,type:j}=Z,W={oldValue:w0(q)?q.READONLY_VIEW:q,newValue:w0(z)?z.READONLY_VIEW:z};if(u(Q)){switch(j){case"mutable_atom":Q.logger.info("\uD83D\uDCE2",j,G,"is now (",z,") subscribers:",N.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":Q.logger.info("\uD83D\uDCE2",j,G,"went (",q,"->",z,") subscribers:",N.subscribers.keys())}N.next(W)}if(F(Q)&&(j==="mutable_atom"||j==="atom")){if(Q.on.transactionApplying.state===null){if(w0(z))return;let{timestamp:_}=Q.operation,D={type:"atom_update",token:Y,timestamp:_,update:W};Q.transactionMeta.update.subEvents.push(D),Q.logger.info("\uD83D\uDCC1","atom",G,"stowed (",q,"->",z,")");return}if(i0(Z,"tracker:signal")){let _=G.slice(1),D=Q.atoms.get(_);if(y(Q,D,"mut").do(W.newValue)===null===!0)l0(Q,D)}}}var K0=(Q,Z,q)=>{let z=y(Q,Z,"mut"),H=A0(q,z);return Q.logger.info("\u2B50","atom",Z.key,"setting value",H),H=w(Q,Z,H),V0(Q,Z.key),l0(Q,Z),{oldValue:z,newValue:H}};function x0(Q,Z){switch(Z.type){case"mutable_atom":return K0(Q,Z,new Z.class);case"atom":{let q;if(s(Z.default))q=D0(Q,Z);else q=Z.default;return K0(Q,Z,q)}}}function GZ(Q,Z){let q;switch(Z.type){case"atom":case"mutable_atom":q=x0(Q,Z);break;case"writable_held_selector":{let z=Q0(Q,Z.key);for(let X of z.values())f0(Q,Z,x0(Q,X),!1);let H=Z.getFrom(Q);q={oldValue:H,newValue:H}}break;case"writable_pure_selector":{let z=D0(Q,Z),H=Q0(Q,Z.key);for(let X of H.values())f0(Q,Z,x0(Q,X),!1);q={oldValue:z,newValue:D0(Q,Z)}}break}return q}function f(Q,...Z){l(J0,Q,...Z)}var S0=Symbol("RESET");function W0(Q,...Z){f(Q,...[...Z,S0])}function WZ(Q,Z,q){let z,H,X,{type:Y,key:G}=Z;switch(Z.type){case"writable_pure_selector":z=y(Q,Z,"mut"),H=A0(q,z),H=w(Q,Z,H);break;case"writable_held_selector":X=Z.const,A0(q,X),z=X,H=X}return Q.logger.info("\u2B50",Y,G,"setting to",H),V0(Q,G),Z.setSelf(H),{oldValue:z,newValue:H}}var _Z=(Q,Z,q)=>{let z;switch(Z.type){case"atom":case"mutable_atom":z=K0(Q,Z,q);break;case"writable_pure_selector":case"writable_held_selector":z=WZ(Q,Z,q);break}return z},J0=Symbol("OWN_OP"),k0=Symbol("JOIN_OP");function l(Q,Z,...q){let z,H,X,Y,G,N;if(q.length===2){if(X=q[0],N=q[1],"family"in X)if(Y=g0(Z,X),G=R(X.family.subKey),z=e(Z,Y,G),!z)X=H=t(o,Z,Y,G);else X=z}else if(Y=B(Z,q[0]),G=q[1],N=q[2],z=e(Z,Y,G),!z)X=H=t(o,Z,Y,G);else X=z;let j=N===S0?"reset":"set",W;if(Q===J0){let $=OQ(Z,X);if(typeof $==="number"){let J=$,V=Z.on.operationClose.subscribe(`waiting to ${j} "${X.key}" at T-${J}`,function(){V(),Z.logger.info("\uD83D\uDFE2",X.type,X.key,"resuming deferred",j,`from T-${J}`),l(Q,Z,X,N)});return}W=$}else W=Z;if("counterfeit"in X&&"family"in X){let $=X.family.subKey,J=Z.disposalTraces.buffer.find((V)=>V?.key===$);Z.logger.error("\u274C",X.type,X.key,"could not be",j,"because key",$,"is not allocated.",J?`this key was previously disposed:${J.trace}`:"(no previous disposal trace found)");return}let _=B(W,X),D;if(N===S0)D=GZ(W,_);else D=_Z(W,_,N);if(f0(W,_,D,Boolean(H),Y),Q===J0)MQ(W)}var FQ=(Q,Z)=>C(Q).atoms.has(Z),NZ=(Q,Z)=>C(Q).writableSelectors.has(Z),jZ=(Q,Z)=>C(Q).readonlySelectors.has(Z),DZ=(Q,Z)=>FQ(Q,Z)||NZ(Q,Z)||jZ(Q,Z);function $Q(Q,Z){return C(Q).selectorGraph.getRelationEntries({downstreamSelectorKey:Z}).filter(([q,{source:z}])=>z!==Z).map(([q,{source:z}])=>z).filter((q)=>DZ(Q,q))}function Q0(Q,Z,q=new Set){let z=$Q(Q,Z),H=new Map;while(z.length>0){let X=z.pop();if(q.has(X))continue;if(q.add(X),FQ(Q,X)){let Y=Q.atoms.get(X);H.set(Y.key,Y)}else z.push(...$Q(Q,X))}return H}function $Z(Q,Z,q,z,H){let X=C(Q),{type:Y,key:G}=z;if(Y==="atom"||Y==="mutable_atom")X.selectorAtoms.set({selectorKey:q,atomKey:G}),Q.logger.info("\uD83D\uDD0D",Z,q,`discovers root atom "${G}"`);else{let N=Q0(Q,G,H);Q.logger.info("\uD83D\uDD0D",Z,q,`discovers root atoms: [ ${[...N.values()].map((j)=>`"${j.key}"`).join(", ")} ]`);for(let{key:j}of N.values())X.selectorAtoms=X.selectorAtoms.set({selectorKey:q,atomKey:j})}H.add(G)}function C0(Q,Z,q,z){return{get:(...H)=>{let X=C(Q),{token:Y,family:G,subKey:N}=b0(Q,...H),j;if("counterfeit"in Y&&G&&N)j=hQ(Q,Y,G,N);else j=y(Q,B(Q,Y));return Q.logger.info("\uD83D\uDD0C",Z,q,`registers dependency ( "${Y.key}" =`,j,")"),X.selectorGraph.set({upstreamSelectorKey:Y.key,downstreamSelectorKey:q},{source:Y.key}),$Z(Q,Z,q,Y,z),j},set:(...H)=>{l(k0,C(Q),...H)},find:(...H)=>M(Q,...H),json:(H)=>p(Q,H)}}function y0(Q,Z,q){let z=C(Q),H=new E,X=new Set,{key:Y,const:G}=Z,N="readonly_held_selector";Q.logger.info("\uD83D\uDD28","readonly_held_selector",Y,"is being created");let{get:j,find:W,json:_}=C0(z,"readonly_held_selector",Y,X),$={...Z,type:"readonly_held_selector",subject:H,getFrom:(V)=>{let P=V.selectorGraph.getRelationEntries({downstreamSelectorKey:Y});for(let[O,{source:L}]of P)if(L!==Y)V.selectorGraph.delete(O,Y);return V.selectorAtoms.delete(Y),Z.get({get:j,find:W,json:_},G),w(V,$,G),Q.logger.info("\u2728","readonly_held_selector",Y,"=",G),X.clear(),G},install:(V)=>y0(V,Z,q)};if(q)$.family=q;z.readonlySelectors.set(Y,$);let J={key:Y,type:"readonly_held_selector"};if(q)J.family=q;return J}function p0(Q,Z,q){let z=C(Q),H=new E,X=new Set,Y=Z.key,G="readonly_pure_selector";Q.logger.info("\uD83D\uDD28","readonly_pure_selector",Y,"is being created");let{get:N,find:j,json:W}=C0(z,"readonly_pure_selector",Y,X),D={...Z,type:"readonly_pure_selector",subject:H,getFrom:()=>{let J=C(Q),V=J.selectorGraph.getRelationEntries({downstreamSelectorKey:Y});for(let[O,{source:L}]of V)if(L!==Y)J.selectorGraph.delete(O,Y);J.selectorAtoms.delete(Y);let P=w(J,D,Z.get({get:N,find:j,json:W}));return Q.logger.info("\u2728","readonly_pure_selector",Y,"=",P),X.clear(),P},install:(J)=>p0(J,Z,q)};if(q)D.family=q;z.readonlySelectors.set(Y,D);let $={key:Y,type:"readonly_pure_selector"};if(q)$.family=q;return $}function m0(Q,Z,q){let z=C(Q),H=new E,X=new Set,{key:Y,const:G}=Z,N="writable_held_selector";Q.logger.info("\uD83D\uDD28","writable_held_selector",Y,"is being created");let j=C0(z,"writable_held_selector",Y,X),{find:W,get:_,json:D}=j,$={find:W,get:_,json:D},P={...Z,type:"writable_held_selector",subject:H,getFrom:(L)=>{let U=L.selectorGraph.getRelationEntries({downstreamSelectorKey:Y});for(let[d,{source:k}]of U)if(k!==Y)L.selectorGraph.delete(d,Y);return L.selectorAtoms.delete(Y),Z.get($,G),w(L,P,G),Q.logger.info("\u2728","writable_held_selector",Y,"=",G),X.clear(),G},setSelf:()=>{Z.set(j,G)},install:(L)=>m0(L,Z,q)};if(q)P.family=q;z.writableSelectors.set(Y,P);let O={key:Y,type:"writable_held_selector"};if(q)O.family=q;return O}function c0(Q,Z,q){let z=C(Q),H=new E,X=new Set,Y=Z.key,G="writable_pure_selector";Q.logger.info("\uD83D\uDD28","writable_pure_selector",Y,"is being created");let N=C0(z,"writable_pure_selector",Y,X),{find:j,get:W,json:_}=N,D={find:j,get:W,json:_},V={...Z,type:"writable_pure_selector",subject:H,getFrom:(O)=>{let L=O.selectorGraph.getRelationEntries({downstreamSelectorKey:Y});for(let[d,{source:k}]of L)if(k!==Y)O.selectorGraph.delete(d,Y);O.selectorAtoms.delete(Y);let U=w(O,V,Z.get(D));return Q.logger.info("\u2728","writable_pure_selector",Y,"=",U),X.clear(),U},setSelf:(O)=>{Z.set(N,O)},install:(O)=>c0(O,Z,q)};if(q)V.family=q;z.writableSelectors.set(Y,V);let P={key:Y,type:"writable_pure_selector"};if(q)P.family=q;return P}function zQ(Q,Z){let q="set"in Z,z="const"in Z;if(z&&q){let X=m0(Q,Z,void 0);return Q.on.selectorCreation.next(X),X}if(z){let X=y0(Q,Z,void 0);return Q.on.selectorCreation.next(X),X}if(q){let X=c0(Q,Z,void 0);return Q.on.selectorCreation.next(X),X}let H=p0(Q,Z,void 0);return Q.on.selectorCreation.next(H),H}function JZ(Q,Z){let q=C(Q),{key:z,type:H,family:X}=Z;if(!X)Q.logger.error("\u274C",H,z,"Standalone selectors cannot be disposed.");else{if(q.molecules.get(X.subKey))q.moleculeData.delete(X.subKey,X.key);let Y;switch(Z.type){case"writable_held_selector":q.writableSelectors.delete(z),Y={key:X.key,type:"writable_held_selector_family"},B(Q,Y).subject.next({type:"state_disposal",subType:"selector",token:Z,timestamp:Date.now()});break;case"writable_pure_selector":q.writableSelectors.delete(z),Y={key:X.key,type:"writable_pure_selector_family"},B(Q,Y).subject.next({type:"state_disposal",subType:"selector",token:Z,timestamp:Date.now()});break;case"readonly_held_selector":q.readonlySelectors.delete(z),Y={key:X.key,type:"readonly_held_selector_family"},B(Q,Y).subject.next({type:"state_disposal",subType:"selector",token:Z,timestamp:Date.now()});break;case"readonly_pure_selector":q.readonlySelectors.delete(z),Y={key:X.key,type:"readonly_pure_selector_family"},B(Q,Y).subject.next({type:"state_disposal",subType:"selector",token:Z,timestamp:Date.now()});break}if(q.valueMap.delete(z),q.selectorAtoms.delete(z),q.selectorGraph.delete(z),q.moleculeData.delete(X.key,X.subKey),Q.logger.info("\uD83D\uDD25",Z.type,z,"deleted"),F(q)&&q.transactionMeta.phase==="building")q.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:Z,timestamp:Date.now()});else Q.on.selectorDisposal.next(Z)}}var VZ=(Q,Z)=>{let q=C(Q);if(q.operation.open)return q.operation.prev.get(Z.key);return q.valueMap.get(Z.key)},JQ=(Q,Z,q)=>{return q.subject.subscribe(`${Z.type}:${Z.key}`,(z)=>{Q.logger.info("\uD83D\uDCE2",Z.type,Z.key,"root",q.key,"went",z.oldValue,"->",z.newValue);let H=VZ(Q,Z),X=y(Q,Z);Q.logger.info("\u2728",Z.type,Z.key,"went",H,"->",X),Z.subject.next({newValue:X,oldValue:H})})};function Z0(Q,Z,q,z){function H(_){if(Q.operation.open){if(X?.type==="atom"&&i0(X,"tracker:signal")&&"*"+Q.operation.token.key===Z.key&&"inboundTracker"in z)return;let D=Q.on.operationClose.subscribe(`state subscription ${q}`,()=>{D(),z(_)})}else z(_)}b0(Q,Z);let X=B(Q,Z);Q.logger.info("\uD83D\uDC40",X.type,X.key,`Adding subscription "${q}"`);let Y=X.type==="writable_pure_selector"||X.type==="readonly_pure_selector",G=new Map,N=H;if(Y){y(Q,X);for(let[_,D]of Q0(Q,X.key))G.set(_,JQ(Q,X,D));N=function(D){let $=Q0(Q,X.key);for(let[J,V]of G)if($.get(J))$.delete(J);else V(),G.delete(J);for(let[J,V]of $)G.set(J,JQ(Q,X,V));H(D)}}let j=X.subject.subscribe(q,N);return()=>{Q.logger.info("\uD83D\uDE48",X.type,X.key,`Removing subscription "${q}"`),j();for(let _ of G.values())_()}}var CZ=(Q,Z,q,z)=>{let H=B(Q,Z);Q.logger.info("\uD83D\uDC40","timeline",Z.key,`Adding subscription "${q}"`);let X=H.subject.subscribe(q,z);return()=>{Q.logger.info("\uD83D\uDE48","timeline",Z.key,`Removing subscription "${q}" from timeline`),X()}};var u0=class{initializeSignalAtom(Q,Z){let q=`*${Q.key}`;Z.atoms.delete(q),Z.valueMap.delete(q);let z=Q.family?{key:`*${Q.family.key}`,subKey:Q.family.subKey}:void 0,H=N0(Z,{key:q,default:null},z,["tracker:signal"]);if(Z.parent?.valueMap.has(q)){let X=Z.parent.valueMap.get(q);Z.valueMap.set(q,X)}return H}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(Q,Z,q){let z=Q.key,H=`tracker-from-core:${q.config.name}:${F(q)?q.transactionMeta.update.token.key:"main"}:${z}`,X=(Y)=>{l(k0,q,Z,Y)};this.unsubscribeFromInnerValue=I(q,Q).subscribe(H,X),this.unsubscribeFromState=Z0(q,Q,H,function(G){if(G.newValue!==G.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=G.newValue.subscribe(H,X)}.bind(this))}supplySignalsToCore(Q,Z,q){let z=Q.key,H=`tracker-to-core:${q.config.name}:${F(q)?q.transactionMeta.update.token.key:"main"}:${z}`;Z0(q,Z,H,Object.assign(function({newValue:Y,oldValue:G}){let N=q.timelineTopics.getRelatedKey(Z.key);if(N&&q.timelines.get(N)?.timeTraveling){let j=CZ(q,{key:N,type:"timeline"},H,function(_){j(),f(q,Q,(D)=>{if(_==="redo"&&Y)D.do(Y);else if(_==="undo"&&G)D.undo(G);return D})});return}f(q,Q,(j)=>(j.do(Y),j))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(Q,Z){let q=C(Z),z=this.initializeSignalAtom(Q,q);this.mutableAtomToken=Q,this.latestSignalToken=z,this.captureSignalsFromCore(Q,z,q),this.supplySignalsToCore(Q,z,q),q.trackers.set(Q.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),q.trackers.delete(Q.key)}}};function _0(Q,Z,q){Q.logger.info("\uD83D\uDD28","atom",Z.key,`creating in store "${Q.config.name}"`);let z=C(Q),{key:H}=Z,X=z.atoms.get(H),Y="mutable_atom";if(X?.type===Y&&Q.config.isProduction===!0)return Q.logger.error("\u274C",Y,H,"Tried to create atom, but it already exists in the store."),b(X);let G=new E,N={...Z,type:Y,install:(W)=>{return W.logger.info("\uD83D\uDEE0\uFE0F","atom",H,`installing in store "${W.config.name}"`),_0(W,Z,q)},subject:G};if(q)N.family=q;z.atoms.set(N.key,N);let j=b(N);if(new u0(j,Q),!q)zQ(Q,{key:`${H}:JSON`,get:({get:W})=>W(j).toJSON(),set:({set:W},_)=>{W(j,Z.class.fromJSON(_))}});if(Z.effects){let W=0,_=[];for(let D of Z.effects){let $=D({resetSelf:()=>{W0(Q,j)},setSelf:(J)=>{f(Q,j,J)},onSet:(J)=>Z0(Q,j,`effect[${W}]`,J),token:j,store:v0(Q)});if($)_.push($);++W}N.cleanup=()=>{for(let D of _)D()}}return Q.on.atomCreation.next(j),j}var EZ=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(Q,Z){this.latestSignalAtoms=B(Z,G0(Z,{key:`*${Q.key}`,default:null},["mutable","updates"])),this.mutableAtoms=Q;let q=(z)=>{let{type:H,token:X}=z;if(X.family){let Y=R(X.family.subKey);switch(H){case"state_creation":this.trackers.set(Y,new u0(X,Z));break;case"state_disposal":{let G=this.trackers.get(Y);if(G)G[Symbol.dispose](),this.trackers.delete(Y)}}}};this.mutableAtoms.subject.subscribe(`store=${Z.config.name}::tracker-atom-family`,q)}};function R0(Q,Z,q){let z={key:Z.key,type:"mutable_atom_family"},H=Q.families.get(Z.key);if(H&&Q.config.isProduction===!0)Q.logger.error("\u2757","mutable_atom_family",Z.key,`Overwriting an existing ${S[H.type]} "${H.key}" in store "${Q.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let X=new E,G={...z,create:(N)=>{let j=h(N),W={key:Z.key,subKey:j},_=`${Z.key}(${j})`,D=C(Q),$={key:_,class:Z.class};if(Z.effects)$.effects=Z.effects(N);return _0(D,$,W)},class:Z.class,subject:X,install:(N)=>R0(N,Z),internalRoles:q};return Q.families.set(Z.key,G),d0(Q,{key:`${Z.key}:JSON`,get:(N)=>({get:j})=>j(z,N).toJSON(),set:(N)=>({set:j},W)=>{j(z,N,Z.class.fromJSON(W))}},["mutable","json"]),new EZ(G,Q),z}var BZ=(Q,Z)=>{let q=C(Z),z=`${Q.key}:JSON`;return q.families.get(z)},p=(Q,Z)=>{if(Z.family)return M(Q,B(C(Q),{key:`${Z.family.key}:JSON`,type:"writable_pure_selector_family"}),R(Z.family.subKey));return{type:"writable_pure_selector",key:`${Z.key}:JSON`}};var j0=(Q)=>{let Z={type:"atom",key:`*${Q.key}`};if(Q.family)Z.family={key:`*${Q.family.key}`,subKey:Q.family.subKey};return Z};function w0(Q){return typeof Q==="object"&&Q!==null&&"do"in Q&&"undo"in Q&&"subscribe"in Q&&"READONLY_VIEW"in Q&&"toJSON"in Q}function w(Q,Z,q){let{key:z,subject:H,type:X}=Z,Y=Q.valueMap.get(z);if(Y instanceof I0&&!Y.done){let G=Y;if(q instanceof Promise)return G.use(q),G;return Q.valueMap.set(z,q),q}if(q instanceof Promise){let G=new I0(q);return Q.valueMap.set(z,G),G.then(function(j){if(Q.valueMap.get(z)===G){switch(OQ(Q,Z),w(Q,Z,j),X){case"atom":l0(Q,Z);break;case"readonly_pure_selector":case"writable_pure_selector":xQ(Q,z);break}MQ(Q),H.next({newValue:j,oldValue:G})}}).catch((N)=>{Q.logger.error("\uD83D\uDCA5",Z.type,z,"rejected:",N)}),G}return Q.logger.info("\uD83D\uDCDD",Z.type,Z.key,"writing to cache",q),Q.valueMap.set(z,q),q}function hZ(Q,Z,q){Q.logger.info("\uD83D\uDCD6",Z.type,Z.key,"reading cached value");let z=Q.valueMap.get(Z.key);if(q==="mut"&&Z.type==="mutable_atom"&&F(Q)){let H=Z,{parent:X}=Q;if(Q.valueMap.hasOwn(H.key))return z;let Y=X.valueMap.get(H.key);Q.logger.info("\uD83D\uDCC3","atom",H.key,"copying");let G=Y.toJSON(),N=H.class.fromJSON(G);Q.valueMap.set(H.key,N),new u0(H,X),z=N}return z}function UQ(Q,Z){let q=Q.valueMap.get(Z);if(q instanceof I0){let z=Q.writableSelectors.get(Z)??Q.readonlySelectors.get(Z);if(z)z.getFrom(Q);return}if(Q.operation.open)Q.operation.prev.set(Z,q);Q.valueMap.delete(Z),Q.logger.info("\uD83D\uDDD1","state",Z,"evicted")}function l0(Q,Z){let q=C(Q),{key:z,type:H}=Z,X=q.selectorAtoms.getRelatedKeys(z);if(q.logger.info("\uD83E\uDDF9",H,z,X?`evicting ${X.size} states downstream:`:"no downstream states",X??"to evict"),X){if(q.operation.open)q.logger.info("\uD83E\uDDF9",H,z,`[ ${[...q.operation.done].join(", ")} ] already done`);for(let Y of X){if(RQ(q,Y))continue;UQ(q,Y),V0(q,Y)}}}function xQ(Q,Z){let q=C(Q),z=q.selectorGraph.getRelationEntries({upstreamSelectorKey:Z}).filter(([H,{source:X}])=>X===Z);for(let[H]of z){if(RQ(q,H))continue;UQ(q,H),V0(q,H),xQ(Q,H)}}function N0(Q,Z,q,z){let{key:X}=Z;Q.logger.info("\uD83D\uDD28","atom",X,"is being created");let Y=C(Q),G=Y.atoms.get(X);if(G?.type==="atom"&&Q.config.isProduction===!0)return Q.logger.error("\u274C","atom",X,"Tried to create atom, but it already exists in the store."),b(G);let N=new E,j={...Z,type:"atom",install:(_)=>{return _.logger.info("\uD83D\uDEE0\uFE0F","atom",X,`installing in store "${_.config.name}"`),N0(_,Z,q)},subject:N};if(q)j.family=q;if(z)j.internalRoles=z;Y.atoms.set(X,j);let W=b(j);if(Z.effects){let _=0,D=[];for(let $ of Z.effects){let J=$({resetSelf:()=>{W0(Q,W)},setSelf:(V)=>{f(Q,W,V)},onSet:(V)=>Z0(Q,W,`effect[${_}]`,V),token:W,store:v0(Q)});if(J)D.push(J);++_}j.cleanup=()=>{for(let $ of D)$()}}return Q.on.atomCreation.next(W),W}function i0(Q,Z){if("internalRoles"in Q===!1)return!1;return Q.internalRoles.includes(Z)}function wQ(Q,Z){let q=C(Q),{key:z,family:H}=Z,X=B(q,Z);if(!H)Q.logger.error("\u274C","atom",z,"Standalone atoms cannot be disposed.");else{X.cleanup?.();let Y=Q.valueMap.get(X.key),G=B(Q,g0(Q,Z)).subject,N={type:"state_disposal",subType:"atom",token:Z,value:Y,timestamp:Date.now()};G.next(N);let j=F(q);if(q.atoms.delete(z),q.valueMap.delete(z),q.selectorAtoms.delete(z),q.atomsThatAreDefault.delete(z),q.moleculeData.delete(H.key,H.subKey),Q.timelineTopics.delete(z),Z.type==="mutable_atom")wQ(Q,j0(Z)),Q.trackers.delete(z);if(Q.logger.info("\uD83D\uDD25","atom",z,"deleted"),j&&q.transactionMeta.phase==="building"){let W=q.transactionMeta.update.subEvents.at(-1),_=W?.type==="molecule_disposal"&&W.values.some(([$])=>$===X.family?.key),D=i0(X,"tracker:signal");if(!_&&!D)q.transactionMeta.update.subEvents.push(N)}else Q.on.atomDisposal.next(Z)}}function x(Q){return Q[0].toUpperCase()+Q.slice(1)}var AQ=class{toolkit;options;relations;states;relatedKeysAtoms;transact(Q,Z){let q=this.toolkit;this.toolkit=Q,Z(this),this.toolkit=q}store;[Symbol.dispose](){}constructor(Q,Z=A.STORE){this.store=Z,this.options=Q,this.store.miscResources.set(`join:${Q.key}`,this),this.toolkit={get:(...W)=>I(Z,...W),set:(...W)=>{f(Z,...W)},find:(...W)=>M(Z,...W),json:(W)=>p(Z,W)};let q=Q.between[0],z=Q.between[1],H=R0(Z,{key:`${Q.key}/relatedKeys`,class:v},["join","relations"]);this.relatedKeysAtoms=H;let X=(W,_,D)=>{let{find:$,get:J,set:V}=W,P=$(H,_),O=J(P);for(let L of O){if(D.includes(L))continue;V(H,L,(U)=>{return U.delete(_),U})}V(P,(L)=>{L.clear();for(let U of D){let d=$(H,U),k=J(d),r0=k.has(_);if(this.relations.cardinality==="1:n"){let i=[];for(let g of k){if(g===_)continue;let s0;if(l(k0,this.store,H,g,(E0)=>{return E0.delete(U),s0=E0.size,E0}),s0===0)i.push(g)}if(!r0&&k.size>0)V(d,(g)=>{return g.clear(),g});for(let g of i)Z.keyRefsInJoins.delete(a(U,g))}if(!r0)V(d,(i)=>{return i.add(_),i});L.add(U)}return L})},Y=(W,_,D)=>{let{set:$}=W;$(H,_,(J)=>{for(let V of D)J.add(V);return J});for(let J of D)$(H,J,(V)=>{return V.add(_),V});return!0},G=new T(Q,{externalStore:{getRelatedKeys:(W)=>this.toolkit.get(H,W),addRelation:(W,_)=>{this.store.keyRefsInJoins.set(`"${W}"`,Q.key),this.store.keyRefsInJoins.set(`"${_}"`,Q.key),this.store.keyRefsInJoins.set(a(W,_),Q.key),this.toolkit.set(H,W,(D)=>D.add(_)),this.toolkit.set(H,_,(D)=>D.add(W))},deleteRelation:(W,_)=>{this.toolkit.set(H,W,($)=>{return $.delete(_),$}),this.toolkit.set(H,_,($)=>{return $.delete(W),$});let D=a(W,_);this.store.keyRefsInJoins.delete(D)},replaceRelationsSafely:(W,_)=>{X(this.toolkit,W,_)},replaceRelationsUnsafely:(W,_)=>{Y(this.toolkit,W,_)},has:(W,_)=>{let D=this.toolkit.get(H,W);return _?D.has(_):D.size>0}},isAType:Q.isAType,isBType:Q.isBType}),N=()=>$0(Z,{key:`${Q.key}/singleRelatedKey`,get:(W)=>({get:_})=>{let D=_(H,W);for(let $ of D)return $;return null}},["join","keys"]),j=()=>{return $0(Z,{key:`${Q.key}/multipleRelatedKeys`,get:(W)=>({get:_})=>{return _(BZ(H,Z),W)}},["join","keys"])};switch(Q.cardinality){case"1:1":{let W=N(),_=`${q}KeyOf${x(z)}`,D=`${z}KeyOf${x(q)}`;this.relations=G,this.states={[_]:W,[D]:W};break}case"1:n":{let W=N(),_=j(),D=`${q}KeyOf${x(z)}`,$=`${z}KeysOf${x(q)}`,J={[D]:W,[$]:_};this.relations=G,this.states=J;break}case"n:n":{let W=j(),_=`${q}KeysOf${x(z)}`,D=`${z}KeysOf${x(q)}`;this.relations=G,this.states={[_]:W,[D]:W}}}}};function HQ(Q,Z){return Q.joins.set(Z.key,new AQ(Z)),{key:Z.key,type:"join",a:Z.between[0],b:Z.between[1],cardinality:Z.cardinality}}function a0(Q,Z){let q=Z.joins.get(Q.key);if(q===void 0){let z=A.STORE.joins.get(Q.key);if(z===void 0)throw Error(`Join "${Q.key}" not found in store "${Z.config.name}"`);let H=v0(Z);q=new AQ(z.options,H),Z.joins.set(Q.key,q)}return q}function r(Q,Z,q){let z=a0(Q,q),H=C(q);if(F(H)){let{toolkit:X}=H.transactionMeta;z.transact(X,({relations:Y})=>{Z(Y)})}else Z(z.relations)}function kQ(Q,Z,q){let z=a0(Q,q),H;switch(Q.cardinality){case"1:1":{let X=`${Q.a}KeyOf${x(Q.b)}`,Y=`${Q.b}KeyOf${x(Q.a)}`;H={get[X](){let G=z.states[X];return M(q,G,Z)},get[Y](){let G=z.states[Y];return M(q,G,Z)}};break}case"1:n":{let X=`${Q.a}KeyOf${x(Q.b)}`,Y=`${Q.b}KeysOf${x(Q.a)}`;H={get[X](){let G=z.states[X];return M(q,G,Z)},get[Y](){let G=z.states[Y];return M(q,G,Z)}};break}case"n:n":{let X=`${Q.a}KeysOf${x(Q.b)}`,Y=`${Q.b}KeysOf${x(Q.a)}`;H={get[X](){let G=z.states[X];return M(q,G,Z)},get[Y](){let G=z.states[Y];return M(q,G,Z)}}}}return H}function XQ(Q,Z){return a0(Q,Z).relatedKeysAtoms}var LZ=c({key:"mutex",default:!1}),PZ=class extends Map{set(Q,Z){if(this.has(Q))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:Q,value:Z}),this;return super.set(Q,Z)}},_3=class Q{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(Z){this.key=Z}static existing=new PZ;static create(Z,q){let{type:z,globals:H,actions:X,perspectives:Y}=q(new Q(Z)),G={type:z,key:Z,globals:H,actions:X,perspectives:Y};return Q.existing.set(Z,G),G}add(...Z){switch(Z[0].type){case"atom":case"mutable_atom":this.globals.push(...Z);break;case"transaction":this.actions.push(...Z);break;case"atom_family":case"mutable_atom_family":{let[q,z]=Z;this.perspectives.push({type:"realtime_perspective",resourceAtoms:q,viewAtoms:z})}break}return this}};var N3=m({key:"usersInRoomIndex",class:v}),IQ=m({key:"roomIndex",class:v});var q0=H0({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(Q)=>typeof Q==="string",isBType:(Q)=>typeof Q==="string"}),j3=X0({key:"usersInMyRoomView",get:(Q)=>({find:Z})=>{return[Z(o0(q0),Q)]}});var P3=c({key:"redactor",default:{occlude:(Q)=>Q}}),O3=c({key:"unacknowledgedUpdates",default:()=>[]});var n0=class{listeners;globalListeners;handleEvent(...Q){let[Z,...q]=Q;for(let H of this.globalListeners)H(Z,...q);let z=this.listeners.get(Z);if(z)for(let H of z)H(...q)}id="no_id_retrieved";emit;constructor(Q){this.emit=Q,this.listeners=new Map,this.globalListeners=new Set}on(Q,Z){let q=this.listeners.get(Q);if(q)q.add(Z);else this.listeners.set(Q,new Set([Z]));return this}onAny(Q){return this.globalListeners.add(Q),this}off(Q,Z){let q=this.listeners.get(Q);if(q)if(Z)q.delete(Z);else this.listeners.delete(Q);return this}offAny(Q){return this.globalListeners.delete(Q),this}},M3=class extends n0{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";proc;key;logger;handleLog(Q){if(Array.isArray(Q)){let[Z,...q]=Q;switch(Z){case"i":this.logger.info(...q);break;case"w":this.logger.warn(...q);break;case"e":this.logger.error(...q);break}}}constructor(Q,Z,q){super((z,...H)=>{let X=JSON.stringify([z,...H])+"\x03",Y=(G)=>{if(G.code==="EPIPE")console.error("EPIPE error during write",this.proc.stdin);this.proc.stdin.removeListener("error",Y)};return this.proc.stdin.once("error",Y),this.proc.stdin.write(X),this});if(this.proc=Q,this.key=Z,this.logger=q??{info:(...z)=>{console.info(this.id,this.key,...z)},warn:(...z)=>{console.warn(this.id,this.key,...z)},error:(...z)=>{console.error(this.id,this.key,...z)}},this.proc.stdout.on("data",(z)=>{let H=z.toString();if(H==="ALIVE"){this.logger.info(H);return}let X=H.split("\x03"),Y=X[0];X[0]=this.incompleteData+Y;let G=0;for(let N of X){if(N==="")continue;try{let j=R(N);this.handleEvent(...j),this.incompleteData=""}catch(j){if(j instanceof Error)console.error(["\u274C Malformed data received from child process","",N,"",j.message].join(`
16
16
  \u274C `));try{if(G===0){this.incompleteData=N;let W=R(Y);this.handleEvent(...W),this.incompleteData=""}else this.incompleteData+=N}catch(W){if(W instanceof Error)console.error(["\u274C Malformed data received from child process","",Y,"",W.message].join(`
17
17
  \u274C `))}}++G}}),this.proc.stderr.on("data",(z)=>{let H=z.toString().split("\x03"),X=H[0];H[0]=this.incompleteData+X;let Y=0;for(let G of H){if(G==="")continue;try{let N=R(G);this.handleLog(N),this.incompleteData=""}catch(N){if(N instanceof Error)console.error(["\u274C Malformed log received from child process","",G,"",N.message].join(`
@@ -11,7 +11,7 @@ ${w.trace}`:`No previous disposal trace for ${Y} was found.`);return}U.subject.n
11
11
  ${G} was most recently disposed
12
12
  ${O.trace}`:`No previous disposal trace for ${G} was found.`),Y}let Q=_4(X),Z=z.molecules.get(Q);if(!Z){let O=$.disposalTraces.buffer.find((w)=>w?.key===Q);return $.logger.error("\u274C","key",Y,"claim failed:",`Could not allocate to ${Q} in store "${$.config.name}".`,O?`
13
13
  ${Q} was most recently disposed
14
- ${O.trace}`:`No previous disposal trace for ${Q} was found.`),Y}let H=$.moleculeGraph.getRelationEntries({downstreamMoleculeKey:W.stringKey}).filter(([,{source:O}])=>O!==G).map(([O])=>w6(O));if(U)z.moleculeGraph.delete(G);z.moleculeGraph.set({upstreamMoleculeKey:Z.stringKey,downstreamMoleculeKey:W.stringKey},{source:Z.stringKey});let V={type:"molecule_transfer",key:W.key,exclusive:Boolean(U),from:H,to:[Z.key],timestamp:Date.now()};if(b6(z)&&z.transactionMeta.phase==="building")z.transactionMeta.update.subEvents.push(V);return Y}function tj($,X,Y){switch(Y){case"newValue":MF($,X);break;case"oldValue":o9($,X.token);break}}function aj($,X,Y){switch(Y){case"newValue":o9($,X.token);break;case"oldValue":if(MF($,X),X.subType==="atom")$.valueMap.set(X.token.key,X.value);break}}function MF($,X){let{token:Y}=X;if(X.subType==="writable"&&X.value)f1($,Y,X.value);else b1($,Y)}function sj($,X,Y){switch(Y){case"newValue":yW($,X.provenance,X.key);break;case"oldValue":$Q($,X.key);break}}function ej($,X,Y){switch(Y){case"newValue":$Q($,X.key);break;case"oldValue":yW($,X.provenance.map(w6),X.key);for(let[U,G]of X.values){let z=$.families.get(U);if(z){b1($,z,X.key);let W=`${U}(${_4(X.key)})`;$.valueMap.set(W,G)}}break}}function $P($,X,Y){switch(Y){case"newValue":for(let U of X.to)mW($,U,X.key,X.exclusive?"exclusive":void 0);break;case"oldValue":{let U="exclusive";for(let G of X.from)mW($,G,X.key,U),U=void 0}break}}function JF($,X,Y){let U=Y==="newValue"?X.subEvents:[...X.subEvents].reverse();for(let G of U)switch(G.type){case"atom_update":oj($,G,Y);break;case"state_creation":tj($,G,Y);break;case"state_disposal":aj($,G,Y);break;case"molecule_creation":sj($,G,Y);break;case"molecule_disposal":ej($,G,Y);break;case"molecule_transfer":$P($,G,Y);break;case"transaction_outcome":JF($,G,Y);break}}function z8($){return"epoch"in $.transactionMeta}function b6($){return"phase"in $.transactionMeta}function AF($,X){return $.transactionMeta.actionContinuities.getRelatedKey(X)}function XP($,X){return $.transactionMeta.epoch.get(X)}function YP($,X){let Y=AF($,X);if(Y===void 0)return;return XP($,Y)}function GP($,X,Y){let U=AF($,X);if(U!==void 0)$.transactionMeta.epoch.set(U,Y)}function UP($,X){let Y=C$($),{parent:U}=Y;Y.transactionMeta.phase="applying",Y.transactionMeta.update.output=X,U.child=null,U.on.transactionApplying.next(Y.transactionMeta);let{subEvents:G}=Y.transactionMeta.update;if($.logger.info("\uD83D\uDEC4","transaction",Y.transactionMeta.update.token.key,`applying ${G.length} subEvents:`,G),JF(U,Y.transactionMeta.update,"newValue"),z8(U))GP(U,Y.transactionMeta.update.token.key,Y.transactionMeta.update.epoch),J4($,{key:Y.transactionMeta.update.token.key,type:"transaction"})?.subject.next(Y.transactionMeta.update),$.logger.info("\uD83D\uDEEC","transaction",Y.transactionMeta.update.token.key,"applied");else if(b6(U))U.transactionMeta.update.subEvents.push(Y.transactionMeta.update);U.on.transactionApplying.next(null)}function zP($){return{store:$}}var WP=($,X,Y,U)=>{let G=C$($),z={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new h1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new h1(G.families),joins:new h1(G.joins),operation:{open:!1},readonlySelectors:new h1(G.readonlySelectors),timelines:new h1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new h1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new h1(G.writableSelectors),valueMap:new h1(G.valueMap),defaults:G.defaults,disposalTraces:$.disposalTraces.copy(),molecules:new h1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),keyRefsInJoins:G.keyRefsInJoins.overlay(),miscResources:new h1(G.miscResources)},W=YP($,X.key),Q={phase:"building",update:{type:"transaction_outcome",token:X,id:U,epoch:W===void 0?NaN:W+1,timestamp:Date.now(),subEvents:[],params:Y,output:void 0},toolkit:{get:(...H)=>b1(Z,...H),set:(...H)=>{f1(Z,...H)},reset:(...H)=>{h5(Z,...H)},run:(H,V=YF())=>gW(Z,H,V),find:(...H)=>O6($,...H),json:(H)=>$X(Z,H),dispose:(...H)=>{o9(Z,...H)},env:()=>zP(Z)}},Z=Object.assign(z,{transactionMeta:Q});return G.child=Z,$.logger.info("\uD83D\uDEEB","transaction",X.key,"building with params:",Y),Z};function uW($,X){let{key:Y}=X,U=$.transactions.has(Y),G={key:Y,type:"transaction",run:(W,Q)=>{let Z=WP($,g1(G),W,Q);try{let{toolkit:H}=Z.transactionMeta,V=X.do(H,...W);return UP(Z,V),V}catch(H){throw ij(Z),$.logger.warn("\uD83D\uDCA5","transaction",Y,"caught:",H),H}},install:(W)=>uW(W,X),subject:new b$};C$($).transactions.set(Y,G);let z=g1(G);if(!U)$.on.transactionCreation.next(z);return z}var GF=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new R0({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new R0({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new R0({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new R0({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new lj(100);molecules=new Map;moleculeGraph=new R0({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeData=new R0({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});keyRefsInJoins=new R0({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});miscResources=new Map;on={atomCreation:new b$,atomDisposal:new b$,selectorCreation:new b$,selectorDisposal:new b$,timelineCreation:new b$,transactionCreation:new b$,transactionApplying:new dj(null),operationClose:new b$,moleculeCreation:new b$,moleculeDisposal:new b$};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new $F("warn",($,X,Y)=>!W8(Y))];logger={error:(...$)=>{for(let X of this.loggers)X.error(...$)},info:(...$)=>{for(let X of this.loggers)X.info(...$)},warn:(...$)=>{for(let X of this.loggers)X.warn(...$)}};constructor($,X=null){if(this.config={...X?.config,...$},X!==null){if(this.operation={...X?.operation},z8(X))this.transactionMeta={epoch:new Map(X?.transactionMeta.epoch),actionContinuities:new R0(X?.transactionMeta.actionContinuities.toJSON())};for(let[,U]of X.families){if(U.internalRoles?.includes("mutable")||U.internalRoles?.includes("join"))continue;U.install(this)}let Y=new Set;for(let[,U]of X.atoms){if(Y.has(U.key))continue;if(U.install(this),U.type==="mutable_atom"){let G=$X(X,U),z=y5(U);Y.add(G.key),Y.add(z.key)}}for(let[,U]of X.readonlySelectors)U.install(this);for(let[,U]of X.writableSelectors){if(Y.has(U.key))continue;U.install(this)}for(let[,U]of X.transactions)U.install(this);for(let[,U]of X.timelines)U.install(this)}}},X1={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new GF({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var QP=class extends Error{constructor($,X){super(`${_0[$.type]} ${_4($.key)} not found in store "${X.config.name}".`)}};function J4($,X){let Y,U=$;while(U!==null){switch(X.type){case"atom":case"mutable_atom":Y=U.atoms.get(X.key);break;case"writable_pure_selector":case"writable_held_selector":Y=U.writableSelectors.get(X.key);break;case"readonly_pure_selector":case"readonly_held_selector":Y=U.readonlySelectors.get(X.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":Y=U.families.get(X.key);break;case"timeline":Y=U.timelines.get(X.key);break;case"transaction":Y=U.transactions.get(X.key);break}if(Y)return Y;U=U.child}throw new QP(X,$)}function LF($,X,Y,U){let G=$.disposalTraces.buffer.find((z)=>z?.key===_4(U));switch($.logger.error("\u274C",X.type,X.key,"gets a fallback value because key",U,"is not allocated",G?`This key was previously disposed:
14
+ ${O.trace}`:`No previous disposal trace for ${Q} was found.`),Y}let H=$.moleculeGraph.getRelationEntries({downstreamMoleculeKey:W.stringKey}).filter(([,{source:O}])=>O!==G).map(([O])=>w6(O));if(U)z.moleculeGraph.delete(G);z.moleculeGraph.set({upstreamMoleculeKey:Z.stringKey,downstreamMoleculeKey:W.stringKey},{source:Z.stringKey});let V={type:"molecule_transfer",key:W.key,exclusive:Boolean(U),from:H,to:[Z.key],timestamp:Date.now()};if(b6(z)&&z.transactionMeta.phase==="building")z.transactionMeta.update.subEvents.push(V);return Y}function tj($,X,Y){switch(Y){case"newValue":MF($,X);break;case"oldValue":o9($,X.token);break}}function aj($,X,Y){switch(Y){case"newValue":o9($,X.token);break;case"oldValue":if(MF($,X),X.subType==="atom")$.valueMap.set(X.token.key,X.value);break}}function MF($,X){let{token:Y}=X;if(X.subType==="writable"&&X.value)f1($,Y,X.value);else b1($,Y)}function sj($,X,Y){switch(Y){case"newValue":yW($,X.provenance,X.key);break;case"oldValue":$Q($,X.key);break}}function ej($,X,Y){switch(Y){case"newValue":$Q($,X.key);break;case"oldValue":yW($,X.provenance.map(w6),X.key);for(let[U,G]of X.values){let z=$.families.get(U);if(z){b1($,z,X.key);let W=`${U}(${_4(X.key)})`;$.valueMap.set(W,G)}}break}}function $P($,X,Y){switch(Y){case"newValue":for(let U of X.to)mW($,U,X.key,X.exclusive?"exclusive":void 0);break;case"oldValue":{let U="exclusive";for(let G of X.from)mW($,G,X.key,U),U=void 0}break}}function JF($,X,Y){let U=Y==="newValue"?X.subEvents:[...X.subEvents].reverse();for(let G of U)switch(G.type){case"atom_update":oj($,G,Y);break;case"state_creation":tj($,G,Y);break;case"state_disposal":aj($,G,Y);break;case"molecule_creation":sj($,G,Y);break;case"molecule_disposal":ej($,G,Y);break;case"molecule_transfer":$P($,G,Y);break;case"transaction_outcome":JF($,G,Y);break}}function z8($){return"epoch"in $.transactionMeta}function b6($){return"phase"in $.transactionMeta}function AF($,X){return $.transactionMeta.actionContinuities.getRelatedKey(X)}function XP($,X){return $.transactionMeta.epoch.get(X)}function YP($,X){let Y=AF($,X);if(Y===void 0)return;return XP($,Y)}function GP($,X,Y){let U=AF($,X);if(U!==void 0)$.transactionMeta.epoch.set(U,Y)}function UP($,X){let Y=C$($),{parent:U}=Y;Y.transactionMeta.phase="applying",Y.transactionMeta.update.output=X,U.child=null,U.on.transactionApplying.next(Y.transactionMeta);let{subEvents:G}=Y.transactionMeta.update;if($.logger.info("\uD83D\uDEC4","transaction",Y.transactionMeta.update.token.key,`applying ${G.length} subEvents:`,G),JF(U,Y.transactionMeta.update,"newValue"),z8(U))GP(U,Y.transactionMeta.update.token.key,Y.transactionMeta.update.epoch),J4($,{key:Y.transactionMeta.update.token.key,type:"transaction"})?.subject.next(Y.transactionMeta.update),$.logger.info("\uD83D\uDEEC","transaction",Y.transactionMeta.update.token.key,"applied");else if(b6(U))U.transactionMeta.update.subEvents.push(Y.transactionMeta.update);U.on.transactionApplying.next(null)}function zP($){return{store:$}}var WP=($,X,Y,U)=>{let G=C$($),z={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new h1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new h1(G.families),joins:new h1(G.joins),operation:{open:!1},readonlySelectors:new h1(G.readonlySelectors),timelines:new h1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new h1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new h1(G.writableSelectors),valueMap:new h1(G.valueMap),defaults:G.defaults,disposalTraces:$.disposalTraces.copy(),molecules:new h1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),keyRefsInJoins:G.keyRefsInJoins.overlay(),miscResources:new h1(G.miscResources)},W=YP($,X.key),Q={phase:"building",update:{type:"transaction_outcome",token:X,id:U,epoch:W===void 0?NaN:W+1,timestamp:Date.now(),subEvents:[],params:Y,output:void 0},toolkit:{get:(...H)=>b1(Z,...H),set:(...H)=>{f1(Z,...H)},reset:(...H)=>{h5(Z,...H)},run:(H,V=YF())=>gW(Z,H,V),find:(...H)=>O6($,...H),json:(H)=>$X(Z,H),dispose:(...H)=>{o9(Z,...H)},env:()=>zP(Z)}},Z=Object.assign(z,{transactionMeta:Q});return G.child=Z,$.logger.info("\uD83D\uDEEB","transaction",X.key,"building with params:",Y),Z};function uW($,X){let{key:Y}=X,U=$.transactions.has(Y),G={key:Y,type:"transaction",run:(W,Q)=>{let Z=WP($,g1(G),W,Q);try{let{toolkit:H}=Z.transactionMeta,V=X.do(H,...W);return UP(Z,V),V}catch(H){throw ij(Z),$.logger.warn("\uD83D\uDCA5","transaction",Y,"caught:",H),H}},install:(W)=>uW(W,X),subject:new b$};C$($).transactions.set(Y,G);let z=g1(G);if(!U)$.on.transactionCreation.next(z);return z}var GF=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new R0({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new R0({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new R0({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new R0({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new lj(100);molecules=new Map;moleculeGraph=new R0({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeData=new R0({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});keyRefsInJoins=new R0({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});miscResources=new Map;on={atomCreation:new b$,atomDisposal:new b$,selectorCreation:new b$,selectorDisposal:new b$,timelineCreation:new b$,transactionCreation:new b$,transactionApplying:new dj(null),operationClose:new b$,moleculeCreation:new b$,moleculeDisposal:new b$};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new $F("warn",($,X,Y)=>!W8(Y))];logger={error:(...$)=>{for(let X of this.loggers)X.error(...$)},info:(...$)=>{for(let X of this.loggers)X.info(...$)},warn:(...$)=>{for(let X of this.loggers)X.warn(...$)}};constructor($,X=null){if(this.config={...X?.config,...$},X!==null){if(this.operation={...X?.operation},z8(X))this.transactionMeta={epoch:new Map(X?.transactionMeta.epoch),actionContinuities:new R0(X?.transactionMeta.actionContinuities.toJSON())};for(let[,U]of X.families){if(U.internalRoles?.includes("mutable")||U.internalRoles?.includes("join"))continue;U.install(this)}let Y=new Set;for(let[,U]of X.atoms){if(Y.has(U.key))continue;if(U.install(this),U.type==="mutable_atom"){let G=$X(X,U),z=y5(U);Y.add(G.key),Y.add(z.key)}}for(let[,U]of X.readonlySelectors)U.install(this);for(let[,U]of X.writableSelectors){if(Y.has(U.key))continue;U.install(this)}for(let[,U]of X.transactions)U.install(this);for(let[,U]of X.timelines)U.install(this)}}},X1={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new GF({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var QP=class extends Error{constructor($,X){super(`${_0[$.type]} ${_4($.key)} not found in store "${X.config.name}".`)}};function J4($,X){let Y,U=$;while(U!==null){switch(X.type){case"atom":case"mutable_atom":Y=U.atoms.get(X.key);break;case"writable_pure_selector":case"writable_held_selector":Y=U.writableSelectors.get(X.key);break;case"readonly_pure_selector":case"readonly_held_selector":Y=U.readonlySelectors.get(X.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":Y=U.families.get(X.key);break;case"timeline":Y=U.timelines.get(X.key);break;case"transaction":Y=U.transactions.get(X.key);break}if(Y)return Y;U=U.child}throw new QP(X,$)}function LF($,X,Y,U){let G=$.disposalTraces.buffer.find((z)=>z?.key===_4(U));switch($.logger.error("\u274C",X.type,X.key,"gets a fallback value because key",U,"is not allocated",G?`This key was previously disposed:
15
15
  ${G.trace}`:"(no previous disposal trace found)"),Y.type){case"mutable_atom_family":{if($.defaults.has(Y.key))return $.defaults.get(Y.key);let z=new Y.class;return $.defaults.set(Y.key,z),z.READONLY_VIEW}case"atom_family":{if($.defaults.has(Y.key))return $.defaults.get(Y.key);let z=Y.default,W=z(U);return $.defaults.set(Y.key,W),W}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if($.defaults.has(Y.key))return $.defaults.get(Y.key);let z=Y.default(U);return $.defaults.set(Y.key,z),z}}}function m5($,X){let{type:Y,key:U,catch:G}=X;switch(Y){case"readonly_pure_selector":case"writable_pure_selector":{let z;$.logger.info("\uD83E\uDDEE",Y,U,"computing value");try{if(z=X.getFrom($),z instanceof Promise)return z.catch((W)=>{if($.logger.error("\uD83D\uDCA5",Y,U,"rejected:",W),G){for(let Q of G)if(W instanceof Q)return W}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",Y,U,"rejected:",W),G){for(let Q of G)if(W instanceof Q)return A1($,X,W)}throw W}return A1($,X,z)}case"atom":{let z;if(t9(X.default))try{if(z=X.default(),z instanceof Promise)z=z.catch((W)=>{if($.logger.error("\uD83D\uDCA5",Y,U,"rejected:",W),G){for(let Q of G)if(W instanceof Q)return W}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",Y,U,"rejected:",W),G){for(let Q of G)if(W instanceof Q)return z=A1($,X,W),$.logger.info("\u2728",X.type,U,"computed default",z),z}throw W}else z=X.default,$.logger.info("\u2728",X.type,U,"using static default",z);return A1($,X,z)}}}function e2($,X,Y){if($.valueMap.has(X.key))return KP($,X,Y);$.logger.info("\u2754",X.type,X.key,"value not found in cache");let{key:U}=X;switch(X.type){case"readonly_held_selector":case"writable_held_selector":return $.logger.info("\uD83E\uDDEE",X.type,U,"computing value"),X.getFrom($);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return m5($,X);case"mutable_atom":{let G=new X.class;return $.logger.info("\u2728",X.type,U,"created new instance",G),A1($,X,G)}}}function XQ($,X){return J4($,{key:X.family.key,type:`${X.type}_family`})}var DF={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},a9=Symbol("MUST_CREATE"),ZP=Symbol("DO_NOT_CREATE");function s9($,X,Y,U){let G=_4(U),z=X.molecules.get(G);if(!z&&X.config.lifespan==="immortal"){let{type:Q,key:Z}=Y;return X.logger.warn("\uD83D\uDCA3","key",G,"was used to mint a counterfeit token for",Q,`"${Z}"`),{counterfeit:!0,key:`${Z}(${G})`,type:DF[Q],family:{key:Z,subKey:G}}}let W;if($===a9){if(X.logger.info("\uD83D\uDC6A",Y.type,Y.key,"adds member",typeof U==="string"?`\`${U}\``:U),W=Y.create(U),z)X.moleculeData.set(G,Y.key)}else{let{type:Q,key:Z}=Y;return{key:`${Z}(${G})`,type:DF[Q],family:{key:Z,subKey:G}}}return W}function YQ($,...X){let Y,U,G,z,W;if(X.length===1){if(W=X[0],"family"in W){let Z=XQ($,W);if(G=J4($,Z),z=w6(W.family.subKey),Y=e9($,Z,z),"counterfeit"in W)return{token:W,family:G,subKey:z,isNew:!1};if(!Y)U=s9(a9,$,Z,z),W=U;else W=Y}}else if(G=J4($,X[0]),z=X[1],Y=e9($,G,z),!Y)U=s9(a9,$,G,z),W=U;else W=Y;let Q="counterfeit"in W;if(Boolean(U)&&Q===!1&&G){let Z;switch(W.type){case"readonly_pure_selector":case"readonly_held_selector":Z="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":Z="writable";break}let H={type:"state_creation",subType:Z,token:W,timestamp:Date.now()};G.subject.next(H);let V=C$($);if(W.family){if(z8(V))switch(W.type){case"atom":case"mutable_atom":$.on.atomCreation.next(W);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":$.on.selectorCreation.next(W);break}else if(b6(V)&&V.on.transactionApplying.state===null)V.transactionMeta.update.subEvents.push(H)}}return{token:W,family:G,subKey:z,isNew:Boolean(U)}}function b1($,...X){let{token:Y,family:U,subKey:G}=YQ($,...X);if("counterfeit"in Y&&U&&G)return LF($,Y,U,G);return e2($,J4($,Y))}function e9($,X,Y){let U=_4(Y),G=`${X.key}(${U})`,z=C$($),W;switch(X.type){case"atom_family":case"mutable_atom_family":W=z.atoms.get(G);break;case"writable_held_selector_family":case"writable_pure_selector_family":W=z.writableSelectors.get(G);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":W=z.readonlySelectors.get(G);break}if(W)return g1(W);return W}function O6($,X,Y){let U=J4($,X),G=e9($,X,Y);if(G)return G;return s9(ZP,$,U,Y)}function $Y($,X,Y){let U=X.key,G="readonly_pure_selector_family",z={key:U,type:"readonly_pure_selector_family"},W=$.families.get(U);if(W&&$.config.isProduction===!0)$.logger.error("\u2757","readonly_pure_selector_family",U,`Overwriting an existing ${_0[W.type]} "${W.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Q=new b$,H={...z,create:(V)=>{let O=_4(V),w={key:U,subKey:O},D=`${U}(${O})`,E=C$($),F={key:D,get:X.get(V)};if(X.catch)F.catch=X.catch;return WQ(E,F,w)},internalRoles:Y,subject:Q,install:(V)=>$Y(V,X),default:(V)=>{return X.get(V)({get:(...O)=>b1($,...O),find:(...O)=>O6($,...O),json:(O)=>$X($,O)})}};return $.families.set(U,H),z}function i9($,X,Y){let U={key:X.key,type:"atom_family"},G=$.families.get(X.key);if(G&&$.config.isProduction===!0)$.logger.error("\u2757","atom_family",X.key,`Overwriting an existing ${_0[G.type]} "${G.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let z=new b$,Q={...U,create:(Z)=>{let H=_4(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=C$($),D=X.default,E={key:O,default:t9(D)?()=>D(Z):D};if(X.effects)E.effects=X.effects(Z);if(X.catch)E.catch=X.catch;return s2(w,E,V)},default:X.default,subject:z,install:(Z)=>i9(Z,X),internalRoles:Y};if($.families.set(X.key,Q),t9(X.default)===!1)$.defaults.set(X.key,X.default);return U}function KF($,X,Y){let U=X.key,G="readonly_held_selector_family",z={key:U,type:"readonly_held_selector_family"},W=$.families.get(U);if(W&&$.config.isProduction===!0)$.logger.error("\u2757","readonly_held_selector_family",U,`Overwriting an existing ${_0[W.type]} "${W.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Q=new b$,H={...z,create:(V)=>{let O=_4(V),w={key:U,subKey:O},D=`${U}(${O})`;return zQ(C$($),{key:D,const:X.const(V),get:X.get(V)},w)},internalRoles:Y,subject:Q,install:(V)=>KF(V,X),default:X.const};return $.families.set(U,H),z}function _F($,X,Y){let U=X.key,G="writable_held_selector_family",z={key:U,type:"writable_held_selector_family"},W=$.families.get(U);if(W&&$.config.isProduction===!0)$.logger.error("\u2757","writable_held_selector_family",U,`Overwriting an existing ${_0[W.type]} "${W.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Q=new b$,H={...z,create:(V)=>{let O=_4(V),w={key:U,subKey:O},D=`${U}(${O})`;return QQ(C$($),{key:D,const:X.const(V),get:X.get(V),set:X.set(V)},w)},internalRoles:Y,subject:Q,install:(V)=>_F(V,X),default:X.const};return $.families.set(U,H),z}function GQ($,X,Y){let U=X.key,G="writable_pure_selector_family",z={key:U,type:"writable_pure_selector_family"},W=$.families.get(U);if(W&&$.config.isProduction===!0)$.logger.error("\u2757","writable_pure_selector_family",U,`Overwriting an existing ${_0[W.type]} "${W.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Q=new b$,H={...z,create:(V)=>{let O=_4(V),w={key:U,subKey:O},D=`${U}(${O})`,E=C$($),F={key:D,get:X.get(V),set:X.set(V)};if(X.catch)F.catch=X.catch;return ZQ(E,F,w)},internalRoles:Y,subject:Q,install:(V)=>GQ(V,X),default:(V)=>{return X.get(V)({get:(...O)=>b1($,...O),find:(...O)=>O6($,...O),json:(O)=>$X($,O)})}};return $.families.set(U,H),z}function cW($,X){let Y="set"in X,U="const"in X;if(U&&Y)return _F($,X,void 0);if(U)return KF($,X,void 0);if(Y)return GQ($,X);return $Y($,X)}function o9($,...X){let Y;if(X.length===1)Y=X[0];else{let U=X[0],G=X[1];Y=O6($,U,G)}try{J4($,Y)}catch(U){$.logger.error("\u274C",Y.type,Y.key,`could not be disposed because it was not found in the store "${$.config.name}".`);return}switch(Y.type){case"atom":case"mutable_atom":jF($,Y);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":FP($,Y);break}}function qF($,X){if($.operation.open){let Y=performance.now();return $.logger.info("\uD83D\uDEAB",X.type,X.key,`deferring setState at T-${Y} until setState for "${$.operation.token.key}" is done`),Y}return $.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:X,subEvents:[]},$.logger.info("\u2B55",X.type,X.key,`operation start in store "${$.config.name}"${b6($)?` ${$.transactionMeta.phase} "${$.transactionMeta.update.token.key}"`:""}`),$}function RF($){if($.operation.open)$.logger.info("\uD83D\uDD34",$.operation.token.type,$.operation.token.key,`operation done in store "${$.config.name}"`);$.operation={open:!1},$.on.operationClose.next($.operation)}var TF=($,X)=>{if(!$.operation.open)return $.logger.error("\uD83D\uDC1E","unknown",X,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return $.operation.done.has(X)},c5=($,X)=>{if(!$.operation.open){$.logger.error("\uD83D\uDC1E","unknown",X,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}$.operation.done.add(X)};function tW($,X,{oldValue:Y,newValue:U},G,z){let W=g1(X);if(G&&z){X.subject.next({newValue:U});let O={checkpoint:!0,type:"state_creation",subType:"writable",token:W,timestamp:Date.now(),value:U};$.operation.subEvents.push(O),z.subject.next(O);let w=C$($);if(W.family){if(z8(w))switch(W.type){case"atom":case"mutable_atom":$.on.atomCreation.next(W);break;case"writable_pure_selector":case"writable_held_selector":$.on.selectorCreation.next(W);break}else if(b6(w)&&w.on.transactionApplying.state===null)w.transactionMeta.update.subEvents.push(O)}return}let{key:Q,subject:Z,type:H}=X,V={oldValue:iW(Y)?Y.READONLY_VIEW:Y,newValue:iW(U)?U.READONLY_VIEW:U};if(z8($)){switch(H){case"mutable_atom":$.logger.info("\uD83D\uDCE2",H,Q,"is now (",U,") subscribers:",Z.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":$.logger.info("\uD83D\uDCE2",H,Q,"went (",Y,"->",U,") subscribers:",Z.subscribers.keys())}Z.next(V)}if(b6($)&&(H==="mutable_atom"||H==="atom")){if($.on.transactionApplying.state===null){if(iW(U))return;let{timestamp:O}=$.operation,w={type:"atom_update",token:W,timestamp:O,update:V};$.transactionMeta.update.subEvents.push(w),$.logger.info("\uD83D\uDCC1","atom",Q,"stowed (",Y,"->",U,")");return}if(OQ(X,"tracker:signal")){let O=Q.slice(1),w=$.atoms.get(O);if(e2($,w,"mut").do(V.newValue)===null===!0)VQ($,w)}}}var aW=($,X,Y)=>{let U=e2($,X,"mut"),G=oW(Y,U);return $.logger.info("\u2B50","atom",X.key,"setting value",G),G=A1($,X,G),c5($,X.key),VQ($,X),{oldValue:U,newValue:G}};function rW($,X){switch(X.type){case"mutable_atom":return aW($,X,new X.class);case"atom":{let Y;if(t9(X.default))Y=m5($,X);else Y=X.default;return aW($,X,Y)}}}function HP($,X){let Y;switch(X.type){case"atom":case"mutable_atom":Y=rW($,X);break;case"writable_held_selector":{let U=XY($,X.key);for(let z of U.values())tW($,X,rW($,z),!1);let G=X.getFrom($);Y={oldValue:G,newValue:G}}break;case"writable_pure_selector":{let U=m5($,X),G=XY($,X.key);for(let z of G.values())tW($,X,rW($,z),!1);Y={oldValue:U,newValue:m5($,X)}}break}return Y}function f1($,...X){Q8(u5,$,...X)}var sW=Symbol("RESET");function h5($,...X){f1($,...[...X,sW])}function VP($,X,Y){let U,G,z,{type:W,key:Q}=X;switch(X.type){case"writable_pure_selector":U=e2($,X,"mut"),G=oW(Y,U),G=A1($,X,G);break;case"writable_held_selector":z=X.const,oW(Y,z),U=z,G=z}return $.logger.info("\u2B50",W,Q,"setting to",G),c5($,Q),X.setSelf(G),{oldValue:U,newValue:G}}var OP=($,X,Y)=>{let U;switch(X.type){case"atom":case"mutable_atom":U=aW($,X,Y);break;case"writable_pure_selector":case"writable_held_selector":U=VP($,X,Y);break}return U},u5=Symbol("OWN_OP"),UQ=Symbol("JOIN_OP");function Q8($,X,...Y){let U,G,z,W,Q,Z;if(Y.length===2){if(z=Y[0],Z=Y[1],"family"in z)if(W=XQ(X,z),Q=w6(z.family.subKey),U=e9(X,W,Q),!U)z=G=s9(a9,X,W,Q);else z=U}else if(W=J4(X,Y[0]),Q=Y[1],Z=Y[2],U=e9(X,W,Q),!U)z=G=s9(a9,X,W,Q);else z=U;let H=Z===sW?"reset":"set",V;if($===u5){let D=qF(X,z);if(typeof D==="number"){let E=D,F=X.on.operationClose.subscribe(`waiting to ${H} "${z.key}" at T-${E}`,function(){F(),X.logger.info("\uD83D\uDFE2",z.type,z.key,"resuming deferred",H,`from T-${E}`),Q8($,X,z,Z)});return}V=D}else V=X;if("counterfeit"in z&&"family"in z){let D=z.family.subKey,E=X.disposalTraces.buffer.find((F)=>F?.key===D);X.logger.error("\u274C",z.type,z.key,"could not be",H,"because key",D,"is not allocated.",E?`this key was previously disposed:${E.trace}`:"(no previous disposal trace found)");return}let O=J4(V,z),w;if(Z===sW)w=HP(V,O);else w=OP(V,O,Z);if(tW(V,O,w,Boolean(G),W),$===u5)RF(V)}var vF=($,X)=>C$($).atoms.has(X),wP=($,X)=>C$($).writableSelectors.has(X),DP=($,X)=>C$($).readonlySelectors.has(X),EP=($,X)=>vF($,X)||wP($,X)||DP($,X);function EF($,X){return C$($).selectorGraph.getRelationEntries({downstreamSelectorKey:X}).filter(([Y,{source:U}])=>U!==X).map(([Y,{source:U}])=>U).filter((Y)=>EP($,Y))}function XY($,X,Y=new Set){let U=EF($,X),G=new Map;while(U.length>0){let z=U.pop();if(Y.has(z))continue;if(Y.add(z),vF($,z)){let W=$.atoms.get(z);G.set(W.key,W)}else U.push(...EF($,z))}return G}function NP($,X,Y,U,G){let z=C$($),{type:W,key:Q}=U;if(W==="atom"||W==="mutable_atom")z.selectorAtoms.set({selectorKey:Y,atomKey:Q}),$.logger.info("\uD83D\uDD0D",X,Y,`discovers root atom "${Q}"`);else{let Z=XY($,Q,G);$.logger.info("\uD83D\uDD0D",X,Y,`discovers root atoms: [ ${[...Z.values()].map((H)=>`"${H.key}"`).join(", ")} ]`);for(let{key:H}of Z.values())z.selectorAtoms=z.selectorAtoms.set({selectorKey:Y,atomKey:H})}G.add(Q)}function p5($,X,Y,U){return{get:(...G)=>{let z=C$($),{token:W,family:Q,subKey:Z}=YQ($,...G),H;if("counterfeit"in W&&Q&&Z)H=LF($,W,Q,Z);else H=e2($,J4($,W));return $.logger.info("\uD83D\uDD0C",X,Y,`registers dependency ( "${W.key}" =`,H,")"),z.selectorGraph.set({upstreamSelectorKey:W.key,downstreamSelectorKey:Y},{source:W.key}),NP($,X,Y,W,U),H},set:(...G)=>{Q8(UQ,C$($),...G)},find:(...G)=>O6($,...G),json:(G)=>$X($,G)}}function zQ($,X,Y){let U=C$($),G=new b$,z=new Set,{key:W,const:Q}=X,Z="readonly_held_selector";$.logger.info("\uD83D\uDD28","readonly_held_selector",W,"is being created");let{get:H,find:V,json:O}=p5(U,"readonly_held_selector",W,z),D={...X,type:"readonly_held_selector",subject:G,getFrom:(F)=>{let J=F.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[A,{source:L}]of J)if(L!==W)F.selectorGraph.delete(A,W);return F.selectorAtoms.delete(W),X.get({get:H,find:V,json:O},Q),A1(F,D,Q),$.logger.info("\u2728","readonly_held_selector",W,"=",Q),z.clear(),Q},install:(F)=>zQ(F,X,Y)};if(Y)D.family=Y;U.readonlySelectors.set(W,D);let E={key:W,type:"readonly_held_selector"};if(Y)E.family=Y;return E}function WQ($,X,Y){let U=C$($),G=new b$,z=new Set,W=X.key,Q="readonly_pure_selector";$.logger.info("\uD83D\uDD28","readonly_pure_selector",W,"is being created");let{get:Z,find:H,json:V}=p5(U,"readonly_pure_selector",W,z),w={...X,type:"readonly_pure_selector",subject:G,getFrom:()=>{let E=C$($),F=E.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[A,{source:L}]of F)if(L!==W)E.selectorGraph.delete(A,W);E.selectorAtoms.delete(W);let J=A1(E,w,X.get({get:Z,find:H,json:V}));return $.logger.info("\u2728","readonly_pure_selector",W,"=",J),z.clear(),J},install:(E)=>WQ(E,X,Y)};if(Y)w.family=Y;U.readonlySelectors.set(W,w);let D={key:W,type:"readonly_pure_selector"};if(Y)D.family=Y;return D}function QQ($,X,Y){let U=C$($),G=new b$,z=new Set,{key:W,const:Q}=X,Z="writable_held_selector";$.logger.info("\uD83D\uDD28","writable_held_selector",W,"is being created");let H=p5(U,"writable_held_selector",W,z),{find:V,get:O,json:w}=H,D={find:V,get:O,json:w},J={...X,type:"writable_held_selector",subject:G,getFrom:(L)=>{let q=L.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[B,{source:I}]of q)if(I!==W)L.selectorGraph.delete(B,W);return L.selectorAtoms.delete(W),X.get(D,Q),A1(L,J,Q),$.logger.info("\u2728","writable_held_selector",W,"=",Q),z.clear(),Q},setSelf:()=>{X.set(H,Q)},install:(L)=>QQ(L,X,Y)};if(Y)J.family=Y;U.writableSelectors.set(W,J);let A={key:W,type:"writable_held_selector"};if(Y)A.family=Y;return A}function ZQ($,X,Y){let U=C$($),G=new b$,z=new Set,W=X.key,Q="writable_pure_selector";$.logger.info("\uD83D\uDD28","writable_pure_selector",W,"is being created");let Z=p5(U,"writable_pure_selector",W,z),{find:H,get:V,json:O}=Z,w={find:H,get:V,json:O},F={...X,type:"writable_pure_selector",subject:G,getFrom:(A)=>{let L=A.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[B,{source:I}]of L)if(I!==W)A.selectorGraph.delete(B,W);A.selectorAtoms.delete(W);let q=A1(A,F,X.get(w));return $.logger.info("\u2728","writable_pure_selector",W,"=",q),z.clear(),q},setSelf:(A)=>{X.set(Z,A)},install:(A)=>ZQ(A,X,Y)};if(Y)F.family=Y;U.writableSelectors.set(W,F);let J={key:W,type:"writable_pure_selector"};if(Y)J.family=Y;return J}function UF($,X){let Y="set"in X,U="const"in X;if(U&&Y){let z=QQ($,X,void 0);return $.on.selectorCreation.next(z),z}if(U){let z=zQ($,X,void 0);return $.on.selectorCreation.next(z),z}if(Y){let z=ZQ($,X,void 0);return $.on.selectorCreation.next(z),z}let G=WQ($,X,void 0);return $.on.selectorCreation.next(G),G}function FP($,X){let Y=C$($),{key:U,type:G,family:z}=X;if(!z)$.logger.error("\u274C",G,U,"Standalone selectors cannot be disposed.");else{if(Y.molecules.get(z.subKey))Y.moleculeData.delete(z.subKey,z.key);let W;switch(X.type){case"writable_held_selector":Y.writableSelectors.delete(U),W={key:z.key,type:"writable_held_selector_family"},J4($,W).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"writable_pure_selector":Y.writableSelectors.delete(U),W={key:z.key,type:"writable_pure_selector_family"},J4($,W).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_held_selector":Y.readonlySelectors.delete(U),W={key:z.key,type:"readonly_held_selector_family"},J4($,W).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_pure_selector":Y.readonlySelectors.delete(U),W={key:z.key,type:"readonly_pure_selector_family"},J4($,W).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break}if(Y.valueMap.delete(U),Y.selectorAtoms.delete(U),Y.selectorGraph.delete(U),Y.moleculeData.delete(z.key,z.subKey),$.logger.info("\uD83D\uDD25",X.type,U,"deleted"),b6(Y)&&Y.transactionMeta.phase==="building")Y.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});else $.on.selectorDisposal.next(X)}}var MP=($,X)=>{let Y=C$($);if(Y.operation.open)return Y.operation.prev.get(X.key);return Y.valueMap.get(X.key)},NF=($,X,Y)=>{return Y.subject.subscribe(`${X.type}:${X.key}`,(U)=>{$.logger.info("\uD83D\uDCE2",X.type,X.key,"root",Y.key,"went",U.oldValue,"->",U.newValue);let G=MP($,X),z=e2($,X);$.logger.info("\u2728",X.type,X.key,"went",G,"->",z),X.subject.next({newValue:z,oldValue:G})})};function YY($,X,Y,U){function G(O){if($.operation.open){if(z?.type==="atom"&&OQ(z,"tracker:signal")&&"*"+$.operation.token.key===X.key&&"inboundTracker"in U)return;let w=$.on.operationClose.subscribe(`state subscription ${Y}`,()=>{w(),U(O)})}else U(O)}YQ($,X);let z=J4($,X);$.logger.info("\uD83D\uDC40",z.type,z.key,`Adding subscription "${Y}"`);let W=z.type==="writable_pure_selector"||z.type==="readonly_pure_selector",Q=new Map,Z=G;if(W){e2($,z);for(let[O,w]of XY($,z.key))Q.set(O,NF($,z,w));Z=function(w){let D=XY($,z.key);for(let[E,F]of Q)if(D.get(E))D.delete(E);else F(),Q.delete(E);for(let[E,F]of D)Q.set(E,NF($,z,F));G(w)}}let H=z.subject.subscribe(Y,Z);return()=>{$.logger.info("\uD83D\uDE48",z.type,z.key,`Removing subscription "${Y}"`),H();for(let O of Q.values())O()}}var JP=($,X,Y,U)=>{let G=J4($,X);$.logger.info("\uD83D\uDC40","timeline",X.key,`Adding subscription "${Y}"`);let z=G.subject.subscribe(Y,U);return()=>{$.logger.info("\uD83D\uDE48","timeline",X.key,`Removing subscription "${Y}" from timeline`),z()}};var HQ=class{initializeSignalAtom($,X){let Y=`*${$.key}`;X.atoms.delete(Y),X.valueMap.delete(Y);let U=$.family?{key:`*${$.family.key}`,subKey:$.family.subKey}:void 0,G=s2(X,{key:Y,default:null},U,["tracker:signal"]);if(X.parent?.valueMap.has(Y)){let z=X.parent.valueMap.get(Y);X.valueMap.set(Y,z)}return G}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore($,X,Y){let U=$.key,G=`tracker-from-core:${Y.config.name}:${b6(Y)?Y.transactionMeta.update.token.key:"main"}:${U}`,z=(W)=>{Q8(UQ,Y,X,W)};this.unsubscribeFromInnerValue=b1(Y,$).subscribe(G,z),this.unsubscribeFromState=YY(Y,$,G,function(Q){if(Q.newValue!==Q.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=Q.newValue.subscribe(G,z)}.bind(this))}supplySignalsToCore($,X,Y){let U=$.key,G=`tracker-to-core:${Y.config.name}:${b6(Y)?Y.transactionMeta.update.token.key:"main"}:${U}`;YY(Y,X,G,Object.assign(function({newValue:W,oldValue:Q}){let Z=Y.timelineTopics.getRelatedKey(X.key);if(Z&&Y.timelines.get(Z)?.timeTraveling){let H=JP(Y,{key:Z,type:"timeline"},G,function(O){H(),f1(Y,$,(w)=>{if(O==="redo"&&W)w.do(W);else if(O==="undo"&&Q)w.undo(Q);return w})});return}f1(Y,$,(H)=>(H.do(W),H))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor($,X){let Y=C$(X),U=this.initializeSignalAtom($,Y);this.mutableAtomToken=$,this.latestSignalToken=U,this.captureSignalsFromCore($,U,Y),this.supplySignalsToCore($,U,Y),Y.trackers.set($.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),Y.trackers.delete($.key)}}};function g5($,X,Y){$.logger.info("\uD83D\uDD28","atom",X.key,`creating in store "${$.config.name}"`);let U=C$($),{key:G}=X,z=U.atoms.get(G),W="mutable_atom";if(z?.type===W&&$.config.isProduction===!0)return $.logger.error("\u274C",W,G,"Tried to create atom, but it already exists in the store."),g1(z);let Q=new b$,Z={...X,type:W,install:(V)=>{return V.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${V.config.name}"`),g5(V,X,Y)},subject:Q};if(Y)Z.family=Y;U.atoms.set(Z.key,Z);let H=g1(Z);if(new HQ(H,$),!Y)UF($,{key:`${G}:JSON`,get:({get:V})=>V(H).toJSON(),set:({set:V},O)=>{V(H,X.class.fromJSON(O))}});if(X.effects){let V=0,O=[];for(let w of X.effects){let D=w({resetSelf:()=>{h5($,H)},setSelf:(E)=>{f1($,H,E)},onSet:(E)=>YY($,H,`effect[${V}]`,E),token:H,store:eW($)});if(D)O.push(D);++V}Z.cleanup=()=>{for(let w of O)w()}}return $.on.atomCreation.next(H),H}var AP=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor($,X){this.latestSignalAtoms=J4(X,i9(X,{key:`*${$.key}`,default:null},["mutable","updates"])),this.mutableAtoms=$;let Y=(U)=>{let{type:G,token:z}=U;if(z.family){let W=w6(z.family.subKey);switch(G){case"state_creation":this.trackers.set(W,new HQ(z,X));break;case"state_disposal":{let Q=this.trackers.get(W);if(Q)Q[Symbol.dispose](),this.trackers.delete(W)}}}};this.mutableAtoms.subject.subscribe(`store=${X.config.name}::tracker-atom-family`,Y)}};function pW($,X,Y){let U={key:X.key,type:"mutable_atom_family"},G=$.families.get(X.key);if(G&&$.config.isProduction===!0)$.logger.error("\u2757","mutable_atom_family",X.key,`Overwriting an existing ${_0[G.type]} "${G.key}" in store "${$.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let z=new b$,Q={...U,create:(Z)=>{let H=_4(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=C$($),D={key:O,class:X.class};if(X.effects)D.effects=X.effects(Z);return g5(w,D,V)},class:X.class,subject:z,install:(Z)=>pW(Z,X),internalRoles:Y};return $.families.set(X.key,Q),GQ($,{key:`${X.key}:JSON`,get:(Z)=>({get:H})=>H(U,Z).toJSON(),set:(Z)=>({set:H},V)=>{H(U,Z,X.class.fromJSON(V))}},["mutable","json"]),new AP(Q,$),U}var LP=($,X)=>{let Y=C$(X),U=`${$.key}:JSON`;return Y.families.get(U)},$X=($,X)=>{if(X.family)return O6($,J4(C$($),{key:`${X.family.key}:JSON`,type:"writable_pure_selector_family"}),w6(X.family.subKey));return{type:"writable_pure_selector",key:`${X.key}:JSON`}};var y5=($)=>{let X={type:"atom",key:`*${$.key}`};if($.family)X.family={key:`*${$.family.key}`,subKey:$.family.subKey};return X};function iW($){return typeof $==="object"&&$!==null&&"do"in $&&"undo"in $&&"subscribe"in $&&"READONLY_VIEW"in $&&"toJSON"in $}function A1($,X,Y){let{key:U,subject:G,type:z}=X,W=$.valueMap.get(U);if(W instanceof nW&&!W.done){let Q=W;if(Y instanceof Promise)return Q.use(Y),Q;return $.valueMap.set(U,Y),Y}if(Y instanceof Promise){let Q=new nW(Y);return $.valueMap.set(U,Q),Q.then(function(H){if($.valueMap.get(U)===Q){switch(qF($,X),A1($,X,H),z){case"atom":VQ($,X);break;case"readonly_pure_selector":case"writable_pure_selector":CF($,U);break}RF($),G.next({newValue:H,oldValue:Q})}}).catch((Z)=>{$.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",Z)}),Q}return $.logger.info("\uD83D\uDCDD",X.type,X.key,"writing to cache",Y),$.valueMap.set(U,Y),Y}function KP($,X,Y){$.logger.info("\uD83D\uDCD6",X.type,X.key,"reading cached value");let U=$.valueMap.get(X.key);if(Y==="mut"&&X.type==="mutable_atom"&&b6($)){let G=X,{parent:z}=$;if($.valueMap.hasOwn(G.key))return U;let W=z.valueMap.get(G.key);$.logger.info("\uD83D\uDCC3","atom",G.key,"copying");let Q=W.toJSON(),Z=G.class.fromJSON(Q);$.valueMap.set(G.key,Z),new HQ(G,z),U=Z}return U}function BF($,X){let Y=$.valueMap.get(X);if(Y instanceof nW){let U=$.writableSelectors.get(X)??$.readonlySelectors.get(X);if(U)U.getFrom($);return}if($.operation.open)$.operation.prev.set(X,Y);$.valueMap.delete(X),$.logger.info("\uD83D\uDDD1","state",X,"evicted")}function VQ($,X){let Y=C$($),{key:U,type:G}=X,z=Y.selectorAtoms.getRelatedKeys(U);if(Y.logger.info("\uD83E\uDDF9",G,U,z?`evicting ${z.size} states downstream:`:"no downstream states",z??"to evict"),z){if(Y.operation.open)Y.logger.info("\uD83E\uDDF9",G,U,`[ ${[...Y.operation.done].join(", ")} ] already done`);for(let W of z){if(TF(Y,W))continue;BF(Y,W),c5(Y,W)}}}function CF($,X){let Y=C$($),U=Y.selectorGraph.getRelationEntries({upstreamSelectorKey:X}).filter(([G,{source:z}])=>z===X);for(let[G]of U){if(TF(Y,G))continue;BF(Y,G),c5(Y,G),CF($,G)}}function s2($,X,Y,U){let{key:z}=X;$.logger.info("\uD83D\uDD28","atom",z,"is being created");let W=C$($),Q=W.atoms.get(z);if(Q?.type==="atom"&&$.config.isProduction===!0)return $.logger.error("\u274C","atom",z,"Tried to create atom, but it already exists in the store."),g1(Q);let Z=new b$,H={...X,type:"atom",install:(O)=>{return O.logger.info("\uD83D\uDEE0\uFE0F","atom",z,`installing in store "${O.config.name}"`),s2(O,X,Y)},subject:Z};if(Y)H.family=Y;if(U)H.internalRoles=U;W.atoms.set(z,H);let V=g1(H);if(X.effects){let O=0,w=[];for(let D of X.effects){let E=D({resetSelf:()=>{h5($,V)},setSelf:(F)=>{f1($,V,F)},onSet:(F)=>YY($,V,`effect[${O}]`,F),token:V,store:eW($)});if(E)w.push(E);++O}H.cleanup=()=>{for(let D of w)D()}}return $.on.atomCreation.next(V),V}function OQ($,X){if("internalRoles"in $===!1)return!1;return $.internalRoles.includes(X)}function jF($,X){let Y=C$($),{key:U,family:G}=X,z=J4(Y,X);if(!G)$.logger.error("\u274C","atom",U,"Standalone atoms cannot be disposed.");else{z.cleanup?.();let W=$.valueMap.get(z.key),Q=J4($,XQ($,X)).subject,Z={type:"state_disposal",subType:"atom",token:X,value:W,timestamp:Date.now()};Q.next(Z);let H=b6(Y);if(Y.atoms.delete(U),Y.valueMap.delete(U),Y.selectorAtoms.delete(U),Y.atomsThatAreDefault.delete(U),Y.moleculeData.delete(G.key,G.subKey),$.timelineTopics.delete(U),X.type==="mutable_atom")jF($,y5(X)),$.trackers.delete(U);if($.logger.info("\uD83D\uDD25","atom",U,"deleted"),H&&Y.transactionMeta.phase==="building"){let V=Y.transactionMeta.update.subEvents.at(-1),O=V?.type==="molecule_disposal"&&V.values.some(([D])=>D===z.family?.key),w=OQ(z,"tracker:signal");if(!O&&!w)Y.transactionMeta.update.subEvents.push(Z)}else $.on.atomDisposal.next(X)}}function J1($){return $[0].toUpperCase()+$.slice(1)}var PF=class{toolkit;options;relations;states;relatedKeysAtoms;transact($,X){let Y=this.toolkit;this.toolkit=$,X(this),this.toolkit=Y}store;[Symbol.dispose](){}constructor($,X=X1.STORE){this.store=X,this.options=$,this.store.miscResources.set(`join:${$.key}`,this),this.toolkit={get:(...V)=>b1(X,...V),set:(...V)=>{f1(X,...V)},find:(...V)=>O6(X,...V),json:(V)=>$X(X,V)};let Y=$.between[0],U=$.between[1],G=pW(X,{key:`${$.key}/relatedKeys`,class:q0},["join","relations"]);this.relatedKeysAtoms=G;let z=(V,O,w)=>{let{find:D,get:E,set:F}=V,J=D(G,O),A=E(J);for(let L of A){if(w.includes(L))continue;F(G,L,(q)=>{return q.delete(O),q})}F(J,(L)=>{L.clear();for(let q of w){let B=D(G,q),I=E(B),h=I.has(O);if(this.relations.cardinality==="1:n"){let y=[];for(let r of I){if(r===O)continue;let H$;if(Q8(UQ,this.store,G,r,(x)=>{return x.delete(q),H$=x.size,x}),H$===0)y.push(r)}if(!h&&I.size>0)F(B,(r)=>{return r.clear(),r});for(let r of y)X.keyRefsInJoins.delete(r9(q,r))}if(!h)F(B,(y)=>{return y.add(O),y});L.add(q)}return L})},W=(V,O,w)=>{let{set:D}=V;D(G,O,(E)=>{for(let F of w)E.add(F);return E});for(let E of w)D(G,E,(F)=>{return F.add(O),F});return!0},Q=new R0($,{externalStore:{getRelatedKeys:(V)=>this.toolkit.get(G,V),addRelation:(V,O)=>{this.store.keyRefsInJoins.set(`"${V}"`,$.key),this.store.keyRefsInJoins.set(`"${O}"`,$.key),this.store.keyRefsInJoins.set(r9(V,O),$.key),this.toolkit.set(G,V,(w)=>w.add(O)),this.toolkit.set(G,O,(w)=>w.add(V))},deleteRelation:(V,O)=>{this.toolkit.set(G,V,(D)=>{return D.delete(O),D}),this.toolkit.set(G,O,(D)=>{return D.delete(V),D});let w=r9(V,O);this.store.keyRefsInJoins.delete(w)},replaceRelationsSafely:(V,O)=>{z(this.toolkit,V,O)},replaceRelationsUnsafely:(V,O)=>{W(this.toolkit,V,O)},has:(V,O)=>{let w=this.toolkit.get(G,V);return O?w.has(O):w.size>0}},isAType:$.isAType,isBType:$.isBType}),Z=()=>$Y(X,{key:`${$.key}/singleRelatedKey`,get:(V)=>({get:O})=>{let w=O(G,V);for(let D of w)return D;return null}},["join","keys"]),H=()=>{return $Y(X,{key:`${$.key}/multipleRelatedKeys`,get:(V)=>({get:O})=>{return O(LP(G,X),V)}},["join","keys"])};switch($.cardinality){case"1:1":{let V=Z(),O=`${Y}KeyOf${J1(U)}`,w=`${U}KeyOf${J1(Y)}`;this.relations=Q,this.states={[O]:V,[w]:V};break}case"1:n":{let V=Z(),O=H(),w=`${Y}KeyOf${J1(U)}`,D=`${U}KeysOf${J1(Y)}`,E={[w]:V,[D]:O};this.relations=Q,this.states=E;break}case"n:n":{let V=H(),O=`${Y}KeysOf${J1(U)}`,w=`${U}KeysOf${J1(Y)}`;this.relations=Q,this.states={[O]:V,[w]:V}}}}};function zF($,X){return $.joins.set(X.key,new PF(X)),{key:X.key,type:"join",a:X.between[0],b:X.between[1],cardinality:X.cardinality}}function wQ($,X){let Y=X.joins.get($.key);if(Y===void 0){let U=X1.STORE.joins.get($.key);if(U===void 0)throw Error(`Join "${$.key}" not found in store "${X.config.name}"`);let G=eW(X);Y=new PF(U.options,G),X.joins.set($.key,Y)}return Y}function n9($,X,Y){let U=wQ($,Y),G=C$(Y);if(b6(G)){let{toolkit:z}=G.transactionMeta;U.transact(z,({relations:W})=>{X(W)})}else X(U.relations)}function cj($,X,Y){let U=wQ($,Y),G;switch($.cardinality){case"1:1":{let z=`${$.a}KeyOf${J1($.b)}`,W=`${$.b}KeyOf${J1($.a)}`;G={get[z](){let Q=U.states[z];return O6(Y,Q,X)},get[W](){let Q=U.states[W];return O6(Y,Q,X)}};break}case"1:n":{let z=`${$.a}KeyOf${J1($.b)}`,W=`${$.b}KeysOf${J1($.a)}`;G={get[z](){let Q=U.states[z];return O6(Y,Q,X)},get[W](){let Q=U.states[W];return O6(Y,Q,X)}};break}case"n:n":{let z=`${$.a}KeysOf${J1($.b)}`,W=`${$.b}KeysOf${J1($.a)}`;G={get[z](){let Q=U.states[z];return O6(Y,Q,X)},get[W](){let Q=U.states[W];return O6(Y,Q,X)}}}}return G}function WF($,X){return wQ($,X).relatedKeysAtoms}var _P=U8({key:"mutex",default:!1}),qP=class extends Map{set($,X){if(this.has($))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:$,value:X}),this;return super.set($,X)}},$c=class ${type="continuity";globals=[];actions=[];perspectives=[];key;constructor(X){this.key=X}static existing=new qP;static create(X,Y){let{type:U,globals:G,actions:z,perspectives:W}=Y(new $(X)),Q={type:U,key:X,globals:G,actions:z,perspectives:W};return $.existing.set(X,Q),Q}add(...X){switch(X[0].type){case"atom":case"mutable_atom":this.globals.push(...X);break;case"transaction":this.actions.push(...X);break;case"atom_family":case"mutable_atom_family":{let[Y,U]=X;this.perspectives.push({type:"realtime_perspective",resourceAtoms:Y,viewAtoms:U})}break}return this}};var Xc=G8({key:"usersInRoomIndex",class:q0}),IF=G8({key:"roomIndex",class:q0});var GY=k5({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:($)=>typeof $==="string",isBType:($)=>typeof $==="string"}),Yc=b5({key:"usersInMyRoomView",get:($)=>({find:X})=>{return[X(eN(GY),$)]}});var wc=U8({key:"redactor",default:{occlude:($)=>$}}),Dc=U8({key:"unacknowledgedUpdates",default:()=>[]});var DQ=class{listeners;globalListeners;handleEvent(...$){let[X,...Y]=$;for(let G of this.globalListeners)G(X,...Y);let U=this.listeners.get(X);if(U)for(let G of U)G(...Y)}id="no_id_retrieved";emit;constructor($){this.emit=$,this.listeners=new Map,this.globalListeners=new Set}on($,X){let Y=this.listeners.get($);if(Y)Y.add(X);else this.listeners.set($,new Set([X]));return this}onAny($){return this.globalListeners.add($),this}off($,X){let Y=this.listeners.get($);if(Y)if(X)Y.delete(X);else this.listeners.delete($);return this}offAny($){return this.globalListeners.delete($),this}},Ec=class extends DQ{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";proc;key;logger;handleLog($){if(Array.isArray($)){let[X,...Y]=$;switch(X){case"i":this.logger.info(...Y);break;case"w":this.logger.warn(...Y);break;case"e":this.logger.error(...Y);break}}}constructor($,X,Y){super((U,...G)=>{let z=JSON.stringify([U,...G])+"\x03",W=(Q)=>{if(Q.code==="EPIPE")console.error("EPIPE error during write",this.proc.stdin);this.proc.stdin.removeListener("error",W)};return this.proc.stdin.once("error",W),this.proc.stdin.write(z),this});if(this.proc=$,this.key=X,this.logger=Y??{info:(...U)=>{console.info(this.id,this.key,...U)},warn:(...U)=>{console.warn(this.id,this.key,...U)},error:(...U)=>{console.error(this.id,this.key,...U)}},this.proc.stdout.on("data",(U)=>{let G=U.toString();if(G==="ALIVE"){this.logger.info(G);return}let z=G.split("\x03"),W=z[0];z[0]=this.incompleteData+W;let Q=0;for(let Z of z){if(Z==="")continue;try{let H=w6(Z);this.handleEvent(...H),this.incompleteData=""}catch(H){if(H instanceof Error)console.error(["\u274C Malformed data received from child process","",Z,"",H.message].join(`
16
16
  \u274C `));try{if(Q===0){this.incompleteData=Z;let V=w6(W);this.handleEvent(...V),this.incompleteData=""}else this.incompleteData+=Z}catch(V){if(V instanceof Error)console.error(["\u274C Malformed data received from child process","",W,"",V.message].join(`
17
17
  \u274C `))}}++Q}}),this.proc.stderr.on("data",(U)=>{let G=U.toString().split("\x03"),z=G[0];G[0]=this.incompleteData+z;let W=0;for(let Q of G){if(Q==="")continue;try{let Z=w6(Q);this.handleLog(Z),this.incompleteData=""}catch(Z){if(Z instanceof Error)console.error(["\u274C Malformed log received from child process","",Q,"",Z.message].join(`
@@ -107,7 +107,7 @@ Provided:
107
107
  ${Q}
108
108
 
109
109
  Cached:
110
- ${W}`)}let Z=y1.join(this.baseDir,`${$}/${X}.output.json`);return JSON.parse(G4.readFileSync(Z,"utf-8"))}async write($,X,Y,U){let G=y1.join(this.baseDir,$),z=y1.join(G,`${X}.input.json`),W=y1.join(G,`${X}.output.json`),Q=JSON.stringify(Y,null,"\t");if(!G4.existsSync(this.baseDir))G4.mkdirSync(this.baseDir,{recursive:!0});if(!G4.existsSync(G))G4.mkdirSync(G);if(G4.writeFileSync(z,Q),G4.existsSync(W))G4.unlinkSync(W);let Z=await U(...Y),H=JSON.stringify(Z,null,"\t");return G4.writeFileSync(W,H),Z}add($,X){let Y=`${this.rootName}${P4}${dY($)}`;return{flush:()=>{this.flush($)},for:(U)=>{if(this.mode!=="off"){if(this.filesTouched.set($,new Set),n$.storage.initialized&&!n$.storage.getItem(`list${P4}${Y}`))n$.storage.setItem(`list${P4}${Y}`,"true")}return{get:async(...G)=>{let z=U;if(this.mode!=="off"){let W=this.filenameCache.get(U);if(!W)W=dY(U),this.filenameCache.set(U,W);z=W,this.filesTouched.get($)?.add(z);let Q=`${Y}${P4}${z}`,Z=`file${P4}${Q}`;if(n$.storage.initialized&&!n$.storage.getItem(Z))n$.storage.setItem(Z,"true")}switch(this.mode){case"off":return X(...G);case"read":return this.read($,z,G);case"write":return this.write($,z,G,X);case"read-write":try{return this.read($,z,G)}catch(W){if(W instanceof Error)return this.write($,z,G,X);throw W}}}}}}}flush(...$){console.log(this.filesTouched);for(let[X,Y]of this.filesTouched.entries())if($.length===0||$.includes(X)){let U=y1.join(this.baseDir,X),G=G4.readdirSync(U);for(let z of G){let W=z.replace(".input.json","").replace(".output.json","");if(!Y.has(W))console.info(`\uD83E\uDDF9 Flushing ${W}`),G4.unlinkSync(y1.join(U,z))}}}};function z$($,X,Y,U,G){if(U==="m")throw TypeError("Private method is not writable");if(U==="a"&&!G)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!G:!X.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return U==="a"?G.call($,Y):G?G.value=Y:X.set($,Y),Y}function v($,X,Y,U){if(Y==="a"&&!U)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!U:!X.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?U:Y==="a"?U.call($):U?U.value:X.get($)}var tO=function(){let{crypto:$}=globalThis;if($?.randomUUID)return tO=$.randomUUID.bind($),$.randomUUID();let X=new Uint8Array(1),Y=$?()=>$.getRandomValues(X)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(U)=>(+U^Y()&15>>+U/4).toString(16))};function rY($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var iY=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let X=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)X.stack=$.stack;if($.cause&&!X.cause)X.cause=$.cause;if($.name)X.name=$.name;return X}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class $$ extends Error{}class R4 extends $${constructor($,X,Y,U){super(`${R4.makeMessage($,X,Y)}`);this.status=$,this.headers=U,this.requestID=U?.get("x-request-id"),this.error=X;let G=X;this.code=G?.code,this.param=G?.param,this.type=G?.type}static makeMessage($,X,Y){let U=X?.message?typeof X.message==="string"?X.message:JSON.stringify(X.message):X?JSON.stringify(X):Y;if($&&U)return`${$} ${U}`;if($)return`${$} status code (no body)`;if(U)return U;return"(no status code or body)"}static generate($,X,Y,U){if(!$||!U)return new HX({message:Y,cause:iY(X)});let G=X?.error;if($===400)return new oY($,G,Y,U);if($===401)return new nY($,G,Y,U);if($===403)return new tY($,G,Y,U);if($===404)return new aY($,G,Y,U);if($===409)return new sY($,G,Y,U);if($===422)return new eY($,G,Y,U);if($===429)return new $G($,G,Y,U);if($>=500)return new XG($,G,Y,U);return new R4($,G,Y,U)}}class I4 extends R4{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class HX extends R4{constructor({message:$,cause:X}){super(void 0,void 0,$||"Connection error.",void 0);if(X)this.cause=X}}class VX extends HX{constructor({message:$}={}){super({message:$??"Request timed out."})}}class oY extends R4{}class nY extends R4{}class tY extends R4{}class aY extends R4{}class sY extends R4{}class eY extends R4{}class $G extends R4{}class XG extends R4{}class YG extends $${constructor(){super("Could not parse response content as the length limit was reached")}}class GG extends $${constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class k0 extends Error{constructor($){super($)}}var oS=/^[a-z][a-z0-9+.-]*:/i,SJ=($)=>{return oS.test($)},Y6=($)=>(Y6=Array.isArray,Y6($)),aO=Y6;function sO($){if(typeof $!=="object")return{};return $??{}}function kJ($){if(!$)return!0;for(let X in $)return!1;return!0}function bJ($,X){return Object.prototype.hasOwnProperty.call($,X)}function UG($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var fJ=($,X)=>{if(typeof X!=="number"||!Number.isInteger(X))throw new $$(`${$} must be an integer`);if(X<0)throw new $$(`${$} must be a positive integer`);return X};var hJ=($)=>{try{return JSON.parse($)}catch(X){return}};var Y0=($)=>new Promise((X)=>setTimeout(X,$));var M2="6.3.0";var uJ=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function nS(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var tS=()=>{let $=nS();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":yJ(Deno.build.os),"X-Stainless-Arch":gJ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":yJ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":gJ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let X=aS();if(X)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${X.browser}`,"X-Stainless-Runtime-Version":X.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function aS(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:X,pattern:Y}of $){let U=Y.exec(navigator.userAgent);if(U){let G=U[1]||0,z=U[2]||0,W=U[3]||0;return{browser:X,version:`${G}.${z}.${W}`}}}return null}var gJ=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},yJ=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},mJ,cJ=()=>{return mJ??(mJ=tS())};function pJ(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function eO(...$){let X=globalThis.ReadableStream;if(typeof X>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new X(...$)}function X7($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return eO({start(){},async pull(Y){let{done:U,value:G}=await X.next();if(U)Y.close();else Y.enqueue(G)},async cancel(){await X.return?.()}})}function $w($){if($[Symbol.asyncIterator])return $;let X=$.getReader();return{async next(){try{let Y=await X.read();if(Y?.done)X.releaseLock();return Y}catch(Y){throw X.releaseLock(),Y}},async return(){let Y=X.cancel();return X.releaseLock(),await Y,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function dJ($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let X=$.getReader(),Y=X.cancel();X.releaseLock(),await Y}var lJ=({headers:$,body:X})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(X)}};var Y7="RFC3986",Xw=($)=>String($),G7={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:Xw},Yw="RFC1738";var U7=($,X)=>(U7=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),U7($,X)),G0=(()=>{let $=[];for(let X=0;X<256;++X)$.push("%"+((X<16?"0":"")+X.toString(16)).toUpperCase());return $})();var Gw=1024,rJ=($,X,Y,U,G)=>{if($.length===0)return $;let z=$;if(typeof $==="symbol")z=Symbol.prototype.toString.call($);else if(typeof $!=="string")z=String($);if(Y==="iso-8859-1")return escape(z).replace(/%u[0-9a-f]{4}/gi,function(Q){return"%26%23"+parseInt(Q.slice(2),16)+"%3B"});let W="";for(let Q=0;Q<z.length;Q+=Gw){let Z=z.length>=Gw?z.slice(Q,Q+Gw):z,H=[];for(let V=0;V<Z.length;++V){let O=Z.charCodeAt(V);if(O===45||O===46||O===95||O===126||O>=48&&O<=57||O>=65&&O<=90||O>=97&&O<=122||G===Yw&&(O===40||O===41)){H[H.length]=Z.charAt(V);continue}if(O<128){H[H.length]=G0[O];continue}if(O<2048){H[H.length]=G0[192|O>>6]+G0[128|O&63];continue}if(O<55296||O>=57344){H[H.length]=G0[224|O>>12]+G0[128|O>>6&63]+G0[128|O&63];continue}V+=1,O=65536+((O&1023)<<10|Z.charCodeAt(V)&1023),H[H.length]=G0[240|O>>18]+G0[128|O>>12&63]+G0[128|O>>6&63]+G0[128|O&63]}W+=H.join("")}return W};function iJ($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function Uw($,X){if(Y6($)){let Y=[];for(let U=0;U<$.length;U+=1)Y.push(X($[U]));return Y}return X($)}var nJ={brackets($){return String($)+"[]"},comma:"comma",indices($,X){return String($)+"["+X+"]"},repeat($){return String($)}},tJ=function($,X){Array.prototype.push.apply($,Y6(X)?X:[X])},oJ,x4={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:rJ,encodeValuesOnly:!1,format:Y7,formatter:Xw,indices:!1,serializeDate($){return(oJ??(oJ=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function $k($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var zw={};function aJ($,X,Y,U,G,z,W,Q,Z,H,V,O,w,D,E,F,J,A){let L=$,q=A,B=0,I=!1;while((q=q.get(zw))!==void 0&&!I){let x=q.get($);if(B+=1,typeof x<"u")if(x===B)throw RangeError("Cyclic object value");else I=!0;if(typeof q.get(zw)>"u")B=0}if(typeof H==="function")L=H(X,L);else if(L instanceof Date)L=w?.(L);else if(Y==="comma"&&Y6(L))L=Uw(L,function(x){if(x instanceof Date)return w?.(x);return x});if(L===null){if(z)return Z&&!F?Z(X,x4.encoder,J,"key",D):X;L=""}if($k(L)||iJ(L)){if(Z){let x=F?X:Z(X,x4.encoder,J,"key",D);return[E?.(x)+"="+E?.(Z(L,x4.encoder,J,"value",D))]}return[E?.(X)+"="+E?.(String(L))]}let h=[];if(typeof L>"u")return h;let y;if(Y==="comma"&&Y6(L)){if(F&&Z)L=Uw(L,Z);y=[{value:L.length>0?L.join(",")||null:void 0}]}else if(Y6(H))y=H;else{let x=Object.keys(L);y=V?x.sort(V):x}let r=Q?String(X).replace(/\./g,"%2E"):String(X),H$=U&&Y6(L)&&L.length===1?r+"[]":r;if(G&&Y6(L)&&L.length===0)return H$+"[]";for(let x=0;x<y.length;++x){let W$=y[x],s=typeof W$==="object"&&typeof W$.value<"u"?W$.value:L[W$];if(W&&s===null)continue;let V$=O&&Q?W$.replace(/\./g,"%2E"):W$,S$=Y6(L)?typeof Y==="function"?Y(H$,V$):H$:H$+(O?"."+V$:"["+V$+"]");A.set($,B);let $4=new WeakMap;$4.set(zw,A),tJ(h,aJ(s,S$,Y,U,G,z,W,Q,Y==="comma"&&F&&Y6(L)?null:Z,H,V,O,w,D,E,F,J,$4))}return h}function Xk($=x4){if(typeof $.allowEmptyArrays<"u"&&typeof $.allowEmptyArrays!=="boolean")throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof $.encodeDotInKeys<"u"&&typeof $.encodeDotInKeys!=="boolean")throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if($.encoder!==null&&typeof $.encoder<"u"&&typeof $.encoder!=="function")throw TypeError("Encoder has to be a function.");let X=$.charset||x4.charset;if(typeof $.charset<"u"&&$.charset!=="utf-8"&&$.charset!=="iso-8859-1")throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let Y=Y7;if(typeof $.format<"u"){if(!U7(G7,$.format))throw TypeError("Unknown format option provided.");Y=$.format}let U=G7[Y],G=x4.filter;if(typeof $.filter==="function"||Y6($.filter))G=$.filter;let z;if($.arrayFormat&&$.arrayFormat in nJ)z=$.arrayFormat;else if("indices"in $)z=$.indices?"indices":"repeat";else z=x4.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let W=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:x4.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:x4.addQueryPrefix,allowDots:W,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:x4.allowEmptyArrays,arrayFormat:z,charset:X,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:x4.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?x4.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:x4.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:x4.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:x4.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:x4.encodeValuesOnly,filter:G,format:Y,formatter:U,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:x4.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:x4.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:x4.strictNullHandling}}function Ww($,X={}){let Y=$,U=Xk(X),G,z;if(typeof U.filter==="function")z=U.filter,Y=z("",Y);else if(Y6(U.filter))z=U.filter,G=z;let W=[];if(typeof Y!=="object"||Y===null)return"";let Q=nJ[U.arrayFormat],Z=Q==="comma"&&U.commaRoundTrip;if(!G)G=Object.keys(Y);if(U.sort)G.sort(U.sort);let H=new WeakMap;for(let w=0;w<G.length;++w){let D=G[w];if(U.skipNulls&&Y[D]===null)continue;tJ(W,aJ(Y[D],D,Q,Z,U.allowEmptyArrays,U.strictNullHandling,U.skipNulls,U.encodeDotInKeys,U.encode?U.encoder:null,U.filter,U.sort,U.allowDots,U.serializeDate,U.format,U.formatter,U.encodeValuesOnly,U.charset,H))}let V=W.join(U.delimiter),O=U.addQueryPrefix===!0?"?":"";if(U.charsetSentinel)if(U.charset==="iso-8859-1")O+="utf8=%26%2310003%3B&";else O+="utf8=%E2%9C%93&";return V.length>0?O+V:""}function $A($){let X=0;for(let G of $)X+=G.length;let Y=new Uint8Array(X),U=0;for(let G of $)Y.set(G,U),U+=G.length;return Y}var sJ;function _8($){let X;return(sJ??(X=new globalThis.TextEncoder,sJ=X.encode.bind(X)))($)}var eJ;function Qw($){let X;return(eJ??(X=new globalThis.TextDecoder,eJ=X.decode.bind(X)))($)}var U1,z1;class q8{constructor(){U1.set(this,void 0),z1.set(this,void 0),z$(this,U1,new Uint8Array,"f"),z$(this,z1,null,"f")}decode($){if($==null)return[];let X=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?_8($):$;z$(this,U1,$A([v(this,U1,"f"),X]),"f");let Y=[],U;while((U=Gk(v(this,U1,"f"),v(this,z1,"f")))!=null){if(U.carriage&&v(this,z1,"f")==null){z$(this,z1,U.index,"f");continue}if(v(this,z1,"f")!=null&&(U.index!==v(this,z1,"f")+1||U.carriage)){Y.push(Qw(v(this,U1,"f").subarray(0,v(this,z1,"f")-1))),z$(this,U1,v(this,U1,"f").subarray(v(this,z1,"f")),"f"),z$(this,z1,null,"f");continue}let G=v(this,z1,"f")!==null?U.preceding-1:U.preceding,z=Qw(v(this,U1,"f").subarray(0,G));Y.push(z),z$(this,U1,v(this,U1,"f").subarray(U.index),"f"),z$(this,z1,null,"f")}return Y}flush(){if(!v(this,U1,"f").length)return[];return this.decode(`
110
+ ${W}`)}let Z=y1.join(this.baseDir,`${$}/${X}.output.json`);return JSON.parse(G4.readFileSync(Z,"utf-8"))}async write($,X,Y,U){let G=y1.join(this.baseDir,$),z=y1.join(G,`${X}.input.json`),W=y1.join(G,`${X}.output.json`),Q=JSON.stringify(Y,null,"\t");if(!G4.existsSync(this.baseDir))G4.mkdirSync(this.baseDir,{recursive:!0});if(!G4.existsSync(G))G4.mkdirSync(G);if(G4.writeFileSync(z,Q),G4.existsSync(W))G4.unlinkSync(W);let Z=await U(...Y),H=JSON.stringify(Z,null,"\t");return G4.writeFileSync(W,H),Z}add($,X){let Y=`${this.rootName}${P4}${dY($)}`;return{flush:()=>{this.flush($)},for:(U)=>{if(this.mode!=="off"){if(this.filesTouched.set($,new Set),n$.storage.initialized&&!n$.storage.getItem(`list${P4}${Y}`))n$.storage.setItem(`list${P4}${Y}`,"true")}return{get:async(...G)=>{let z=U;if(this.mode!=="off"){let W=this.filenameCache.get(U);if(!W)W=dY(U),this.filenameCache.set(U,W);z=W,this.filesTouched.get($)?.add(z);let Q=`${Y}${P4}${z}`,Z=`file${P4}${Q}`;if(n$.storage.initialized&&!n$.storage.getItem(Z))n$.storage.setItem(Z,"true")}switch(this.mode){case"off":return X(...G);case"read":return this.read($,z,G);case"write":return this.write($,z,G,X);case"read-write":try{return this.read($,z,G)}catch(W){if(W instanceof Error)return this.write($,z,G,X);throw W}}}}}}}flush(...$){console.log(this.filesTouched);for(let[X,Y]of this.filesTouched.entries())if($.length===0||$.includes(X)){let U=y1.join(this.baseDir,X),G=G4.readdirSync(U);for(let z of G){let W=z.replace(".input.json","").replace(".output.json","");if(!Y.has(W))console.info(`\uD83E\uDDF9 Flushing ${W}`),G4.unlinkSync(y1.join(U,z))}}}};function z$($,X,Y,U,G){if(U==="m")throw TypeError("Private method is not writable");if(U==="a"&&!G)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!G:!X.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return U==="a"?G.call($,Y):G?G.value=Y:X.set($,Y),Y}function v($,X,Y,U){if(Y==="a"&&!U)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!U:!X.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?U:Y==="a"?U.call($):U?U.value:X.get($)}var tO=function(){let{crypto:$}=globalThis;if($?.randomUUID)return tO=$.randomUUID.bind($),$.randomUUID();let X=new Uint8Array(1),Y=$?()=>$.getRandomValues(X)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(U)=>(+U^Y()&15>>+U/4).toString(16))};function rY($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var iY=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let X=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)X.stack=$.stack;if($.cause&&!X.cause)X.cause=$.cause;if($.name)X.name=$.name;return X}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class $$ extends Error{}class R4 extends $${constructor($,X,Y,U){super(`${R4.makeMessage($,X,Y)}`);this.status=$,this.headers=U,this.requestID=U?.get("x-request-id"),this.error=X;let G=X;this.code=G?.code,this.param=G?.param,this.type=G?.type}static makeMessage($,X,Y){let U=X?.message?typeof X.message==="string"?X.message:JSON.stringify(X.message):X?JSON.stringify(X):Y;if($&&U)return`${$} ${U}`;if($)return`${$} status code (no body)`;if(U)return U;return"(no status code or body)"}static generate($,X,Y,U){if(!$||!U)return new HX({message:Y,cause:iY(X)});let G=X?.error;if($===400)return new oY($,G,Y,U);if($===401)return new nY($,G,Y,U);if($===403)return new tY($,G,Y,U);if($===404)return new aY($,G,Y,U);if($===409)return new sY($,G,Y,U);if($===422)return new eY($,G,Y,U);if($===429)return new $G($,G,Y,U);if($>=500)return new XG($,G,Y,U);return new R4($,G,Y,U)}}class I4 extends R4{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class HX extends R4{constructor({message:$,cause:X}){super(void 0,void 0,$||"Connection error.",void 0);if(X)this.cause=X}}class VX extends HX{constructor({message:$}={}){super({message:$??"Request timed out."})}}class oY extends R4{}class nY extends R4{}class tY extends R4{}class aY extends R4{}class sY extends R4{}class eY extends R4{}class $G extends R4{}class XG extends R4{}class YG extends $${constructor(){super("Could not parse response content as the length limit was reached")}}class GG extends $${constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class k0 extends Error{constructor($){super($)}}var oS=/^[a-z][a-z0-9+.-]*:/i,SJ=($)=>{return oS.test($)},Y6=($)=>(Y6=Array.isArray,Y6($)),aO=Y6;function sO($){if(typeof $!=="object")return{};return $??{}}function kJ($){if(!$)return!0;for(let X in $)return!1;return!0}function bJ($,X){return Object.prototype.hasOwnProperty.call($,X)}function UG($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var fJ=($,X)=>{if(typeof X!=="number"||!Number.isInteger(X))throw new $$(`${$} must be an integer`);if(X<0)throw new $$(`${$} must be a positive integer`);return X};var hJ=($)=>{try{return JSON.parse($)}catch(X){return}};var Y0=($)=>new Promise((X)=>setTimeout(X,$));var M2="6.4.0";var uJ=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function nS(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var tS=()=>{let $=nS();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":yJ(Deno.build.os),"X-Stainless-Arch":gJ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":yJ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":gJ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let X=aS();if(X)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${X.browser}`,"X-Stainless-Runtime-Version":X.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":M2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function aS(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:X,pattern:Y}of $){let U=Y.exec(navigator.userAgent);if(U){let G=U[1]||0,z=U[2]||0,W=U[3]||0;return{browser:X,version:`${G}.${z}.${W}`}}}return null}var gJ=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},yJ=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},mJ,cJ=()=>{return mJ??(mJ=tS())};function pJ(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function eO(...$){let X=globalThis.ReadableStream;if(typeof X>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new X(...$)}function X7($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return eO({start(){},async pull(Y){let{done:U,value:G}=await X.next();if(U)Y.close();else Y.enqueue(G)},async cancel(){await X.return?.()}})}function $w($){if($[Symbol.asyncIterator])return $;let X=$.getReader();return{async next(){try{let Y=await X.read();if(Y?.done)X.releaseLock();return Y}catch(Y){throw X.releaseLock(),Y}},async return(){let Y=X.cancel();return X.releaseLock(),await Y,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function dJ($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let X=$.getReader(),Y=X.cancel();X.releaseLock(),await Y}var lJ=({headers:$,body:X})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(X)}};var Y7="RFC3986",Xw=($)=>String($),G7={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:Xw},Yw="RFC1738";var U7=($,X)=>(U7=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),U7($,X)),G0=(()=>{let $=[];for(let X=0;X<256;++X)$.push("%"+((X<16?"0":"")+X.toString(16)).toUpperCase());return $})();var Gw=1024,rJ=($,X,Y,U,G)=>{if($.length===0)return $;let z=$;if(typeof $==="symbol")z=Symbol.prototype.toString.call($);else if(typeof $!=="string")z=String($);if(Y==="iso-8859-1")return escape(z).replace(/%u[0-9a-f]{4}/gi,function(Q){return"%26%23"+parseInt(Q.slice(2),16)+"%3B"});let W="";for(let Q=0;Q<z.length;Q+=Gw){let Z=z.length>=Gw?z.slice(Q,Q+Gw):z,H=[];for(let V=0;V<Z.length;++V){let O=Z.charCodeAt(V);if(O===45||O===46||O===95||O===126||O>=48&&O<=57||O>=65&&O<=90||O>=97&&O<=122||G===Yw&&(O===40||O===41)){H[H.length]=Z.charAt(V);continue}if(O<128){H[H.length]=G0[O];continue}if(O<2048){H[H.length]=G0[192|O>>6]+G0[128|O&63];continue}if(O<55296||O>=57344){H[H.length]=G0[224|O>>12]+G0[128|O>>6&63]+G0[128|O&63];continue}V+=1,O=65536+((O&1023)<<10|Z.charCodeAt(V)&1023),H[H.length]=G0[240|O>>18]+G0[128|O>>12&63]+G0[128|O>>6&63]+G0[128|O&63]}W+=H.join("")}return W};function iJ($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function Uw($,X){if(Y6($)){let Y=[];for(let U=0;U<$.length;U+=1)Y.push(X($[U]));return Y}return X($)}var nJ={brackets($){return String($)+"[]"},comma:"comma",indices($,X){return String($)+"["+X+"]"},repeat($){return String($)}},tJ=function($,X){Array.prototype.push.apply($,Y6(X)?X:[X])},oJ,x4={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:rJ,encodeValuesOnly:!1,format:Y7,formatter:Xw,indices:!1,serializeDate($){return(oJ??(oJ=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function $k($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var zw={};function aJ($,X,Y,U,G,z,W,Q,Z,H,V,O,w,D,E,F,J,A){let L=$,q=A,B=0,I=!1;while((q=q.get(zw))!==void 0&&!I){let x=q.get($);if(B+=1,typeof x<"u")if(x===B)throw RangeError("Cyclic object value");else I=!0;if(typeof q.get(zw)>"u")B=0}if(typeof H==="function")L=H(X,L);else if(L instanceof Date)L=w?.(L);else if(Y==="comma"&&Y6(L))L=Uw(L,function(x){if(x instanceof Date)return w?.(x);return x});if(L===null){if(z)return Z&&!F?Z(X,x4.encoder,J,"key",D):X;L=""}if($k(L)||iJ(L)){if(Z){let x=F?X:Z(X,x4.encoder,J,"key",D);return[E?.(x)+"="+E?.(Z(L,x4.encoder,J,"value",D))]}return[E?.(X)+"="+E?.(String(L))]}let h=[];if(typeof L>"u")return h;let y;if(Y==="comma"&&Y6(L)){if(F&&Z)L=Uw(L,Z);y=[{value:L.length>0?L.join(",")||null:void 0}]}else if(Y6(H))y=H;else{let x=Object.keys(L);y=V?x.sort(V):x}let r=Q?String(X).replace(/\./g,"%2E"):String(X),H$=U&&Y6(L)&&L.length===1?r+"[]":r;if(G&&Y6(L)&&L.length===0)return H$+"[]";for(let x=0;x<y.length;++x){let W$=y[x],s=typeof W$==="object"&&typeof W$.value<"u"?W$.value:L[W$];if(W&&s===null)continue;let V$=O&&Q?W$.replace(/\./g,"%2E"):W$,S$=Y6(L)?typeof Y==="function"?Y(H$,V$):H$:H$+(O?"."+V$:"["+V$+"]");A.set($,B);let $4=new WeakMap;$4.set(zw,A),tJ(h,aJ(s,S$,Y,U,G,z,W,Q,Y==="comma"&&F&&Y6(L)?null:Z,H,V,O,w,D,E,F,J,$4))}return h}function Xk($=x4){if(typeof $.allowEmptyArrays<"u"&&typeof $.allowEmptyArrays!=="boolean")throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof $.encodeDotInKeys<"u"&&typeof $.encodeDotInKeys!=="boolean")throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if($.encoder!==null&&typeof $.encoder<"u"&&typeof $.encoder!=="function")throw TypeError("Encoder has to be a function.");let X=$.charset||x4.charset;if(typeof $.charset<"u"&&$.charset!=="utf-8"&&$.charset!=="iso-8859-1")throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let Y=Y7;if(typeof $.format<"u"){if(!U7(G7,$.format))throw TypeError("Unknown format option provided.");Y=$.format}let U=G7[Y],G=x4.filter;if(typeof $.filter==="function"||Y6($.filter))G=$.filter;let z;if($.arrayFormat&&$.arrayFormat in nJ)z=$.arrayFormat;else if("indices"in $)z=$.indices?"indices":"repeat";else z=x4.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let W=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:x4.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:x4.addQueryPrefix,allowDots:W,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:x4.allowEmptyArrays,arrayFormat:z,charset:X,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:x4.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?x4.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:x4.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:x4.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:x4.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:x4.encodeValuesOnly,filter:G,format:Y,formatter:U,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:x4.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:x4.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:x4.strictNullHandling}}function Ww($,X={}){let Y=$,U=Xk(X),G,z;if(typeof U.filter==="function")z=U.filter,Y=z("",Y);else if(Y6(U.filter))z=U.filter,G=z;let W=[];if(typeof Y!=="object"||Y===null)return"";let Q=nJ[U.arrayFormat],Z=Q==="comma"&&U.commaRoundTrip;if(!G)G=Object.keys(Y);if(U.sort)G.sort(U.sort);let H=new WeakMap;for(let w=0;w<G.length;++w){let D=G[w];if(U.skipNulls&&Y[D]===null)continue;tJ(W,aJ(Y[D],D,Q,Z,U.allowEmptyArrays,U.strictNullHandling,U.skipNulls,U.encodeDotInKeys,U.encode?U.encoder:null,U.filter,U.sort,U.allowDots,U.serializeDate,U.format,U.formatter,U.encodeValuesOnly,U.charset,H))}let V=W.join(U.delimiter),O=U.addQueryPrefix===!0?"?":"";if(U.charsetSentinel)if(U.charset==="iso-8859-1")O+="utf8=%26%2310003%3B&";else O+="utf8=%E2%9C%93&";return V.length>0?O+V:""}function $A($){let X=0;for(let G of $)X+=G.length;let Y=new Uint8Array(X),U=0;for(let G of $)Y.set(G,U),U+=G.length;return Y}var sJ;function _8($){let X;return(sJ??(X=new globalThis.TextEncoder,sJ=X.encode.bind(X)))($)}var eJ;function Qw($){let X;return(eJ??(X=new globalThis.TextDecoder,eJ=X.decode.bind(X)))($)}var U1,z1;class q8{constructor(){U1.set(this,void 0),z1.set(this,void 0),z$(this,U1,new Uint8Array,"f"),z$(this,z1,null,"f")}decode($){if($==null)return[];let X=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?_8($):$;z$(this,U1,$A([v(this,U1,"f"),X]),"f");let Y=[],U;while((U=Gk(v(this,U1,"f"),v(this,z1,"f")))!=null){if(U.carriage&&v(this,z1,"f")==null){z$(this,z1,U.index,"f");continue}if(v(this,z1,"f")!=null&&(U.index!==v(this,z1,"f")+1||U.carriage)){Y.push(Qw(v(this,U1,"f").subarray(0,v(this,z1,"f")-1))),z$(this,U1,v(this,U1,"f").subarray(v(this,z1,"f")),"f"),z$(this,z1,null,"f");continue}let G=v(this,z1,"f")!==null?U.preceding-1:U.preceding,z=Qw(v(this,U1,"f").subarray(0,G));Y.push(z),z$(this,U1,v(this,U1,"f").subarray(U.index),"f"),z$(this,z1,null,"f")}return Y}flush(){if(!v(this,U1,"f").length)return[];return this.decode(`
111
111
  `)}}U1=new WeakMap,z1=new WeakMap;q8.NEWLINE_CHARS=new Set([`
112
112
  `,"\r"]);q8.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Gk($,X){for(let G=X??0;G<$.length;G++){if($[G]===10)return{preceding:G,index:G+1,carriage:!1};if($[G]===13)return{preceding:G,index:G+1,carriage:!0}}return null}function XA($){for(let U=0;U<$.length-1;U++){if($[U]===10&&$[U+1]===10)return U+2;if($[U]===13&&$[U+1]===13)return U+2;if($[U]===13&&$[U+1]===10&&U+3<$.length&&$[U+2]===13&&$[U+3]===10)return U+4}return-1}var W7={off:0,error:200,warn:300,info:400,debug:500},Zw=($,X,Y)=>{if(!$)return;if(bJ(W7,$))return $;A4(Y).warn(`${X} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(W7))}`);return};function zG(){}function z7($,X,Y){if(!X||W7[$]>W7[Y])return zG;else return X[$].bind(X)}var Uk={error:zG,warn:zG,info:zG,debug:zG},YA=new WeakMap;function A4($){let X=$.logger,Y=$.logLevel??"off";if(!X)return Uk;let U=YA.get(X);if(U&&U[0]===Y)return U[1];let G={error:z7("error",X,Y),warn:z7("warn",X,Y),info:z7("info",X,Y),debug:z7("debug",X,Y)};return YA.set(X,[Y,G]),G}var b0=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([X,Y])=>[X,X.toLowerCase()==="authorization"||X.toLowerCase()==="cookie"||X.toLowerCase()==="set-cookie"?"***":Y]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var WG;class W1{constructor($,X,Y){this.iterator=$,WG.set(this,void 0),this.controller=X,z$(this,WG,Y,"f")}static fromSSEResponse($,X,Y){let U=!1,G=Y?A4(Y):console;async function*z(){if(U)throw new $$("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");U=!0;let W=!1;try{for await(let Q of zk($,X)){if(W)continue;if(Q.data.startsWith("[DONE]")){W=!0;continue}if(Q.event===null||!Q.event.startsWith("thread.")){let Z;try{Z=JSON.parse(Q.data)}catch(H){throw G.error("Could not parse message into JSON:",Q.data),G.error("From chunk:",Q.raw),H}if(Z&&Z.error)throw new R4(void 0,Z.error,void 0,$.headers);yield Z}else{let Z;try{Z=JSON.parse(Q.data)}catch(H){throw console.error("Could not parse message into JSON:",Q.data),console.error("From chunk:",Q.raw),H}if(Q.event=="error")throw new R4(void 0,Z.error,Z.message,void 0);yield{event:Q.event,data:Z}}}W=!0}catch(Q){if(rY(Q))return;throw Q}finally{if(!W)X.abort()}}return new W1(z,X,Y)}static fromReadableStream($,X,Y){let U=!1;async function*G(){let W=new q8,Q=$w($);for await(let Z of Q)for(let H of W.decode(Z))yield H;for(let Z of W.flush())yield Z}async function*z(){if(U)throw new $$("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");U=!0;let W=!1;try{for await(let Q of G()){if(W)continue;if(Q)yield JSON.parse(Q)}W=!0}catch(Q){if(rY(Q))return;throw Q}finally{if(!W)X.abort()}}return new W1(z,X,Y)}[(WG=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],X=[],Y=this.iterator(),U=(G)=>{return{next:()=>{if(G.length===0){let z=Y.next();$.push(z),X.push(z)}return G.shift()}}};return[new W1(()=>U($),this.controller,v(this,WG,"f")),new W1(()=>U(X),this.controller,v(this,WG,"f"))]}toReadableStream(){let $=this,X;return eO({async start(){X=$[Symbol.asyncIterator]()},async pull(Y){try{let{value:U,done:G}=await X.next();if(G)return Y.close();let z=_8(JSON.stringify(U)+`
113
113
  `);Y.enqueue(z)}catch(U){Y.error(U)}},async cancel(){await X.return?.()}})}}async function*zk($,X){if(!$.body){if(X.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new $$("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new $$("Attempted to iterate over a response with no body")}let Y=new GA,U=new q8,G=$w($.body);for await(let z of Wk(G))for(let W of U.decode(z)){let Q=Y.decode(W);if(Q)yield Q}for(let z of U.flush()){let W=Y.decode(z);if(W)yield W}}async function*Wk($){let X=new Uint8Array;for await(let Y of $){if(Y==null)continue;let U=Y instanceof ArrayBuffer?new Uint8Array(Y):typeof Y==="string"?_8(Y):Y,G=new Uint8Array(X.length+U.length);G.set(X),G.set(U,X.length),X=G;let z;while((z=XA(X))!==-1)yield X.slice(0,z),X=X.slice(z)}if(X.length>0)yield X}class GA{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let G={event:this.event,data:this.data.join(`
@@ -56,7 +56,7 @@ ${O.trace}`:`No previous disposal trace for ${Z} was found.`);return}_.subject.n
56
56
  ${G} was most recently disposed
57
57
  ${F.trace}`:`No previous disposal trace for ${G} was found.`),Z}let H=j0(Y),Q=W.molecules.get(H);if(!Q){let F=X.disposalTraces.buffer.find((O)=>O?.key===H);return X.logger.error("\u274C","key",Z,"claim failed:",`Could not allocate to ${H} in store "${X.config.name}".`,F?`
58
58
  ${H} was most recently disposed
59
- ${F.trace}`:`No previous disposal trace for ${H} was found.`),Z}let J=X.moleculeGraph.getRelationEntries({downstreamMoleculeKey:$.stringKey}).filter(([,{source:F}])=>F!==G).map(([F])=>X1(F));if(_)W.moleculeGraph.delete(G);W.moleculeGraph.set({upstreamMoleculeKey:Q.stringKey,downstreamMoleculeKey:$.stringKey},{source:Q.stringKey});let z={type:"molecule_transfer",key:$.key,exclusive:Boolean(_),from:J,to:[Q.key],timestamp:Date.now()};if(F1(W)&&W.transactionMeta.phase==="building")W.transactionMeta.update.subEvents.push(z);return Z}function ZU(X,Y,Z){switch(Z){case"newValue":X7(X,Y);break;case"oldValue":W2(X,Y.token);break}}function _U(X,Y,Z){switch(Z){case"newValue":W2(X,Y.token);break;case"oldValue":if(X7(X,Y),Y.subType==="atom")X.valueMap.set(Y.token.key,Y.value);break}}function X7(X,Y){let{token:Z}=Y;if(Y.subType==="writable"&&Y.value)b1(X,Z,Y.value);else k1(X,Z)}function GU(X,Y,Z){switch(Z){case"newValue":yY(X,Y.provenance,Y.key);break;case"oldValue":eY(X,Y.key);break}}function WU(X,Y,Z){switch(Z){case"newValue":eY(X,Y.key);break;case"oldValue":yY(X,Y.provenance.map(X1),Y.key);for(let[_,G]of Y.values){let W=X.families.get(_);if(W){k1(X,W,Y.key);let $=`${_}(${j0(Y.key)})`;X.valueMap.set($,G)}}break}}function $U(X,Y,Z){switch(Z){case"newValue":for(let _ of Y.to)gY(X,_,Y.key,Y.exclusive?"exclusive":void 0);break;case"oldValue":{let _="exclusive";for(let G of Y.from)gY(X,G,Y.key,_),_=void 0}break}}function Y7(X,Y,Z){let _=Z==="newValue"?Y.subEvents:[...Y.subEvents].reverse();for(let G of _)switch(G.type){case"atom_update":XU(X,G,Z);break;case"state_creation":ZU(X,G,Z);break;case"state_disposal":_U(X,G,Z);break;case"molecule_creation":GU(X,G,Z);break;case"molecule_disposal":WU(X,G,Z);break;case"molecule_transfer":$U(X,G,Z);break;case"transaction_outcome":Y7(X,G,Z);break}}function V8(X){return"epoch"in X.transactionMeta}function F1(X){return"phase"in X.transactionMeta}function Z7(X,Y){return X.transactionMeta.actionContinuities.getRelatedKey(Y)}function HU(X,Y){return X.transactionMeta.epoch.get(Y)}function JU(X,Y){let Z=Z7(X,Y);if(Z===void 0)return;return HU(X,Z)}function QU(X,Y,Z){let _=Z7(X,Y);if(_!==void 0)X.transactionMeta.epoch.set(_,Z)}function zU(X,Y){let Z=t(X),{parent:_}=Z;Z.transactionMeta.phase="applying",Z.transactionMeta.update.output=Y,_.child=null,_.on.transactionApplying.next(Z.transactionMeta);let{subEvents:G}=Z.transactionMeta.update;if(X.logger.info("\uD83D\uDEC4","transaction",Z.transactionMeta.update.token.key,`applying ${G.length} subEvents:`,G),Y7(_,Z.transactionMeta.update,"newValue"),V8(_))QU(_,Z.transactionMeta.update.token.key,Z.transactionMeta.update.epoch),B0(X,{key:Z.transactionMeta.update.token.key,type:"transaction"})?.subject.next(Z.transactionMeta.update),X.logger.info("\uD83D\uDEEC","transaction",Z.transactionMeta.update.token.key,"applied");else if(F1(_))_.transactionMeta.update.subEvents.push(Z.transactionMeta.update);_.on.transactionApplying.next(null)}function FU(X){return{store:X}}var UU=(X,Y,Z,_)=>{let G=t(X),W={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new y1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new y1(G.families),joins:new y1(G.joins),operation:{open:!1},readonlySelectors:new y1(G.readonlySelectors),timelines:new y1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new y1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new y1(G.writableSelectors),valueMap:new y1(G.valueMap),defaults:G.defaults,disposalTraces:X.disposalTraces.copy(),molecules:new y1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),keyRefsInJoins:G.keyRefsInJoins.overlay(),miscResources:new y1(G.miscResources)},$=JU(X,Y.key),H={phase:"building",update:{type:"transaction_outcome",token:Y,id:_,epoch:$===void 0?NaN:$+1,timestamp:Date.now(),subEvents:[],params:Z,output:void 0},toolkit:{get:(...J)=>k1(Q,...J),set:(...J)=>{b1(Q,...J)},reset:(...J)=>{R6(Q,...J)},run:(J,z=gG())=>bY(Q,J,z),find:(...J)=>e0(X,...J),json:(J)=>k4(Q,J),dispose:(...J)=>{W2(Q,...J)},env:()=>FU(Q)}},Q=Object.assign(W,{transactionMeta:H});return G.child=Q,X.logger.info("\uD83D\uDEEB","transaction",Y.key,"building with params:",Z),Q};function pY(X,Y){let{key:Z}=Y,_=X.transactions.has(Z),G={key:Z,type:"transaction",run:($,H)=>{let Q=UU(X,g1(G),$,H);try{let{toolkit:J}=Q.transactionMeta,z=Y.do(J,...$);return zU(Q,z),z}catch(J){throw eF(Q),X.logger.warn("\uD83D\uDCA5","transaction",Z,"caught:",J),J}},install:($)=>pY($,Y),subject:new Y0};t(X).transactions.set(Z,G);let W=g1(G);if(!_)X.on.transactionCreation.next(W);return W}var pG=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new $4({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new $4({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new $4({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new $4({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new tF(100);molecules=new Map;moleculeGraph=new $4({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});moleculeData=new $4({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});keyRefsInJoins=new $4({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});miscResources=new Map;on={atomCreation:new Y0,atomDisposal:new Y0,selectorCreation:new Y0,selectorDisposal:new Y0,timelineCreation:new Y0,transactionCreation:new Y0,transactionApplying:new sF(null),operationClose:new Y0,moleculeCreation:new Y0,moleculeDisposal:new Y0};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new bG("warn",(X,Y,Z)=>!D8(Z))];logger={error:(...X)=>{for(let Y of this.loggers)Y.error(...X)},info:(...X)=>{for(let Y of this.loggers)Y.info(...X)},warn:(...X)=>{for(let Y of this.loggers)Y.warn(...X)}};constructor(X,Y=null){if(this.config={...Y?.config,...X},Y!==null){if(this.operation={...Y?.operation},V8(Y))this.transactionMeta={epoch:new Map(Y?.transactionMeta.epoch),actionContinuities:new $4(Y?.transactionMeta.actionContinuities.toJSON())};for(let[,_]of Y.families){if(_.internalRoles?.includes("mutable")||_.internalRoles?.includes("join"))continue;_.install(this)}let Z=new Set;for(let[,_]of Y.atoms){if(Z.has(_.key))continue;if(_.install(this),_.type==="mutable_atom"){let G=k4(Y,_),W=N6(_);Z.add(G.key),Z.add(W.key)}}for(let[,_]of Y.readonlySelectors)_.install(this);for(let[,_]of Y.writableSelectors){if(Z.has(_.key))continue;_.install(this)}for(let[,_]of Y.transactions)_.install(this);for(let[,_]of Y.timelines)_.install(this)}}},L1={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new pG({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var EU=class extends Error{constructor(X,Y){super(`${G4[X.type]} ${j0(X.key)} not found in store "${Y.config.name}".`)}};function B0(X,Y){let Z,_=X;while(_!==null){switch(Y.type){case"atom":case"mutable_atom":Z=_.atoms.get(Y.key);break;case"writable_pure_selector":case"writable_held_selector":Z=_.writableSelectors.get(Y.key);break;case"readonly_pure_selector":case"readonly_held_selector":Z=_.readonlySelectors.get(Y.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":Z=_.families.get(Y.key);break;case"timeline":Z=_.timelines.get(Y.key);break;case"transaction":Z=_.transactions.get(Y.key);break}if(Z)return Z;_=_.child}throw new EU(Y,X)}function _7(X,Y,Z,_){let G=X.disposalTraces.buffer.find((W)=>W?.key===j0(_));switch(X.logger.error("\u274C",Y.type,Y.key,"gets a fallback value because key",_,"is not allocated",G?`This key was previously disposed:
59
+ ${F.trace}`:`No previous disposal trace for ${H} was found.`),Z}let J=X.moleculeGraph.getRelationEntries({downstreamMoleculeKey:$.stringKey}).filter(([,{source:F}])=>F!==G).map(([F])=>X1(F));if(_)W.moleculeGraph.delete(G);W.moleculeGraph.set({upstreamMoleculeKey:Q.stringKey,downstreamMoleculeKey:$.stringKey},{source:Q.stringKey});let z={type:"molecule_transfer",key:$.key,exclusive:Boolean(_),from:J,to:[Q.key],timestamp:Date.now()};if(F1(W)&&W.transactionMeta.phase==="building")W.transactionMeta.update.subEvents.push(z);return Z}function ZU(X,Y,Z){switch(Z){case"newValue":X7(X,Y);break;case"oldValue":W2(X,Y.token);break}}function _U(X,Y,Z){switch(Z){case"newValue":W2(X,Y.token);break;case"oldValue":if(X7(X,Y),Y.subType==="atom")X.valueMap.set(Y.token.key,Y.value);break}}function X7(X,Y){let{token:Z}=Y;if(Y.subType==="writable"&&Y.value)b1(X,Z,Y.value);else k1(X,Z)}function GU(X,Y,Z){switch(Z){case"newValue":yY(X,Y.provenance,Y.key);break;case"oldValue":eY(X,Y.key);break}}function WU(X,Y,Z){switch(Z){case"newValue":eY(X,Y.key);break;case"oldValue":yY(X,Y.provenance.map(X1),Y.key);for(let[_,G]of Y.values){let W=X.families.get(_);if(W){k1(X,W,Y.key);let $=`${_}(${j0(Y.key)})`;X.valueMap.set($,G)}}break}}function $U(X,Y,Z){switch(Z){case"newValue":for(let _ of Y.to)gY(X,_,Y.key,Y.exclusive?"exclusive":void 0);break;case"oldValue":{let _="exclusive";for(let G of Y.from)gY(X,G,Y.key,_),_=void 0}break}}function Y7(X,Y,Z){let _=Z==="newValue"?Y.subEvents:[...Y.subEvents].reverse();for(let G of _)switch(G.type){case"atom_update":XU(X,G,Z);break;case"state_creation":ZU(X,G,Z);break;case"state_disposal":_U(X,G,Z);break;case"molecule_creation":GU(X,G,Z);break;case"molecule_disposal":WU(X,G,Z);break;case"molecule_transfer":$U(X,G,Z);break;case"transaction_outcome":Y7(X,G,Z);break}}function V8(X){return"epoch"in X.transactionMeta}function F1(X){return"phase"in X.transactionMeta}function Z7(X,Y){return X.transactionMeta.actionContinuities.getRelatedKey(Y)}function HU(X,Y){return X.transactionMeta.epoch.get(Y)}function JU(X,Y){let Z=Z7(X,Y);if(Z===void 0)return;return HU(X,Z)}function QU(X,Y,Z){let _=Z7(X,Y);if(_!==void 0)X.transactionMeta.epoch.set(_,Z)}function zU(X,Y){let Z=t(X),{parent:_}=Z;Z.transactionMeta.phase="applying",Z.transactionMeta.update.output=Y,_.child=null,_.on.transactionApplying.next(Z.transactionMeta);let{subEvents:G}=Z.transactionMeta.update;if(X.logger.info("\uD83D\uDEC4","transaction",Z.transactionMeta.update.token.key,`applying ${G.length} subEvents:`,G),Y7(_,Z.transactionMeta.update,"newValue"),V8(_))QU(_,Z.transactionMeta.update.token.key,Z.transactionMeta.update.epoch),B0(X,{key:Z.transactionMeta.update.token.key,type:"transaction"})?.subject.next(Z.transactionMeta.update),X.logger.info("\uD83D\uDEEC","transaction",Z.transactionMeta.update.token.key,"applied");else if(F1(_))_.transactionMeta.update.subEvents.push(Z.transactionMeta.update);_.on.transactionApplying.next(null)}function FU(X){return{store:X}}var UU=(X,Y,Z,_)=>{let G=t(X),W={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new y1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new y1(G.families),joins:new y1(G.joins),operation:{open:!1},readonlySelectors:new y1(G.readonlySelectors),timelines:new y1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new y1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new y1(G.writableSelectors),valueMap:new y1(G.valueMap),defaults:G.defaults,disposalTraces:X.disposalTraces.copy(),molecules:new y1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),keyRefsInJoins:G.keyRefsInJoins.overlay(),miscResources:new y1(G.miscResources)},$=JU(X,Y.key),H={phase:"building",update:{type:"transaction_outcome",token:Y,id:_,epoch:$===void 0?NaN:$+1,timestamp:Date.now(),subEvents:[],params:Z,output:void 0},toolkit:{get:(...J)=>k1(Q,...J),set:(...J)=>{b1(Q,...J)},reset:(...J)=>{R6(Q,...J)},run:(J,z=gG())=>bY(Q,J,z),find:(...J)=>e0(X,...J),json:(J)=>k4(Q,J),dispose:(...J)=>{W2(Q,...J)},env:()=>FU(Q)}},Q=Object.assign(W,{transactionMeta:H});return G.child=Q,X.logger.info("\uD83D\uDEEB","transaction",Y.key,"building with params:",Z),Q};function pY(X,Y){let{key:Z}=Y,_=X.transactions.has(Z),G={key:Z,type:"transaction",run:($,H)=>{let Q=UU(X,g1(G),$,H);try{let{toolkit:J}=Q.transactionMeta,z=Y.do(J,...$);return zU(Q,z),z}catch(J){throw eF(Q),X.logger.warn("\uD83D\uDCA5","transaction",Z,"caught:",J),J}},install:($)=>pY($,Y),subject:new Y0};t(X).transactions.set(Z,G);let W=g1(G);if(!_)X.on.transactionCreation.next(W);return W}var pG=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new $4({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new $4({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new $4({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new $4({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new tF(100);molecules=new Map;moleculeGraph=new $4({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});moleculeData=new $4({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});keyRefsInJoins=new $4({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...X)=>X.sort().join(":")});miscResources=new Map;on={atomCreation:new Y0,atomDisposal:new Y0,selectorCreation:new Y0,selectorDisposal:new Y0,timelineCreation:new Y0,transactionCreation:new Y0,transactionApplying:new sF(null),operationClose:new Y0,moleculeCreation:new Y0,moleculeDisposal:new Y0};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"};loggers=[new bG("warn",(X,Y,Z)=>!D8(Z))];logger={error:(...X)=>{for(let Y of this.loggers)Y.error(...X)},info:(...X)=>{for(let Y of this.loggers)Y.info(...X)},warn:(...X)=>{for(let Y of this.loggers)Y.warn(...X)}};constructor(X,Y=null){if(this.config={...Y?.config,...X},Y!==null){if(this.operation={...Y?.operation},V8(Y))this.transactionMeta={epoch:new Map(Y?.transactionMeta.epoch),actionContinuities:new $4(Y?.transactionMeta.actionContinuities.toJSON())};for(let[,_]of Y.families){if(_.internalRoles?.includes("mutable")||_.internalRoles?.includes("join"))continue;_.install(this)}let Z=new Set;for(let[,_]of Y.atoms){if(Z.has(_.key))continue;if(_.install(this),_.type==="mutable_atom"){let G=k4(Y,_),W=N6(_);Z.add(G.key),Z.add(W.key)}}for(let[,_]of Y.readonlySelectors)_.install(this);for(let[,_]of Y.writableSelectors){if(Z.has(_.key))continue;_.install(this)}for(let[,_]of Y.transactions)_.install(this);for(let[,_]of Y.timelines)_.install(this)}}},L1={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new pG({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:globalThis.process?.env?.NODE_ENV==="production"}),globalThis.ATOM_IO_IMPLICIT_STORE}};var EU=class extends Error{constructor(X,Y){super(`${G4[X.type]} ${j0(X.key)} not found in store "${Y.config.name}".`)}};function B0(X,Y){let Z,_=X;while(_!==null){switch(Y.type){case"atom":case"mutable_atom":Z=_.atoms.get(Y.key);break;case"writable_pure_selector":case"writable_held_selector":Z=_.writableSelectors.get(Y.key);break;case"readonly_pure_selector":case"readonly_held_selector":Z=_.readonlySelectors.get(Y.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":Z=_.families.get(Y.key);break;case"timeline":Z=_.timelines.get(Y.key);break;case"transaction":Z=_.transactions.get(Y.key);break}if(Z)return Z;_=_.child}throw new EU(Y,X)}function _7(X,Y,Z,_){let G=X.disposalTraces.buffer.find((W)=>W?.key===j0(_));switch(X.logger.error("\u274C",Y.type,Y.key,"gets a fallback value because key",_,"is not allocated",G?`This key was previously disposed:
60
60
  ${G.trace}`:"(no previous disposal trace found)"),Z.type){case"mutable_atom_family":{if(X.defaults.has(Z.key))return X.defaults.get(Z.key);let W=new Z.class;return X.defaults.set(Z.key,W),W.READONLY_VIEW}case"atom_family":{if(X.defaults.has(Z.key))return X.defaults.get(Z.key);let W=Z.default,$=W(_);return X.defaults.set(Z.key,$),$}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(X.defaults.has(Z.key))return X.defaults.get(Z.key);let W=Z.default(_);return X.defaults.set(Z.key,W),W}}}function I6(X,Y){let{type:Z,key:_,catch:G}=Y;switch(Z){case"readonly_pure_selector":case"writable_pure_selector":{let W;X.logger.info("\uD83E\uDDEE",Z,_,"computing value");try{if(W=Y.getFrom(X),W instanceof Promise)return W.catch(($)=>{if(X.logger.error("\uD83D\uDCA5",Z,_,"rejected:",$),G){for(let H of G)if($ instanceof H)return $}throw $})}catch($){if(X.logger.error("\uD83D\uDCA5",Z,_,"rejected:",$),G){for(let H of G)if($ instanceof H)return B1(X,Y,$)}throw $}return B1(X,Y,W)}case"atom":{let W;if(H2(Y.default))try{if(W=Y.default(),W instanceof Promise)W=W.catch(($)=>{if(X.logger.error("\uD83D\uDCA5",Z,_,"rejected:",$),G){for(let H of G)if($ instanceof H)return $}throw $})}catch($){if(X.logger.error("\uD83D\uDCA5",Z,_,"rejected:",$),G){for(let H of G)if($ instanceof H)return W=B1(X,Y,$),X.logger.info("\u2728",Y.type,_,"computed default",W),W}throw $}else W=Y.default,X.logger.info("\u2728",Y.type,_,"using static default",W);return B1(X,Y,W)}}}function h4(X,Y,Z){if(X.valueMap.has(Y.key))return CU(X,Y,Z);X.logger.info("\u2754",Y.type,Y.key,"value not found in cache");let{key:_}=Y;switch(Y.type){case"readonly_held_selector":case"writable_held_selector":return X.logger.info("\uD83E\uDDEE",Y.type,_,"computing value"),Y.getFrom(X);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return I6(X,Y);case"mutable_atom":{let G=new Y.class;return X.logger.info("\u2728",Y.type,_,"created new instance",G),B1(X,Y,G)}}}function XZ(X,Y){return B0(X,{key:Y.family.key,type:`${Y.type}_family`})}var sG={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},J2=Symbol("MUST_CREATE"),OU=Symbol("DO_NOT_CREATE");function Q2(X,Y,Z,_){let G=j0(_),W=Y.molecules.get(G);if(!W&&Y.config.lifespan==="immortal"){let{type:H,key:Q}=Z;return Y.logger.warn("\uD83D\uDCA3","key",G,"was used to mint a counterfeit token for",H,`"${Q}"`),{counterfeit:!0,key:`${Q}(${G})`,type:sG[H],family:{key:Q,subKey:G}}}let $;if(X===J2){if(Y.logger.info("\uD83D\uDC6A",Z.type,Z.key,"adds member",typeof _==="string"?`\`${_}\``:_),$=Z.create(_),W)Y.moleculeData.set(G,Z.key)}else{let{type:H,key:Q}=Z;return{key:`${Q}(${G})`,type:sG[H],family:{key:Q,subKey:G}}}return $}function YZ(X,...Y){let Z,_,G,W,$;if(Y.length===1){if($=Y[0],"family"in $){let Q=XZ(X,$);if(G=B0(X,Q),W=X1($.family.subKey),Z=z2(X,Q,W),"counterfeit"in $)return{token:$,family:G,subKey:W,isNew:!1};if(!Z)_=Q2(J2,X,Q,W),$=_;else $=Z}}else if(G=B0(X,Y[0]),W=Y[1],Z=z2(X,G,W),!Z)_=Q2(J2,X,G,W),$=_;else $=Z;let H="counterfeit"in $;if(Boolean(_)&&H===!1&&G){let Q;switch($.type){case"readonly_pure_selector":case"readonly_held_selector":Q="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":Q="writable";break}let J={type:"state_creation",subType:Q,token:$,timestamp:Date.now()};G.subject.next(J);let z=t(X);if($.family){if(V8(z))switch($.type){case"atom":case"mutable_atom":X.on.atomCreation.next($);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":X.on.selectorCreation.next($);break}else if(F1(z)&&z.on.transactionApplying.state===null)z.transactionMeta.update.subEvents.push(J)}}return{token:$,family:G,subKey:W,isNew:Boolean(_)}}function k1(X,...Y){let{token:Z,family:_,subKey:G}=YZ(X,...Y);if("counterfeit"in Z&&_&&G)return _7(X,Z,_,G);return h4(X,B0(X,Z))}function z2(X,Y,Z){let _=j0(Z),G=`${Y.key}(${_})`,W=t(X),$;switch(Y.type){case"atom_family":case"mutable_atom_family":$=W.atoms.get(G);break;case"writable_held_selector_family":case"writable_pure_selector_family":$=W.writableSelectors.get(G);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":$=W.readonlySelectors.get(G);break}if($)return g1($);return $}function e0(X,Y,Z){let _=B0(X,Y),G=z2(X,Y,Z);if(G)return G;return Q2(OU,X,_,Z)}function F2(X,Y,Z){let _=Y.key,G="readonly_pure_selector_family",W={key:_,type:"readonly_pure_selector_family"},$=X.families.get(_);if($&&X.config.isProduction===!0)X.logger.error("\u2757","readonly_pure_selector_family",_,`Overwriting an existing ${G4[$.type]} "${$.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let H=new Y0,J={...W,create:(z)=>{let F=j0(z),O={key:_,subKey:F},D=`${_}(${F})`,w=t(X),R={key:D,get:Y.get(z)};if(Y.catch)R.catch=Y.catch;return WZ(w,R,O)},internalRoles:Z,subject:H,install:(z)=>F2(z,Y),default:(z)=>{return Y.get(z)({get:(...F)=>k1(X,...F),find:(...F)=>e0(X,...F),json:(F)=>k4(X,F)})}};return X.families.set(_,J),W}function G2(X,Y,Z){let _={key:Y.key,type:"atom_family"},G=X.families.get(Y.key);if(G&&X.config.isProduction===!0)X.logger.error("\u2757","atom_family",Y.key,`Overwriting an existing ${G4[G.type]} "${G.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let W=new Y0,H={..._,create:(Q)=>{let J=j0(Q),z={key:Y.key,subKey:J},F=`${Y.key}(${J})`,O=t(X),D=Y.default,w={key:F,default:H2(D)?()=>D(Q):D};if(Y.effects)w.effects=Y.effects(Q);if(Y.catch)w.catch=Y.catch;return f4(O,w,z)},default:Y.default,subject:W,install:(Q)=>G2(Q,Y),internalRoles:Z};if(X.families.set(Y.key,H),H2(Y.default)===!1)X.defaults.set(Y.key,Y.default);return _}function G7(X,Y,Z){let _=Y.key,G="readonly_held_selector_family",W={key:_,type:"readonly_held_selector_family"},$=X.families.get(_);if($&&X.config.isProduction===!0)X.logger.error("\u2757","readonly_held_selector_family",_,`Overwriting an existing ${G4[$.type]} "${$.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let H=new Y0,J={...W,create:(z)=>{let F=j0(z),O={key:_,subKey:F},D=`${_}(${F})`;return GZ(t(X),{key:D,const:Y.const(z),get:Y.get(z)},O)},internalRoles:Z,subject:H,install:(z)=>G7(z,Y),default:Y.const};return X.families.set(_,J),W}function W7(X,Y,Z){let _=Y.key,G="writable_held_selector_family",W={key:_,type:"writable_held_selector_family"},$=X.families.get(_);if($&&X.config.isProduction===!0)X.logger.error("\u2757","writable_held_selector_family",_,`Overwriting an existing ${G4[$.type]} "${$.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let H=new Y0,J={...W,create:(z)=>{let F=j0(z),O={key:_,subKey:F},D=`${_}(${F})`;return $Z(t(X),{key:D,const:Y.const(z),get:Y.get(z),set:Y.set(z)},O)},internalRoles:Z,subject:H,install:(z)=>W7(z,Y),default:Y.const};return X.families.set(_,J),W}function ZZ(X,Y,Z){let _=Y.key,G="writable_pure_selector_family",W={key:_,type:"writable_pure_selector_family"},$=X.families.get(_);if($&&X.config.isProduction===!0)X.logger.error("\u2757","writable_pure_selector_family",_,`Overwriting an existing ${G4[$.type]} "${$.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let H=new Y0,J={...W,create:(z)=>{let F=j0(z),O={key:_,subKey:F},D=`${_}(${F})`,w=t(X),R={key:D,get:Y.get(z),set:Y.set(z)};if(Y.catch)R.catch=Y.catch;return HZ(w,R,O)},internalRoles:Z,subject:H,install:(z)=>ZZ(z,Y),default:(z)=>{return Y.get(z)({get:(...F)=>k1(X,...F),find:(...F)=>e0(X,...F),json:(F)=>k4(X,F)})}};return X.families.set(_,J),W}function mY(X,Y){let Z="set"in Y,_="const"in Y;if(_&&Z)return W7(X,Y,void 0);if(_)return G7(X,Y,void 0);if(Z)return ZZ(X,Y);return F2(X,Y)}function W2(X,...Y){let Z;if(Y.length===1)Z=Y[0];else{let _=Y[0],G=Y[1];Z=e0(X,_,G)}try{B0(X,Z)}catch(_){X.logger.error("\u274C",Z.type,Z.key,`could not be disposed because it was not found in the store "${X.config.name}".`);return}switch(Z.type){case"atom":case"mutable_atom":U7(X,Z);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":NU(X,Z);break}}function $7(X,Y){if(X.operation.open){let Z=performance.now();return X.logger.info("\uD83D\uDEAB",Y.type,Y.key,`deferring setState at T-${Z} until setState for "${X.operation.token.key}" is done`),Z}return X.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:Y,subEvents:[]},X.logger.info("\u2B55",Y.type,Y.key,`operation start in store "${X.config.name}"${F1(X)?` ${X.transactionMeta.phase} "${X.transactionMeta.update.token.key}"`:""}`),X}function H7(X){if(X.operation.open)X.logger.info("\uD83D\uDD34",X.operation.token.type,X.operation.token.key,`operation done in store "${X.config.name}"`);X.operation={open:!1},X.on.operationClose.next(X.operation)}var J7=(X,Y)=>{if(!X.operation.open)return X.logger.error("\uD83D\uDC1E","unknown",Y,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return X.operation.done.has(Y)},B6=(X,Y)=>{if(!X.operation.open){X.logger.error("\uD83D\uDC1E","unknown",Y,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}X.operation.done.add(Y)};function rY(X,Y,{oldValue:Z,newValue:_},G,W){let $=g1(Y);if(G&&W){Y.subject.next({newValue:_});let F={checkpoint:!0,type:"state_creation",subType:"writable",token:$,timestamp:Date.now(),value:_};X.operation.subEvents.push(F),W.subject.next(F);let O=t(X);if($.family){if(V8(O))switch($.type){case"atom":case"mutable_atom":X.on.atomCreation.next($);break;case"writable_pure_selector":case"writable_held_selector":X.on.selectorCreation.next($);break}else if(F1(O)&&O.on.transactionApplying.state===null)O.transactionMeta.update.subEvents.push(F)}return}let{key:H,subject:Q,type:J}=Y,z={oldValue:oY(Z)?Z.READONLY_VIEW:Z,newValue:oY(_)?_.READONLY_VIEW:_};if(V8(X)){switch(J){case"mutable_atom":X.logger.info("\uD83D\uDCE2",J,H,"is now (",_,") subscribers:",Q.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":X.logger.info("\uD83D\uDCE2",J,H,"went (",Z,"->",_,") subscribers:",Q.subscribers.keys())}Q.next(z)}if(F1(X)&&(J==="mutable_atom"||J==="atom")){if(X.on.transactionApplying.state===null){if(oY(_))return;let{timestamp:F}=X.operation,O={type:"atom_update",token:$,timestamp:F,update:z};X.transactionMeta.update.subEvents.push(O),X.logger.info("\uD83D\uDCC1","atom",H,"stowed (",Z,"->",_,")");return}if(zZ(Y,"tracker:signal")){let F=H.slice(1),O=X.atoms.get(F);if(h4(X,O,"mut").do(z.newValue)===null===!0)QZ(X,O)}}}var sY=(X,Y,Z)=>{let _=h4(X,Y,"mut"),G=iY(Z,_);return X.logger.info("\u2B50","atom",Y.key,"setting value",G),G=B1(X,Y,G),B6(X,Y.key),QZ(X,Y),{oldValue:_,newValue:G}};function lY(X,Y){switch(Y.type){case"mutable_atom":return sY(X,Y,new Y.class);case"atom":{let Z;if(H2(Y.default))Z=I6(X,Y);else Z=Y.default;return sY(X,Y,Z)}}}function VU(X,Y){let Z;switch(Y.type){case"atom":case"mutable_atom":Z=lY(X,Y);break;case"writable_held_selector":{let _=U2(X,Y.key);for(let W of _.values())rY(X,Y,lY(X,W),!1);let G=Y.getFrom(X);Z={oldValue:G,newValue:G}}break;case"writable_pure_selector":{let _=I6(X,Y),G=U2(X,Y.key);for(let W of G.values())rY(X,Y,lY(X,W),!1);Z={oldValue:_,newValue:I6(X,Y)}}break}return Z}function b1(X,...Y){L8(K6,X,...Y)}var tY=Symbol("RESET");function R6(X,...Y){b1(X,...[...Y,tY])}function DU(X,Y,Z){let _,G,W,{type:$,key:H}=Y;switch(Y.type){case"writable_pure_selector":_=h4(X,Y,"mut"),G=iY(Z,_),G=B1(X,Y,G);break;case"writable_held_selector":W=Y.const,iY(Z,W),_=W,G=W}return X.logger.info("\u2B50",$,H,"setting to",G),B6(X,H),Y.setSelf(G),{oldValue:_,newValue:G}}var LU=(X,Y,Z)=>{let _;switch(Y.type){case"atom":case"mutable_atom":_=sY(X,Y,Z);break;case"writable_pure_selector":case"writable_held_selector":_=DU(X,Y,Z);break}return _},K6=Symbol("OWN_OP"),_Z=Symbol("JOIN_OP");function L8(X,Y,...Z){let _,G,W,$,H,Q;if(Z.length===2){if(W=Z[0],Q=Z[1],"family"in W)if($=XZ(Y,W),H=X1(W.family.subKey),_=z2(Y,$,H),!_)W=G=Q2(J2,Y,$,H);else W=_}else if($=B0(Y,Z[0]),H=Z[1],Q=Z[2],_=z2(Y,$,H),!_)W=G=Q2(J2,Y,$,H);else W=_;let J=Q===tY?"reset":"set",z;if(X===K6){let D=$7(Y,W);if(typeof D==="number"){let w=D,R=Y.on.operationClose.subscribe(`waiting to ${J} "${W.key}" at T-${w}`,function(){R(),Y.logger.info("\uD83D\uDFE2",W.type,W.key,"resuming deferred",J,`from T-${w}`),L8(X,Y,W,Q)});return}z=D}else z=Y;if("counterfeit"in W&&"family"in W){let D=W.family.subKey,w=Y.disposalTraces.buffer.find((R)=>R?.key===D);Y.logger.error("\u274C",W.type,W.key,"could not be",J,"because key",D,"is not allocated.",w?`this key was previously disposed:${w.trace}`:"(no previous disposal trace found)");return}let F=B0(z,W),O;if(Q===tY)O=VU(z,F);else O=LU(z,F,Q);if(rY(z,F,O,Boolean(G),$),X===K6)H7(z)}var Q7=(X,Y)=>t(X).atoms.has(Y),AU=(X,Y)=>t(X).writableSelectors.has(Y),MU=(X,Y)=>t(X).readonlySelectors.has(Y),RU=(X,Y)=>Q7(X,Y)||AU(X,Y)||MU(X,Y);function tG(X,Y){return t(X).selectorGraph.getRelationEntries({downstreamSelectorKey:Y}).filter(([Z,{source:_}])=>_!==Y).map(([Z,{source:_}])=>_).filter((Z)=>RU(X,Z))}function U2(X,Y,Z=new Set){let _=tG(X,Y),G=new Map;while(_.length>0){let W=_.pop();if(Z.has(W))continue;if(Z.add(W),Q7(X,W)){let $=X.atoms.get(W);G.set($.key,$)}else _.push(...tG(X,W))}return G}function wU(X,Y,Z,_,G){let W=t(X),{type:$,key:H}=_;if($==="atom"||$==="mutable_atom")W.selectorAtoms.set({selectorKey:Z,atomKey:H}),X.logger.info("\uD83D\uDD0D",Y,Z,`discovers root atom "${H}"`);else{let Q=U2(X,H,G);X.logger.info("\uD83D\uDD0D",Y,Z,`discovers root atoms: [ ${[...Q.values()].map((J)=>`"${J.key}"`).join(", ")} ]`);for(let{key:J}of Q.values())W.selectorAtoms=W.selectorAtoms.set({selectorKey:Z,atomKey:J})}G.add(H)}function T6(X,Y,Z,_){return{get:(...G)=>{let W=t(X),{token:$,family:H,subKey:Q}=YZ(X,...G),J;if("counterfeit"in $&&H&&Q)J=_7(X,$,H,Q);else J=h4(X,B0(X,$));return X.logger.info("\uD83D\uDD0C",Y,Z,`registers dependency ( "${$.key}" =`,J,")"),W.selectorGraph.set({upstreamSelectorKey:$.key,downstreamSelectorKey:Z},{source:$.key}),wU(X,Y,Z,$,_),J},set:(...G)=>{L8(_Z,t(X),...G)},find:(...G)=>e0(X,...G),json:(G)=>k4(X,G)}}function GZ(X,Y,Z){let _=t(X),G=new Y0,W=new Set,{key:$,const:H}=Y,Q="readonly_held_selector";X.logger.info("\uD83D\uDD28","readonly_held_selector",$,"is being created");let{get:J,find:z,json:F}=T6(_,"readonly_held_selector",$,W),D={...Y,type:"readonly_held_selector",subject:G,getFrom:(R)=>{let v=R.selectorGraph.getRelationEntries({downstreamSelectorKey:$});for(let[j,{source:P}]of v)if(P!==$)R.selectorGraph.delete(j,$);return R.selectorAtoms.delete($),Y.get({get:J,find:z,json:F},H),B1(R,D,H),X.logger.info("\u2728","readonly_held_selector",$,"=",H),W.clear(),H},install:(R)=>GZ(R,Y,Z)};if(Z)D.family=Z;_.readonlySelectors.set($,D);let w={key:$,type:"readonly_held_selector"};if(Z)w.family=Z;return w}function WZ(X,Y,Z){let _=t(X),G=new Y0,W=new Set,$=Y.key,H="readonly_pure_selector";X.logger.info("\uD83D\uDD28","readonly_pure_selector",$,"is being created");let{get:Q,find:J,json:z}=T6(_,"readonly_pure_selector",$,W),O={...Y,type:"readonly_pure_selector",subject:G,getFrom:()=>{let w=t(X),R=w.selectorGraph.getRelationEntries({downstreamSelectorKey:$});for(let[j,{source:P}]of R)if(P!==$)w.selectorGraph.delete(j,$);w.selectorAtoms.delete($);let v=B1(w,O,Y.get({get:Q,find:J,json:z}));return X.logger.info("\u2728","readonly_pure_selector",$,"=",v),W.clear(),v},install:(w)=>WZ(w,Y,Z)};if(Z)O.family=Z;_.readonlySelectors.set($,O);let D={key:$,type:"readonly_pure_selector"};if(Z)D.family=Z;return D}function $Z(X,Y,Z){let _=t(X),G=new Y0,W=new Set,{key:$,const:H}=Y,Q="writable_held_selector";X.logger.info("\uD83D\uDD28","writable_held_selector",$,"is being created");let J=T6(_,"writable_held_selector",$,W),{find:z,get:F,json:O}=J,D={find:z,get:F,json:O},v={...Y,type:"writable_held_selector",subject:G,getFrom:(P)=>{let h=P.selectorGraph.getRelationEntries({downstreamSelectorKey:$});for(let[i,{source:g}]of h)if(g!==$)P.selectorGraph.delete(i,$);return P.selectorAtoms.delete($),Y.get(D,H),B1(P,v,H),X.logger.info("\u2728","writable_held_selector",$,"=",H),W.clear(),H},setSelf:()=>{Y.set(J,H)},install:(P)=>$Z(P,Y,Z)};if(Z)v.family=Z;_.writableSelectors.set($,v);let j={key:$,type:"writable_held_selector"};if(Z)j.family=Z;return j}function HZ(X,Y,Z){let _=t(X),G=new Y0,W=new Set,$=Y.key,H="writable_pure_selector";X.logger.info("\uD83D\uDD28","writable_pure_selector",$,"is being created");let Q=T6(_,"writable_pure_selector",$,W),{find:J,get:z,json:F}=Q,O={find:J,get:z,json:F},R={...Y,type:"writable_pure_selector",subject:G,getFrom:(j)=>{let P=j.selectorGraph.getRelationEntries({downstreamSelectorKey:$});for(let[i,{source:g}]of P)if(g!==$)j.selectorGraph.delete(i,$);j.selectorAtoms.delete($);let h=B1(j,R,Y.get(O));return X.logger.info("\u2728","writable_pure_selector",$,"=",h),W.clear(),h},setSelf:(j)=>{Y.set(Q,j)},install:(j)=>HZ(j,Y,Z)};if(Z)R.family=Z;_.writableSelectors.set($,R);let v={key:$,type:"writable_pure_selector"};if(Z)v.family=Z;return v}function mG(X,Y){let Z="set"in Y,_="const"in Y;if(_&&Z){let W=$Z(X,Y,void 0);return X.on.selectorCreation.next(W),W}if(_){let W=GZ(X,Y,void 0);return X.on.selectorCreation.next(W),W}if(Z){let W=HZ(X,Y,void 0);return X.on.selectorCreation.next(W),W}let G=WZ(X,Y,void 0);return X.on.selectorCreation.next(G),G}function NU(X,Y){let Z=t(X),{key:_,type:G,family:W}=Y;if(!W)X.logger.error("\u274C",G,_,"Standalone selectors cannot be disposed.");else{if(Z.molecules.get(W.subKey))Z.moleculeData.delete(W.subKey,W.key);let $;switch(Y.type){case"writable_held_selector":Z.writableSelectors.delete(_),$={key:W.key,type:"writable_held_selector_family"},B0(X,$).subject.next({type:"state_disposal",subType:"selector",token:Y,timestamp:Date.now()});break;case"writable_pure_selector":Z.writableSelectors.delete(_),$={key:W.key,type:"writable_pure_selector_family"},B0(X,$).subject.next({type:"state_disposal",subType:"selector",token:Y,timestamp:Date.now()});break;case"readonly_held_selector":Z.readonlySelectors.delete(_),$={key:W.key,type:"readonly_held_selector_family"},B0(X,$).subject.next({type:"state_disposal",subType:"selector",token:Y,timestamp:Date.now()});break;case"readonly_pure_selector":Z.readonlySelectors.delete(_),$={key:W.key,type:"readonly_pure_selector_family"},B0(X,$).subject.next({type:"state_disposal",subType:"selector",token:Y,timestamp:Date.now()});break}if(Z.valueMap.delete(_),Z.selectorAtoms.delete(_),Z.selectorGraph.delete(_),Z.moleculeData.delete(W.key,W.subKey),X.logger.info("\uD83D\uDD25",Y.type,_,"deleted"),F1(Z)&&Z.transactionMeta.phase==="building")Z.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:Y,timestamp:Date.now()});else X.on.selectorDisposal.next(Y)}}var IU=(X,Y)=>{let Z=t(X);if(Z.operation.open)return Z.operation.prev.get(Y.key);return Z.valueMap.get(Y.key)},aG=(X,Y,Z)=>{return Z.subject.subscribe(`${Y.type}:${Y.key}`,(_)=>{X.logger.info("\uD83D\uDCE2",Y.type,Y.key,"root",Z.key,"went",_.oldValue,"->",_.newValue);let G=IU(X,Y),W=h4(X,Y);X.logger.info("\u2728",Y.type,Y.key,"went",G,"->",W),Y.subject.next({newValue:W,oldValue:G})})};function E2(X,Y,Z,_){function G(F){if(X.operation.open){if(W?.type==="atom"&&zZ(W,"tracker:signal")&&"*"+X.operation.token.key===Y.key&&"inboundTracker"in _)return;let O=X.on.operationClose.subscribe(`state subscription ${Z}`,()=>{O(),_(F)})}else _(F)}YZ(X,Y);let W=B0(X,Y);X.logger.info("\uD83D\uDC40",W.type,W.key,`Adding subscription "${Z}"`);let $=W.type==="writable_pure_selector"||W.type==="readonly_pure_selector",H=new Map,Q=G;if($){h4(X,W);for(let[F,O]of U2(X,W.key))H.set(F,aG(X,W,O));Q=function(O){let D=U2(X,W.key);for(let[w,R]of H)if(D.get(w))D.delete(w);else R(),H.delete(w);for(let[w,R]of D)H.set(w,aG(X,W,R));G(O)}}let J=W.subject.subscribe(Z,Q);return()=>{X.logger.info("\uD83D\uDE48",W.type,W.key,`Removing subscription "${Z}"`),J();for(let F of H.values())F()}}var KU=(X,Y,Z,_)=>{let G=B0(X,Y);X.logger.info("\uD83D\uDC40","timeline",Y.key,`Adding subscription "${Z}"`);let W=G.subject.subscribe(Z,_);return()=>{X.logger.info("\uD83D\uDE48","timeline",Y.key,`Removing subscription "${Z}" from timeline`),W()}};var JZ=class{initializeSignalAtom(X,Y){let Z=`*${X.key}`;Y.atoms.delete(Z),Y.valueMap.delete(Z);let _=X.family?{key:`*${X.family.key}`,subKey:X.family.subKey}:void 0,G=f4(Y,{key:Z,default:null},_,["tracker:signal"]);if(Y.parent?.valueMap.has(Z)){let W=Y.parent.valueMap.get(Z);Y.valueMap.set(Z,W)}return G}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(X,Y,Z){let _=X.key,G=`tracker-from-core:${Z.config.name}:${F1(Z)?Z.transactionMeta.update.token.key:"main"}:${_}`,W=($)=>{L8(_Z,Z,Y,$)};this.unsubscribeFromInnerValue=k1(Z,X).subscribe(G,W),this.unsubscribeFromState=E2(Z,X,G,function(H){if(H.newValue!==H.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=H.newValue.subscribe(G,W)}.bind(this))}supplySignalsToCore(X,Y,Z){let _=X.key,G=`tracker-to-core:${Z.config.name}:${F1(Z)?Z.transactionMeta.update.token.key:"main"}:${_}`;E2(Z,Y,G,Object.assign(function({newValue:$,oldValue:H}){let Q=Z.timelineTopics.getRelatedKey(Y.key);if(Q&&Z.timelines.get(Q)?.timeTraveling){let J=KU(Z,{key:Q,type:"timeline"},G,function(F){J(),b1(Z,X,(O)=>{if(F==="redo"&&$)O.do($);else if(F==="undo"&&H)O.undo(H);return O})});return}b1(Z,X,(J)=>(J.do($),J))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(X,Y){let Z=t(Y),_=this.initializeSignalAtom(X,Z);this.mutableAtomToken=X,this.latestSignalToken=_,this.captureSignalsFromCore(X,_,Z),this.supplySignalsToCore(X,_,Z),Z.trackers.set(X.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),Z.trackers.delete(X.key)}}};function w6(X,Y,Z){X.logger.info("\uD83D\uDD28","atom",Y.key,`creating in store "${X.config.name}"`);let _=t(X),{key:G}=Y,W=_.atoms.get(G),$="mutable_atom";if(W?.type===$&&X.config.isProduction===!0)return X.logger.error("\u274C",$,G,"Tried to create atom, but it already exists in the store."),g1(W);let H=new Y0,Q={...Y,type:$,install:(z)=>{return z.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${z.config.name}"`),w6(z,Y,Z)},subject:H};if(Z)Q.family=Z;_.atoms.set(Q.key,Q);let J=g1(Q);if(new JZ(J,X),!Z)mG(X,{key:`${G}:JSON`,get:({get:z})=>z(J).toJSON(),set:({set:z},F)=>{z(J,Y.class.fromJSON(F))}});if(Y.effects){let z=0,F=[];for(let O of Y.effects){let D=O({resetSelf:()=>{R6(X,J)},setSelf:(w)=>{b1(X,J,w)},onSet:(w)=>E2(X,J,`effect[${z}]`,w),token:J,store:aY(X)});if(D)F.push(D);++z}Q.cleanup=()=>{for(let O of F)O()}}return X.on.atomCreation.next(J),J}var BU=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(X,Y){this.latestSignalAtoms=B0(Y,G2(Y,{key:`*${X.key}`,default:null},["mutable","updates"])),this.mutableAtoms=X;let Z=(_)=>{let{type:G,token:W}=_;if(W.family){let $=X1(W.family.subKey);switch(G){case"state_creation":this.trackers.set($,new JZ(W,Y));break;case"state_disposal":{let H=this.trackers.get($);if(H)H[Symbol.dispose](),this.trackers.delete($)}}}};this.mutableAtoms.subject.subscribe(`store=${Y.config.name}::tracker-atom-family`,Z)}};function uY(X,Y,Z){let _={key:Y.key,type:"mutable_atom_family"},G=X.families.get(Y.key);if(G&&X.config.isProduction===!0)X.logger.error("\u2757","mutable_atom_family",Y.key,`Overwriting an existing ${G4[G.type]} "${G.key}" in store "${X.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let W=new Y0,H={..._,create:(Q)=>{let J=j0(Q),z={key:Y.key,subKey:J},F=`${Y.key}(${J})`,O=t(X),D={key:F,class:Y.class};if(Y.effects)D.effects=Y.effects(Q);return w6(O,D,z)},class:Y.class,subject:W,install:(Q)=>uY(Q,Y),internalRoles:Z};return X.families.set(Y.key,H),ZZ(X,{key:`${Y.key}:JSON`,get:(Q)=>({get:J})=>J(_,Q).toJSON(),set:(Q)=>({set:J},z)=>{J(_,Q,Y.class.fromJSON(z))}},["mutable","json"]),new BU(H,X),_}var TU=(X,Y)=>{let Z=t(Y),_=`${X.key}:JSON`;return Z.families.get(_)},k4=(X,Y)=>{if(Y.family)return e0(X,B0(t(X),{key:`${Y.family.key}:JSON`,type:"writable_pure_selector_family"}),X1(Y.family.subKey));return{type:"writable_pure_selector",key:`${Y.key}:JSON`}};var N6=(X)=>{let Y={type:"atom",key:`*${X.key}`};if(X.family)Y.family={key:`*${X.family.key}`,subKey:X.family.subKey};return Y};function oY(X){return typeof X==="object"&&X!==null&&"do"in X&&"undo"in X&&"subscribe"in X&&"READONLY_VIEW"in X&&"toJSON"in X}function B1(X,Y,Z){let{key:_,subject:G,type:W}=Y,$=X.valueMap.get(_);if($ instanceof nY&&!$.done){let H=$;if(Z instanceof Promise)return H.use(Z),H;return X.valueMap.set(_,Z),Z}if(Z instanceof Promise){let H=new nY(Z);return X.valueMap.set(_,H),H.then(function(J){if(X.valueMap.get(_)===H){switch($7(X,Y),B1(X,Y,J),W){case"atom":QZ(X,Y);break;case"readonly_pure_selector":case"writable_pure_selector":F7(X,_);break}H7(X),G.next({newValue:J,oldValue:H})}}).catch((Q)=>{X.logger.error("\uD83D\uDCA5",Y.type,_,"rejected:",Q)}),H}return X.logger.info("\uD83D\uDCDD",Y.type,Y.key,"writing to cache",Z),X.valueMap.set(_,Z),Z}function CU(X,Y,Z){X.logger.info("\uD83D\uDCD6",Y.type,Y.key,"reading cached value");let _=X.valueMap.get(Y.key);if(Z==="mut"&&Y.type==="mutable_atom"&&F1(X)){let G=Y,{parent:W}=X;if(X.valueMap.hasOwn(G.key))return _;let $=W.valueMap.get(G.key);X.logger.info("\uD83D\uDCC3","atom",G.key,"copying");let H=$.toJSON(),Q=G.class.fromJSON(H);X.valueMap.set(G.key,Q),new JZ(G,W),_=Q}return _}function z7(X,Y){let Z=X.valueMap.get(Y);if(Z instanceof nY){let _=X.writableSelectors.get(Y)??X.readonlySelectors.get(Y);if(_)_.getFrom(X);return}if(X.operation.open)X.operation.prev.set(Y,Z);X.valueMap.delete(Y),X.logger.info("\uD83D\uDDD1","state",Y,"evicted")}function QZ(X,Y){let Z=t(X),{key:_,type:G}=Y,W=Z.selectorAtoms.getRelatedKeys(_);if(Z.logger.info("\uD83E\uDDF9",G,_,W?`evicting ${W.size} states downstream:`:"no downstream states",W??"to evict"),W){if(Z.operation.open)Z.logger.info("\uD83E\uDDF9",G,_,`[ ${[...Z.operation.done].join(", ")} ] already done`);for(let $ of W){if(J7(Z,$))continue;z7(Z,$),B6(Z,$)}}}function F7(X,Y){let Z=t(X),_=Z.selectorGraph.getRelationEntries({upstreamSelectorKey:Y}).filter(([G,{source:W}])=>W===Y);for(let[G]of _){if(J7(Z,G))continue;z7(Z,G),B6(Z,G),F7(X,G)}}function f4(X,Y,Z,_){let{key:W}=Y;X.logger.info("\uD83D\uDD28","atom",W,"is being created");let $=t(X),H=$.atoms.get(W);if(H?.type==="atom"&&X.config.isProduction===!0)return X.logger.error("\u274C","atom",W,"Tried to create atom, but it already exists in the store."),g1(H);let Q=new Y0,J={...Y,type:"atom",install:(F)=>{return F.logger.info("\uD83D\uDEE0\uFE0F","atom",W,`installing in store "${F.config.name}"`),f4(F,Y,Z)},subject:Q};if(Z)J.family=Z;if(_)J.internalRoles=_;$.atoms.set(W,J);let z=g1(J);if(Y.effects){let F=0,O=[];for(let D of Y.effects){let w=D({resetSelf:()=>{R6(X,z)},setSelf:(R)=>{b1(X,z,R)},onSet:(R)=>E2(X,z,`effect[${F}]`,R),token:z,store:aY(X)});if(w)O.push(w);++F}J.cleanup=()=>{for(let D of O)D()}}return X.on.atomCreation.next(z),z}function zZ(X,Y){if("internalRoles"in X===!1)return!1;return X.internalRoles.includes(Y)}function U7(X,Y){let Z=t(X),{key:_,family:G}=Y,W=B0(Z,Y);if(!G)X.logger.error("\u274C","atom",_,"Standalone atoms cannot be disposed.");else{W.cleanup?.();let $=X.valueMap.get(W.key),H=B0(X,XZ(X,Y)).subject,Q={type:"state_disposal",subType:"atom",token:Y,value:$,timestamp:Date.now()};H.next(Q);let J=F1(Z);if(Z.atoms.delete(_),Z.valueMap.delete(_),Z.selectorAtoms.delete(_),Z.atomsThatAreDefault.delete(_),Z.moleculeData.delete(G.key,G.subKey),X.timelineTopics.delete(_),Y.type==="mutable_atom")U7(X,N6(Y)),X.trackers.delete(_);if(X.logger.info("\uD83D\uDD25","atom",_,"deleted"),J&&Z.transactionMeta.phase==="building"){let z=Z.transactionMeta.update.subEvents.at(-1),F=z?.type==="molecule_disposal"&&z.values.some(([D])=>D===W.family?.key),O=zZ(W,"tracker:signal");if(!F&&!O)Z.transactionMeta.update.subEvents.push(Q)}else X.on.atomDisposal.next(Y)}}function K1(X){return X[0].toUpperCase()+X.slice(1)}var E7=class{toolkit;options;relations;states;relatedKeysAtoms;transact(X,Y){let Z=this.toolkit;this.toolkit=X,Y(this),this.toolkit=Z}store;[Symbol.dispose](){}constructor(X,Y=L1.STORE){this.store=Y,this.options=X,this.store.miscResources.set(`join:${X.key}`,this),this.toolkit={get:(...z)=>k1(Y,...z),set:(...z)=>{b1(Y,...z)},find:(...z)=>e0(Y,...z),json:(z)=>k4(Y,z)};let Z=X.between[0],_=X.between[1],G=uY(Y,{key:`${X.key}/relatedKeys`,class:W4},["join","relations"]);this.relatedKeysAtoms=G;let W=(z,F,O)=>{let{find:D,get:w,set:R}=z,v=D(G,F),j=w(v);for(let P of j){if(O.includes(P))continue;R(G,P,(h)=>{return h.delete(F),h})}R(v,(P)=>{P.clear();for(let h of O){let i=D(G,h),g=w(i),p=g.has(F);if(this.relations.cardinality==="1:n"){let m=[];for(let _0 of g){if(_0===F)continue;let u0;if(L8(_Z,this.store,G,_0,(K)=>{return K.delete(h),u0=K.size,K}),u0===0)m.push(_0)}if(!p&&g.size>0)R(i,(_0)=>{return _0.clear(),_0});for(let _0 of m)Y.keyRefsInJoins.delete(_2(h,_0))}if(!p)R(i,(m)=>{return m.add(F),m});P.add(h)}return P})},$=(z,F,O)=>{let{set:D}=z;D(G,F,(w)=>{for(let R of O)w.add(R);return w});for(let w of O)D(G,w,(R)=>{return R.add(F),R});return!0},H=new $4(X,{externalStore:{getRelatedKeys:(z)=>this.toolkit.get(G,z),addRelation:(z,F)=>{this.store.keyRefsInJoins.set(`"${z}"`,X.key),this.store.keyRefsInJoins.set(`"${F}"`,X.key),this.store.keyRefsInJoins.set(_2(z,F),X.key),this.toolkit.set(G,z,(O)=>O.add(F)),this.toolkit.set(G,F,(O)=>O.add(z))},deleteRelation:(z,F)=>{this.toolkit.set(G,z,(D)=>{return D.delete(F),D}),this.toolkit.set(G,F,(D)=>{return D.delete(z),D});let O=_2(z,F);this.store.keyRefsInJoins.delete(O)},replaceRelationsSafely:(z,F)=>{W(this.toolkit,z,F)},replaceRelationsUnsafely:(z,F)=>{$(this.toolkit,z,F)},has:(z,F)=>{let O=this.toolkit.get(G,z);return F?O.has(F):O.size>0}},isAType:X.isAType,isBType:X.isBType}),Q=()=>F2(Y,{key:`${X.key}/singleRelatedKey`,get:(z)=>({get:F})=>{let O=F(G,z);for(let D of O)return D;return null}},["join","keys"]),J=()=>{return F2(Y,{key:`${X.key}/multipleRelatedKeys`,get:(z)=>({get:F})=>{return F(TU(G,Y),z)}},["join","keys"])};switch(X.cardinality){case"1:1":{let z=Q(),F=`${Z}KeyOf${K1(_)}`,O=`${_}KeyOf${K1(Z)}`;this.relations=H,this.states={[F]:z,[O]:z};break}case"1:n":{let z=Q(),F=J(),O=`${Z}KeyOf${K1(_)}`,D=`${_}KeysOf${K1(Z)}`,w={[O]:z,[D]:F};this.relations=H,this.states=w;break}case"n:n":{let z=J(),F=`${Z}KeysOf${K1(_)}`,O=`${_}KeysOf${K1(Z)}`;this.relations=H,this.states={[F]:z,[O]:z}}}}};function uG(X,Y){return X.joins.set(Y.key,new E7(Y)),{key:Y.key,type:"join",a:Y.between[0],b:Y.between[1],cardinality:Y.cardinality}}function FZ(X,Y){let Z=Y.joins.get(X.key);if(Z===void 0){let _=L1.STORE.joins.get(X.key);if(_===void 0)throw Error(`Join "${X.key}" not found in store "${Y.config.name}"`);let G=aY(Y);Z=new E7(_.options,G),Y.joins.set(X.key,Z)}return Z}function $2(X,Y,Z){let _=FZ(X,Z),G=t(Z);if(F1(G)){let{toolkit:W}=G.transactionMeta;_.transact(W,({relations:$})=>{Y($)})}else Y(_.relations)}function nF(X,Y,Z){let _=FZ(X,Z),G;switch(X.cardinality){case"1:1":{let W=`${X.a}KeyOf${K1(X.b)}`,$=`${X.b}KeyOf${K1(X.a)}`;G={get[W](){let H=_.states[W];return e0(Z,H,Y)},get[$](){let H=_.states[$];return e0(Z,H,Y)}};break}case"1:n":{let W=`${X.a}KeyOf${K1(X.b)}`,$=`${X.b}KeysOf${K1(X.a)}`;G={get[W](){let H=_.states[W];return e0(Z,H,Y)},get[$](){let H=_.states[$];return e0(Z,H,Y)}};break}case"n:n":{let W=`${X.a}KeysOf${K1(X.b)}`,$=`${X.b}KeysOf${K1(X.a)}`;G={get[W](){let H=_.states[W];return e0(Z,H,Y)},get[$](){let H=_.states[$];return e0(Z,H,Y)}}}}return G}function dG(X,Y){return FZ(X,Y).relatedKeysAtoms}var qU=(X)=>{return f4(X,{key:"\uD83D\uDD0D Atom Token Index",default:()=>{let Y=new Map;for(let[Z,_]of X.atoms){if(D8(Z))continue;let G=g1(_);if(_.family){let W=Y.get(_.family.key);if(!W||!("familyMembers"in W))W={key:_.family.key,familyMembers:new Map},Y.set(_.family.key,W);W.familyMembers.set(_.family.subKey,G)}else Y.set(Z,G)}return Y},effects:[({setSelf:Y})=>{X.on.atomCreation.subscribe("introspection",(Z)=>{if(D8(Z.key))return;Y((_)=>{if(Z.family){let{key:G,subKey:W}=Z.family,$=_.get(G);if($===void 0||!("familyMembers"in $))$={key:G,familyMembers:new Map},_.set(G,$);$.familyMembers.set(W,Z)}else _.set(Z.key,Z);return new Map(_)})}),X.on.atomDisposal.subscribe("introspection",(Z)=>{Y((_)=>{if(Z.family){let{key:G,subKey:W}=Z.family,$=_.get(G);if($&&"familyMembers"in $){if($.familyMembers.delete(W),$.familyMembers.size===0)_.delete(G)}}return new Map(_)})})}]},void 0)},jU=(X)=>{return f4(X,{key:"\uD83D\uDD0D Selector Token Index",default:()=>{let Y=new Map;for(let Z of[X.readonlySelectors,X.writableSelectors])for(let[_,G]of Z){if(D8(_))continue;let W=g1(G);if(G.family){let $=Y.get(G.family.key);if(!$||!("familyMembers"in $))$={key:G.family.key,familyMembers:new Map},Y.set(G.family.key,$);$.familyMembers.set(G.family.subKey,W)}else Y.set(_,W)}return Y},effects:[({setSelf:Y})=>{X.on.selectorCreation.subscribe("introspection",(Z)=>{if(D8(Z.key))return;Y((_)=>{if(Z.family){let{key:G,subKey:W}=Z.family,$=_.get(G);if($===void 0||!("familyMembers"in $))$={key:G,familyMembers:new Map},_.set(G,$);$.familyMembers.set(W,Z)}else _.set(Z.key,Z);return new Map(_)})}),X.on.selectorDisposal.subscribe("introspection",(Z)=>{Y((_)=>{if(Z.family){let{key:G,subKey:W}=Z.family,$=_.get(G);if($&&"familyMembers"in $){if($.familyMembers.delete(W),$.familyMembers.size===0)_.delete(G)}}else _.delete(Z.key);return new Map(_)})})}]},void 0)};var UZ=class{supported;constructor(X){this.supported=X}refine(X){for(let[Y,Z]of Object.entries(this.supported))try{if(Z(X)===!0&&Z!==Boolean)return{type:Y,data:X}}catch(_){try{if(X instanceof Z)return{type:Y,data:X}}catch(G){}}return null}},V7=new UZ({number:(X)=>typeof X==="number",string:(X)=>typeof X==="string",boolean:(X)=>typeof X==="boolean",null:(X)=>X===null});function D7(X){if(!X)return!1;return Object.getPrototypeOf(X)===Object.prototype}var L7=new UZ({object:D7,array:(X)=>Array.isArray(X)}),SU=new UZ({...V7.supported,...L7.supported}),C6=(X)=>{if(X===void 0)return"undefined";let Y=SU.refine(X);if(Y)return Y.type;return Object.getPrototypeOf(X).constructor.name};var CB=class X{store;auditorCreatedAt=performance.now();statesCreatedAt=new Map;atomIndex;selectorIndex;disposed=!1;unsubscribeFromAtomCreation;unsubscribeFromAtomDisposal;unsubscribeFromSelectorCreation;unsubscribeFromSelectorDisposal;constructor(Y=L1.STORE){this.store=Y,this.atomIndex=qU(this.store),this.selectorIndex=jU(this.store),this.unsubscribeFromAtomCreation=this.store.on.atomCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:Z})=>{this.statesCreatedAt.set(Z,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromAtomDisposal=this.store.on.atomDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:Z})=>{this.statesCreatedAt.delete(Z)}),this.unsubscribeFromSelectorCreation=this.store.on.selectorCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:Z})=>{this.statesCreatedAt.set(Z,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromSelectorDisposal=this.store.on.selectorDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:Z})=>{this.statesCreatedAt.delete(Z)})}static DEFAULT_LIST_RESOURCES_PARAM={atomFamilies:!0,selectorFamilies:!0};listResources(Y=X.DEFAULT_LIST_RESOURCES_PARAM){if(this.disposed)throw Error("This Auditor has been disposed");let Z=kY(this.atomIndex),_=kY(this.selectorIndex),G=[...Z.values()].filter((Q)=>("familyMembers"in Q)),W=[..._.values()].filter((Q)=>("familyMembers"in Q)),$=performance.now(),H=[];if(Y.atomFamilies)for(let Q of G){let J=Q.familyMembers.values();for(let z of J){let F=$-(this.statesCreatedAt.get(z.key)??this.auditorCreatedAt);H.push([z,F])}}if(Y.selectorFamilies)for(let Q of W){let J=Q.familyMembers.values();for(let z of J){let F=$-(this.statesCreatedAt.get(z.key)??this.auditorCreatedAt);H.push([z,F])}}return H}[Symbol.dispose](){this.unsubscribeFromAtomCreation(),this.unsubscribeFromAtomDisposal(),this.unsubscribeFromSelectorCreation(),this.unsubscribeFromSelectorDisposal(),this.disposed=!0}},O7=(X,Y)=>{let Z=(_,G)=>{let $=((Q,J)=>{let z=Y(Q,J);if(z)return z;return null})(_,G);if($?.jobComplete??$?.pathComplete)return $;let H=Array.isArray(G)?G.map((Q,J)=>[J,Q]):D7(G)?Object.entries(G):[];for(let[Q,J]of H){let z=Z([..._,Q],J);if(z?.jobComplete)return z}return{}};Z([],X)};function PU(X,Y){return{summary:`${X<Y?"+":"-"}${Math.abs(X-Y)} (${X} \u2192 ${Y})`}}function vU(X,Y){return{summary:`${X.length<Y.length?"+":"-"}${Math.abs(X.length-Y.length)} ("${X}" \u2192 "${Y}")`}}function xU(X,Y){return{summary:`${X} \u2192 ${Y}`}}function A7(X,Y,Z){let _="",G=[],W=[],$=[];return O7(X,(H,Q)=>{let J;for(J of H){let z=Y[J];if(z===void 0)W.push([J,JSON.stringify(Q)]);else{let F=Z(Q,z);if(F.summary!=="No Change")$.push([J,F])}}}),O7(Y,(H,Q)=>{let J;for(J of H)if(X[J]===void 0)G.push([J,JSON.stringify(Q)])}),_=`\uFF5E${$.length} \uFF0B${G.length} \uFF0D${W.length}`,{summary:_,added:G,removed:W,changed:$}}function fU(X,Y,Z){return A7(X,Y,Z)}var hU=class{leafRefinery;treeRefinery;leafDiffers;treeDiffers;constructor(X,Y,Z){this.leafRefinery=X,this.treeRefinery=Y,this.leafDiffers={},this.treeDiffers={};for(let _ of Object.keys(X.supported)){let G=Z[_];this.leafDiffers[_]=G}for(let _ of Object.keys(Y.supported)){let G=Z[_];this.treeDiffers[_]=G}}diff(X,Y){if(X===Y)return{summary:"No Change"};let Z=this.leafRefinery.refine(X)??this.treeRefinery.refine(X),_=this.leafRefinery.refine(Y)??this.treeRefinery.refine(Y);if(Z!==null&&_!==null){if(Z.type===_.type){if(Z.type in this.leafDiffers)return this.leafDiffers[Z.type](Z.data,_.data);if(Z.type in this.treeDiffers)return this.treeDiffers[Z.type](Z.data,_.data,($,H)=>this.diff($,H))}}let G=C6(X),W=C6(Y);if(G===W)return{summary:`${G} \u2192 ${W}`};return{summary:`Type change: ${G} \u2192 ${W}`}}},qB=new hU(V7,L7,{number:PU,string:vU,boolean:xU,null:()=>({summary:"No Change"}),object:A7,array:fU});var kU=O8({key:"mutex",default:!1}),bU=class extends Map{set(X,Y){if(this.has(X))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:X,value:Y}),this;return super.set(X,Y)}},fB=class X{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(Y){this.key=Y}static existing=new bU;static create(Y,Z){let{type:_,globals:G,actions:W,perspectives:$}=Z(new X(Y)),H={type:_,key:Y,globals:G,actions:W,perspectives:$};return X.existing.set(Y,H),H}add(...Y){switch(Y[0].type){case"atom":case"mutable_atom":this.globals.push(...Y);break;case"transaction":this.actions.push(...Y);break;case"atom_family":case"mutable_atom_family":{let[Z,_]=Y;this.perspectives.push({type:"realtime_perspective",resourceAtoms:Z,viewAtoms:_})}break}return this}};var hB=E8({key:"usersInRoomIndex",class:W4}),M7=E8({key:"roomIndex",class:W4});var O2=L6({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(X)=>typeof X==="string",isBType:(X)=>typeof X==="string"}),kB=A6({key:"usersInMyRoomView",get:(X)=>({find:Y})=>{return[Y(kG(O2),X)]}});var oB=O8({key:"redactor",default:{occlude:(X)=>X}}),iB=O8({key:"unacknowledgedUpdates",default:()=>[]});var EZ=class{listeners;globalListeners;handleEvent(...X){let[Y,...Z]=X;for(let G of this.globalListeners)G(Y,...Z);let _=this.listeners.get(Y);if(_)for(let G of _)G(...Z)}id="no_id_retrieved";emit;constructor(X){this.emit=X,this.listeners=new Map,this.globalListeners=new Set}on(X,Y){let Z=this.listeners.get(X);if(Z)Z.add(Y);else this.listeners.set(X,new Set([Y]));return this}onAny(X){return this.globalListeners.add(X),this}off(X,Y){let Z=this.listeners.get(X);if(Z)if(Y)Z.delete(Y);else this.listeners.delete(X);return this}offAny(X){return this.globalListeners.delete(X),this}},nB=class extends EZ{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";proc;key;logger;handleLog(X){if(Array.isArray(X)){let[Y,...Z]=X;switch(Y){case"i":this.logger.info(...Z);break;case"w":this.logger.warn(...Z);break;case"e":this.logger.error(...Z);break}}}constructor(X,Y,Z){super((_,...G)=>{let W=JSON.stringify([_,...G])+"\x03",$=(H)=>{if(H.code==="EPIPE")console.error("EPIPE error during write",this.proc.stdin);this.proc.stdin.removeListener("error",$)};return this.proc.stdin.once("error",$),this.proc.stdin.write(W),this});if(this.proc=X,this.key=Y,this.logger=Z??{info:(..._)=>{console.info(this.id,this.key,..._)},warn:(..._)=>{console.warn(this.id,this.key,..._)},error:(..._)=>{console.error(this.id,this.key,..._)}},this.proc.stdout.on("data",(_)=>{let G=_.toString();if(G==="ALIVE"){this.logger.info(G);return}let W=G.split("\x03"),$=W[0];W[0]=this.incompleteData+$;let H=0;for(let Q of W){if(Q==="")continue;try{let J=X1(Q);this.handleEvent(...J),this.incompleteData=""}catch(J){if(J instanceof Error)console.error(["\u274C Malformed data received from child process","",Q,"",J.message].join(`
61
61
  \u274C `));try{if(H===0){this.incompleteData=Q;let z=X1($);this.handleEvent(...z),this.incompleteData=""}else this.incompleteData+=Q}catch(z){if(z instanceof Error)console.error(["\u274C Malformed data received from child process","",$,"",z.message].join(`
62
62
  \u274C `))}}++H}}),this.proc.stderr.on("data",(_)=>{let G=_.toString().split("\x03"),W=G[0];G[0]=this.incompleteData+W;let $=0;for(let H of G){if(H==="")continue;try{let Q=X1(H);this.handleLog(Q),this.incompleteData=""}catch(Q){if(Q instanceof Error)console.error(["\u274C Malformed log received from child process","",H,"",Q.message].join(`
@@ -13813,12 +13813,12 @@ try {
13813
13813
  }
13814
13814
  }
13815
13815
  try {
13816
- console.log(`\uD83D\uDE80 Granting privileges to ${env2.POSTGRES_USER} on ${env2.POSTGRES_DATABASE}... `);
13817
- await sql2`GRANT ALL PRIVILEGES ON DATABASE ${sql2(env2.POSTGRES_DATABASE)} TO ${sql2(env2.POSTGRES_USER)}`;
13816
+ console.log(`\uD83D\uDE80 Changing owner of ${env2.POSTGRES_DATABASE} to ${env2.POSTGRES_USER}...`);
13817
+ await sql2.unsafe(`ALTER DATABASE ${env2.POSTGRES_DATABASE} OWNER TO ${env2.POSTGRES_USER}`);
13818
13818
  console.log(`Done!`);
13819
13819
  } catch (thrown) {
13820
13820
  if (thrown instanceof Error) {
13821
- console.error(`\uD83D\uDCA5 Failed:`, thrown.message);
13821
+ console.error(`\uD83D\uDCA5 Failed to change ownership:`, thrown.message);
13822
13822
  }
13823
13823
  }
13824
13824
  await sql2.end();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tempest.games",
3
- "version": "0.2.63",
3
+ "version": "0.2.64",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -27,7 +27,7 @@
27
27
  "dependencies": {
28
28
  "@floating-ui/react": "0.27.16",
29
29
  "@js-temporal/polyfill": "0.5.1",
30
- "@react-email/components": "0.5.6",
30
+ "@react-email/components": "0.5.7",
31
31
  "@t3-oss/env-core": "0.13.8",
32
32
  "@trpc/client": "11.6.0",
33
33
  "@trpc/server": "11.6.0",
@@ -36,24 +36,25 @@
36
36
  "drizzle-orm": "0.44.6",
37
37
  "motion": "12.23.24",
38
38
  "nanoid": "5.1.6",
39
- "openai": "6.3.0",
39
+ "openai": "6.4.0",
40
40
  "postgres": "3.4.7",
41
41
  "react": "19.2.0",
42
42
  "react-dom": "19.2.0",
43
- "react-email": "4.3.0",
43
+ "react-email": "4.3.1",
44
44
  "resend": "6.1.3",
45
45
  "safegen": "0.7.0",
46
46
  "socket.io": "4.8.1",
47
47
  "socket.io-client": "4.8.1",
48
- "atom.io": "0.43.0",
49
48
  "safedeposit": "0.1.2",
49
+ "atom.io": "0.43.1",
50
50
  "treetrunks": "0.1.5"
51
51
  },
52
52
  "devDependencies": {
53
- "@react-email/components": "0.5.6",
53
+ "@react-email/components": "0.5.7",
54
+ "@react-email/preview-server": "4.3.1",
54
55
  "@types/bun": "npm:bun-types@1.3.0",
55
56
  "@types/cors": "2.8.19",
56
- "@types/node": "24.7.2",
57
+ "@types/node": "24.8.1",
57
58
  "@types/react": "19.2.2",
58
59
  "@types/react-dom": "19.2.2",
59
60
  "@vitejs/plugin-react": "npm:@vitejs/plugin-react-swc@4.1.0",
@@ -70,8 +71,8 @@
70
71
  "vite": "7.1.10",
71
72
  "vite-tsconfig-paths": "5.1.4",
72
73
  "vitest": "3.2.4",
73
- "varmint": "0.5.6",
74
- "flightdeck": "0.2.85"
74
+ "flightdeck": "0.2.86",
75
+ "varmint": "0.5.6"
75
76
  },
76
77
  "scripts": {
77
78
  "dev": "bun run env:dev && concurrently \"bun:dev:*\"",