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.
@@ -289,7 +289,7 @@ React keys must be passed directly to JSX without using spread:
289
289
  This is a client-only function.
290
290
  If you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls
291
291
  `.trim();async function NM(n,e,i){try{let t=e.middlewares[n];return await t((0,lt.default)((0,lt.default)({},i),{},{meta:e.meta,input:i.input,next(r){var o;let u=r;return NM(n+1,e,(0,lt.default)((0,lt.default)({},i),{},{ctx:(u===null||u===void 0?void 0:u.ctx)?(0,lt.default)((0,lt.default)({},i.ctx),u.ctx):i.ctx,input:u&&"input"in u?u.input:i.input,getRawInput:(o=u===null||u===void 0?void 0:u.getRawInput)!==null&&o!==void 0?o:i.getRawInput}))}}))}catch(t){return{ok:!1,error:aa(t),marker:SM}}}function Nin(n){async function e(i){if(!i||!("getRawInput"in i))throw new Error(xin);let t=await NM(0,n,i);if(!t)throw new Vn({code:"INTERNAL_SERVER_ERROR",message:"No result from middlewares - did you forget to `return next()`?"});if(!t.ok)throw t.error;return t.data}return e._def=n,e.procedure=!0,e.meta=n.meta,e}var qf,nb,eb,RM=typeof window==="undefined"||"Deno"in window||((qf=globalThis.process)===null||qf===void 0||(qf=qf.env)===null||qf===void 0?void 0:qf.NODE_ENV)==="test"||!!((nb=globalThis.process)===null||nb===void 0||(nb=nb.env)===null||nb===void 0?void 0:nb.JEST_WORKER_ID)||!!((eb=globalThis.process)===null||eb===void 0||(eb=eb.env)===null||eb===void 0?void 0:eb.VITEST_WORKER_ID),TM=ve(Za(),1),Fin=class n{context(){return new n}meta(){return new n}create(e){var i,t,a,r,o,u;let s=(0,TM.default)((0,TM.default)({},e),{},{transformer:Q9((i=e===null||e===void 0?void 0:e.transformer)!==null&&i!==void 0?i:jf),isDev:(t=e===null||e===void 0?void 0:e.isDev)!==null&&t!==void 0?t:((a=globalThis.process)===null||a===void 0?void 0:a.env.NODE_ENV)!=="production",allowOutsideOfServer:(r=e===null||e===void 0?void 0:e.allowOutsideOfServer)!==null&&r!==void 0?r:!1,errorFormatter:(o=e===null||e===void 0?void 0:e.errorFormatter)!==null&&o!==void 0?o:Kf,isServer:(u=e===null||e===void 0?void 0:e.isServer)!==null&&u!==void 0?u:RM,$types:null});{var l;if(!((l=e===null||e===void 0?void 0:e.isServer)!==null&&l!==void 0?l:RM)&&(e===null||e===void 0?void 0:e.allowOutsideOfServer)!==!0)throw new Error("You're trying to use @trpc/server in a non-server environment. This is not supported by default.")}return{_config:s,procedure:xM({meta:e===null||e===void 0?void 0:e.defaultMeta}),middleware:Ain(),router:kT(s),mergeRouters:K9,createCallerFactory:BT()}}},aS=new Fin;function Cin(n,e){if("body"in n){if(n.body===void 0)return;if(typeof n.body==="string")return n.body;return JSON.stringify(n.body)}let i=0,t=!1;return new ReadableStream({start(a){let r=(u)=>{if(i+=u.length,!e.maxBodySize||i<=e.maxBodySize){a.enqueue(new Uint8Array(u.buffer,u.byteOffset,u.byteLength));return}a.error(new Vn({code:"PAYLOAD_TOO_LARGE"})),t=!0,n.off("data",r),n.off("end",o)},o=()=>{if(t)return;t=!0,n.off("data",r),n.off("end",o),a.close()};n.on("data",r),n.on("end",o)},cancel(){n.destroy()}})}function rS(n){try{var e,i;let t=n.headers[":scheme"]&&n.headers[":scheme"]==="https"||n.socket&&"encrypted"in n.socket&&n.socket.encrypted?"https:":"http:",a=(e=(i=n.headers.host)!==null&&i!==void 0?i:n.headers[":authority"])!==null&&e!==void 0?e:"localhost";return new URL(n.url,`${t}//${a}`)}catch(t){throw new Vn({code:"BAD_REQUEST",message:"Invalid URL",cause:t})}}function Oin(n){let e=new Headers;for(let i in n){let t=n[i];if(typeof i==="string"&&i.startsWith(":"))continue;if(Array.isArray(t))for(let a of t)e.append(i,a);else if(t!=null)e.append(i,t)}return e}function Lin(n,e,i){let t=new AbortController,a=()=>{e.off("close",a),n.off("aborted",a),t.abort()};e.once("close",a),n.once("aborted",a);let r=rS(n),o={headers:Oin(n.headers),method:n.method,signal:t.signal};if(n.method!=="GET"&&n.method!=="HEAD")o.body=Cin(n,i),o.duplex="half";return new Request(r,o)}async function Iin(n,e){if(n.write(e)===!1)await new Promise((i,t)=>{let a=(u)=>{t(u),o()},r=()=>{i(),o()},o=()=>{n.off("error",a),n.off("drain",r)};n.once("error",a),n.once("drain",r)})}async function yin(n){let{res:e}=n;try{let i=new WritableStream({async write(t){var a;await Iin(e,t),(a=e.flush)===null||a===void 0||a.call(e)}});await n.body.pipeTo(i,{signal:n.signal})}catch(i){if(nS(i))return;throw i}}async function Min(n){let{response:e,rawResponse:i}=n;if(i.statusCode===200)i.statusCode=e.status;for(let[t,a]of e.headers)i.setHeader(t,a);try{if(e.body)await yin({res:i,signal:n.request.signal,body:e.body})}catch(t){if(!i.headersSent)i.statusCode=500;throw t}finally{i.end()}}var ib=ve(Za(),1);function oS(n){return(e)=>{var i;let{res:t,req:a}=n,r=aa(e),o=dl({config:n.router._def._config,error:r,type:"unknown",path:void 0,input:void 0,ctx:void 0});(i=n.onError)===null||i===void 0||i.call(n,{req:a,error:r,type:"unknown",path:void 0,input:void 0,ctx:void 0});let u=Zp(n.router._def._config,{error:o});t.statusCode=o.data.httpStatus,t.end(JSON.stringify(u))}}async function FM(n){return new Promise((e)=>{var i;let t=(i=n.middleware)!==null&&i!==void 0?i:(a,r,o)=>o();return n.res.once("finish",()=>{e()}),t(n.req,n.res,(a)=>{pl(async()=>{var r;let o=Lin(n.req,n.res,{maxBodySize:(r=n.maxBodySize)!==null&&r!==void 0?r:null}),u=async(l)=>{var c;return await((c=n.createContext)===null||c===void 0?void 0:c.call(n,(0,ib.default)((0,ib.default)({},n),l)))},s=await wM((0,ib.default)((0,ib.default)({},n),{},{req:o,error:a?aa(a):null,createContext:u,onError(l){var c;n===null||n===void 0||(c=n.onError)===null||c===void 0||c.call(n,(0,ib.default)((0,ib.default)({},l),{},{req:n.req}))}}));await Min({request:o,response:s,rawResponse:n.res})}).catch(oS(n))})})}var uS=ve(Za(),1);function Uin(n){var e;let t=((e=n.basePath)!==null&&e!==void 0?e:"/").length;return(a,r)=>{let o="";pl(async()=>{o=rS(a).pathname.slice(t),await FM((0,uS.default)((0,uS.default)({},n),{},{req:a,res:r,path:o}))}).catch(oS((0,uS.default)({req:a,res:r,path:o},n)))}}function CM(n){return Uin(n)}function Qa(n){return JSON.parse(n)}var Ke=(n)=>JSON.stringify(n),HNn=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var fl=class n extends Set{mode="record";subject=new We;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(e,i=0){super(e);if(e instanceof n)this.parent=e,this.cacheUpdateNumber=e.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(t)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=t})}READONLY_VIEW=this;toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(e){let i=new n(e.members,e.cacheLimit);return i.cache=e.cache,i.cacheIdx=e.cacheIdx,i.cacheUpdateNumber=e.cacheUpdateNumber,i}add(e){let i=super.add(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${Ke(e)}`);return i}clear(){let e=this.mode==="record"?[...this]:null;if(super.clear(),e)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(e)}`)}delete(e){let i=super.delete(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${Ke(e)}`);return i}parent=null;child=null;transactionUpdates=null;transaction(e){this.mode="transaction",this.transactionUpdates=[],this.child=new n(this);let i=this.child._subscribe("transaction",(t)=>{this.transactionUpdates?.push(t)});try{if(e(this.child)){for(let a of this.transactionUpdates)this.doStep(a);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(t){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",t),t}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(e,i){return this.subject.subscribe(e,i)}subscribe(e,i){return this.subject.subscribe(e,(t)=>{i(`${this.cacheUpdateNumber}=${t}`)})}emit(e){this.subject.next(e)}doStep(e){let i=e.indexOf(":"),t=e.substring(0,i),a=e.substring(i+1);switch(t){case"add":this.add(JSON.parse(a));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(a));break;case"tx":for(let r of a.split(";"))this.doStep(r)}}getUpdateNumber(e){let i=e.indexOf("=");return Number(e.substring(0,i))}do(e){let i=e.indexOf("="),t=Number(e.substring(0,i)),a=t-this.cacheUpdateNumber;if(a>0){if(a===1){this.mode="playback";let o=e.substring(i+1);return this.doStep(o),this.mode="record",this.cacheUpdateNumber=t,null}return this.cacheUpdateNumber+1}if(Math.abs(a)<this.cacheLimit){let o=this.cacheIdx+a;if(this.cache[o]===e)return null;this.mode="playback";let s=!1;while(!s){this.cacheIdx%=this.cacheLimit;let c=this.cache[this.cacheIdx];if(this.cacheIdx--,!c)return"OUT_OF_RANGE";this.undo(c),s=this.cacheIdx===o-1}let l=e.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=t,null}return"OUT_OF_RANGE"}undoStep(e){let i=e.indexOf(":"),t=e.substring(0,i),a=e.substring(i+1);switch(t){case"add":this.delete(JSON.parse(a));break;case"del":this.add(JSON.parse(a));break;case"clear":{let r=JSON.parse(a);for(let o of r)this.add(o);break}case"tx":{let r=a.split(";");for(let o=r.length-1;o>=0;o--)this.undoStep(r[o])}}}undo(e){let i=e.indexOf("=");if(Number(e.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";let a=e.substring(i+1);return this.undoStep(a),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}};function bS(n=Math.random){return n().toString(36).slice(2)}function Re(n){while(n.child!==null)n=n.child;return n}function Gin(n){while(n.parent!==null)n=n.parent;return n}var zin=class n{_buffer;_index=0;constructor(e){let i;if(typeof e==="number")i=e;else i=e.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){let e=new n([...this._buffer]);return e._index=this._index,e}};function wc(n){let e={key:n.key,type:n.type};if("family"in n)e.family=n.family;return e}var $in=Symbol("counterfeit"),Hin={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 OM(n,e,i){let t=Ke(e),a=`${n.key}(${t})`,r=Hin[n.type],o={key:a,type:r,family:{key:n.key,subKey:t}};if(i)o.counterfeit=!0;return o}var vu=class extends Map{deleted=new Set;changed=new Set;source;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,e){if(this.deleted.delete(n),this.source.has(n))this.changed.add(n);return super.set(n,e)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){if(this.source.has(n))this.deleted.add(n),this.changed.delete(n);return super.delete(n)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let[n,e]of this.source)if(!this.deleted.has(n)&&!this.changed.has(n))yield[n,e]}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(let n of this.source.keys())if(!this.deleted.has(n)&&!this.changed.has(n))yield n}*values(){for(let[,n]of this[Symbol.iterator]())yield n}forEach(n){for(let[e,i]of this[Symbol.iterator]())n(i,e,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},GM=class extends Set{deleted=new Set;source;constructor(n){super();this.source=n}add(n){if(this.source.has(n))return this.deleted.delete(n),this;return super.add(n)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){if(this.source.has(n))return this.deleted.add(n),!0;return super.delete(n)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(let n of this.source)if(!this.deleted.has(n))yield n}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Pin=class extends Map{deleted=new Set;source;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n)){let i=this.source.get(n),t=new GM(i);return super.set(n,t),t}return}set(n,e){return this.deleted.delete(n),super.set(n,e)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}},Ru=class n{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(e,i)=>`${e}:${i}`;warn;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,i){let t=this.relations.get(e),a=this.relations.get(i);if(t)t.add(i);else t=new Set([i]),this.relations.set(e,t);if(a)a.add(e);else a=new Set([e]),this.relations.set(i,a)}deleteRelation(e,i){let t=this.relations.get(e);if(t){if(t.delete(i),t.size===0)this.relations.delete(e);let a=this.relations.get(i);if(a){if(a.delete(e),a.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(e,i){this.relations.set(e,new Set(i));for(let t of i){let a=new Set().add(e);this.relations.set(t,a)}}replaceRelationsSafely(e,i){let t=this.relations.get(e),a=this.isAType?.(e)?e:void 0,r=a===void 0?e:void 0;if(t)for(let o of t){a??=o,r??=o;let u=this.relations.get(o);if(u){if(u.size===1)this.relations.delete(o);else u.delete(e);this.contents.delete(this.makeContentKey(a,r))}}this.relations.set(e,new Set(i));for(let o of i){let u=this.relations.get(o);if(u)u.add(e);else u=new Set().add(e),this.relations.set(o,u)}}getContentInternal(e){return this.contents.get(e)}setContent(e,i){this.contents.set(e,i)}deleteContent(e){this.contents.delete(e)}constructor(e,i){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,this.isAType=i?.isAType??null,this.isBType=i?.isBType??null,this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(!i?.externalStore){let t=i?.source;if(t===void 0)this.relations=new Map(e.relations?.map(([a,r])=>[a,new Set(r)])),this.contents=new Map(e.contents);if(t)this.relations=new Pin(t.relations),this.contents=new vu(t.contents)}if(i?.externalStore){let t=i.externalStore;if(this.has=(a,r)=>t.has(a,r),this.addRelation=(a,r)=>{t.addRelation(a,r)},this.deleteRelation=(a,r)=>{t.deleteRelation(a,r)},this.replaceRelationsSafely=(a,r)=>{t.replaceRelationsSafely(a,r)},this.replaceRelationsUnsafely=(a,r)=>{t.replaceRelationsUnsafely(a,r)},this.getRelatedKeys=(a)=>t.getRelatedKeys(a),t.getContent)this.getContentInternal=(a)=>{return t.getContent(a)},this.setContent=(a,r)=>{t.setContent(a,r)},this.deleteContent=(a)=>{t.deleteContent(a)};for(let[a,r]of e.relations??[]){let o=this.isAType?.(a)?a:void 0,u=o===void 0?a:void 0;for(let s of r)o??=s,u??=s,this.addRelation(o,u)}for(let[a,r]of e.contents??[])this.setContent(a,r)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,i])=>[e,[...i]]),contents:[...this.contents.entries()]}}set(...e){let i,t,a;switch(e.length){case 1:{let r=e[0];i=r[this.a],t=r[this.b],a=void 0;break}case 2:{let r=e[0];if(typeof r==="string")[i,t]=e;else i=r[this.a],t=r[this.b],a=e[1];break}default:i=e[0],t=e[1],a=e[2];break}switch(this.cardinality){case"1:1":{let r=this.getRelatedKey(i);if(r&&r!==t)this.delete(i,r)}case"1:n":{let r=this.getRelatedKey(t);if(r&&r!==i)this.delete(r,t)}break;case"n:n":}if(a){let r=this.makeContentKey(i,t);this.setContent(r,a)}return this.addRelation(i,t),this}delete(e,i){i=typeof i==="string"?i:e[this.b];let t=typeof e==="string"?e:e[this.a];if(t===void 0&&typeof i==="string"){let a=this.getRelatedKeys(i);if(a)for(let r of a)this.delete(r,i)}else if(typeof t==="string"&&i===void 0){let a=this.getRelatedKeys(t);if(a)for(let r of a)this.delete(t,r)}else if(typeof t==="string"&&typeof i==="string"){this.deleteRelation(t,i);let a=this.makeContentKey(t,i);this.deleteContent(a)}return this}getRelatedKey(e){let i=this.getRelatedKeys(e);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${e}": (${[...i].map((a)=>`"${a}"`).join(", ")}). Only one related key was expected.`);let t;for(let a of i){t=a;break}return t}}replaceRelations(e,i,t){let a=!Array.isArray(i),r=a?Object.keys(i):i;if(t?.reckless)this.replaceRelationsUnsafely(e,r);else this.replaceRelationsSafely(e,r);if(a)for(let o of r){let u=this.makeContentKey(e,o),s=i[o];this.setContent(u,s)}return this}getContent(e,i){let t=this.makeContentKey(e,i);return this.getContentInternal(t)}getRelationEntries(e){let i=e[this.a],t=e[this.b];if(i!==void 0&&t===void 0){let a=this.getRelatedKeys(i);if(a)return[...a].map((r)=>{return[r,this.getContent(i,r)]})}if(i===void 0&&t!==void 0){let a=this.getRelatedKeys(t);if(a)return[...a].map((r)=>{return[r,this.getContent(r,t)]})}return[]}has(e,i){if(i)return this.getRelatedKeys(e)?.has(i)??!1;return this.relations.has(e)}overlay(){let e={source:this,makeContentKey:this.makeContentKey};if(this.isAType)e.isAType=this.isAType;if(this.isBType)e.isBType=this.isBType;if(this.isContent)e.isContent=this.isContent;if(this.warn)e.warn=this.warn;return new n({between:[this.a,this.b],cardinality:this.cardinality},e)}incorporate(e){let{relations:i,contents:t}=e;for(let[a,r]of i)if(r instanceof GM){let{source:o}=r;for(let u of r.iterateOwn())o.add(u)}else this.relations.set(a,r);for(let a of i.deleted)this.relations.delete(a);for(let[a,r]of t)this.contents.set(a,r);for(let a of t.deleted)this.contents.delete(a)}},We=class{Subscriber;subscribers=new Map;subscribe(n,e){return this.subscribers.set(n,e),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){let e=this.subscribers.values();for(let i of e)i(n)}},kin=class extends We{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}},Bin=(n,e)=>{let i=Re(n);if(i.operation.open)return i.operation.prev.get(e.key);return i.valueMap.get(e.key)};function zM(n,e,i,t){let a=n.disposalTraces.buffer.find((r)=>r?.key===Ke(t));switch(n.logger.error("\u274C",e.type,e.key,"gets a fallback value because key",t,"is not allocated",a?`This key was previously disposed:
