tempest.games 0.2.104 → 0.2.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/app/apple-touch-icon.png +0 -0
- package/app/assets/{index-D3X4KPAg.js → index-BuI4xz01.js} +1 -1
- package/app/index.html +1 -1
- package/bin/backend.bun.js +116 -311
- package/bin/backend.worker.game.bun.js +1 -1
- package/bin/backend.worker.tribunal.bun.js +5 -5
- package/bin/frontend.bun.js +4 -3
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
Binary file
|
|
@@ -10,7 +10,7 @@ ${b.trace}`:`No previous disposal trace for ${n} was found.`);return}r.subject.n
|
|
|
10
10
|
${g.trace}`:`No previous disposal trace for ${o} was found.`),n}const f=zt(e),h=u.molecules.get(f);if(!h){const g=t.disposalTraces.buffer.find(b=>b?.key===f);return t.logger.error("❌","key",n,"claim failed:",`Could not allocate to ${f} in store "${t.config.name}".`,g?`
|
|
11
11
|
${f} was most recently disposed
|
|
12
12
|
${g.trace}`:`No previous disposal trace for ${f} was found.`),n}const m=t.moleculeGraph.getRelationEntries({downstreamMoleculeKey:c.stringKey}).filter(([,{source:g}])=>g!==o).map(([g])=>qr(g));r&&u.moleculeGraph.delete(o),u.moleculeGraph.set({upstreamMoleculeKey:h.stringKey,downstreamMoleculeKey:c.stringKey},{source:h.stringKey});const y={type:"molecule_transfer",key:c.key,exclusive:!!r,from:m,to:[h.key],timestamp:Date.now()};return Tn(u)&&u.transactionMeta.phase==="building"&&u.transactionMeta.update.subEvents.push(y),n}function ZC(t,e,n){switch(n){case"newValue":W1(t,e);break;case"oldValue":lf(t,e.token);break}}function QC(t,e,n){switch(n){case"newValue":lf(t,e.token);break;case"oldValue":W1(t,e),e.subType==="atom"&&t.valueMap.set(e.token.key,e.value);break}}function W1(t,e){const{token:n}=e;e.subType==="writable"&&e.value?Lt(t,n,e.value):An(t,n)}function WC(t,e,n){switch(n){case"newValue":Q1(t,e.provenance,e.key);break;case"oldValue":ty(t,e.key);break}}function eM(t,e,n){switch(n){case"newValue":ty(t,e.key);break;case"oldValue":Q1(t,e.provenance.map(qr),e.key);for(const[r,o]of e.values){const u=t.families.get(r);if(u){An(t,u,e.key);const c=`${r}(${zt(e.key)})`;t.valueMap.set(c,o)}}break}}function tM(t,e,n){switch(n){case"newValue":for(const r of e.to)NS(t,r,e.key,e.exclusive?"exclusive":void 0);break;case"oldValue":{let r="exclusive";for(const o of e.from)NS(t,o,e.key,r),r=void 0}break}}function xo(t,e,n){const r=n==="newValue"?e.subEvents:[...e.subEvents].reverse();for(const o of r)switch(o.type){case"atom_update":JC(t,o,n);break;case"state_creation":ZC(t,o,n);break;case"state_disposal":QC(t,o,n);break;case"molecule_creation":WC(t,o,n);break;case"molecule_disposal":eM(t,o,n);break;case"molecule_transfer":tM(t,o,n);break;case"transaction_outcome":xo(t,o,n);break}}function ll(t){return"epoch"in t.transactionMeta}function Tn(t){return"phase"in t.transactionMeta}function eT(t,e){return t.transactionMeta.actionContinuities.getRelatedKey(e)}function tT(t,e){return t.transactionMeta.epoch.get(e)}function nM(t,e){const n=eT(t,e);if(n!==void 0)return tT(t,n)}function ny(t,e,n){t.transactionMeta.epoch.set(e,n)}function iM(t,e,n){const r=eT(t,e);r!==void 0&&t.transactionMeta.epoch.set(r,n)}function rM(t,e){const n=Re(t),{parent:r}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=e,r.child=null,r.on.transactionApplying.next(n.transactionMeta);const{subEvents:o}=n.transactionMeta.update;t.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${o.length} subEvents:`,o),xo(r,n.transactionMeta.update,"newValue"),ll(r)?(iM(r,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),ct(t,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),t.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):Tn(r)&&r.transactionMeta.update.subEvents.push(n.transactionMeta.update),r.on.transactionApplying.next(null)}function nT(t,e,n){const{epoch:r,actionContinuities:o}=t.transactionMeta;o.set(e,n),r.has(e)||r.set(e,-1)}function sM(t){return{store:t}}const oM=(t,e,n,r)=>{const o=Re(t),u={parent:o,child:null,on:o.on,loggers:o.loggers,logger:o.logger,config:o.config,atoms:new Jn(o.atoms),atomsThatAreDefault:new Set(o.atomsThatAreDefault),families:new Jn(o.families),joins:new Jn(o.joins),operation:{open:!1},readonlySelectors:new Jn(o.readonlySelectors),timelines:new Jn(o.timelines),timelineTopics:o.timelineTopics.overlay(),trackers:new Map,transactions:new Jn(o.transactions),selectorAtoms:o.selectorAtoms.overlay(),selectorGraph:o.selectorGraph.overlay(),writableSelectors:new Jn(o.writableSelectors),valueMap:new Jn(o.valueMap),defaults:o.defaults,disposalTraces:t.disposalTraces.copy(),molecules:new Jn(o.molecules),moleculeGraph:o.moleculeGraph.overlay(),moleculeData:o.moleculeData.overlay(),keyRefsInJoins:o.keyRefsInJoins.overlay(),miscResources:new Jn(o.miscResources)},c=nM(t,e.key),f={phase:"building",update:{type:"transaction_outcome",token:e,id:r,epoch:c===void 0?NaN:c+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...m)=>An(h,...m)),set:((...m)=>{Lt(h,...m)}),reset:((...m)=>{ay(h,...m)}),run:(m,y=af())=>ey(h,m,y),find:((...m)=>Pr(t,...m)),json:m=>ks(h,m),dispose:((...m)=>{lf(h,...m)}),env:()=>sM(h)}},h=Object.assign(u,{transactionMeta:f});return o.child=h,t.logger.info("🛫","transaction",e.key,"building with params:",n),h};function iT(t,e){const{key:n}=e,r=t.transactions.has(n),o={key:n,type:"transaction",run:(c,f)=>{const h=oM(t,zr(o),c,f);try{const{toolkit:m}=h.transactionMeta,y=e.do(m,...c);return rM(h,y),y}catch(m){throw YC(h),t.logger.warn("💥","transaction",n,"caught:",m),m}},install:c=>iT(c,e),subject:new We};Re(t).transactions.set(n,o);const u=zr(o);return r||t.on.transactionCreation.next(u),u}var aM=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 Pi({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Pi({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...t)=>t.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Pi({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Pi({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new HC(100);molecules=new Map;moleculeGraph=new Pi({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...t)=>t.sort().join(":")});moleculeData=new Pi({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...t)=>t.sort().join(":")});keyRefsInJoins=new Pi({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...t)=>t.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 IC(null),operationClose:new We,moleculeCreation:new We,moleculeDisposal:new We};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new BC("warn",(t,e,n)=>!GC(n))];logger={error:(...t)=>{for(const e of this.loggers)e.error(...t)},info:(...t)=>{for(const e of this.loggers)e.info(...t)},warn:(...t)=>{for(const e of this.loggers)e.warn(...t)}};constructor(t,e=null){if(this.config={...e?.config,...t},e!==null){this.operation={...e?.operation},ll(e)&&(this.transactionMeta={epoch:new Map(e?.transactionMeta.epoch),actionContinuities:new Pi(e?.transactionMeta.actionContinuities.toJSON())});for(const[,r]of e.families)r.internalRoles?.includes("mutable")||r.internalRoles?.includes("join")||r.install(this);const n=new Set;for(const[,r]of e.atoms)if(!n.has(r.key)&&(r.install(this),r.type==="mutable_atom")){const o=ks(e,r),u=mT(r);n.add(o.key),n.add(u.key)}for(const[,r]of e.readonlySelectors)r.install(this);for(const[,r]of e.writableSelectors)n.has(r.key)||r.install(this);for(const[,r]of e.transactions)r.install(this);for(const[,r]of e.timelines)r.install(this)}}};const Ft={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new aM({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var lM=class extends Error{constructor(t,e){super(`${Kr[t.type]} ${zt(t.key)} not found in store "${e.config.name}".`)}};function ct(t,e){let n,r=t;for(;r!==null;){switch(e.type){case"atom":case"mutable_atom":n=r.atoms.get(e.key);break;case"writable_pure_selector":case"writable_held_selector":n=r.writableSelectors.get(e.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=r.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":n=r.families.get(e.key);break;case"timeline":n=r.timelines.get(e.key);break;case"transaction":n=r.transactions.get(e.key);break}if(n)return n;r=r.child}throw new lM(e,t)}function rT(t,e,n,r){const o=t.disposalTraces.buffer.find(u=>u?.key===zt(r));switch(t.logger.error("❌",e.type,e.key,"gets a fallback value because key",r,"is not allocated",o?`This key was previously disposed:
|
|
13
|
-
${o.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=new n.class;return t.defaults.set(n.key,u),u.READONLY_VIEW}case"atom_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=n.default,c=u(r);return t.defaults.set(n.key,c),c}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=n.default(r);return t.defaults.set(n.key,u),u}}}function Nc(t,e){const{type:n,key:r,catch:o}=e;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let u;t.logger.info("🧮",n,r,"computing value");try{u=e.getFrom(t),u instanceof Promise&&(u=u.catch(c=>{if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return c}throw c}))}catch(c){if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return di(t,e,c)}throw c}return di(t,e,u)}case"atom":{let u;if(Br(e.default))try{u=e.default(),u instanceof Promise&&(u=u.catch(c=>{if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return c}throw c}))}catch(c){if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return u=di(t,e,c),t.logger.info("✨",e.type,r,"computed default",u),u}throw c}else u=e.default,t.logger.info("✨",e.type,r,"using static default",u);return di(t,e,u)}}}function Rs(t,e,n){if(t.valueMap.has(e.key))return yT(t,e,n);t.logger.info("❔",e.type,e.key,"value not found in cache");const{key:r}=e;switch(e.type){case"readonly_held_selector":case"writable_held_selector":return t.logger.info("🧮",e.type,r,"computing value"),e.getFrom(t);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Nc(t,e);case"mutable_atom":{const o=new e.class;return t.logger.info("✨",e.type,r,"created new instance",o),di(t,e,o)}}}function iy(t,e){return ct(t,{key:e.family.key,type:`${e.type}_family`})}const $S={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"},ul=Symbol("MUST_CREATE"),uM=Symbol("DO_NOT_CREATE");function cl(t,e,n,r){const o=zt(r),u=e.molecules.get(o);if(!u&&e.config.lifespan==="immortal"){const{type:f,key:h}=n;return e.logger.warn("💣","key",o,"was used to mint a counterfeit token for",f,`"${h}"`),{counterfeit:!0,key:`${h}(${o})`,type:$S[f],family:{key:h,subKey:o}}}let c;if(t===ul)e.logger.info("👪",n.type,n.key,"adds member",typeof r=="string"?`\`${r}\``:r),c=n.create(r),u&&e.moleculeData.set(o,n.key);else{const{type:f,key:h}=n;return{key:`${h}(${o})`,type:$S[f],family:{key:h,subKey:o}}}return c}function ry(t,...e){let n,r,o,u,c;if(e.length===1){if(c=e[0],"family"in c){const h=iy(t,c);if(o=ct(t,h),u=qr(c.family.subKey),n=fl(t,h,u),"counterfeit"in c)return{token:c,family:o,subKey:u,isNew:!1};n?c=n:(r=cl(ul,t,h,u),c=r)}}else o=ct(t,e[0]),u=e[1],n=fl(t,o,u),n?c=n:(r=cl(ul,t,o,u),c=r);const f="counterfeit"in c;if(r&&f===!1&&o){let h;switch(c.type){case"readonly_pure_selector":case"readonly_held_selector":h="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":h="writable";break}const m={type:"state_creation",subType:h,token:c,timestamp:Date.now()};o.subject.next(m);const y=Re(t);if(c.family)if(ll(y))switch(c.type){case"atom":case"mutable_atom":t.on.atomCreation.next(c);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":t.on.selectorCreation.next(c);break}else Tn(y)&&y.on.transactionApplying.state===null&&y.transactionMeta.update.subEvents.push(m)}return{token:c,family:o,subKey:u,isNew:!!r}}function An(t,...e){const{token:n,family:r,subKey:o}=ry(t,...e);return"counterfeit"in n&&r&&o?rT(t,n,r,o):Rs(t,ct(t,n))}function fl(t,e,n){const r=zt(n),o=`${e.key}(${r})`,u=Re(t);let c;switch(e.type){case"atom_family":case"mutable_atom_family":c=u.atoms.get(o);break;case"writable_held_selector_family":case"writable_pure_selector_family":c=u.writableSelectors.get(o);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":c=u.readonlySelectors.get(o);break}return c&&zr(c)}function Pr(t,e,n){const r=ct(t,e),o=fl(t,e,n);return o||cl(uM,t,r,n)}function $c(t,e,n){const r=e.key,o="readonly_pure_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`,x=Re(t),T={key:S,get:e.get(y)};return e.catch&&(T.catch=e.catch),cy(x,T,b)},internalRoles:n,subject:f,install:y=>$c(y,e),default:y=>e.get(y)({get:((...g)=>An(t,...g)),find:((...g)=>Pr(t,...g)),json:g=>ks(t,g)})};return t.families.set(r,m),u}function sy(t,e,n){const r={key:e.key,type:"atom_family"},o=t.families.get(e.key);o&&t.config.isProduction===!0&&t.logger.error("❗","atom_family",e.key,`Overwriting an existing ${Kr[o.type]} "${o.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const u=new We,f={...r,create:h=>{const m=zt(h),y={key:e.key,subKey:m},g=`${e.key}(${m})`,b=Re(t),S=e.default,x={key:g,default:Br(S)?()=>S(h):S};return e.effects&&(x.effects=e.effects(h)),e.catch&&(x.catch=e.catch),ff(b,x,y)},default:e.default,subject:u,install:h=>sy(h,e),internalRoles:n};return t.families.set(e.key,f),Br(e.default)===!1&&t.defaults.set(e.key,e.default),r}function sT(t,e,n){const r=e.key,o="readonly_held_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`;return uy(Re(t),{key:S,const:e.const(y),get:e.get(y)},b)},internalRoles:n,subject:f,install:y=>sT(y,e),default:e.const};return t.families.set(r,m),u}function oT(t,e,n){const r=e.key,o="writable_held_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`;return fy(Re(t),{key:S,const:e.const(y),get:e.get(y),set:e.set(y)},b)},internalRoles:n,subject:f,install:y=>oT(y,e),default:e.const};return t.families.set(r,m),u}function oy(t,e,n){const r=e.key,o="writable_pure_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`,x=Re(t),T={key:S,get:e.get(y),set:e.set(y)};return e.catch&&(T.catch=e.catch),dy(x,T,b)},internalRoles:n,subject:f,install:y=>oy(y,e),default:y=>e.get(y)({get:((...g)=>An(t,...g)),find:((...g)=>Pr(t,...g)),json:g=>ks(t,g)})};return t.families.set(r,m),u}function cM(t,e){const n="set"in e,r="const"in e;return r&&n?oT(t,e,void 0):r?sT(t,e,void 0):n?oy(t,e):$c(t,e)}function lf(t,...e){let n;if(e.length===1)n=e[0];else{const r=e[0],o=e[1];n=Pr(t,r,o)}try{ct(t,n)}catch{t.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${t.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":gy(t,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":vM(t,n);break}}function aT(t,e){if(t.operation.open){const n=performance.now();return t.logger.info("🚫",e.type,e.key,`deferring setState at T-${n} until setState for "${t.operation.token.key}" is done`),n}return t.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:e,subEvents:[]},t.logger.info("⭕",e.type,e.key,`operation start in store "${t.config.name}"${Tn(t)?` ${t.transactionMeta.phase} "${t.transactionMeta.update.token.key}"`:""}`),t}function lT(t){t.operation.open&&t.logger.info("🔴",t.operation.token.type,t.operation.token.key,`operation done in store "${t.config.name}"`),t.operation={open:!1},t.on.operationClose.next(t.operation)}const uT=(t,e)=>t.operation.open?t.operation.done.has(e):(t.logger.error("🐞","unknown",e,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),uf=(t,e)=>{if(!t.operation.open){t.logger.error("🐞","unknown",e,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}t.operation.done.add(e)};function Hp(t,e,n,r,o){const{oldValue:u,newValue:c}=n,f="oldValue"in n,h=zr(e);if(r&&o){e.subject.next({newValue:c});const S={checkpoint:!0,type:"state_creation",subType:"writable",token:h,timestamp:Date.now(),value:c};t.operation.subEvents.push(S),o.subject.next(S);const x=Re(t);if(h.family)if(ll(x))switch(h.type){case"atom":case"mutable_atom":t.on.atomCreation.next(h);break;case"writable_pure_selector":case"writable_held_selector":t.on.selectorCreation.next(h);break}else Tn(x)&&x.on.transactionApplying.state===null&&x.transactionMeta.update.subEvents.push(S);return}const{key:m,subject:y,type:g}=e;let b;if(f?b={oldValue:ic(u)?u.READONLY_VIEW:u,newValue:ic(c)?c.READONLY_VIEW:c}:b={newValue:ic(c)?c.READONLY_VIEW:c},ll(t)){switch(g){case"mutable_atom":t.logger.info("📢",g,m,"is now (",c,") subscribers:",y.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":t.logger.info("📢",g,m,"went (",u,"->",c,") subscribers:",y.subscribers.keys())}y.next(b)}if(Tn(t)&&(g==="mutable_atom"||g==="atom")){if(t.on.transactionApplying.state===null){if(ic(c))return;const{timestamp:S}=t.operation,x={type:"atom_update",token:h,timestamp:S,update:b};t.transactionMeta.update.subEvents.push(x),t.logger.info("📁","atom",m,"stowed (",u,"->",c,")");return}if(yy(e,"tracker:signal")){const S=m.slice(1),x=t.atoms.get(S);Rs(t,x,"mut").do(b.newValue)===null&&my(t,x)}}}const jS=Symbol("UNSET"),Fp=(t,e,n)=>{let r,o;if(Br(n)){const u=Rs(t,e,"mut");r=u,o=n(u)}else t.valueMap.has(e.key)?r=yT(t,e,"mut"):e.type==="atom"&&!Br(e.default)?r=e.default:r=jS,o=n;return t.logger.info("⭐","atom",e.key,"setting value",o),o=di(t,e,o),uf(t,e.key),my(t,e),r===jS?{newValue:o}:{oldValue:r,newValue:o}};function Qh(t,e){switch(e.type){case"mutable_atom":return Fp(t,e,new e.class);case"atom":{let n;return Br(e.default)?n=Nc(t,e):n=e.default,Fp(t,e,n)}}}function fM(t,e){let n;switch(e.type){case"atom":case"mutable_atom":n=Qh(t,e);break;case"writable_held_selector":{const r=dl(t,e.key);for(const u of r.values())Hp(t,e,Qh(t,u),!1);const o=e.getFrom(t);n={oldValue:o,newValue:o}}break;case"writable_pure_selector":{const r=Nc(t,e),o=dl(t,e.key);for(const u of o.values())Hp(t,e,Qh(t,u),!1);n={oldValue:r,newValue:Nc(t,e)}}break}return n}function Lt(t,...e){Tl(Yp,t,...e)}const Gp=Symbol("RESET");function ay(t,...e){Lt(t,...e,Gp)}function dM(t,e,n){let r,o,u;const{type:c,key:f}=e;switch(e.type){case"writable_pure_selector":r=Rs(t,e,"mut"),o=DS(n,r),o=di(t,e,o);break;case"writable_held_selector":u=e.const,DS(n,u),r=u,o=u}return t.logger.info("⭐",c,f,"setting to",o),uf(t,f),e.setSelf(o),{oldValue:r,newValue:o}}const hM=(t,e,n)=>{let r;switch(e.type){case"atom":case"mutable_atom":r=Fp(t,e,n);break;case"writable_pure_selector":case"writable_held_selector":r=dM(t,e,n);break}return r},Yp=Symbol("OWN_OP"),ly=Symbol("JOIN_OP");function Tl(t,e,...n){let r,o,u,c,f,h;n.length===2?(u=n[0],h=n[1],"family"in u&&(c=iy(e,u),f=qr(u.family.subKey),r=fl(e,c,f),r?u=r:u=o=cl(ul,e,c,f))):(c=ct(e,n[0]),f=n[1],h=n[2],r=fl(e,c,f),r?u=r:u=o=cl(ul,e,c,f));const m=h===Gp?"reset":"set";let y;if(t===Yp){const S=aT(e,u);if(typeof S=="number"){const x=S,T=e.on.operationClose.subscribe(`waiting to ${m} "${u.key}" at T-${x}`,function(){T(),e.logger.info("🟢",u.type,u.key,"resuming deferred",m,`from T-${x}`),Tl(t,e,u,h)});return}y=S}else y=e;if("counterfeit"in u&&"family"in u){const S=u.family.subKey,x=e.disposalTraces.buffer.find(T=>T?.key===S);e.logger.error("❌",u.type,u.key,"could not be",m,"because key",S,"is not allocated.",x?`this key was previously disposed:${x.trace}`:"(no previous disposal trace found)");return}const g=ct(y,u);let b;h===Gp?b=fM(y,g):b=hM(y,g,h),Hp(y,g,b,!!o,c),t===Yp&&lT(y)}const cT=(t,e)=>Re(t).atoms.has(e),pM=(t,e)=>Re(t).writableSelectors.has(e),mM=(t,e)=>Re(t).readonlySelectors.has(e),yM=(t,e)=>cT(t,e)||pM(t,e)||mM(t,e);function BS(t,e){return Re(t).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([n,{source:r}])=>r!==e).map(([n,{source:r}])=>r).filter(n=>yM(t,n))}function dl(t,e,n=new Set){const r=BS(t,e),o=new Map;for(;r.length>0;){const u=r.pop();if(!n.has(u))if(n.add(u),cT(t,u)){const c=t.atoms.get(u);o.set(c.key,c)}else r.push(...BS(t,u))}return o}function gM(t,e,n,r,o){const u=Re(t),{type:c,key:f}=r;if(c==="atom"||c==="mutable_atom")u.selectorAtoms.set({selectorKey:n,atomKey:f}),t.logger.info("🔍",e,n,`discovers root atom "${f}"`);else{const h=dl(t,f,o);t.logger.info("🔍",e,n,`discovers root atoms: [ ${[...h.values()].map(m=>`"${m.key}"`).join(", ")} ]`);for(const{key:m}of h.values())u.selectorAtoms=u.selectorAtoms.set({selectorKey:n,atomKey:m})}o.add(f)}function cf(t,e,n,r){return{get:(...o)=>{const u=Re(t),{token:c,family:f,subKey:h}=ry(t,...o);let m;return"counterfeit"in c&&f&&h?m=rT(t,c,f,h):m=Rs(t,ct(t,c)),t.logger.info("🔌",e,n,`registers dependency ( "${c.key}" =`,m,")"),u.selectorGraph.set({upstreamSelectorKey:c.key,downstreamSelectorKey:n},{source:c.key}),gM(t,e,n,c,r),m},set:((...o)=>{Tl(ly,Re(t),...o)}),find:((...o)=>Pr(t,...o)),json:o=>ks(t,o)}}function uy(t,e,n){const r=Re(t),o=new We,u=new Set,{key:c,const:f}=e,h="readonly_held_selector";t.logger.info("🔨",h,c,"is being created");const{get:m,find:y,json:g}=cf(r,h,c,u),S={...e,type:h,subject:o,getFrom:T=>{const _=T.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[k,{source:C}]of _)C!==c&&T.selectorGraph.delete(k,c);return T.selectorAtoms.delete(c),e.get({get:m,find:y,json:g},f),di(T,S,f),t.logger.info("✨",h,c,"=",f),u.clear(),f},install:T=>uy(T,e,n)};n&&(S.family=n),r.readonlySelectors.set(c,S);const x={key:c,type:h};return n&&(x.family=n),x}function cy(t,e,n){const r=Re(t),o=new We,u=new Set,c=e.key,f="readonly_pure_selector";t.logger.info("🔨",f,c,"is being created");const{get:h,find:m,json:y}=cf(r,f,c,u),b={...e,type:f,subject:o,getFrom:()=>{const x=Re(t),T=x.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[k,{source:C}]of T)C!==c&&x.selectorGraph.delete(k,c);x.selectorAtoms.delete(c);const _=e.get({get:h,find:m,json:y});return t.logger.info("✨",f,c,"=",_),u.clear(),_},install:x=>cy(x,e,n)};n&&(b.family=n),r.readonlySelectors.set(c,b);const S={key:c,type:f};return n&&(S.family=n),S}function fy(t,e,n){const r=Re(t),o=new We,u=new Set,{key:c,const:f}=e,h="writable_held_selector";t.logger.info("🔨",h,c,"is being created");const m=cf(r,h,c,u),{find:y,get:g,json:b}=m,S={find:y,get:g,json:b},_={...e,type:h,subject:o,getFrom:C=>{const M=C.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[G,{source:I}]of M)I!==c&&C.selectorGraph.delete(G,c);return C.selectorAtoms.delete(c),e.get(S,f),di(C,_,f),t.logger.info("✨",h,c,"=",f),u.clear(),f},setSelf:()=>{e.set(m,f)},install:C=>fy(C,e,n)};n&&(_.family=n),r.writableSelectors.set(c,_);const k={key:c,type:h};return n&&(k.family=n),k}function dy(t,e,n){const r=Re(t),o=new We,u=new Set,c=e.key,f="writable_pure_selector";t.logger.info("🔨",f,c,"is being created");const h=cf(r,f,c,u),{find:m,get:y,json:g}=h,b={find:m,get:y,json:g},T={...e,type:f,subject:o,getFrom:k=>{const C=k.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[G,{source:I}]of C)I!==c&&k.selectorGraph.delete(G,c);k.selectorAtoms.delete(c);const M=e.get(b);return t.logger.info("✨",f,c,"=",M),u.clear(),M},setSelf:k=>{e.set(h,k)},install:k=>dy(k,e,n)};n&&(T.family=n),r.writableSelectors.set(c,T);const _={key:c,type:f};return n&&(_.family=n),_}function fT(t,e){const n="set"in e,r="const"in e;if(r&&n){const u=fy(t,e,void 0);return t.on.selectorCreation.next(u),u}if(r){const u=uy(t,e,void 0);return t.on.selectorCreation.next(u),u}if(n){const u=dy(t,e,void 0);return t.on.selectorCreation.next(u),u}const o=cy(t,e,void 0);return t.on.selectorCreation.next(o),o}function vM(t,e){const n=Re(t),{key:r,type:o,family:u}=e;if(!u)t.logger.error("❌",o,r,"Standalone selectors cannot be disposed.");else{n.molecules.get(u.subKey)&&n.moleculeData.delete(u.subKey,u.key);let c;switch(e.type){case"writable_held_selector":n.writableSelectors.delete(r),c={key:u.key,type:"writable_held_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(r),c={key:u.key,type:"writable_pure_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(r),c={key:u.key,type:"readonly_held_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(r),c={key:u.key,type:"readonly_pure_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break}n.valueMap.delete(r),n.selectorAtoms.delete(r),n.selectorGraph.delete(r),n.moleculeData.delete(u.key,u.subKey),t.logger.info("🔥",e.type,r,"deleted"),Tn(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()}):t.on.selectorDisposal.next(e)}}const bM=(t,e)=>{const n=Re(t);return n.operation.open?n.operation.prev.get(e.key):n.valueMap.get(e.key)},zS=(t,e,n)=>n.subject.subscribe(`${e.type}:${e.key}`,r=>{t.logger.info("📢",e.type,e.key,"root",n.key,"went",r.oldValue,"->",r.newValue);const o=bM(t,e),u=Rs(t,e);t.logger.info("✨",e.type,e.key,"went",o,"->",u),e.subject.next({newValue:u,oldValue:o})});function Ts(t,e,n,r){function o(g){t.operation.open&&u?.type==="atom"&&yy(u,"tracker:signal")&&"*"+t.operation.token.key===e.key&&"inboundTracker"in r||r(g)}ry(t,e);const u=ct(t,e);t.logger.info("👀",u.type,u.key,`Adding subscription "${n}"`);const c=u.type==="writable_pure_selector"||u.type==="readonly_pure_selector",f=new Map;let h=o;if(c){Rs(t,u);for(const[g,b]of dl(t,u.key))f.set(g,zS(t,u,b));h=function(b){const S=dl(t,u.key);for(const[x,T]of f)S.get(x)?S.delete(x):(T(),f.delete(x));for(const[x,T]of S)f.set(x,zS(t,u,T));o(b)}}const m=u.subject.subscribe(n,h);return()=>{t.logger.info("🙈",u.type,u.key,`Removing subscription "${n}"`),m();for(const g of f.values())g()}}const dT=(t,e,n,r)=>{const o=ct(t,e);t.logger.info("👀","timeline",e.key,`Adding subscription "${n}"`);const u=o.subject.subscribe(n,r);return()=>{t.logger.info("🙈","timeline",e.key,`Removing subscription "${n}" from timeline`),u()}},hT=(t,e,n,r)=>{const o=ct(t,e);t.logger.info("👀","transaction",e.key,`Adding subscription "${n}"`);const u=o.subject.subscribe(n,r);return()=>{t.logger.info("🙈","transaction",e.key,`Removing subscription "${n}"`),u()}};function SM(t,e,n,r=af()){switch(e.type){case"atom":case"mutable_atom":case"readonly_pure_selector":case"readonly_held_selector":case"writable_pure_selector":case"writable_held_selector":return Ts(t,e,r,n);case"transaction":return hT(t,e,r,n);case"timeline":return dT(t,e,r,n)}}var hy=class{initializeSignalAtom(t,e){const n=`*${t.key}`;e.atoms.delete(n),e.valueMap.delete(n);const r=t.family?{key:`*${t.family.key}`,subKey:t.family.subKey}:void 0,o=ff(e,{key:n,default:null},r,["tracker:signal"]);if(e.parent?.valueMap.has(n)){const u=e.parent.valueMap.get(n);e.valueMap.set(n,u)}return o}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(t,e,n){const r=t.key,o=`tracker-from-core:${n.config.name}:${Tn(n)?n.transactionMeta.update.token.key:"main"}:${r}`,u=c=>{Tl(ly,n,e,c)};this.unsubscribeFromInnerValue=An(n,t).subscribe(o,u),this.unsubscribeFromState=Ts(n,t,o,(function(f){f.newValue!==f.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=f.newValue.subscribe(o,u))}).bind(this))}supplySignalsToCore(t,e,n){const r=t.key,o=`tracker-to-core:${n.config.name}:${Tn(n)?n.transactionMeta.update.token.key:"main"}:${r}`;Ts(n,e,o,Object.assign(function({newValue:c,oldValue:f}){const h=n.timelineTopics.getRelatedKey(e.key);if(h&&n.timelines.get(h)?.timeTraveling){const m=dT(n,{key:h,type:"timeline"},o,function(g){m(),Lt(n,t,b=>(g==="redo"&&c?b.do(c):g==="undo"&&f&&b.undo(f),b))});return}Lt(n,t,m=>(m.do(c),m))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(t,e){const n=Re(e),r=this.initializeSignalAtom(t,n);this.mutableAtomToken=t,this.latestSignalToken=r,this.captureSignalsFromCore(t,r,n),this.supplySignalsToCore(t,r,n),n.trackers.set(t.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(t.key)}}};function py(t,e,n){t.logger.info("🔨","atom",e.key,`creating in store "${t.config.name}"`);const r=Re(t),{key:o}=e,u=r.atoms.get(o),c="mutable_atom";if(u?.type===c&&t.config.isProduction===!0)return t.logger.error("❌",c,o,"Tried to create atom, but it already exists in the store."),zr(u);const f=new We,h={...e,type:c,install:y=>(y.logger.info("🛠️","atom",o,`installing in store "${y.config.name}"`),py(y,e,n)),subject:f};n&&(h.family=n),r.atoms.set(h.key,h);const m=zr(h);if(new hy(m,t),n||fT(t,{key:`${o}:JSON`,get:({get:y})=>y(m).toJSON(),set:({set:y},g)=>{y(m,e.class.fromJSON(g))}}),e.effects){let y=0;const g=[];for(const b of e.effects){const S=b({resetSelf:()=>{ay(t,m)},setSelf:x=>{Lt(t,m,x)},onSet:x=>Ts(t,m,`effect[${y}]`,x),token:m,store:Wm(t)});S&&g.push(S),++y}h.cleanup=()=>{for(const b of g)b()}}return t.on.atomCreation.next(m),m}var wM=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(t,e){this.latestSignalAtoms=ct(e,sy(e,{key:`*${t.key}`,default:null},["mutable","updates"])),this.mutableAtoms=t;const n=r=>{const{type:o,token:u}=r;if(u.family){const c=qr(u.family.subKey);switch(o){case"state_creation":this.trackers.set(c,new hy(u,e));break;case"state_disposal":{const f=this.trackers.get(c);f&&(f[Symbol.dispose](),this.trackers.delete(c))}}}};this.mutableAtoms.subject.subscribe(`store=${e.config.name}::tracker-atom-family`,n)}};function pT(t,e,n){const r={key:e.key,type:"mutable_atom_family"},o=t.families.get(e.key);o&&t.config.isProduction===!0&&t.logger.error("❗","mutable_atom_family",e.key,`Overwriting an existing ${Kr[o.type]} "${o.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const u=new We,f={...r,create:h=>{const m=zt(h),y={key:e.key,subKey:m},g=`${e.key}(${m})`,b=Re(t),S={key:g,class:e.class};return e.effects&&(S.effects=e.effects(h)),py(b,S,y)},class:e.class,subject:u,install:h=>pT(h,e),internalRoles:n};return t.families.set(e.key,f),oy(t,{key:`${e.key}:JSON`,get:h=>({get:m})=>m(r,h).toJSON(),set:h=>({set:m},y)=>{m(r,h,e.class.fromJSON(y))}},["mutable","json"]),new wM(f,t),r}const xM=(t,e)=>{const n=Re(e),r=`${t.key}:JSON`;return n.families.get(r)},ks=(t,e)=>e.family?Pr(t,ct(Re(t),{key:`${e.family.key}:JSON`,type:"writable_pure_selector_family"}),qr(e.family.subKey)):{type:"writable_pure_selector",key:`${e.key}:JSON`},mT=t=>{const e={type:"atom",key:`*${t.key}`};return t.family&&(e.family={key:`*${t.family.key}`,subKey:t.family.subKey}),e};function ic(t){return typeof t=="object"&&t!==null&&"do"in t&&"undo"in t&&"subscribe"in t&&"READONLY_VIEW"in t&&"toJSON"in t}function di(t,e,n){const{key:r,subject:o,type:u}=e,c=t.valueMap.get(r);if(c instanceof Ip&&!c.done){const f=c;return n instanceof Promise?(f.use(n),f):(t.valueMap.set(r,n),n)}if(n instanceof Promise){const f=new Ip(n);return t.valueMap.set(r,f),f.then(function(m){if(t.valueMap.get(r)===f){switch(aT(t,e),di(t,e,m),u){case"atom":my(t,e);break;case"readonly_pure_selector":case"writable_pure_selector":vT(t,r);break}lT(t),o.next({newValue:m,oldValue:f})}}).catch(h=>{t.logger.error("💥",e.type,r,"rejected:",h)}),f}return t.logger.info("📝",e.type,e.key,"writing to cache",n),t.valueMap.set(r,n),n}function yT(t,e,n){t.logger.info("📖",e.type,e.key,"reading cached value");let r=t.valueMap.get(e.key);if(n==="mut"&&e.type==="mutable_atom"&&Tn(t)){const o=e,{parent:u}=t;if(t.valueMap.hasOwn(o.key))return r;const c=u.valueMap.get(o.key);t.logger.info("📃","atom",o.key,"copying");const f=c.toJSON(),h=o.class.fromJSON(f);t.valueMap.set(o.key,h),new hy(o,u),r=h}return r}function gT(t,e){const n=t.valueMap.get(e);n instanceof Ip||(t.operation.open&&t.operation.prev.set(e,n),t.valueMap.delete(e),t.logger.info("🗑","state",e,"evicted"))}function my(t,e){const n=Re(t),{key:r,type:o}=e,u=n.selectorAtoms.getRelatedKeys(r);if(n.logger.info("🧹",o,r,u?`evicting ${u.size} states downstream:`:"no downstream states",u??"to evict"),u){n.operation.open&&n.logger.info("🧹",o,r,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const c of u)uT(n,c)||(gT(n,c),uf(n,c))}}function vT(t,e){const n=Re(t),r=n.selectorGraph.getRelationEntries({upstreamSelectorKey:e}).filter(([o,{source:u}])=>u===e);for(const[o]of r)uT(n,o)||(gT(n,o),uf(n,o),vT(t,o))}function ff(t,e,n,r){const o="atom",{key:u}=e;t.logger.info("🔨",o,u,"is being created");const c=Re(t),f=c.atoms.get(u);if(f?.type===o&&t.config.isProduction===!0)return t.logger.error("❌","atom",u,"Tried to create atom, but it already exists in the store."),zr(f);const h=new We,m={...e,type:o,install:g=>(g.logger.info("🛠️",o,u,`installing in store "${g.config.name}"`),ff(g,e,n)),subject:h};n&&(m.family=n),r&&(m.internalRoles=r),c.atoms.set(u,m);const y=zr(m);if(e.effects){let g=0;const b=[];for(const S of e.effects){const x=S({resetSelf:()=>{ay(t,y)},setSelf:T=>{Lt(t,y,T)},onSet:T=>Ts(t,y,`effect[${g}]`,T),token:y,store:Wm(t)});x&&b.push(x),++g}m.cleanup=()=>{for(const S of b)S()}}return t.on.atomCreation.next(y),y}function yy(t,e){return"internalRoles"in t?t.internalRoles.includes(e):!1}function gy(t,e){const n=Re(t),{key:r,family:o}=e,u=ct(n,e);if(!o)t.logger.error("❌","atom",r,"Standalone atoms cannot be disposed.");else{u.cleanup?.();const c=t.valueMap.get(u.key),f=ct(t,iy(t,e)).subject,h={type:"state_disposal",subType:"atom",token:e,value:c,timestamp:Date.now()};f.next(h);const m=Tn(n);if(n.atoms.delete(r),n.valueMap.delete(r),n.selectorAtoms.delete(r),n.atomsThatAreDefault.delete(r),n.moleculeData.delete(o.key,o.subKey),t.timelineTopics.delete(r),e.type==="mutable_atom"&&(gy(t,mT(e)),t.trackers.delete(r)),t.logger.info("🔥","atom",r,"deleted"),m&&n.transactionMeta.phase==="building"){const y=n.transactionMeta.update.subEvents.at(-1),g=y?.type==="molecule_disposal"&&y.values.some(([S])=>S===u.family?.key),b=yy(u,"tracker:signal");!g&&!b&&n.transactionMeta.update.subEvents.push(h)}else t.on.atomDisposal.next(e)}}function hs(t){return t[0].toUpperCase()+t.slice(1)}var bT=class{toolkit;options;relations;states;relatedKeysAtoms;transact(t,e){const n=this.toolkit;this.toolkit=t,e(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(t,e){this.store=t,this.options=e,this.store.miscResources.set(`join:${e.key}`,this),this.toolkit={get:((...y)=>An(t,...y)),set:((...y)=>{Lt(t,...y)}),find:((...y)=>Pr(t,...y)),json:y=>ks(t,y)};const n=e.between[0],r=e.between[1],o=pT(t,{key:`${e.key}/relatedKeys`,class:Y1},["join","relations"]);this.relatedKeysAtoms=o;const u=(y,g,b)=>{const{find:S,get:x,set:T}=y,_=S(o,g),k=x(_);for(const C of k)b.includes(C)||T(o,C,M=>(M.delete(g),M));T(_,C=>{C.clear();for(const M of b){const G=S(o,M),I=x(G),ee=I.has(g);if(this.relations.cardinality==="1:n"){const J=[];for(const X of I){if(X===g)continue;let he;Tl(ly,this.store,o,X,pe=>(pe.delete(M),he=pe.size,pe)),he===0&&J.push(X)}!ee&&I.size>0&&T(G,X=>(X.clear(),X));for(const X of J)t.keyRefsInJoins.delete(vc(M,X))}ee||T(G,J=>(J.add(g),J)),C.add(M)}return C})},c=(y,g,b)=>{const{set:S}=y;S(o,g,x=>{for(const T of b)x.add(T);return x});for(const x of b)S(o,x,T=>(T.add(g),T));return!0},f=new Pi(e,{externalStore:{getRelatedKeys:y=>this.toolkit.get(o,y),addRelation:(y,g)=>{this.store.keyRefsInJoins.set(`"${y}"`,e.key),this.store.keyRefsInJoins.set(`"${g}"`,e.key),this.store.keyRefsInJoins.set(vc(y,g),e.key),this.toolkit.set(o,y,b=>b.add(g)),this.toolkit.set(o,g,b=>b.add(y))},deleteRelation:(y,g)=>{this.toolkit.set(o,y,S=>(S.delete(g),S)),this.toolkit.set(o,g,S=>(S.delete(y),S));const b=vc(y,g);this.store.keyRefsInJoins.delete(b)},replaceRelationsSafely:(y,g)=>{u(this.toolkit,y,g)},replaceRelationsUnsafely:(y,g)=>{c(this.toolkit,y,g)},has:(y,g)=>{const b=this.toolkit.get(o,y);return g?b.has(g):b.size>0}},isAType:e.isAType,isBType:e.isBType}),h=()=>$c(t,{key:`${e.key}/singleRelatedKey`,get:y=>({get:g})=>{const b=g(o,y);for(const S of b)return S;return null}},["join","keys"]),m=()=>$c(t,{key:`${e.key}/multipleRelatedKeys`,get:y=>({get:g})=>g(xM(o,t),y)},["join","keys"]);switch(e.cardinality){case"1:1":{const y=h(),g=`${n}KeyOf${hs(r)}`,b=`${r}KeyOf${hs(n)}`;this.relations=f,this.states={[g]:y,[b]:y};break}case"1:n":{const y=h(),g=m(),b=`${n}KeyOf${hs(r)}`,S=`${r}KeysOf${hs(n)}`,x={[b]:y,[S]:g};this.relations=f,this.states=x;break}case"n:n":{const y=m(),g=`${n}KeysOf${hs(r)}`,b=`${r}KeysOf${hs(n)}`;this.relations=f,this.states={[g]:y,[b]:y}}}}};function TM(t,e){return t.joins.set(e.key,new bT(t,e)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function AM(t,e){let n=t.joins.get(e.key);if(n===void 0){const r=Ft.STORE.joins.get(e.key);if(r===void 0)throw new Error(`Join "${e.key}" not found in store "${t.config.name}"`);n=new bT(Wm(t),r.options),t.joins.set(e.key,n)}return n}function EM(t,e,n){const r=AM(t,e);return[r.relatedKeysAtoms,r.relatedKeysAtoms]}var Wh={exports:{}},ye={};var LS;function OM(){if(LS)return ye;LS=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),b=Symbol.iterator;function S(E){return E===null||typeof E!="object"?null:(E=b&&E[b]||E["@@iterator"],typeof E=="function"?E:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,_={};function k(E,q,H){this.props=E,this.context=q,this.refs=_,this.updater=H||x}k.prototype.isReactComponent={},k.prototype.setState=function(E,q){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,q,"setState")},k.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function C(){}C.prototype=k.prototype;function M(E,q,H){this.props=E,this.context=q,this.refs=_,this.updater=H||x}var G=M.prototype=new C;G.constructor=M,T(G,k.prototype),G.isPureReactComponent=!0;var I=Array.isArray;function ee(){}var J={H:null,A:null,T:null,S:null},X=Object.prototype.hasOwnProperty;function he(E,q,H){var Q=H.ref;return{$$typeof:t,type:E,key:q,ref:Q!==void 0?Q:null,props:H}}function pe(E,q){return he(E.type,q,E.props)}function we(E){return typeof E=="object"&&E!==null&&E.$$typeof===t}function je(E){var q={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(H){return q[H]})}var be=/\/+/g;function Z(E,q){return typeof E=="object"&&E!==null&&E.key!=null?je(""+E.key):q.toString(36)}function ne(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(ee,ee):(E.status="pending",E.then(function(q){E.status==="pending"&&(E.status="fulfilled",E.value=q)},function(q){E.status==="pending"&&(E.status="rejected",E.reason=q)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function j(E,q,H,Q,re){var ce=typeof E;(ce==="undefined"||ce==="boolean")&&(E=null);var Te=!1;if(E===null)Te=!0;else switch(ce){case"bigint":case"string":case"number":Te=!0;break;case"object":switch(E.$$typeof){case t:case e:Te=!0;break;case y:return Te=E._init,j(Te(E._payload),q,H,Q,re)}}if(Te)return re=re(E),Te=Q===""?"."+Z(E,0):Q,I(re)?(H="",Te!=null&&(H=Te.replace(be,"$&/")+"/"),j(re,q,H,"",function(ni){return ni})):re!=null&&(we(re)&&(re=pe(re,H+(re.key==null||E&&E.key===re.key?"":(""+re.key).replace(be,"$&/")+"/")+Te)),q.push(re)),1;Te=0;var Rt=Q===""?".":Q+":";if(I(E))for(var Je=0;Je<E.length;Je++)Q=E[Je],ce=Rt+Z(Q,Je),Te+=j(Q,q,H,ce,re);else if(Je=S(E),typeof Je=="function")for(E=Je.call(E),Je=0;!(Q=E.next()).done;)Q=Q.value,ce=Rt+Z(Q,Je++),Te+=j(Q,q,H,ce,re);else if(ce==="object"){if(typeof E.then=="function")return j(ne(E),q,H,Q,re);throw q=String(E),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return Te}function U(E,q,H){if(E==null)return E;var Q=[],re=0;return j(E,Q,"","",function(ce){return q.call(H,ce,re++)}),Q}function L(E){if(E._status===-1){var q=E._result;q=q(),q.then(function(H){(E._status===0||E._status===-1)&&(E._status=1,E._result=H)},function(H){(E._status===0||E._status===-1)&&(E._status=2,E._result=H)}),E._status===-1&&(E._status=0,E._result=q)}if(E._status===1)return E._result.default;throw E._result}var te=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},oe={map:U,forEach:function(E,q,H){U(E,function(){q.apply(this,arguments)},H)},count:function(E){var q=0;return U(E,function(){q++}),q},toArray:function(E){return U(E,function(q){return q})||[]},only:function(E){if(!we(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return ye.Activity=g,ye.Children=oe,ye.Component=k,ye.Fragment=n,ye.Profiler=o,ye.PureComponent=M,ye.StrictMode=r,ye.Suspense=h,ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=J,ye.__COMPILER_RUNTIME={__proto__:null,c:function(E){return J.H.useMemoCache(E)}},ye.cache=function(E){return function(){return E.apply(null,arguments)}},ye.cacheSignal=function(){return null},ye.cloneElement=function(E,q,H){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var Q=T({},E.props),re=E.key;if(q!=null)for(ce in q.key!==void 0&&(re=""+q.key),q)!X.call(q,ce)||ce==="key"||ce==="__self"||ce==="__source"||ce==="ref"&&q.ref===void 0||(Q[ce]=q[ce]);var ce=arguments.length-2;if(ce===1)Q.children=H;else if(1<ce){for(var Te=Array(ce),Rt=0;Rt<ce;Rt++)Te[Rt]=arguments[Rt+2];Q.children=Te}return he(E.type,re,Q)},ye.createContext=function(E){return E={$$typeof:c,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:u,_context:E},E},ye.createElement=function(E,q,H){var Q,re={},ce=null;if(q!=null)for(Q in q.key!==void 0&&(ce=""+q.key),q)X.call(q,Q)&&Q!=="key"&&Q!=="__self"&&Q!=="__source"&&(re[Q]=q[Q]);var Te=arguments.length-2;if(Te===1)re.children=H;else if(1<Te){for(var Rt=Array(Te),Je=0;Je<Te;Je++)Rt[Je]=arguments[Je+2];re.children=Rt}if(E&&E.defaultProps)for(Q in Te=E.defaultProps,Te)re[Q]===void 0&&(re[Q]=Te[Q]);return he(E,ce,re)},ye.createRef=function(){return{current:null}},ye.forwardRef=function(E){return{$$typeof:f,render:E}},ye.isValidElement=we,ye.lazy=function(E){return{$$typeof:y,_payload:{_status:-1,_result:E},_init:L}},ye.memo=function(E,q){return{$$typeof:m,type:E,compare:q===void 0?null:q}},ye.startTransition=function(E){var q=J.T,H={};J.T=H;try{var Q=E(),re=J.S;re!==null&&re(H,Q),typeof Q=="object"&&Q!==null&&typeof Q.then=="function"&&Q.then(ee,te)}catch(ce){te(ce)}finally{q!==null&&H.types!==null&&(q.types=H.types),J.T=q}},ye.unstable_useCacheRefresh=function(){return J.H.useCacheRefresh()},ye.use=function(E){return J.H.use(E)},ye.useActionState=function(E,q,H){return J.H.useActionState(E,q,H)},ye.useCallback=function(E,q){return J.H.useCallback(E,q)},ye.useContext=function(E){return J.H.useContext(E)},ye.useDebugValue=function(){},ye.useDeferredValue=function(E,q){return J.H.useDeferredValue(E,q)},ye.useEffect=function(E,q){return J.H.useEffect(E,q)},ye.useEffectEvent=function(E){return J.H.useEffectEvent(E)},ye.useId=function(){return J.H.useId()},ye.useImperativeHandle=function(E,q,H){return J.H.useImperativeHandle(E,q,H)},ye.useInsertionEffect=function(E,q){return J.H.useInsertionEffect(E,q)},ye.useLayoutEffect=function(E,q){return J.H.useLayoutEffect(E,q)},ye.useMemo=function(E,q){return J.H.useMemo(E,q)},ye.useOptimistic=function(E,q){return J.H.useOptimistic(E,q)},ye.useReducer=function(E,q,H){return J.H.useReducer(E,q,H)},ye.useRef=function(E){return J.H.useRef(E)},ye.useState=function(E){return J.H.useState(E)},ye.useSyncExternalStore=function(E,q,H){return J.H.useSyncExternalStore(E,q,H)},ye.useTransition=function(){return J.H.useTransition()},ye.version="19.2.3",ye}var VS;function vy(){return VS||(VS=1,Wh.exports=OM()),Wh.exports}var N=vy();const _M=CC(N),ST=kC({__proto__:null,default:_M},[N]),by=N.createContext(Ft.STORE);function wT(t,...e){let n;if(e.length===2){const r=e[0],o=e[1];n=Pr(t,r,o)}else n=e[0];return n}function Qn(...t){const e=N.useContext(by),n=wT(e,...t),r=N.useRef(null);return r.current??=o=>{Lt(e,n,o)},r.current}function xT(t,e){if(globalThis.env?.NODE_ENV==="development"){const n=N.useRef(!1);N.useEffect(()=>{let r=n.current;if(r===!1)r=t()??!0,n.current=r;else return()=>{Br(r)&&r(),n.current=!1}},e)}else N.useEffect(t,e)}function At(...t){const e=N.useContext(by),n=wT(e,...t),r=N.useId();if(n.type==="mutable_atom"||n.type==="readonly_held_selector"||n.type==="writable_held_selector"){const[,c]=N.useState(0),f=N.useRef(An(e,n));return xT(()=>Ts(e,n,`use-o:${r}`,({newValue:h})=>{f.current=h,c(m=>m+1)}),[n.key]),f.current}const o=N.useCallback(c=>Ts(e,n,`use-o:${r}`,c),[n.key]),u=N.useCallback(()=>An(e,n),[n.key]);return N.useSyncExternalStore(o,u,u)}$C({key:"mutex",default:!1});var RM=class extends Map{set(t,e){return this.has(t)?(console.warn("Tried to set a key that already exists in an InvariantMap",{key:t,value:e}),this):super.set(t,e)}},kM=class Jp{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(e){this.key=e}static existing=new RM;static create(e,n){const{type:r,globals:o,actions:u,perspectives:c}=n(new Jp(e)),f={type:r,key:e,globals:o,actions:u,perspectives:c};return Jp.existing.set(e,f),f}add(...e){switch(e[0].type){case"atom":case"mutable_atom":this.globals.push(...e);break;case"transaction":this.actions.push(...e);break;case"atom_family":case"mutable_atom_family":{const[n,r]=e;this.perspectives.push({type:"realtime_perspective",resourceAtoms:n,viewAtoms:r})}break}return this}};function CM(t){const{key:e,config:n}=t,r=kM.create(e,n),{actions:o}=r;for(const u of o)nT(Ft.STORE,e,u.key);return ny(Ft.STORE,e,-1),r}const TT=t=>t.startsWith("user::"),AT=t=>t.startsWith("room::");NC({key:"roomKeys",class:Y1});const df=P1({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:AT,isBType:TT});Qm({key:"visibleUsersInRooms",get:t=>({get:e})=>{const[,n]=of(df);return[t,...e(n,t)]}});Qm({key:"visibilityFromRoom",get:t=>({get:e})=>{const[n]=of(df);return[t,...e(n,t)]}});Qm({key:"mutualUsers",get:t=>({get:e})=>{const[n,r]=of(df),o=e(r,t);for(const u of o)return[...e(n,u)];return[]}});P1({key:"ownersOfRooms",between:["user","room"],cardinality:"1:n",isAType:TT,isBType:AT});const MM="modulepreload",DM=function(t){return"/"+t},US={},NM=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){let m=function(y){return Promise.all(y.map(g=>Promise.resolve(g).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};var c=m;document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),h=f?.nonce||f?.getAttribute("nonce");o=m(n.map(y=>{if(y=DM(y),y in US)return;US[y]=!0;const g=y.endsWith(".css"),b=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${y}"]${b}`))return;const S=document.createElement("link");if(S.rel=g?"stylesheet":MM,g||(S.as="script"),S.crossOrigin="",S.href=y,h&&S.setAttribute("nonce",h),document.head.appendChild(S),g)return new Promise((x,T)=>{S.addEventListener("load",x),S.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${y}`)))})}))}function u(f){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=f,window.dispatchEvent(h),!h.defaultPrevented)throw f}return o.then(f=>{for(const h of f||[])h.status==="rejected"&&u(h.reason);return e().catch(u)})};var KS={};const $M=ft({key:"mySocketKey",default:void 0}),jM=ft({key:"myUserKey",default:null,effects:[t=>{typeof window<"u"&&NM(async()=>{const{storageSync:e}=await Promise.resolve().then(()=>Wz);return{storageSync:e}},void 0).then(({storageSync:e})=>{e(globalThis.localStorage,JSON,"myUserKey")(t)})}]});vi({key:"myRoomKey",get:({get:t})=>{if("process"in globalThis&&"env"in process&&"REALTIME_ROOM_KEY"in KS)return KS.REALTIME_ROOM_KEY;const e=t(jM);if(!e)return null;const[,n]=of(df),r=t(n,e);for(const o of r)return o;return null}});const bc=ft({key:"optimisticUpdateQueue",default:()=>[]}),Xp=ft({key:"confirmedUpdateQueue",default:()=>[]}),BM=(t,e,n,r,o)=>u=>{function c(h,m){if(t.logger.info("🧑⚖️","continuity",e,"reconciling updates"),Lt(t,bc,g=>(g.shift(),g)),h.id===m.id){if(JSON.stringify(h.subEvents)===JSON.stringify(m.subEvents)){t.logger.info("✅","continuity",e,`results for ${h.id} match between client and server`),n.emit(`ack:${e}`,m.epoch);return}}else t.logger.info("❌","continuity",e,`thought update #${m.epoch} was ${h.token.key}:${h.id}, but it was actually ${m.token.key}:${m.id}`);t.logger.info("🧑⚖️","continuity",e,"updates do not match",h,m);const y=r.toReversed();for(const g of y)xo(t,g,"oldValue");t.logger.info("⏪","continuity",e,"undid optimistic updates:",y),xo(t,h,"oldValue"),t.logger.info("⏪","continuity",e,"undid zeroth optimistic update",h),xo(t,m,"newValue"),t.logger.info("⏩","continuity",e,"applied confirmed update",m),n.emit(`ack:${e}`,m.epoch);for(const g of r){const b={type:"transaction",key:g.token.key},{id:S,params:x}=g;ey(t,b,S)(...x)}t.logger.info("⏩","continuity",e,"reapplied subsequent optimistic updates:",r)}t.logger.info("🧑⚖️","continuity",e,"integrating confirmed update",{confirmedUpdate:u,confirmedUpdates:o,optimisticUpdates:r});const f=r[0];if(f)if(t.logger.info("🧑⚖️","continuity",e,"has optimistic updates to reconcile"),u.epoch===f.epoch){t.logger.info("🧑⚖️","continuity",e,`epoch of confirmed update #${u.epoch} matches zeroth optimistic update`),c(f,u);for(const h of o){const m=r[0];if(h.epoch===m?.epoch)c(m,h);else break}}else t.logger.info("🧑⚖️","continuity",e,`epoch of confirmed update #${u.epoch} does not match zeroth optimistic update #${f.epoch}`),o.some(h=>h.epoch===u.epoch)||(t.logger.info("👈","continuity",e,"pushing confirmed update to queue",u),Lt(t,Xp,h=>(h.push(u),h.sort((m,y)=>m.epoch-y.epoch),h)));else{t.logger.info("🧑⚖️","continuity",e,"has no optimistic updates to deal with");let h;h=tT(t,e),h===u.epoch-1?(t.logger.info("✅","continuity",e,`integrating update #${u.epoch} (${u.token.key} ${u.id})`),xo(t,u,"newValue"),n.emit(`ack:${e}`,u.epoch),ny(t,e,u.epoch)):h!==void 0&&(t.logger.info("🧑⚖️","continuity",e,`received update #${u.epoch} but still waiting for update #${h+1}`,{clientEpoch:h,serverEpoch:u.epoch}),o.some(m=>m.epoch===u.epoch)?t.logger.info("👍","continuity",e,`confirmed update #${u.epoch} is already enqueued`):(t.logger.info("👈","continuity",e,`pushing confirmed update #${u.epoch} to queue`),Lt(t,Xp,m=>(m.push(u),m.sort((y,g)=>y.epoch-g.epoch),m))))}};function zM(t){return e=>{for(const n of e)gy(t,n)}}function LM(t){return e=>{let n=0,r,o;for(const u of e)n%2===0?r=u:(o=u,Lt(t,r,o)),n++}}function VM(t,e,n){const r=n.key,o=An(t,bc),u=An(t,Xp),c=(g,b)=>{e.off(`continuity-init:${r}`,c);let S=0,x,T;for(const _ of b)S%2===0?x=_:(T=_,"type"in x&&x.type==="mutable_atom"&&(x=ks(t,x)),Lt(t,x,T)),S++;ny(t,r,g)};e.off(`continuity-init:${r}`),e.on(`continuity-init:${r}`,c);const f=BM(t,r,e,o,u);e.off(`tx-new:${r}`),e.on(`tx-new:${r}`,f);const h=n.actions.map(g=>(nT(t,r,g.key),hT(t,g,`tx-run:${r}`,b=>{t.logger.info("🤞","continuity",r,"enqueuing optimistic update");const S=o.findIndex(x=>x.id===b.id);S===-1?(t.logger.info("🤞","continuity",r,"enqueuing new optimistic update"),Lt(t,bc,x=>(x.push(b),x.sort((T,_)=>T.epoch-_.epoch),x))):(t.logger.info("🤞","continuity",r,`replacing existing optimistic update at index ${S}`),Lt(t,bc,x=>(x[S]=b,x))),e.emit(`tx-run:${r}`,{id:b.id,token:g,params:b.params})}))),m=LM(t),y=zM(t);return e.on(`reveal:${r}`,m),e.on(`conceal:${r}`,y),e.emit(`get:${r}`),()=>{e.off(`continuity-init:${r}`),e.off(`tx-new:${r}`);for(const g of h)g()}}const ET=N.createContext({socket:null,services:null}),UM=({children:t,socket:e})=>{const n=N.useRef(new Map).current,r=Qn($M);return N.useEffect(()=>{r(e?.id?`socket::${e.id}`:void 0),e?.on("connect",()=>{r(e?.id?`socket::${e.id}`:void 0)}),e?.on("disconnect",()=>{r(void 0)})},[e,r]),F.jsx(ET.Provider,{value:{socket:e,services:n},children:t})};function KM(t,e){const{socket:n,services:r}=N.useContext(ET);xT(()=>{let o=r?.get(t);return o?++o.consumerCount:n&&(o={consumerCount:1,dispose:e(n)},r?.set(t,o)),()=>{o&&(--o.consumerCount,o.consumerCount===0&&(o.dispose?.(),r?.delete(t)))}},[n,t])}function qM(t){const e=N.useContext(by);KM(`tx-sync:${t.key}`,n=>VM(e,n,t))}var ep={exports:{}},Ga={},tp={exports:{}},np={};var qS;function PM(){return qS||(qS=1,(function(t){function e(j,U){var L=j.length;j.push(U);e:for(;0<L;){var te=L-1>>>1,oe=j[te];if(0<o(oe,U))j[te]=U,j[L]=oe,L=te;else break e}}function n(j){return j.length===0?null:j[0]}function r(j){if(j.length===0)return null;var U=j[0],L=j.pop();if(L!==U){j[0]=L;e:for(var te=0,oe=j.length,E=oe>>>1;te<E;){var q=2*(te+1)-1,H=j[q],Q=q+1,re=j[Q];if(0>o(H,L))Q<oe&&0>o(re,H)?(j[te]=re,j[Q]=L,te=Q):(j[te]=H,j[q]=L,te=q);else if(Q<oe&&0>o(re,L))j[te]=re,j[Q]=L,te=Q;else break e}}return U}function o(j,U){var L=j.sortIndex-U.sortIndex;return L!==0?L:j.id-U.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var c=Date,f=c.now();t.unstable_now=function(){return c.now()-f}}var h=[],m=[],y=1,g=null,b=3,S=!1,x=!1,T=!1,_=!1,k=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function G(j){for(var U=n(m);U!==null;){if(U.callback===null)r(m);else if(U.startTime<=j)r(m),U.sortIndex=U.expirationTime,e(h,U);else break;U=n(m)}}function I(j){if(T=!1,G(j),!x)if(n(h)!==null)x=!0,ee||(ee=!0,je());else{var U=n(m);U!==null&&ne(I,U.startTime-j)}}var ee=!1,J=-1,X=5,he=-1;function pe(){return _?!0:!(t.unstable_now()-he<X)}function we(){if(_=!1,ee){var j=t.unstable_now();he=j;var U=!0;try{e:{x=!1,T&&(T=!1,C(J),J=-1),S=!0;var L=b;try{t:{for(G(j),g=n(h);g!==null&&!(g.expirationTime>j&&pe());){var te=g.callback;if(typeof te=="function"){g.callback=null,b=g.priorityLevel;var oe=te(g.expirationTime<=j);if(j=t.unstable_now(),typeof oe=="function"){g.callback=oe,G(j),U=!0;break t}g===n(h)&&r(h),G(j)}else r(h);g=n(h)}if(g!==null)U=!0;else{var E=n(m);E!==null&&ne(I,E.startTime-j),U=!1}}break e}finally{g=null,b=L,S=!1}U=void 0}}finally{U?je():ee=!1}}}var je;if(typeof M=="function")je=function(){M(we)};else if(typeof MessageChannel<"u"){var be=new MessageChannel,Z=be.port2;be.port1.onmessage=we,je=function(){Z.postMessage(null)}}else je=function(){k(we,0)};function ne(j,U){J=k(function(){j(t.unstable_now())},U)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(j){j.callback=null},t.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):X=0<j?Math.floor(1e3/j):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_next=function(j){switch(b){case 1:case 2:case 3:var U=3;break;default:U=b}var L=b;b=U;try{return j()}finally{b=L}},t.unstable_requestPaint=function(){_=!0},t.unstable_runWithPriority=function(j,U){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var L=b;b=j;try{return U()}finally{b=L}},t.unstable_scheduleCallback=function(j,U,L){var te=t.unstable_now();switch(typeof L=="object"&&L!==null?(L=L.delay,L=typeof L=="number"&&0<L?te+L:te):L=te,j){case 1:var oe=-1;break;case 2:oe=250;break;case 5:oe=1073741823;break;case 4:oe=1e4;break;default:oe=5e3}return oe=L+oe,j={id:y++,callback:U,priorityLevel:j,startTime:L,expirationTime:oe,sortIndex:-1},L>te?(j.sortIndex=L,e(m,j),n(h)===null&&j===n(m)&&(T?(C(J),J=-1):T=!0,ne(I,L-te))):(j.sortIndex=oe,e(h,j),x||S||(x=!0,ee||(ee=!0,je()))),j},t.unstable_shouldYield=pe,t.unstable_wrapCallback=function(j){var U=b;return function(){var L=b;b=U;try{return j.apply(this,arguments)}finally{b=L}}}})(np)),np}var PS;function IM(){return PS||(PS=1,tp.exports=PM()),tp.exports}var ip={exports:{}},Yt={};var IS;function HM(){if(IS)return Yt;IS=1;var t=vy();function e(h){var m="https://react.dev/errors/"+h;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)m+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+h+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(e(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},o=Symbol.for("react.portal");function u(h,m,y){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:g==null?null:""+g,children:h,containerInfo:m,implementation:y}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(h,m){if(h==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return Yt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Yt.createPortal=function(h,m){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(e(299));return u(h,m,null,y)},Yt.flushSync=function(h){var m=c.T,y=r.p;try{if(c.T=null,r.p=2,h)return h()}finally{c.T=m,r.p=y,r.d.f()}},Yt.preconnect=function(h,m){typeof h=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,r.d.C(h,m))},Yt.prefetchDNS=function(h){typeof h=="string"&&r.d.D(h)},Yt.preinit=function(h,m){if(typeof h=="string"&&m&&typeof m.as=="string"){var y=m.as,g=f(y,m.crossOrigin),b=typeof m.integrity=="string"?m.integrity:void 0,S=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;y==="style"?r.d.S(h,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:g,integrity:b,fetchPriority:S}):y==="script"&&r.d.X(h,{crossOrigin:g,integrity:b,fetchPriority:S,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},Yt.preinitModule=function(h,m){if(typeof h=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var y=f(m.as,m.crossOrigin);r.d.M(h,{crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&r.d.M(h)},Yt.preload=function(h,m){if(typeof h=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var y=m.as,g=f(y,m.crossOrigin);r.d.L(h,y,{crossOrigin:g,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},Yt.preloadModule=function(h,m){if(typeof h=="string")if(m){var y=f(m.as,m.crossOrigin);r.d.m(h,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else r.d.m(h)},Yt.requestFormReset=function(h){r.d.r(h)},Yt.unstable_batchedUpdates=function(h,m){return h(m)},Yt.useFormState=function(h,m,y){return c.H.useFormState(h,m,y)},Yt.useFormStatus=function(){return c.H.useHostTransitionStatus()},Yt.version="19.2.3",Yt}var HS;function OT(){if(HS)return ip.exports;HS=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),ip.exports=HM(),ip.exports}var FS;function FM(){if(FS)return Ga;FS=1;var t=IM(),e=vy(),n=OT();function r(i){var s="https://react.dev/errors/"+i;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)s+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+i+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function u(i){var s=i,a=i;if(i.alternate)for(;s.return;)s=s.return;else{i=s;do s=i,(s.flags&4098)!==0&&(a=s.return),i=s.return;while(i)}return s.tag===3?a:null}function c(i){if(i.tag===13){var s=i.memoizedState;if(s===null&&(i=i.alternate,i!==null&&(s=i.memoizedState)),s!==null)return s.dehydrated}return null}function f(i){if(i.tag===31){var s=i.memoizedState;if(s===null&&(i=i.alternate,i!==null&&(s=i.memoizedState)),s!==null)return s.dehydrated}return null}function h(i){if(u(i)!==i)throw Error(r(188))}function m(i){var s=i.alternate;if(!s){if(s=u(i),s===null)throw Error(r(188));return s!==i?null:i}for(var a=i,l=s;;){var d=a.return;if(d===null)break;var p=d.alternate;if(p===null){if(l=d.return,l!==null){a=l;continue}break}if(d.child===p.child){for(p=d.child;p;){if(p===a)return h(d),i;if(p===l)return h(d),s;p=p.sibling}throw Error(r(188))}if(a.return!==l.return)a=d,l=p;else{for(var v=!1,w=d.child;w;){if(w===a){v=!0,a=d,l=p;break}if(w===l){v=!0,l=d,a=p;break}w=w.sibling}if(!v){for(w=p.child;w;){if(w===a){v=!0,a=p,l=d;break}if(w===l){v=!0,l=p,a=d;break}w=w.sibling}if(!v)throw Error(r(189))}}if(a.alternate!==l)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?i:s}function y(i){var s=i.tag;if(s===5||s===26||s===27||s===6)return i;for(i=i.child;i!==null;){if(s=y(i),s!==null)return s;i=i.sibling}return null}var g=Object.assign,b=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),x=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),M=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),J=Symbol.for("react.memo"),X=Symbol.for("react.lazy"),he=Symbol.for("react.activity"),pe=Symbol.for("react.memo_cache_sentinel"),we=Symbol.iterator;function je(i){return i===null||typeof i!="object"?null:(i=we&&i[we]||i["@@iterator"],typeof i=="function"?i:null)}var be=Symbol.for("react.client.reference");function Z(i){if(i==null)return null;if(typeof i=="function")return i.$$typeof===be?null:i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case T:return"Fragment";case k:return"Profiler";case _:return"StrictMode";case I:return"Suspense";case ee:return"SuspenseList";case he:return"Activity"}if(typeof i=="object")switch(i.$$typeof){case x:return"Portal";case M:return i.displayName||"Context";case C:return(i._context.displayName||"Context")+".Consumer";case G:var s=i.render;return i=i.displayName,i||(i=s.displayName||s.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case J:return s=i.displayName||null,s!==null?s:Z(i.type)||"Memo";case X:s=i._payload,i=i._init;try{return Z(i(s))}catch{}}return null}var ne=Array.isArray,j=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L={pending:!1,data:null,method:null,action:null},te=[],oe=-1;function E(i){return{current:i}}function q(i){0>oe||(i.current=te[oe],te[oe]=null,oe--)}function H(i,s){oe++,te[oe]=i.current,i.current=s}var Q=E(null),re=E(null),ce=E(null),Te=E(null);function Rt(i,s){switch(H(ce,s),H(re,i),H(Q,null),s.nodeType){case 9:case 11:i=(i=s.documentElement)&&(i=i.namespaceURI)?X0(i):0;break;default:if(i=s.tagName,s=s.namespaceURI)s=X0(s),i=Z0(s,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}q(Q),H(Q,i)}function Je(){q(Q),q(re),q(ce)}function ni(i){i.memoizedState!==null&&H(Te,i);var s=Q.current,a=Z0(s,i.type);s!==a&&(H(re,i),H(Q,a))}function Ti(i){re.current===i&&(q(Q),q(re)),Te.current===i&&(q(Te),qa._currentValue=L)}var xe,Me;function ge(i){if(xe===void 0)try{throw Error()}catch(a){var s=a.stack.trim().match(/\n( *(at )?)/);xe=s&&s[1]||"",Me=-1<a.stack.indexOf(`
|
|
13
|
+
${o.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=new n.class;return t.defaults.set(n.key,u),u.READONLY_VIEW}case"atom_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=n.default,c=u(r);return t.defaults.set(n.key,c),c}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(t.defaults.has(n.key))return t.defaults.get(n.key);const u=n.default(r);return t.defaults.set(n.key,u),u}}}function Nc(t,e){const{type:n,key:r,catch:o}=e;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let u;t.logger.info("🧮",n,r,"computing value");try{u=e.getFrom(t),u instanceof Promise&&(u=u.catch(c=>{if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return c}throw c}))}catch(c){if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return di(t,e,c)}throw c}return di(t,e,u)}case"atom":{let u;if(Br(e.default))try{u=e.default(),u instanceof Promise&&(u=u.catch(c=>{if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return c}throw c}))}catch(c){if(t.logger.error("💥",n,r,"rejected:",c),o){for(const f of o)if(c instanceof f)return u=di(t,e,c),t.logger.info("✨",e.type,r,"computed default",u),u}throw c}else u=e.default,t.logger.info("✨",e.type,r,"using static default",u);return di(t,e,u)}}}function Rs(t,e,n){if(t.valueMap.has(e.key))return yT(t,e,n);t.logger.info("❔",e.type,e.key,"value not found in cache");const{key:r}=e;switch(e.type){case"readonly_held_selector":case"writable_held_selector":return t.logger.info("🧮",e.type,r,"computing value"),e.getFrom(t);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Nc(t,e);case"mutable_atom":{const o=new e.class;return t.logger.info("✨",e.type,r,"created new instance",o),di(t,e,o)}}}function iy(t,e){return ct(t,{key:e.family.key,type:`${e.type}_family`})}const $S={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"},ul=Symbol("MUST_CREATE"),uM=Symbol("DO_NOT_CREATE");function cl(t,e,n,r){const o=zt(r),u=e.molecules.get(o);if(!u&&e.config.lifespan==="immortal"){const{type:f,key:h}=n;return e.logger.warn("💣","key",o,"was used to mint a counterfeit token for",f,`"${h}"`),{counterfeit:!0,key:`${h}(${o})`,type:$S[f],family:{key:h,subKey:o}}}let c;if(t===ul)e.logger.info("👪",n.type,n.key,"adds member",typeof r=="string"?`\`${r}\``:r),c=n.create(r),u&&e.moleculeData.set(o,n.key);else{const{type:f,key:h}=n;return{key:`${h}(${o})`,type:$S[f],family:{key:h,subKey:o}}}return c}function ry(t,...e){let n,r,o,u,c;if(e.length===1){if(c=e[0],"family"in c){const h=iy(t,c);if(o=ct(t,h),u=qr(c.family.subKey),n=fl(t,h,u),"counterfeit"in c)return{token:c,family:o,subKey:u,isNew:!1};n?c=n:(r=cl(ul,t,h,u),c=r)}}else o=ct(t,e[0]),u=e[1],n=fl(t,o,u),n?c=n:(r=cl(ul,t,o,u),c=r);const f="counterfeit"in c;if(r&&f===!1&&o){let h;switch(c.type){case"readonly_pure_selector":case"readonly_held_selector":h="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":h="writable";break}const m={type:"state_creation",subType:h,token:c,timestamp:Date.now()};o.subject.next(m);const y=Re(t);if(c.family)if(ll(y))switch(c.type){case"atom":case"mutable_atom":t.on.atomCreation.next(c);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":t.on.selectorCreation.next(c);break}else Tn(y)&&y.on.transactionApplying.state===null&&y.transactionMeta.update.subEvents.push(m)}return{token:c,family:o,subKey:u,isNew:!!r}}function An(t,...e){const{token:n,family:r,subKey:o}=ry(t,...e);return"counterfeit"in n&&r&&o?rT(t,n,r,o):Rs(t,ct(t,n))}function fl(t,e,n){const r=zt(n),o=`${e.key}(${r})`,u=Re(t);let c;switch(e.type){case"atom_family":case"mutable_atom_family":c=u.atoms.get(o);break;case"writable_held_selector_family":case"writable_pure_selector_family":c=u.writableSelectors.get(o);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":c=u.readonlySelectors.get(o);break}return c&&zr(c)}function Pr(t,e,n){const r=ct(t,e),o=fl(t,e,n);return o||cl(uM,t,r,n)}function $c(t,e,n){const r=e.key,o="readonly_pure_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`,x=Re(t),T={key:S,get:e.get(y)};return e.catch&&(T.catch=e.catch),cy(x,T,b)},internalRoles:n,subject:f,install:y=>$c(y,e),default:y=>e.get(y)({get:((...g)=>An(t,...g)),find:((...g)=>Pr(t,...g)),json:g=>ks(t,g)})};return t.families.set(r,m),u}function sy(t,e,n){const r={key:e.key,type:"atom_family"},o=t.families.get(e.key);o&&t.config.isProduction===!0&&t.logger.error("❗","atom_family",e.key,`Overwriting an existing ${Kr[o.type]} "${o.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const u=new We,f={...r,create:h=>{const m=zt(h),y={key:e.key,subKey:m},g=`${e.key}(${m})`,b=Re(t),S=e.default,x={key:g,default:Br(S)?()=>S(h):S};return e.effects&&(x.effects=e.effects(h)),e.catch&&(x.catch=e.catch),ff(b,x,y)},default:e.default,subject:u,install:h=>sy(h,e),internalRoles:n};return t.families.set(e.key,f),Br(e.default)===!1&&t.defaults.set(e.key,e.default),r}function sT(t,e,n){const r=e.key,o="readonly_held_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`;return uy(Re(t),{key:S,const:e.const(y),get:e.get(y)},b)},internalRoles:n,subject:f,install:y=>sT(y,e),default:e.const};return t.families.set(r,m),u}function oT(t,e,n){const r=e.key,o="writable_held_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`;return fy(Re(t),{key:S,const:e.const(y),get:e.get(y),set:e.set(y)},b)},internalRoles:n,subject:f,install:y=>oT(y,e),default:e.const};return t.families.set(r,m),u}function oy(t,e,n){const r=e.key,o="writable_pure_selector_family",u={key:r,type:o},c=t.families.get(r);c&&t.config.isProduction===!0&&t.logger.error("❗",o,r,`Overwriting an existing ${Kr[c.type]} "${c.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const f=new We,m={...u,create:y=>{const g=zt(y),b={key:r,subKey:g},S=`${r}(${g})`,x=Re(t),T={key:S,get:e.get(y),set:e.set(y)};return e.catch&&(T.catch=e.catch),dy(x,T,b)},internalRoles:n,subject:f,install:y=>oy(y,e),default:y=>e.get(y)({get:((...g)=>An(t,...g)),find:((...g)=>Pr(t,...g)),json:g=>ks(t,g)})};return t.families.set(r,m),u}function cM(t,e){const n="set"in e,r="const"in e;return r&&n?oT(t,e,void 0):r?sT(t,e,void 0):n?oy(t,e):$c(t,e)}function lf(t,...e){let n;if(e.length===1)n=e[0];else{const r=e[0],o=e[1];n=Pr(t,r,o)}try{ct(t,n)}catch{t.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${t.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":gy(t,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":vM(t,n);break}}function aT(t,e){if(t.operation.open){const n=performance.now();return t.logger.info("🚫",e.type,e.key,`deferring setState at T-${n} until setState for "${t.operation.token.key}" is done`),n}return t.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:e,subEvents:[]},t.logger.info("⭕",e.type,e.key,`operation start in store "${t.config.name}"${Tn(t)?` ${t.transactionMeta.phase} "${t.transactionMeta.update.token.key}"`:""}`),t}function lT(t){t.operation.open&&t.logger.info("🔴",t.operation.token.type,t.operation.token.key,`operation done in store "${t.config.name}"`),t.operation={open:!1},t.on.operationClose.next(t.operation)}const uT=(t,e)=>t.operation.open?t.operation.done.has(e):(t.logger.error("🐞","unknown",e,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),uf=(t,e)=>{if(!t.operation.open){t.logger.error("🐞","unknown",e,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}t.operation.done.add(e)};function Hp(t,e,n,r,o){const{oldValue:u,newValue:c}=n,f="oldValue"in n,h=zr(e);if(r&&o){e.subject.next({newValue:c});const S={checkpoint:!0,type:"state_creation",subType:"writable",token:h,timestamp:Date.now(),value:c};t.operation.subEvents.push(S),o.subject.next(S);const x=Re(t);if(h.family)if(ll(x))switch(h.type){case"atom":case"mutable_atom":t.on.atomCreation.next(h);break;case"writable_pure_selector":case"writable_held_selector":t.on.selectorCreation.next(h);break}else Tn(x)&&x.on.transactionApplying.state===null&&x.transactionMeta.update.subEvents.push(S);return}const{key:m,subject:y,type:g}=e;let b;if(f?b={oldValue:ic(u)?u.READONLY_VIEW:u,newValue:ic(c)?c.READONLY_VIEW:c}:b={newValue:ic(c)?c.READONLY_VIEW:c},ll(t)){switch(g){case"mutable_atom":t.logger.info("📢",g,m,"is now (",c,") subscribers:",y.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":t.logger.info("📢",g,m,"went (",u,"->",c,") subscribers:",y.subscribers.keys())}y.next(b)}if(Tn(t)&&(g==="mutable_atom"||g==="atom")){if(t.on.transactionApplying.state===null){if(ic(c))return;const{timestamp:S}=t.operation,x={type:"atom_update",token:h,timestamp:S,update:b};t.transactionMeta.update.subEvents.push(x),t.logger.info("📁","atom",m,"stowed (",u,"->",c,")");return}if(yy(e,"tracker:signal")){const S=m.slice(1),x=t.atoms.get(S);Rs(t,x,"mut").do(b.newValue)===null&&my(t,x)}}}const jS=Symbol("UNSET"),Fp=(t,e,n)=>{let r,o;if(Br(n)){const u=Rs(t,e,"mut");r=u,o=n(u)}else t.valueMap.has(e.key)?r=yT(t,e,"mut"):e.type==="atom"&&!Br(e.default)?r=e.default:r=jS,o=n;return t.logger.info("⭐","atom",e.key,"setting value",o),o=di(t,e,o),uf(t,e.key),my(t,e),r===jS?{newValue:o}:{oldValue:r,newValue:o}};function Qh(t,e){switch(e.type){case"mutable_atom":return Fp(t,e,new e.class);case"atom":{let n;return Br(e.default)?n=Nc(t,e):n=e.default,Fp(t,e,n)}}}function fM(t,e){let n;switch(e.type){case"atom":case"mutable_atom":n=Qh(t,e);break;case"writable_held_selector":{const r=dl(t,e.key);for(const u of r.values())Hp(t,e,Qh(t,u),!1);const o=e.getFrom(t);n={oldValue:o,newValue:o}}break;case"writable_pure_selector":{const r=Nc(t,e),o=dl(t,e.key);for(const u of o.values())Hp(t,e,Qh(t,u),!1);n={oldValue:r,newValue:Nc(t,e)}}break}return n}function Lt(t,...e){Tl(Yp,t,...e)}const Gp=Symbol("RESET");function ay(t,...e){Lt(t,...e,Gp)}function dM(t,e,n){let r,o,u;const{type:c,key:f}=e;switch(e.type){case"writable_pure_selector":r=Rs(t,e,"mut"),o=DS(n,r),o=di(t,e,o);break;case"writable_held_selector":u=e.const,DS(n,u),r=u,o=u}return t.logger.info("⭐",c,f,"setting to",o),uf(t,f),e.setSelf(o),{oldValue:r,newValue:o}}const hM=(t,e,n)=>{let r;switch(e.type){case"atom":case"mutable_atom":r=Fp(t,e,n);break;case"writable_pure_selector":case"writable_held_selector":r=dM(t,e,n);break}return r},Yp=Symbol("OWN_OP"),ly=Symbol("JOIN_OP");function Tl(t,e,...n){let r,o,u,c,f,h;n.length===2?(u=n[0],h=n[1],"family"in u&&(c=iy(e,u),f=qr(u.family.subKey),r=fl(e,c,f),r?u=r:u=o=cl(ul,e,c,f))):(c=ct(e,n[0]),f=n[1],h=n[2],r=fl(e,c,f),r?u=r:u=o=cl(ul,e,c,f));const m=h===Gp?"reset":"set";let y;if(t===Yp){const S=aT(e,u);if(typeof S=="number"){const x=S,T=e.on.operationClose.subscribe(`waiting to ${m} "${u.key}" at T-${x}`,function(){T(),e.logger.info("🟢",u.type,u.key,"resuming deferred",m,`from T-${x}`),Tl(t,e,u,h)});return}y=S}else y=e;if("counterfeit"in u&&"family"in u){const S=u.family.subKey,x=e.disposalTraces.buffer.find(T=>T?.key===S);e.logger.error("❌",u.type,u.key,"could not be",m,"because key",S,"is not allocated.",x?`this key was previously disposed:${x.trace}`:"(no previous disposal trace found)");return}const g=ct(y,u);let b;h===Gp?b=fM(y,g):b=hM(y,g,h),Hp(y,g,b,!!o,c),t===Yp&&lT(y)}const cT=(t,e)=>Re(t).atoms.has(e),pM=(t,e)=>Re(t).writableSelectors.has(e),mM=(t,e)=>Re(t).readonlySelectors.has(e),yM=(t,e)=>cT(t,e)||pM(t,e)||mM(t,e);function BS(t,e){return Re(t).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([n,{source:r}])=>r!==e).map(([n,{source:r}])=>r).filter(n=>yM(t,n))}function dl(t,e,n=new Set){const r=BS(t,e),o=new Map;for(;r.length>0;){const u=r.pop();if(!n.has(u))if(n.add(u),cT(t,u)){const c=t.atoms.get(u);o.set(c.key,c)}else r.push(...BS(t,u))}return o}function gM(t,e,n,r,o){const u=Re(t),{type:c,key:f}=r;if(c==="atom"||c==="mutable_atom")u.selectorAtoms.set({selectorKey:n,atomKey:f}),t.logger.info("🔍",e,n,`discovers root atom "${f}"`);else{const h=dl(t,f,o);t.logger.info("🔍",e,n,`discovers root atoms: [ ${[...h.values()].map(m=>`"${m.key}"`).join(", ")} ]`);for(const{key:m}of h.values())u.selectorAtoms=u.selectorAtoms.set({selectorKey:n,atomKey:m})}o.add(f)}function cf(t,e,n,r){return{get:(...o)=>{const u=Re(t),{token:c,family:f,subKey:h}=ry(t,...o);let m;return"counterfeit"in c&&f&&h?m=rT(t,c,f,h):m=Rs(t,ct(t,c)),t.logger.info("🔌",e,n,`registers dependency ( "${c.key}" =`,m,")"),u.selectorGraph.set({upstreamSelectorKey:c.key,downstreamSelectorKey:n},{source:c.key}),gM(t,e,n,c,r),m},set:((...o)=>{Tl(ly,Re(t),...o)}),find:((...o)=>Pr(t,...o)),json:o=>ks(t,o)}}function uy(t,e,n){const r=Re(t),o=new We,u=new Set,{key:c,const:f}=e,h="readonly_held_selector";t.logger.info("🔨",h,c,"is being created");const{get:m,find:y,json:g}=cf(r,h,c,u),S={...e,type:h,subject:o,getFrom:T=>{const _=T.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[k,{source:C}]of _)C!==c&&T.selectorGraph.delete(k,c);return T.selectorAtoms.delete(c),e.get({get:m,find:y,json:g},f),di(T,S,f),t.logger.info("✨",h,c,"=",f),u.clear(),f},install:T=>uy(T,e,n)};n&&(S.family=n),r.readonlySelectors.set(c,S);const x={key:c,type:h};return n&&(x.family=n),x}function cy(t,e,n){const r=Re(t),o=new We,u=new Set,c=e.key,f="readonly_pure_selector";t.logger.info("🔨",f,c,"is being created");const{get:h,find:m,json:y}=cf(r,f,c,u),b={...e,type:f,subject:o,getFrom:()=>{const x=Re(t),T=x.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[k,{source:C}]of T)C!==c&&x.selectorGraph.delete(k,c);x.selectorAtoms.delete(c);const _=e.get({get:h,find:m,json:y});return t.logger.info("✨",f,c,"=",_),u.clear(),_},install:x=>cy(x,e,n)};n&&(b.family=n),r.readonlySelectors.set(c,b);const S={key:c,type:f};return n&&(S.family=n),S}function fy(t,e,n){const r=Re(t),o=new We,u=new Set,{key:c,const:f}=e,h="writable_held_selector";t.logger.info("🔨",h,c,"is being created");const m=cf(r,h,c,u),{find:y,get:g,json:b}=m,S={find:y,get:g,json:b},_={...e,type:h,subject:o,getFrom:C=>{const M=C.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[G,{source:I}]of M)I!==c&&C.selectorGraph.delete(G,c);return C.selectorAtoms.delete(c),e.get(S,f),di(C,_,f),t.logger.info("✨",h,c,"=",f),u.clear(),f},setSelf:()=>{e.set(m,f)},install:C=>fy(C,e,n)};n&&(_.family=n),r.writableSelectors.set(c,_);const k={key:c,type:h};return n&&(k.family=n),k}function dy(t,e,n){const r=Re(t),o=new We,u=new Set,c=e.key,f="writable_pure_selector";t.logger.info("🔨",f,c,"is being created");const h=cf(r,f,c,u),{find:m,get:y,json:g}=h,b={find:m,get:y,json:g},T={...e,type:f,subject:o,getFrom:k=>{const C=k.selectorGraph.getRelationEntries({downstreamSelectorKey:c});for(const[G,{source:I}]of C)I!==c&&k.selectorGraph.delete(G,c);k.selectorAtoms.delete(c);const M=e.get(b);return t.logger.info("✨",f,c,"=",M),u.clear(),M},setSelf:k=>{e.set(h,k)},install:k=>dy(k,e,n)};n&&(T.family=n),r.writableSelectors.set(c,T);const _={key:c,type:f};return n&&(_.family=n),_}function fT(t,e){const n="set"in e,r="const"in e;if(r&&n){const u=fy(t,e,void 0);return t.on.selectorCreation.next(u),u}if(r){const u=uy(t,e,void 0);return t.on.selectorCreation.next(u),u}if(n){const u=dy(t,e,void 0);return t.on.selectorCreation.next(u),u}const o=cy(t,e,void 0);return t.on.selectorCreation.next(o),o}function vM(t,e){const n=Re(t),{key:r,type:o,family:u}=e;if(!u)t.logger.error("❌",o,r,"Standalone selectors cannot be disposed.");else{n.molecules.get(u.subKey)&&n.moleculeData.delete(u.subKey,u.key);let c;switch(e.type){case"writable_held_selector":n.writableSelectors.delete(r),c={key:u.key,type:"writable_held_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(r),c={key:u.key,type:"writable_pure_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(r),c={key:u.key,type:"readonly_held_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(r),c={key:u.key,type:"readonly_pure_selector_family"},ct(t,c).subject.next({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()});break}n.valueMap.delete(r),n.selectorAtoms.delete(r),n.selectorGraph.delete(r),n.moleculeData.delete(u.key,u.subKey),t.logger.info("🔥",e.type,r,"deleted"),Tn(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:e,timestamp:Date.now()}):t.on.selectorDisposal.next(e)}}const bM=(t,e)=>{const n=Re(t);return n.operation.open?n.operation.prev.get(e.key):n.valueMap.get(e.key)},zS=(t,e,n)=>n.subject.subscribe(`${e.type}:${e.key}`,r=>{t.logger.info("📢",e.type,e.key,"root",n.key,"went",r.oldValue,"->",r.newValue);const o=bM(t,e),u=Rs(t,e);t.logger.info("✨",e.type,e.key,"went",o,"->",u),e.subject.next({newValue:u,oldValue:o})});function Ts(t,e,n,r){function o(g){t.operation.open&&u?.type==="atom"&&yy(u,"tracker:signal")&&"*"+t.operation.token.key===e.key&&"inboundTracker"in r||r(g)}ry(t,e);const u=ct(t,e);t.logger.info("👀",u.type,u.key,`Adding subscription "${n}"`);const c=u.type==="writable_pure_selector"||u.type==="readonly_pure_selector",f=new Map;let h=o;if(c){Rs(t,u);for(const[g,b]of dl(t,u.key))f.set(g,zS(t,u,b));h=function(b){const S=dl(t,u.key);for(const[x,T]of f)S.get(x)?S.delete(x):(T(),f.delete(x));for(const[x,T]of S)f.set(x,zS(t,u,T));o(b)}}const m=u.subject.subscribe(n,h);return()=>{t.logger.info("🙈",u.type,u.key,`Removing subscription "${n}"`),m();for(const g of f.values())g()}}const dT=(t,e,n,r)=>{const o=ct(t,e);t.logger.info("👀","timeline",e.key,`Adding subscription "${n}"`);const u=o.subject.subscribe(n,r);return()=>{t.logger.info("🙈","timeline",e.key,`Removing subscription "${n}" from timeline`),u()}},hT=(t,e,n,r)=>{const o=ct(t,e);t.logger.info("👀","transaction",e.key,`Adding subscription "${n}"`);const u=o.subject.subscribe(n,r);return()=>{t.logger.info("🙈","transaction",e.key,`Removing subscription "${n}"`),u()}};function SM(t,e,n,r=af()){switch(e.type){case"atom":case"mutable_atom":case"readonly_pure_selector":case"readonly_held_selector":case"writable_pure_selector":case"writable_held_selector":return Ts(t,e,r,n);case"transaction":return hT(t,e,r,n);case"timeline":return dT(t,e,r,n)}}var hy=class{initializeSignalAtom(t,e){const n=`*${t.key}`;e.atoms.delete(n),e.valueMap.delete(n);const r=t.family?{key:`*${t.family.key}`,subKey:t.family.subKey}:void 0,o=ff(e,{key:n,default:null},r,["tracker:signal"]);if(e.parent?.valueMap.has(n)){const u=e.parent.valueMap.get(n);e.valueMap.set(n,u)}return o}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(t,e,n){const r=t.key,o=`tracker-from-core:${n.config.name}:${Tn(n)?n.transactionMeta.update.token.key:"main"}:${r}`,u=c=>{Tl(ly,n,e,c)};this.unsubscribeFromInnerValue=An(n,t).subscribe(o,u),this.unsubscribeFromState=Ts(n,t,o,(function(f){f.newValue!==f.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=f.newValue.subscribe(o,u))}).bind(this))}supplySignalsToCore(t,e,n){const r=t.key,o=`tracker-to-core:${n.config.name}:${Tn(n)?n.transactionMeta.update.token.key:"main"}:${r}`;Ts(n,e,o,Object.assign(function({newValue:c,oldValue:f}){const h=n.timelineTopics.getRelatedKey(e.key);if(h&&n.timelines.get(h)?.timeTraveling){const m=dT(n,{key:h,type:"timeline"},o,function(g){m(),Lt(n,t,b=>(g==="redo"&&c?b.do(c):g==="undo"&&f&&b.undo(f),b))});return}Lt(n,t,m=>(m.do(c),m))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(t,e){const n=Re(e),r=this.initializeSignalAtom(t,n);this.mutableAtomToken=t,this.latestSignalToken=r,this.captureSignalsFromCore(t,r,n),this.supplySignalsToCore(t,r,n),n.trackers.set(t.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(t.key)}}};function py(t,e,n){t.logger.info("🔨","atom",e.key,`creating in store "${t.config.name}"`);const r=Re(t),{key:o}=e,u=r.atoms.get(o),c="mutable_atom";if(u?.type===c&&t.config.isProduction===!0)return t.logger.error("❌",c,o,"Tried to create atom, but it already exists in the store."),zr(u);const f=new We,h={...e,type:c,install:y=>(y.logger.info("🛠️","atom",o,`installing in store "${y.config.name}"`),py(y,e,n)),subject:f};n&&(h.family=n),r.atoms.set(h.key,h);const m=zr(h);if(new hy(m,t),n||fT(t,{key:`${o}:JSON`,get:({get:y})=>y(m).toJSON(),set:({set:y},g)=>{y(m,e.class.fromJSON(g))}}),e.effects){let y=0;const g=[];for(const b of e.effects){const S=b({resetSelf:()=>{ay(t,m)},setSelf:x=>{Lt(t,m,x)},onSet:x=>Ts(t,m,`effect[${y}]`,x),token:m,store:Wm(t)});S&&g.push(S),++y}h.cleanup=()=>{for(const b of g)b()}}return t.on.atomCreation.next(m),m}var wM=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(t,e){this.latestSignalAtoms=ct(e,sy(e,{key:`*${t.key}`,default:null},["mutable","updates"])),this.mutableAtoms=t;const n=r=>{const{type:o,token:u}=r;if(u.family){const c=qr(u.family.subKey);switch(o){case"state_creation":this.trackers.set(c,new hy(u,e));break;case"state_disposal":{const f=this.trackers.get(c);f&&(f[Symbol.dispose](),this.trackers.delete(c))}}}};this.mutableAtoms.subject.subscribe(`store=${e.config.name}::tracker-atom-family`,n)}};function pT(t,e,n){const r={key:e.key,type:"mutable_atom_family"},o=t.families.get(e.key);o&&t.config.isProduction===!0&&t.logger.error("❗","mutable_atom_family",e.key,`Overwriting an existing ${Kr[o.type]} "${o.key}" in store "${t.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const u=new We,f={...r,create:h=>{const m=zt(h),y={key:e.key,subKey:m},g=`${e.key}(${m})`,b=Re(t),S={key:g,class:e.class};return e.effects&&(S.effects=e.effects(h)),py(b,S,y)},class:e.class,subject:u,install:h=>pT(h,e),internalRoles:n};return t.families.set(e.key,f),oy(t,{key:`${e.key}:JSON`,get:h=>({get:m})=>m(r,h).toJSON(),set:h=>({set:m},y)=>{m(r,h,e.class.fromJSON(y))}},["mutable","json"]),new wM(f,t),r}const xM=(t,e)=>{const n=Re(e),r=`${t.key}:JSON`;return n.families.get(r)},ks=(t,e)=>e.family?Pr(t,ct(Re(t),{key:`${e.family.key}:JSON`,type:"writable_pure_selector_family"}),qr(e.family.subKey)):{type:"writable_pure_selector",key:`${e.key}:JSON`},mT=t=>{const e={type:"atom",key:`*${t.key}`};return t.family&&(e.family={key:`*${t.family.key}`,subKey:t.family.subKey}),e};function ic(t){return typeof t=="object"&&t!==null&&"do"in t&&"undo"in t&&"subscribe"in t&&"READONLY_VIEW"in t&&"toJSON"in t}function di(t,e,n){const{key:r,subject:o,type:u}=e,c=t.valueMap.get(r);if(c instanceof Ip&&!c.done){const f=c;return n instanceof Promise?(f.use(n),f):(t.valueMap.set(r,n),n)}if(n instanceof Promise){const f=new Ip(n);return t.valueMap.set(r,f),f.then(function(m){if(t.valueMap.get(r)===f){switch(aT(t,e),di(t,e,m),u){case"atom":my(t,e);break;case"readonly_pure_selector":case"writable_pure_selector":vT(t,r);break}lT(t),o.next({newValue:m,oldValue:f})}}).catch(h=>{t.logger.error("💥",e.type,r,"rejected:",h)}),f}return t.logger.info("📝",e.type,e.key,"writing to cache",n),t.valueMap.set(r,n),n}function yT(t,e,n){t.logger.info("📖",e.type,e.key,"reading cached value");let r=t.valueMap.get(e.key);if(n==="mut"&&e.type==="mutable_atom"&&Tn(t)){const o=e,{parent:u}=t;if(t.valueMap.hasOwn(o.key))return r;const c=u.valueMap.get(o.key);t.logger.info("📃","atom",o.key,"copying");const f=c.toJSON(),h=o.class.fromJSON(f);t.valueMap.set(o.key,h),new hy(o,u),r=h}return r}function gT(t,e){const n=t.valueMap.get(e);n instanceof Ip||(t.operation.open&&t.operation.prev.set(e,n),t.valueMap.delete(e),t.logger.info("🗑","state",e,"evicted"))}function my(t,e){const n=Re(t),{key:r,type:o}=e,u=n.selectorAtoms.getRelatedKeys(r);if(n.logger.info("🧹",o,r,u?`evicting ${u.size} states downstream:`:"no downstream states",u??"to evict"),u){n.operation.open&&n.logger.info("🧹",o,r,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const c of u)uT(n,c)||(gT(n,c),uf(n,c))}}function vT(t,e){const n=Re(t),r=n.selectorGraph.getRelationEntries({upstreamSelectorKey:e}).filter(([o,{source:u}])=>u===e);for(const[o]of r)uT(n,o)||(gT(n,o),uf(n,o),vT(t,o))}function ff(t,e,n,r){const o="atom",{key:u}=e;t.logger.info("🔨",o,u,"is being created");const c=Re(t),f=c.atoms.get(u);if(f?.type===o&&t.config.isProduction===!0)return t.logger.error("❌","atom",u,"Tried to create atom, but it already exists in the store."),zr(f);const h=new We,m={...e,type:o,install:g=>(g.logger.info("🛠️",o,u,`installing in store "${g.config.name}"`),ff(g,e,n)),subject:h};n&&(m.family=n),r&&(m.internalRoles=r),c.atoms.set(u,m);const y=zr(m);if(e.effects){let g=0;const b=[];for(const S of e.effects){const x=S({resetSelf:()=>{ay(t,y)},setSelf:T=>{Lt(t,y,T)},onSet:T=>Ts(t,y,`effect[${g}]`,T),token:y,store:Wm(t)});x&&b.push(x),++g}m.cleanup=()=>{for(const S of b)S()}}return t.on.atomCreation.next(y),y}function yy(t,e){return"internalRoles"in t?t.internalRoles.includes(e):!1}function gy(t,e){const n=Re(t),{key:r,family:o}=e,u=ct(n,e);if(!o)t.logger.error("❌","atom",r,"Standalone atoms cannot be disposed.");else{u.cleanup?.();const c=t.valueMap.get(u.key),f=ct(t,iy(t,e)).subject,h={type:"state_disposal",subType:"atom",token:e,value:c,timestamp:Date.now()};f.next(h);const m=Tn(n);if(n.atoms.delete(r),n.valueMap.delete(r),n.selectorAtoms.delete(r),n.atomsThatAreDefault.delete(r),n.moleculeData.delete(o.key,o.subKey),t.timelineTopics.delete(r),e.type==="mutable_atom"&&(gy(t,mT(e)),t.trackers.delete(r)),t.logger.info("🔥","atom",r,"deleted"),m&&n.transactionMeta.phase==="building"){const y=n.transactionMeta.update.subEvents.at(-1),g=y?.type==="molecule_disposal"&&y.values.some(([S])=>S===u.family?.key),b=yy(u,"tracker:signal");!g&&!b&&n.transactionMeta.update.subEvents.push(h)}else t.on.atomDisposal.next(e)}}function hs(t){return t[0].toUpperCase()+t.slice(1)}var bT=class{toolkit;options;relations;states;relatedKeysAtoms;transact(t,e){const n=this.toolkit;this.toolkit=t,e(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(t,e){this.store=t,this.options=e,this.store.miscResources.set(`join:${e.key}`,this),this.toolkit={get:((...y)=>An(t,...y)),set:((...y)=>{Lt(t,...y)}),find:((...y)=>Pr(t,...y)),json:y=>ks(t,y)};const n=e.between[0],r=e.between[1],o=pT(t,{key:`${e.key}/relatedKeys`,class:Y1},["join","relations"]);this.relatedKeysAtoms=o;const u=(y,g,b)=>{const{find:S,get:x,set:T}=y,_=S(o,g),k=x(_);for(const C of k)b.includes(C)||T(o,C,M=>(M.delete(g),M));T(_,C=>{C.clear();for(const M of b){const G=S(o,M),I=x(G),ee=I.has(g);if(this.relations.cardinality==="1:n"){const J=[];for(const X of I){if(X===g)continue;let he;Tl(ly,this.store,o,X,pe=>(pe.delete(M),he=pe.size,pe)),he===0&&J.push(X)}!ee&&I.size>0&&T(G,X=>(X.clear(),X));for(const X of J)t.keyRefsInJoins.delete(vc(M,X))}ee||T(G,J=>(J.add(g),J)),C.add(M)}return C})},c=(y,g,b)=>{const{set:S}=y;S(o,g,x=>{for(const T of b)x.add(T);return x});for(const x of b)S(o,x,T=>(T.add(g),T));return!0},f=new Pi(e,{externalStore:{getRelatedKeys:y=>this.toolkit.get(o,y),addRelation:(y,g)=>{this.store.keyRefsInJoins.set(`"${y}"`,e.key),this.store.keyRefsInJoins.set(`"${g}"`,e.key),this.store.keyRefsInJoins.set(vc(y,g),e.key),this.toolkit.set(o,y,b=>b.add(g)),this.toolkit.set(o,g,b=>b.add(y))},deleteRelation:(y,g)=>{this.toolkit.set(o,y,S=>(S.delete(g),S)),this.toolkit.set(o,g,S=>(S.delete(y),S));const b=vc(y,g);this.store.keyRefsInJoins.delete(b)},replaceRelationsSafely:(y,g)=>{u(this.toolkit,y,g)},replaceRelationsUnsafely:(y,g)=>{c(this.toolkit,y,g)},has:(y,g)=>{const b=this.toolkit.get(o,y);return g?b.has(g):b.size>0}},isAType:e.isAType,isBType:e.isBType}),h=()=>$c(t,{key:`${e.key}/singleRelatedKey`,get:y=>({get:g})=>{const b=g(o,y);for(const S of b)return S;return null}},["join","keys"]),m=()=>$c(t,{key:`${e.key}/multipleRelatedKeys`,get:y=>({get:g})=>g(xM(o,t),y)},["join","keys"]);switch(e.cardinality){case"1:1":{const y=h(),g=`${n}KeyOf${hs(r)}`,b=`${r}KeyOf${hs(n)}`;this.relations=f,this.states={[g]:y,[b]:y};break}case"1:n":{const y=h(),g=m(),b=`${n}KeyOf${hs(r)}`,S=`${r}KeysOf${hs(n)}`,x={[b]:y,[S]:g};this.relations=f,this.states=x;break}case"n:n":{const y=m(),g=`${n}KeysOf${hs(r)}`,b=`${r}KeysOf${hs(n)}`;this.relations=f,this.states={[g]:y,[b]:y}}}}};function TM(t,e){return t.joins.set(e.key,new bT(t,e)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function AM(t,e){let n=t.joins.get(e.key);if(n===void 0){const r=Ft.STORE.joins.get(e.key);if(r===void 0)throw new Error(`Join "${e.key}" not found in store "${t.config.name}"`);n=new bT(Wm(t),r.options),t.joins.set(e.key,n)}return n}function EM(t,e,n){const r=AM(t,e);return[r.relatedKeysAtoms,r.relatedKeysAtoms]}var Wh={exports:{}},ye={};var LS;function OM(){if(LS)return ye;LS=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),b=Symbol.iterator;function S(E){return E===null||typeof E!="object"?null:(E=b&&E[b]||E["@@iterator"],typeof E=="function"?E:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,_={};function k(E,q,H){this.props=E,this.context=q,this.refs=_,this.updater=H||x}k.prototype.isReactComponent={},k.prototype.setState=function(E,q){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,q,"setState")},k.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function C(){}C.prototype=k.prototype;function M(E,q,H){this.props=E,this.context=q,this.refs=_,this.updater=H||x}var G=M.prototype=new C;G.constructor=M,T(G,k.prototype),G.isPureReactComponent=!0;var I=Array.isArray;function ee(){}var J={H:null,A:null,T:null,S:null},X=Object.prototype.hasOwnProperty;function he(E,q,H){var Q=H.ref;return{$$typeof:t,type:E,key:q,ref:Q!==void 0?Q:null,props:H}}function pe(E,q){return he(E.type,q,E.props)}function we(E){return typeof E=="object"&&E!==null&&E.$$typeof===t}function je(E){var q={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(H){return q[H]})}var be=/\/+/g;function Z(E,q){return typeof E=="object"&&E!==null&&E.key!=null?je(""+E.key):q.toString(36)}function ne(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(ee,ee):(E.status="pending",E.then(function(q){E.status==="pending"&&(E.status="fulfilled",E.value=q)},function(q){E.status==="pending"&&(E.status="rejected",E.reason=q)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function j(E,q,H,Q,re){var ce=typeof E;(ce==="undefined"||ce==="boolean")&&(E=null);var Te=!1;if(E===null)Te=!0;else switch(ce){case"bigint":case"string":case"number":Te=!0;break;case"object":switch(E.$$typeof){case t:case e:Te=!0;break;case y:return Te=E._init,j(Te(E._payload),q,H,Q,re)}}if(Te)return re=re(E),Te=Q===""?"."+Z(E,0):Q,I(re)?(H="",Te!=null&&(H=Te.replace(be,"$&/")+"/"),j(re,q,H,"",function(ni){return ni})):re!=null&&(we(re)&&(re=pe(re,H+(re.key==null||E&&E.key===re.key?"":(""+re.key).replace(be,"$&/")+"/")+Te)),q.push(re)),1;Te=0;var Rt=Q===""?".":Q+":";if(I(E))for(var Je=0;Je<E.length;Je++)Q=E[Je],ce=Rt+Z(Q,Je),Te+=j(Q,q,H,ce,re);else if(Je=S(E),typeof Je=="function")for(E=Je.call(E),Je=0;!(Q=E.next()).done;)Q=Q.value,ce=Rt+Z(Q,Je++),Te+=j(Q,q,H,ce,re);else if(ce==="object"){if(typeof E.then=="function")return j(ne(E),q,H,Q,re);throw q=String(E),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return Te}function U(E,q,H){if(E==null)return E;var Q=[],re=0;return j(E,Q,"","",function(ce){return q.call(H,ce,re++)}),Q}function L(E){if(E._status===-1){var q=E._result;q=q(),q.then(function(H){(E._status===0||E._status===-1)&&(E._status=1,E._result=H)},function(H){(E._status===0||E._status===-1)&&(E._status=2,E._result=H)}),E._status===-1&&(E._status=0,E._result=q)}if(E._status===1)return E._result.default;throw E._result}var te=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},oe={map:U,forEach:function(E,q,H){U(E,function(){q.apply(this,arguments)},H)},count:function(E){var q=0;return U(E,function(){q++}),q},toArray:function(E){return U(E,function(q){return q})||[]},only:function(E){if(!we(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return ye.Activity=g,ye.Children=oe,ye.Component=k,ye.Fragment=n,ye.Profiler=o,ye.PureComponent=M,ye.StrictMode=r,ye.Suspense=h,ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=J,ye.__COMPILER_RUNTIME={__proto__:null,c:function(E){return J.H.useMemoCache(E)}},ye.cache=function(E){return function(){return E.apply(null,arguments)}},ye.cacheSignal=function(){return null},ye.cloneElement=function(E,q,H){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var Q=T({},E.props),re=E.key;if(q!=null)for(ce in q.key!==void 0&&(re=""+q.key),q)!X.call(q,ce)||ce==="key"||ce==="__self"||ce==="__source"||ce==="ref"&&q.ref===void 0||(Q[ce]=q[ce]);var ce=arguments.length-2;if(ce===1)Q.children=H;else if(1<ce){for(var Te=Array(ce),Rt=0;Rt<ce;Rt++)Te[Rt]=arguments[Rt+2];Q.children=Te}return he(E.type,re,Q)},ye.createContext=function(E){return E={$$typeof:c,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:u,_context:E},E},ye.createElement=function(E,q,H){var Q,re={},ce=null;if(q!=null)for(Q in q.key!==void 0&&(ce=""+q.key),q)X.call(q,Q)&&Q!=="key"&&Q!=="__self"&&Q!=="__source"&&(re[Q]=q[Q]);var Te=arguments.length-2;if(Te===1)re.children=H;else if(1<Te){for(var Rt=Array(Te),Je=0;Je<Te;Je++)Rt[Je]=arguments[Je+2];re.children=Rt}if(E&&E.defaultProps)for(Q in Te=E.defaultProps,Te)re[Q]===void 0&&(re[Q]=Te[Q]);return he(E,ce,re)},ye.createRef=function(){return{current:null}},ye.forwardRef=function(E){return{$$typeof:f,render:E}},ye.isValidElement=we,ye.lazy=function(E){return{$$typeof:y,_payload:{_status:-1,_result:E},_init:L}},ye.memo=function(E,q){return{$$typeof:m,type:E,compare:q===void 0?null:q}},ye.startTransition=function(E){var q=J.T,H={};J.T=H;try{var Q=E(),re=J.S;re!==null&&re(H,Q),typeof Q=="object"&&Q!==null&&typeof Q.then=="function"&&Q.then(ee,te)}catch(ce){te(ce)}finally{q!==null&&H.types!==null&&(q.types=H.types),J.T=q}},ye.unstable_useCacheRefresh=function(){return J.H.useCacheRefresh()},ye.use=function(E){return J.H.use(E)},ye.useActionState=function(E,q,H){return J.H.useActionState(E,q,H)},ye.useCallback=function(E,q){return J.H.useCallback(E,q)},ye.useContext=function(E){return J.H.useContext(E)},ye.useDebugValue=function(){},ye.useDeferredValue=function(E,q){return J.H.useDeferredValue(E,q)},ye.useEffect=function(E,q){return J.H.useEffect(E,q)},ye.useEffectEvent=function(E){return J.H.useEffectEvent(E)},ye.useId=function(){return J.H.useId()},ye.useImperativeHandle=function(E,q,H){return J.H.useImperativeHandle(E,q,H)},ye.useInsertionEffect=function(E,q){return J.H.useInsertionEffect(E,q)},ye.useLayoutEffect=function(E,q){return J.H.useLayoutEffect(E,q)},ye.useMemo=function(E,q){return J.H.useMemo(E,q)},ye.useOptimistic=function(E,q){return J.H.useOptimistic(E,q)},ye.useReducer=function(E,q,H){return J.H.useReducer(E,q,H)},ye.useRef=function(E){return J.H.useRef(E)},ye.useState=function(E){return J.H.useState(E)},ye.useSyncExternalStore=function(E,q,H){return J.H.useSyncExternalStore(E,q,H)},ye.useTransition=function(){return J.H.useTransition()},ye.version="19.2.3",ye}var VS;function vy(){return VS||(VS=1,Wh.exports=OM()),Wh.exports}var N=vy();const _M=CC(N),ST=kC({__proto__:null,default:_M},[N]),by=N.createContext(Ft.STORE);function wT(t,...e){let n;if(e.length===2){const r=e[0],o=e[1];n=Pr(t,r,o)}else n=e[0];return n}function Qn(...t){const e=N.useContext(by),n=wT(e,...t),r=N.useRef(null);return r.current??=o=>{Lt(e,n,o)},r.current}function xT(t,e){if(globalThis.env?.NODE_ENV==="development"){const n=N.useRef(!1);N.useEffect(()=>{let r=n.current;if(r===!1)r=t()??!0,n.current=r;else return()=>{Br(r)&&r(),n.current=!1}},e)}else N.useEffect(t,e)}function At(...t){const e=N.useContext(by),n=wT(e,...t),r=N.useId();if(n.type==="mutable_atom"||n.type==="readonly_held_selector"||n.type==="writable_held_selector"){const[,c]=N.useState(0),f=N.useRef(An(e,n));return xT(()=>Ts(e,n,`use-o:${r}`,({newValue:h})=>{f.current=h,c(m=>m+1)}),[n.key]),f.current}const o=N.useCallback(c=>Ts(e,n,`use-o:${r}`,c),[n.key]),u=N.useCallback(()=>An(e,n),[n.key]);return N.useSyncExternalStore(o,u,u)}$C({key:"mutex",default:!1});var RM=class extends Map{set(t,e){return this.has(t)?(console.warn("Tried to set a key that already exists in an InvariantMap",{key:t,value:e}),this):super.set(t,e)}},kM=class Jp{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(e){this.key=e}static existing=new RM;static create(e,n){const{type:r,globals:o,actions:u,perspectives:c}=n(new Jp(e)),f={type:r,key:e,globals:o,actions:u,perspectives:c};return Jp.existing.set(e,f),f}add(...e){switch(e[0].type){case"atom":case"mutable_atom":this.globals.push(...e);break;case"transaction":this.actions.push(...e);break;case"atom_family":case"mutable_atom_family":{const[n,r]=e;this.perspectives.push({type:"realtime_perspective",resourceAtoms:n,viewAtoms:r})}break}return this}};function CM(t){const{key:e,config:n}=t,r=kM.create(e,n),{actions:o}=r;for(const u of o)nT(Ft.STORE,e,u.key);return ny(Ft.STORE,e,-1),r}const TT=t=>t.startsWith("user::"),AT=t=>t.startsWith("room::");NC({key:"roomKeys",class:Y1});const df=P1({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:AT,isBType:TT});Qm({key:"visibleUsersInRooms",get:t=>({get:e})=>{const[,n]=of(df);return[t,...e(n,t)]}});Qm({key:"visibilityFromRoom",get:t=>({get:e})=>{const[n]=of(df);return[t,...e(n,t)]}});Qm({key:"mutualUsers",get:t=>({get:e})=>{const[n,r]=of(df),o=e(r,t);for(const u of o)return[...e(n,u)];return[t]}});P1({key:"ownersOfRooms",between:["user","room"],cardinality:"1:n",isAType:TT,isBType:AT});const MM="modulepreload",DM=function(t){return"/"+t},US={},NM=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){let m=function(y){return Promise.all(y.map(g=>Promise.resolve(g).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};var c=m;document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),h=f?.nonce||f?.getAttribute("nonce");o=m(n.map(y=>{if(y=DM(y),y in US)return;US[y]=!0;const g=y.endsWith(".css"),b=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${y}"]${b}`))return;const S=document.createElement("link");if(S.rel=g?"stylesheet":MM,g||(S.as="script"),S.crossOrigin="",S.href=y,h&&S.setAttribute("nonce",h),document.head.appendChild(S),g)return new Promise((x,T)=>{S.addEventListener("load",x),S.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${y}`)))})}))}function u(f){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=f,window.dispatchEvent(h),!h.defaultPrevented)throw f}return o.then(f=>{for(const h of f||[])h.status==="rejected"&&u(h.reason);return e().catch(u)})};var KS={};const $M=ft({key:"mySocketKey",default:void 0}),jM=ft({key:"myUserKey",default:null,effects:[t=>{typeof window<"u"&&NM(async()=>{const{storageSync:e}=await Promise.resolve().then(()=>Wz);return{storageSync:e}},void 0).then(({storageSync:e})=>{e(globalThis.localStorage,JSON,"myUserKey")(t)})}]});vi({key:"myRoomKey",get:({get:t})=>{if("process"in globalThis&&"env"in process&&"REALTIME_ROOM_KEY"in KS)return KS.REALTIME_ROOM_KEY;const e=t(jM);if(!e)return null;const[,n]=of(df),r=t(n,e);for(const o of r)return o;return null}});const bc=ft({key:"optimisticUpdateQueue",default:()=>[]}),Xp=ft({key:"confirmedUpdateQueue",default:()=>[]}),BM=(t,e,n,r,o)=>u=>{function c(h,m){if(t.logger.info("🧑⚖️","continuity",e,"reconciling updates"),Lt(t,bc,g=>(g.shift(),g)),h.id===m.id){if(JSON.stringify(h.subEvents)===JSON.stringify(m.subEvents)){t.logger.info("✅","continuity",e,`results for ${h.id} match between client and server`),n.emit(`ack:${e}`,m.epoch);return}}else t.logger.info("❌","continuity",e,`thought update #${m.epoch} was ${h.token.key}:${h.id}, but it was actually ${m.token.key}:${m.id}`);t.logger.info("🧑⚖️","continuity",e,"updates do not match",h,m);const y=r.toReversed();for(const g of y)xo(t,g,"oldValue");t.logger.info("⏪","continuity",e,"undid optimistic updates:",y),xo(t,h,"oldValue"),t.logger.info("⏪","continuity",e,"undid zeroth optimistic update",h),xo(t,m,"newValue"),t.logger.info("⏩","continuity",e,"applied confirmed update",m),n.emit(`ack:${e}`,m.epoch);for(const g of r){const b={type:"transaction",key:g.token.key},{id:S,params:x}=g;ey(t,b,S)(...x)}t.logger.info("⏩","continuity",e,"reapplied subsequent optimistic updates:",r)}t.logger.info("🧑⚖️","continuity",e,"integrating confirmed update",{confirmedUpdate:u,confirmedUpdates:o,optimisticUpdates:r});const f=r[0];if(f)if(t.logger.info("🧑⚖️","continuity",e,"has optimistic updates to reconcile"),u.epoch===f.epoch){t.logger.info("🧑⚖️","continuity",e,`epoch of confirmed update #${u.epoch} matches zeroth optimistic update`),c(f,u);for(const h of o){const m=r[0];if(h.epoch===m?.epoch)c(m,h);else break}}else t.logger.info("🧑⚖️","continuity",e,`epoch of confirmed update #${u.epoch} does not match zeroth optimistic update #${f.epoch}`),o.some(h=>h.epoch===u.epoch)||(t.logger.info("👈","continuity",e,"pushing confirmed update to queue",u),Lt(t,Xp,h=>(h.push(u),h.sort((m,y)=>m.epoch-y.epoch),h)));else{t.logger.info("🧑⚖️","continuity",e,"has no optimistic updates to deal with");let h;h=tT(t,e),h===u.epoch-1?(t.logger.info("✅","continuity",e,`integrating update #${u.epoch} (${u.token.key} ${u.id})`),xo(t,u,"newValue"),n.emit(`ack:${e}`,u.epoch),ny(t,e,u.epoch)):h!==void 0&&(t.logger.info("🧑⚖️","continuity",e,`received update #${u.epoch} but still waiting for update #${h+1}`,{clientEpoch:h,serverEpoch:u.epoch}),o.some(m=>m.epoch===u.epoch)?t.logger.info("👍","continuity",e,`confirmed update #${u.epoch} is already enqueued`):(t.logger.info("👈","continuity",e,`pushing confirmed update #${u.epoch} to queue`),Lt(t,Xp,m=>(m.push(u),m.sort((y,g)=>y.epoch-g.epoch),m))))}};function zM(t){return e=>{for(const n of e)gy(t,n)}}function LM(t){return e=>{let n=0,r,o;for(const u of e)n%2===0?r=u:(o=u,Lt(t,r,o)),n++}}function VM(t,e,n){const r=n.key,o=An(t,bc),u=An(t,Xp),c=(g,b)=>{e.off(`continuity-init:${r}`,c);let S=0,x,T;for(const _ of b)S%2===0?x=_:(T=_,"type"in x&&x.type==="mutable_atom"&&(x=ks(t,x)),Lt(t,x,T)),S++;ny(t,r,g)};e.off(`continuity-init:${r}`),e.on(`continuity-init:${r}`,c);const f=BM(t,r,e,o,u);e.off(`tx-new:${r}`),e.on(`tx-new:${r}`,f);const h=n.actions.map(g=>(nT(t,r,g.key),hT(t,g,`tx-run:${r}`,b=>{t.logger.info("🤞","continuity",r,"enqueuing optimistic update");const S=o.findIndex(x=>x.id===b.id);S===-1?(t.logger.info("🤞","continuity",r,"enqueuing new optimistic update"),Lt(t,bc,x=>(x.push(b),x.sort((T,_)=>T.epoch-_.epoch),x))):(t.logger.info("🤞","continuity",r,`replacing existing optimistic update at index ${S}`),Lt(t,bc,x=>(x[S]=b,x))),e.emit(`tx-run:${r}`,{id:b.id,token:g,params:b.params})}))),m=LM(t),y=zM(t);return e.on(`reveal:${r}`,m),e.on(`conceal:${r}`,y),e.emit(`get:${r}`),()=>{e.off(`continuity-init:${r}`),e.off(`tx-new:${r}`);for(const g of h)g()}}const ET=N.createContext({socket:null,services:null}),UM=({children:t,socket:e})=>{const n=N.useRef(new Map).current,r=Qn($M);return N.useEffect(()=>{r(e?.id?`socket::${e.id}`:void 0),e?.on("connect",()=>{r(e?.id?`socket::${e.id}`:void 0)}),e?.on("disconnect",()=>{r(void 0)})},[e,r]),F.jsx(ET.Provider,{value:{socket:e,services:n},children:t})};function KM(t,e){const{socket:n,services:r}=N.useContext(ET);xT(()=>{let o=r?.get(t);return o?++o.consumerCount:n&&(o={consumerCount:1,dispose:e(n)},r?.set(t,o)),()=>{o&&(--o.consumerCount,o.consumerCount===0&&(o.dispose?.(),r?.delete(t)))}},[n,t])}function qM(t){const e=N.useContext(by);KM(`tx-sync:${t.key}`,n=>VM(e,n,t))}var ep={exports:{}},Ga={},tp={exports:{}},np={};var qS;function PM(){return qS||(qS=1,(function(t){function e(j,U){var L=j.length;j.push(U);e:for(;0<L;){var te=L-1>>>1,oe=j[te];if(0<o(oe,U))j[te]=U,j[L]=oe,L=te;else break e}}function n(j){return j.length===0?null:j[0]}function r(j){if(j.length===0)return null;var U=j[0],L=j.pop();if(L!==U){j[0]=L;e:for(var te=0,oe=j.length,E=oe>>>1;te<E;){var q=2*(te+1)-1,H=j[q],Q=q+1,re=j[Q];if(0>o(H,L))Q<oe&&0>o(re,H)?(j[te]=re,j[Q]=L,te=Q):(j[te]=H,j[q]=L,te=q);else if(Q<oe&&0>o(re,L))j[te]=re,j[Q]=L,te=Q;else break e}}return U}function o(j,U){var L=j.sortIndex-U.sortIndex;return L!==0?L:j.id-U.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var c=Date,f=c.now();t.unstable_now=function(){return c.now()-f}}var h=[],m=[],y=1,g=null,b=3,S=!1,x=!1,T=!1,_=!1,k=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function G(j){for(var U=n(m);U!==null;){if(U.callback===null)r(m);else if(U.startTime<=j)r(m),U.sortIndex=U.expirationTime,e(h,U);else break;U=n(m)}}function I(j){if(T=!1,G(j),!x)if(n(h)!==null)x=!0,ee||(ee=!0,je());else{var U=n(m);U!==null&&ne(I,U.startTime-j)}}var ee=!1,J=-1,X=5,he=-1;function pe(){return _?!0:!(t.unstable_now()-he<X)}function we(){if(_=!1,ee){var j=t.unstable_now();he=j;var U=!0;try{e:{x=!1,T&&(T=!1,C(J),J=-1),S=!0;var L=b;try{t:{for(G(j),g=n(h);g!==null&&!(g.expirationTime>j&&pe());){var te=g.callback;if(typeof te=="function"){g.callback=null,b=g.priorityLevel;var oe=te(g.expirationTime<=j);if(j=t.unstable_now(),typeof oe=="function"){g.callback=oe,G(j),U=!0;break t}g===n(h)&&r(h),G(j)}else r(h);g=n(h)}if(g!==null)U=!0;else{var E=n(m);E!==null&&ne(I,E.startTime-j),U=!1}}break e}finally{g=null,b=L,S=!1}U=void 0}}finally{U?je():ee=!1}}}var je;if(typeof M=="function")je=function(){M(we)};else if(typeof MessageChannel<"u"){var be=new MessageChannel,Z=be.port2;be.port1.onmessage=we,je=function(){Z.postMessage(null)}}else je=function(){k(we,0)};function ne(j,U){J=k(function(){j(t.unstable_now())},U)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(j){j.callback=null},t.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):X=0<j?Math.floor(1e3/j):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_next=function(j){switch(b){case 1:case 2:case 3:var U=3;break;default:U=b}var L=b;b=U;try{return j()}finally{b=L}},t.unstable_requestPaint=function(){_=!0},t.unstable_runWithPriority=function(j,U){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var L=b;b=j;try{return U()}finally{b=L}},t.unstable_scheduleCallback=function(j,U,L){var te=t.unstable_now();switch(typeof L=="object"&&L!==null?(L=L.delay,L=typeof L=="number"&&0<L?te+L:te):L=te,j){case 1:var oe=-1;break;case 2:oe=250;break;case 5:oe=1073741823;break;case 4:oe=1e4;break;default:oe=5e3}return oe=L+oe,j={id:y++,callback:U,priorityLevel:j,startTime:L,expirationTime:oe,sortIndex:-1},L>te?(j.sortIndex=L,e(m,j),n(h)===null&&j===n(m)&&(T?(C(J),J=-1):T=!0,ne(I,L-te))):(j.sortIndex=oe,e(h,j),x||S||(x=!0,ee||(ee=!0,je()))),j},t.unstable_shouldYield=pe,t.unstable_wrapCallback=function(j){var U=b;return function(){var L=b;b=U;try{return j.apply(this,arguments)}finally{b=L}}}})(np)),np}var PS;function IM(){return PS||(PS=1,tp.exports=PM()),tp.exports}var ip={exports:{}},Yt={};var IS;function HM(){if(IS)return Yt;IS=1;var t=vy();function e(h){var m="https://react.dev/errors/"+h;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)m+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+h+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(e(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},o=Symbol.for("react.portal");function u(h,m,y){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:g==null?null:""+g,children:h,containerInfo:m,implementation:y}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(h,m){if(h==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return Yt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Yt.createPortal=function(h,m){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(e(299));return u(h,m,null,y)},Yt.flushSync=function(h){var m=c.T,y=r.p;try{if(c.T=null,r.p=2,h)return h()}finally{c.T=m,r.p=y,r.d.f()}},Yt.preconnect=function(h,m){typeof h=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,r.d.C(h,m))},Yt.prefetchDNS=function(h){typeof h=="string"&&r.d.D(h)},Yt.preinit=function(h,m){if(typeof h=="string"&&m&&typeof m.as=="string"){var y=m.as,g=f(y,m.crossOrigin),b=typeof m.integrity=="string"?m.integrity:void 0,S=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;y==="style"?r.d.S(h,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:g,integrity:b,fetchPriority:S}):y==="script"&&r.d.X(h,{crossOrigin:g,integrity:b,fetchPriority:S,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},Yt.preinitModule=function(h,m){if(typeof h=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var y=f(m.as,m.crossOrigin);r.d.M(h,{crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&r.d.M(h)},Yt.preload=function(h,m){if(typeof h=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var y=m.as,g=f(y,m.crossOrigin);r.d.L(h,y,{crossOrigin:g,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},Yt.preloadModule=function(h,m){if(typeof h=="string")if(m){var y=f(m.as,m.crossOrigin);r.d.m(h,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else r.d.m(h)},Yt.requestFormReset=function(h){r.d.r(h)},Yt.unstable_batchedUpdates=function(h,m){return h(m)},Yt.useFormState=function(h,m,y){return c.H.useFormState(h,m,y)},Yt.useFormStatus=function(){return c.H.useHostTransitionStatus()},Yt.version="19.2.3",Yt}var HS;function OT(){if(HS)return ip.exports;HS=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),ip.exports=HM(),ip.exports}var FS;function FM(){if(FS)return Ga;FS=1;var t=IM(),e=vy(),n=OT();function r(i){var s="https://react.dev/errors/"+i;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)s+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+i+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function u(i){var s=i,a=i;if(i.alternate)for(;s.return;)s=s.return;else{i=s;do s=i,(s.flags&4098)!==0&&(a=s.return),i=s.return;while(i)}return s.tag===3?a:null}function c(i){if(i.tag===13){var s=i.memoizedState;if(s===null&&(i=i.alternate,i!==null&&(s=i.memoizedState)),s!==null)return s.dehydrated}return null}function f(i){if(i.tag===31){var s=i.memoizedState;if(s===null&&(i=i.alternate,i!==null&&(s=i.memoizedState)),s!==null)return s.dehydrated}return null}function h(i){if(u(i)!==i)throw Error(r(188))}function m(i){var s=i.alternate;if(!s){if(s=u(i),s===null)throw Error(r(188));return s!==i?null:i}for(var a=i,l=s;;){var d=a.return;if(d===null)break;var p=d.alternate;if(p===null){if(l=d.return,l!==null){a=l;continue}break}if(d.child===p.child){for(p=d.child;p;){if(p===a)return h(d),i;if(p===l)return h(d),s;p=p.sibling}throw Error(r(188))}if(a.return!==l.return)a=d,l=p;else{for(var v=!1,w=d.child;w;){if(w===a){v=!0,a=d,l=p;break}if(w===l){v=!0,l=d,a=p;break}w=w.sibling}if(!v){for(w=p.child;w;){if(w===a){v=!0,a=p,l=d;break}if(w===l){v=!0,l=p,a=d;break}w=w.sibling}if(!v)throw Error(r(189))}}if(a.alternate!==l)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?i:s}function y(i){var s=i.tag;if(s===5||s===26||s===27||s===6)return i;for(i=i.child;i!==null;){if(s=y(i),s!==null)return s;i=i.sibling}return null}var g=Object.assign,b=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),x=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),M=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),J=Symbol.for("react.memo"),X=Symbol.for("react.lazy"),he=Symbol.for("react.activity"),pe=Symbol.for("react.memo_cache_sentinel"),we=Symbol.iterator;function je(i){return i===null||typeof i!="object"?null:(i=we&&i[we]||i["@@iterator"],typeof i=="function"?i:null)}var be=Symbol.for("react.client.reference");function Z(i){if(i==null)return null;if(typeof i=="function")return i.$$typeof===be?null:i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case T:return"Fragment";case k:return"Profiler";case _:return"StrictMode";case I:return"Suspense";case ee:return"SuspenseList";case he:return"Activity"}if(typeof i=="object")switch(i.$$typeof){case x:return"Portal";case M:return i.displayName||"Context";case C:return(i._context.displayName||"Context")+".Consumer";case G:var s=i.render;return i=i.displayName,i||(i=s.displayName||s.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case J:return s=i.displayName||null,s!==null?s:Z(i.type)||"Memo";case X:s=i._payload,i=i._init;try{return Z(i(s))}catch{}}return null}var ne=Array.isArray,j=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L={pending:!1,data:null,method:null,action:null},te=[],oe=-1;function E(i){return{current:i}}function q(i){0>oe||(i.current=te[oe],te[oe]=null,oe--)}function H(i,s){oe++,te[oe]=i.current,i.current=s}var Q=E(null),re=E(null),ce=E(null),Te=E(null);function Rt(i,s){switch(H(ce,s),H(re,i),H(Q,null),s.nodeType){case 9:case 11:i=(i=s.documentElement)&&(i=i.namespaceURI)?X0(i):0;break;default:if(i=s.tagName,s=s.namespaceURI)s=X0(s),i=Z0(s,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}q(Q),H(Q,i)}function Je(){q(Q),q(re),q(ce)}function ni(i){i.memoizedState!==null&&H(Te,i);var s=Q.current,a=Z0(s,i.type);s!==a&&(H(re,i),H(Q,a))}function Ti(i){re.current===i&&(q(Q),q(re)),Te.current===i&&(q(Te),qa._currentValue=L)}var xe,Me;function ge(i){if(xe===void 0)try{throw Error()}catch(a){var s=a.stack.trim().match(/\n( *(at )?)/);xe=s&&s[1]||"",Me=-1<a.stack.indexOf(`
|
|
14
14
|
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
15
15
|
`+xe+i+Me}var Xe=!1;function ht(i,s){if(!i||Xe)return"";Xe=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(s){var P=function(){throw Error()};if(Object.defineProperty(P.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(P,[])}catch(z){var B=z}Reflect.construct(i,[],P)}else{try{P.call()}catch(z){B=z}i.call(P.prototype)}}else{try{throw Error()}catch(z){B=z}(P=i())&&typeof P.catch=="function"&&P.catch(function(){})}}catch(z){if(z&&B&&typeof z.stack=="string")return[z.stack,B.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var d=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");d&&d.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var p=l.DetermineComponentFrameRoot(),v=p[0],w=p[1];if(v&&w){var A=v.split(`
|
|
16
16
|
`),$=w.split(`
|
package/app/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>TEMPEST</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BuI4xz01.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-DZ_4vJcE.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/bin/backend.bun.js
CHANGED
|
@@ -39563,7 +39563,7 @@ var init_html_to_text = __esm(() => {
|
|
|
39563
39563
|
};
|
|
39564
39564
|
});
|
|
39565
39565
|
|
|
39566
|
-
// ../../node_modules/.pnpm/@react-email+render@2.0.
|
|
39566
|
+
// ../../node_modules/.pnpm/@react-email+render@2.0.1_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-email/render/dist/node/index.mjs
|
|
39567
39567
|
var exports_node = {};
|
|
39568
39568
|
__export(exports_node, {
|
|
39569
39569
|
toPlainText: () => toPlainText,
|
|
@@ -39650,7 +39650,11 @@ var modifiedHtml, defaults, pretty = (str2, options = {}) => {
|
|
|
39650
39650
|
return result;
|
|
39651
39651
|
}, render2 = async (node4, options) => {
|
|
39652
39652
|
const suspendedElement = /* @__PURE__ */ jsx(Suspense, { children: node4 });
|
|
39653
|
-
const reactDOMServer = await import("react-dom/server").then((m2) =>
|
|
39653
|
+
const reactDOMServer = await import("react-dom/server").then((m2) => {
|
|
39654
|
+
if ("default" in m2)
|
|
39655
|
+
return m2.default;
|
|
39656
|
+
return m2;
|
|
39657
|
+
});
|
|
39654
39658
|
let html$1;
|
|
39655
39659
|
if (Object.hasOwn(reactDOMServer, "renderToReadableStream") && typeof WritableStream !== "undefined")
|
|
39656
39660
|
html$1 = await readStream(await reactDOMServer.renderToReadableStream(suspendedElement, { progressiveChunkSize: Number.POSITIVE_INFINITY }));
|
|
@@ -52106,6 +52110,7 @@ var { Server, Namespace, Socket } = import_dist.default;
|
|
|
52106
52110
|
import { readFileSync } from "fs";
|
|
52107
52111
|
import { createServer as createHttpServer } from "http";
|
|
52108
52112
|
import { createServer as createSecureServer } from "https";
|
|
52113
|
+
import { hostname } from "os";
|
|
52109
52114
|
import { resolve } from "path";
|
|
52110
52115
|
|
|
52111
52116
|
// ../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_arktype@2.1.29_typescript@5.9.3_zod@4.2.1/node_modules/@t3-oss/env-core/dist/standard.js
|
|
@@ -60439,8 +60444,8 @@ var env2 = createEnv({
|
|
|
60439
60444
|
// dev/https-dev.ts
|
|
60440
60445
|
var devDir = resolve(import.meta.dirname, `../dev`);
|
|
60441
60446
|
var httpsDev = env2.VITE_DEV_HTTPS ? {
|
|
60442
|
-
cert: readFileSync(resolve(devDir,
|
|
60443
|
-
key: readFileSync(resolve(devDir,
|
|
60447
|
+
cert: readFileSync(resolve(devDir, `${hostname()}.pem`), `utf-8`),
|
|
60448
|
+
key: readFileSync(resolve(devDir, `${hostname()}-key.pem`), `utf-8`)
|
|
60444
60449
|
} : undefined;
|
|
60445
60450
|
function createServer(listener) {
|
|
60446
60451
|
if (httpsDev) {
|
|
@@ -60551,7 +60556,7 @@ var mutualUsersSelector = selectorFamily({
|
|
|
60551
60556
|
const rooms = get(roomsOfUsersAtoms, userKey);
|
|
60552
60557
|
for (const room of rooms)
|
|
60553
60558
|
return [...get(usersOfRoomsAtoms, room)];
|
|
60554
|
-
return [];
|
|
60559
|
+
return [userKey];
|
|
60555
60560
|
}
|
|
60556
60561
|
});
|
|
60557
60562
|
var ownersOfRooms = join({
|
|
@@ -68628,7 +68633,7 @@ function summarizeAccountAction({
|
|
|
68628
68633
|
return { subjectExternal, subjectInternal, summary };
|
|
68629
68634
|
}
|
|
68630
68635
|
|
|
68631
|
-
// ../../node_modules/.pnpm/resend@6.6.0_@react-email+render@2.0.
|
|
68636
|
+
// ../../node_modules/.pnpm/resend@6.6.0_@react-email+render@2.0.1_react-dom@19.2.3_react@19.2.3__react@19.2.3_/node_modules/resend/dist/index.mjs
|
|
68632
68637
|
var import_svix = __toESM(require_dist5(), 1);
|
|
68633
68638
|
var version2 = "6.6.0";
|
|
68634
68639
|
function buildPaginationQuery(options) {
|
|
@@ -69498,7 +69503,7 @@ var Resend = class {
|
|
|
69498
69503
|
}
|
|
69499
69504
|
};
|
|
69500
69505
|
|
|
69501
|
-
// ../../node_modules/.pnpm/@react-email+body@0.2.
|
|
69506
|
+
// ../../node_modules/.pnpm/@react-email+body@0.2.1_react@19.2.3/node_modules/@react-email/body/dist/index.mjs
|
|
69502
69507
|
import * as React from "react";
|
|
69503
69508
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
69504
69509
|
var marginProperties = [
|
|
@@ -69542,7 +69547,7 @@ var Body = React.forwardRef(({ children, style, ...props }, ref) => {
|
|
|
69542
69547
|
});
|
|
69543
69548
|
Body.displayName = "Body";
|
|
69544
69549
|
|
|
69545
|
-
// ../../node_modules/.pnpm/@react-email+code-block@0.2.
|
|
69550
|
+
// ../../node_modules/.pnpm/@react-email+code-block@0.2.1_react@19.2.3/node_modules/@react-email/code-block/dist/index.mjs
|
|
69546
69551
|
var PrismImport = __toESM(require_prism(), 1);
|
|
69547
69552
|
import * as React$1 from "react";
|
|
69548
69553
|
import { Fragment as Fragment2, jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
@@ -84215,137 +84220,53 @@ var CodeBlock = React$1.forwardRef(({ code, fontFamily, lineNumbers, theme, lang
|
|
|
84215
84220
|
});
|
|
84216
84221
|
CodeBlock.displayName = "CodeBlock";
|
|
84217
84222
|
|
|
84218
|
-
// ../../node_modules/.pnpm/@react-email+container@0.0.
|
|
84223
|
+
// ../../node_modules/.pnpm/@react-email+container@0.0.16_react@19.2.3/node_modules/@react-email/container/dist/index.mjs
|
|
84219
84224
|
import * as React2 from "react";
|
|
84220
84225
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
84221
|
-
var
|
|
84222
|
-
|
|
84223
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
84224
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
84225
|
-
var __hasOwnProp3 = Object.prototype.hasOwnProperty;
|
|
84226
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
84227
|
-
var __defNormalProp = (obj, key, value2) => (key in obj) ? __defProp3(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
|
|
84228
|
-
var __spreadValues = (a2, b5) => {
|
|
84229
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84230
|
-
if (__hasOwnProp3.call(b5, prop2))
|
|
84231
|
-
__defNormalProp(a2, prop2, b5[prop2]);
|
|
84232
|
-
if (__getOwnPropSymbols)
|
|
84233
|
-
for (var prop2 of __getOwnPropSymbols(b5)) {
|
|
84234
|
-
if (__propIsEnum.call(b5, prop2))
|
|
84235
|
-
__defNormalProp(a2, prop2, b5[prop2]);
|
|
84236
|
-
}
|
|
84237
|
-
return a2;
|
|
84238
|
-
};
|
|
84239
|
-
var __spreadProps = (a2, b5) => __defProps(a2, __getOwnPropDescs(b5));
|
|
84240
|
-
var __objRest = (source, exclude) => {
|
|
84241
|
-
var target = {};
|
|
84242
|
-
for (var prop2 in source)
|
|
84243
|
-
if (__hasOwnProp3.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84244
|
-
target[prop2] = source[prop2];
|
|
84245
|
-
if (source != null && __getOwnPropSymbols)
|
|
84246
|
-
for (var prop2 of __getOwnPropSymbols(source)) {
|
|
84247
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source, prop2))
|
|
84248
|
-
target[prop2] = source[prop2];
|
|
84249
|
-
}
|
|
84250
|
-
return target;
|
|
84251
|
-
};
|
|
84252
|
-
var Container = React2.forwardRef((_a4, ref) => {
|
|
84253
|
-
var _b = _a4, { children, style } = _b, props = __objRest(_b, ["children", "style"]);
|
|
84254
|
-
return /* @__PURE__ */ jsx4("table", __spreadProps(__spreadValues({
|
|
84226
|
+
var Container = React2.forwardRef(({ children, style, ...props }, ref) => {
|
|
84227
|
+
return /* @__PURE__ */ jsx4("table", {
|
|
84255
84228
|
align: "center",
|
|
84256
|
-
width: "100%"
|
|
84257
|
-
|
|
84229
|
+
width: "100%",
|
|
84230
|
+
...props,
|
|
84258
84231
|
border: 0,
|
|
84259
84232
|
cellPadding: "0",
|
|
84260
84233
|
cellSpacing: "0",
|
|
84261
84234
|
ref,
|
|
84262
84235
|
role: "presentation",
|
|
84263
|
-
style:
|
|
84264
|
-
|
|
84265
|
-
|
|
84236
|
+
style: {
|
|
84237
|
+
maxWidth: "37.5em",
|
|
84238
|
+
...style
|
|
84239
|
+
},
|
|
84240
|
+
children: /* @__PURE__ */ jsx4("tbody", { children: /* @__PURE__ */ jsx4("tr", {
|
|
84241
|
+
style: { width: "100%" },
|
|
84242
|
+
children: /* @__PURE__ */ jsx4("td", { children })
|
|
84243
|
+
}) })
|
|
84244
|
+
});
|
|
84266
84245
|
});
|
|
84267
84246
|
Container.displayName = "Container";
|
|
84268
84247
|
|
|
84269
|
-
// ../../node_modules/.pnpm/@react-email+head@0.0.
|
|
84248
|
+
// ../../node_modules/.pnpm/@react-email+head@0.0.13_react@19.2.3/node_modules/@react-email/head/dist/index.mjs
|
|
84270
84249
|
import * as React3 from "react";
|
|
84271
84250
|
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
84272
|
-
var
|
|
84273
|
-
|
|
84274
|
-
|
|
84275
|
-
|
|
84276
|
-
|
|
84277
|
-
|
|
84278
|
-
|
|
84279
|
-
|
|
84280
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84281
|
-
if (__hasOwnProp4.call(b5, prop2))
|
|
84282
|
-
__defNormalProp2(a2, prop2, b5[prop2]);
|
|
84283
|
-
if (__getOwnPropSymbols2)
|
|
84284
|
-
for (var prop2 of __getOwnPropSymbols2(b5)) {
|
|
84285
|
-
if (__propIsEnum2.call(b5, prop2))
|
|
84286
|
-
__defNormalProp2(a2, prop2, b5[prop2]);
|
|
84287
|
-
}
|
|
84288
|
-
return a2;
|
|
84289
|
-
};
|
|
84290
|
-
var __spreadProps2 = (a2, b5) => __defProps2(a2, __getOwnPropDescs2(b5));
|
|
84291
|
-
var __objRest2 = (source, exclude) => {
|
|
84292
|
-
var target = {};
|
|
84293
|
-
for (var prop2 in source)
|
|
84294
|
-
if (__hasOwnProp4.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84295
|
-
target[prop2] = source[prop2];
|
|
84296
|
-
if (source != null && __getOwnPropSymbols2)
|
|
84297
|
-
for (var prop2 of __getOwnPropSymbols2(source)) {
|
|
84298
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum2.call(source, prop2))
|
|
84299
|
-
target[prop2] = source[prop2];
|
|
84300
|
-
}
|
|
84301
|
-
return target;
|
|
84302
|
-
};
|
|
84303
|
-
var Head = React3.forwardRef((_a4, ref) => {
|
|
84304
|
-
var _b = _a4, { children } = _b, props = __objRest2(_b, ["children"]);
|
|
84305
|
-
return /* @__PURE__ */ jsxs2("head", __spreadProps2(__spreadValues2({}, props), { ref, children: [
|
|
84306
|
-
/* @__PURE__ */ jsx5("meta", { content: "text/html; charset=UTF-8", httpEquiv: "Content-Type" }),
|
|
84251
|
+
var Head = React3.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxs2("head", {
|
|
84252
|
+
...props,
|
|
84253
|
+
ref,
|
|
84254
|
+
children: [
|
|
84255
|
+
/* @__PURE__ */ jsx5("meta", {
|
|
84256
|
+
content: "text/html; charset=UTF-8",
|
|
84257
|
+
httpEquiv: "Content-Type"
|
|
84258
|
+
}),
|
|
84307
84259
|
/* @__PURE__ */ jsx5("meta", { name: "x-apple-disable-message-reformatting" }),
|
|
84308
84260
|
children
|
|
84309
|
-
]
|
|
84310
|
-
});
|
|
84261
|
+
]
|
|
84262
|
+
}));
|
|
84311
84263
|
Head.displayName = "Head";
|
|
84312
84264
|
|
|
84313
|
-
// ../../node_modules/.pnpm/@react-email+heading@0.0.
|
|
84265
|
+
// ../../node_modules/.pnpm/@react-email+heading@0.0.16_react@19.2.3/node_modules/@react-email/heading/dist/index.mjs
|
|
84314
84266
|
import * as React4 from "react";
|
|
84315
84267
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
84316
|
-
var __defProp5 = Object.defineProperty;
|
|
84317
|
-
var __defProps3 = Object.defineProperties;
|
|
84318
|
-
var __getOwnPropDescs3 = Object.getOwnPropertyDescriptors;
|
|
84319
|
-
var __getOwnPropSymbols3 = Object.getOwnPropertySymbols;
|
|
84320
|
-
var __hasOwnProp5 = Object.prototype.hasOwnProperty;
|
|
84321
|
-
var __propIsEnum3 = Object.prototype.propertyIsEnumerable;
|
|
84322
|
-
var __defNormalProp3 = (obj, key, value2) => (key in obj) ? __defProp5(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
|
|
84323
|
-
var __spreadValues3 = (a2, b5) => {
|
|
84324
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84325
|
-
if (__hasOwnProp5.call(b5, prop2))
|
|
84326
|
-
__defNormalProp3(a2, prop2, b5[prop2]);
|
|
84327
|
-
if (__getOwnPropSymbols3)
|
|
84328
|
-
for (var prop2 of __getOwnPropSymbols3(b5)) {
|
|
84329
|
-
if (__propIsEnum3.call(b5, prop2))
|
|
84330
|
-
__defNormalProp3(a2, prop2, b5[prop2]);
|
|
84331
|
-
}
|
|
84332
|
-
return a2;
|
|
84333
|
-
};
|
|
84334
|
-
var __spreadProps3 = (a2, b5) => __defProps3(a2, __getOwnPropDescs3(b5));
|
|
84335
|
-
var __objRest3 = (source, exclude) => {
|
|
84336
|
-
var target = {};
|
|
84337
|
-
for (var prop2 in source)
|
|
84338
|
-
if (__hasOwnProp5.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84339
|
-
target[prop2] = source[prop2];
|
|
84340
|
-
if (source != null && __getOwnPropSymbols3)
|
|
84341
|
-
for (var prop2 of __getOwnPropSymbols3(source)) {
|
|
84342
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum3.call(source, prop2))
|
|
84343
|
-
target[prop2] = source[prop2];
|
|
84344
|
-
}
|
|
84345
|
-
return target;
|
|
84346
|
-
};
|
|
84347
84268
|
var withMargin = (props) => {
|
|
84348
|
-
const
|
|
84269
|
+
const candidates = [
|
|
84349
84270
|
withSpace(props.m, ["margin"]),
|
|
84350
84271
|
withSpace(props.mx, ["marginLeft", "marginRight"]),
|
|
84351
84272
|
withSpace(props.my, ["marginTop", "marginBottom"]),
|
|
@@ -84353,109 +84274,63 @@ var withMargin = (props) => {
|
|
|
84353
84274
|
withSpace(props.mr, ["marginRight"]),
|
|
84354
84275
|
withSpace(props.mb, ["marginBottom"]),
|
|
84355
84276
|
withSpace(props.ml, ["marginLeft"])
|
|
84356
|
-
]
|
|
84357
|
-
const mergedStyles =
|
|
84358
|
-
|
|
84359
|
-
|
|
84277
|
+
];
|
|
84278
|
+
const mergedStyles = {};
|
|
84279
|
+
for (const style of candidates)
|
|
84280
|
+
if (Object.keys(style).length > 0)
|
|
84281
|
+
Object.assign(mergedStyles, style);
|
|
84360
84282
|
return mergedStyles;
|
|
84361
84283
|
};
|
|
84362
84284
|
var withSpace = (value2, properties) => {
|
|
84363
|
-
|
|
84364
|
-
|
|
84365
|
-
return __spreadProps3(__spreadValues3({}, styles), { [property]: `${value2}px` });
|
|
84366
|
-
}
|
|
84285
|
+
const styles = {};
|
|
84286
|
+
if (value2 === undefined)
|
|
84367
84287
|
return styles;
|
|
84368
|
-
|
|
84288
|
+
if (Number.isNaN(Number.parseFloat(String(value2))))
|
|
84289
|
+
return styles;
|
|
84290
|
+
for (const property of properties)
|
|
84291
|
+
styles[property] = `${value2}px`;
|
|
84292
|
+
return styles;
|
|
84369
84293
|
};
|
|
84370
|
-
var Heading = React4.forwardRef((
|
|
84371
|
-
|
|
84372
|
-
|
|
84294
|
+
var Heading = React4.forwardRef(({ as: Tag2 = "h1", children, style, m: m2, mx, my, mt: mt4, mr: mr4, mb, ml: ml2, ...props }, ref) => {
|
|
84295
|
+
return /* @__PURE__ */ jsx6(Tag2, {
|
|
84296
|
+
...props,
|
|
84373
84297
|
ref,
|
|
84374
|
-
style:
|
|
84298
|
+
style: {
|
|
84299
|
+
...withMargin({
|
|
84300
|
+
m: m2,
|
|
84301
|
+
mx,
|
|
84302
|
+
my,
|
|
84303
|
+
mt: mt4,
|
|
84304
|
+
mr: mr4,
|
|
84305
|
+
mb,
|
|
84306
|
+
ml: ml2
|
|
84307
|
+
}),
|
|
84308
|
+
...style
|
|
84309
|
+
},
|
|
84375
84310
|
children
|
|
84376
|
-
})
|
|
84311
|
+
});
|
|
84377
84312
|
});
|
|
84378
84313
|
Heading.displayName = "Heading";
|
|
84379
84314
|
|
|
84380
|
-
// ../../node_modules/.pnpm/@react-email+html@0.0.
|
|
84315
|
+
// ../../node_modules/.pnpm/@react-email+html@0.0.12_react@19.2.3/node_modules/@react-email/html/dist/index.mjs
|
|
84381
84316
|
import * as React5 from "react";
|
|
84382
84317
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
84383
|
-
var
|
|
84384
|
-
|
|
84385
|
-
|
|
84386
|
-
|
|
84387
|
-
|
|
84388
|
-
|
|
84389
|
-
|
|
84390
|
-
var __spreadValues4 = (a2, b5) => {
|
|
84391
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84392
|
-
if (__hasOwnProp6.call(b5, prop2))
|
|
84393
|
-
__defNormalProp4(a2, prop2, b5[prop2]);
|
|
84394
|
-
if (__getOwnPropSymbols4)
|
|
84395
|
-
for (var prop2 of __getOwnPropSymbols4(b5)) {
|
|
84396
|
-
if (__propIsEnum4.call(b5, prop2))
|
|
84397
|
-
__defNormalProp4(a2, prop2, b5[prop2]);
|
|
84398
|
-
}
|
|
84399
|
-
return a2;
|
|
84400
|
-
};
|
|
84401
|
-
var __spreadProps4 = (a2, b5) => __defProps4(a2, __getOwnPropDescs4(b5));
|
|
84402
|
-
var __objRest4 = (source, exclude) => {
|
|
84403
|
-
var target = {};
|
|
84404
|
-
for (var prop2 in source)
|
|
84405
|
-
if (__hasOwnProp6.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84406
|
-
target[prop2] = source[prop2];
|
|
84407
|
-
if (source != null && __getOwnPropSymbols4)
|
|
84408
|
-
for (var prop2 of __getOwnPropSymbols4(source)) {
|
|
84409
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum4.call(source, prop2))
|
|
84410
|
-
target[prop2] = source[prop2];
|
|
84411
|
-
}
|
|
84412
|
-
return target;
|
|
84413
|
-
};
|
|
84414
|
-
var Html = React5.forwardRef((_a4, ref) => {
|
|
84415
|
-
var _b = _a4, { children, lang = "en", dir = "ltr" } = _b, props = __objRest4(_b, ["children", "lang", "dir"]);
|
|
84416
|
-
return /* @__PURE__ */ jsx7("html", __spreadProps4(__spreadValues4({}, props), { dir, lang, ref, children }));
|
|
84417
|
-
});
|
|
84318
|
+
var Html = React5.forwardRef(({ children, lang = "en", dir = "ltr", ...props }, ref) => /* @__PURE__ */ jsx7("html", {
|
|
84319
|
+
...props,
|
|
84320
|
+
dir,
|
|
84321
|
+
lang,
|
|
84322
|
+
ref,
|
|
84323
|
+
children
|
|
84324
|
+
}));
|
|
84418
84325
|
Html.displayName = "Html";
|
|
84419
84326
|
|
|
84420
|
-
// ../../node_modules/.pnpm/@react-email+preview@0.0.
|
|
84327
|
+
// ../../node_modules/.pnpm/@react-email+preview@0.0.14_react@19.2.3/node_modules/@react-email/preview/dist/index.mjs
|
|
84421
84328
|
import * as React6 from "react";
|
|
84422
84329
|
import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
84423
|
-
var __defProp7 = Object.defineProperty;
|
|
84424
|
-
var __defProps5 = Object.defineProperties;
|
|
84425
|
-
var __getOwnPropDescs5 = Object.getOwnPropertyDescriptors;
|
|
84426
|
-
var __getOwnPropSymbols5 = Object.getOwnPropertySymbols;
|
|
84427
|
-
var __hasOwnProp7 = Object.prototype.hasOwnProperty;
|
|
84428
|
-
var __propIsEnum5 = Object.prototype.propertyIsEnumerable;
|
|
84429
|
-
var __defNormalProp5 = (obj, key, value2) => (key in obj) ? __defProp7(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
|
|
84430
|
-
var __spreadValues5 = (a2, b5) => {
|
|
84431
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84432
|
-
if (__hasOwnProp7.call(b5, prop2))
|
|
84433
|
-
__defNormalProp5(a2, prop2, b5[prop2]);
|
|
84434
|
-
if (__getOwnPropSymbols5)
|
|
84435
|
-
for (var prop2 of __getOwnPropSymbols5(b5)) {
|
|
84436
|
-
if (__propIsEnum5.call(b5, prop2))
|
|
84437
|
-
__defNormalProp5(a2, prop2, b5[prop2]);
|
|
84438
|
-
}
|
|
84439
|
-
return a2;
|
|
84440
|
-
};
|
|
84441
|
-
var __spreadProps5 = (a2, b5) => __defProps5(a2, __getOwnPropDescs5(b5));
|
|
84442
|
-
var __objRest5 = (source, exclude) => {
|
|
84443
|
-
var target = {};
|
|
84444
|
-
for (var prop2 in source)
|
|
84445
|
-
if (__hasOwnProp7.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84446
|
-
target[prop2] = source[prop2];
|
|
84447
|
-
if (source != null && __getOwnPropSymbols5)
|
|
84448
|
-
for (var prop2 of __getOwnPropSymbols5(source)) {
|
|
84449
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum5.call(source, prop2))
|
|
84450
|
-
target[prop2] = source[prop2];
|
|
84451
|
-
}
|
|
84452
|
-
return target;
|
|
84453
|
-
};
|
|
84454
84330
|
var PREVIEW_MAX_LENGTH = 150;
|
|
84455
|
-
var Preview = React6.forwardRef((
|
|
84456
|
-
var _b = _a4, { children = "" } = _b, props = __objRest5(_b, ["children"]);
|
|
84331
|
+
var Preview = React6.forwardRef(({ children = "", ...props }, ref) => {
|
|
84457
84332
|
const text2 = (Array.isArray(children) ? children.join("") : children).substring(0, PREVIEW_MAX_LENGTH);
|
|
84458
|
-
return /* @__PURE__ */ jsxs3("div",
|
|
84333
|
+
return /* @__PURE__ */ jsxs3("div", {
|
|
84459
84334
|
style: {
|
|
84460
84335
|
display: "none",
|
|
84461
84336
|
overflow: "hidden",
|
|
@@ -84464,109 +84339,42 @@ var Preview = React6.forwardRef((_a4, ref) => {
|
|
|
84464
84339
|
maxHeight: 0,
|
|
84465
84340
|
maxWidth: 0
|
|
84466
84341
|
},
|
|
84467
|
-
"data-skip-in-text": true
|
|
84468
|
-
|
|
84342
|
+
"data-skip-in-text": true,
|
|
84343
|
+
...props,
|
|
84469
84344
|
ref,
|
|
84470
|
-
children: [
|
|
84471
|
-
|
|
84472
|
-
renderWhiteSpace(text2)
|
|
84473
|
-
]
|
|
84474
|
-
}));
|
|
84345
|
+
children: [text2, renderWhiteSpace(text2)]
|
|
84346
|
+
});
|
|
84475
84347
|
});
|
|
84476
84348
|
Preview.displayName = "Preview";
|
|
84477
84349
|
var whiteSpaceCodes = "\xA0\u200C\u200B\u200D\u200E\u200F\uFEFF";
|
|
84478
84350
|
var renderWhiteSpace = (text2) => {
|
|
84479
|
-
if (text2.length >= PREVIEW_MAX_LENGTH)
|
|
84351
|
+
if (text2.length >= PREVIEW_MAX_LENGTH)
|
|
84480
84352
|
return null;
|
|
84481
|
-
}
|
|
84482
84353
|
return /* @__PURE__ */ jsx8("div", { children: whiteSpaceCodes.repeat(PREVIEW_MAX_LENGTH - text2.length) });
|
|
84483
84354
|
};
|
|
84484
84355
|
|
|
84485
|
-
// ../../node_modules/.pnpm/@react-email+section@0.0.
|
|
84356
|
+
// ../../node_modules/.pnpm/@react-email+section@0.0.17_react@19.2.3/node_modules/@react-email/section/dist/index.mjs
|
|
84486
84357
|
import * as React7 from "react";
|
|
84487
84358
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
84488
|
-
var
|
|
84489
|
-
|
|
84490
|
-
var __getOwnPropDescs6 = Object.getOwnPropertyDescriptors;
|
|
84491
|
-
var __getOwnPropSymbols6 = Object.getOwnPropertySymbols;
|
|
84492
|
-
var __hasOwnProp8 = Object.prototype.hasOwnProperty;
|
|
84493
|
-
var __propIsEnum6 = Object.prototype.propertyIsEnumerable;
|
|
84494
|
-
var __defNormalProp6 = (obj, key, value2) => (key in obj) ? __defProp8(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
|
|
84495
|
-
var __spreadValues6 = (a2, b5) => {
|
|
84496
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84497
|
-
if (__hasOwnProp8.call(b5, prop2))
|
|
84498
|
-
__defNormalProp6(a2, prop2, b5[prop2]);
|
|
84499
|
-
if (__getOwnPropSymbols6)
|
|
84500
|
-
for (var prop2 of __getOwnPropSymbols6(b5)) {
|
|
84501
|
-
if (__propIsEnum6.call(b5, prop2))
|
|
84502
|
-
__defNormalProp6(a2, prop2, b5[prop2]);
|
|
84503
|
-
}
|
|
84504
|
-
return a2;
|
|
84505
|
-
};
|
|
84506
|
-
var __spreadProps6 = (a2, b5) => __defProps6(a2, __getOwnPropDescs6(b5));
|
|
84507
|
-
var __objRest6 = (source, exclude) => {
|
|
84508
|
-
var target = {};
|
|
84509
|
-
for (var prop2 in source)
|
|
84510
|
-
if (__hasOwnProp8.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84511
|
-
target[prop2] = source[prop2];
|
|
84512
|
-
if (source != null && __getOwnPropSymbols6)
|
|
84513
|
-
for (var prop2 of __getOwnPropSymbols6(source)) {
|
|
84514
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum6.call(source, prop2))
|
|
84515
|
-
target[prop2] = source[prop2];
|
|
84516
|
-
}
|
|
84517
|
-
return target;
|
|
84518
|
-
};
|
|
84519
|
-
var Section = React7.forwardRef((_a4, ref) => {
|
|
84520
|
-
var _b = _a4, { children, style } = _b, props = __objRest6(_b, ["children", "style"]);
|
|
84521
|
-
return /* @__PURE__ */ jsx9("table", __spreadProps6(__spreadValues6({
|
|
84359
|
+
var Section = React7.forwardRef(({ children, style, ...props }, ref) => {
|
|
84360
|
+
return /* @__PURE__ */ jsx9("table", {
|
|
84522
84361
|
align: "center",
|
|
84523
84362
|
width: "100%",
|
|
84524
84363
|
border: 0,
|
|
84525
84364
|
cellPadding: "0",
|
|
84526
84365
|
cellSpacing: "0",
|
|
84527
|
-
role: "presentation"
|
|
84528
|
-
|
|
84366
|
+
role: "presentation",
|
|
84367
|
+
...props,
|
|
84529
84368
|
ref,
|
|
84530
84369
|
style,
|
|
84531
84370
|
children: /* @__PURE__ */ jsx9("tbody", { children: /* @__PURE__ */ jsx9("tr", { children: /* @__PURE__ */ jsx9("td", { children }) }) })
|
|
84532
|
-
})
|
|
84371
|
+
});
|
|
84533
84372
|
});
|
|
84534
84373
|
Section.displayName = "Section";
|
|
84535
84374
|
|
|
84536
|
-
// ../../node_modules/.pnpm/@react-email+text@0.1.
|
|
84375
|
+
// ../../node_modules/.pnpm/@react-email+text@0.1.6_react@19.2.3/node_modules/@react-email/text/dist/index.mjs
|
|
84537
84376
|
import * as React8 from "react";
|
|
84538
84377
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
84539
|
-
var __defProp9 = Object.defineProperty;
|
|
84540
|
-
var __defProps7 = Object.defineProperties;
|
|
84541
|
-
var __getOwnPropDescs7 = Object.getOwnPropertyDescriptors;
|
|
84542
|
-
var __getOwnPropSymbols7 = Object.getOwnPropertySymbols;
|
|
84543
|
-
var __hasOwnProp9 = Object.prototype.hasOwnProperty;
|
|
84544
|
-
var __propIsEnum7 = Object.prototype.propertyIsEnumerable;
|
|
84545
|
-
var __defNormalProp7 = (obj, key, value2) => (key in obj) ? __defProp9(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
|
|
84546
|
-
var __spreadValues7 = (a2, b5) => {
|
|
84547
|
-
for (var prop2 in b5 || (b5 = {}))
|
|
84548
|
-
if (__hasOwnProp9.call(b5, prop2))
|
|
84549
|
-
__defNormalProp7(a2, prop2, b5[prop2]);
|
|
84550
|
-
if (__getOwnPropSymbols7)
|
|
84551
|
-
for (var prop2 of __getOwnPropSymbols7(b5)) {
|
|
84552
|
-
if (__propIsEnum7.call(b5, prop2))
|
|
84553
|
-
__defNormalProp7(a2, prop2, b5[prop2]);
|
|
84554
|
-
}
|
|
84555
|
-
return a2;
|
|
84556
|
-
};
|
|
84557
|
-
var __spreadProps7 = (a2, b5) => __defProps7(a2, __getOwnPropDescs7(b5));
|
|
84558
|
-
var __objRest7 = (source, exclude) => {
|
|
84559
|
-
var target = {};
|
|
84560
|
-
for (var prop2 in source)
|
|
84561
|
-
if (__hasOwnProp9.call(source, prop2) && exclude.indexOf(prop2) < 0)
|
|
84562
|
-
target[prop2] = source[prop2];
|
|
84563
|
-
if (source != null && __getOwnPropSymbols7)
|
|
84564
|
-
for (var prop2 of __getOwnPropSymbols7(source)) {
|
|
84565
|
-
if (exclude.indexOf(prop2) < 0 && __propIsEnum7.call(source, prop2))
|
|
84566
|
-
target[prop2] = source[prop2];
|
|
84567
|
-
}
|
|
84568
|
-
return target;
|
|
84569
|
-
};
|
|
84570
84378
|
function parseMarginValue(value2) {
|
|
84571
84379
|
if (typeof value2 === "number")
|
|
84572
84380
|
return {
|
|
@@ -84577,38 +84385,34 @@ function parseMarginValue(value2) {
|
|
|
84577
84385
|
};
|
|
84578
84386
|
if (typeof value2 === "string") {
|
|
84579
84387
|
const values2 = value2.toString().trim().split(/\s+/);
|
|
84580
|
-
if (values2.length === 1)
|
|
84388
|
+
if (values2.length === 1)
|
|
84581
84389
|
return {
|
|
84582
84390
|
marginTop: values2[0],
|
|
84583
84391
|
marginBottom: values2[0],
|
|
84584
84392
|
marginLeft: values2[0],
|
|
84585
84393
|
marginRight: values2[0]
|
|
84586
84394
|
};
|
|
84587
|
-
|
|
84588
|
-
if (values2.length === 2) {
|
|
84395
|
+
if (values2.length === 2)
|
|
84589
84396
|
return {
|
|
84590
84397
|
marginTop: values2[0],
|
|
84591
84398
|
marginRight: values2[1],
|
|
84592
84399
|
marginBottom: values2[0],
|
|
84593
84400
|
marginLeft: values2[1]
|
|
84594
84401
|
};
|
|
84595
|
-
|
|
84596
|
-
if (values2.length === 3) {
|
|
84402
|
+
if (values2.length === 3)
|
|
84597
84403
|
return {
|
|
84598
84404
|
marginTop: values2[0],
|
|
84599
84405
|
marginRight: values2[1],
|
|
84600
84406
|
marginBottom: values2[2],
|
|
84601
84407
|
marginLeft: values2[1]
|
|
84602
84408
|
};
|
|
84603
|
-
|
|
84604
|
-
if (values2.length === 4) {
|
|
84409
|
+
if (values2.length === 4)
|
|
84605
84410
|
return {
|
|
84606
84411
|
marginTop: values2[0],
|
|
84607
84412
|
marginRight: values2[1],
|
|
84608
84413
|
marginBottom: values2[2],
|
|
84609
84414
|
marginLeft: values2[3]
|
|
84610
84415
|
};
|
|
84611
|
-
}
|
|
84612
84416
|
}
|
|
84613
84417
|
return {
|
|
84614
84418
|
marginTop: undefined,
|
|
@@ -84624,38 +84428,39 @@ function computeMargins(properties) {
|
|
|
84624
84428
|
marginBottom: undefined,
|
|
84625
84429
|
marginLeft: undefined
|
|
84626
84430
|
};
|
|
84627
|
-
for (const [key, value2] of Object.entries(properties))
|
|
84628
|
-
if (key === "margin")
|
|
84431
|
+
for (const [key, value2] of Object.entries(properties))
|
|
84432
|
+
if (key === "margin")
|
|
84629
84433
|
result = parseMarginValue(value2);
|
|
84630
|
-
|
|
84434
|
+
else if (key === "marginTop")
|
|
84631
84435
|
result.marginTop = value2;
|
|
84632
|
-
|
|
84436
|
+
else if (key === "marginRight")
|
|
84633
84437
|
result.marginRight = value2;
|
|
84634
|
-
|
|
84438
|
+
else if (key === "marginBottom")
|
|
84635
84439
|
result.marginBottom = value2;
|
|
84636
|
-
|
|
84440
|
+
else if (key === "marginLeft")
|
|
84637
84441
|
result.marginLeft = value2;
|
|
84638
|
-
}
|
|
84639
|
-
}
|
|
84640
84442
|
return result;
|
|
84641
84443
|
}
|
|
84642
|
-
var Text3 = React8.forwardRef((
|
|
84643
|
-
var _b = _a4, { style } = _b, props = __objRest7(_b, ["style"]);
|
|
84444
|
+
var Text3 = React8.forwardRef(({ style, ...props }, ref) => {
|
|
84644
84445
|
const defaultMargins = {};
|
|
84645
|
-
if (
|
|
84446
|
+
if (style?.marginTop === undefined)
|
|
84646
84447
|
defaultMargins.marginTop = "16px";
|
|
84647
|
-
|
|
84648
|
-
if ((style == null ? undefined : style.marginBottom) === undefined) {
|
|
84448
|
+
if (style?.marginBottom === undefined)
|
|
84649
84449
|
defaultMargins.marginBottom = "16px";
|
|
84650
|
-
|
|
84651
|
-
|
|
84652
|
-
|
|
84450
|
+
const margins = computeMargins({
|
|
84451
|
+
...defaultMargins,
|
|
84452
|
+
...style
|
|
84453
|
+
});
|
|
84454
|
+
return /* @__PURE__ */ jsx10("p", {
|
|
84455
|
+
...props,
|
|
84653
84456
|
ref,
|
|
84654
|
-
style:
|
|
84457
|
+
style: {
|
|
84655
84458
|
fontSize: "14px",
|
|
84656
|
-
lineHeight: "24px"
|
|
84657
|
-
|
|
84658
|
-
|
|
84459
|
+
lineHeight: "24px",
|
|
84460
|
+
...style,
|
|
84461
|
+
...margins
|
|
84462
|
+
}
|
|
84463
|
+
});
|
|
84659
84464
|
});
|
|
84660
84465
|
Text3.displayName = "Text";
|
|
84661
84466
|
|
|
@@ -2971,7 +2971,7 @@ var mutualUsersSelector = selectorFamily({
|
|
|
2971
2971
|
const rooms = get(roomsOfUsersAtoms, userKey);
|
|
2972
2972
|
for (const room of rooms)
|
|
2973
2973
|
return [...get(usersOfRoomsAtoms, room)];
|
|
2974
|
-
return [];
|
|
2974
|
+
return [userKey];
|
|
2975
2975
|
}
|
|
2976
2976
|
});
|
|
2977
2977
|
var ownersOfRooms = join({
|
|
@@ -3089,7 +3089,7 @@ var mutualUsersSelector = selectorFamily({
|
|
|
3089
3089
|
const rooms = get(roomsOfUsersAtoms, userKey);
|
|
3090
3090
|
for (const room of rooms)
|
|
3091
3091
|
return [...get(usersOfRoomsAtoms, room)];
|
|
3092
|
-
return [];
|
|
3092
|
+
return [userKey];
|
|
3093
3093
|
}
|
|
3094
3094
|
});
|
|
3095
3095
|
var ownersOfRooms = join({
|
|
@@ -16913,7 +16913,7 @@ function date4(params) {
|
|
|
16913
16913
|
|
|
16914
16914
|
// ../../node_modules/.pnpm/zod@4.2.1/node_modules/zod/v4/classic/external.js
|
|
16915
16915
|
config(en_default());
|
|
16916
|
-
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.
|
|
16916
|
+
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3__d68e4552c4a26ddbd64be027dca8e338/node_modules/safegen/dist/safegen-DHhNOdib.js
|
|
16917
16917
|
function createSafeDataGenerator(gen, logger) {
|
|
16918
16918
|
return function generateFromSchema({ schema, fallback, toJsonSchema = exports_external.toJSONSchema }) {
|
|
16919
16919
|
const jsonSchema = toJsonSchema(schema);
|
|
@@ -16945,7 +16945,7 @@ function jsonSchemaToInstruction(jsonSchema) {
|
|
|
16945
16945
|
`);
|
|
16946
16946
|
}
|
|
16947
16947
|
|
|
16948
|
-
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.
|
|
16948
|
+
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3__d68e4552c4a26ddbd64be027dca8e338/node_modules/safegen/dist/primitives-DeHVhToL.js
|
|
16949
16949
|
function formatIssue(prompt, actual, issue2, consequence) {
|
|
16950
16950
|
const lines = [
|
|
16951
16951
|
`SafeGen saw that invalid data was produced for the prompt:`,
|
|
@@ -24091,7 +24091,7 @@ var _deployments_endpoints = new Set([
|
|
|
24091
24091
|
"/batches",
|
|
24092
24092
|
"/images/edits"
|
|
24093
24093
|
]);
|
|
24094
|
-
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.
|
|
24094
|
+
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3__d68e4552c4a26ddbd64be027dca8e338/node_modules/safegen/dist/openai/index.js
|
|
24095
24095
|
function buildOpenAiRequestParams(model, ...params) {
|
|
24096
24096
|
const [instruction, jsonSchema, _, previouslyFailedResponses] = params;
|
|
24097
24097
|
const messages = [{
|
|
@@ -46130,7 +46130,7 @@ async function getLogs(logger, logFilePath = `/var/log/nginx/access.log`, now =
|
|
|
46130
46130
|
});
|
|
46131
46131
|
}
|
|
46132
46132
|
|
|
46133
|
-
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.
|
|
46133
|
+
// ../../node_modules/.pnpm/safegen@0.8.3_@floating-ui+react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3__d68e4552c4a26ddbd64be027dca8e338/node_modules/safegen/dist/arktype/index.js
|
|
46134
46134
|
function arktypeToJsonSchema(type2) {
|
|
46135
46135
|
return type2.toJsonSchema();
|
|
46136
46136
|
}
|
package/bin/frontend.bun.js
CHANGED
|
@@ -11540,7 +11540,7 @@ var mutualUsersSelector = selectorFamily({
|
|
|
11540
11540
|
const rooms = get(roomsOfUsersAtoms, userKey);
|
|
11541
11541
|
for (const room of rooms)
|
|
11542
11542
|
return [...get(usersOfRoomsAtoms, room)];
|
|
11543
|
-
return [];
|
|
11543
|
+
return [userKey];
|
|
11544
11544
|
}
|
|
11545
11545
|
});
|
|
11546
11546
|
var ownersOfRooms = join({
|
|
@@ -11959,6 +11959,7 @@ var {file, serve } = globalThis.Bun;
|
|
|
11959
11959
|
import { readFileSync } from "fs";
|
|
11960
11960
|
import { createServer as createHttpServer } from "http";
|
|
11961
11961
|
import { createServer as createSecureServer } from "https";
|
|
11962
|
+
import { hostname } from "os";
|
|
11962
11963
|
import { resolve } from "path";
|
|
11963
11964
|
|
|
11964
11965
|
// ../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_arktype@2.1.29_typescript@5.9.3_zod@4.2.1/node_modules/@t3-oss/env-core/dist/standard.js
|
|
@@ -12085,8 +12086,8 @@ var env2 = createEnv({
|
|
|
12085
12086
|
// dev/https-dev.ts
|
|
12086
12087
|
var devDir = resolve(import.meta.dirname, `../dev`);
|
|
12087
12088
|
var httpsDev = env2.VITE_DEV_HTTPS ? {
|
|
12088
|
-
cert: readFileSync(resolve(devDir,
|
|
12089
|
-
key: readFileSync(resolve(devDir,
|
|
12089
|
+
cert: readFileSync(resolve(devDir, `${hostname()}.pem`), `utf-8`),
|
|
12090
|
+
key: readFileSync(resolve(devDir, `${hostname()}-key.pem`), `utf-8`)
|
|
12090
12091
|
} : undefined;
|
|
12091
12092
|
function createServer(listener) {
|
|
12092
12093
|
if (httpsDev) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tempest.games",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.105",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@floating-ui/react": "0.27.16",
|
|
29
29
|
"@js-temporal/polyfill": "0.5.1",
|
|
30
|
-
"@react-email/components": "1.0.
|
|
30
|
+
"@react-email/components": "1.0.3",
|
|
31
31
|
"@t3-oss/env-core": "0.13.10",
|
|
32
32
|
"@trpc/client": "11.8.1",
|
|
33
33
|
"@trpc/server": "11.8.1",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"postgres": "3.4.7",
|
|
41
41
|
"react": "19.2.3",
|
|
42
42
|
"react-dom": "19.2.3",
|
|
43
|
-
"react-email": "5.1.
|
|
43
|
+
"react-email": "5.1.1",
|
|
44
44
|
"resend": "6.6.0",
|
|
45
45
|
"safegen": "0.8.3",
|
|
46
46
|
"socket.io": "4.8.3",
|
|
47
47
|
"socket.io-client": "4.8.3",
|
|
48
|
-
"atom.io": "0.46.12",
|
|
49
48
|
"safedeposit": "0.1.2",
|
|
50
|
-
"treetrunks": "0.1.5"
|
|
49
|
+
"treetrunks": "0.1.5",
|
|
50
|
+
"atom.io": "0.46.13"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@react-email/preview-server": "5.1.
|
|
53
|
+
"@react-email/preview-server": "5.1.1",
|
|
54
54
|
"@types/bun": "npm:bun-types@1.3.5",
|
|
55
55
|
"@types/cors": "2.8.19",
|
|
56
56
|
"@types/node": "25.0.3",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"sass-embedded": "1.97.1",
|
|
70
70
|
"vite": "7.3.0",
|
|
71
71
|
"vitest": "4.0.16",
|
|
72
|
-
"flightdeck": "0.3.
|
|
72
|
+
"flightdeck": "0.3.33",
|
|
73
73
|
"varmint": "0.5.11"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|