tempest.games 0.2.48 → 0.2.49

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
3
  var Oj=Object.create;var{getPrototypeOf:wj,defineProperty:_W,getOwnPropertyNames:Dj}=Object;var Ej=Object.prototype.hasOwnProperty;var PN=($,X,Y)=>{Y=$!=null?Oj(wj($)):{};let U=X||!$||!$.__esModule?_W(Y,"default",{value:$,enumerable:!0}):Y;for(let G of Dj($))if(!Ej.call(U,G))_W(U,G,{get:()=>$[G],enumerable:!0});return U};var IN=($,X)=>()=>(X||$((X={exports:{}}).exports,X),X.exports);var D2=($,X)=>{for(var Y in X)_W($,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(U)=>X[Y]=()=>U})};var rm=($,X)=>()=>($&&(X=$($=0)),X);var xN=import.meta.require;var fM=IN((Nd,bM)=>{var fY=xN("os"),hY=xN("path");function kM($){let X=process.env.XDG_CACHE_HOME||hY.join(fY.homedir(),".cache");return hY.join(X,$)}function XS($){return hY.join(fY.homedir(),"Library","Caches",$)}function YS($){let X=process.env.LOCALAPPDATA||hY.join(fY.homedir(),"AppData","Local");return hY.join(X,$,"Cache")}var GS=function(){switch(fY.platform()){case"darwin":return XS;case"win32":return YS;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return kM;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${fY.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),kM}}();bM.exports=function $(X){if(typeof X!=="string")throw new TypeError("id is not a string");if(X.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test(X))throw new Error("id cannot contain special characters");return GS(X)}});var VJ=IN((cl,jO)=>{var pU=process||{},ZJ=pU.argv||[],cU=pU.env||{},_S=!(!!cU.NO_COLOR||ZJ.includes("--no-color"))&&(!!cU.FORCE_COLOR||ZJ.includes("--color")||pU.platform==="win32"||(pU.stdout||{}).isTTY&&cU.TERM!=="dumb"||!!cU.CI),qS=($,X,Y=$)=>(U)=>{let G=""+U,z=G.indexOf(X,$.length);return~z?$+RS(G,X,Y,z)+X:$+G+X},RS=($,X,Y,U)=>{let G="",z=0;do G+=$.substring(z,U)+Y,z=U+X.length,U=$.indexOf(X,z);while(~U);return G+$.substring(z)},HJ=($=_S)=>{let X=$?qS:()=>String;return{isColorSupported:$,reset:X("\x1B[0m","\x1B[0m"),bold:X("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:X("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:X("\x1B[3m","\x1B[23m"),underline:X("\x1B[4m","\x1B[24m"),inverse:X("\x1B[7m","\x1B[27m"),hidden:X("\x1B[8m","\x1B[28m"),strikethrough:X("\x1B[9m","\x1B[29m"),black:X("\x1B[30m","\x1B[39m"),red:X("\x1B[31m","\x1B[39m"),green:X("\x1B[32m","\x1B[39m"),yellow:X("\x1B[33m","\x1B[39m"),blue:X("\x1B[34m","\x1B[39m"),magenta:X("\x1B[35m","\x1B[39m"),cyan:X("\x1B[36m","\x1B[39m"),white:X("\x1B[37m","\x1B[39m"),gray:X("\x1B[90m","\x1B[39m"),bgBlack:X("\x1B[40m","\x1B[49m"),bgRed:X("\x1B[41m","\x1B[49m"),bgGreen:X("\x1B[42m","\x1B[49m"),bgYellow:X("\x1B[43m","\x1B[49m"),bgBlue:X("\x1B[44m","\x1B[49m"),bgMagenta:X("\x1B[45m","\x1B[49m"),bgCyan:X("\x1B[46m","\x1B[49m"),bgWhite:X("\x1B[47m","\x1B[49m"),blackBright:X("\x1B[90m","\x1B[39m"),redBright:X("\x1B[91m","\x1B[39m"),greenBright:X("\x1B[92m","\x1B[39m"),yellowBright:X("\x1B[93m","\x1B[39m"),blueBright:X("\x1B[94m","\x1B[39m"),magentaBright:X("\x1B[95m","\x1B[39m"),cyanBright:X("\x1B[96m","\x1B[39m"),whiteBright:X("\x1B[97m","\x1B[39m"),bgBlackBright:X("\x1B[100m","\x1B[49m"),bgRedBright:X("\x1B[101m","\x1B[49m"),bgGreenBright:X("\x1B[102m","\x1B[49m"),bgYellowBright:X("\x1B[103m","\x1B[49m"),bgBlueBright:X("\x1B[104m","\x1B[49m"),bgMagentaBright:X("\x1B[105m","\x1B[49m"),bgCyanBright:X("\x1B[106m","\x1B[49m"),bgWhiteBright:X("\x1B[107m","\x1B[49m")}};jO.exports=HJ();jO.exports.createColors=HJ});function E6($){return JSON.parse($)}var p$=($)=>JSON.stringify($),om=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];function $X($){return j5(N6.STORE,$,void 0)}function u9($){return XX(N6.STORE,$)}function RW(...$){return L1(N6.STORE,...$)}function R5($,X){return uN(N6.STORE,$,X)}function SN($){return pN($,N6.STORE)}var A0={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 qW=($)=>(X,Y,U,G,...z)=>{console[$](`${X} ${A0[Y]} \`${U}\` ${G}`,...z)},Nj={error:qW("error"),info:qW("info"),warn:qW("warn")},kN=class{logLevel;filter;logger;constructor($,X,Y=Nj){this.logLevel=$,this.filter=X,this.logger=Y}error=(...$)=>{if(this.logLevel!==null){let X=this.filter?.(...$)??!0;if(X===!0)this.logger.error(...$);else if(X)this.logger.error(...X)}};info=(...$)=>{if(this.logLevel==="info"){let X=this.filter?.(...$)??!0;if(X===!0)this.logger.info(...$);else if(X)this.logger.info(...X)}};warn=(...$)=>{if(this.logLevel!=="error"&&this.logLevel!==null){let X=this.filter?.(...$)??!0;if(X===!0)this.logger.warn(...$);else if(X)this.logger.warn(...X)}}};var bN=class{store;deallocateTX;claimTX;constructor($=N6.STORE){this.store=$,this.deallocateTX=hN($),this.claimTX=gN($),fN("root",$)}allocate($,X,Y){B5(this.store,$,X,Y)}deallocate($){v5(this.store,this.deallocateTX,TW())($)}claim($,X,Y){p9(this.store,$,X,Y)}};function T5($){return vW(N6.STORE,$)}function c9($){return d9(N6.STORE,$)}var L0=class $ extends Set{mode="record";subject=new g$;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(X,Y=0){super(X);if(X instanceof $)this.parent=X,this.cacheUpdateNumber=X.cacheUpdateNumber;if(Y)this.cacheLimit=Y,this.cache=new Array(Y),this.subscribe("auto cache",(U)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=U})}READONLY_VIEW=this;toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(X){let Y=new $(X.members,X.cacheLimit);return Y.cache=X.cache,Y.cacheIdx=X.cacheIdx,Y.cacheUpdateNumber=X.cacheUpdateNumber,Y}add(X){let Y=super.add(X);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${p$(X)}`);return Y}clear(){let X=this.mode==="record"?[...this]:null;if(super.clear(),X)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(X)}`)}delete(X){let Y=super.delete(X);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${p$(X)}`);return Y}parent=null;child=null;transactionUpdates=null;transaction(X){this.mode="transaction",this.transactionUpdates=[],this.child=new $(this);let Y=this.child._subscribe("transaction",(U)=>{this.transactionUpdates?.push(U)});try{if(X(this.child)){for(let G of this.transactionUpdates)this.doStep(G);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(U){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",U),U}finally{Y(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(X,Y){return this.subject.subscribe(X,Y)}subscribe(X,Y){return this.subject.subscribe(X,(U)=>{Y(`${this.cacheUpdateNumber}=${U}`)})}emit(X){this.subject.next(X)}doStep(X){let Y=X.indexOf(":"),U=X.substring(0,Y),G=X.substring(Y+1);switch(U){case"add":this.add(JSON.parse(G));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(G));break;case"tx":for(let z of G.split(";"))this.doStep(z)}}getUpdateNumber(X){let Y=X.indexOf("=");return Number(X.substring(0,Y))}do(X){let Y=X.indexOf("="),U=Number(X.substring(0,Y)),G=U-this.cacheUpdateNumber;if(G>0){if(G===1){this.mode="playback";let W=X.substring(Y+1);return this.doStep(W),this.mode="record",this.cacheUpdateNumber=U,null}return this.cacheUpdateNumber+1}if(Math.abs(G)<this.cacheLimit){let W=this.cacheIdx+G;if(this.cache[W]===X)return null;this.mode="playback";let Z=!1;while(!Z){this.cacheIdx%=this.cacheLimit;let V=this.cache[this.cacheIdx];if(this.cacheIdx--,!V)return"OUT_OF_RANGE";this.undo(V),Z=this.cacheIdx===W-1}let H=X.substring(Y+1);return this.doStep(H),this.mode="record",this.cacheUpdateNumber=U,null}return"OUT_OF_RANGE"}undoStep(X){let Y=X.indexOf(":"),U=X.substring(0,Y),G=X.substring(Y+1);switch(U){case"add":this.delete(JSON.parse(G));break;case"del":this.add(JSON.parse(G));break;case"clear":{let z=JSON.parse(G);for(let W of z)this.add(W);break}case"tx":{let z=G.split(";");for(let W=z.length-1;W>=0;W--)this.undoStep(z[W])}}}undo(X){let Y=X.indexOf("=");if(Number(X.substring(0,Y))===this.cacheUpdateNumber){this.mode="playback";let G=X.substring(Y+1);return this.undoStep(G),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}};function TW($=Math.random){return $().toString(36).slice(2)}function j$($){while($.child!==null)$=$.child;return $}function Mj($){while($.parent!==null)$=$.parent;return $}var Jj=class ${_buffer;_index=0;constructor(X){let Y;if(typeof X==="number")Y=X;else Y=X.length;this._buffer=Array.from({length:Y})}get buffer(){return this._buffer}get index(){return this._index}add(X){this._buffer[this._index]=X,this._index=(this._index+1)%this._buffer.length}copy(){let X=new $([...this._buffer]);return X._index=this._index,X}};function h1($){let X={key:$.key,type:$.type};if("family"in $)X.family=$.family;return X}var Aj=Symbol("counterfeit"),Lj={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"};function dN($,X,Y){let U=p$(X),G=`${$.key}(${U})`,z=Lj[$.type],W={key:G,type:z,family:{key:$.key,subKey:U}};if(Y)W.counterfeit=!0;return W}var f1=class extends Map{deleted=new Set;changed=new Set;source;constructor($){super();this.source=$}get($){if(super.has($))return super.get($);if(!this.deleted.has($)&&this.source.has($))return this.source.get($);return}set($,X){if(this.deleted.delete($),this.source.has($))this.changed.add($);return super.set($,X)}hasOwn($){return super.has($)}has($){return!this.deleted.has($)&&(super.has($)||this.source.has($))}delete($){if(this.source.has($))this.deleted.add($),this.changed.delete($);return super.delete($)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let[$,X]of this.source)if(!this.deleted.has($)&&!this.changed.has($))yield[$,X]}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(let $ of this.source.keys())if(!this.deleted.has($)&&!this.changed.has($))yield $}*values(){for(let[,$]of this[Symbol.iterator]())yield $}forEach($){for(let[X,Y]of this[Symbol.iterator]())$(Y,X,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},nN=class extends Set{deleted=new Set;source;constructor($){super();this.source=$}add($){if(this.source.has($))return this.deleted.delete($),this;return super.add($)}hasOwn($){return super.has($)}has($){return!this.deleted.has($)&&(super.has($)||this.source.has($))}delete($){if(this.source.has($))return this.deleted.add($),!0;return super.delete($)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let $ of this.source)if(!this.deleted.has($))yield $}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Kj=class extends Map{deleted=new Set;source;constructor($){super();this.source=$}get($){if(super.has($))return super.get($);if(!this.deleted.has($)&&this.source.has($)){let Y=this.source.get($),U=new nN(Y);return super.set($,U),U}return}set($,X){return this.deleted.delete($),super.set($,X)}has($){return!this.deleted.has($)&&(super.has($)||this.source.has($))}delete($){return this.deleted.add($),super.delete($)}},K0=class ${a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(X,Y)=>`${X}:${Y}`;warn;getRelatedKeys(X){return this.relations.get(X)}addRelation(X,Y){let U=this.relations.get(X),G=this.relations.get(Y);if(U)U.add(Y);else U=new Set([Y]),this.relations.set(X,U);if(G)G.add(X);else G=new Set([X]),this.relations.set(Y,G)}deleteRelation(X,Y){let U=this.relations.get(X);if(U){if(U.delete(Y),U.size===0)this.relations.delete(X);let G=this.relations.get(Y);if(G){if(G.delete(X),G.size===0)this.relations.delete(Y)}}}replaceRelationsUnsafely(X,Y){this.relations.set(X,new Set(Y));for(let U of Y){let G=new Set().add(X);this.relations.set(U,G)}}replaceRelationsSafely(X,Y){let U=this.relations.get(X),G=this.isAType?.(X)?X:void 0,z=G===void 0?X:void 0;if(U)for(let W of U){G??=W,z??=W;let Q=this.relations.get(W);if(Q){if(Q.size===1)this.relations.delete(W);else Q.delete(X);this.contents.delete(this.makeContentKey(G,z))}}this.relations.set(X,new Set(Y));for(let W of Y){let Q=this.relations.get(W);if(Q)Q.add(X);else Q=new Set().add(X),this.relations.set(W,Q)}}getContentInternal(X){return this.contents.get(X)}setContent(X,Y){this.contents.set(X,Y)}deleteContent(X){this.contents.delete(X)}constructor(X,Y){if(this.a=X.between[0],this.b=X.between[1],this.cardinality=X.cardinality,this.isAType=Y?.isAType??null,this.isBType=Y?.isBType??null,this.isContent=Y?.isContent??null,Y?.makeContentKey)this.makeContentKey=Y.makeContentKey;if(!Y?.externalStore){let U=Y?.source;if(U===void 0)this.relations=new Map(X.relations?.map(([G,z])=>[G,new Set(z)])),this.contents=new Map(X.contents);if(U)this.relations=new Kj(U.relations),this.contents=new f1(U.contents)}if(Y?.externalStore){let U=Y.externalStore;if(this.has=(G,z)=>U.has(G,z),this.addRelation=(G,z)=>{U.addRelation(G,z)},this.deleteRelation=(G,z)=>{U.deleteRelation(G,z)},this.replaceRelationsSafely=(G,z)=>{U.replaceRelationsSafely(G,z)},this.replaceRelationsUnsafely=(G,z)=>{U.replaceRelationsUnsafely(G,z)},this.getRelatedKeys=(G)=>U.getRelatedKeys(G),U.getContent)this.getContentInternal=(G)=>{return U.getContent(G)},this.setContent=(G,z)=>{U.setContent(G,z)},this.deleteContent=(G)=>{U.deleteContent(G)};for(let[G,z]of X.relations??[]){let W=this.isAType?.(G)?G:void 0,Q=W===void 0?G:void 0;for(let Z of z)W??=Z,Q??=Z,this.addRelation(W,Q)}for(let[G,z]of X.contents??[])this.setContent(G,z)}if(Y?.warn)this.warn=Y.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([X,Y])=>[X,[...Y]]),contents:[...this.contents.entries()]}}set(...X){let Y,U,G;switch(X.length){case 1:{let z=X[0];Y=z[this.a],U=z[this.b],G=void 0;break}case 2:{let z=X[0];if(typeof z==="string")[Y,U]=X;else Y=z[this.a],U=z[this.b],G=X[1];break}default:Y=X[0],U=X[1],G=X[2];break}switch(this.cardinality){case"1:1":{let z=this.getRelatedKey(Y);if(z&&z!==U)this.delete(Y,z)}case"1:n":{let z=this.getRelatedKey(U);if(z&&z!==Y)this.delete(z,U)}break;case"n:n":}if(G){let z=this.makeContentKey(Y,U);this.setContent(z,G)}return this.addRelation(Y,U),this}delete(X,Y){Y=typeof Y==="string"?Y:X[this.b];let U=typeof X==="string"?X:X[this.a];if(U===void 0&&typeof Y==="string"){let G=this.getRelatedKeys(Y);if(G)for(let z of G)this.delete(z,Y)}else if(typeof U==="string"&&Y===void 0){let G=this.getRelatedKeys(U);if(G)for(let z of G)this.delete(U,z)}else if(typeof U==="string"&&typeof Y==="string"){this.deleteRelation(U,Y);let G=this.makeContentKey(U,Y);this.deleteContent(G)}return this}getRelatedKey(X){let Y=this.getRelatedKeys(X);if(Y){if(Y.size>1)this.warn?.(`${Y.size} related keys were found for key "${X}": (${[...Y].map((G)=>`"${G}"`).join(", ")}). Only one related key was expected.`);let U;for(let G of Y){U=G;break}return U}}replaceRelations(X,Y,U){let G=!Array.isArray(Y),z=G?Object.keys(Y):Y;if(U?.reckless)this.replaceRelationsUnsafely(X,z);else this.replaceRelationsSafely(X,z);if(G)for(let W of z){let Q=this.makeContentKey(X,W),Z=Y[W];this.setContent(Q,Z)}return this}getContent(X,Y){let U=this.makeContentKey(X,Y);return this.getContentInternal(U)}getRelationEntries(X){let Y=X[this.a],U=X[this.b];if(Y!==void 0&&U===void 0){let G=this.getRelatedKeys(Y);if(G)return[...G].map((z)=>{return[z,this.getContent(Y,z)]})}if(Y===void 0&&U!==void 0){let G=this.getRelatedKeys(U);if(G)return[...G].map((z)=>{return[z,this.getContent(z,U)]})}return[]}has(X,Y){if(Y)return this.getRelatedKeys(X)?.has(Y)??!1;return this.relations.has(X)}overlay(){let X={source:this,makeContentKey:this.makeContentKey};if(this.isAType)X.isAType=this.isAType;if(this.isBType)X.isBType=this.isBType;if(this.isContent)X.isContent=this.isContent;if(this.warn)X.warn=this.warn;return new $({between:[this.a,this.b],cardinality:this.cardinality},X)}incorporate(X){let{relations:Y,contents:U}=X;for(let[G,z]of Y)if(z instanceof nN){let{source:W}=z;for(let Q of z.iterateOwn())W.add(Q)}else this.relations.set(G,z);for(let G of Y.deleted)this.relations.delete(G);for(let[G,z]of U)this.contents.set(G,z);for(let G of U.deleted)this.contents.delete(G)}},g$=class{Subscriber;subscribers=new Map;subscribe($,X){return this.subscribers.set($,X),()=>{this.unsubscribe($)}}unsubscribe($){this.subscribers.delete($)}next($){let X=this.subscribers.values();for(let Y of X)Y($)}},_j=class extends g${state;constructor($){super();this.state=$}next($){this.state=$,super.next($)}},qj=($,X)=>{let Y=j$($);if(Y.operation.open)return Y.operation.prev.get(X.key);return Y.valueMap.get(X.key)};function tN($,X,Y,U){let G=$.disposalTraces.buffer.find((z)=>z?.key===p$(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:
4
- ${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}}}var jW=class extends Promise{fate;resolve;reject;done=!1;constructor($){let X,Y;super((U,G)=>{X=U,Y=G});this.resolve=X,this.reject=Y,this.use($ instanceof Promise?$:new Promise($))}pass($,X){if($===this.fate)this.resolve(X),this.done=!0}fail($,X){if($===this.fate)this.reject(X),this.done=!0}use($){if(this===$)return;if($ instanceof Promise){let X=$;this.fate=X,X.then((Y)=>{this.pass(X,Y)},(Y)=>{this.fail(X,Y)})}else this.resolve($),this.fate=void 0}};function YX($){return"epoch"in $.transactionMeta}function y6($){return"phase"in $.transactionMeta}function aN($,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}"${y6($)?` ${$.transactionMeta.phase} "${$.transactionMeta.update.token.key}"`:""}`),$}function sN($){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 eN=($,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)},I5=($,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 kW($,X){let Y=j$($),{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(eN(Y,W))continue;XF(Y,W),I5(Y,W)}}}function $F($,X){let Y=j$($),U=Y.selectorGraph.getRelationEntries({upstreamSelectorKey:X}).filter(([G,{source:z}])=>z===X);for(let[G]of U){if(eN(Y,G))continue;XF(Y,G),I5(Y,G),$F($,G)}}function g6($,X,Y){let{key:U,subject:G,type:z}=X,W=$.valueMap.get(U);if(W instanceof jW&&!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 jW(Y);return $.valueMap.set(U,Q),Q.then(function Z(H){if($.valueMap.get(U)===Q){switch(aN($,X),g6($,X,H),z){case"atom":case"mutable_atom":kW($,X);break;case"readonly_pure_selector":case"writable_pure_selector":$F($,U);break}sN($),G.next({newValue:H,oldValue:Q})}}).catch((Z)=>{$.logger.error("\uD83D\uDCA5","state",U,"rejected:",Z)}),Q}return $.logger.info("\uD83D\uDCDD",X.type,X.key,"writing to cache",Y),$.valueMap.set(U,Y),Y}function Rj($,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"&&y6($)){let z=X,{parent:W}=$;if($.valueMap.hasOwn(z.key))return U;let Q=W.valueMap.get(z.key);$.logger.info("\uD83D\uDCC3","atom",z.key,"copying");let Z=Q.toJSON(),H=z.class.fromJSON(Z);$.valueMap.set(z.key,H),new pW(z,W),U=H}return U}function XF($,X){let Y=$.valueMap.get(X);if(Y instanceof jW){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")}var Tj=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function i9($){let X=Object.prototype.toString.call($);return Tj.test(X)}function s2($,X,Y){if($.valueMap.has(X.key))return Rj($,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"readonly_pure_selector":case"writable_pure_selector":{let G;$.logger.info("\uD83E\uDDEE",X.type,U,"computing value");try{if(G=X.getFrom($),G instanceof Promise)return G.catch((W)=>{if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return g6($,X,W)}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return g6($,X,W)}throw W}return g6($,X,G)}case"atom":{let G;if(i9(X.default))try{if(G=X.default(),G instanceof Promise)G=G.catch((W)=>{if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return G=g6($,X,W),G}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return G=g6($,X,W),$.logger.info("\u2728",X.type,U,"computed default",G),G}throw W}else G=X.default,$.logger.info("\u2728",X.type,U,"using static default",G);return g6($,X,G)}case"mutable_atom":{let G=new X.class;return $.logger.info("\u2728",X.type,U,"created new instance",G),g6($,X,G)}}}function bW($,X){return _4($,{key:X.family.key,type:`${X.type}_family`})}var o9=Symbol("MUST_CREATE");function n9($,X,Y,U){let G=p$(Y),z=$.molecules.get(G);if(!z&&$.config.lifespan==="immortal")return $.logger.warn("\uD83D\uDCA3","key",G,"was used to mint a counterfeit token for",X.type,`"${X.key}"`),dN(X,Y,Aj);let Q;if(U===o9){if($.logger.info("\uD83D\uDC6A",X.type,X.key,"adds member",typeof Y==="string"?`\`${Y}\``:Y),Q=X(Y),z)$.moleculeData.set(G,X.key)}else Q=dN(X,Y);return Q}var vj=($)=>{$.logger.info("\uD83E\uDE82","transaction",$.transactionMeta.update.token.key,"Aborting transaction"),$.parent.child=null};function v5($,X,Y){return(...U)=>{return _4($,X).run(U,Y)}}function PW($,X){if(i9($))return $(X);return $}var IW=($,X,Y)=>{let U=s2($,X,"mut"),G=PW(Y,U);return $.logger.info("\u2B50","atom",X.key,"setting value",G),G=g6($,X,G),I5($,X.key),kW($,X),{oldValue:U,newValue:G}};function lN($,X){switch(X.type){case"mutable_atom":return IW($,X,new X.class);case"atom":{let Y=X.default;if(i9(Y))Y=Y();return IW($,X,Y)}}}function Cj($,X){let Y;switch(X.type){case"atom":case"mutable_atom":Y=lN($,X);break;case"writable_pure_selector":case"writable_held_selector":{let U=X.getFrom($),G=P5($,X.key);for(let W of G.values()){let Q=lN($,W);zF($,X,Q,!1)}let z=X.getFrom($);Y={oldValue:U,newValue:z}}break}return Y}function A1($,...X){fW($,SW,...X)}var xW=Symbol("RESET");function C5($,...X){let Y=[...X,xW];A1($,...Y)}function Bj($,X,Y){let U,G,z,{type:W,key:Q}=X;switch(X.type){case"writable_pure_selector":U=s2($,X,"mut"),G=PW(Y,U),G=g6($,X,G);break;case"writable_held_selector":z=X.const,PW(Y,z),U=z,G=z}return $.logger.info("\u2B50",W,Q,"setting to",G),I5($,Q),X.setSelf(G),{oldValue:U,newValue:G}}var jj=($,X,Y)=>{let U;switch(X.type){case"atom":case"mutable_atom":U=IW($,X,Y);break;case"writable_pure_selector":case"writable_held_selector":U=Bj($,X,Y);break}return U};function Pj($,X,Y){let{token:U,update:{newValue:G,oldValue:z}}=X;A1($,U,Y==="newValue"?G:z)}function Ij($){let{stack:X}=$;if(X)return`
4
+ ${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}}}var jW=class extends Promise{fate;resolve;reject;done=!1;constructor($){let X,Y;super((U,G)=>{X=U,Y=G});this.resolve=X,this.reject=Y,this.use($ instanceof Promise?$:new Promise($))}pass($,X){if($===this.fate)this.resolve(X),this.done=!0}fail($,X){if($===this.fate)this.reject(X),this.done=!0}use($){if(this===$)return;if($ instanceof Promise){let X=$;this.fate=X,X.then((Y)=>{this.pass(X,Y)},(Y)=>{this.fail(X,Y)})}else this.resolve($),this.fate=void 0}};function YX($){return"epoch"in $.transactionMeta}function y6($){return"phase"in $.transactionMeta}function aN($,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}"${y6($)?` ${$.transactionMeta.phase} "${$.transactionMeta.update.token.key}"`:""}`),$}function sN($){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 eN=($,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)},I5=($,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 kW($,X){let Y=j$($),{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(eN(Y,W))continue;XF(Y,W),I5(Y,W)}}}function $F($,X){let Y=j$($),U=Y.selectorGraph.getRelationEntries({upstreamSelectorKey:X}).filter(([G,{source:z}])=>z===X);for(let[G]of U){if(eN(Y,G))continue;XF(Y,G),I5(Y,G),$F($,G)}}function g6($,X,Y){let{key:U,subject:G,type:z}=X,W=$.valueMap.get(U);if(W instanceof jW&&!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 jW(Y);return $.valueMap.set(U,Q),Q.then(function Z(H){if($.valueMap.get(U)===Q){switch(aN($,X),g6($,X,H),z){case"atom":case"mutable_atom":kW($,X);break;case"readonly_pure_selector":case"writable_pure_selector":$F($,U);break}sN($),G.next({newValue:H,oldValue:Q})}}).catch((Z)=>{$.logger.error("\uD83D\uDCA5","state",U,"rejected:",Z)}),Q}return $.logger.info("\uD83D\uDCDD",X.type,X.key,"writing to cache",Y),$.valueMap.set(U,Y),Y}function Rj($,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"&&y6($)){let z=X,{parent:W}=$;if($.valueMap.hasOwn(z.key))return U;let Q=W.valueMap.get(z.key);$.logger.info("\uD83D\uDCC3","atom",z.key,"copying");let Z=Q.toJSON(),H=z.class.fromJSON(Z);$.valueMap.set(z.key,H),new pW(z,W),U=H}return U}function XF($,X){let Y=$.valueMap.get(X);if(Y instanceof jW){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")}var Tj=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function i9($){let X=Object.prototype.toString.call($);return Tj.test(X)}function s2($,X,Y){if($.valueMap.has(X.key))return Rj($,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"readonly_pure_selector":case"writable_pure_selector":{let G;$.logger.info("\uD83E\uDDEE",X.type,U,"computing value");try{if(G=X.getFrom($),G instanceof Promise)return G.catch((W)=>{if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return g6($,X,W)}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return g6($,X,W)}throw W}return g6($,X,G)}case"atom":{let G;if(i9(X.default))try{if(G=X.default(),G instanceof Promise)G=G.catch((W)=>{if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return G=g6($,X,W),G}throw W})}catch(W){if($.logger.error("\uD83D\uDCA5",X.type,U,"rejected:",W),X.catch){for(let Q of X.catch)if(W instanceof Q)return G=g6($,X,W),$.logger.info("\u2728",X.type,U,"computed default",G),G}throw W}else G=X.default,$.logger.info("\u2728",X.type,U,"using static default",G);return g6($,X,G)}case"mutable_atom":{let G=new X.class;return $.logger.info("\u2728",X.type,U,"created new instance",G),g6($,X,G)}}}function bW($,X){return _4($,{key:X.family.key,type:`${X.type}_family`})}var o9=Symbol("MUST_CREATE");function n9($,X,Y,U){let G=p$(Y),z=$.molecules.get(G);if(!z&&$.config.lifespan==="immortal")return $.logger.warn("\uD83D\uDCA3","key",G,"was used to mint a counterfeit token for",X.type,`"${X.key}"`),dN(X,Y,Aj);let Q;if(U===o9){if($.logger.info("\uD83D\uDC6A",X.type,X.key,"adds member",typeof Y==="string"?`\`${Y}\``:Y),Q=X.create(Y),z)$.moleculeData.set(G,X.key)}else Q=dN(X,Y);return Q}var vj=($)=>{$.logger.info("\uD83E\uDE82","transaction",$.transactionMeta.update.token.key,"Aborting transaction"),$.parent.child=null};function v5($,X,Y){return(...U)=>{return _4($,X).run(U,Y)}}function PW($,X){if(i9($))return $(X);return $}var IW=($,X,Y)=>{let U=s2($,X,"mut"),G=PW(Y,U);return $.logger.info("\u2B50","atom",X.key,"setting value",G),G=g6($,X,G),I5($,X.key),kW($,X),{oldValue:U,newValue:G}};function lN($,X){switch(X.type){case"mutable_atom":return IW($,X,new X.class);case"atom":{let Y=X.default;if(i9(Y))Y=Y();return IW($,X,Y)}}}function Cj($,X){let Y;switch(X.type){case"atom":case"mutable_atom":Y=lN($,X);break;case"writable_pure_selector":case"writable_held_selector":{let U=X.getFrom($),G=P5($,X.key);for(let W of G.values()){let Q=lN($,W);zF($,X,Q,!1)}let z=X.getFrom($);Y={oldValue:U,newValue:z}}break}return Y}function A1($,...X){fW($,SW,...X)}var xW=Symbol("RESET");function C5($,...X){let Y=[...X,xW];A1($,...Y)}function Bj($,X,Y){let U,G,z,{type:W,key:Q}=X;switch(X.type){case"writable_pure_selector":U=s2($,X,"mut"),G=PW(Y,U),G=g6($,X,G);break;case"writable_held_selector":z=X.const,PW(Y,z),U=z,G=z}return $.logger.info("\u2B50",W,Q,"setting to",G),I5($,Q),X.setSelf(G),{oldValue:U,newValue:G}}var jj=($,X,Y)=>{let U;switch(X.type){case"atom":case"mutable_atom":U=IW($,X,Y);break;case"writable_pure_selector":case"writable_held_selector":U=Bj($,X,Y);break}return U};function Pj($,X,Y){let{token:U,update:{newValue:G,oldValue:z}}=X;A1($,U,Y==="newValue"?G:z)}function Ij($){let{stack:X}=$;if(X)return`
5
5
  `+X.split(`
6
6
  `)?.slice(1)?.join(`
7
7
  `);return""}function fN($,X=N6.STORE){let Y={key:$,stringKey:p$($),dependsOn:"any"};return X.molecules.set(p$($),Y),$}function B5($,X,Y,U="any"){let G=X,z=p$(Y),W=[],Q=j$($);if(Array.isArray(G))for(let V of G){let O=p$(V);if(Q.molecules.get(O))$.moleculeGraph.set(O,z,{source:O});else W.push(O)}else{let V=p$(G);if(Q.molecules.get(V))$.moleculeGraph.set(V,z,{source:V});else W.push(V)}if(W.length===0)Q.molecules.set(z,{key:Y,stringKey:z,dependsOn:U});let Z={type:"molecule_creation",key:Y,provenance:G,timestamp:Date.now()};if(y6(Q)&&Q.transactionMeta.phase==="building")Q.transactionMeta.update.subEvents.push(Z);else Q.on.moleculeCreation.next(Z);for(let V of W){let O=$.disposalTraces.buffer.find((w)=>w?.key===V);$.logger.error("\u274C","key",Y,"allocation failed:",`Could not allocate to ${V} in store "${$.config.name}".`,O?`
@@ -12,7 +12,7 @@ ${w.trace}`:`No previous disposal trace for ${Y} was found.`);return}let G=$.mol
12
12
  ${G} was most recently disposed
13
13
  ${w.trace}`:`No previous disposal trace for ${G} was found.`),Y}let Q=p$(X),Z=z.molecules.get(Q);if(!Z){let w=$.disposalTraces.buffer.find((D)=>D?.key===Q);return $.logger.error("\u274C","key",Y,"claim failed:",`Could not allocate to ${Q} in store "${$.config.name}".`,w?`
14
14
  ${Q} was most recently disposed
15
- ${w.trace}`:`No previous disposal trace for ${Q} was found.`),Y}let H=$.moleculeGraph.getRelationEntries({downstreamMoleculeKey:W.stringKey}).filter(([,{source:w}])=>w!==G).map(([w])=>E6(w));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(y6(z)&&z.transactionMeta.phase==="building")z.transactionMeta.update.subEvents.push(V);return Y}function xj($,X,Y){switch(Y){case"newValue":YF($,X);break;case"oldValue":l9($,X.token);break}}function Sj($,X,Y){switch(Y){case"newValue":l9($,X.token);break;case"oldValue":if(YF($,X),X.subType==="atom")$.valueMap.set(X.token.key,X.value);break}}function YF($,X){let{token:Y}=X;if(X.subType==="writable"&&X.value)A1($,Y,X.value);else L1($,Y)}function kj($,X,Y){switch(Y){case"newValue":B5($,X.provenance,X.key);break;case"oldValue":x5($,X.key);break}}function bj($,X,Y){switch(Y){case"newValue":x5($,X.key);break;case"oldValue":{let U=X.provenance.map(E6);B5($,U,X.key);for(let[G,z]of X.values){let W=$.families.get(G);if(W){L1($,W,X.key);let Q=`${G}(${p$(X.key)})`;$.valueMap.set(Q,z)}}}break}}function fj($,X,Y){switch(Y){case"newValue":for(let U of X.to)p9($,U,X.key,X.exclusive?"exclusive":void 0);break;case"oldValue":{let U="exclusive";for(let G of X.from)p9($,G,X.key,U),U=void 0}break}}function GF($,X,Y){let U=Y==="newValue"?X.subEvents:[...X.subEvents].reverse();for(let G of U)switch(G.type){case"atom_update":Pj($,G,Y);break;case"state_creation":xj($,G,Y);break;case"state_disposal":Sj($,G,Y);break;case"molecule_creation":kj($,G,Y);break;case"molecule_disposal":bj($,G,Y);break;case"molecule_transfer":fj($,G,Y);break;case"transaction_outcome":GF($,G,Y);break}}function UF($,X){return $.transactionMeta.actionContinuities.getRelatedKey(X)}function hj($,X){return $.transactionMeta.epoch.get(X)}function gj($,X){let Y=UF($,X);if(Y===void 0)return;return hj($,Y)}function yj($,X,Y){let U=UF($,X);if(U!==void 0)$.transactionMeta.epoch.set(U,Y)}function mj($,X){let Y=j$($),{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),GF(U,Y.transactionMeta.update,"newValue"),YX(U))yj(U,Y.transactionMeta.update.token.key,Y.transactionMeta.update.epoch),_4($,{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(y6(U))U.transactionMeta.update.subEvents.push(Y.transactionMeta.update);U.on.transactionApplying.next(null)}function uj($){return{store:$}}var cj=($,X,Y,U)=>{let G=j$($),z={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new f1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new f1(G.families),joins:new f1(G.joins),operation:{open:!1},readonlySelectors:new f1(G.readonlySelectors),timelines:new f1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new f1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new f1(G.writableSelectors),valueMap:new f1(G.valueMap),defaults:G.defaults,disposalTraces:$.disposalTraces.copy(),molecules:new f1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),moleculeJoins:G.moleculeJoins.overlay(),miscResources:new f1(G.miscResources)},W=gj($,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)=>L1(Z,...H),set:(...H)=>{A1(Z,...H)},reset:(...H)=>{C5(Z,...H)},run:(H,V=TW())=>v5(Z,H,V),find:(...H)=>K4($,...H),json:(H)=>e2(Z,H),dispose:(...H)=>{l9(Z,...H)},env:()=>uj(Z)}},Z=Object.assign(z,{transactionMeta:Q});return G.child=Z,$.logger.info("\uD83D\uDEEB","transaction",X.key,"building with params:",Y),Z};function d9($,X){let{key:Y}=X,U=$.transactions.has(Y),G={key:Y,type:"transaction",run:(Q,Z)=>{let H=h1(G),V=cj($,H,Q,Z);try{let{toolkit:O}=V.transactionMeta,w=X.do(O,...Q);return mj(V,w),w}catch(O){throw vj(V),$.logger.warn("\uD83D\uDCA5","transaction",Y,"caught:",O),O}},install:(Q)=>d9(Q,X),subject:new g$};j$($).transactions.set(Y,G);let W=h1(G);if(!U)$.on.transactionCreation.next(W);return W}function zF($,X,{oldValue:Y,newValue:U},G,z){let W=h1(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 D=j$($);if(W.family){if(YX(D))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(y6(D)&&D.on.transactionApplying.state===null)D.transactionMeta.update.subEvents.push(O)}return}let{key:Q,subject:Z,type:H}=X,V={oldValue:BW(Y)?Y.READONLY_VIEW:Y,newValue:BW(U)?U.READONLY_VIEW:U};if(YX($)){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(y6($)&&(H==="mutable_atom"||H==="atom")){if($.on.transactionApplying.state===null){if(BW(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(VF(X,"tracker:signal")){let O=Q.slice(1),w=$.atoms.get(O);if(s2($,w,"mut").do(V.newValue)===null===!0)kW($,w)}}}var SW=Symbol("OWN_OP"),pj=Symbol("JOIN_OP");function fW($,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=bW($,z),Q=E6(z.family.subKey),U=t9($,W,Q),!U)z=G=n9($,W,Q,o9);else z=U}else if(W=_4($,Y[0]),Q=Y[1],Z=Y[2],U=t9($,W,Q),!U)z=G=n9($,W,Q,o9);else z=U;let H=Z===xW?"reset":"set",V;if(X===SW){let E=aN($,z);if(typeof E==="number"){let J=E,A=$.on.operationClose.subscribe(`waiting to ${H} "${z.key}" at T-${J}`,function L(){A(),$.logger.info("\uD83D\uDFE2",z.type,z.key,"resuming deferred",H,`from T-${J}`),fW($,X,z,Z)});return}V=E}else V=$;if("counterfeit"in z&&"family"in z){let E=z.family.subKey,F=$.disposalTraces.buffer.find((J)=>J?.key===E);$.logger.error("\u274C",z.type,z.key,"could not be",H,"because key",E,"is not allocated.",F?`this key was previously disposed:${F.trace}`:"(no previous disposal trace found)");return}let O=_4(V,z),w;if(Z===xW)w=Cj(V,O);else w=jj(V,O,Z);let D=Boolean(G);if(zF(V,O,w,D,W),X===SW)sN(V)}var WF=($,X)=>j$($).atoms.has(X),dj=($,X)=>j$($).writableSelectors.has(X),lj=($,X)=>j$($).readonlySelectors.has(X),rj=($,X)=>WF($,X)||dj($,X)||lj($,X);function rN($,X){return j$($).selectorGraph.getRelationEntries({downstreamSelectorKey:X}).filter(([U,{source:G}])=>G!==X).map(([U,{source:G}])=>G).filter((U)=>rj($,U))}function P5($,X,Y=new Set){let U=rN($,X),G=new Map;while(U.length>0){let z=U.pop();if(Y.has(z))continue;if(Y.add(z),WF($,z)){let W=$.atoms.get(z);G.set(W.key,W)}else U.push(...rN($,z))}return G}function ij($,X,Y,U,G){let z=j$($),{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=P5($,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 S5($,X,Y,U){return{get:(...G)=>{let z=j$($),{token:W,family:Q,subKey:Z}=cW($,...G),H;if("counterfeit"in W&&Q&&Z)H=tN($,W,Q,Z);else{let V=_4($,W);H=s2($,V)}return $.logger.info("\uD83D\uDD0C",X,Y,`registers dependency ( "${W.key}" =`,H,")"),z.selectorGraph.set({upstreamSelectorKey:W.key,downstreamSelectorKey:Y},{source:W.key}),ij($,X,Y,W,U),H},set:(...G)=>{let z=j$($);fW(z,pj,...G)},find:(...G)=>K4($,...G),json:(G)=>e2($,G)}}function hW($,X,Y){let U=j$($),G=new g$,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}=S5(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),g6(F,D,Q),$.logger.info("\u2728","readonly_held_selector",W,"=",Q),z.clear(),Q},install:(F)=>hW(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 gW($,X,Y){let U=j$($),G=new g$,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}=S5(U,"readonly_pure_selector",W,z),w={...X,type:"readonly_pure_selector",subject:G,getFrom:()=>{let E=j$($),F=E.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[L,{source:T}]of F)if(T!==W)E.selectorGraph.delete(L,W);E.selectorAtoms.delete(W);let J=X.get({get:Z,find:H,json:V}),A=g6(E,w,J);return $.logger.info("\u2728","readonly_pure_selector",W,"=",A),z.clear(),A},install:(E)=>gW(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 yW($,X,Y){let U=j$($),G=new g$,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=S5(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 T=L.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[q,{source:v}]of T)if(v!==W)L.selectorGraph.delete(q,W);return L.selectorAtoms.delete(W),X.get(D,Q),g6(L,J,Q),$.logger.info("\u2728","writable_held_selector",W,"=",Q),z.clear(),Q},setSelf:()=>{X.set(H,Q)},install:(L)=>yW(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 mW($,X,Y){let U=j$($),G=new g$,z=new Set,W=X.key,Q="writable_pure_selector";$.logger.info("\uD83D\uDD28","writable_pure_selector",W,"is being created");let Z=S5(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[v,{source:I}]of L)if(I!==W)A.selectorGraph.delete(v,W);A.selectorAtoms.delete(W);let T=X.get(w),q=g6(A,F,T);return $.logger.info("\u2728","writable_pure_selector",W,"=",q),z.clear(),q},setSelf:(A)=>{X.set(Z,A)},install:(A)=>mW(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 yN($,X){let Y="set"in X,U="const"in X;if(U&&Y){let z=yW($,X,void 0);return $.on.selectorCreation.next(z),z}if(U){let z=hW($,X,void 0);return $.on.selectorCreation.next(z),z}if(Y){let z=mW($,X,void 0);return $.on.selectorCreation.next(z),z}let G=gW($,X,void 0);return $.on.selectorCreation.next(G),G}function oj($,X){let Y=j$($),{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 Q;switch(X.type){case"writable_held_selector":Y.writableSelectors.delete(U),Q={key:z.key,type:"writable_held_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"writable_pure_selector":Y.writableSelectors.delete(U),Q={key:z.key,type:"writable_pure_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_held_selector":Y.readonlySelectors.delete(U),Q={key:z.key,type:"readonly_held_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_pure_selector":Y.readonlySelectors.delete(U),Q={key:z.key,type:"readonly_pure_selector_family"},_4($,Q).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"),y6(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)}}function a2($,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)$.logger.error("\u2757","readonly_pure_selector_family",U,`Overwriting an existing ${A0[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 g$,H=Object.assign((V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($),F={key:D,get:X.get(V)};if(X.catch)F.catch=X.catch;return gW(E,F,w)},z,{internalRoles:Y,subject:Q,install:(V)=>a2(V,X),default:(V)=>{return X.get(V)({get:(...w)=>L1($,...w),find:(...w)=>K4($,...w),json:(w)=>e2($,w)})},...X.catch?{catch:X.catch}:{}});return $.families.set(U,H),z}function XX($,X,Y){let U={key:X.key,type:"atom_family"},G=$.families.get(X.key);if(G)$.logger.error("\u2757","atom_family",X.key,`Overwriting an existing ${A0[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 g$,Q=Object.assign((Z)=>{let H=p$(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=j$($),D=X.default,E={key:O,default:i9(D)?()=>D(Z):D};if(X.effects)E.effects=X.effects(Z);if(X.catch)E.catch=X.catch;return t2(w,E,V)},{...U,default:X.default,subject:z,install:(Z)=>XX(Z,X),internalRoles:Y,...X.catch?{catch:X.catch}:{}});if($.families.set(X.key,Q),i9(X.default)===!1)$.defaults.set(X.key,X.default);return U}function QF($,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)$.logger.error("\u2757","readonly_held_selector_family",U,`Overwriting an existing ${A0[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 g$,H=Object.assign((V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($);return hW(E,{key:D,const:X.const(V),get:X.get(V)},w)},z,{internalRoles:Y,subject:Q,install:(V)=>QF(V,X),default:X.const});return $.families.set(U,H),z}function ZF($,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)$.logger.error("\u2757","writable_held_selector_family",U,`Overwriting an existing ${A0[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 g$,H=Object.assign((V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($);return yW(E,{key:D,const:X.const(V),get:X.get(V),set:X.set(V)},w)},z,{internalRoles:Y,subject:Q,install:(V)=>ZF(V,X),default:X.const});return $.families.set(U,H),z}function uW($,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)$.logger.error("\u2757","writable_pure_selector_family",U,`Overwriting an existing ${A0[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 g$,H=Object.assign((V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($),F={key:D,get:X.get(V),set:X.set(V)};if(X.catch)F.catch=X.catch;return mW(E,F,w)},z,{internalRoles:Y,subject:Q,install:(V)=>uW(V,X),default:(V)=>{return X.get(V)({get:(...w)=>L1($,...w),find:(...w)=>K4($,...w),json:(w)=>e2($,w)})},...X.catch?{catch:X.catch}:{}});return $.families.set(U,H),z}function vW($,X){let Y="set"in X,U="const"in X;if(U&&Y)return ZF($,X,void 0);if(U)return QF($,X,void 0);if(Y)return uW($,X);return a2($,X)}function t9($,X,Y){let U=p$(Y),G=`${X.key}(${U})`,z=j$($),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 h1(W);return W}function K4($,X,Y){let U=_4($,X),G=t9($,X,Y);if(G)return G;return n9($,U,Y)}function l9($,...X){let Y;if(X.length===1)Y=X[0];else{let U=X[0],G=X[1];Y=K4($,U,G)}try{_4($,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":HF($,Y);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":oj($,Y);break}}function cW($,...X){let Y,U,G,z,W;if(X.length===1){if(W=X[0],"family"in W){let H=bW($,W);if(G=_4($,H),z=E6(W.family.subKey),Y=t9($,H,z),"counterfeit"in W)return{token:W,family:G,subKey:z,isNew:!1};if(!Y)U=n9($,H,z,o9),W=U;else W=Y}}else if(G=_4($,X[0]),z=X[1],Y=t9($,G,z),!Y)U=n9($,G,z,o9),W=U;else W=Y;let Q="counterfeit"in W;if(Boolean(U)&&Q===!1&&G){let H;switch(W.type){case"readonly_pure_selector":case"readonly_held_selector":H="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":H="writable";break}let V={type:"state_creation",subType:H,token:W,timestamp:Date.now()};G.subject.next(V);let w=j$($);if(W.family){if(YX(w))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(y6(w)&&w.on.transactionApplying.state===null)w.transactionMeta.update.subEvents.push(V)}}return{token:W,family:G,subKey:z,isNew:Boolean(U)}}function L1($,...X){let{token:Y,family:U,subKey:G}=cW($,...X);if("counterfeit"in Y&&U&&G)return tN($,Y,U,G);let z=_4($,Y);return s2($,z)}var iN=($,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=qj($,X),z=s2($,X);$.logger.info("\u2728",X.type,X.key,"went",G,"->",z),X.subject.next({newValue:z,oldValue:G})})};function a9($,X,Y,U){function G(O){if($.operation.open){let w=$.on.operationClose.subscribe(`state subscription ${Y}`,()=>{w(),U(O)})}else U(O)}cW($,X);let z=_4($,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){s2($,z);for(let[O,w]of P5($,z.key))Q.set(O,iN($,z,w));Z=function O(w){let D=P5($,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,iN($,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()}}function _4($,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 aj(X,$)}var nj=($,X,Y,U)=>{let G=_4($,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 pW=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=t2(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=Y.config.name,z=y6(Y)?Y.transactionMeta.update.token.key:"main",W=`tracker:${G}:${z}:${U}`,Q=(H)=>{A1(Y,X,H)},Z=L1(Y,$);this.unsubscribeFromInnerValue=Z.subscribe(W,Q),this.unsubscribeFromState=a9(Y,$,W,function H(V){if(V.newValue!==V.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=V.newValue.subscribe(W,Q)}.bind(this))}supplySignalsToCore($,X,Y){let U=`tracker:${Y.config.name}:${y6(Y)?Y.transactionMeta.update.token.key:"main"}:${$.key}`;a9(Y,X,U,function G({newValue:z,oldValue:W}){let Q=Y.timelineTopics.getRelatedKey(X.key);if(Q&&Y.timelines.get(Q)?.timeTraveling){let O=nj(Y,{key:Q,type:"timeline"},U,function w(D){O(),A1(Y,$,(E)=>{if(D==="redo"&&z)E.do(z);else if(D==="undo"&&W)E.undo(W);return E})});return}let Z=L1(Y,$),H=Z.getUpdateNumber(z),V=H-Z.cacheUpdateNumber;if(z&&V===1)A1(Y,$,(O)=>(O.do(z),O));else{let O=Z.cacheUpdateNumber+1;Y.logger.info("\u274C","mutable_atom",$.key,"could not be updated. Expected update number",O,"but got",H)}})}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor($,X){let Y=j$(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 j5($,X,Y){$.logger.info("\uD83D\uDD28","atom",X.key,`creating in store "${$.config.name}"`);let U=j$($),{key:G}=X,z=U.atoms.get(G),W="mutable_atom";if(z&&z.type===W)return $.logger.error("\u274C",W,G,"Tried to create atom, but it already exists in the store."),h1(z);let Q=new g$,Z={...X,type:W,install:(V)=>{return V.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${V.config.name}"`),j5(V,X,Y)},subject:Q};if(Y)Z.family=Y;U.atoms.set(Z.key,Z);let H=h1(Z);if(X.effects){let V=0,O=[];for(let w of X.effects){let D=w({resetSelf:()=>{C5($,H)},setSelf:(E)=>{A1($,H,E)},onSet:(E)=>a9($,H,`effect[${V}]`,E)});if(D)O.push(D);++V}Z.cleanup=()=>{for(let w of O)w()}}if(new pW(H,$),!Y)yN($,{key:`${G}:JSON`,get:({get:V})=>V(H).toJSON(),set:({set:V},O)=>{V(H,X.class.fromJSON(O))}});return $.on.atomCreation.next(H),H}var tj=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor($,X){let Y=XX(X,{key:`*${$.key}`,default:null},["mutable","updates"]);this.latestSignalAtoms=_4(X,Y),this.mutableAtoms=$;let U=(G)=>{let{type:z,token:W}=G;if(W.family){let Q=E6(W.family.subKey);switch(z){case"state_creation":this.trackers.set(Q,new pW(W,X));break;case"state_disposal":{let Z=this.trackers.get(Q);if(Z)Z[Symbol.dispose](),this.trackers.delete(Q)}}}};this.mutableAtoms.subject.subscribe(`store=${X.config.name}::tracker-atom-family`,U)}};function CW($,X,Y){let U={key:X.key,type:"mutable_atom_family"},G=$.families.get(X.key);if(G)$.logger.error("\u2757","mutable_atom_family",X.key,`Overwriting an existing ${A0[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 g$,Q=Object.assign((Z)=>{let H=p$(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=j$($),D={key:O,class:X.class};if(X.effects)D.effects=X.effects(Z);return j5(w,D,V)},U,{class:X.class,subject:z,install:(Z)=>CW(Z,X),internalRoles:Y});return $.families.set(X.key,Q),uW($,{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 tj(Q,$),U}var oN=($,X)=>{let Y=j$(X),U=`${$.key}:JSON`;return Y.families.get(U)},e2=($,X)=>{if(X.family){let U=j$($),z={key:`${X.family.key}:JSON`,type:"writable_pure_selector_family"},W=_4(U,z),Q=E6(X.family.subKey);return K4($,W,Q)}return{type:"writable_pure_selector",key:`${X.key}:JSON`}};var dW=($)=>{let Y={type:"atom",key:`*${$.key}`};if($.family)Y.family={key:`*${$.family.key}`,subKey:$.family.subKey};return Y};function BW($){return typeof $==="object"&&$!==null&&"do"in $&&"undo"in $&&"subscribe"in $&&"cacheUpdateNumber"in $&&"getUpdateNumber"in $&&"READONLY_VIEW"in $&&"toJSON"in $}var mN=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 K0({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new K0({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 K0({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new K0({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Jj(100);molecules=new Map;moleculeJoins=new K0({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeGraph=new K0({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeData=new K0({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});miscResources=new Map;on={atomCreation:new g$,atomDisposal:new g$,selectorCreation:new g$,selectorDisposal:new g$,timelineCreation:new g$,transactionCreation:new g$,transactionApplying:new _j(null),operationClose:new g$,moleculeCreation:new g$,moleculeDisposal:new g$};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new kN("warn",($,X,Y)=>!GX(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},YX(X))this.transactionMeta={epoch:new Map(X?.transactionMeta.epoch),actionContinuities:new K0(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=e2(X,U),z=dW(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)}}},N6={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new mN({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function t2($,X,Y,U){let{key:z}=X;$.logger.info("\uD83D\uDD28","atom",z,"is being created");let W=j$($),Q=W.atoms.get(z);if(Q&&Q.type==="atom")return $.logger.error("\u274C","atom",z,"Tried to create atom, but it already exists in the store."),h1(Q);let Z=new g$,H={...X,type:"atom",install:(O)=>{return O.logger.info("\uD83D\uDEE0\uFE0F","atom",z,`installing in store "${O.config.name}"`),t2(O,X,Y)},subject:Z};if(Y)H.family=Y;if(U)H.internalRoles=U;W.atoms.set(z,H);let V=h1(H);if(X.effects){let O=0,w=[];for(let D of X.effects){let E=D({resetSelf:()=>{C5($,V)},setSelf:(F)=>{A1($,V,F)},onSet:(F)=>a9($,V,`effect[${O}]`,F)});if(E)w.push(E);++O}H.cleanup=()=>{for(let D of w)D()}}return $.on.atomCreation.next(V),V}function HF($,X){let Y=j$($),{key:U,family:G}=X,z=_4(Y,X);if(!G)$.logger.error("\u274C","atom",U,"Standalone atoms cannot be disposed.");else{z.cleanup?.();let W=$.valueMap.get(z.key),Q=bW($,X),H=_4($,Q).subject,V={type:"state_disposal",subType:"atom",token:X,value:W,timestamp:Date.now()};H.next(V);let O=y6(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"){let w=dW(X);HF($,w),$.trackers.delete(U)}if($.logger.info("\uD83D\uDD25","atom",U,"deleted"),O&&Y.transactionMeta.phase==="building"){let w=Y.transactionMeta.update.subEvents.at(-1),E=w?.type==="molecule_disposal"&&w.values.some(([J])=>J===z.family?.key),F=VF(z,"tracker:signal");if(!E&&!F)Y.transactionMeta.update.subEvents.push(V)}else $.on.atomDisposal.next(X)}}function VF($,X){if("internalRoles"in $===!1)return!1;return $.internalRoles.includes(X)}function H4($){return $[0].toUpperCase()+$.slice(1)}var OF=class{toolkit;options;defaultContent;relations;states;core;transact($,X){let Y=this.toolkit;this.toolkit=$,X(this),this.toolkit=Y}store;realm;[Symbol.dispose](){}constructor($,X,Y=N6.STORE){this.store=Y,this.realm=new bN(Y),this.options=$,this.defaultContent=X,this.store.miscResources.set(`join:${$.key}`,this),this.realm.allocate("root",$.key),this.toolkit={get:(...q)=>L1(Y,...q),set:(...q)=>{A1(Y,...q)},find:(...q)=>K4(Y,...q),json:(q)=>e2(Y,q)};let U=$.between[0],G=$.between[1],z=CW(Y,{key:`${$.key}/relatedKeys`,class:L0},["join","relations"]);this.core={relatedKeysAtoms:z};let W=({get:q},v)=>q(z,v),Q=({set:q},v,I)=>{if(!this.store.molecules.has(p$(v)))this.realm.allocate($.key,v);q(z,v,(S)=>S.add(I)),q(z,I,(S)=>S.add(v))},Z=({set:q},v,I)=>{q(z,v,(j)=>{return j.delete(I),j}),q(z,I,(j)=>{return j.delete(v),j});let[S,y]=[v,I].sort(),r=`${S}:${y}`;this.store.moleculeJoins.delete(r)},H=(q,v,I)=>{let{find:S,get:y,set:r}=q,j=S(z,v),X$=y(j);for(let l of X$){if(I.includes(l))continue;r(z,l,(L$)=>{return L$.delete(v),L$})}r(j,(l)=>{return l.transaction((W$)=>{W$.clear();for(let L$ of I){let b$=W(q,L$),L4=b$.has(v);if(this.relations.cardinality==="1:n"){let X6=[];for(let c of b$){if(c===v)continue;let H$=W(q,c);if(H$.delete(L$),H$.size===0)X6.push(c)}if(!L4&&b$.size>0)b$.clear();for(let c of X6){let[H$,f$]=[L$,c].sort(),n$=`${H$}:${f$}`;Y.moleculeJoins.delete(n$)}}if(!L4)b$.add(v);W$.add(L$)}return!0}),l})},V=(q,v,I)=>{let{set:S}=q;S(z,v,(y)=>{return y.transaction((r)=>{for(let j of I)r.add(j);return!0}),y});for(let y of I)S(z,y,(r)=>{return r.add(v),r});return!0},O=(q,v,I)=>{let S=W(q,v);return I?S.has(I):S.size>0},w={getRelatedKeys:(q)=>W(this.toolkit,q),addRelation:(q,v)=>{this.store.moleculeJoins.set(`"${q}"`,$.key),this.store.moleculeJoins.set(`"${v}"`,$.key),Q(this.toolkit,q,v)},deleteRelation:(q,v)=>{Z(this.toolkit,q,v)},replaceRelationsSafely:(q,v)=>{H(this.toolkit,q,v)},replaceRelationsUnsafely:(q,v)=>{V(this.toolkit,q,v)},has:(q,v)=>O(this.toolkit,q,v)},D,E;if(X){E=XX(Y,{key:`${$.key}/content`,default:X},["join","content"]);let q=({get:S},y)=>S(E,y),v=({set:S},y,r)=>{S(E,y,r)};D=Object.assign(w,{getContent:(S)=>{return q(this.toolkit,S)},setContent:(S,y)=>{v(this.toolkit,S,y)},deleteContent:(S)=>{}})}else D=w;let F=new K0($,{externalStore:D,isAType:$.isAType,isBType:$.isBType,makeContentKey:(...q)=>{let[v,I]=q,[S,y]=q.sort(),r=`${S}:${y}`,j=Y.molecules.get(p$(v)),X$=Y.molecules.get(p$(I));if(!j)this.realm.allocate($.key,v);if(!X$)this.realm.allocate($.key,I);return this.realm.allocate(v,r,"all"),this.realm.claim(I,r),this.store.moleculeJoins.set(r,$.key),r}}),J=()=>a2(Y,{key:`${$.key}/singleRelatedKey`,get:(q)=>({get:v})=>{let I=v(z,q);for(let S of I)return S;return null}},["join","keys"]),A=()=>{return a2(Y,{key:`${$.key}/multipleRelatedKeys`,get:(q)=>({get:v})=>{let I=oN(z,Y);return v(I,q).members}},["join","keys"])},L=()=>a2(Y,{key:`${$.key}/singleRelatedEntry`,get:(q)=>({get:v})=>{let I=v(z,q);for(let S of I){let y=F.isAType?.(q)?q:void 0,r=y===void 0?q:void 0;y??=S,r??=S;let j=F.makeContentKey(y,r),X$=v(E,j);return[S,X$]}return null}},["join","entries"]),T=()=>a2(Y,{key:`${$.key}/multipleRelatedEntries`,get:(q)=>({get:v})=>{let I=oN(z,Y);return v(I,q).members.map((y)=>{let r=F.isAType?.(q)?q:void 0,j=r===void 0?q:void 0;r??=y,j??=y;let X$=F.makeContentKey(r,j),l=v(E,X$);return[y,l]})}},["join","entries"]);switch($.cardinality){case"1:1":{let q=J(),v=`${U}KeyOf${H4(G)}`,I=`${G}KeyOf${H4(U)}`,S={[v]:q,[I]:q},y;if(X){let r=L(),j=`${U}EntryOf${H4(G)}`,X$=`${G}EntryOf${H4(U)}`,l={[j]:r,[X$]:r};y=Object.assign(S,l)}else y=S;this.relations=F,this.states=y;break}case"1:n":{let q=J(),v=A(),I=`${U}KeyOf${H4(G)}`,S=`${G}KeysOf${H4(U)}`,y={[I]:q,[S]:v},r;if(X){let j=L(),X$=T(),l=`${U}EntryOf${H4(G)}`,W$=`${G}EntriesOf${H4(U)}`,L$={[l]:j,[W$]:X$};r=Object.assign(y,L$)}else r=y;this.relations=F,this.states=r;break}case"n:n":{let q=A(),v=`${U}KeysOf${H4(G)}`,I=`${G}KeysOf${H4(U)}`,S={[v]:q,[I]:q},y;if(X){let r=T(),j=`${U}EntriesOf${H4(G)}`,X$=`${G}EntriesOf${H4(U)}`,l={[j]:r,[X$]:r};y=Object.assign(S,l)}else y=S;this.relations=F,this.states=y}}}};function uN($,X,Y){return $.joins.set(X.key,new OF(X,Y,$)),{key:X.key,type:"join",a:X.between[0],b:X.between[1],cardinality:X.cardinality}}function lW($,X){let Y=X.joins.get($.key);if(Y===void 0){let G=N6.STORE.joins.get($.key);if(G===void 0)throw new Error(`Join "${$.key}" not found in store "${X.config.name}"`);let z=Mj(X);Y=new OF(G.options,G.defaultContent,z),X.joins.set($.key,Y)}return Y}function r9($,X,Y){let U=lW($,Y),G=j$(Y);if(y6(G)){let{toolkit:z}=G.transactionMeta;U.transact(z,({relations:W})=>{X(W)})}else X(U.relations)}function cN($,X,Y){let U=lW($,Y),G;switch($.cardinality){case"1:1":{let z=`${$.a}KeyOf${H4($.b)}`,W=`${$.b}KeyOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntryOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntryOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}break}case"1:n":{let z=`${$.a}KeyOf${H4($.b)}`,W=`${$.b}KeysOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntryOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntriesOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}break}case"n:n":{let z=`${$.a}KeysOf${H4($.b)}`,W=`${$.b}KeysOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntriesOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntriesOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}}}return G}function pN($,X){return lW($,X).core.relatedKeysAtoms}var aj=class extends Error{constructor($,X){super(`${A0[$.type]} ${p$($.key)} not found in store "${X.config.name}".`)}};function GX($){return $.startsWith("\uD83D\uDD0D ")}var sj=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)}clear(){throw new Error("Cannot clear an InvariantMap")}},Ru=class ${type="continuity";globals=[];actions=[];perspectives=[];key;constructor(X){this.key=X}static existing=new sj;static create(X,Y){let U=new $(X),{type:G,globals:z,actions:W,perspectives:Q}=Y(U),Z={type:G,key:X,globals:z,actions:W,perspectives:Q};return $.existing.set(X,Z),Z}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[U,G]=X;this.perspectives.push({type:"realtime_perspective",resourceAtoms:U,viewAtoms:G})}break}return this}};var Tu=$X({key:"usersInRoomIndex",class:L0}),rW=$X({key:"roomIndex",class:L0}),ej={enteredAtEpoch:0},s9=R5({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:($)=>typeof $==="string",isBType:($)=>typeof $==="string"},ej),vu=T5({key:"usersInMyRoomView",get:($)=>({find:X})=>{let Y=SN(s9);return[X(Y,$)]}});import{spawn as $P}from"child_process";var iW=class{listeners;globalListeners;handleEvent($,...X){for(let U of this.globalListeners)U($,...X);let Y=this.listeners.get($);if(Y)for(let U of Y)U(...X)}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}},XP=class extends iW{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;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;default:return}}}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.process.stdin);this.process.stdin.removeListener("error",W)};return this.process.stdin.once("error",W),this.process.stdin.write(z),this});if(this.process=$,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.process.stdout.on("data",(U)=>{let G=U.toString();if(G==="ALIVE")return;this.unprocessedEvents.push(...G.split("\x03"));let z=this.unprocessedEvents.shift();this.incompleteData+=z??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let W=E6(this.incompleteData);this.handleEvent(...W);while(this.unprocessedEvents.length>0){let Q=this.unprocessedEvents.shift();if(Q){if(this.unprocessedEvents.length===0)this.incompleteData=Q;W=E6(Q),this.handleEvent(...W)}}this.incompleteData=""}catch(W){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(W)}}),this.process.stderr.on("data",(U)=>{let G=U.toString();this.unprocessedLogs.push(...G.split("\x03"));let z=this.unprocessedLogs.shift();this.incompleteLog+=z??"";try{let W=E6(this.incompleteLog);this.handleLog(W);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)W=E6(this.incompleteLog),this.handleLog(W)}catch(W){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(W),console.error("\u274C\u274C\u274C\uFE0F")}}),$.pid)this.id=$.pid.toString()}},YP=class extends iW{in;out;id="no_id_retrieved";disposalFunctions=[];constructor($){super((...X)=>{return this.out.next(X),this});this.id=$,this.in=new g$,this.out=new g$,this.in.subscribe("socket",(X)=>{this.handleEvent(...X)})}dispose(){for(let $ of this.disposalFunctions)$()}},wF=class extends iW{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...$){this.process.stderr.write(p$($.map((X)=>X instanceof L0?`{ ${X.toJSON().members.join(" | ")} }`:X))+"\x03")}logger={info:(...$)=>{this.log("i",...$)},warn:(...$)=>{this.log("w",...$)},error:(...$)=>{this.log("e",...$)}};constructor(){super(($,...X)=>{let Y=JSON.stringify([$,...X]);return this.process.stdout.write(Y+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",($)=>{let X=$.toString();this.unprocessedEvents.push(...X.split("\x03"));let Y=this.unprocessedEvents.shift();this.incompleteData+=Y??"";try{let U=E6(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",U),this.handleEvent(...U);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;let z=E6(G);this.handleEvent(...z)}}this.incompleteData=""}catch(U){if(U instanceof Error)this.logger.error("\u2757",U.message,U.cause,U.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",($)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${$}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",($)=>{this.logger.info("\uD83D\uDC64","user",$,"joined");let X=new YP(`user:${$}`);this.relays.set($,X),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let Y of this.relayServices){let U=Y(X);if(U)X.disposalFunctions.push(U)}this.on(`user:${$}`,(...Y)=>{X.in.next(Y)}),X.out.subscribe("socket",(Y)=>{this.emit(...Y)})}),this.on("user-leaves",($)=>{let X=this.relays.get($);if(this.off(`relay:${$}`),X)X.dispose(),this.relays.delete($)}),process.stdout.write("ALIVE")}relay($){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push($)}},DF=u9({key:"roomArguments",default:["echo",["Hello World!"]]}),GP=T5({key:"room",get:($)=>async({get:X,find:Y})=>{let U=Y(DF,$),G=X(U),[z,W]=G,Q=await new Promise((Z)=>{let H=$P(z,W,{env:process.env}),V=(O)=>{if(O.toString()==="ALIVE")H.stdout.off("data",V),Z(H)};H.stdout.on("data",V)});return new XP(Q,$)}}),fu=c9({key:"createRoom",do:({get:$,set:X,find:Y},U,G,z)=>{let W=z?[G,z]:[G],Q=Y(DF,U);X(Q,W),X(rW,(V)=>V.add(U));let Z=Y(GP,U);return $(Z)}}),hu=c9({key:"joinRoom",do:($,X,Y,U)=>{let G={enteredAtEpoch:U};return r9(s9,(z)=>{z.set({room:X,user:Y},G)},$.env().store),G}}),gu=c9({key:"leaveRoom",do:($,X,Y)=>{r9(s9,(U)=>{U.delete({room:X,user:Y})},$.env().store)}}),yu=c9({key:"destroyRoom",do:($,X)=>{r9(s9,(Y)=>{Y.delete({room:X})},$.env().store),$.set(rW,(Y)=>(Y.delete(X),Y))}});var mu=u9({key:"redactor",default:{occlude:($)=>$}}),uu=u9({key:"unacknowledgedUpdates",default:()=>[]}),cu=u9({key:"sockets",default:null}),pu=$X({key:"socketsIndex",class:L0}),du=$X({key:"usersIndex",class:L0}),lu=R5({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:($)=>$.startsWith("user::"),isBType:($)=>$.startsWith("socket::")});var kU={};D2(kU,{xid:()=>Gx,void:()=>Rx,uuidv7:()=>tI,uuidv6:()=>nI,uuidv4:()=>oI,uuid:()=>iI,url:()=>aI,uppercase:()=>KY,unknown:()=>TU,union:()=>xU,undefined:()=>_x,ulid:()=>Yx,uint64:()=>Lx,uint32:()=>Mx,tuple:()=>Ix,trim:()=>CY,treeifyError:()=>WQ,transform:()=>NO,toUpperCase:()=>jY,toLowerCase:()=>BY,toJSONSchema:()=>bV,templateLiteral:()=>mx,symbol:()=>Kx,superRefine:()=>BM,success:()=>gx,stringbool:()=>dx,stringFormat:()=>Dx,string:()=>dV,strictObject:()=>Bx,startsWith:()=>qY,size:()=>JY,setErrorMap:()=>ox,set:()=>kx,safeParseAsync:()=>pV,safeParse:()=>cV,registry:()=>t5,regexes:()=>G8,regex:()=>AY,refine:()=>CM,record:()=>GM,readonly:()=>KM,property:()=>vV,promise:()=>ux,prettifyError:()=>QQ,preprocess:()=>rx,prefault:()=>EM,positive:()=>_V,pipe:()=>BU,partialRecord:()=>xx,parseAsync:()=>uV,parse:()=>mV,overwrite:()=>v0,optional:()=>vU,object:()=>Cx,number:()=>cF,nullish:()=>hx,nullable:()=>CU,null:()=>iF,normalize:()=>vY,nonpositive:()=>RV,nonoptional:()=>NM,nonnegative:()=>TV,never:()=>jU,negative:()=>qV,nativeEnum:()=>bx,nanoid:()=>eI,nan:()=>yx,multipleOf:()=>W8,minSize:()=>Q8,minLength:()=>N2,mime:()=>TY,maxSize:()=>VX,maxLength:()=>OX,map:()=>Sx,lte:()=>K1,lt:()=>R0,lowercase:()=>LY,looseObject:()=>jx,locales:()=>NY,literal:()=>ZM,length:()=>wX,lazy:()=>RM,ksuid:()=>Ux,keyof:()=>vx,jwt:()=>wx,json:()=>lx,iso:()=>qU,ipv6:()=>Wx,ipv4:()=>zx,intersection:()=>XM,int64:()=>Ax,int32:()=>Fx,int:()=>lV,instanceof:()=>px,includes:()=>_Y,guid:()=>rI,gte:()=>u6,gt:()=>T0,globalRegistry:()=>e1,getErrorMap:()=>nx,function:()=>kV,formatError:()=>HY,float64:()=>Nx,float32:()=>Ex,flattenError:()=>ZY,file:()=>fx,enum:()=>WM,endsWith:()=>RY,emoji:()=>sI,email:()=>lI,e164:()=>Ox,discriminatedUnion:()=>Px,date:()=>Tx,custom:()=>cx,cuid2:()=>Xx,cuid:()=>$x,core:()=>C0,config:()=>v4,coerce:()=>AO,clone:()=>Y1,cidrv6:()=>Zx,cidrv4:()=>Qx,check:()=>vM,catch:()=>JM,boolean:()=>pF,bigint:()=>Jx,base64url:()=>Vx,base64:()=>Hx,array:()=>OO,any:()=>qx,_default:()=>wM,_ZodString:()=>rV,ZodXID:()=>$O,ZodVoid:()=>aF,ZodUnknown:()=>nF,ZodUnion:()=>wO,ZodUndefined:()=>lF,ZodUUID:()=>B0,ZodURL:()=>oV,ZodULID:()=>eV,ZodType:()=>T$,ZodTuple:()=>YM,ZodTransform:()=>EO,ZodTemplateLiteral:()=>_M,ZodSymbol:()=>dF,ZodSuccess:()=>FM,ZodStringFormat:()=>a$,ZodString:()=>xY,ZodSet:()=>zM,ZodRecord:()=>DO,ZodRealError:()=>DX,ZodReadonly:()=>LM,ZodPromise:()=>TM,ZodPrefault:()=>DM,ZodPipe:()=>JO,ZodOptional:()=>FO,ZodObject:()=>IU,ZodNumberFormat:()=>EX,ZodNumber:()=>SY,ZodNullable:()=>VM,ZodNull:()=>rF,ZodNonOptional:()=>MO,ZodNever:()=>tF,ZodNanoID:()=>tV,ZodNaN:()=>AM,ZodMap:()=>UM,ZodLiteral:()=>QM,ZodLazy:()=>qM,ZodKSUID:()=>XO,ZodJWT:()=>HO,ZodIssueCode:()=>ix,ZodIntersection:()=>$M,ZodISOTime:()=>KU,ZodISODuration:()=>_U,ZodISODateTime:()=>AU,ZodISODate:()=>LU,ZodIPv6:()=>GO,ZodIPv4:()=>YO,ZodGUID:()=>RU,ZodFile:()=>HM,ZodError:()=>pI,ZodEnum:()=>IY,ZodEmoji:()=>nV,ZodEmail:()=>iV,ZodE164:()=>ZO,ZodDiscriminatedUnion:()=>eF,ZodDefault:()=>OM,ZodDate:()=>PU,ZodCustomStringFormat:()=>uF,ZodCustom:()=>SU,ZodCatch:()=>MM,ZodCUID2:()=>sV,ZodCUID:()=>aV,ZodCIDRv6:()=>zO,ZodCIDRv4:()=>UO,ZodBoolean:()=>kY,ZodBigIntFormat:()=>VO,ZodBigInt:()=>bY,ZodBase64URL:()=>QO,ZodBase64:()=>WO,ZodArray:()=>sF,ZodAny:()=>oF,TimePrecision:()=>nH,NEVER:()=>oW,$output:()=>lH,$input:()=>rH,$brand:()=>nW});var C0={};D2(C0,{version:()=>GZ,util:()=>n,treeifyError:()=>WQ,toJSONSchema:()=>bV,toDotPath:()=>FF,safeParseAsync:()=>HQ,safeParse:()=>ZQ,registry:()=>t5,regexes:()=>G8,prettifyError:()=>QQ,parseAsync:()=>g5,parse:()=>f5,locales:()=>NY,isValidJWT:()=>kF,isValidBase64URL:()=>SF,isValidBase64:()=>RZ,globalRegistry:()=>e1,globalConfig:()=>e9,function:()=>kV,formatError:()=>HY,flattenError:()=>ZY,config:()=>v4,clone:()=>Y1,_xid:()=>ZU,_void:()=>JV,_uuidv7:()=>XU,_uuidv6:()=>$U,_uuidv4:()=>e5,_uuid:()=>s5,_url:()=>YU,_uppercase:()=>KY,_unknown:()=>HX,_union:()=>KI,_undefined:()=>EV,_ulid:()=>QU,_uint64:()=>wV,_uint32:()=>WV,_tuple:()=>CV,_trim:()=>CY,_transform:()=>PI,_toUpperCase:()=>jY,_toLowerCase:()=>BY,_templateLiteral:()=>yI,_symbol:()=>DV,_success:()=>bI,_stringbool:()=>IV,_stringFormat:()=>xV,_string:()=>iH,_startsWith:()=>qY,_size:()=>JY,_set:()=>vI,_safeParseAsync:()=>m5,_safeParse:()=>y5,_regex:()=>AY,_refine:()=>PV,_record:()=>RI,_readonly:()=>gI,_property:()=>vV,_promise:()=>uI,_positive:()=>_V,_pipe:()=>hI,_parseAsync:()=>h5,_parse:()=>b5,_overwrite:()=>v0,_optional:()=>II,_number:()=>$V,_nullable:()=>xI,_null:()=>NV,_normalize:()=>vY,_nonpositive:()=>RV,_nonoptional:()=>kI,_nonnegative:()=>TV,_never:()=>MV,_negative:()=>qV,_nativeEnum:()=>BI,_nanoid:()=>UU,_nan:()=>KV,_multipleOf:()=>W8,_minSize:()=>Q8,_minLength:()=>N2,_min:()=>u6,_mime:()=>TY,_maxSize:()=>VX,_maxLength:()=>OX,_max:()=>K1,_map:()=>TI,_lte:()=>K1,_lt:()=>R0,_lowercase:()=>LY,_literal:()=>jI,_length:()=>wX,_lazy:()=>mI,_ksuid:()=>HU,_jwt:()=>MU,_isoTime:()=>sH,_isoDuration:()=>eH,_isoDateTime:()=>tH,_isoDate:()=>aH,_ipv6:()=>OU,_ipv4:()=>VU,_intersection:()=>qI,_int64:()=>OV,_int32:()=>zV,_int:()=>YV,_includes:()=>_Y,_guid:()=>MY,_gte:()=>u6,_gt:()=>T0,_float64:()=>UV,_float32:()=>GV,_file:()=>BV,_enum:()=>CI,_endsWith:()=>RY,_emoji:()=>GU,_email:()=>a5,_e164:()=>FU,_discriminatedUnion:()=>_I,_default:()=>SI,_date:()=>AV,_custom:()=>jV,_cuid2:()=>WU,_cuid:()=>zU,_coercedString:()=>oH,_coercedNumber:()=>XV,_coercedDate:()=>LV,_coercedBoolean:()=>ZV,_coercedBigint:()=>VV,_cidrv6:()=>DU,_cidrv4:()=>wU,_catch:()=>fI,_boolean:()=>QV,_bigint:()=>HV,_base64url:()=>NU,_base64:()=>EU,_array:()=>PY,_any:()=>FV,TimePrecision:()=>nH,NEVER:()=>oW,JSONSchemaGenerator:()=>JU,JSONSchema:()=>gF,Doc:()=>d5,$output:()=>lH,$input:()=>rH,$constructor:()=>C,$brand:()=>nW,$ZodXID:()=>EZ,$ZodVoid:()=>hZ,$ZodUnknown:()=>ZX,$ZodUnion:()=>n5,$ZodUndefined:()=>SZ,$ZodUUID:()=>WZ,$ZodURL:()=>ZZ,$ZodULID:()=>DZ,$ZodType:()=>N$,$ZodTuple:()=>z8,$ZodTransform:()=>wY,$ZodTemplateLiteral:()=>GH,$ZodSymbol:()=>xZ,$ZodSuccess:()=>eZ,$ZodStringFormat:()=>l$,$ZodString:()=>U8,$ZodSet:()=>dZ,$ZodRegistry:()=>FY,$ZodRecord:()=>cZ,$ZodRealError:()=>WX,$ZodReadonly:()=>YH,$ZodPromise:()=>UH,$ZodPrefault:()=>aZ,$ZodPipe:()=>DY,$ZodOptional:()=>oZ,$ZodObject:()=>yZ,$ZodNumberFormat:()=>PZ,$ZodNumber:()=>i5,$ZodNullable:()=>nZ,$ZodNull:()=>kZ,$ZodNonOptional:()=>sZ,$ZodNever:()=>fZ,$ZodNanoID:()=>VZ,$ZodNaN:()=>XH,$ZodMap:()=>pZ,$ZodLiteral:()=>rZ,$ZodLazy:()=>zH,$ZodKSUID:()=>NZ,$ZodJWT:()=>BZ,$ZodIntersection:()=>uZ,$ZodISOTime:()=>JZ,$ZodISODuration:()=>AZ,$ZodISODateTime:()=>FZ,$ZodISODate:()=>MZ,$ZodIPv6:()=>KZ,$ZodIPv4:()=>LZ,$ZodGUID:()=>zZ,$ZodFunction:()=>SV,$ZodFile:()=>iZ,$ZodError:()=>QY,$ZodEnum:()=>lZ,$ZodEmoji:()=>HZ,$ZodEmail:()=>QZ,$ZodE164:()=>CZ,$ZodDiscriminatedUnion:()=>mZ,$ZodDefault:()=>tZ,$ZodDate:()=>gZ,$ZodCustomStringFormat:()=>jZ,$ZodCustom:()=>WH,$ZodCheckUpperCase:()=>tQ,$ZodCheckStringFormat:()=>QX,$ZodCheckStartsWith:()=>sQ,$ZodCheckSizeEquals:()=>dQ,$ZodCheckRegex:()=>oQ,$ZodCheckProperty:()=>$Z,$ZodCheckOverwrite:()=>YZ,$ZodCheckNumberFormat:()=>mQ,$ZodCheckMultipleOf:()=>yQ,$ZodCheckMinSize:()=>pQ,$ZodCheckMinLength:()=>rQ,$ZodCheckMimeType:()=>XZ,$ZodCheckMaxSize:()=>cQ,$ZodCheckMaxLength:()=>lQ,$ZodCheckLowerCase:()=>nQ,$ZodCheckLessThan:()=>c5,$ZodCheckLengthEquals:()=>iQ,$ZodCheckIncludes:()=>aQ,$ZodCheckGreaterThan:()=>p5,$ZodCheckEndsWith:()=>eQ,$ZodCheckBigIntFormat:()=>uQ,$ZodCheck:()=>O4,$ZodCatch:()=>$H,$ZodCUID2:()=>wZ,$ZodCUID:()=>OZ,$ZodCIDRv6:()=>qZ,$ZodCIDRv4:()=>_Z,$ZodBoolean:()=>VY,$ZodBigIntFormat:()=>IZ,$ZodBigInt:()=>o5,$ZodBase64URL:()=>vZ,$ZodBase64:()=>TZ,$ZodAsyncError:()=>_0,$ZodArray:()=>OY,$ZodAny:()=>bZ});var oW=Object.freeze({status:"aborted"});function C($,X,Y){function U(Q,Z){var H;Object.defineProperty(Q,"_zod",{value:Q._zod??{},enumerable:!1}),(H=Q._zod).traits??(H.traits=new Set),Q._zod.traits.add($),X(Q,Z);for(let V in W.prototype)if(!(V in Q))Object.defineProperty(Q,V,{value:W.prototype[V].bind(Q)});Q._zod.constr=W,Q._zod.def=Z}let G=Y?.Parent??Object;class z extends G{}Object.defineProperty(z,"name",{value:$});function W(Q){var Z;let H=Y?.Parent?new z:this;U(H,Q),(Z=H._zod).deferred??(Z.deferred=[]);for(let V of H._zod.deferred)V();return H}return Object.defineProperty(W,"init",{value:U}),Object.defineProperty(W,Symbol.hasInstance,{value:(Q)=>{if(Y?.Parent&&Q instanceof Y.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(W,"name",{value:$}),W}var nW=Symbol("zod_brand");class _0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var e9={};function v4($){if($)Object.assign(e9,$);return e9}var n={};D2(n,{unwrapMessage:()=>$Y,stringifyPrimitive:()=>o,required:()=>LP,randomString:()=>OP,propertyKeyTypes:()=>UY,promiseAllObject:()=>VP,primitiveTypes:()=>XQ,prefixIssues:()=>m6,pick:()=>NP,partial:()=>AP,optionalKeys:()=>YQ,omit:()=>FP,numKeys:()=>wP,nullish:()=>E2,normalizeParams:()=>d,merge:()=>JP,jsonStringifyReplacer:()=>aW,joinValues:()=>h,issue:()=>zQ,isPlainObject:()=>zX,isObject:()=>UX,getSizableOrigin:()=>zY,getParsedType:()=>DP,getLengthableOrigin:()=>WY,getEnumValues:()=>XY,getElementAtPath:()=>HP,floatSafeRemainder:()=>sW,finalizeIssue:()=>G1,extend:()=>MP,escapeRegex:()=>q0,esc:()=>$8,defineLazy:()=>y$,createTransparentProxy:()=>EP,clone:()=>Y1,cleanRegex:()=>GY,cleanEnum:()=>KP,captureStackTrace:()=>k5,cached:()=>YY,assignProp:()=>eW,assertNotEqual:()=>zP,assertNever:()=>QP,assertIs:()=>WP,assertEqual:()=>UP,assert:()=>ZP,allowsEval:()=>$Q,aborted:()=>X8,NUMBER_FORMAT_RANGES:()=>GQ,Class:()=>EF,BIGINT_FORMAT_RANGES:()=>UQ});function UP($){return $}function zP($){return $}function WP($){}function QP($){throw new Error}function ZP($){}function XY($){let X=Object.values($).filter((U)=>typeof U==="number");return Object.entries($).filter(([U,G])=>X.indexOf(+U)===-1).map(([U,G])=>G)}function h($,X="|"){return $.map((Y)=>o(Y)).join(X)}function aW($,X){if(typeof X==="bigint")return X.toString();return X}function YY($){return{get value(){{let Y=$();return Object.defineProperty(this,"value",{value:Y}),Y}throw new Error("cached value already set")}}}function E2($){return $===null||$===void 0}function GY($){let X=$.startsWith("^")?1:0,Y=$.endsWith("$")?$.length-1:$.length;return $.slice(X,Y)}function sW($,X){let Y=($.toString().split(".")[1]||"").length,U=(X.toString().split(".")[1]||"").length,G=Y>U?Y:U,z=Number.parseInt($.toFixed(G).replace(".","")),W=Number.parseInt(X.toFixed(G).replace(".",""));return z%W/10**G}function y$($,X,Y){Object.defineProperty($,X,{get(){{let G=Y();return $[X]=G,G}throw new Error("cached value already set")},set(G){Object.defineProperty($,X,{value:G})},configurable:!0})}function eW($,X,Y){Object.defineProperty($,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function HP($,X){if(!X)return $;return X.reduce((Y,U)=>Y?.[U],$)}function VP($){let X=Object.keys($),Y=X.map((U)=>$[U]);return Promise.all(Y).then((U)=>{let G={};for(let z=0;z<X.length;z++)G[X[z]]=U[z];return G})}function OP($=10){let Y="";for(let U=0;U<$;U++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function $8($){return JSON.stringify($)}var k5=Error.captureStackTrace?Error.captureStackTrace:(...$)=>{};function UX($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var $Q=YY(()=>{if(typeof navigator!=="undefined"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function zX($){if(UX($)===!1)return!1;let X=$.constructor;if(X===void 0)return!0;let Y=X.prototype;if(UX(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function wP($){let X=0;for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))X++;return X}var DP=($)=>{let X=typeof $;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map!=="undefined"&&$ instanceof Map)return"map";if(typeof Set!=="undefined"&&$ instanceof Set)return"set";if(typeof Date!=="undefined"&&$ instanceof Date)return"date";if(typeof File!=="undefined"&&$ instanceof File)return"file";return"object";default:throw new Error(`Unknown data type: ${X}`)}},UY=new Set(["string","number","symbol"]),XQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);function q0($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y1($,X,Y){let U=new $._zod.constr(X??$._zod.def);if(!X||Y?.parent)U._zod.parent=$;return U}function d($){let X=$;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function EP($){let X;return new Proxy({},{get(Y,U,G){return X??(X=$()),Reflect.get(X,U,G)},set(Y,U,G,z){return X??(X=$()),Reflect.set(X,U,G,z)},has(Y,U){return X??(X=$()),Reflect.has(X,U)},deleteProperty(Y,U){return X??(X=$()),Reflect.deleteProperty(X,U)},ownKeys(Y){return X??(X=$()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,U){return X??(X=$()),Reflect.getOwnPropertyDescriptor(X,U)},defineProperty(Y,U,G){return X??(X=$()),Reflect.defineProperty(X,U,G)}})}function o($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function YQ($){return Object.keys($).filter((X)=>{return $[X]._zod.optin==="optional"&&$[X]._zod.optout==="optional"})}var GQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},UQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function NP($,X){let Y={},U=$._zod.def;for(let G in X){if(!(G in U.shape))throw new Error(`Unrecognized key: "${G}"`);if(!X[G])continue;Y[G]=U.shape[G]}return Y1($,{...$._zod.def,shape:Y,checks:[]})}function FP($,X){let Y={...$._zod.def.shape},U=$._zod.def;for(let G in X){if(!(G in U.shape))throw new Error(`Unrecognized key: "${G}"`);if(!X[G])continue;delete Y[G]}return Y1($,{...$._zod.def,shape:Y,checks:[]})}function MP($,X){if(!zX(X))throw new Error("Invalid input to extend: expected a plain object");let Y={...$._zod.def,get shape(){let U={...$._zod.def.shape,...X};return eW(this,"shape",U),U},checks:[]};return Y1($,Y)}function JP($,X){return Y1($,{...$._zod.def,get shape(){let Y={...$._zod.def.shape,...X._zod.def.shape};return eW(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function AP($,X,Y){let U=X._zod.def.shape,G={...U};if(Y)for(let z in Y){if(!(z in U))throw new Error(`Unrecognized key: "${z}"`);if(!Y[z])continue;G[z]=$?new $({type:"optional",innerType:U[z]}):U[z]}else for(let z in U)G[z]=$?new $({type:"optional",innerType:U[z]}):U[z];return Y1(X,{...X._zod.def,shape:G,checks:[]})}function LP($,X,Y){let U=X._zod.def.shape,G={...U};if(Y)for(let z in Y){if(!(z in G))throw new Error(`Unrecognized key: "${z}"`);if(!Y[z])continue;G[z]=new $({type:"nonoptional",innerType:U[z]})}else for(let z in U)G[z]=new $({type:"nonoptional",innerType:U[z]});return Y1(X,{...X._zod.def,shape:G,checks:[]})}function X8($,X=0){for(let Y=X;Y<$.issues.length;Y++)if($.issues[Y]?.continue!==!0)return!0;return!1}function m6($,X){return X.map((Y)=>{var U;return(U=Y).path??(U.path=[]),Y.path.unshift($),Y})}function $Y($){return typeof $==="string"?$:$?.message}function G1($,X,Y){let U={...$,path:$.path??[]};if(!$.message){let G=$Y($.inst?._zod.def?.error?.($))??$Y(X?.error?.($))??$Y(Y.customError?.($))??$Y(Y.localeError?.($))??"Invalid input";U.message=G}if(delete U.inst,delete U.continue,!X?.reportInput)delete U.input;return U}function zY($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function WY($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function zQ(...$){let[X,Y,U]=$;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:U};return{...X}}function KP($){return Object.entries($).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class EF{constructor(...$){}}var NF=($,X)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:X,enumerable:!1}),Object.defineProperty($,"message",{get(){return JSON.stringify(X,aW,2)},enumerable:!0}),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},QY=C("$ZodError",NF),WX=C("$ZodError",NF,{Parent:Error});function ZY($,X=(Y)=>Y.message){let Y={},U=[];for(let G of $.issues)if(G.path.length>0)Y[G.path[0]]=Y[G.path[0]]||[],Y[G.path[0]].push(X(G));else U.push(X(G));return{formErrors:U,fieldErrors:Y}}function HY($,X){let Y=X||function(z){return z.message},U={_errors:[]},G=(z)=>{for(let W of z.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((Q)=>G({issues:Q}));else if(W.code==="invalid_key")G({issues:W.issues});else if(W.code==="invalid_element")G({issues:W.issues});else if(W.path.length===0)U._errors.push(Y(W));else{let Q=U,Z=0;while(Z<W.path.length){let H=W.path[Z];if(Z!==W.path.length-1)Q[H]=Q[H]||{_errors:[]};else Q[H]=Q[H]||{_errors:[]},Q[H]._errors.push(Y(W));Q=Q[H],Z++}}};return G($),U}function WQ($,X){let Y=X||function(z){return z.message},U={errors:[]},G=(z,W=[])=>{var Q,Z;for(let H of z.issues)if(H.code==="invalid_union"&&H.errors.length)H.errors.map((V)=>G({issues:V},H.path));else if(H.code==="invalid_key")G({issues:H.issues},H.path);else if(H.code==="invalid_element")G({issues:H.issues},H.path);else{let V=[...W,...H.path];if(V.length===0){U.errors.push(Y(H));continue}let O=U,w=0;while(w<V.length){let D=V[w],E=w===V.length-1;if(typeof D==="string")O.properties??(O.properties={}),(Q=O.properties)[D]??(Q[D]={errors:[]}),O=O.properties[D];else O.items??(O.items=[]),(Z=O.items)[D]??(Z[D]={errors:[]}),O=O.items[D];if(E)O.errors.push(Y(H));w++}}};return G($),U}function FF($){let X=[];for(let Y of $)if(typeof Y==="number")X.push(`[${Y}]`);else if(typeof Y==="symbol")X.push(`[${JSON.stringify(String(Y))}]`);else if(/[^\w$]/.test(Y))X.push(`[${JSON.stringify(Y)}]`);else{if(X.length)X.push(".");X.push(Y)}return X.join("")}function QQ($){let X=[],Y=[...$.issues].sort((U,G)=>U.path.length-G.path.length);for(let U of Y)if(X.push(`\u2716 ${U.message}`),U.path?.length)X.push(` \u2192 at ${FF(U.path)}`);return X.join(`
15
+ ${w.trace}`:`No previous disposal trace for ${Q} was found.`),Y}let H=$.moleculeGraph.getRelationEntries({downstreamMoleculeKey:W.stringKey}).filter(([,{source:w}])=>w!==G).map(([w])=>E6(w));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(y6(z)&&z.transactionMeta.phase==="building")z.transactionMeta.update.subEvents.push(V);return Y}function xj($,X,Y){switch(Y){case"newValue":YF($,X);break;case"oldValue":l9($,X.token);break}}function Sj($,X,Y){switch(Y){case"newValue":l9($,X.token);break;case"oldValue":if(YF($,X),X.subType==="atom")$.valueMap.set(X.token.key,X.value);break}}function YF($,X){let{token:Y}=X;if(X.subType==="writable"&&X.value)A1($,Y,X.value);else L1($,Y)}function kj($,X,Y){switch(Y){case"newValue":B5($,X.provenance,X.key);break;case"oldValue":x5($,X.key);break}}function bj($,X,Y){switch(Y){case"newValue":x5($,X.key);break;case"oldValue":{let U=X.provenance.map(E6);B5($,U,X.key);for(let[G,z]of X.values){let W=$.families.get(G);if(W){L1($,W,X.key);let Q=`${G}(${p$(X.key)})`;$.valueMap.set(Q,z)}}}break}}function fj($,X,Y){switch(Y){case"newValue":for(let U of X.to)p9($,U,X.key,X.exclusive?"exclusive":void 0);break;case"oldValue":{let U="exclusive";for(let G of X.from)p9($,G,X.key,U),U=void 0}break}}function GF($,X,Y){let U=Y==="newValue"?X.subEvents:[...X.subEvents].reverse();for(let G of U)switch(G.type){case"atom_update":Pj($,G,Y);break;case"state_creation":xj($,G,Y);break;case"state_disposal":Sj($,G,Y);break;case"molecule_creation":kj($,G,Y);break;case"molecule_disposal":bj($,G,Y);break;case"molecule_transfer":fj($,G,Y);break;case"transaction_outcome":GF($,G,Y);break}}function UF($,X){return $.transactionMeta.actionContinuities.getRelatedKey(X)}function hj($,X){return $.transactionMeta.epoch.get(X)}function gj($,X){let Y=UF($,X);if(Y===void 0)return;return hj($,Y)}function yj($,X,Y){let U=UF($,X);if(U!==void 0)$.transactionMeta.epoch.set(U,Y)}function mj($,X){let Y=j$($),{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),GF(U,Y.transactionMeta.update,"newValue"),YX(U))yj(U,Y.transactionMeta.update.token.key,Y.transactionMeta.update.epoch),_4($,{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(y6(U))U.transactionMeta.update.subEvents.push(Y.transactionMeta.update);U.on.transactionApplying.next(null)}function uj($){return{store:$}}var cj=($,X,Y,U)=>{let G=j$($),z={parent:G,child:null,on:G.on,loggers:G.loggers,logger:G.logger,config:G.config,atoms:new f1(G.atoms),atomsThatAreDefault:new Set(G.atomsThatAreDefault),families:new f1(G.families),joins:new f1(G.joins),operation:{open:!1},readonlySelectors:new f1(G.readonlySelectors),timelines:new f1(G.timelines),timelineTopics:G.timelineTopics.overlay(),trackers:new Map,transactions:new f1(G.transactions),selectorAtoms:G.selectorAtoms.overlay(),selectorGraph:G.selectorGraph.overlay(),writableSelectors:new f1(G.writableSelectors),valueMap:new f1(G.valueMap),defaults:G.defaults,disposalTraces:$.disposalTraces.copy(),molecules:new f1(G.molecules),moleculeGraph:G.moleculeGraph.overlay(),moleculeData:G.moleculeData.overlay(),moleculeJoins:G.moleculeJoins.overlay(),miscResources:new f1(G.miscResources)},W=gj($,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)=>L1(Z,...H),set:(...H)=>{A1(Z,...H)},reset:(...H)=>{C5(Z,...H)},run:(H,V=TW())=>v5(Z,H,V),find:(...H)=>K4($,...H),json:(H)=>e2(Z,H),dispose:(...H)=>{l9(Z,...H)},env:()=>uj(Z)}},Z=Object.assign(z,{transactionMeta:Q});return G.child=Z,$.logger.info("\uD83D\uDEEB","transaction",X.key,"building with params:",Y),Z};function d9($,X){let{key:Y}=X,U=$.transactions.has(Y),G={key:Y,type:"transaction",run:(Q,Z)=>{let H=h1(G),V=cj($,H,Q,Z);try{let{toolkit:O}=V.transactionMeta,w=X.do(O,...Q);return mj(V,w),w}catch(O){throw vj(V),$.logger.warn("\uD83D\uDCA5","transaction",Y,"caught:",O),O}},install:(Q)=>d9(Q,X),subject:new g$};j$($).transactions.set(Y,G);let W=h1(G);if(!U)$.on.transactionCreation.next(W);return W}function zF($,X,{oldValue:Y,newValue:U},G,z){let W=h1(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 D=j$($);if(W.family){if(YX(D))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(y6(D)&&D.on.transactionApplying.state===null)D.transactionMeta.update.subEvents.push(O)}return}let{key:Q,subject:Z,type:H}=X,V={oldValue:BW(Y)?Y.READONLY_VIEW:Y,newValue:BW(U)?U.READONLY_VIEW:U};if(YX($)){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(y6($)&&(H==="mutable_atom"||H==="atom")){if($.on.transactionApplying.state===null){if(BW(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(VF(X,"tracker:signal")){let O=Q.slice(1),w=$.atoms.get(O);if(s2($,w,"mut").do(V.newValue)===null===!0)kW($,w)}}}var SW=Symbol("OWN_OP"),pj=Symbol("JOIN_OP");function fW($,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=bW($,z),Q=E6(z.family.subKey),U=t9($,W,Q),!U)z=G=n9($,W,Q,o9);else z=U}else if(W=_4($,Y[0]),Q=Y[1],Z=Y[2],U=t9($,W,Q),!U)z=G=n9($,W,Q,o9);else z=U;let H=Z===xW?"reset":"set",V;if(X===SW){let E=aN($,z);if(typeof E==="number"){let J=E,A=$.on.operationClose.subscribe(`waiting to ${H} "${z.key}" at T-${J}`,function L(){A(),$.logger.info("\uD83D\uDFE2",z.type,z.key,"resuming deferred",H,`from T-${J}`),fW($,X,z,Z)});return}V=E}else V=$;if("counterfeit"in z&&"family"in z){let E=z.family.subKey,F=$.disposalTraces.buffer.find((J)=>J?.key===E);$.logger.error("\u274C",z.type,z.key,"could not be",H,"because key",E,"is not allocated.",F?`this key was previously disposed:${F.trace}`:"(no previous disposal trace found)");return}let O=_4(V,z),w;if(Z===xW)w=Cj(V,O);else w=jj(V,O,Z);let D=Boolean(G);if(zF(V,O,w,D,W),X===SW)sN(V)}var WF=($,X)=>j$($).atoms.has(X),dj=($,X)=>j$($).writableSelectors.has(X),lj=($,X)=>j$($).readonlySelectors.has(X),rj=($,X)=>WF($,X)||dj($,X)||lj($,X);function rN($,X){return j$($).selectorGraph.getRelationEntries({downstreamSelectorKey:X}).filter(([U,{source:G}])=>G!==X).map(([U,{source:G}])=>G).filter((U)=>rj($,U))}function P5($,X,Y=new Set){let U=rN($,X),G=new Map;while(U.length>0){let z=U.pop();if(Y.has(z))continue;if(Y.add(z),WF($,z)){let W=$.atoms.get(z);G.set(W.key,W)}else U.push(...rN($,z))}return G}function ij($,X,Y,U,G){let z=j$($),{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=P5($,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 S5($,X,Y,U){return{get:(...G)=>{let z=j$($),{token:W,family:Q,subKey:Z}=cW($,...G),H;if("counterfeit"in W&&Q&&Z)H=tN($,W,Q,Z);else{let V=_4($,W);H=s2($,V)}return $.logger.info("\uD83D\uDD0C",X,Y,`registers dependency ( "${W.key}" =`,H,")"),z.selectorGraph.set({upstreamSelectorKey:W.key,downstreamSelectorKey:Y},{source:W.key}),ij($,X,Y,W,U),H},set:(...G)=>{let z=j$($);fW(z,pj,...G)},find:(...G)=>K4($,...G),json:(G)=>e2($,G)}}function hW($,X,Y){let U=j$($),G=new g$,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}=S5(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),g6(F,D,Q),$.logger.info("\u2728","readonly_held_selector",W,"=",Q),z.clear(),Q},install:(F)=>hW(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 gW($,X,Y){let U=j$($),G=new g$,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}=S5(U,"readonly_pure_selector",W,z),w={...X,type:"readonly_pure_selector",subject:G,getFrom:()=>{let E=j$($),F=E.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[L,{source:T}]of F)if(T!==W)E.selectorGraph.delete(L,W);E.selectorAtoms.delete(W);let J=X.get({get:Z,find:H,json:V}),A=g6(E,w,J);return $.logger.info("\u2728","readonly_pure_selector",W,"=",A),z.clear(),A},install:(E)=>gW(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 yW($,X,Y){let U=j$($),G=new g$,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=S5(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 T=L.selectorGraph.getRelationEntries({downstreamSelectorKey:W});for(let[q,{source:v}]of T)if(v!==W)L.selectorGraph.delete(q,W);return L.selectorAtoms.delete(W),X.get(D,Q),g6(L,J,Q),$.logger.info("\u2728","writable_held_selector",W,"=",Q),z.clear(),Q},setSelf:()=>{X.set(H,Q)},install:(L)=>yW(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 mW($,X,Y){let U=j$($),G=new g$,z=new Set,W=X.key,Q="writable_pure_selector";$.logger.info("\uD83D\uDD28","writable_pure_selector",W,"is being created");let Z=S5(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[v,{source:I}]of L)if(I!==W)A.selectorGraph.delete(v,W);A.selectorAtoms.delete(W);let T=X.get(w),q=g6(A,F,T);return $.logger.info("\u2728","writable_pure_selector",W,"=",q),z.clear(),q},setSelf:(A)=>{X.set(Z,A)},install:(A)=>mW(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 yN($,X){let Y="set"in X,U="const"in X;if(U&&Y){let z=yW($,X,void 0);return $.on.selectorCreation.next(z),z}if(U){let z=hW($,X,void 0);return $.on.selectorCreation.next(z),z}if(Y){let z=mW($,X,void 0);return $.on.selectorCreation.next(z),z}let G=gW($,X,void 0);return $.on.selectorCreation.next(G),G}function oj($,X){let Y=j$($),{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 Q;switch(X.type){case"writable_held_selector":Y.writableSelectors.delete(U),Q={key:z.key,type:"writable_held_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"writable_pure_selector":Y.writableSelectors.delete(U),Q={key:z.key,type:"writable_pure_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_held_selector":Y.readonlySelectors.delete(U),Q={key:z.key,type:"readonly_held_selector_family"},_4($,Q).subject.next({type:"state_disposal",subType:"selector",token:X,timestamp:Date.now()});break;case"readonly_pure_selector":Y.readonlySelectors.delete(U),Q={key:z.key,type:"readonly_pure_selector_family"},_4($,Q).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"),y6(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)}}function a2($,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)$.logger.error("\u2757","readonly_pure_selector_family",U,`Overwriting an existing ${A0[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 g$,H={...z,create:(V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($),F={key:D,get:X.get(V)};if(X.catch)F.catch=X.catch;return gW(E,F,w)},internalRoles:Y,subject:Q,install:(V)=>a2(V,X),default:(V)=>{return X.get(V)({get:(...w)=>L1($,...w),find:(...w)=>K4($,...w),json:(w)=>e2($,w)})}};return $.families.set(U,H),z}function XX($,X,Y){let U={key:X.key,type:"atom_family"},G=$.families.get(X.key);if(G)$.logger.error("\u2757","atom_family",X.key,`Overwriting an existing ${A0[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 g$,Q={...U,create:(Z)=>{let H=p$(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=j$($),D=X.default,E={key:O,default:i9(D)?()=>D(Z):D};if(X.effects)E.effects=X.effects(Z);if(X.catch)E.catch=X.catch;return t2(w,E,V)},default:X.default,subject:z,install:(Z)=>XX(Z,X),internalRoles:Y};if($.families.set(X.key,Q),i9(X.default)===!1)$.defaults.set(X.key,X.default);return U}function QF($,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)$.logger.error("\u2757","readonly_held_selector_family",U,`Overwriting an existing ${A0[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 g$,H={...z,create:(V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($);return hW(E,{key:D,const:X.const(V),get:X.get(V)},w)},internalRoles:Y,subject:Q,install:(V)=>QF(V,X),default:X.const};return $.families.set(U,H),z}function ZF($,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)$.logger.error("\u2757","writable_held_selector_family",U,`Overwriting an existing ${A0[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 g$,H={...z,create:(V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($);return yW(E,{key:D,const:X.const(V),get:X.get(V),set:X.set(V)},w)},internalRoles:Y,subject:Q,install:(V)=>ZF(V,X),default:X.const};return $.families.set(U,H),z}function uW($,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)$.logger.error("\u2757","writable_pure_selector_family",U,`Overwriting an existing ${A0[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 g$,H={...z,create:(V)=>{let O=p$(V),w={key:U,subKey:O},D=`${U}(${O})`,E=j$($),F={key:D,get:X.get(V),set:X.set(V)};if(X.catch)F.catch=X.catch;return mW(E,F,w)},internalRoles:Y,subject:Q,install:(V)=>uW(V,X),default:(V)=>{return X.get(V)({get:(...w)=>L1($,...w),find:(...w)=>K4($,...w),json:(w)=>e2($,w)})}};return $.families.set(U,H),z}function vW($,X){let Y="set"in X,U="const"in X;if(U&&Y)return ZF($,X,void 0);if(U)return QF($,X,void 0);if(Y)return uW($,X);return a2($,X)}function t9($,X,Y){let U=p$(Y),G=`${X.key}(${U})`,z=j$($),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 h1(W);return W}function K4($,X,Y){let U=_4($,X),G=t9($,X,Y);if(G)return G;return n9($,U,Y)}function l9($,...X){let Y;if(X.length===1)Y=X[0];else{let U=X[0],G=X[1];Y=K4($,U,G)}try{_4($,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":HF($,Y);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":oj($,Y);break}}function cW($,...X){let Y,U,G,z,W;if(X.length===1){if(W=X[0],"family"in W){let H=bW($,W);if(G=_4($,H),z=E6(W.family.subKey),Y=t9($,H,z),"counterfeit"in W)return{token:W,family:G,subKey:z,isNew:!1};if(!Y)U=n9($,H,z,o9),W=U;else W=Y}}else if(G=_4($,X[0]),z=X[1],Y=t9($,G,z),!Y)U=n9($,G,z,o9),W=U;else W=Y;let Q="counterfeit"in W;if(Boolean(U)&&Q===!1&&G){let H;switch(W.type){case"readonly_pure_selector":case"readonly_held_selector":H="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":H="writable";break}let V={type:"state_creation",subType:H,token:W,timestamp:Date.now()};G.subject.next(V);let w=j$($);if(W.family){if(YX(w))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(y6(w)&&w.on.transactionApplying.state===null)w.transactionMeta.update.subEvents.push(V)}}return{token:W,family:G,subKey:z,isNew:Boolean(U)}}function L1($,...X){let{token:Y,family:U,subKey:G}=cW($,...X);if("counterfeit"in Y&&U&&G)return tN($,Y,U,G);let z=_4($,Y);return s2($,z)}var iN=($,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=qj($,X),z=s2($,X);$.logger.info("\u2728",X.type,X.key,"went",G,"->",z),X.subject.next({newValue:z,oldValue:G})})};function a9($,X,Y,U){function G(O){if($.operation.open){let w=$.on.operationClose.subscribe(`state subscription ${Y}`,()=>{w(),U(O)})}else U(O)}cW($,X);let z=_4($,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){s2($,z);for(let[O,w]of P5($,z.key))Q.set(O,iN($,z,w));Z=function O(w){let D=P5($,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,iN($,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()}}function _4($,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 aj(X,$)}var nj=($,X,Y,U)=>{let G=_4($,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 pW=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=t2(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=Y.config.name,z=y6(Y)?Y.transactionMeta.update.token.key:"main",W=`tracker:${G}:${z}:${U}`,Q=(H)=>{A1(Y,X,H)},Z=L1(Y,$);this.unsubscribeFromInnerValue=Z.subscribe(W,Q),this.unsubscribeFromState=a9(Y,$,W,function H(V){if(V.newValue!==V.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=V.newValue.subscribe(W,Q)}.bind(this))}supplySignalsToCore($,X,Y){let U=`tracker:${Y.config.name}:${y6(Y)?Y.transactionMeta.update.token.key:"main"}:${$.key}`;a9(Y,X,U,function G({newValue:z,oldValue:W}){let Q=Y.timelineTopics.getRelatedKey(X.key);if(Q&&Y.timelines.get(Q)?.timeTraveling){let O=nj(Y,{key:Q,type:"timeline"},U,function w(D){O(),A1(Y,$,(E)=>{if(D==="redo"&&z)E.do(z);else if(D==="undo"&&W)E.undo(W);return E})});return}let Z=L1(Y,$),H=Z.getUpdateNumber(z),V=H-Z.cacheUpdateNumber;if(z&&V===1)A1(Y,$,(O)=>(O.do(z),O));else{let O=Z.cacheUpdateNumber+1;Y.logger.info("\u274C","mutable_atom",$.key,"could not be updated. Expected update number",O,"but got",H)}})}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor($,X){let Y=j$(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 j5($,X,Y){$.logger.info("\uD83D\uDD28","atom",X.key,`creating in store "${$.config.name}"`);let U=j$($),{key:G}=X,z=U.atoms.get(G),W="mutable_atom";if(z&&z.type===W)return $.logger.error("\u274C",W,G,"Tried to create atom, but it already exists in the store."),h1(z);let Q=new g$,Z={...X,type:W,install:(V)=>{return V.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${V.config.name}"`),j5(V,X,Y)},subject:Q};if(Y)Z.family=Y;U.atoms.set(Z.key,Z);let H=h1(Z);if(X.effects){let V=0,O=[];for(let w of X.effects){let D=w({resetSelf:()=>{C5($,H)},setSelf:(E)=>{A1($,H,E)},onSet:(E)=>a9($,H,`effect[${V}]`,E)});if(D)O.push(D);++V}Z.cleanup=()=>{for(let w of O)w()}}if(new pW(H,$),!Y)yN($,{key:`${G}:JSON`,get:({get:V})=>V(H).toJSON(),set:({set:V},O)=>{V(H,X.class.fromJSON(O))}});return $.on.atomCreation.next(H),H}var tj=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor($,X){let Y=XX(X,{key:`*${$.key}`,default:null},["mutable","updates"]);this.latestSignalAtoms=_4(X,Y),this.mutableAtoms=$;let U=(G)=>{let{type:z,token:W}=G;if(W.family){let Q=E6(W.family.subKey);switch(z){case"state_creation":this.trackers.set(Q,new pW(W,X));break;case"state_disposal":{let Z=this.trackers.get(Q);if(Z)Z[Symbol.dispose](),this.trackers.delete(Q)}}}};this.mutableAtoms.subject.subscribe(`store=${X.config.name}::tracker-atom-family`,U)}};function CW($,X,Y){let U={key:X.key,type:"mutable_atom_family"},G=$.families.get(X.key);if(G)$.logger.error("\u2757","mutable_atom_family",X.key,`Overwriting an existing ${A0[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 g$,Q={...U,create:(Z)=>{let H=p$(Z),V={key:X.key,subKey:H},O=`${X.key}(${H})`,w=j$($),D={key:O,class:X.class};if(X.effects)D.effects=X.effects(Z);return j5(w,D,V)},class:X.class,subject:z,install:(Z)=>CW(Z,X),internalRoles:Y};return $.families.set(X.key,Q),uW($,{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 tj(Q,$),U}var oN=($,X)=>{let Y=j$(X),U=`${$.key}:JSON`;return Y.families.get(U)},e2=($,X)=>{if(X.family){let U=j$($),z={key:`${X.family.key}:JSON`,type:"writable_pure_selector_family"},W=_4(U,z),Q=E6(X.family.subKey);return K4($,W,Q)}return{type:"writable_pure_selector",key:`${X.key}:JSON`}};var dW=($)=>{let Y={type:"atom",key:`*${$.key}`};if($.family)Y.family={key:`*${$.family.key}`,subKey:$.family.subKey};return Y};function BW($){return typeof $==="object"&&$!==null&&"do"in $&&"undo"in $&&"subscribe"in $&&"cacheUpdateNumber"in $&&"getUpdateNumber"in $&&"READONLY_VIEW"in $&&"toJSON"in $}var mN=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 K0({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new K0({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 K0({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new K0({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Jj(100);molecules=new Map;moleculeJoins=new K0({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeGraph=new K0({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});moleculeData=new K0({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...$)=>$.sort().join(":")});miscResources=new Map;on={atomCreation:new g$,atomDisposal:new g$,selectorCreation:new g$,selectorDisposal:new g$,timelineCreation:new g$,transactionCreation:new g$,transactionApplying:new _j(null),operationClose:new g$,moleculeCreation:new g$,moleculeDisposal:new g$};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new kN("warn",($,X,Y)=>!GX(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},YX(X))this.transactionMeta={epoch:new Map(X?.transactionMeta.epoch),actionContinuities:new K0(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=e2(X,U),z=dW(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)}}},N6={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new mN({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function t2($,X,Y,U){let{key:z}=X;$.logger.info("\uD83D\uDD28","atom",z,"is being created");let W=j$($),Q=W.atoms.get(z);if(Q&&Q.type==="atom")return $.logger.error("\u274C","atom",z,"Tried to create atom, but it already exists in the store."),h1(Q);let Z=new g$,H={...X,type:"atom",install:(O)=>{return O.logger.info("\uD83D\uDEE0\uFE0F","atom",z,`installing in store "${O.config.name}"`),t2(O,X,Y)},subject:Z};if(Y)H.family=Y;if(U)H.internalRoles=U;W.atoms.set(z,H);let V=h1(H);if(X.effects){let O=0,w=[];for(let D of X.effects){let E=D({resetSelf:()=>{C5($,V)},setSelf:(F)=>{A1($,V,F)},onSet:(F)=>a9($,V,`effect[${O}]`,F)});if(E)w.push(E);++O}H.cleanup=()=>{for(let D of w)D()}}return $.on.atomCreation.next(V),V}function HF($,X){let Y=j$($),{key:U,family:G}=X,z=_4(Y,X);if(!G)$.logger.error("\u274C","atom",U,"Standalone atoms cannot be disposed.");else{z.cleanup?.();let W=$.valueMap.get(z.key),Q=bW($,X),H=_4($,Q).subject,V={type:"state_disposal",subType:"atom",token:X,value:W,timestamp:Date.now()};H.next(V);let O=y6(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"){let w=dW(X);HF($,w),$.trackers.delete(U)}if($.logger.info("\uD83D\uDD25","atom",U,"deleted"),O&&Y.transactionMeta.phase==="building"){let w=Y.transactionMeta.update.subEvents.at(-1),E=w?.type==="molecule_disposal"&&w.values.some(([J])=>J===z.family?.key),F=VF(z,"tracker:signal");if(!E&&!F)Y.transactionMeta.update.subEvents.push(V)}else $.on.atomDisposal.next(X)}}function VF($,X){if("internalRoles"in $===!1)return!1;return $.internalRoles.includes(X)}function H4($){return $[0].toUpperCase()+$.slice(1)}var OF=class{toolkit;options;defaultContent;relations;states;core;transact($,X){let Y=this.toolkit;this.toolkit=$,X(this),this.toolkit=Y}store;realm;[Symbol.dispose](){}constructor($,X,Y=N6.STORE){this.store=Y,this.realm=new bN(Y),this.options=$,this.defaultContent=X,this.store.miscResources.set(`join:${$.key}`,this),this.realm.allocate("root",$.key),this.toolkit={get:(...q)=>L1(Y,...q),set:(...q)=>{A1(Y,...q)},find:(...q)=>K4(Y,...q),json:(q)=>e2(Y,q)};let U=$.between[0],G=$.between[1],z=CW(Y,{key:`${$.key}/relatedKeys`,class:L0},["join","relations"]);this.core={relatedKeysAtoms:z};let W=({get:q},v)=>q(z,v),Q=({set:q},v,I)=>{if(!this.store.molecules.has(p$(v)))this.realm.allocate($.key,v);q(z,v,(S)=>S.add(I)),q(z,I,(S)=>S.add(v))},Z=({set:q},v,I)=>{q(z,v,(j)=>{return j.delete(I),j}),q(z,I,(j)=>{return j.delete(v),j});let[S,y]=[v,I].sort(),r=`${S}:${y}`;this.store.moleculeJoins.delete(r)},H=(q,v,I)=>{let{find:S,get:y,set:r}=q,j=S(z,v),X$=y(j);for(let l of X$){if(I.includes(l))continue;r(z,l,(L$)=>{return L$.delete(v),L$})}r(j,(l)=>{return l.transaction((W$)=>{W$.clear();for(let L$ of I){let b$=W(q,L$),L4=b$.has(v);if(this.relations.cardinality==="1:n"){let X6=[];for(let c of b$){if(c===v)continue;let H$=W(q,c);if(H$.delete(L$),H$.size===0)X6.push(c)}if(!L4&&b$.size>0)b$.clear();for(let c of X6){let[H$,f$]=[L$,c].sort(),n$=`${H$}:${f$}`;Y.moleculeJoins.delete(n$)}}if(!L4)b$.add(v);W$.add(L$)}return!0}),l})},V=(q,v,I)=>{let{set:S}=q;S(z,v,(y)=>{return y.transaction((r)=>{for(let j of I)r.add(j);return!0}),y});for(let y of I)S(z,y,(r)=>{return r.add(v),r});return!0},O=(q,v,I)=>{let S=W(q,v);return I?S.has(I):S.size>0},w={getRelatedKeys:(q)=>W(this.toolkit,q),addRelation:(q,v)=>{this.store.moleculeJoins.set(`"${q}"`,$.key),this.store.moleculeJoins.set(`"${v}"`,$.key),Q(this.toolkit,q,v)},deleteRelation:(q,v)=>{Z(this.toolkit,q,v)},replaceRelationsSafely:(q,v)=>{H(this.toolkit,q,v)},replaceRelationsUnsafely:(q,v)=>{V(this.toolkit,q,v)},has:(q,v)=>O(this.toolkit,q,v)},D,E;if(X){E=XX(Y,{key:`${$.key}/content`,default:X},["join","content"]);let q=({get:S},y)=>S(E,y),v=({set:S},y,r)=>{S(E,y,r)};D=Object.assign(w,{getContent:(S)=>{return q(this.toolkit,S)},setContent:(S,y)=>{v(this.toolkit,S,y)},deleteContent:(S)=>{}})}else D=w;let F=new K0($,{externalStore:D,isAType:$.isAType,isBType:$.isBType,makeContentKey:(...q)=>{let[v,I]=q,[S,y]=q.sort(),r=`${S}:${y}`,j=Y.molecules.get(p$(v)),X$=Y.molecules.get(p$(I));if(!j)this.realm.allocate($.key,v);if(!X$)this.realm.allocate($.key,I);return this.realm.allocate(v,r,"all"),this.realm.claim(I,r),this.store.moleculeJoins.set(r,$.key),r}}),J=()=>a2(Y,{key:`${$.key}/singleRelatedKey`,get:(q)=>({get:v})=>{let I=v(z,q);for(let S of I)return S;return null}},["join","keys"]),A=()=>{return a2(Y,{key:`${$.key}/multipleRelatedKeys`,get:(q)=>({get:v})=>{let I=oN(z,Y);return v(I,q).members}},["join","keys"])},L=()=>a2(Y,{key:`${$.key}/singleRelatedEntry`,get:(q)=>({get:v})=>{let I=v(z,q);for(let S of I){let y=F.isAType?.(q)?q:void 0,r=y===void 0?q:void 0;y??=S,r??=S;let j=F.makeContentKey(y,r),X$=v(E,j);return[S,X$]}return null}},["join","entries"]),T=()=>a2(Y,{key:`${$.key}/multipleRelatedEntries`,get:(q)=>({get:v})=>{let I=oN(z,Y);return v(I,q).members.map((y)=>{let r=F.isAType?.(q)?q:void 0,j=r===void 0?q:void 0;r??=y,j??=y;let X$=F.makeContentKey(r,j),l=v(E,X$);return[y,l]})}},["join","entries"]);switch($.cardinality){case"1:1":{let q=J(),v=`${U}KeyOf${H4(G)}`,I=`${G}KeyOf${H4(U)}`,S={[v]:q,[I]:q},y;if(X){let r=L(),j=`${U}EntryOf${H4(G)}`,X$=`${G}EntryOf${H4(U)}`,l={[j]:r,[X$]:r};y=Object.assign(S,l)}else y=S;this.relations=F,this.states=y;break}case"1:n":{let q=J(),v=A(),I=`${U}KeyOf${H4(G)}`,S=`${G}KeysOf${H4(U)}`,y={[I]:q,[S]:v},r;if(X){let j=L(),X$=T(),l=`${U}EntryOf${H4(G)}`,W$=`${G}EntriesOf${H4(U)}`,L$={[l]:j,[W$]:X$};r=Object.assign(y,L$)}else r=y;this.relations=F,this.states=r;break}case"n:n":{let q=A(),v=`${U}KeysOf${H4(G)}`,I=`${G}KeysOf${H4(U)}`,S={[v]:q,[I]:q},y;if(X){let r=T(),j=`${U}EntriesOf${H4(G)}`,X$=`${G}EntriesOf${H4(U)}`,l={[j]:r,[X$]:r};y=Object.assign(S,l)}else y=S;this.relations=F,this.states=y}}}};function uN($,X,Y){return $.joins.set(X.key,new OF(X,Y,$)),{key:X.key,type:"join",a:X.between[0],b:X.between[1],cardinality:X.cardinality}}function lW($,X){let Y=X.joins.get($.key);if(Y===void 0){let G=N6.STORE.joins.get($.key);if(G===void 0)throw new Error(`Join "${$.key}" not found in store "${X.config.name}"`);let z=Mj(X);Y=new OF(G.options,G.defaultContent,z),X.joins.set($.key,Y)}return Y}function r9($,X,Y){let U=lW($,Y),G=j$(Y);if(y6(G)){let{toolkit:z}=G.transactionMeta;U.transact(z,({relations:W})=>{X(W)})}else X(U.relations)}function cN($,X,Y){let U=lW($,Y),G;switch($.cardinality){case"1:1":{let z=`${$.a}KeyOf${H4($.b)}`,W=`${$.b}KeyOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntryOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntryOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}break}case"1:n":{let z=`${$.a}KeyOf${H4($.b)}`,W=`${$.b}KeysOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntryOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntriesOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}break}case"n:n":{let z=`${$.a}KeysOf${H4($.b)}`,W=`${$.b}KeysOf${H4($.a)}`;G={get[z](){let Z=U.states[z];return K4(Y,Z,X)},get[W](){let Z=U.states[W];return K4(Y,Z,X)}};let Q=`${$.a}EntriesOf${H4($.b)}`;if(Q in U.states){let Z=`${$.b}EntriesOf${H4($.a)}`;Object.assign(G,{get[Q](){let H=U.states[Q];return K4(Y,H,X)},get[Z](){let H=U.states[Z];return K4(Y,H,X)}})}}}return G}function pN($,X){return lW($,X).core.relatedKeysAtoms}var aj=class extends Error{constructor($,X){super(`${A0[$.type]} ${p$($.key)} not found in store "${X.config.name}".`)}};function GX($){return $.startsWith("\uD83D\uDD0D ")}var sj=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)}clear(){throw new Error("Cannot clear an InvariantMap")}},Ru=class ${type="continuity";globals=[];actions=[];perspectives=[];key;constructor(X){this.key=X}static existing=new sj;static create(X,Y){let U=new $(X),{type:G,globals:z,actions:W,perspectives:Q}=Y(U),Z={type:G,key:X,globals:z,actions:W,perspectives:Q};return $.existing.set(X,Z),Z}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[U,G]=X;this.perspectives.push({type:"realtime_perspective",resourceAtoms:U,viewAtoms:G})}break}return this}};var Tu=$X({key:"usersInRoomIndex",class:L0}),rW=$X({key:"roomIndex",class:L0}),ej={enteredAtEpoch:0},s9=R5({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:($)=>typeof $==="string",isBType:($)=>typeof $==="string"},ej),vu=T5({key:"usersInMyRoomView",get:($)=>({find:X})=>{let Y=SN(s9);return[X(Y,$)]}});import{spawn as $P}from"child_process";var iW=class{listeners;globalListeners;handleEvent($,...X){for(let U of this.globalListeners)U($,...X);let Y=this.listeners.get($);if(Y)for(let U of Y)U(...X)}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}},XP=class extends iW{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;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;default:return}}}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.process.stdin);this.process.stdin.removeListener("error",W)};return this.process.stdin.once("error",W),this.process.stdin.write(z),this});if(this.process=$,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.process.stdout.on("data",(U)=>{let G=U.toString();if(G==="ALIVE")return;this.unprocessedEvents.push(...G.split("\x03"));let z=this.unprocessedEvents.shift();this.incompleteData+=z??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let W=E6(this.incompleteData);this.handleEvent(...W);while(this.unprocessedEvents.length>0){let Q=this.unprocessedEvents.shift();if(Q){if(this.unprocessedEvents.length===0)this.incompleteData=Q;W=E6(Q),this.handleEvent(...W)}}this.incompleteData=""}catch(W){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(W)}}),this.process.stderr.on("data",(U)=>{let G=U.toString();this.unprocessedLogs.push(...G.split("\x03"));let z=this.unprocessedLogs.shift();this.incompleteLog+=z??"";try{let W=E6(this.incompleteLog);this.handleLog(W);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)W=E6(this.incompleteLog),this.handleLog(W)}catch(W){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(W),console.error("\u274C\u274C\u274C\uFE0F")}}),$.pid)this.id=$.pid.toString()}},YP=class extends iW{in;out;id="no_id_retrieved";disposalFunctions=[];constructor($){super((...X)=>{return this.out.next(X),this});this.id=$,this.in=new g$,this.out=new g$,this.in.subscribe("socket",(X)=>{this.handleEvent(...X)})}dispose(){for(let $ of this.disposalFunctions)$()}},wF=class extends iW{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...$){this.process.stderr.write(p$($.map((X)=>X instanceof L0?`{ ${X.toJSON().members.join(" | ")} }`:X))+"\x03")}logger={info:(...$)=>{this.log("i",...$)},warn:(...$)=>{this.log("w",...$)},error:(...$)=>{this.log("e",...$)}};constructor(){super(($,...X)=>{let Y=JSON.stringify([$,...X]);return this.process.stdout.write(Y+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",($)=>{let X=$.toString();this.unprocessedEvents.push(...X.split("\x03"));let Y=this.unprocessedEvents.shift();this.incompleteData+=Y??"";try{let U=E6(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",U),this.handleEvent(...U);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;let z=E6(G);this.handleEvent(...z)}}this.incompleteData=""}catch(U){if(U instanceof Error)this.logger.error("\u2757",U.message,U.cause,U.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",($)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${$}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",($)=>{this.logger.info("\uD83D\uDC64","user",$,"joined");let X=new YP(`user:${$}`);this.relays.set($,X),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let Y of this.relayServices){let U=Y(X);if(U)X.disposalFunctions.push(U)}this.on(`user:${$}`,(...Y)=>{X.in.next(Y)}),X.out.subscribe("socket",(Y)=>{this.emit(...Y)})}),this.on("user-leaves",($)=>{let X=this.relays.get($);if(this.off(`relay:${$}`),X)X.dispose(),this.relays.delete($)}),process.stdout.write("ALIVE")}relay($){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push($)}},DF=u9({key:"roomArguments",default:["echo",["Hello World!"]]}),GP=T5({key:"room",get:($)=>async({get:X,find:Y})=>{let U=Y(DF,$),G=X(U),[z,W]=G,Q=await new Promise((Z)=>{let H=$P(z,W,{env:process.env}),V=(O)=>{if(O.toString()==="ALIVE")H.stdout.off("data",V),Z(H)};H.stdout.on("data",V)});return new XP(Q,$)}}),fu=c9({key:"createRoom",do:({get:$,set:X,find:Y},U,G,z)=>{let W=z?[G,z]:[G],Q=Y(DF,U);X(Q,W),X(rW,(V)=>V.add(U));let Z=Y(GP,U);return $(Z)}}),hu=c9({key:"joinRoom",do:($,X,Y,U)=>{let G={enteredAtEpoch:U};return r9(s9,(z)=>{z.set({room:X,user:Y},G)},$.env().store),G}}),gu=c9({key:"leaveRoom",do:($,X,Y)=>{r9(s9,(U)=>{U.delete({room:X,user:Y})},$.env().store)}}),yu=c9({key:"destroyRoom",do:($,X)=>{r9(s9,(Y)=>{Y.delete({room:X})},$.env().store),$.set(rW,(Y)=>(Y.delete(X),Y))}});var mu=u9({key:"redactor",default:{occlude:($)=>$}}),uu=u9({key:"unacknowledgedUpdates",default:()=>[]}),cu=u9({key:"sockets",default:null}),pu=$X({key:"socketsIndex",class:L0}),du=$X({key:"usersIndex",class:L0}),lu=R5({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:($)=>$.startsWith("user::"),isBType:($)=>$.startsWith("socket::")});var kU={};D2(kU,{xid:()=>Gx,void:()=>Rx,uuidv7:()=>tI,uuidv6:()=>nI,uuidv4:()=>oI,uuid:()=>iI,url:()=>aI,uppercase:()=>KY,unknown:()=>TU,union:()=>xU,undefined:()=>_x,ulid:()=>Yx,uint64:()=>Lx,uint32:()=>Mx,tuple:()=>Ix,trim:()=>CY,treeifyError:()=>WQ,transform:()=>NO,toUpperCase:()=>jY,toLowerCase:()=>BY,toJSONSchema:()=>bV,templateLiteral:()=>mx,symbol:()=>Kx,superRefine:()=>BM,success:()=>gx,stringbool:()=>dx,stringFormat:()=>Dx,string:()=>dV,strictObject:()=>Bx,startsWith:()=>qY,size:()=>JY,setErrorMap:()=>ox,set:()=>kx,safeParseAsync:()=>pV,safeParse:()=>cV,registry:()=>t5,regexes:()=>G8,regex:()=>AY,refine:()=>CM,record:()=>GM,readonly:()=>KM,property:()=>vV,promise:()=>ux,prettifyError:()=>QQ,preprocess:()=>rx,prefault:()=>EM,positive:()=>_V,pipe:()=>BU,partialRecord:()=>xx,parseAsync:()=>uV,parse:()=>mV,overwrite:()=>v0,optional:()=>vU,object:()=>Cx,number:()=>cF,nullish:()=>hx,nullable:()=>CU,null:()=>iF,normalize:()=>vY,nonpositive:()=>RV,nonoptional:()=>NM,nonnegative:()=>TV,never:()=>jU,negative:()=>qV,nativeEnum:()=>bx,nanoid:()=>eI,nan:()=>yx,multipleOf:()=>W8,minSize:()=>Q8,minLength:()=>N2,mime:()=>TY,maxSize:()=>VX,maxLength:()=>OX,map:()=>Sx,lte:()=>K1,lt:()=>R0,lowercase:()=>LY,looseObject:()=>jx,locales:()=>NY,literal:()=>ZM,length:()=>wX,lazy:()=>RM,ksuid:()=>Ux,keyof:()=>vx,jwt:()=>wx,json:()=>lx,iso:()=>qU,ipv6:()=>Wx,ipv4:()=>zx,intersection:()=>XM,int64:()=>Ax,int32:()=>Fx,int:()=>lV,instanceof:()=>px,includes:()=>_Y,guid:()=>rI,gte:()=>u6,gt:()=>T0,globalRegistry:()=>e1,getErrorMap:()=>nx,function:()=>kV,formatError:()=>HY,float64:()=>Nx,float32:()=>Ex,flattenError:()=>ZY,file:()=>fx,enum:()=>WM,endsWith:()=>RY,emoji:()=>sI,email:()=>lI,e164:()=>Ox,discriminatedUnion:()=>Px,date:()=>Tx,custom:()=>cx,cuid2:()=>Xx,cuid:()=>$x,core:()=>C0,config:()=>v4,coerce:()=>AO,clone:()=>Y1,cidrv6:()=>Zx,cidrv4:()=>Qx,check:()=>vM,catch:()=>JM,boolean:()=>pF,bigint:()=>Jx,base64url:()=>Vx,base64:()=>Hx,array:()=>OO,any:()=>qx,_default:()=>wM,_ZodString:()=>rV,ZodXID:()=>$O,ZodVoid:()=>aF,ZodUnknown:()=>nF,ZodUnion:()=>wO,ZodUndefined:()=>lF,ZodUUID:()=>B0,ZodURL:()=>oV,ZodULID:()=>eV,ZodType:()=>T$,ZodTuple:()=>YM,ZodTransform:()=>EO,ZodTemplateLiteral:()=>_M,ZodSymbol:()=>dF,ZodSuccess:()=>FM,ZodStringFormat:()=>a$,ZodString:()=>xY,ZodSet:()=>zM,ZodRecord:()=>DO,ZodRealError:()=>DX,ZodReadonly:()=>LM,ZodPromise:()=>TM,ZodPrefault:()=>DM,ZodPipe:()=>JO,ZodOptional:()=>FO,ZodObject:()=>IU,ZodNumberFormat:()=>EX,ZodNumber:()=>SY,ZodNullable:()=>VM,ZodNull:()=>rF,ZodNonOptional:()=>MO,ZodNever:()=>tF,ZodNanoID:()=>tV,ZodNaN:()=>AM,ZodMap:()=>UM,ZodLiteral:()=>QM,ZodLazy:()=>qM,ZodKSUID:()=>XO,ZodJWT:()=>HO,ZodIssueCode:()=>ix,ZodIntersection:()=>$M,ZodISOTime:()=>KU,ZodISODuration:()=>_U,ZodISODateTime:()=>AU,ZodISODate:()=>LU,ZodIPv6:()=>GO,ZodIPv4:()=>YO,ZodGUID:()=>RU,ZodFile:()=>HM,ZodError:()=>pI,ZodEnum:()=>IY,ZodEmoji:()=>nV,ZodEmail:()=>iV,ZodE164:()=>ZO,ZodDiscriminatedUnion:()=>eF,ZodDefault:()=>OM,ZodDate:()=>PU,ZodCustomStringFormat:()=>uF,ZodCustom:()=>SU,ZodCatch:()=>MM,ZodCUID2:()=>sV,ZodCUID:()=>aV,ZodCIDRv6:()=>zO,ZodCIDRv4:()=>UO,ZodBoolean:()=>kY,ZodBigIntFormat:()=>VO,ZodBigInt:()=>bY,ZodBase64URL:()=>QO,ZodBase64:()=>WO,ZodArray:()=>sF,ZodAny:()=>oF,TimePrecision:()=>nH,NEVER:()=>oW,$output:()=>lH,$input:()=>rH,$brand:()=>nW});var C0={};D2(C0,{version:()=>GZ,util:()=>n,treeifyError:()=>WQ,toJSONSchema:()=>bV,toDotPath:()=>FF,safeParseAsync:()=>HQ,safeParse:()=>ZQ,registry:()=>t5,regexes:()=>G8,prettifyError:()=>QQ,parseAsync:()=>g5,parse:()=>f5,locales:()=>NY,isValidJWT:()=>kF,isValidBase64URL:()=>SF,isValidBase64:()=>RZ,globalRegistry:()=>e1,globalConfig:()=>e9,function:()=>kV,formatError:()=>HY,flattenError:()=>ZY,config:()=>v4,clone:()=>Y1,_xid:()=>ZU,_void:()=>JV,_uuidv7:()=>XU,_uuidv6:()=>$U,_uuidv4:()=>e5,_uuid:()=>s5,_url:()=>YU,_uppercase:()=>KY,_unknown:()=>HX,_union:()=>KI,_undefined:()=>EV,_ulid:()=>QU,_uint64:()=>wV,_uint32:()=>WV,_tuple:()=>CV,_trim:()=>CY,_transform:()=>PI,_toUpperCase:()=>jY,_toLowerCase:()=>BY,_templateLiteral:()=>yI,_symbol:()=>DV,_success:()=>bI,_stringbool:()=>IV,_stringFormat:()=>xV,_string:()=>iH,_startsWith:()=>qY,_size:()=>JY,_set:()=>vI,_safeParseAsync:()=>m5,_safeParse:()=>y5,_regex:()=>AY,_refine:()=>PV,_record:()=>RI,_readonly:()=>gI,_property:()=>vV,_promise:()=>uI,_positive:()=>_V,_pipe:()=>hI,_parseAsync:()=>h5,_parse:()=>b5,_overwrite:()=>v0,_optional:()=>II,_number:()=>$V,_nullable:()=>xI,_null:()=>NV,_normalize:()=>vY,_nonpositive:()=>RV,_nonoptional:()=>kI,_nonnegative:()=>TV,_never:()=>MV,_negative:()=>qV,_nativeEnum:()=>BI,_nanoid:()=>UU,_nan:()=>KV,_multipleOf:()=>W8,_minSize:()=>Q8,_minLength:()=>N2,_min:()=>u6,_mime:()=>TY,_maxSize:()=>VX,_maxLength:()=>OX,_max:()=>K1,_map:()=>TI,_lte:()=>K1,_lt:()=>R0,_lowercase:()=>LY,_literal:()=>jI,_length:()=>wX,_lazy:()=>mI,_ksuid:()=>HU,_jwt:()=>MU,_isoTime:()=>sH,_isoDuration:()=>eH,_isoDateTime:()=>tH,_isoDate:()=>aH,_ipv6:()=>OU,_ipv4:()=>VU,_intersection:()=>qI,_int64:()=>OV,_int32:()=>zV,_int:()=>YV,_includes:()=>_Y,_guid:()=>MY,_gte:()=>u6,_gt:()=>T0,_float64:()=>UV,_float32:()=>GV,_file:()=>BV,_enum:()=>CI,_endsWith:()=>RY,_emoji:()=>GU,_email:()=>a5,_e164:()=>FU,_discriminatedUnion:()=>_I,_default:()=>SI,_date:()=>AV,_custom:()=>jV,_cuid2:()=>WU,_cuid:()=>zU,_coercedString:()=>oH,_coercedNumber:()=>XV,_coercedDate:()=>LV,_coercedBoolean:()=>ZV,_coercedBigint:()=>VV,_cidrv6:()=>DU,_cidrv4:()=>wU,_catch:()=>fI,_boolean:()=>QV,_bigint:()=>HV,_base64url:()=>NU,_base64:()=>EU,_array:()=>PY,_any:()=>FV,TimePrecision:()=>nH,NEVER:()=>oW,JSONSchemaGenerator:()=>JU,JSONSchema:()=>gF,Doc:()=>d5,$output:()=>lH,$input:()=>rH,$constructor:()=>C,$brand:()=>nW,$ZodXID:()=>EZ,$ZodVoid:()=>hZ,$ZodUnknown:()=>ZX,$ZodUnion:()=>n5,$ZodUndefined:()=>SZ,$ZodUUID:()=>WZ,$ZodURL:()=>ZZ,$ZodULID:()=>DZ,$ZodType:()=>N$,$ZodTuple:()=>z8,$ZodTransform:()=>wY,$ZodTemplateLiteral:()=>GH,$ZodSymbol:()=>xZ,$ZodSuccess:()=>eZ,$ZodStringFormat:()=>l$,$ZodString:()=>U8,$ZodSet:()=>dZ,$ZodRegistry:()=>FY,$ZodRecord:()=>cZ,$ZodRealError:()=>WX,$ZodReadonly:()=>YH,$ZodPromise:()=>UH,$ZodPrefault:()=>aZ,$ZodPipe:()=>DY,$ZodOptional:()=>oZ,$ZodObject:()=>yZ,$ZodNumberFormat:()=>PZ,$ZodNumber:()=>i5,$ZodNullable:()=>nZ,$ZodNull:()=>kZ,$ZodNonOptional:()=>sZ,$ZodNever:()=>fZ,$ZodNanoID:()=>VZ,$ZodNaN:()=>XH,$ZodMap:()=>pZ,$ZodLiteral:()=>rZ,$ZodLazy:()=>zH,$ZodKSUID:()=>NZ,$ZodJWT:()=>BZ,$ZodIntersection:()=>uZ,$ZodISOTime:()=>JZ,$ZodISODuration:()=>AZ,$ZodISODateTime:()=>FZ,$ZodISODate:()=>MZ,$ZodIPv6:()=>KZ,$ZodIPv4:()=>LZ,$ZodGUID:()=>zZ,$ZodFunction:()=>SV,$ZodFile:()=>iZ,$ZodError:()=>QY,$ZodEnum:()=>lZ,$ZodEmoji:()=>HZ,$ZodEmail:()=>QZ,$ZodE164:()=>CZ,$ZodDiscriminatedUnion:()=>mZ,$ZodDefault:()=>tZ,$ZodDate:()=>gZ,$ZodCustomStringFormat:()=>jZ,$ZodCustom:()=>WH,$ZodCheckUpperCase:()=>tQ,$ZodCheckStringFormat:()=>QX,$ZodCheckStartsWith:()=>sQ,$ZodCheckSizeEquals:()=>dQ,$ZodCheckRegex:()=>oQ,$ZodCheckProperty:()=>$Z,$ZodCheckOverwrite:()=>YZ,$ZodCheckNumberFormat:()=>mQ,$ZodCheckMultipleOf:()=>yQ,$ZodCheckMinSize:()=>pQ,$ZodCheckMinLength:()=>rQ,$ZodCheckMimeType:()=>XZ,$ZodCheckMaxSize:()=>cQ,$ZodCheckMaxLength:()=>lQ,$ZodCheckLowerCase:()=>nQ,$ZodCheckLessThan:()=>c5,$ZodCheckLengthEquals:()=>iQ,$ZodCheckIncludes:()=>aQ,$ZodCheckGreaterThan:()=>p5,$ZodCheckEndsWith:()=>eQ,$ZodCheckBigIntFormat:()=>uQ,$ZodCheck:()=>O4,$ZodCatch:()=>$H,$ZodCUID2:()=>wZ,$ZodCUID:()=>OZ,$ZodCIDRv6:()=>qZ,$ZodCIDRv4:()=>_Z,$ZodBoolean:()=>VY,$ZodBigIntFormat:()=>IZ,$ZodBigInt:()=>o5,$ZodBase64URL:()=>vZ,$ZodBase64:()=>TZ,$ZodAsyncError:()=>_0,$ZodArray:()=>OY,$ZodAny:()=>bZ});var oW=Object.freeze({status:"aborted"});function C($,X,Y){function U(Q,Z){var H;Object.defineProperty(Q,"_zod",{value:Q._zod??{},enumerable:!1}),(H=Q._zod).traits??(H.traits=new Set),Q._zod.traits.add($),X(Q,Z);for(let V in W.prototype)if(!(V in Q))Object.defineProperty(Q,V,{value:W.prototype[V].bind(Q)});Q._zod.constr=W,Q._zod.def=Z}let G=Y?.Parent??Object;class z extends G{}Object.defineProperty(z,"name",{value:$});function W(Q){var Z;let H=Y?.Parent?new z:this;U(H,Q),(Z=H._zod).deferred??(Z.deferred=[]);for(let V of H._zod.deferred)V();return H}return Object.defineProperty(W,"init",{value:U}),Object.defineProperty(W,Symbol.hasInstance,{value:(Q)=>{if(Y?.Parent&&Q instanceof Y.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(W,"name",{value:$}),W}var nW=Symbol("zod_brand");class _0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var e9={};function v4($){if($)Object.assign(e9,$);return e9}var n={};D2(n,{unwrapMessage:()=>$Y,stringifyPrimitive:()=>o,required:()=>LP,randomString:()=>OP,propertyKeyTypes:()=>UY,promiseAllObject:()=>VP,primitiveTypes:()=>XQ,prefixIssues:()=>m6,pick:()=>NP,partial:()=>AP,optionalKeys:()=>YQ,omit:()=>FP,numKeys:()=>wP,nullish:()=>E2,normalizeParams:()=>d,merge:()=>JP,jsonStringifyReplacer:()=>aW,joinValues:()=>h,issue:()=>zQ,isPlainObject:()=>zX,isObject:()=>UX,getSizableOrigin:()=>zY,getParsedType:()=>DP,getLengthableOrigin:()=>WY,getEnumValues:()=>XY,getElementAtPath:()=>HP,floatSafeRemainder:()=>sW,finalizeIssue:()=>G1,extend:()=>MP,escapeRegex:()=>q0,esc:()=>$8,defineLazy:()=>y$,createTransparentProxy:()=>EP,clone:()=>Y1,cleanRegex:()=>GY,cleanEnum:()=>KP,captureStackTrace:()=>k5,cached:()=>YY,assignProp:()=>eW,assertNotEqual:()=>zP,assertNever:()=>QP,assertIs:()=>WP,assertEqual:()=>UP,assert:()=>ZP,allowsEval:()=>$Q,aborted:()=>X8,NUMBER_FORMAT_RANGES:()=>GQ,Class:()=>EF,BIGINT_FORMAT_RANGES:()=>UQ});function UP($){return $}function zP($){return $}function WP($){}function QP($){throw new Error}function ZP($){}function XY($){let X=Object.values($).filter((U)=>typeof U==="number");return Object.entries($).filter(([U,G])=>X.indexOf(+U)===-1).map(([U,G])=>G)}function h($,X="|"){return $.map((Y)=>o(Y)).join(X)}function aW($,X){if(typeof X==="bigint")return X.toString();return X}function YY($){return{get value(){{let Y=$();return Object.defineProperty(this,"value",{value:Y}),Y}throw new Error("cached value already set")}}}function E2($){return $===null||$===void 0}function GY($){let X=$.startsWith("^")?1:0,Y=$.endsWith("$")?$.length-1:$.length;return $.slice(X,Y)}function sW($,X){let Y=($.toString().split(".")[1]||"").length,U=(X.toString().split(".")[1]||"").length,G=Y>U?Y:U,z=Number.parseInt($.toFixed(G).replace(".","")),W=Number.parseInt(X.toFixed(G).replace(".",""));return z%W/10**G}function y$($,X,Y){Object.defineProperty($,X,{get(){{let G=Y();return $[X]=G,G}throw new Error("cached value already set")},set(G){Object.defineProperty($,X,{value:G})},configurable:!0})}function eW($,X,Y){Object.defineProperty($,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function HP($,X){if(!X)return $;return X.reduce((Y,U)=>Y?.[U],$)}function VP($){let X=Object.keys($),Y=X.map((U)=>$[U]);return Promise.all(Y).then((U)=>{let G={};for(let z=0;z<X.length;z++)G[X[z]]=U[z];return G})}function OP($=10){let Y="";for(let U=0;U<$;U++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function $8($){return JSON.stringify($)}var k5=Error.captureStackTrace?Error.captureStackTrace:(...$)=>{};function UX($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var $Q=YY(()=>{if(typeof navigator!=="undefined"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function zX($){if(UX($)===!1)return!1;let X=$.constructor;if(X===void 0)return!0;let Y=X.prototype;if(UX(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function wP($){let X=0;for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))X++;return X}var DP=($)=>{let X=typeof $;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map!=="undefined"&&$ instanceof Map)return"map";if(typeof Set!=="undefined"&&$ instanceof Set)return"set";if(typeof Date!=="undefined"&&$ instanceof Date)return"date";if(typeof File!=="undefined"&&$ instanceof File)return"file";return"object";default:throw new Error(`Unknown data type: ${X}`)}},UY=new Set(["string","number","symbol"]),XQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);function q0($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y1($,X,Y){let U=new $._zod.constr(X??$._zod.def);if(!X||Y?.parent)U._zod.parent=$;return U}function d($){let X=$;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function EP($){let X;return new Proxy({},{get(Y,U,G){return X??(X=$()),Reflect.get(X,U,G)},set(Y,U,G,z){return X??(X=$()),Reflect.set(X,U,G,z)},has(Y,U){return X??(X=$()),Reflect.has(X,U)},deleteProperty(Y,U){return X??(X=$()),Reflect.deleteProperty(X,U)},ownKeys(Y){return X??(X=$()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,U){return X??(X=$()),Reflect.getOwnPropertyDescriptor(X,U)},defineProperty(Y,U,G){return X??(X=$()),Reflect.defineProperty(X,U,G)}})}function o($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function YQ($){return Object.keys($).filter((X)=>{return $[X]._zod.optin==="optional"&&$[X]._zod.optout==="optional"})}var GQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},UQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function NP($,X){let Y={},U=$._zod.def;for(let G in X){if(!(G in U.shape))throw new Error(`Unrecognized key: "${G}"`);if(!X[G])continue;Y[G]=U.shape[G]}return Y1($,{...$._zod.def,shape:Y,checks:[]})}function FP($,X){let Y={...$._zod.def.shape},U=$._zod.def;for(let G in X){if(!(G in U.shape))throw new Error(`Unrecognized key: "${G}"`);if(!X[G])continue;delete Y[G]}return Y1($,{...$._zod.def,shape:Y,checks:[]})}function MP($,X){if(!zX(X))throw new Error("Invalid input to extend: expected a plain object");let Y={...$._zod.def,get shape(){let U={...$._zod.def.shape,...X};return eW(this,"shape",U),U},checks:[]};return Y1($,Y)}function JP($,X){return Y1($,{...$._zod.def,get shape(){let Y={...$._zod.def.shape,...X._zod.def.shape};return eW(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function AP($,X,Y){let U=X._zod.def.shape,G={...U};if(Y)for(let z in Y){if(!(z in U))throw new Error(`Unrecognized key: "${z}"`);if(!Y[z])continue;G[z]=$?new $({type:"optional",innerType:U[z]}):U[z]}else for(let z in U)G[z]=$?new $({type:"optional",innerType:U[z]}):U[z];return Y1(X,{...X._zod.def,shape:G,checks:[]})}function LP($,X,Y){let U=X._zod.def.shape,G={...U};if(Y)for(let z in Y){if(!(z in G))throw new Error(`Unrecognized key: "${z}"`);if(!Y[z])continue;G[z]=new $({type:"nonoptional",innerType:U[z]})}else for(let z in U)G[z]=new $({type:"nonoptional",innerType:U[z]});return Y1(X,{...X._zod.def,shape:G,checks:[]})}function X8($,X=0){for(let Y=X;Y<$.issues.length;Y++)if($.issues[Y]?.continue!==!0)return!0;return!1}function m6($,X){return X.map((Y)=>{var U;return(U=Y).path??(U.path=[]),Y.path.unshift($),Y})}function $Y($){return typeof $==="string"?$:$?.message}function G1($,X,Y){let U={...$,path:$.path??[]};if(!$.message){let G=$Y($.inst?._zod.def?.error?.($))??$Y(X?.error?.($))??$Y(Y.customError?.($))??$Y(Y.localeError?.($))??"Invalid input";U.message=G}if(delete U.inst,delete U.continue,!X?.reportInput)delete U.input;return U}function zY($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function WY($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function zQ(...$){let[X,Y,U]=$;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:U};return{...X}}function KP($){return Object.entries($).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class EF{constructor(...$){}}var NF=($,X)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:X,enumerable:!1}),Object.defineProperty($,"message",{get(){return JSON.stringify(X,aW,2)},enumerable:!0}),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},QY=C("$ZodError",NF),WX=C("$ZodError",NF,{Parent:Error});function ZY($,X=(Y)=>Y.message){let Y={},U=[];for(let G of $.issues)if(G.path.length>0)Y[G.path[0]]=Y[G.path[0]]||[],Y[G.path[0]].push(X(G));else U.push(X(G));return{formErrors:U,fieldErrors:Y}}function HY($,X){let Y=X||function(z){return z.message},U={_errors:[]},G=(z)=>{for(let W of z.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((Q)=>G({issues:Q}));else if(W.code==="invalid_key")G({issues:W.issues});else if(W.code==="invalid_element")G({issues:W.issues});else if(W.path.length===0)U._errors.push(Y(W));else{let Q=U,Z=0;while(Z<W.path.length){let H=W.path[Z];if(Z!==W.path.length-1)Q[H]=Q[H]||{_errors:[]};else Q[H]=Q[H]||{_errors:[]},Q[H]._errors.push(Y(W));Q=Q[H],Z++}}};return G($),U}function WQ($,X){let Y=X||function(z){return z.message},U={errors:[]},G=(z,W=[])=>{var Q,Z;for(let H of z.issues)if(H.code==="invalid_union"&&H.errors.length)H.errors.map((V)=>G({issues:V},H.path));else if(H.code==="invalid_key")G({issues:H.issues},H.path);else if(H.code==="invalid_element")G({issues:H.issues},H.path);else{let V=[...W,...H.path];if(V.length===0){U.errors.push(Y(H));continue}let O=U,w=0;while(w<V.length){let D=V[w],E=w===V.length-1;if(typeof D==="string")O.properties??(O.properties={}),(Q=O.properties)[D]??(Q[D]={errors:[]}),O=O.properties[D];else O.items??(O.items=[]),(Z=O.items)[D]??(Z[D]={errors:[]}),O=O.items[D];if(E)O.errors.push(Y(H));w++}}};return G($),U}function FF($){let X=[];for(let Y of $)if(typeof Y==="number")X.push(`[${Y}]`);else if(typeof Y==="symbol")X.push(`[${JSON.stringify(String(Y))}]`);else if(/[^\w$]/.test(Y))X.push(`[${JSON.stringify(Y)}]`);else{if(X.length)X.push(".");X.push(Y)}return X.join("")}function QQ($){let X=[],Y=[...$.issues].sort((U,G)=>U.path.length-G.path.length);for(let U of Y)if(X.push(`\u2716 ${U.message}`),U.path?.length)X.push(` \u2192 at ${FF(U.path)}`);return X.join(`
16
16
  `)}var b5=($)=>(X,Y,U,G)=>{let z=U?Object.assign(U,{async:!1}):{async:!1},W=X._zod.run({value:Y,issues:[]},z);if(W instanceof Promise)throw new _0;if(W.issues.length){let Q=new(G?.Err??$)(W.issues.map((Z)=>G1(Z,z,v4())));throw k5(Q,G?.callee),Q}return W.value},f5=b5(WX),h5=($)=>async(X,Y,U,G)=>{let z=U?Object.assign(U,{async:!0}):{async:!0},W=X._zod.run({value:Y,issues:[]},z);if(W instanceof Promise)W=await W;if(W.issues.length){let Q=new(G?.Err??$)(W.issues.map((Z)=>G1(Z,z,v4())));throw k5(Q,G?.callee),Q}return W.value},g5=h5(WX),y5=($)=>(X,Y,U)=>{let G=U?{...U,async:!1}:{async:!1},z=X._zod.run({value:Y,issues:[]},G);if(z instanceof Promise)throw new _0;return z.issues.length?{success:!1,error:new($??QY)(z.issues.map((W)=>G1(W,G,v4())))}:{success:!0,data:z.value}},ZQ=y5(WX),m5=($)=>async(X,Y,U)=>{let G=U?Object.assign(U,{async:!0}):{async:!0},z=X._zod.run({value:Y,issues:[]},G);if(z instanceof Promise)z=await z;return z.issues.length?{success:!1,error:new $(z.issues.map((W)=>G1(W,G,v4())))}:{success:!0,data:z.value}},HQ=m5(WX);var G8={};D2(G8,{xid:()=>DQ,uuid7:()=>vP,uuid6:()=>TP,uuid4:()=>RP,uuid:()=>Y8,uppercase:()=>gQ,unicodeEmail:()=>jP,undefined:()=>fQ,ulid:()=>wQ,time:()=>BQ,string:()=>PQ,rfc5322Email:()=>BP,number:()=>SQ,null:()=>bQ,nanoid:()=>NQ,lowercase:()=>hQ,ksuid:()=>EQ,ipv6:()=>KQ,ipv4:()=>LQ,integer:()=>xQ,html5Email:()=>CP,hostname:()=>TQ,guid:()=>MQ,extendedDuration:()=>qP,emoji:()=>AQ,email:()=>JQ,e164:()=>vQ,duration:()=>FQ,domain:()=>xP,datetime:()=>jQ,date:()=>CQ,cuid2:()=>OQ,cuid:()=>VQ,cidrv6:()=>qQ,cidrv4:()=>_Q,browserEmail:()=>PP,boolean:()=>kQ,bigint:()=>IQ,base64url:()=>u5,base64:()=>RQ,_emoji:()=>IP});var VQ=/^[cC][^\s-]{8,}$/,OQ=/^[0-9a-z]+$/,wQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,DQ=/^[0-9a-vA-V]{20}$/,EQ=/^[A-Za-z0-9]{27}$/,NQ=/^[a-zA-Z0-9_-]{21}$/,FQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,qP=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,MQ=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Y8=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},RP=Y8(4),TP=Y8(6),vP=Y8(7),JQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CP=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,BP=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,jP=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,PP=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,IP="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function AQ(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var LQ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,KQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,_Q=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,qQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,RQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,u5=/^[A-Za-z0-9_-]*$/,TQ=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,xP=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,vQ=/^\+(?:[0-9]){6,14}[0-9]$/,MF="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",CQ=new RegExp(`^${MF}$`);function JF($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function BQ($){return new RegExp(`^${JF($)}$`)}function jQ($){let X=JF({precision:$.precision}),Y=["Z"];if($.local)Y.push("");if($.offset)Y.push("([+-]\\d{2}:\\d{2})");let U=`${X}(?:${Y.join("|")})`;return new RegExp(`^${MF}T(?:${U})$`)}var PQ=($)=>{let X=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},IQ=/^\d+n?$/,xQ=/^\d+$/,SQ=/^-?\d+(?:\.\d+)?/i,kQ=/true|false/i,bQ=/null/i;var fQ=/undefined/i;var hQ=/^[^A-Z]*$/,gQ=/^[^a-z]*$/;var O4=C("$ZodCheck",($,X)=>{var Y;$._zod??($._zod={}),$._zod.def=X,(Y=$._zod).onattach??(Y.onattach=[])}),LF={number:"number",bigint:"bigint",object:"date"},c5=C("$ZodCheckLessThan",($,X)=>{O4.init($,X);let Y=LF[typeof X.value];$._zod.onattach.push((U)=>{let G=U._zod.bag,z=(X.inclusive?G.maximum:G.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<z)if(X.inclusive)G.maximum=X.value;else G.exclusiveMaximum=X.value}),$._zod.check=(U)=>{if(X.inclusive?U.value<=X.value:U.value<X.value)return;U.issues.push({origin:Y,code:"too_big",maximum:X.value,input:U.value,inclusive:X.inclusive,inst:$,continue:!X.abort})}}),p5=C("$ZodCheckGreaterThan",($,X)=>{O4.init($,X);let Y=LF[typeof X.value];$._zod.onattach.push((U)=>{let G=U._zod.bag,z=(X.inclusive?G.minimum:G.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>z)if(X.inclusive)G.minimum=X.value;else G.exclusiveMinimum=X.value}),$._zod.check=(U)=>{if(X.inclusive?U.value>=X.value:U.value>X.value)return;U.issues.push({origin:Y,code:"too_small",minimum:X.value,input:U.value,inclusive:X.inclusive,inst:$,continue:!X.abort})}}),yQ=C("$ZodCheckMultipleOf",($,X)=>{O4.init($,X),$._zod.onattach.push((Y)=>{var U;(U=Y._zod.bag).multipleOf??(U.multipleOf=X.value)}),$._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw new Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):sW(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:$,continue:!X.abort})}}),mQ=C("$ZodCheckNumberFormat",($,X)=>{O4.init($,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),U=Y?"int":"number",[G,z]=GQ[X.format];$._zod.onattach.push((W)=>{let Q=W._zod.bag;if(Q.format=X.format,Q.minimum=G,Q.maximum=z,Y)Q.pattern=xQ}),$._zod.check=(W)=>{let Q=W.value;if(Y){if(!Number.isInteger(Q)){W.issues.push({expected:U,format:X.format,code:"invalid_type",input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)W.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:U,continue:!X.abort});else W.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:U,continue:!X.abort});return}}if(Q<G)W.issues.push({origin:"number",input:Q,code:"too_small",minimum:G,inclusive:!0,inst:$,continue:!X.abort});if(Q>z)W.issues.push({origin:"number",input:Q,code:"too_big",maximum:z,inst:$})}}),uQ=C("$ZodCheckBigIntFormat",($,X)=>{O4.init($,X);let[Y,U]=UQ[X.format];$._zod.onattach.push((G)=>{let z=G._zod.bag;z.format=X.format,z.minimum=Y,z.maximum=U}),$._zod.check=(G)=>{let z=G.value;if(z<Y)G.issues.push({origin:"bigint",input:z,code:"too_small",minimum:Y,inclusive:!0,inst:$,continue:!X.abort});if(z>U)G.issues.push({origin:"bigint",input:z,code:"too_big",maximum:U,inst:$})}}),cQ=C("$ZodCheckMaxSize",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.size!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<G)U._zod.bag.maximum=X.maximum}),$._zod.check=(U)=>{let G=U.value;if(G.size<=X.maximum)return;U.issues.push({origin:zY(G),code:"too_big",maximum:X.maximum,input:G,inst:$,continue:!X.abort})}}),pQ=C("$ZodCheckMinSize",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.size!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>G)U._zod.bag.minimum=X.minimum}),$._zod.check=(U)=>{let G=U.value;if(G.size>=X.minimum)return;U.issues.push({origin:zY(G),code:"too_small",minimum:X.minimum,input:G,inst:$,continue:!X.abort})}}),dQ=C("$ZodCheckSizeEquals",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.size!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag;G.minimum=X.size,G.maximum=X.size,G.size=X.size}),$._zod.check=(U)=>{let G=U.value,z=G.size;if(z===X.size)return;let W=z>X.size;U.issues.push({origin:zY(G),...W?{code:"too_big",maximum:X.size}:{code:"too_small",minimum:X.size},inclusive:!0,exact:!0,input:U.value,inst:$,continue:!X.abort})}}),lQ=C("$ZodCheckMaxLength",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.length!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<G)U._zod.bag.maximum=X.maximum}),$._zod.check=(U)=>{let G=U.value;if(G.length<=X.maximum)return;let W=WY(G);U.issues.push({origin:W,code:"too_big",maximum:X.maximum,inclusive:!0,input:G,inst:$,continue:!X.abort})}}),rQ=C("$ZodCheckMinLength",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.length!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>G)U._zod.bag.minimum=X.minimum}),$._zod.check=(U)=>{let G=U.value;if(G.length>=X.minimum)return;let W=WY(G);U.issues.push({origin:W,code:"too_small",minimum:X.minimum,inclusive:!0,input:G,inst:$,continue:!X.abort})}}),iQ=C("$ZodCheckLengthEquals",($,X)=>{var Y;O4.init($,X),(Y=$._zod.def).when??(Y.when=(U)=>{let G=U.value;return!E2(G)&&G.length!==void 0}),$._zod.onattach.push((U)=>{let G=U._zod.bag;G.minimum=X.length,G.maximum=X.length,G.length=X.length}),$._zod.check=(U)=>{let G=U.value,z=G.length;if(z===X.length)return;let W=WY(G),Q=z>X.length;U.issues.push({origin:W,...Q?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:U.value,inst:$,continue:!X.abort})}}),QX=C("$ZodCheckStringFormat",($,X)=>{var Y,U;if(O4.init($,X),$._zod.onattach.push((G)=>{let z=G._zod.bag;if(z.format=X.format,X.pattern)z.patterns??(z.patterns=new Set),z.patterns.add(X.pattern)}),X.pattern)(Y=$._zod).check??(Y.check=(G)=>{if(X.pattern.lastIndex=0,X.pattern.test(G.value))return;G.issues.push({origin:"string",code:"invalid_format",format:X.format,input:G.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:$,continue:!X.abort})});else(U=$._zod).check??(U.check=()=>{})}),oQ=C("$ZodCheckRegex",($,X)=>{QX.init($,X),$._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:$,continue:!X.abort})}}),nQ=C("$ZodCheckLowerCase",($,X)=>{X.pattern??(X.pattern=hQ),QX.init($,X)}),tQ=C("$ZodCheckUpperCase",($,X)=>{X.pattern??(X.pattern=gQ),QX.init($,X)}),aQ=C("$ZodCheckIncludes",($,X)=>{O4.init($,X);let Y=q0(X.includes),U=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=U,$._zod.onattach.push((G)=>{let z=G._zod.bag;z.patterns??(z.patterns=new Set),z.patterns.add(U)}),$._zod.check=(G)=>{if(G.value.includes(X.includes,X.position))return;G.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:G.value,inst:$,continue:!X.abort})}}),sQ=C("$ZodCheckStartsWith",($,X)=>{O4.init($,X);let Y=new RegExp(`^${q0(X.prefix)}.*`);X.pattern??(X.pattern=Y),$._zod.onattach.push((U)=>{let G=U._zod.bag;G.patterns??(G.patterns=new Set),G.patterns.add(Y)}),$._zod.check=(U)=>{if(U.value.startsWith(X.prefix))return;U.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:U.value,inst:$,continue:!X.abort})}}),eQ=C("$ZodCheckEndsWith",($,X)=>{O4.init($,X);let Y=new RegExp(`.*${q0(X.suffix)}$`);X.pattern??(X.pattern=Y),$._zod.onattach.push((U)=>{let G=U._zod.bag;G.patterns??(G.patterns=new Set),G.patterns.add(Y)}),$._zod.check=(U)=>{if(U.value.endsWith(X.suffix))return;U.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:U.value,inst:$,continue:!X.abort})}});function AF($,X,Y){if($.issues.length)X.issues.push(...m6(Y,$.issues))}var $Z=C("$ZodCheckProperty",($,X)=>{O4.init($,X),$._zod.check=(Y)=>{let U=X.schema._zod.run({value:Y.value[X.property],issues:[]},{});if(U instanceof Promise)return U.then((G)=>AF(G,Y,X.property));AF(U,Y,X.property);return}}),XZ=C("$ZodCheckMimeType",($,X)=>{O4.init($,X);let Y=new Set(X.mime);$._zod.onattach.push((U)=>{U._zod.bag.mime=X.mime}),$._zod.check=(U)=>{if(Y.has(U.value.type))return;U.issues.push({code:"invalid_value",values:X.mime,input:U.value.type,inst:$})}}),YZ=C("$ZodCheckOverwrite",($,X)=>{O4.init($,X),$._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class d5{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let Y=$.split(`
17
17
  `).filter((z)=>z),U=Math.min(...Y.map((z)=>z.length-z.trimStart().length)),G=Y.map((z)=>z.slice(U)).map((z)=>" ".repeat(this.indent*2)+z);for(let z of G)this.content.push(z)}compile(){let $=Function,X=this?.args,U=[...(this?.content??[""]).map((G)=>` ${G}`)];return new $(...X,U.join(`
18
18
  `))}}var GZ={major:4,minor:0,patch:0};var N$=C("$ZodType",($,X)=>{var Y;$??($={}),$._zod.def=X,$._zod.bag=$._zod.bag||{},$._zod.version=GZ;let U=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))U.unshift($);for(let G of U)for(let z of G._zod.onattach)z($);if(U.length===0)(Y=$._zod).deferred??(Y.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let G=(z,W,Q)=>{let Z=X8(z),H;for(let V of W){if(V._zod.def.when){if(!V._zod.def.when(z))continue}else if(Z)continue;let O=z.issues.length,w=V._zod.check(z);if(w instanceof Promise&&Q?.async===!1)throw new _0;if(H||w instanceof Promise)H=(H??Promise.resolve()).then(async()=>{if(await w,z.issues.length===O)return;if(!Z)Z=X8(z,O)});else{if(z.issues.length===O)continue;if(!Z)Z=X8(z,O)}}if(H)return H.then(()=>{return z});return z};$._zod.run=(z,W)=>{let Q=$._zod.parse(z,W);if(Q instanceof Promise){if(W.async===!1)throw new _0;return Q.then((Z)=>G(Z,U,W))}return G(Q,U,W)}}$["~standard"]={validate:(G)=>{try{let z=ZQ($,G);return z.success?{value:z.data}:{issues:z.error?.issues}}catch(z){return HQ($,G).then((W)=>W.success?{value:W.data}:{issues:W.error?.issues})}},vendor:"zod",version:1}}),U8=C("$ZodString",($,X)=>{N$.init($,X),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??PQ($._zod.bag),$._zod.parse=(Y,U)=>{if(X.coerce)try{Y.value=String(Y.value)}catch(G){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:$}),Y}}),l$=C("$ZodStringFormat",($,X)=>{QX.init($,X),U8.init($,X)}),zZ=C("$ZodGUID",($,X)=>{X.pattern??(X.pattern=MQ),l$.init($,X)}),WZ=C("$ZodUUID",($,X)=>{if(X.version){let U={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(U===void 0)throw new Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=Y8(U))}else X.pattern??(X.pattern=Y8());l$.init($,X)}),QZ=C("$ZodEmail",($,X)=>{X.pattern??(X.pattern=JQ),l$.init($,X)}),ZZ=C("$ZodURL",($,X)=>{l$.init($,X),$._zod.check=(Y)=>{try{let U=Y.value,G=new URL(U),z=G.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test(G.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:TQ.source,input:Y.value,inst:$,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test(G.protocol.endsWith(":")?G.protocol.slice(0,-1):G.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:$,continue:!X.abort})}if(!U.endsWith("/")&&z.endsWith("/"))Y.value=z.slice(0,-1);else Y.value=z;return}catch(U){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:$,continue:!X.abort})}}}),HZ=C("$ZodEmoji",($,X)=>{X.pattern??(X.pattern=AQ()),l$.init($,X)}),VZ=C("$ZodNanoID",($,X)=>{X.pattern??(X.pattern=NQ),l$.init($,X)}),OZ=C("$ZodCUID",($,X)=>{X.pattern??(X.pattern=VQ),l$.init($,X)}),wZ=C("$ZodCUID2",($,X)=>{X.pattern??(X.pattern=OQ),l$.init($,X)}),DZ=C("$ZodULID",($,X)=>{X.pattern??(X.pattern=wQ),l$.init($,X)}),EZ=C("$ZodXID",($,X)=>{X.pattern??(X.pattern=DQ),l$.init($,X)}),NZ=C("$ZodKSUID",($,X)=>{X.pattern??(X.pattern=EQ),l$.init($,X)}),FZ=C("$ZodISODateTime",($,X)=>{X.pattern??(X.pattern=jQ(X)),l$.init($,X)}),MZ=C("$ZodISODate",($,X)=>{X.pattern??(X.pattern=CQ),l$.init($,X)}),JZ=C("$ZodISOTime",($,X)=>{X.pattern??(X.pattern=BQ(X)),l$.init($,X)}),AZ=C("$ZodISODuration",($,X)=>{X.pattern??(X.pattern=FQ),l$.init($,X)}),LZ=C("$ZodIPv4",($,X)=>{X.pattern??(X.pattern=LQ),l$.init($,X),$._zod.onattach.push((Y)=>{let U=Y._zod.bag;U.format="ipv4"})}),KZ=C("$ZodIPv6",($,X)=>{X.pattern??(X.pattern=KQ),l$.init($,X),$._zod.onattach.push((Y)=>{let U=Y._zod.bag;U.format="ipv6"}),$._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:$,continue:!X.abort})}}}),_Z=C("$ZodCIDRv4",($,X)=>{X.pattern??(X.pattern=_Q),l$.init($,X)}),qZ=C("$ZodCIDRv6",($,X)=>{X.pattern??(X.pattern=qQ),l$.init($,X),$._zod.check=(Y)=>{let[U,G]=Y.value.split("/");try{if(!G)throw new Error;let z=Number(G);if(`${z}`!==G)throw new Error;if(z<0||z>128)throw new Error;new URL(`http://[${U}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:$,continue:!X.abort})}}});function RZ($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var TZ=C("$ZodBase64",($,X)=>{X.pattern??(X.pattern=RQ),l$.init($,X),$._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),$._zod.check=(Y)=>{if(RZ(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:$,continue:!X.abort})}});function SF($){if(!u5.test($))return!1;let X=$.replace(/[-_]/g,(U)=>U==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return RZ(Y)}var vZ=C("$ZodBase64URL",($,X)=>{X.pattern??(X.pattern=u5),l$.init($,X),$._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),$._zod.check=(Y)=>{if(SF(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:$,continue:!X.abort})}}),CZ=C("$ZodE164",($,X)=>{X.pattern??(X.pattern=vQ),l$.init($,X)});function kF($,X=null){try{let Y=$.split(".");if(Y.length!==3)return!1;let[U]=Y;if(!U)return!1;let G=JSON.parse(atob(U));if("typ"in G&&G?.typ!=="JWT")return!1;if(!G.alg)return!1;if(X&&(!("alg"in G)||G.alg!==X))return!1;return!0}catch{return!1}}var BZ=C("$ZodJWT",($,X)=>{l$.init($,X),$._zod.check=(Y)=>{if(kF(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:$,continue:!X.abort})}}),jZ=C("$ZodCustomStringFormat",($,X)=>{l$.init($,X),$._zod.check=(Y)=>{if(X.fn(Y.value))return;Y.issues.push({code:"invalid_format",format:X.format,input:Y.value,inst:$,continue:!X.abort})}}),i5=C("$ZodNumber",($,X)=>{N$.init($,X),$._zod.pattern=$._zod.bag.pattern??SQ,$._zod.parse=(Y,U)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(W){}let G=Y.value;if(typeof G==="number"&&!Number.isNaN(G)&&Number.isFinite(G))return Y;let z=typeof G==="number"?Number.isNaN(G)?"NaN":!Number.isFinite(G)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:G,inst:$,...z?{received:z}:{}}),Y}}),PZ=C("$ZodNumber",($,X)=>{mQ.init($,X),i5.init($,X)}),VY=C("$ZodBoolean",($,X)=>{N$.init($,X),$._zod.pattern=kQ,$._zod.parse=(Y,U)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(z){}let G=Y.value;if(typeof G==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:G,inst:$}),Y}}),o5=C("$ZodBigInt",($,X)=>{N$.init($,X),$._zod.pattern=IQ,$._zod.parse=(Y,U)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch(G){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:$}),Y}}),IZ=C("$ZodBigInt",($,X)=>{uQ.init($,X),o5.init($,X)}),xZ=C("$ZodSymbol",($,X)=>{N$.init($,X),$._zod.parse=(Y,U)=>{let G=Y.value;if(typeof G==="symbol")return Y;return Y.issues.push({expected:"symbol",code:"invalid_type",input:G,inst:$}),Y}}),SZ=C("$ZodUndefined",($,X)=>{N$.init($,X),$._zod.pattern=fQ,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(Y,U)=>{let G=Y.value;if(typeof G==="undefined")return Y;return Y.issues.push({expected:"undefined",code:"invalid_type",input:G,inst:$}),Y}}),kZ=C("$ZodNull",($,X)=>{N$.init($,X),$._zod.pattern=bQ,$._zod.values=new Set([null]),$._zod.parse=(Y,U)=>{let G=Y.value;if(G===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:G,inst:$}),Y}}),bZ=C("$ZodAny",($,X)=>{N$.init($,X),$._zod.parse=(Y)=>Y}),ZX=C("$ZodUnknown",($,X)=>{N$.init($,X),$._zod.parse=(Y)=>Y}),fZ=C("$ZodNever",($,X)=>{N$.init($,X),$._zod.parse=(Y,U)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:$}),Y}}),hZ=C("$ZodVoid",($,X)=>{N$.init($,X),$._zod.parse=(Y,U)=>{let G=Y.value;if(typeof G==="undefined")return Y;return Y.issues.push({expected:"void",code:"invalid_type",input:G,inst:$}),Y}}),gZ=C("$ZodDate",($,X)=>{N$.init($,X),$._zod.parse=(Y,U)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(Q){}let G=Y.value,z=G instanceof Date;if(z&&!Number.isNaN(G.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:G,...z?{received:"Invalid Date"}:{},inst:$}),Y}});function _F($,X,Y){if($.issues.length)X.issues.push(...m6(Y,$.issues));X.value[Y]=$.value}var OY=C("$ZodArray",($,X)=>{N$.init($,X),$._zod.parse=(Y,U)=>{let G=Y.value;if(!Array.isArray(G))return Y.issues.push({expected:"array",code:"invalid_type",input:G,inst:$}),Y;Y.value=Array(G.length);let z=[];for(let W=0;W<G.length;W++){let Q=G[W],Z=X.element._zod.run({value:Q,issues:[]},U);if(Z instanceof Promise)z.push(Z.then((H)=>_F(H,Y,W)));else _F(Z,Y,W)}if(z.length)return Promise.all(z).then(()=>Y);return Y}});function l5($,X,Y){if($.issues.length)X.issues.push(...m6(Y,$.issues));X.value[Y]=$.value}function qF($,X,Y,U){if($.issues.length)if(U[Y]===void 0)if(Y in U)X.value[Y]=void 0;else X.value[Y]=$.value;else X.issues.push(...m6(Y,$.issues));else if($.value===void 0){if(Y in U)X.value[Y]=void 0}else X.value[Y]=$.value}var yZ=C("$ZodObject",($,X)=>{N$.init($,X);let Y=YY(()=>{let O=Object.keys(X.shape);for(let D of O)if(!(X.shape[D]instanceof N$))throw new Error(`Invalid element at key "${D}": expected a Zod schema`);let w=YQ(X.shape);return{shape:X.shape,keys:O,keySet:new Set(O),numKeys:O.length,optionalKeys:new Set(w)}});y$($._zod,"propValues",()=>{let O=X.shape,w={};for(let D in O){let E=O[D]._zod;if(E.values){w[D]??(w[D]=new Set);for(let F of E.values)w[D].add(F)}}return w});let U=(O)=>{let w=new d5(["shape","payload","ctx"]),D=Y.value,E=(L)=>{let T=$8(L);return`shape[${T}]._zod.run({ value: input[${T}], issues: [] }, ctx)`};w.write("const input = payload.value;");let F=Object.create(null),J=0;for(let L of D.keys)F[L]=`key_${J++}`;w.write("const newResult = {}");for(let L of D.keys)if(D.optionalKeys.has(L)){let T=F[L];w.write(`const ${T} = ${E(L)};`);let q=$8(L);w.write(`