292
- ${a.trace}`:"(no previous disposal trace found)"),i.type){case"mutable_atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=new i.class;return n.defaults.set(i.key,r),r.READONLY_VIEW}case"atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default,o=r(t);return n.defaults.set(i.key,o),o}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default(t);return n.defaults.set(i.key,r),r}}}var lS=class extends Promise{fate;resolve;reject;done=!1;constructor(n){let e,i;super((t,a)=>{e=t,i=a});this.resolve=e,this.reject=i,this.use(n instanceof Promise?n:new Promise(n))}pass(n,e){if(n===this.fate)this.resolve(e),this.done=!0}fail(n,e){if(n===this.fate)this.reject(e),this.done=!0}use(n){if(this===n)return;if(n instanceof Promise){let e=n;this.fate=e,e.then((i)=>{this.pass(e,i)},(i)=>{this.fail(e,i)})}else this.resolve(n),this.fate=void 0}};function ab(n){return"epoch"in n.transactionMeta}function Rr(n){return"phase"in n.transactionMeta}function $M(n,e){if(n.operation.open){let i=performance.now();return n.logger.info("\uD83D\uDEAB",e.type,e.key,`deferring setState at T-${i} until setState for "${n.operation.token.key}" is done`),i}return n.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:e,subEvents:[]},n.logger.info("\u2B55",e.type,e.key,`operation start in store "${n.config.name}"${Rr(n)?` ${n.transactionMeta.phase} "${n.transactionMeta.update.token.key}"`:""}`),n}function HM(n){if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)}var PM=(n,e)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",e,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(e)},VD=(n,e)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",e,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(e)};function gS(n,e){let i=Re(n),{key:t,type:a}=e,r=i.selectorAtoms.getRelatedKeys(t);if(i.logger.info("\uD83E\uDDF9",a,t,r?`evicting ${r.size} states downstream:`:"no downstream states",r??"to evict"),r){if(i.operation.open)i.logger.info("\uD83E\uDDF9",a,t,`[ ${[...i.operation.done].join(", ")} ] already done`);for(let o of r){if(PM(i,o))continue;BM(i,o),VD(i,o)}}}function kM(n,e){let i=Re(n),t=i.selectorGraph.getRelationEntries({upstreamSelectorKey:e}).filter(([a,{source:r}])=>r===e);for(let[a]of t){if(PM(i,a))continue;BM(i,a),VD(i,a),kM(n,a)}}function vr(n,e,i){let{key:t,subject:a,type:r}=e,o=n.valueMap.get(t);if(o instanceof lS&&!o.done){let u=o;if(i instanceof Promise)return u.use(i),u;return n.valueMap.set(t,i),i}if(i instanceof Promise){let u=new lS(i);return n.valueMap.set(t,u),u.then(function s(l){if(n.valueMap.get(t)===u){switch($M(n,e),vr(n,e,l),r){case"atom":case"mutable_atom":gS(n,e);break;case"readonly_pure_selector":case"writable_pure_selector":kM(n,t);break}HM(n),a.next({newValue:l,oldValue:u})}}).catch((s)=>{n.logger.error("\uD83D\uDCA5","state",t,"rejected:",s)}),u}return n.logger.info("\uD83D\uDCDD",e.type,e.key,"writing to cache",i),n.valueMap.set(t,i),i}function Win(n,e,i){n.logger.info("\uD83D\uDCD6",e.type,e.key,"reading cached value");let t=n.valueMap.get(e.key);if(i==="mut"&&e.type==="mutable_atom"&&Rr(n)){let r=e,{parent:o}=n;if(n.valueMap.hasOwn(r.key))return t;let u=o.valueMap.get(r.key);n.logger.info("\uD83D\uDCC3","atom",r.key,"copying");let s=u.toJSON(),l=r.class.fromJSON(s);n.valueMap.set(r.key,l),new TS(r,o),t=l}return t}function BM(n,e){let i=n.valueMap.get(e);if(i instanceof lS){let t=n.writableSelectors.get(e)??n.readonlySelectors.get(e);if(t)t.getFrom(n);return}if(n.operation.open)n.operation.prev.set(e,i);n.valueMap.delete(e),n.logger.info("\uD83D\uDDD1","state",e,"evicted")}var Yin=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function hE(n){let e=Object.prototype.toString.call(n);return Yin.test(e)}function Qp(n,e,i){if(n.valueMap.has(e.key))return Win(n,e,i);n.logger.info("\u2754",e.type,e.key,"value not found in cache");let{key:t}=e;switch(e.type){case"readonly_held_selector":case"writable_held_selector":return n.logger.info("\uD83E\uDDEE",e.type,t,"computing value"),e.getFrom(n);case"readonly_pure_selector":case"writable_pure_selector":{let a;n.logger.info("\uD83E\uDDEE",e.type,t,"computing value");try{if(a=e.getFrom(n),a instanceof Promise)return a.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return vr(n,e,o)}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return vr(n,e,o)}throw o}return vr(n,e,a)}case"atom":{let a;if(hE(e.default))try{if(a=e.default(),a instanceof Promise)a=a.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return a=vr(n,e,o),a}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return a=vr(n,e,o),n.logger.info("\u2728",e.type,t,"computed default",a),a}throw o}else a=e.default,n.logger.info("\u2728",e.type,t,"using static default",a);return vr(n,e,a)}case"mutable_atom":{let a=new e.class;return n.logger.info("\u2728",e.type,t,"created new instance",a),vr(n,e,a)}}}function mS(n,e){return Vi(n,{key:e.family.key,type:`${e.type}_family`})}var AE=Symbol("MUST_CREATE");function DE(n,e,i,t){let a=Ke(i),r=n.molecules.get(a);if(!r&&n.config.lifespan==="immortal")return n.logger.warn("\uD83D\uDCA3","key",a,"was used to mint a counterfeit token for",e.type,`"${e.key}"`),OM(e,i,$in);let u;if(t===AE){if(n.logger.info("\uD83D\uDC6A",e.type,e.key,"adds member",typeof i==="string"?`\`${i}\``:i),u=e(i),r)n.moleculeData.set(a,e.key)}else u=OM(e,i);return u}var Vin=(n)=>{n.logger.info("\uD83E\uDE82","transaction",n.transactionMeta.update.token.key,"Aborting transaction"),n.parent.child=null};function XD(n,e,i){return(...t)=>{return Vi(n,e).run(t,i)}}function cS(n,e){if(hE(n))return n(e);return n}var pS=(n,e,i)=>{let t=Qp(n,e,"mut"),a=cS(i,t);return n.logger.info("\u2B50","atom",e.key,"setting value",a),a=vr(n,e,a),VD(n,e.key),gS(n,e),{oldValue:t,newValue:a}};function LM(n,e){switch(e.type){case"mutable_atom":return pS(n,e,new e.class);case"atom":{let i=e.default;if(hE(i))i=i();return pS(n,e,i)}}}function Xin(n,e){let i;switch(e.type){case"atom":case"mutable_atom":i=LM(n,e);break;case"writable_pure_selector":case"writable_held_selector":{let t=e.getFrom(n),a=WD(n,e.key);for(let o of a.values()){let u=LM(n,o);KM(n,e,u,!1)}let r=e.getFrom(n);i={oldValue:t,newValue:r}}break}return i}function Tt(n,...e){ES(n,fS,...e)}var dS=Symbol("RESET");function ZD(n,...e){let i=[...e,dS];Tt(n,...i)}function Zin(n,e,i){let t,a,r,{type:o,key:u}=e;switch(e.type){case"writable_pure_selector":t=Qp(n,e,"mut"),a=cS(i,t),a=vr(n,e,a);break;case"writable_held_selector":r=e.const,cS(i,r),t=r,a=r}return n.logger.info("\u2B50",o,u,"setting to",a),VD(n,u),e.setSelf(a),{oldValue:t,newValue:a}}var Qin=(n,e,i)=>{let t;switch(e.type){case"atom":case"mutable_atom":t=pS(n,e,i);break;case"writable_pure_selector":case"writable_held_selector":t=Zin(n,e,i);break}return t};function Kin(n,e,i){let{token:t,update:{newValue:a,oldValue:r}}=e;Tt(n,t,i==="newValue"?a:r)}function jin(n){let{stack:e}=n;if(e)return`
292
+ ${a.trace}`:"(no previous disposal trace found)"),i.type){case"mutable_atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=new i.class;return n.defaults.set(i.key,r),r.READONLY_VIEW}case"atom_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default,o=r(t);return n.defaults.set(i.key,o),o}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(n.defaults.has(i.key))return n.defaults.get(i.key);let r=i.default(t);return n.defaults.set(i.key,r),r}}}var lS=class extends Promise{fate;resolve;reject;done=!1;constructor(n){let e,i;super((t,a)=>{e=t,i=a});this.resolve=e,this.reject=i,this.use(n instanceof Promise?n:new Promise(n))}pass(n,e){if(n===this.fate)this.resolve(e),this.done=!0}fail(n,e){if(n===this.fate)this.reject(e),this.done=!0}use(n){if(this===n)return;if(n instanceof Promise){let e=n;this.fate=e,e.then((i)=>{this.pass(e,i)},(i)=>{this.fail(e,i)})}else this.resolve(n),this.fate=void 0}};function ab(n){return"epoch"in n.transactionMeta}function Rr(n){return"phase"in n.transactionMeta}function $M(n,e){if(n.operation.open){let i=performance.now();return n.logger.info("\uD83D\uDEAB",e.type,e.key,`deferring setState at T-${i} until setState for "${n.operation.token.key}" is done`),i}return n.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:e,subEvents:[]},n.logger.info("\u2B55",e.type,e.key,`operation start in store "${n.config.name}"${Rr(n)?` ${n.transactionMeta.phase} "${n.transactionMeta.update.token.key}"`:""}`),n}function HM(n){if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)}var PM=(n,e)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",e,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(e)},VD=(n,e)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",e,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(e)};function gS(n,e){let i=Re(n),{key:t,type:a}=e,r=i.selectorAtoms.getRelatedKeys(t);if(i.logger.info("\uD83E\uDDF9",a,t,r?`evicting ${r.size} states downstream:`:"no downstream states",r??"to evict"),r){if(i.operation.open)i.logger.info("\uD83E\uDDF9",a,t,`[ ${[...i.operation.done].join(", ")} ] already done`);for(let o of r){if(PM(i,o))continue;BM(i,o),VD(i,o)}}}function kM(n,e){let i=Re(n),t=i.selectorGraph.getRelationEntries({upstreamSelectorKey:e}).filter(([a,{source:r}])=>r===e);for(let[a]of t){if(PM(i,a))continue;BM(i,a),VD(i,a),kM(n,a)}}function vr(n,e,i){let{key:t,subject:a,type:r}=e,o=n.valueMap.get(t);if(o instanceof lS&&!o.done){let u=o;if(i instanceof Promise)return u.use(i),u;return n.valueMap.set(t,i),i}if(i instanceof Promise){let u=new lS(i);return n.valueMap.set(t,u),u.then(function s(l){if(n.valueMap.get(t)===u){switch($M(n,e),vr(n,e,l),r){case"atom":case"mutable_atom":gS(n,e);break;case"readonly_pure_selector":case"writable_pure_selector":kM(n,t);break}HM(n),a.next({newValue:l,oldValue:u})}}).catch((s)=>{n.logger.error("\uD83D\uDCA5","state",t,"rejected:",s)}),u}return n.logger.info("\uD83D\uDCDD",e.type,e.key,"writing to cache",i),n.valueMap.set(t,i),i}function Win(n,e,i){n.logger.info("\uD83D\uDCD6",e.type,e.key,"reading cached value");let t=n.valueMap.get(e.key);if(i==="mut"&&e.type==="mutable_atom"&&Rr(n)){let r=e,{parent:o}=n;if(n.valueMap.hasOwn(r.key))return t;let u=o.valueMap.get(r.key);n.logger.info("\uD83D\uDCC3","atom",r.key,"copying");let s=u.toJSON(),l=r.class.fromJSON(s);n.valueMap.set(r.key,l),new TS(r,o),t=l}return t}function BM(n,e){let i=n.valueMap.get(e);if(i instanceof lS){let t=n.writableSelectors.get(e)??n.readonlySelectors.get(e);if(t)t.getFrom(n);return}if(n.operation.open)n.operation.prev.set(e,i);n.valueMap.delete(e),n.logger.info("\uD83D\uDDD1","state",e,"evicted")}var Yin=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function hE(n){let e=Object.prototype.toString.call(n);return Yin.test(e)}function Qp(n,e,i){if(n.valueMap.has(e.key))return Win(n,e,i);n.logger.info("\u2754",e.type,e.key,"value not found in cache");let{key:t}=e;switch(e.type){case"readonly_held_selector":case"writable_held_selector":return n.logger.info("\uD83E\uDDEE",e.type,t,"computing value"),e.getFrom(n);case"readonly_pure_selector":case"writable_pure_selector":{let a;n.logger.info("\uD83E\uDDEE",e.type,t,"computing value");try{if(a=e.getFrom(n),a instanceof Promise)return a.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return vr(n,e,o)}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return vr(n,e,o)}throw o}return vr(n,e,a)}case"atom":{let a;if(hE(e.default))try{if(a=e.default(),a instanceof Promise)a=a.catch((o)=>{if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return a=vr(n,e,o),a}throw o})}catch(o){if(n.logger.error("\uD83D\uDCA5",e.type,t,"rejected:",o),e.catch){for(let u of e.catch)if(o instanceof u)return a=vr(n,e,o),n.logger.info("\u2728",e.type,t,"computed default",a),a}throw o}else a=e.default,n.logger.info("\u2728",e.type,t,"using static default",a);return vr(n,e,a)}case"mutable_atom":{let a=new e.class;return n.logger.info("\u2728",e.type,t,"created new instance",a),vr(n,e,a)}}}function mS(n,e){return Vi(n,{key:e.family.key,type:`${e.type}_family`})}var AE=Symbol("MUST_CREATE");function DE(n,e,i,t){let a=Ke(i),r=n.molecules.get(a);if(!r&&n.config.lifespan==="immortal")return n.logger.warn("\uD83D\uDCA3","key",a,"was used to mint a counterfeit token for",e.type,`"${e.key}"`),OM(e,i,$in);let u;if(t===AE){if(n.logger.info("\uD83D\uDC6A",e.type,e.key,"adds member",typeof i==="string"?`\`${i}\``:i),u=e.create(i),r)n.moleculeData.set(a,e.key)}else u=OM(e,i);return u}var Vin=(n)=>{n.logger.info("\uD83E\uDE82","transaction",n.transactionMeta.update.token.key,"Aborting transaction"),n.parent.child=null};function XD(n,e,i){return(...t)=>{return Vi(n,e).run(t,i)}}function cS(n,e){if(hE(n))return n(e);return n}var pS=(n,e,i)=>{let t=Qp(n,e,"mut"),a=cS(i,t);return n.logger.info("\u2B50","atom",e.key,"setting value",a),a=vr(n,e,a),VD(n,e.key),gS(n,e),{oldValue:t,newValue:a}};function LM(n,e){switch(e.type){case"mutable_atom":return pS(n,e,new e.class);case"atom":{let i=e.default;if(hE(i))i=i();return pS(n,e,i)}}}function Xin(n,e){let i;switch(e.type){case"atom":case"mutable_atom":i=LM(n,e);break;case"writable_pure_selector":case"writable_held_selector":{let t=e.getFrom(n),a=WD(n,e.key);for(let o of a.values()){let u=LM(n,o);KM(n,e,u,!1)}let r=e.getFrom(n);i={oldValue:t,newValue:r}}break}return i}function Tt(n,...e){ES(n,fS,...e)}var dS=Symbol("RESET");function ZD(n,...e){let i=[...e,dS];Tt(n,...i)}function Zin(n,e,i){let t,a,r,{type:o,key:u}=e;switch(e.type){case"writable_pure_selector":t=Qp(n,e,"mut"),a=cS(i,t),a=vr(n,e,a);break;case"writable_held_selector":r=e.const,cS(i,r),t=r,a=r}return n.logger.info("\u2B50",o,u,"setting to",a),VD(n,u),e.setSelf(a),{oldValue:t,newValue:a}}var Qin=(n,e,i)=>{let t;switch(e.type){case"atom":case"mutable_atom":t=pS(n,e,i);break;case"writable_pure_selector":case"writable_held_selector":t=Zin(n,e,i);break}return t};function Kin(n,e,i){let{token:t,update:{newValue:a,oldValue:r}}=e;Tt(n,t,i==="newValue"?a:r)}function jin(n){let{stack:e}=n;if(e)return`
293
293
  `+e.split(`
294
294
  `)?.slice(1)?.join(`
295
295
  `);return""}function WM(n,e=ei.STORE){let i={key:n,stringKey:Ke(n),dependsOn:"any"};return e.molecules.set(Ke(n),i),n}function QD(n,e,i,t="any"){let a=e,r=Ke(i),o=[],u=Re(n);if(Array.isArray(a))for(let c of a){let f=Ke(c);if(u.molecules.get(f))n.moleculeGraph.set(f,r,{source:f});else o.push(f)}else{let c=Ke(a);if(u.molecules.get(c))n.moleculeGraph.set(c,r,{source:c});else o.push(c)}if(o.length===0)u.molecules.set(r,{key:i,stringKey:r,dependsOn:t});let s={type:"molecule_creation",key:i,provenance:a,timestamp:Date.now()};if(Rr(u)&&u.transactionMeta.phase==="building")u.transactionMeta.update.subEvents.push(s);else u.on.moleculeCreation.next(s);for(let c of o){let f=n.disposalTraces.buffer.find((b)=>b?.key===c);n.logger.error("\u274C","key",i,"allocation failed:",`Could not allocate to ${c} in store "${n.config.name}".`,f?`
@@ -300,7 +300,7 @@ ${b.trace}`:`No previous disposal trace for ${i} was found.`);return}let a=n.mol
300
300
  ${a} was most recently disposed
301
301
  ${b.trace}`:`No previous disposal trace for ${a} was found.`),i}let u=Ke(e),s=r.molecules.get(u);if(!s){let b=n.disposalTraces.buffer.find((m)=>m?.key===u);return n.logger.error("\u274C","key",i,"claim failed:",`Could not allocate to ${u} in store "${n.config.name}".`,b?`
302
302
  ${u} was most recently disposed
303
- ${b.trace}`:`No previous disposal trace for ${u} was found.`),i}let l=n.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:b}])=>b!==a).map(([b])=>Qa(b));if(t)r.moleculeGraph.delete(a);r.moleculeGraph.set({upstreamMoleculeKey:s.stringKey,downstreamMoleculeKey:o.stringKey},{source:s.stringKey});let c={type:"molecule_transfer",key:o.key,exclusive:Boolean(t),from:l,to:[s.key],timestamp:Date.now()};if(Rr(r)&&r.transactionMeta.phase==="building")r.transactionMeta.update.subEvents.push(c);return i}function Jin(n,e,i){switch(i){case"newValue":XM(n,e);break;case"oldValue":_E(n,e.token);break}}function qin(n,e,i){switch(i){case"newValue":_E(n,e.token);break;case"oldValue":if(XM(n,e),e.subType==="atom")n.valueMap.set(e.token.key,e.value);break}}function XM(n,e){let{token:i}=e;if(e.subType==="writable"&&e.value)Tt(n,i,e.value);else Ka(n,i)}function ntn(n,e,i){switch(i){case"newValue":QD(n,e.provenance,e.key);break;case"oldValue":KD(n,e.key);break}}function etn(n,e,i){switch(i){case"newValue":KD(n,e.key);break;case"oldValue":{let t=e.provenance.map(Qa);QD(n,t,e.key);for(let[a,r]of e.values){let o=n.families.get(a);if(o){Ka(n,o,e.key);let u=`${a}(${Ke(e.key)})`;n.valueMap.set(u,r)}}}break}}function itn(n,e,i){switch(i){case"newValue":for(let t of e.to)wE(n,t,e.key,e.exclusive?"exclusive":void 0);break;case"oldValue":{let t="exclusive";for(let a of e.from)wE(n,a,e.key,t),t=void 0}break}}function ZM(n,e,i){let t=i==="newValue"?e.subEvents:[...e.subEvents].reverse();for(let a of t)switch(a.type){case"atom_update":Kin(n,a,i);break;case"state_creation":Jin(n,a,i);break;case"state_disposal":qin(n,a,i);break;case"molecule_creation":ntn(n,a,i);break;case"molecule_disposal":etn(n,a,i);break;case"molecule_transfer":itn(n,a,i);break;case"transaction_outcome":ZM(n,a,i);break}}function QM(n,e){return n.transactionMeta.actionContinuities.getRelatedKey(e)}function ttn(n,e){return n.transactionMeta.epoch.get(e)}function atn(n,e){let i=QM(n,e);if(i===void 0)return;return ttn(n,i)}function rtn(n,e,i){let t=QM(n,e);if(t!==void 0)n.transactionMeta.epoch.set(t,i)}function otn(n,e){let i=Re(n),{parent:t}=i;i.transactionMeta.phase="applying",i.transactionMeta.update.output=e,t.child=null,t.on.transactionApplying.next(i.transactionMeta);let{subEvents:a}=i.transactionMeta.update;if(n.logger.info("\uD83D\uDEC4","transaction",i.transactionMeta.update.token.key,`applying ${a.length} subEvents:`,a),ZM(t,i.transactionMeta.update,"newValue"),ab(t))rtn(t,i.transactionMeta.update.token.key,i.transactionMeta.update.epoch),Vi(n,{key:i.transactionMeta.update.token.key,type:"transaction"})?.subject.next(i.transactionMeta.update),n.logger.info("\uD83D\uDEEC","transaction",i.transactionMeta.update.token.key,"applied");else if(Rr(t))t.transactionMeta.update.subEvents.push(i.transactionMeta.update);t.on.transactionApplying.next(null)}function utn(n){return{store:n}}var stn=(n,e,i,t)=>{let a=Re(n),r={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new vu(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new vu(a.families),joins:new vu(a.joins),operation:{open:!1},readonlySelectors:new vu(a.readonlySelectors),timelines:new vu(a.timelines),timelineTopics:a.timelineTopics.overlay(),trackers:new Map,transactions:new vu(a.transactions),selectorAtoms:a.selectorAtoms.overlay(),selectorGraph:a.selectorGraph.overlay(),writableSelectors:new vu(a.writableSelectors),valueMap:new vu(a.valueMap),defaults:a.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new vu(a.molecules),moleculeGraph:a.moleculeGraph.overlay(),moleculeData:a.moleculeData.overlay(),moleculeJoins:a.moleculeJoins.overlay(),miscResources:new vu(a.miscResources)},o=atn(n,e.key),u={phase:"building",update:{type:"transaction_outcome",token:e,id:t,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:i,output:void 0},toolkit:{get:(...l)=>Ka(s,...l),set:(...l)=>{Tt(s,...l)},reset:(...l)=>{ZD(s,...l)},run:(l,c=bS())=>XD(s,l,c),find:(...l)=>Ii(n,...l),json:(l)=>Kp(s,l),dispose:(...l)=>{_E(s,...l)},env:()=>utn(s)}},s=Object.assign(r,{transactionMeta:u});return a.child=s,n.logger.info("\uD83D\uDEEB","transaction",e.key,"building with params:",i),s};function TE(n,e){let{key:i}=e,t=n.transactions.has(i),a={key:i,type:"transaction",run:(u,s)=>{let l=wc(a),c=stn(n,l,u,s);try{let{toolkit:f}=c.transactionMeta,b=e.do(f,...u);return otn(c,b),b}catch(f){throw Vin(c),n.logger.warn("\uD83D\uDCA5","transaction",i,"caught:",f),f}},install:(u)=>TE(u,e),subject:new We};Re(n).transactions.set(i,a);let o=wc(a);if(!t)n.on.transactionCreation.next(o);return o}function KM(n,e,{oldValue:i,newValue:t},a,r){let o=wc(e);if(a&&r){e.subject.next({newValue:t});let f={checkpoint:!0,type:"state_creation",subType:"writable",token:o,timestamp:Date.now(),value:t};n.operation.subEvents.push(f),r.subject.next(f);let m=Re(n);if(o.family){if(ab(m))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"writable_held_selector":n.on.selectorCreation.next(o);break}else if(Rr(m)&&m.on.transactionApplying.state===null)m.transactionMeta.update.subEvents.push(f)}return}let{key:u,subject:s,type:l}=e,c={oldValue:sS(i)?i.READONLY_VIEW:i,newValue:sS(t)?t.READONLY_VIEW:t};if(ab(n)){switch(l){case"mutable_atom":n.logger.info("\uD83D\uDCE2",l,u,"is now (",t,") subscribers:",s.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":n.logger.info("\uD83D\uDCE2",l,u,"went (",i,"->",t,") subscribers:",s.subscribers.keys())}s.next(c)}if(Rr(n)&&(l==="mutable_atom"||l==="atom")){if(n.on.transactionApplying.state===null){if(sS(t))return;let{timestamp:f}=n.operation,b={type:"atom_update",token:o,timestamp:f,update:c};n.transactionMeta.update.subEvents.push(b),n.logger.info("\uD83D\uDCC1","atom",u,"stowed (",i,"->",t,")");return}if(a6(e,"tracker:signal")){let f=u.slice(1),b=n.atoms.get(f);if(Qp(n,b,"mut").do(c.newValue)===null===!0)gS(n,b)}}}var fS=Symbol("OWN_OP"),ltn=Symbol("JOIN_OP");function ES(n,e,...i){let t,a,r,o,u,s;if(i.length===2){if(r=i[0],s=i[1],"family"in r)if(o=mS(n,r),u=Qa(r.family.subKey),t=vE(n,o,u),!t)r=a=DE(n,o,u,AE);else r=t}else if(o=Vi(n,i[0]),u=i[1],s=i[2],t=vE(n,o,u),!t)r=a=DE(n,o,u,AE);else r=t;let l=s===dS?"reset":"set",c;if(e===fS){let E=$M(n,r);if(typeof E==="number"){let D=E,T=n.on.operationClose.subscribe(`waiting to ${l} "${r.key}" at T-${D}`,function v(){T(),n.logger.info("\uD83D\uDFE2",r.type,r.key,"resuming deferred",l,`from T-${D}`),ES(n,e,r,s)});return}c=E}else c=n;if("counterfeit"in r&&"family"in r){let E=r.family.subKey,h=n.disposalTraces.buffer.find((D)=>D?.key===E);n.logger.error("\u274C",r.type,r.key,"could not be",l,"because key",E,"is not allocated.",h?`this key was previously disposed:${h.trace}`:"(no previous disposal trace found)");return}let f=Vi(c,r),b;if(s===dS)b=Xin(c,f);else b=Qin(c,f,s);let m=Boolean(a);if(KM(c,f,b,m,o),e===fS)HM(c)}var jM=(n,e)=>Re(n).atoms.has(e),ctn=(n,e)=>Re(n).writableSelectors.has(e),ptn=(n,e)=>Re(n).readonlySelectors.has(e),dtn=(n,e)=>jM(n,e)||ctn(n,e)||ptn(n,e);function IM(n,e){return Re(n).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([t,{source:a}])=>a!==e).map(([t,{source:a}])=>a).filter((t)=>dtn(n,t))}function WD(n,e,i=new Set){let t=IM(n,e),a=new Map;while(t.length>0){let r=t.pop();if(i.has(r))continue;if(i.add(r),jM(n,r)){let o=n.atoms.get(r);a.set(o.key,o)}else t.push(...IM(n,r))}return a}function ftn(n,e,i,t,a){let r=Re(n),{type:o,key:u}=t;if(o==="atom"||o==="mutable_atom")r.selectorAtoms.set({selectorKey:i,atomKey:u}),n.logger.info("\uD83D\uDD0D",e,i,`discovers root atom "${u}"`);else{let s=WD(n,u,a);n.logger.info("\uD83D\uDD0D",e,i,`discovers root atoms: [ ${[...s.values()].map((l)=>`"${l.key}"`).join(", ")} ]`);for(let{key:l}of s.values())r.selectorAtoms=r.selectorAtoms.set({selectorKey:i,atomKey:l})}a.add(u)}function jD(n,e,i,t){return{get:(...a)=>{let r=Re(n),{token:o,family:u,subKey:s}=RS(n,...a),l;if("counterfeit"in o&&u&&s)l=zM(n,o,u,s);else{let c=Vi(n,o);l=Qp(n,c)}return n.logger.info("\uD83D\uDD0C",e,i,`registers dependency ( "${o.key}" =`,l,")"),r.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:i},{source:o.key}),ftn(n,e,i,o,t),l},set:(...a)=>{let r=Re(n);ES(r,ltn,...a)},find:(...a)=>Ii(n,...a),json:(a)=>Kp(n,a)}}function hS(n,e,i){let t=Re(n),a=new We,r=new Set,{key:o,const:u}=e,s="readonly_held_selector";n.logger.info("\uD83D\uDD28","readonly_held_selector",o,"is being created");let{get:l,find:c,json:f}=jD(t,"readonly_held_selector",o,r),m={...e,type:"readonly_held_selector",subject:a,getFrom:(h)=>{let D=h.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[T,{source:v}]of D)if(v!==o)h.selectorGraph.delete(T,o);return h.selectorAtoms.delete(o),e.get({get:l,find:c,json:f},u),vr(h,m,u),n.logger.info("\u2728","readonly_held_selector",o,"=",u),r.clear(),u},install:(h)=>hS(h,e,i)};if(i)m.family=i;t.readonlySelectors.set(o,m);let E={key:o,type:"readonly_held_selector"};if(i)E.family=i;return E}function AS(n,e,i){let t=Re(n),a=new We,r=new Set,o=e.key,u="readonly_pure_selector";n.logger.info("\uD83D\uDD28","readonly_pure_selector",o,"is being created");let{get:s,find:l,json:c}=jD(t,"readonly_pure_selector",o,r),b={...e,type:"readonly_pure_selector",subject:a,getFrom:()=>{let E=Re(n),h=E.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[v,{source:N}]of h)if(N!==o)E.selectorGraph.delete(v,o);E.selectorAtoms.delete(o);let D=e.get({get:s,find:l,json:c}),T=vr(E,b,D);return n.logger.info("\u2728","readonly_pure_selector",o,"=",T),r.clear(),T},install:(E)=>AS(E,e,i)};if(i)b.family=i;t.readonlySelectors.set(o,b);let m={key:o,type:"readonly_pure_selector"};if(i)m.family=i;return m}function DS(n,e,i){let t=Re(n),a=new We,r=new Set,{key:o,const:u}=e,s="writable_held_selector";n.logger.info("\uD83D\uDD28","writable_held_selector",o,"is being created");let l=jD(t,"writable_held_selector",o,r),{find:c,get:f,json:b}=l,m={find:c,get:f,json:b},D={...e,type:"writable_held_selector",subject:a,getFrom:(v)=>{let N=v.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[F,{source:_}]of N)if(_!==o)v.selectorGraph.delete(F,o);return v.selectorAtoms.delete(o),e.get(m,u),vr(v,D,u),n.logger.info("\u2728","writable_held_selector",o,"=",u),r.clear(),u},setSelf:()=>{e.set(l,u)},install:(v)=>DS(v,e,i)};if(i)D.family=i;t.writableSelectors.set(o,D);let T={key:o,type:"writable_held_selector"};if(i)T.family=i;return T}function wS(n,e,i){let t=Re(n),a=new We,r=new Set,o=e.key,u="writable_pure_selector";n.logger.info("\uD83D\uDD28","writable_pure_selector",o,"is being created");let s=jD(t,"writable_pure_selector",o,r),{find:l,get:c,json:f}=s,b={find:l,get:c,json:f},h={...e,type:"writable_pure_selector",subject:a,getFrom:(T)=>{let v=T.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[_,{source:I}]of v)if(I!==o)T.selectorGraph.delete(_,o);T.selectorAtoms.delete(o);let N=e.get(b),F=vr(T,h,N);return n.logger.info("\u2728","writable_pure_selector",o,"=",F),r.clear(),F},setSelf:(T)=>{e.set(s,T)},install:(T)=>wS(T,e,i)};if(i)h.family=i;t.writableSelectors.set(o,h);let D={key:o,type:"writable_pure_selector"};if(i)D.family=i;return D}function JM(n,e){let i="set"in e,t="const"in e;if(t&&i){let r=DS(n,e,void 0);return n.on.selectorCreation.next(r),r}if(t){let r=hS(n,e,void 0);return n.on.selectorCreation.next(r),r}if(i){let r=wS(n,e,void 0);return n.on.selectorCreation.next(r),r}let a=AS(n,e,void 0);return n.on.selectorCreation.next(a),a}function btn(n,e){let i=Re(n),{key:t,type:a,family:r}=e;if(!r)n.logger.error("\u274C",a,t,"Standalone selectors cannot be disposed.");else{if(i.molecules.get(r.subKey))i.moleculeData.delete(r.subKey,r.key);let u;switch(e.type){case"writable_held_selector":i.writableSelectors.delete(t),u={key:r.key,type:"writable_held_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"writable_pure_selector":i.writableSelectors.delete(t),u={key:r.key,type:"writable_pure_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_held_selector":i.readonlySelectors.delete(t),u={key:r.key,type:"readonly_held_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_pure_selector":i.readonlySelectors.delete(t),u={key:r.key,type:"readonly_pure_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break}if(i.valueMap.delete(t),i.selectorAtoms.delete(t),i.selectorGraph.delete(t),i.moleculeData.delete(r.key,r.subKey),n.logger.info("\uD83D\uDD25",e.type,t,"deleted"),Rr(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});else n.on.selectorDisposal.next(e)}}function tb(n,e,i){let t=e.key,a="readonly_pure_selector_family",r={key:t,type:"readonly_pure_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","readonly_pure_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l=Object.assign((c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n),h={key:m,get:e.get(c)};if(e.catch)h.catch=e.catch;return AS(E,h,b)},r,{internalRoles:i,subject:u,install:(c)=>tb(c,e),default:(c)=>{return e.get(c)({get:(...b)=>Ka(n,...b),find:(...b)=>Ii(n,...b),json:(b)=>Kp(n,b)})},...e.catch?{catch:e.catch}:{}});return n.families.set(t,l),r}function SE(n,e,i){let t={key:e.key,type:"atom_family"},a=n.families.get(e.key);if(a)n.logger.error("\u2757","atom_family",e.key,`Overwriting an existing ${bl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new We,u=Object.assign((s)=>{let l=Ke(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=Re(n),m=e.default,E={key:f,default:hE(m)?()=>m(s):m};if(e.effects)E.effects=e.effects(s);if(e.catch)E.catch=e.catch;return qD(b,E,c)},{...t,default:e.default,subject:r,install:(s)=>SE(s,e),internalRoles:i,...e.catch?{catch:e.catch}:{}});if(n.families.set(e.key,u),hE(e.default)===!1)n.defaults.set(e.key,e.default);return t}function qM(n,e,i){let t=e.key,a="readonly_held_selector_family",r={key:t,type:"readonly_held_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","readonly_held_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l=Object.assign((c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n);return hS(E,{key:m,const:e.const(c),get:e.get(c)},b)},r,{internalRoles:i,subject:u,install:(c)=>qM(c,e),default:e.const});return n.families.set(t,l),r}function n6(n,e,i){let t=e.key,a="writable_held_selector_family",r={key:t,type:"writable_held_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","writable_held_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l=Object.assign((c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n);return DS(E,{key:m,const:e.const(c),get:e.get(c),set:e.set(c)},b)},r,{internalRoles:i,subject:u,install:(c)=>n6(c,e),default:e.const});return n.families.set(t,l),r}function vS(n,e,i){let t=e.key,a="writable_pure_selector_family",r={key:t,type:"writable_pure_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","writable_pure_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l=Object.assign((c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n),h={key:m,get:e.get(c),set:e.set(c)};if(e.catch)h.catch=e.catch;return wS(E,h,b)},r,{internalRoles:i,subject:u,install:(c)=>vS(c,e),default:(c)=>{return e.get(c)({get:(...b)=>Ka(n,...b),find:(...b)=>Ii(n,...b),json:(b)=>Kp(n,b)})},...e.catch?{catch:e.catch}:{}});return n.families.set(t,l),r}function e6(n,e){let i="set"in e,t="const"in e;if(t&&i)return n6(n,e,void 0);if(t)return qM(n,e,void 0);if(i)return vS(n,e);return tb(n,e)}function vE(n,e,i){let t=Ke(i),a=`${e.key}(${t})`,r=Re(n),o;switch(e.type){case"atom_family":case"mutable_atom_family":o=r.atoms.get(a);break;case"writable_held_selector_family":case"writable_pure_selector_family":o=r.writableSelectors.get(a);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":o=r.readonlySelectors.get(a);break}if(o)return wc(o);return o}function Ii(n,e,i){let t=Vi(n,e),a=vE(n,e,i);if(a)return a;return DE(n,t,i)}function _E(n,...e){let i;if(e.length===1)i=e[0];else{let t=e[0],a=e[1];i=Ii(n,t,a)}try{Vi(n,i)}catch(t){n.logger.error("\u274C",i.type,i.key,`could not be disposed because it was not found in the store "${n.config.name}".`);return}switch(i.type){case"atom":case"mutable_atom":t6(n,i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":btn(n,i);break}}function RS(n,...e){let i,t,a,r,o;if(e.length===1){if(o=e[0],"family"in o){let l=mS(n,o);if(a=Vi(n,l),r=Qa(o.family.subKey),i=vE(n,l,r),"counterfeit"in o)return{token:o,family:a,subKey:r,isNew:!1};if(!i)t=DE(n,l,r,AE),o=t;else o=i}}else if(a=Vi(n,e[0]),r=e[1],i=vE(n,a,r),!i)t=DE(n,a,r,AE),o=t;else o=i;let u="counterfeit"in o;if(Boolean(t)&&u===!1&&a){let l;switch(o.type){case"readonly_pure_selector":case"readonly_held_selector":l="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":l="writable";break}let c={type:"state_creation",subType:l,token:o,timestamp:Date.now()};a.subject.next(c);let b=Re(n);if(o.family){if(ab(b))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":n.on.selectorCreation.next(o);break}else if(Rr(b)&&b.on.transactionApplying.state===null)b.transactionMeta.update.subEvents.push(c)}}return{token:o,family:a,subKey:r,isNew:Boolean(t)}}function Ka(n,...e){let{token:i,family:t,subKey:a}=RS(n,...e);if("counterfeit"in i&&t&&a)return zM(n,i,t,a);let r=Vi(n,i);return Qp(n,r)}var yM=(n,e,i)=>{return i.subject.subscribe(`${e.type}:${e.key}`,(t)=>{n.logger.info("\uD83D\uDCE2",e.type,e.key,"root",i.key,"went",t.oldValue,"->",t.newValue);let a=Bin(n,e),r=Qp(n,e);n.logger.info("\u2728",e.type,e.key,"went",a,"->",r),e.subject.next({newValue:r,oldValue:a})})};function RE(n,e,i,t){function a(f){if(n.operation.open){let b=n.on.operationClose.subscribe(`state subscription ${i}`,()=>{b(),t(f)})}else t(f)}RS(n,e);let r=Vi(n,e);n.logger.info("\uD83D\uDC40",r.type,r.key,`Adding subscription "${i}"`);let o=r.type==="writable_pure_selector"||r.type==="readonly_pure_selector",u=new Map,s=a;if(o){Qp(n,r);for(let[f,b]of WD(n,r.key))u.set(f,yM(n,r,b));s=function f(b){let m=WD(n,r.key);for(let[E,h]of u)if(m.get(E))m.delete(E);else h(),u.delete(E);for(let[E,h]of m)u.set(E,yM(n,r,h));a(b)}}let l=r.subject.subscribe(i,s);return()=>{n.logger.info("\uD83D\uDE48",r.type,r.key,`Removing subscription "${i}"`),l();for(let f of u.values())f()}}function Vi(n,e){let i,t=n;while(t!==null){switch(e.type){case"atom":case"mutable_atom":i=t.atoms.get(e.key);break;case"writable_pure_selector":case"writable_held_selector":i=t.writableSelectors.get(e.key);break;case"readonly_pure_selector":case"readonly_held_selector":i=t.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":i=t.families.get(e.key);break;case"timeline":i=t.timelines.get(e.key);break;case"transaction":i=t.transactions.get(e.key);break}if(i)return i;t=t.child}throw new Etn(e,n)}var gtn=(n,e,i,t)=>{let a=Vi(n,e);n.logger.info("\uD83D\uDC40","timeline",e.key,`Adding subscription "${i}"`);let r=a.subject.subscribe(i,t);return()=>{n.logger.info("\uD83D\uDE48","timeline",e.key,`Removing subscription "${i}" from timeline`),r()}};var TS=class{initializeSignalAtom(n,e){let i=`*${n.key}`;e.atoms.delete(i),e.valueMap.delete(i);let t=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=qD(e,{key:i,default:null},t,["tracker:signal"]);if(e.parent?.valueMap.has(i)){let r=e.parent.valueMap.get(i);e.valueMap.set(i,r)}return a}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(n,e,i){let t=n.key,a=i.config.name,r=Rr(i)?i.transactionMeta.update.token.key:"main",o=`tracker:${a}:${r}:${t}`,u=(l)=>{Tt(i,e,l)},s=Ka(i,n);this.unsubscribeFromInnerValue=s.subscribe(o,u),this.unsubscribeFromState=RE(i,n,o,function l(c){if(c.newValue!==c.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=c.newValue.subscribe(o,u)}.bind(this))}supplySignalsToCore(n,e,i){let t=`tracker:${i.config.name}:${Rr(i)?i.transactionMeta.update.token.key:"main"}:${n.key}`;RE(i,e,t,function a({newValue:r,oldValue:o}){let u=i.timelineTopics.getRelatedKey(e.key);if(u&&i.timelines.get(u)?.timeTraveling){let f=gtn(i,{key:u,type:"timeline"},t,function b(m){f(),Tt(i,n,(E)=>{if(m==="redo"&&r)E.do(r);else if(m==="undo"&&o)E.undo(o);return E})});return}let s=Ka(i,n),l=s.getUpdateNumber(r),c=l-s.cacheUpdateNumber;if(r&&c===1)Tt(i,n,(f)=>(f.do(r),f));else{let f=s.cacheUpdateNumber+1;i.logger.info("\u274C","mutable_atom",n.key,"could not be updated. Expected update number",f,"but got",l)}})}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(n,e){let i=Re(e),t=this.initializeSignalAtom(n,i);this.mutableAtomToken=n,this.latestSignalToken=t,this.captureSignalsFromCore(n,t,i),this.supplySignalsToCore(n,t,i),i.trackers.set(n.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),i.trackers.delete(n.key)}}};function JD(n,e,i){n.logger.info("\uD83D\uDD28","atom",e.key,`creating in store "${n.config.name}"`);let t=Re(n),{key:a}=e,r=t.atoms.get(a),o="mutable_atom";if(r&&r.type===o)return n.logger.error("\u274C",o,a,"Tried to create atom, but it already exists in the store."),wc(r);let u=new We,s={...e,type:o,install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",a,`installing in store "${c.config.name}"`),JD(c,e,i)},subject:u};if(i)s.family=i;t.atoms.set(s.key,s);let l=wc(s);if(e.effects){let c=0,f=[];for(let b of e.effects){let m=b({resetSelf:()=>{ZD(n,l)},setSelf:(E)=>{Tt(n,l,E)},onSet:(E)=>RE(n,l,`effect[${c}]`,E)});if(m)f.push(m);++c}s.cleanup=()=>{for(let b of f)b()}}if(new TS(l,n),!i)JM(n,{key:`${a}:JSON`,get:({get:c})=>c(l).toJSON(),set:({set:c},f)=>{c(l,e.class.fromJSON(f))}});return n.on.atomCreation.next(l),l}var mtn=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(n,e){let i=SE(e,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestSignalAtoms=Vi(e,i),this.mutableAtoms=n;let t=(a)=>{let{type:r,token:o}=a;if(o.family){let u=Qa(o.family.subKey);switch(r){case"state_creation":this.trackers.set(u,new TS(o,e));break;case"state_disposal":{let s=this.trackers.get(u);if(s)s[Symbol.dispose](),this.trackers.delete(u)}}}};this.mutableAtoms.subject.subscribe(`store=${e.config.name}::tracker-atom-family`,t)}};function SS(n,e,i){let t={key:e.key,type:"mutable_atom_family"},a=n.families.get(e.key);if(a)n.logger.error("\u2757","mutable_atom_family",e.key,`Overwriting an existing ${bl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new We,u=Object.assign((s)=>{let l=Ke(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=Re(n),m={key:f,class:e.class};if(e.effects)m.effects=e.effects(s);return JD(b,m,c)},t,{class:e.class,subject:r,install:(s)=>SS(s,e),internalRoles:i});return n.families.set(e.key,u),vS(n,{key:`${e.key}:JSON`,get:(s)=>({get:l})=>l(t,s).toJSON(),set:(s)=>({set:l},c)=>{l(t,s,e.class.fromJSON(c))}},["mutable","json"]),new mtn(u,n),t}var MM=(n,e)=>{let i=Re(e),t=`${n.key}:JSON`;return i.families.get(t)},Kp=(n,e)=>{if(e.family){let t=Re(n),r={key:`${e.family.key}:JSON`,type:"writable_pure_selector_family"},o=Vi(t,r),u=Qa(e.family.subKey);return Ii(n,o,u)}return{type:"writable_pure_selector",key:`${e.key}:JSON`}};var _S=(n)=>{let i={type:"atom",key:`*${n.key}`};if(n.family)i.family={key:`*${n.family.key}`,subKey:n.family.subKey};return i};function sS(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n&&"cacheUpdateNumber"in n&&"getUpdateNumber"in n&&"READONLY_VIEW"in n&&"toJSON"in n}var i6=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 Ru({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Ru({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Ru({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Ru({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new zin(100);molecules=new Map;moleculeJoins=new Ru({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeGraph=new Ru({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new Ru({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new We,atomDisposal:new We,selectorCreation:new We,selectorDisposal:new We,timelineCreation:new We,transactionCreation:new We,transactionApplying:new kin(null),operationClose:new We,moleculeCreation:new We,moleculeDisposal:new We};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new YD("warn",(n,e,i)=>!htn(i))];logger={error:(...n)=>{for(let e of this.loggers)e.error(...n)},info:(...n)=>{for(let e of this.loggers)e.info(...n)},warn:(...n)=>{for(let e of this.loggers)e.warn(...n)}};constructor(n,e=null){if(this.config={...e?.config,...n},e!==null){if(this.operation={...e?.operation},ab(e))this.transactionMeta={epoch:new Map(e?.transactionMeta.epoch),actionContinuities:new Ru(e?.transactionMeta.actionContinuities.toJSON())};for(let[,t]of e.families){if(t.internalRoles?.includes("mutable")||t.internalRoles?.includes("join"))continue;t.install(this)}let i=new Set;for(let[,t]of e.atoms){if(i.has(t.key))continue;if(t.install(this),t.type==="mutable_atom"){let a=Kp(e,t),r=_S(t);i.add(a.key),i.add(r.key)}}for(let[,t]of e.readonlySelectors)t.install(this);for(let[,t]of e.writableSelectors){if(i.has(t.key))continue;t.install(this)}for(let[,t]of e.transactions)t.install(this);for(let[,t]of e.timelines)t.install(this)}}},ei={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new i6({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function qD(n,e,i,t){let{key:r}=e;n.logger.info("\uD83D\uDD28","atom",r,"is being created");let o=Re(n),u=o.atoms.get(r);if(u&&u.type==="atom")return n.logger.error("\u274C","atom",r,"Tried to create atom, but it already exists in the store."),wc(u);let s=new We,l={...e,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",r,`installing in store "${f.config.name}"`),qD(f,e,i)},subject:s};if(i)l.family=i;if(t)l.internalRoles=t;o.atoms.set(r,l);let c=wc(l);if(e.effects){let f=0,b=[];for(let m of e.effects){let E=m({resetSelf:()=>{ZD(n,c)},setSelf:(h)=>{Tt(n,c,h)},onSet:(h)=>RE(n,c,`effect[${f}]`,h)});if(E)b.push(E);++f}l.cleanup=()=>{for(let m of b)m()}}return n.on.atomCreation.next(c),c}function t6(n,e){let i=Re(n),{key:t,family:a}=e,r=Vi(i,e);if(!a)n.logger.error("\u274C","atom",t,"Standalone atoms cannot be disposed.");else{r.cleanup?.();let o=n.valueMap.get(r.key),u=mS(n,e),l=Vi(n,u).subject,c={type:"state_disposal",subType:"atom",token:e,value:o,timestamp:Date.now()};l.next(c);let f=Rr(i);if(i.atoms.delete(t),i.valueMap.delete(t),i.selectorAtoms.delete(t),i.atomsThatAreDefault.delete(t),i.moleculeData.delete(a.key,a.subKey),n.timelineTopics.delete(t),e.type==="mutable_atom"){let b=_S(e);t6(n,b),n.trackers.delete(t)}if(n.logger.info("\uD83D\uDD25","atom",t,"deleted"),f&&i.transactionMeta.phase==="building"){let b=i.transactionMeta.update.subEvents.at(-1),E=b?.type==="molecule_disposal"&&b.values.some(([D])=>D===r.family?.key),h=a6(r,"tracker:signal");if(!E&&!h)i.transactionMeta.update.subEvents.push(c)}else n.on.atomDisposal.next(e)}}function a6(n,e){if("internalRoles"in n===!1)return!1;return n.internalRoles.includes(e)}function Ri(n){return n[0].toUpperCase()+n.slice(1)}var r6=class{toolkit;options;defaultContent;relations;states;core;transact(n,e){let i=this.toolkit;this.toolkit=n,e(this),this.toolkit=i}store;realm;[Symbol.dispose](){}constructor(n,e,i=ei.STORE){this.store=i,this.realm=new UM(i),this.options=n,this.defaultContent=e,this.store.miscResources.set(`join:${n.key}`,this),this.realm.allocate("root",n.key),this.toolkit={get:(...F)=>Ka(i,...F),set:(...F)=>{Tt(i,...F)},find:(...F)=>Ii(i,...F),json:(F)=>Kp(i,F)};let t=n.between[0],a=n.between[1],r=SS(i,{key:`${n.key}/relatedKeys`,class:fl},["join","relations"]);this.core={relatedKeysAtoms:r};let o=({get:F},_)=>F(r,_),u=({set:F},_,I)=>{if(!this.store.molecules.has(Ke(_)))this.realm.allocate(n.key,_);F(r,_,(G)=>G.add(I)),F(r,I,(G)=>G.add(_))},s=({set:F},_,I)=>{F(r,_,(H)=>{return H.delete(I),H}),F(r,I,(H)=>{return H.delete(_),H});let[G,W]=[_,I].sort(),B=`${G}:${W}`;this.store.moleculeJoins.delete(B)},l=(F,_,I)=>{let{find:G,get:W,set:B}=F,H=G(r,_),Z=W(H);for(let Q of Z){if(I.includes(Q))continue;B(r,Q,(an)=>{return an.delete(_),an})}B(H,(Q)=>{return Q.transaction((J)=>{J.clear();for(let an of I){let on=o(F,an),Dn=on.has(_);if(this.relations.cardinality==="1:n"){let Ln=[];for(let K of on){if(K===_)continue;let O=o(F,K);if(O.delete(an),O.size===0)Ln.push(K)}if(!Dn&&on.size>0)on.clear();for(let K of Ln){let[O,X]=[an,K].sort(),cn=`${O}:${X}`;i.moleculeJoins.delete(cn)}}if(!Dn)on.add(_);J.add(an)}return!0}),Q})},c=(F,_,I)=>{let{set:G}=F;G(r,_,(W)=>{return W.transaction((B)=>{for(let H of I)B.add(H);return!0}),W});for(let W of I)G(r,W,(B)=>{return B.add(_),B});return!0},f=(F,_,I)=>{let G=o(F,_);return I?G.has(I):G.size>0},b={getRelatedKeys:(F)=>o(this.toolkit,F),addRelation:(F,_)=>{this.store.moleculeJoins.set(`"${F}"`,n.key),this.store.moleculeJoins.set(`"${_}"`,n.key),u(this.toolkit,F,_)},deleteRelation:(F,_)=>{s(this.toolkit,F,_)},replaceRelationsSafely:(F,_)=>{l(this.toolkit,F,_)},replaceRelationsUnsafely:(F,_)=>{c(this.toolkit,F,_)},has:(F,_)=>f(this.toolkit,F,_)},m,E;if(e){E=SE(i,{key:`${n.key}/content`,default:e},["join","content"]);let F=({get:G},W)=>G(E,W),_=({set:G},W,B)=>{G(E,W,B)};m=Object.assign(b,{getContent:(G)=>{return F(this.toolkit,G)},setContent:(G,W)=>{_(this.toolkit,G,W)},deleteContent:(G)=>{}})}else m=b;let h=new Ru(n,{externalStore:m,isAType:n.isAType,isBType:n.isBType,makeContentKey:(...F)=>{let[_,I]=F,[G,W]=F.sort(),B=`${G}:${W}`,H=i.molecules.get(Ke(_)),Z=i.molecules.get(Ke(I));if(!H)this.realm.allocate(n.key,_);if(!Z)this.realm.allocate(n.key,I);return this.realm.allocate(_,B,"all"),this.realm.claim(I,B),this.store.moleculeJoins.set(B,n.key),B}}),D=()=>tb(i,{key:`${n.key}/singleRelatedKey`,get:(F)=>({get:_})=>{let I=_(r,F);for(let G of I)return G;return null}},["join","keys"]),T=()=>{return tb(i,{key:`${n.key}/multipleRelatedKeys`,get:(F)=>({get:_})=>{let I=MM(r,i);return _(I,F).members}},["join","keys"])},v=()=>tb(i,{key:`${n.key}/singleRelatedEntry`,get:(F)=>({get:_})=>{let I=_(r,F);for(let G of I){let W=h.isAType?.(F)?F:void 0,B=W===void 0?F:void 0;W??=G,B??=G;let H=h.makeContentKey(W,B),Z=_(E,H);return[G,Z]}return null}},["join","entries"]),N=()=>tb(i,{key:`${n.key}/multipleRelatedEntries`,get:(F)=>({get:_})=>{let I=MM(r,i);return _(I,F).members.map((W)=>{let B=h.isAType?.(F)?F:void 0,H=B===void 0?F:void 0;B??=W,H??=W;let Z=h.makeContentKey(B,H),Q=_(E,Z);return[W,Q]})}},["join","entries"]);switch(n.cardinality){case"1:1":{let F=D(),_=`${t}KeyOf${Ri(a)}`,I=`${a}KeyOf${Ri(t)}`,G={[_]:F,[I]:F},W;if(e){let B=v(),H=`${t}EntryOf${Ri(a)}`,Z=`${a}EntryOf${Ri(t)}`,Q={[H]:B,[Z]:B};W=Object.assign(G,Q)}else W=G;this.relations=h,this.states=W;break}case"1:n":{let F=D(),_=T(),I=`${t}KeyOf${Ri(a)}`,G=`${a}KeysOf${Ri(t)}`,W={[I]:F,[G]:_},B;if(e){let H=v(),Z=N(),Q=`${t}EntryOf${Ri(a)}`,J=`${a}EntriesOf${Ri(t)}`,an={[Q]:H,[J]:Z};B=Object.assign(W,an)}else B=W;this.relations=h,this.states=B;break}case"n:n":{let F=T(),_=`${t}KeysOf${Ri(a)}`,I=`${a}KeysOf${Ri(t)}`,G={[_]:F,[I]:F},W;if(e){let B=N(),H=`${t}EntriesOf${Ri(a)}`,Z=`${a}EntriesOf${Ri(t)}`,Q={[H]:B,[Z]:B};W=Object.assign(G,Q)}else W=G;this.relations=h,this.states=W}}}};function o6(n,e,i){return n.joins.set(e.key,new r6(e,i,n)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function xS(n,e){let i=e.joins.get(n.key);if(i===void 0){let a=ei.STORE.joins.get(n.key);if(a===void 0)throw new Error(`Join "${n.key}" not found in store "${e.config.name}"`);let r=Gin(e);i=new r6(a.options,a.defaultContent,r),e.joins.set(n.key,i)}return i}function vc(n,e,i){let t=xS(n,i),a=Re(i);if(Rr(a)){let{toolkit:r}=a.transactionMeta;t.transact(r,({relations:o})=>{e(o)})}else e(t.relations)}function xE(n,e,i){let t=xS(n,i),a;switch(n.cardinality){case"1:1":{let r=`${n.a}KeyOf${Ri(n.b)}`,o=`${n.b}KeyOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntryOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntryOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}break}case"1:n":{let r=`${n.a}KeyOf${Ri(n.b)}`,o=`${n.b}KeysOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntryOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntriesOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}break}case"n:n":{let r=`${n.a}KeysOf${Ri(n.b)}`,o=`${n.b}KeysOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntriesOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntriesOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}}}return a}function u6(n,e){return xS(n,e).core.relatedKeysAtoms}var Etn=class extends Error{constructor(n,e){super(`${bl[n.type]} ${Ke(n.key)} not found in store "${e.config.name}".`)}};function htn(n){return n.startsWith("\uD83D\uDD0D ")}function rb(n){return JD(ei.STORE,n,void 0)}function NE(n){return SE(ei.STORE,n)}function uFn(...n){return Ka(ei.STORE,...n)}function n0(n,e){return o6(ei.STORE,n,e)}function s6(n){return u6(n,ei.STORE)}var bl={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 NS=(n)=>(e,i,t,a,...r)=>{console[n](`${e} ${bl[i]} \`${t}\` ${a}`,...r)},Atn={error:NS("error"),info:NS("info"),warn:NS("warn")},YD=class{logLevel;filter;logger;constructor(n,e,i=Atn){this.logLevel=n,this.filter=e,this.logger=i}error=(...n)=>{if(this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.error(...n);else if(e)this.logger.error(...e)}};info=(...n)=>{if(this.logLevel==="info"){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.info(...n);else if(e)this.logger.info(...e)}};warn=(...n)=>{if(this.logLevel!=="error"&&this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.warn(...n);else if(e)this.logger.warn(...e)}}};var UM=class{store;deallocateTX;claimTX;constructor(n=ei.STORE){this.store=n,this.deallocateTX=YM(n),this.claimTX=VM(n),WM("root",n)}allocate(n,e,i){QD(this.store,n,e,i)}deallocate(n){XD(this.store,this.deallocateTX,bS())(n)}claim(n,e,i){wE(this.store,n,e,i)}};function e0(n){return e6(ei.STORE,n)}function FE(n){return TE(ei.STORE,n)}var dJ=se(i0(),1),fJ=se(d_(),1);var VG=se(YG(),1),{Server:XG,Namespace:MCn,Socket:ZG}=VG.default;import{readFileSync as aH}from"fs";import{createServer as Nbn}from"http";import{createServer as Fbn}from"https";import{resolve as RN}from"path";function QG(n,e){if(n instanceof Promise)throw new Error(e)}function Icn(n,e){let i={},t=[];for(let a in n){let r=n[a]["~standard"].validate(e[a]);if(QG(r,`Validation must be synchronous, but ${a} returned a Promise.`),r.issues){t.push(...r.issues.map((o)=>({...o,message:o.message,path:[a,...o.path??[]]})));continue}i[a]=r.value}if(t.length)return{issues:t};return{value:i}}function rx(n){let e=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[v,N]of Object.entries(e))if(N==="")delete e[v]}if(!!n.skipValidation)return e;let a=typeof n.client==="object"?n.client:{},r=typeof n.server==="object"?n.server:{},o=typeof n.shared==="object"?n.shared:{},u=n.isServer??(typeof window==="undefined"||("Deno"in window)),s=u?{...r,...o,...a}:{...a,...o},l=n.createFinalSchema?.(s,u)["~standard"].validate(e)??Icn(s,e);QG(l,"Validation must be synchronous");let c=n.onValidationError??((v)=>{throw console.error("\u274C Invalid environment variables:",v),new Error("Invalid environment variables")}),f=n.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(l.issues)return c(l.issues);let b=(v)=>{if(!n.clientPrefix)return!0;return!v.startsWith(n.clientPrefix)&&!(v in o)},m=(v)=>{return u||!b(v)},E=(v)=>{return v==="__esModule"||v==="$$typeof"},h=(n.extends??[]).reduce((v,N)=>{return Object.assign(v,N)},{}),D=Object.assign(h,l.value);return new Proxy(D,{get(v,N){if(typeof N!=="string")return;if(E(N))return;if(!m(N))return f(N);return Reflect.get(v,N)}})}var Oc=(n)=>Array.isArray(n)?n:[n],KG=(n,e)=>{let i=[[],[]];for(let t of n)if(e(t))i[0].push(t);else i[1].push(t);return i},Z0=Array,Dl=(n,e)=>n.includes(e),jG=(n,e=0)=>[...new Array(n)].map((i,t)=>t+e),Te=(n,e,i)=>{if(n===void 0)return e===void 0?[]:Array.isArray(e)?e:[e];if(i?.prepend)if(Array.isArray(e))n.unshift(...e);else n.unshift(e);else if(Array.isArray(e))n.push(...e);else n.push(e);return n},wl=(n,e)=>{if(e===void 0||e===null)return n??[];if(n===void 0||n===null)return Oc(e);return n.concat(e)},JG=(...n)=>n.reduce(wl,[]),Ts=(n,e,i)=>{if(n===void 0)return Array.isArray(e)?e:[e];let t=i?.isEqual??((a,r)=>a===r);for(let a of Oc(e))if(!n.some((r)=>t(r,a)))n.push(a);return n},qG=(n,e)=>n.reduce((i,t)=>{let a=t[e];return i[a]=Te(i[a],t),i},{}),vl=(n,e,i)=>n.length===e.length&&n.every(i?.isEqual?(t,a)=>i.isEqual(t,e[a]):(t,a)=>t===e[a]);var _r=(n,e)=>ct(n)===e,ct=(n)=>{let e=typeof n;return e==="object"?n===null?"null":"object":e==="function"?"object":e},xr={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},n3={...xr,function:"a function"};class e3 extends Error{}var Oe=(n)=>cd(n,e3),cd=(n,e=Error)=>{throw new e(n)};class ZE extends Error{name="ParseError"}var tn=(n)=>cd(n,ZE),Cu=(n)=>` ${n}`;var ae=(n,e)=>{let i={},t=Array.isArray(n),a=!1;for(let[r,o]of Object.entries(n).entries()){let u=t?e(r,o[1]):e(...o,r);a||=typeof u[0]==="number";let s=Array.isArray(u[0])||u.length===0?u:[u];for(let[l,c]of s)if(typeof l==="object")i[l.group]=Te(i[l.group],c);else i[l]=c}return a?Object.values(i):i};var ox=Object.entries;var pt=(n,e)=>(n in e),Lb=(n,e)=>(e in n);class ux{constructor(n){Object.assign(this,n)}}var i3=class{};class QE extends i3{}var ycn=(n,e)=>{let i={},t={},a;for(a in n)if(a in e)i[a]=n[a];else t[a]=n[a];return[i,t]};var t3=(n,e)=>ycn(n,e)[1],Ss=(n)=>Object.keys(n).length===0,pd=(n)=>[...Object.entries(n),...Object.getOwnPropertySymbols(n).map((e)=>[e,n[e]])],a3=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),r3=(n)=>{let e=Object.keys(n).sort(),i={};for(let t=0;t<e.length;t++)i[e[t]]=n[e[t]];return i};var co=Cu("represents an uninitialized value"),o3=(n)=>Object.values(n).filter((e)=>{if(typeof e==="number")return!0;return typeof n[e]!=="number"});var sx={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},lx=globalThis.File??Blob,cx={ArrayBuffer,Blob,File:lx,FormData,Headers,Request,Response,URL},Mcn={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},dd={...sx,...cx,...Mcn,String,Number,Boolean},KE=(n)=>{let e=Object.getPrototypeOf(n);while(e?.constructor&&(!pt(e.constructor.name,dd)||!(n instanceof dd[e.constructor.name])))e=Object.getPrototypeOf(e);let i=e?.constructor?.name;if(i===void 0||i==="Object")return;return i},jE=(n)=>typeof n==="object"&&n!==null?KE(n)??"object":ct(n);var ui=Array.isArray,Ucn={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},Gcn={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},zcn={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},u3={...Ucn,...Gcn,...zcn},JE=(n)=>{let e=Object(n).name??null;return e&&pt(e,dd)&&dd[e]===n?e:null};var px=(n,e)=>{let i=n.prototype;while(i!==null){if(i===e.prototype)return!0;i=Object.getPrototypeOf(i)}return!1};var s3=(n)=>l3(n,new Map),l3=(n,e)=>{if(typeof n!=="object"||n===null)return n;if(e?.has(n))return e.get(n);let i=JE(n.constructor);if(i==="Date")return new Date(n.getTime());if(i&&i!=="Array")return n;let t=Array.isArray(n)?n.slice():Object.create(Object.getPrototypeOf(n)),a=Object.getOwnPropertyDescriptors(n);if(e){e.set(n,t);for(let r in a){let o=a[r];if("get"in o||"set"in o)continue;o.value=l3(o.value,e)}}return Object.defineProperties(t,a),t};var $cn=(n)=>{let e=co;return()=>e===co?e=n():e},Lc=(n)=>typeof n==="function"&&n.length===0;var c3=class extends Function{constructor(...n){let e=n.slice(0,-1),i=n.at(-1);try{super(...e,i)}catch(t){return Oe(`Encountered an unexpected error while compiling your definition:
303
+ ${b.trace}`:`No previous disposal trace for ${u} was found.`),i}let l=n.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:b}])=>b!==a).map(([b])=>Qa(b));if(t)r.moleculeGraph.delete(a);r.moleculeGraph.set({upstreamMoleculeKey:s.stringKey,downstreamMoleculeKey:o.stringKey},{source:s.stringKey});let c={type:"molecule_transfer",key:o.key,exclusive:Boolean(t),from:l,to:[s.key],timestamp:Date.now()};if(Rr(r)&&r.transactionMeta.phase==="building")r.transactionMeta.update.subEvents.push(c);return i}function Jin(n,e,i){switch(i){case"newValue":XM(n,e);break;case"oldValue":_E(n,e.token);break}}function qin(n,e,i){switch(i){case"newValue":_E(n,e.token);break;case"oldValue":if(XM(n,e),e.subType==="atom")n.valueMap.set(e.token.key,e.value);break}}function XM(n,e){let{token:i}=e;if(e.subType==="writable"&&e.value)Tt(n,i,e.value);else Ka(n,i)}function ntn(n,e,i){switch(i){case"newValue":QD(n,e.provenance,e.key);break;case"oldValue":KD(n,e.key);break}}function etn(n,e,i){switch(i){case"newValue":KD(n,e.key);break;case"oldValue":{let t=e.provenance.map(Qa);QD(n,t,e.key);for(let[a,r]of e.values){let o=n.families.get(a);if(o){Ka(n,o,e.key);let u=`${a}(${Ke(e.key)})`;n.valueMap.set(u,r)}}}break}}function itn(n,e,i){switch(i){case"newValue":for(let t of e.to)wE(n,t,e.key,e.exclusive?"exclusive":void 0);break;case"oldValue":{let t="exclusive";for(let a of e.from)wE(n,a,e.key,t),t=void 0}break}}function ZM(n,e,i){let t=i==="newValue"?e.subEvents:[...e.subEvents].reverse();for(let a of t)switch(a.type){case"atom_update":Kin(n,a,i);break;case"state_creation":Jin(n,a,i);break;case"state_disposal":qin(n,a,i);break;case"molecule_creation":ntn(n,a,i);break;case"molecule_disposal":etn(n,a,i);break;case"molecule_transfer":itn(n,a,i);break;case"transaction_outcome":ZM(n,a,i);break}}function QM(n,e){return n.transactionMeta.actionContinuities.getRelatedKey(e)}function ttn(n,e){return n.transactionMeta.epoch.get(e)}function atn(n,e){let i=QM(n,e);if(i===void 0)return;return ttn(n,i)}function rtn(n,e,i){let t=QM(n,e);if(t!==void 0)n.transactionMeta.epoch.set(t,i)}function otn(n,e){let i=Re(n),{parent:t}=i;i.transactionMeta.phase="applying",i.transactionMeta.update.output=e,t.child=null,t.on.transactionApplying.next(i.transactionMeta);let{subEvents:a}=i.transactionMeta.update;if(n.logger.info("\uD83D\uDEC4","transaction",i.transactionMeta.update.token.key,`applying ${a.length} subEvents:`,a),ZM(t,i.transactionMeta.update,"newValue"),ab(t))rtn(t,i.transactionMeta.update.token.key,i.transactionMeta.update.epoch),Vi(n,{key:i.transactionMeta.update.token.key,type:"transaction"})?.subject.next(i.transactionMeta.update),n.logger.info("\uD83D\uDEEC","transaction",i.transactionMeta.update.token.key,"applied");else if(Rr(t))t.transactionMeta.update.subEvents.push(i.transactionMeta.update);t.on.transactionApplying.next(null)}function utn(n){return{store:n}}var stn=(n,e,i,t)=>{let a=Re(n),r={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new vu(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new vu(a.families),joins:new vu(a.joins),operation:{open:!1},readonlySelectors:new vu(a.readonlySelectors),timelines:new vu(a.timelines),timelineTopics:a.timelineTopics.overlay(),trackers:new Map,transactions:new vu(a.transactions),selectorAtoms:a.selectorAtoms.overlay(),selectorGraph:a.selectorGraph.overlay(),writableSelectors:new vu(a.writableSelectors),valueMap:new vu(a.valueMap),defaults:a.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new vu(a.molecules),moleculeGraph:a.moleculeGraph.overlay(),moleculeData:a.moleculeData.overlay(),moleculeJoins:a.moleculeJoins.overlay(),miscResources:new vu(a.miscResources)},o=atn(n,e.key),u={phase:"building",update:{type:"transaction_outcome",token:e,id:t,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:i,output:void 0},toolkit:{get:(...l)=>Ka(s,...l),set:(...l)=>{Tt(s,...l)},reset:(...l)=>{ZD(s,...l)},run:(l,c=bS())=>XD(s,l,c),find:(...l)=>Ii(n,...l),json:(l)=>Kp(s,l),dispose:(...l)=>{_E(s,...l)},env:()=>utn(s)}},s=Object.assign(r,{transactionMeta:u});return a.child=s,n.logger.info("\uD83D\uDEEB","transaction",e.key,"building with params:",i),s};function TE(n,e){let{key:i}=e,t=n.transactions.has(i),a={key:i,type:"transaction",run:(u,s)=>{let l=wc(a),c=stn(n,l,u,s);try{let{toolkit:f}=c.transactionMeta,b=e.do(f,...u);return otn(c,b),b}catch(f){throw Vin(c),n.logger.warn("\uD83D\uDCA5","transaction",i,"caught:",f),f}},install:(u)=>TE(u,e),subject:new We};Re(n).transactions.set(i,a);let o=wc(a);if(!t)n.on.transactionCreation.next(o);return o}function KM(n,e,{oldValue:i,newValue:t},a,r){let o=wc(e);if(a&&r){e.subject.next({newValue:t});let f={checkpoint:!0,type:"state_creation",subType:"writable",token:o,timestamp:Date.now(),value:t};n.operation.subEvents.push(f),r.subject.next(f);let m=Re(n);if(o.family){if(ab(m))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"writable_held_selector":n.on.selectorCreation.next(o);break}else if(Rr(m)&&m.on.transactionApplying.state===null)m.transactionMeta.update.subEvents.push(f)}return}let{key:u,subject:s,type:l}=e,c={oldValue:sS(i)?i.READONLY_VIEW:i,newValue:sS(t)?t.READONLY_VIEW:t};if(ab(n)){switch(l){case"mutable_atom":n.logger.info("\uD83D\uDCE2",l,u,"is now (",t,") subscribers:",s.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":n.logger.info("\uD83D\uDCE2",l,u,"went (",i,"->",t,") subscribers:",s.subscribers.keys())}s.next(c)}if(Rr(n)&&(l==="mutable_atom"||l==="atom")){if(n.on.transactionApplying.state===null){if(sS(t))return;let{timestamp:f}=n.operation,b={type:"atom_update",token:o,timestamp:f,update:c};n.transactionMeta.update.subEvents.push(b),n.logger.info("\uD83D\uDCC1","atom",u,"stowed (",i,"->",t,")");return}if(a6(e,"tracker:signal")){let f=u.slice(1),b=n.atoms.get(f);if(Qp(n,b,"mut").do(c.newValue)===null===!0)gS(n,b)}}}var fS=Symbol("OWN_OP"),ltn=Symbol("JOIN_OP");function ES(n,e,...i){let t,a,r,o,u,s;if(i.length===2){if(r=i[0],s=i[1],"family"in r)if(o=mS(n,r),u=Qa(r.family.subKey),t=vE(n,o,u),!t)r=a=DE(n,o,u,AE);else r=t}else if(o=Vi(n,i[0]),u=i[1],s=i[2],t=vE(n,o,u),!t)r=a=DE(n,o,u,AE);else r=t;let l=s===dS?"reset":"set",c;if(e===fS){let E=$M(n,r);if(typeof E==="number"){let D=E,T=n.on.operationClose.subscribe(`waiting to ${l} "${r.key}" at T-${D}`,function v(){T(),n.logger.info("\uD83D\uDFE2",r.type,r.key,"resuming deferred",l,`from T-${D}`),ES(n,e,r,s)});return}c=E}else c=n;if("counterfeit"in r&&"family"in r){let E=r.family.subKey,h=n.disposalTraces.buffer.find((D)=>D?.key===E);n.logger.error("\u274C",r.type,r.key,"could not be",l,"because key",E,"is not allocated.",h?`this key was previously disposed:${h.trace}`:"(no previous disposal trace found)");return}let f=Vi(c,r),b;if(s===dS)b=Xin(c,f);else b=Qin(c,f,s);let m=Boolean(a);if(KM(c,f,b,m,o),e===fS)HM(c)}var jM=(n,e)=>Re(n).atoms.has(e),ctn=(n,e)=>Re(n).writableSelectors.has(e),ptn=(n,e)=>Re(n).readonlySelectors.has(e),dtn=(n,e)=>jM(n,e)||ctn(n,e)||ptn(n,e);function IM(n,e){return Re(n).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([t,{source:a}])=>a!==e).map(([t,{source:a}])=>a).filter((t)=>dtn(n,t))}function WD(n,e,i=new Set){let t=IM(n,e),a=new Map;while(t.length>0){let r=t.pop();if(i.has(r))continue;if(i.add(r),jM(n,r)){let o=n.atoms.get(r);a.set(o.key,o)}else t.push(...IM(n,r))}return a}function ftn(n,e,i,t,a){let r=Re(n),{type:o,key:u}=t;if(o==="atom"||o==="mutable_atom")r.selectorAtoms.set({selectorKey:i,atomKey:u}),n.logger.info("\uD83D\uDD0D",e,i,`discovers root atom "${u}"`);else{let s=WD(n,u,a);n.logger.info("\uD83D\uDD0D",e,i,`discovers root atoms: [ ${[...s.values()].map((l)=>`"${l.key}"`).join(", ")} ]`);for(let{key:l}of s.values())r.selectorAtoms=r.selectorAtoms.set({selectorKey:i,atomKey:l})}a.add(u)}function jD(n,e,i,t){return{get:(...a)=>{let r=Re(n),{token:o,family:u,subKey:s}=RS(n,...a),l;if("counterfeit"in o&&u&&s)l=zM(n,o,u,s);else{let c=Vi(n,o);l=Qp(n,c)}return n.logger.info("\uD83D\uDD0C",e,i,`registers dependency ( "${o.key}" =`,l,")"),r.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:i},{source:o.key}),ftn(n,e,i,o,t),l},set:(...a)=>{let r=Re(n);ES(r,ltn,...a)},find:(...a)=>Ii(n,...a),json:(a)=>Kp(n,a)}}function hS(n,e,i){let t=Re(n),a=new We,r=new Set,{key:o,const:u}=e,s="readonly_held_selector";n.logger.info("\uD83D\uDD28","readonly_held_selector",o,"is being created");let{get:l,find:c,json:f}=jD(t,"readonly_held_selector",o,r),m={...e,type:"readonly_held_selector",subject:a,getFrom:(h)=>{let D=h.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[T,{source:v}]of D)if(v!==o)h.selectorGraph.delete(T,o);return h.selectorAtoms.delete(o),e.get({get:l,find:c,json:f},u),vr(h,m,u),n.logger.info("\u2728","readonly_held_selector",o,"=",u),r.clear(),u},install:(h)=>hS(h,e,i)};if(i)m.family=i;t.readonlySelectors.set(o,m);let E={key:o,type:"readonly_held_selector"};if(i)E.family=i;return E}function AS(n,e,i){let t=Re(n),a=new We,r=new Set,o=e.key,u="readonly_pure_selector";n.logger.info("\uD83D\uDD28","readonly_pure_selector",o,"is being created");let{get:s,find:l,json:c}=jD(t,"readonly_pure_selector",o,r),b={...e,type:"readonly_pure_selector",subject:a,getFrom:()=>{let E=Re(n),h=E.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[v,{source:N}]of h)if(N!==o)E.selectorGraph.delete(v,o);E.selectorAtoms.delete(o);let D=e.get({get:s,find:l,json:c}),T=vr(E,b,D);return n.logger.info("\u2728","readonly_pure_selector",o,"=",T),r.clear(),T},install:(E)=>AS(E,e,i)};if(i)b.family=i;t.readonlySelectors.set(o,b);let m={key:o,type:"readonly_pure_selector"};if(i)m.family=i;return m}function DS(n,e,i){let t=Re(n),a=new We,r=new Set,{key:o,const:u}=e,s="writable_held_selector";n.logger.info("\uD83D\uDD28","writable_held_selector",o,"is being created");let l=jD(t,"writable_held_selector",o,r),{find:c,get:f,json:b}=l,m={find:c,get:f,json:b},D={...e,type:"writable_held_selector",subject:a,getFrom:(v)=>{let N=v.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[F,{source:_}]of N)if(_!==o)v.selectorGraph.delete(F,o);return v.selectorAtoms.delete(o),e.get(m,u),vr(v,D,u),n.logger.info("\u2728","writable_held_selector",o,"=",u),r.clear(),u},setSelf:()=>{e.set(l,u)},install:(v)=>DS(v,e,i)};if(i)D.family=i;t.writableSelectors.set(o,D);let T={key:o,type:"writable_held_selector"};if(i)T.family=i;return T}function wS(n,e,i){let t=Re(n),a=new We,r=new Set,o=e.key,u="writable_pure_selector";n.logger.info("\uD83D\uDD28","writable_pure_selector",o,"is being created");let s=jD(t,"writable_pure_selector",o,r),{find:l,get:c,json:f}=s,b={find:l,get:c,json:f},h={...e,type:"writable_pure_selector",subject:a,getFrom:(T)=>{let v=T.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[_,{source:I}]of v)if(I!==o)T.selectorGraph.delete(_,o);T.selectorAtoms.delete(o);let N=e.get(b),F=vr(T,h,N);return n.logger.info("\u2728","writable_pure_selector",o,"=",F),r.clear(),F},setSelf:(T)=>{e.set(s,T)},install:(T)=>wS(T,e,i)};if(i)h.family=i;t.writableSelectors.set(o,h);let D={key:o,type:"writable_pure_selector"};if(i)D.family=i;return D}function JM(n,e){let i="set"in e,t="const"in e;if(t&&i){let r=DS(n,e,void 0);return n.on.selectorCreation.next(r),r}if(t){let r=hS(n,e,void 0);return n.on.selectorCreation.next(r),r}if(i){let r=wS(n,e,void 0);return n.on.selectorCreation.next(r),r}let a=AS(n,e,void 0);return n.on.selectorCreation.next(a),a}function btn(n,e){let i=Re(n),{key:t,type:a,family:r}=e;if(!r)n.logger.error("\u274C",a,t,"Standalone selectors cannot be disposed.");else{if(i.molecules.get(r.subKey))i.moleculeData.delete(r.subKey,r.key);let u;switch(e.type){case"writable_held_selector":i.writableSelectors.delete(t),u={key:r.key,type:"writable_held_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"writable_pure_selector":i.writableSelectors.delete(t),u={key:r.key,type:"writable_pure_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_held_selector":i.readonlySelectors.delete(t),u={key:r.key,type:"readonly_held_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_pure_selector":i.readonlySelectors.delete(t),u={key:r.key,type:"readonly_pure_selector_family"},Vi(n,u).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break}if(i.valueMap.delete(t),i.selectorAtoms.delete(t),i.selectorGraph.delete(t),i.moleculeData.delete(r.key,r.subKey),n.logger.info("\uD83D\uDD25",e.type,t,"deleted"),Rr(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});else n.on.selectorDisposal.next(e)}}function tb(n,e,i){let t=e.key,a="readonly_pure_selector_family",r={key:t,type:"readonly_pure_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","readonly_pure_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l={...r,create:(c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n),h={key:m,get:e.get(c)};if(e.catch)h.catch=e.catch;return AS(E,h,b)},internalRoles:i,subject:u,install:(c)=>tb(c,e),default:(c)=>{return e.get(c)({get:(...b)=>Ka(n,...b),find:(...b)=>Ii(n,...b),json:(b)=>Kp(n,b)})}};return n.families.set(t,l),r}function SE(n,e,i){let t={key:e.key,type:"atom_family"},a=n.families.get(e.key);if(a)n.logger.error("\u2757","atom_family",e.key,`Overwriting an existing ${bl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new We,u={...t,create:(s)=>{let l=Ke(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=Re(n),m=e.default,E={key:f,default:hE(m)?()=>m(s):m};if(e.effects)E.effects=e.effects(s);if(e.catch)E.catch=e.catch;return qD(b,E,c)},default:e.default,subject:r,install:(s)=>SE(s,e),internalRoles:i};if(n.families.set(e.key,u),hE(e.default)===!1)n.defaults.set(e.key,e.default);return t}function qM(n,e,i){let t=e.key,a="readonly_held_selector_family",r={key:t,type:"readonly_held_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","readonly_held_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l={...r,create:(c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n);return hS(E,{key:m,const:e.const(c),get:e.get(c)},b)},internalRoles:i,subject:u,install:(c)=>qM(c,e),default:e.const};return n.families.set(t,l),r}function n6(n,e,i){let t=e.key,a="writable_held_selector_family",r={key:t,type:"writable_held_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","writable_held_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l={...r,create:(c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n);return DS(E,{key:m,const:e.const(c),get:e.get(c),set:e.set(c)},b)},internalRoles:i,subject:u,install:(c)=>n6(c,e),default:e.const};return n.families.set(t,l),r}function vS(n,e,i){let t=e.key,a="writable_pure_selector_family",r={key:t,type:"writable_pure_selector_family"},o=n.families.get(t);if(o)n.logger.error("\u2757","writable_pure_selector_family",t,`Overwriting an existing ${bl[o.type]} "${o.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let u=new We,l={...r,create:(c)=>{let f=Ke(c),b={key:t,subKey:f},m=`${t}(${f})`,E=Re(n),h={key:m,get:e.get(c),set:e.set(c)};if(e.catch)h.catch=e.catch;return wS(E,h,b)},internalRoles:i,subject:u,install:(c)=>vS(c,e),default:(c)=>{return e.get(c)({get:(...b)=>Ka(n,...b),find:(...b)=>Ii(n,...b),json:(b)=>Kp(n,b)})}};return n.families.set(t,l),r}function e6(n,e){let i="set"in e,t="const"in e;if(t&&i)return n6(n,e,void 0);if(t)return qM(n,e,void 0);if(i)return vS(n,e);return tb(n,e)}function vE(n,e,i){let t=Ke(i),a=`${e.key}(${t})`,r=Re(n),o;switch(e.type){case"atom_family":case"mutable_atom_family":o=r.atoms.get(a);break;case"writable_held_selector_family":case"writable_pure_selector_family":o=r.writableSelectors.get(a);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":o=r.readonlySelectors.get(a);break}if(o)return wc(o);return o}function Ii(n,e,i){let t=Vi(n,e),a=vE(n,e,i);if(a)return a;return DE(n,t,i)}function _E(n,...e){let i;if(e.length===1)i=e[0];else{let t=e[0],a=e[1];i=Ii(n,t,a)}try{Vi(n,i)}catch(t){n.logger.error("\u274C",i.type,i.key,`could not be disposed because it was not found in the store "${n.config.name}".`);return}switch(i.type){case"atom":case"mutable_atom":t6(n,i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":btn(n,i);break}}function RS(n,...e){let i,t,a,r,o;if(e.length===1){if(o=e[0],"family"in o){let l=mS(n,o);if(a=Vi(n,l),r=Qa(o.family.subKey),i=vE(n,l,r),"counterfeit"in o)return{token:o,family:a,subKey:r,isNew:!1};if(!i)t=DE(n,l,r,AE),o=t;else o=i}}else if(a=Vi(n,e[0]),r=e[1],i=vE(n,a,r),!i)t=DE(n,a,r,AE),o=t;else o=i;let u="counterfeit"in o;if(Boolean(t)&&u===!1&&a){let l;switch(o.type){case"readonly_pure_selector":case"readonly_held_selector":l="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":l="writable";break}let c={type:"state_creation",subType:l,token:o,timestamp:Date.now()};a.subject.next(c);let b=Re(n);if(o.family){if(ab(b))switch(o.type){case"atom":case"mutable_atom":n.on.atomCreation.next(o);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":n.on.selectorCreation.next(o);break}else if(Rr(b)&&b.on.transactionApplying.state===null)b.transactionMeta.update.subEvents.push(c)}}return{token:o,family:a,subKey:r,isNew:Boolean(t)}}function Ka(n,...e){let{token:i,family:t,subKey:a}=RS(n,...e);if("counterfeit"in i&&t&&a)return zM(n,i,t,a);let r=Vi(n,i);return Qp(n,r)}var yM=(n,e,i)=>{return i.subject.subscribe(`${e.type}:${e.key}`,(t)=>{n.logger.info("\uD83D\uDCE2",e.type,e.key,"root",i.key,"went",t.oldValue,"->",t.newValue);let a=Bin(n,e),r=Qp(n,e);n.logger.info("\u2728",e.type,e.key,"went",a,"->",r),e.subject.next({newValue:r,oldValue:a})})};function RE(n,e,i,t){function a(f){if(n.operation.open){let b=n.on.operationClose.subscribe(`state subscription ${i}`,()=>{b(),t(f)})}else t(f)}RS(n,e);let r=Vi(n,e);n.logger.info("\uD83D\uDC40",r.type,r.key,`Adding subscription "${i}"`);let o=r.type==="writable_pure_selector"||r.type==="readonly_pure_selector",u=new Map,s=a;if(o){Qp(n,r);for(let[f,b]of WD(n,r.key))u.set(f,yM(n,r,b));s=function f(b){let m=WD(n,r.key);for(let[E,h]of u)if(m.get(E))m.delete(E);else h(),u.delete(E);for(let[E,h]of m)u.set(E,yM(n,r,h));a(b)}}let l=r.subject.subscribe(i,s);return()=>{n.logger.info("\uD83D\uDE48",r.type,r.key,`Removing subscription "${i}"`),l();for(let f of u.values())f()}}function Vi(n,e){let i,t=n;while(t!==null){switch(e.type){case"atom":case"mutable_atom":i=t.atoms.get(e.key);break;case"writable_pure_selector":case"writable_held_selector":i=t.writableSelectors.get(e.key);break;case"readonly_pure_selector":case"readonly_held_selector":i=t.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":i=t.families.get(e.key);break;case"timeline":i=t.timelines.get(e.key);break;case"transaction":i=t.transactions.get(e.key);break}if(i)return i;t=t.child}throw new Etn(e,n)}var gtn=(n,e,i,t)=>{let a=Vi(n,e);n.logger.info("\uD83D\uDC40","timeline",e.key,`Adding subscription "${i}"`);let r=a.subject.subscribe(i,t);return()=>{n.logger.info("\uD83D\uDE48","timeline",e.key,`Removing subscription "${i}" from timeline`),r()}};var TS=class{initializeSignalAtom(n,e){let i=`*${n.key}`;e.atoms.delete(i),e.valueMap.delete(i);let t=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=qD(e,{key:i,default:null},t,["tracker:signal"]);if(e.parent?.valueMap.has(i)){let r=e.parent.valueMap.get(i);e.valueMap.set(i,r)}return a}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(n,e,i){let t=n.key,a=i.config.name,r=Rr(i)?i.transactionMeta.update.token.key:"main",o=`tracker:${a}:${r}:${t}`,u=(l)=>{Tt(i,e,l)},s=Ka(i,n);this.unsubscribeFromInnerValue=s.subscribe(o,u),this.unsubscribeFromState=RE(i,n,o,function l(c){if(c.newValue!==c.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=c.newValue.subscribe(o,u)}.bind(this))}supplySignalsToCore(n,e,i){let t=`tracker:${i.config.name}:${Rr(i)?i.transactionMeta.update.token.key:"main"}:${n.key}`;RE(i,e,t,function a({newValue:r,oldValue:o}){let u=i.timelineTopics.getRelatedKey(e.key);if(u&&i.timelines.get(u)?.timeTraveling){let f=gtn(i,{key:u,type:"timeline"},t,function b(m){f(),Tt(i,n,(E)=>{if(m==="redo"&&r)E.do(r);else if(m==="undo"&&o)E.undo(o);return E})});return}let s=Ka(i,n),l=s.getUpdateNumber(r),c=l-s.cacheUpdateNumber;if(r&&c===1)Tt(i,n,(f)=>(f.do(r),f));else{let f=s.cacheUpdateNumber+1;i.logger.info("\u274C","mutable_atom",n.key,"could not be updated. Expected update number",f,"but got",l)}})}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(n,e){let i=Re(e),t=this.initializeSignalAtom(n,i);this.mutableAtomToken=n,this.latestSignalToken=t,this.captureSignalsFromCore(n,t,i),this.supplySignalsToCore(n,t,i),i.trackers.set(n.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),i.trackers.delete(n.key)}}};function JD(n,e,i){n.logger.info("\uD83D\uDD28","atom",e.key,`creating in store "${n.config.name}"`);let t=Re(n),{key:a}=e,r=t.atoms.get(a),o="mutable_atom";if(r&&r.type===o)return n.logger.error("\u274C",o,a,"Tried to create atom, but it already exists in the store."),wc(r);let u=new We,s={...e,type:o,install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",a,`installing in store "${c.config.name}"`),JD(c,e,i)},subject:u};if(i)s.family=i;t.atoms.set(s.key,s);let l=wc(s);if(e.effects){let c=0,f=[];for(let b of e.effects){let m=b({resetSelf:()=>{ZD(n,l)},setSelf:(E)=>{Tt(n,l,E)},onSet:(E)=>RE(n,l,`effect[${c}]`,E)});if(m)f.push(m);++c}s.cleanup=()=>{for(let b of f)b()}}if(new TS(l,n),!i)JM(n,{key:`${a}:JSON`,get:({get:c})=>c(l).toJSON(),set:({set:c},f)=>{c(l,e.class.fromJSON(f))}});return n.on.atomCreation.next(l),l}var mtn=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(n,e){let i=SE(e,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestSignalAtoms=Vi(e,i),this.mutableAtoms=n;let t=(a)=>{let{type:r,token:o}=a;if(o.family){let u=Qa(o.family.subKey);switch(r){case"state_creation":this.trackers.set(u,new TS(o,e));break;case"state_disposal":{let s=this.trackers.get(u);if(s)s[Symbol.dispose](),this.trackers.delete(u)}}}};this.mutableAtoms.subject.subscribe(`store=${e.config.name}::tracker-atom-family`,t)}};function SS(n,e,i){let t={key:e.key,type:"mutable_atom_family"},a=n.families.get(e.key);if(a)n.logger.error("\u2757","mutable_atom_family",e.key,`Overwriting an existing ${bl[a.type]} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let r=new We,u={...t,create:(s)=>{let l=Ke(s),c={key:e.key,subKey:l},f=`${e.key}(${l})`,b=Re(n),m={key:f,class:e.class};if(e.effects)m.effects=e.effects(s);return JD(b,m,c)},class:e.class,subject:r,install:(s)=>SS(s,e),internalRoles:i};return n.families.set(e.key,u),vS(n,{key:`${e.key}:JSON`,get:(s)=>({get:l})=>l(t,s).toJSON(),set:(s)=>({set:l},c)=>{l(t,s,e.class.fromJSON(c))}},["mutable","json"]),new mtn(u,n),t}var MM=(n,e)=>{let i=Re(e),t=`${n.key}:JSON`;return i.families.get(t)},Kp=(n,e)=>{if(e.family){let t=Re(n),r={key:`${e.family.key}:JSON`,type:"writable_pure_selector_family"},o=Vi(t,r),u=Qa(e.family.subKey);return Ii(n,o,u)}return{type:"writable_pure_selector",key:`${e.key}:JSON`}};var _S=(n)=>{let i={type:"atom",key:`*${n.key}`};if(n.family)i.family={key:`*${n.family.key}`,subKey:n.family.subKey};return i};function sS(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n&&"cacheUpdateNumber"in n&&"getUpdateNumber"in n&&"READONLY_VIEW"in n&&"toJSON"in n}var i6=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 Ru({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Ru({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Ru({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Ru({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new zin(100);molecules=new Map;moleculeJoins=new Ru({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeGraph=new Ru({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new Ru({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new We,atomDisposal:new We,selectorCreation:new We,selectorDisposal:new We,timelineCreation:new We,transactionCreation:new We,transactionApplying:new kin(null),operationClose:new We,moleculeCreation:new We,moleculeDisposal:new We};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new YD("warn",(n,e,i)=>!htn(i))];logger={error:(...n)=>{for(let e of this.loggers)e.error(...n)},info:(...n)=>{for(let e of this.loggers)e.info(...n)},warn:(...n)=>{for(let e of this.loggers)e.warn(...n)}};constructor(n,e=null){if(this.config={...e?.config,...n},e!==null){if(this.operation={...e?.operation},ab(e))this.transactionMeta={epoch:new Map(e?.transactionMeta.epoch),actionContinuities:new Ru(e?.transactionMeta.actionContinuities.toJSON())};for(let[,t]of e.families){if(t.internalRoles?.includes("mutable")||t.internalRoles?.includes("join"))continue;t.install(this)}let i=new Set;for(let[,t]of e.atoms){if(i.has(t.key))continue;if(t.install(this),t.type==="mutable_atom"){let a=Kp(e,t),r=_S(t);i.add(a.key),i.add(r.key)}}for(let[,t]of e.readonlySelectors)t.install(this);for(let[,t]of e.writableSelectors){if(i.has(t.key))continue;t.install(this)}for(let[,t]of e.transactions)t.install(this);for(let[,t]of e.timelines)t.install(this)}}},ei={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new i6({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function qD(n,e,i,t){let{key:r}=e;n.logger.info("\uD83D\uDD28","atom",r,"is being created");let o=Re(n),u=o.atoms.get(r);if(u&&u.type==="atom")return n.logger.error("\u274C","atom",r,"Tried to create atom, but it already exists in the store."),wc(u);let s=new We,l={...e,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",r,`installing in store "${f.config.name}"`),qD(f,e,i)},subject:s};if(i)l.family=i;if(t)l.internalRoles=t;o.atoms.set(r,l);let c=wc(l);if(e.effects){let f=0,b=[];for(let m of e.effects){let E=m({resetSelf:()=>{ZD(n,c)},setSelf:(h)=>{Tt(n,c,h)},onSet:(h)=>RE(n,c,`effect[${f}]`,h)});if(E)b.push(E);++f}l.cleanup=()=>{for(let m of b)m()}}return n.on.atomCreation.next(c),c}function t6(n,e){let i=Re(n),{key:t,family:a}=e,r=Vi(i,e);if(!a)n.logger.error("\u274C","atom",t,"Standalone atoms cannot be disposed.");else{r.cleanup?.();let o=n.valueMap.get(r.key),u=mS(n,e),l=Vi(n,u).subject,c={type:"state_disposal",subType:"atom",token:e,value:o,timestamp:Date.now()};l.next(c);let f=Rr(i);if(i.atoms.delete(t),i.valueMap.delete(t),i.selectorAtoms.delete(t),i.atomsThatAreDefault.delete(t),i.moleculeData.delete(a.key,a.subKey),n.timelineTopics.delete(t),e.type==="mutable_atom"){let b=_S(e);t6(n,b),n.trackers.delete(t)}if(n.logger.info("\uD83D\uDD25","atom",t,"deleted"),f&&i.transactionMeta.phase==="building"){let b=i.transactionMeta.update.subEvents.at(-1),E=b?.type==="molecule_disposal"&&b.values.some(([D])=>D===r.family?.key),h=a6(r,"tracker:signal");if(!E&&!h)i.transactionMeta.update.subEvents.push(c)}else n.on.atomDisposal.next(e)}}function a6(n,e){if("internalRoles"in n===!1)return!1;return n.internalRoles.includes(e)}function Ri(n){return n[0].toUpperCase()+n.slice(1)}var r6=class{toolkit;options;defaultContent;relations;states;core;transact(n,e){let i=this.toolkit;this.toolkit=n,e(this),this.toolkit=i}store;realm;[Symbol.dispose](){}constructor(n,e,i=ei.STORE){this.store=i,this.realm=new UM(i),this.options=n,this.defaultContent=e,this.store.miscResources.set(`join:${n.key}`,this),this.realm.allocate("root",n.key),this.toolkit={get:(...F)=>Ka(i,...F),set:(...F)=>{Tt(i,...F)},find:(...F)=>Ii(i,...F),json:(F)=>Kp(i,F)};let t=n.between[0],a=n.between[1],r=SS(i,{key:`${n.key}/relatedKeys`,class:fl},["join","relations"]);this.core={relatedKeysAtoms:r};let o=({get:F},_)=>F(r,_),u=({set:F},_,I)=>{if(!this.store.molecules.has(Ke(_)))this.realm.allocate(n.key,_);F(r,_,(G)=>G.add(I)),F(r,I,(G)=>G.add(_))},s=({set:F},_,I)=>{F(r,_,(H)=>{return H.delete(I),H}),F(r,I,(H)=>{return H.delete(_),H});let[G,W]=[_,I].sort(),B=`${G}:${W}`;this.store.moleculeJoins.delete(B)},l=(F,_,I)=>{let{find:G,get:W,set:B}=F,H=G(r,_),Z=W(H);for(let Q of Z){if(I.includes(Q))continue;B(r,Q,(an)=>{return an.delete(_),an})}B(H,(Q)=>{return Q.transaction((J)=>{J.clear();for(let an of I){let on=o(F,an),Dn=on.has(_);if(this.relations.cardinality==="1:n"){let Ln=[];for(let K of on){if(K===_)continue;let O=o(F,K);if(O.delete(an),O.size===0)Ln.push(K)}if(!Dn&&on.size>0)on.clear();for(let K of Ln){let[O,X]=[an,K].sort(),cn=`${O}:${X}`;i.moleculeJoins.delete(cn)}}if(!Dn)on.add(_);J.add(an)}return!0}),Q})},c=(F,_,I)=>{let{set:G}=F;G(r,_,(W)=>{return W.transaction((B)=>{for(let H of I)B.add(H);return!0}),W});for(let W of I)G(r,W,(B)=>{return B.add(_),B});return!0},f=(F,_,I)=>{let G=o(F,_);return I?G.has(I):G.size>0},b={getRelatedKeys:(F)=>o(this.toolkit,F),addRelation:(F,_)=>{this.store.moleculeJoins.set(`"${F}"`,n.key),this.store.moleculeJoins.set(`"${_}"`,n.key),u(this.toolkit,F,_)},deleteRelation:(F,_)=>{s(this.toolkit,F,_)},replaceRelationsSafely:(F,_)=>{l(this.toolkit,F,_)},replaceRelationsUnsafely:(F,_)=>{c(this.toolkit,F,_)},has:(F,_)=>f(this.toolkit,F,_)},m,E;if(e){E=SE(i,{key:`${n.key}/content`,default:e},["join","content"]);let F=({get:G},W)=>G(E,W),_=({set:G},W,B)=>{G(E,W,B)};m=Object.assign(b,{getContent:(G)=>{return F(this.toolkit,G)},setContent:(G,W)=>{_(this.toolkit,G,W)},deleteContent:(G)=>{}})}else m=b;let h=new Ru(n,{externalStore:m,isAType:n.isAType,isBType:n.isBType,makeContentKey:(...F)=>{let[_,I]=F,[G,W]=F.sort(),B=`${G}:${W}`,H=i.molecules.get(Ke(_)),Z=i.molecules.get(Ke(I));if(!H)this.realm.allocate(n.key,_);if(!Z)this.realm.allocate(n.key,I);return this.realm.allocate(_,B,"all"),this.realm.claim(I,B),this.store.moleculeJoins.set(B,n.key),B}}),D=()=>tb(i,{key:`${n.key}/singleRelatedKey`,get:(F)=>({get:_})=>{let I=_(r,F);for(let G of I)return G;return null}},["join","keys"]),T=()=>{return tb(i,{key:`${n.key}/multipleRelatedKeys`,get:(F)=>({get:_})=>{let I=MM(r,i);return _(I,F).members}},["join","keys"])},v=()=>tb(i,{key:`${n.key}/singleRelatedEntry`,get:(F)=>({get:_})=>{let I=_(r,F);for(let G of I){let W=h.isAType?.(F)?F:void 0,B=W===void 0?F:void 0;W??=G,B??=G;let H=h.makeContentKey(W,B),Z=_(E,H);return[G,Z]}return null}},["join","entries"]),N=()=>tb(i,{key:`${n.key}/multipleRelatedEntries`,get:(F)=>({get:_})=>{let I=MM(r,i);return _(I,F).members.map((W)=>{let B=h.isAType?.(F)?F:void 0,H=B===void 0?F:void 0;B??=W,H??=W;let Z=h.makeContentKey(B,H),Q=_(E,Z);return[W,Q]})}},["join","entries"]);switch(n.cardinality){case"1:1":{let F=D(),_=`${t}KeyOf${Ri(a)}`,I=`${a}KeyOf${Ri(t)}`,G={[_]:F,[I]:F},W;if(e){let B=v(),H=`${t}EntryOf${Ri(a)}`,Z=`${a}EntryOf${Ri(t)}`,Q={[H]:B,[Z]:B};W=Object.assign(G,Q)}else W=G;this.relations=h,this.states=W;break}case"1:n":{let F=D(),_=T(),I=`${t}KeyOf${Ri(a)}`,G=`${a}KeysOf${Ri(t)}`,W={[I]:F,[G]:_},B;if(e){let H=v(),Z=N(),Q=`${t}EntryOf${Ri(a)}`,J=`${a}EntriesOf${Ri(t)}`,an={[Q]:H,[J]:Z};B=Object.assign(W,an)}else B=W;this.relations=h,this.states=B;break}case"n:n":{let F=T(),_=`${t}KeysOf${Ri(a)}`,I=`${a}KeysOf${Ri(t)}`,G={[_]:F,[I]:F},W;if(e){let B=N(),H=`${t}EntriesOf${Ri(a)}`,Z=`${a}EntriesOf${Ri(t)}`,Q={[H]:B,[Z]:B};W=Object.assign(G,Q)}else W=G;this.relations=h,this.states=W}}}};function o6(n,e,i){return n.joins.set(e.key,new r6(e,i,n)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function xS(n,e){let i=e.joins.get(n.key);if(i===void 0){let a=ei.STORE.joins.get(n.key);if(a===void 0)throw new Error(`Join "${n.key}" not found in store "${e.config.name}"`);let r=Gin(e);i=new r6(a.options,a.defaultContent,r),e.joins.set(n.key,i)}return i}function vc(n,e,i){let t=xS(n,i),a=Re(i);if(Rr(a)){let{toolkit:r}=a.transactionMeta;t.transact(r,({relations:o})=>{e(o)})}else e(t.relations)}function xE(n,e,i){let t=xS(n,i),a;switch(n.cardinality){case"1:1":{let r=`${n.a}KeyOf${Ri(n.b)}`,o=`${n.b}KeyOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntryOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntryOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}break}case"1:n":{let r=`${n.a}KeyOf${Ri(n.b)}`,o=`${n.b}KeysOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntryOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntriesOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}break}case"n:n":{let r=`${n.a}KeysOf${Ri(n.b)}`,o=`${n.b}KeysOf${Ri(n.a)}`;a={get[r](){let s=t.states[r];return Ii(i,s,e)},get[o](){let s=t.states[o];return Ii(i,s,e)}};let u=`${n.a}EntriesOf${Ri(n.b)}`;if(u in t.states){let s=`${n.b}EntriesOf${Ri(n.a)}`;Object.assign(a,{get[u](){let l=t.states[u];return Ii(i,l,e)},get[s](){let l=t.states[s];return Ii(i,l,e)}})}}}return a}function u6(n,e){return xS(n,e).core.relatedKeysAtoms}var Etn=class extends Error{constructor(n,e){super(`${bl[n.type]} ${Ke(n.key)} not found in store "${e.config.name}".`)}};function htn(n){return n.startsWith("\uD83D\uDD0D ")}function rb(n){return JD(ei.STORE,n,void 0)}function NE(n){return SE(ei.STORE,n)}function uFn(...n){return Ka(ei.STORE,...n)}function n0(n,e){return o6(ei.STORE,n,e)}function s6(n){return u6(n,ei.STORE)}var bl={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 NS=(n)=>(e,i,t,a,...r)=>{console[n](`${e} ${bl[i]} \`${t}\` ${a}`,...r)},Atn={error:NS("error"),info:NS("info"),warn:NS("warn")},YD=class{logLevel;filter;logger;constructor(n,e,i=Atn){this.logLevel=n,this.filter=e,this.logger=i}error=(...n)=>{if(this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.error(...n);else if(e)this.logger.error(...e)}};info=(...n)=>{if(this.logLevel==="info"){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.info(...n);else if(e)this.logger.info(...e)}};warn=(...n)=>{if(this.logLevel!=="error"&&this.logLevel!==null){let e=this.filter?.(...n)??!0;if(e===!0)this.logger.warn(...n);else if(e)this.logger.warn(...e)}}};var UM=class{store;deallocateTX;claimTX;constructor(n=ei.STORE){this.store=n,this.deallocateTX=YM(n),this.claimTX=VM(n),WM("root",n)}allocate(n,e,i){QD(this.store,n,e,i)}deallocate(n){XD(this.store,this.deallocateTX,bS())(n)}claim(n,e,i){wE(this.store,n,e,i)}};function e0(n){return e6(ei.STORE,n)}function FE(n){return TE(ei.STORE,n)}var dJ=se(i0(),1),fJ=se(d_(),1);var VG=se(YG(),1),{Server:XG,Namespace:MCn,Socket:ZG}=VG.default;import{readFileSync as aH}from"fs";import{createServer as Nbn}from"http";import{createServer as Fbn}from"https";import{resolve as RN}from"path";function QG(n,e){if(n instanceof Promise)throw new Error(e)}function Icn(n,e){let i={},t=[];for(let a in n){let r=n[a]["~standard"].validate(e[a]);if(QG(r,`Validation must be synchronous, but ${a} returned a Promise.`),r.issues){t.push(...r.issues.map((o)=>({...o,message:o.message,path:[a,...o.path??[]]})));continue}i[a]=r.value}if(t.length)return{issues:t};return{value:i}}function rx(n){let e=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[v,N]of Object.entries(e))if(N==="")delete e[v]}if(!!n.skipValidation)return e;let a=typeof n.client==="object"?n.client:{},r=typeof n.server==="object"?n.server:{},o=typeof n.shared==="object"?n.shared:{},u=n.isServer??(typeof window==="undefined"||("Deno"in window)),s=u?{...r,...o,...a}:{...a,...o},l=n.createFinalSchema?.(s,u)["~standard"].validate(e)??Icn(s,e);QG(l,"Validation must be synchronous");let c=n.onValidationError??((v)=>{throw console.error("\u274C Invalid environment variables:",v),new Error("Invalid environment variables")}),f=n.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(l.issues)return c(l.issues);let b=(v)=>{if(!n.clientPrefix)return!0;return!v.startsWith(n.clientPrefix)&&!(v in o)},m=(v)=>{return u||!b(v)},E=(v)=>{return v==="__esModule"||v==="$$typeof"},h=(n.extends??[]).reduce((v,N)=>{return Object.assign(v,N)},{}),D=Object.assign(h,l.value);return new Proxy(D,{get(v,N){if(typeof N!=="string")return;if(E(N))return;if(!m(N))return f(N);return Reflect.get(v,N)}})}var Oc=(n)=>Array.isArray(n)?n:[n],KG=(n,e)=>{let i=[[],[]];for(let t of n)if(e(t))i[0].push(t);else i[1].push(t);return i},Z0=Array,Dl=(n,e)=>n.includes(e),jG=(n,e=0)=>[...new Array(n)].map((i,t)=>t+e),Te=(n,e,i)=>{if(n===void 0)return e===void 0?[]:Array.isArray(e)?e:[e];if(i?.prepend)if(Array.isArray(e))n.unshift(...e);else n.unshift(e);else if(Array.isArray(e))n.push(...e);else n.push(e);return n},wl=(n,e)=>{if(e===void 0||e===null)return n??[];if(n===void 0||n===null)return Oc(e);return n.concat(e)},JG=(...n)=>n.reduce(wl,[]),Ts=(n,e,i)=>{if(n===void 0)return Array.isArray(e)?e:[e];let t=i?.isEqual??((a,r)=>a===r);for(let a of Oc(e))if(!n.some((r)=>t(r,a)))n.push(a);return n},qG=(n,e)=>n.reduce((i,t)=>{let a=t[e];return i[a]=Te(i[a],t),i},{}),vl=(n,e,i)=>n.length===e.length&&n.every(i?.isEqual?(t,a)=>i.isEqual(t,e[a]):(t,a)=>t===e[a]);var _r=(n,e)=>ct(n)===e,ct=(n)=>{let e=typeof n;return e==="object"?n===null?"null":"object":e==="function"?"object":e},xr={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},n3={...xr,function:"a function"};class e3 extends Error{}var Oe=(n)=>cd(n,e3),cd=(n,e=Error)=>{throw new e(n)};class ZE extends Error{name="ParseError"}var tn=(n)=>cd(n,ZE),Cu=(n)=>` ${n}`;var ae=(n,e)=>{let i={},t=Array.isArray(n),a=!1;for(let[r,o]of Object.entries(n).entries()){let u=t?e(r,o[1]):e(...o,r);a||=typeof u[0]==="number";let s=Array.isArray(u[0])||u.length===0?u:[u];for(let[l,c]of s)if(typeof l==="object")i[l.group]=Te(i[l.group],c);else i[l]=c}return a?Object.values(i):i};var ox=Object.entries;var pt=(n,e)=>(n in e),Lb=(n,e)=>(e in n);class ux{constructor(n){Object.assign(this,n)}}var i3=class{};class QE extends i3{}var ycn=(n,e)=>{let i={},t={},a;for(a in n)if(a in e)i[a]=n[a];else t[a]=n[a];return[i,t]};var t3=(n,e)=>ycn(n,e)[1],Ss=(n)=>Object.keys(n).length===0,pd=(n)=>[...Object.entries(n),...Object.getOwnPropertySymbols(n).map((e)=>[e,n[e]])],a3=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),r3=(n)=>{let e=Object.keys(n).sort(),i={};for(let t=0;t<e.length;t++)i[e[t]]=n[e[t]];return i};var co=Cu("represents an uninitialized value"),o3=(n)=>Object.values(n).filter((e)=>{if(typeof e==="number")return!0;return typeof n[e]!=="number"});var sx={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},lx=globalThis.File??Blob,cx={ArrayBuffer,Blob,File:lx,FormData,Headers,Request,Response,URL},Mcn={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},dd={...sx,...cx,...Mcn,String,Number,Boolean},KE=(n)=>{let e=Object.getPrototypeOf(n);while(e?.constructor&&(!pt(e.constructor.name,dd)||!(n instanceof dd[e.constructor.name])))e=Object.getPrototypeOf(e);let i=e?.constructor?.name;if(i===void 0||i==="Object")return;return i},jE=(n)=>typeof n==="object"&&n!==null?KE(n)??"object":ct(n);var ui=Array.isArray,Ucn={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},Gcn={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},zcn={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},u3={...Ucn,...Gcn,...zcn},JE=(n)=>{let e=Object(n).name??null;return e&&pt(e,dd)&&dd[e]===n?e:null};var px=(n,e)=>{let i=n.prototype;while(i!==null){if(i===e.prototype)return!0;i=Object.getPrototypeOf(i)}return!1};var s3=(n)=>l3(n,new Map),l3=(n,e)=>{if(typeof n!=="object"||n===null)return n;if(e?.has(n))return e.get(n);let i=JE(n.constructor);if(i==="Date")return new Date(n.getTime());if(i&&i!=="Array")return n;let t=Array.isArray(n)?n.slice():Object.create(Object.getPrototypeOf(n)),a=Object.getOwnPropertyDescriptors(n);if(e){e.set(n,t);for(let r in a){let o=a[r];if("get"in o||"set"in o)continue;o.value=l3(o.value,e)}}return Object.defineProperties(t,a),t};var $cn=(n)=>{let e=co;return()=>e===co?e=n():e},Lc=(n)=>typeof n==="function"&&n.length===0;var c3=class extends Function{constructor(...n){let e=n.slice(0,-1),i=n.at(-1);try{super(...e,i)}catch(t){return Oe(`Encountered an unexpected error while compiling your definition:
304
304
  Message: ${t}
305
305
  Source: (${n.slice(0,-1)}) => {
306
306
  ${n.at(-1)}