@atom.io/template-preact-svg-editor 0.0.44 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @atom.io/template-preact-svg-editor@0.0.44 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
2
+ > @atom.io/template-preact-svg-editor@0.0.46 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
3
3
  > vite build
4
4
 
5
5
  vite v7.3.1 building client environment for production...
@@ -9,5 +9,5 @@ rendering chunks...
9
9
  computing gzip size...
10
10
  dist/index.html  0.52 kB │ gzip: 0.33 kB
11
11
  dist/assets/index-jy4_OpZh.css  1.60 kB │ gzip: 0.72 kB
12
- dist/assets/index-kIpB1JKY.js 81.69 kB │ gzip: 25.92 kB
13
- ✓ built in 720ms
12
+ dist/assets/index-BpDVcCjN.js 81.46 kB │ gzip: 25.82 kB
13
+ ✓ built in 651ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atom.io/template-preact-svg-editor
2
2
 
3
+ ## 0.0.46
4
+
5
+ ### Patch Changes
6
+
7
+ - edd6dac: 🔧 Enable ESLint rules `atom.io/exact-catch-types` and `atom.io/naming-convention`.
8
+
9
+ ## 0.0.45
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [db9547a]
14
+ - atom.io@0.46.24
15
+
3
16
  ## 0.0.44
4
17
 
5
18
  ### Patch Changes
@@ -0,0 +1,14 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(s){if(s.ep)return;s.ep=!0;const r=n(s);fetch(s.href,r)}})();var De,m,_n,X,At,dn,yn,pn,ut,Xe,Qe,hn,Me={},Oe=[],ao=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,ge=Array.isArray;function W(e,t){for(var n in t)e[n]=t[n];return e}function ft(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function et(e,t,n){var o,s,r,i={};for(r in t)r=="key"?o=t[r]:r=="ref"?s=t[r]:i[r]=t[r];if(arguments.length>2&&(i.children=arguments.length>3?De.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)i[r]===void 0&&(i[r]=e.defaultProps[r]);return Re(e,i,o,s,null)}function Re(e,t,n,o,s){var r={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++_n,__i:-1,__u:0};return s==null&&m.vnode!=null&&m.vnode(r),r}function P(e){return e.children}function z(e,t){this.props=e,this.context=t}function se(e,t){if(t==null)return e.__?se(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?se(e):null}function lo(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,o=[],s=[],r=W({},t);r.__v=t.__v+1,m.vnode&&m.vnode(r),_t(e.__P,r,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,o,n??se(t),!!(32&t.__u),s),r.__v=t.__v,r.__.__k[r.__i]=r,kn(o,r,s),t.__e=t.__=null,r.__e!=n&&mn(r)}}function mn(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),mn(e)}function tt(e){(!e.__d&&(e.__d=!0)&&X.push(e)&&!Ee.__r++||At!=m.debounceRendering)&&((At=m.debounceRendering)||dn)(Ee)}function Ee(){for(var e,t=1;X.length;)X.length>t&&X.sort(yn),e=X.shift(),t=X.length,lo(e);Ee.__r=0}function gn(e,t,n,o,s,r,i,a,u,f,c){var l,d,_,y,p,k,g,h=o&&o.__k||Oe,v=t.length;for(u=co(n,t,h,u,v),l=0;l<v;l++)(_=n.__k[l])!=null&&(d=_.__i!=-1&&h[_.__i]||Me,_.__i=l,k=_t(e,_,d,s,r,i,a,u,f,c),y=_.__e,_.ref&&d.ref!=_.ref&&(d.ref&&dt(d.ref,null,_),c.push(_.ref,_.__c||y,_)),p==null&&y!=null&&(p=y),(g=!!(4&_.__u))||d.__k===_.__k?u=bn(_,u,e,g):typeof _.type=="function"&&k!==void 0?u=k:y&&(u=y.nextSibling),_.__u&=-7);return n.__e=p,u}function co(e,t,n,o,s){var r,i,a,u,f,c=n.length,l=c,d=0;for(e.__k=new Array(s),r=0;r<s;r++)(i=t[r])!=null&&typeof i!="boolean"&&typeof i!="function"?(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?i=e.__k[r]=Re(null,i,null,null,null):ge(i)?i=e.__k[r]=Re(P,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?i=e.__k[r]=Re(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):e.__k[r]=i,u=r+d,i.__=e,i.__b=e.__b+1,a=null,(f=i.__i=uo(i,n,u,l))!=-1&&(l--,(a=n[f])&&(a.__u|=2)),a==null||a.__v==null?(f==-1&&(s>c?d--:s<c&&d++),typeof i.type!="function"&&(i.__u|=4)):f!=u&&(f==u-1?d--:f==u+1?d++:(f>u?d--:d++,i.__u|=4))):e.__k[r]=null;if(l)for(r=0;r<c;r++)(a=n[r])!=null&&(2&a.__u)==0&&(a.__e==o&&(o=se(a)),vn(a,a));return o}function bn(e,t,n,o){var s,r;if(typeof e.type=="function"){for(s=e.__k,r=0;s&&r<s.length;r++)s[r]&&(s[r].__=e,t=bn(s[r],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=se(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Ae(e,t){return t=t||[],e==null||typeof e=="boolean"||(ge(e)?e.some(function(n){Ae(n,t)}):t.push(e)),t}function uo(e,t,n,o){var s,r,i,a=e.key,u=e.type,f=t[n],c=f!=null&&(2&f.__u)==0;if(f===null&&a==null||c&&a==f.key&&u==f.type)return n;if(o>(c?1:0)){for(s=n-1,r=n+1;s>=0||r<t.length;)if((f=t[i=s>=0?s--:r++])!=null&&(2&f.__u)==0&&a==f.key&&u==f.type)return i}return-1}function jt(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||ao.test(t)?n:n+"px"}function Se(e,t,n,o,s){var r,i;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||jt(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||jt(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")r=t!=(t=t.replace(pn,"$1")),i=t.toLowerCase(),t=i in e||t=="onFocusOut"||t=="onFocusIn"?i.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?o?n.u=o.u:(n.u=ut,e.addEventListener(t,r?Qe:Xe,r)):e.removeEventListener(t,r?Qe:Xe,r);else{if(s=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Pt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=ut++;else if(t.t<n.u)return;return n(m.event?m.event(t):t)}}}function _t(e,t,n,o,s,r,i,a,u,f){var c,l,d,_,y,p,k,g,h,v,x,O,J,I,A,E=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(u=!!(32&n.__u),r=[a=t.__e=n.__e]),(c=m.__b)&&c(t);e:if(typeof E=="function")try{if(g=t.props,h="prototype"in E&&E.prototype.render,v=(c=E.contextType)&&o[c.__c],x=c?v?v.props.value:c.__:o,n.__c?k=(l=t.__c=n.__c).__=l.__E:(h?t.__c=l=new E(g,x):(t.__c=l=new z(g,x),l.constructor=E,l.render=_o),v&&v.sub(l),l.state||(l.state={}),l.__n=o,d=l.__d=!0,l.__h=[],l._sb=[]),h&&l.__s==null&&(l.__s=l.state),h&&E.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=W({},l.__s)),W(l.__s,E.getDerivedStateFromProps(g,l.__s))),_=l.props,y=l.state,l.__v=t,d)h&&E.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),h&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(h&&E.getDerivedStateFromProps==null&&g!==_&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(g,x),t.__v==n.__v||!l.__e&&l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(g,l.__s,x)===!1){t.__v!=n.__v&&(l.props=g,l.state=l.__s,l.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(V){V&&(V.__=t)}),Oe.push.apply(l.__h,l._sb),l._sb=[],l.__h.length&&i.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(g,l.__s,x),h&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(_,y,p)})}if(l.context=x,l.props=g,l.__P=e,l.__e=!1,O=m.__r,J=0,h)l.state=l.__s,l.__d=!1,O&&O(t),c=l.render(l.props,l.state,l.context),Oe.push.apply(l.__h,l._sb),l._sb=[];else do l.__d=!1,O&&O(t),c=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++J<25);l.state=l.__s,l.getChildContext!=null&&(o=W(W({},o),l.getChildContext())),h&&!d&&l.getSnapshotBeforeUpdate!=null&&(p=l.getSnapshotBeforeUpdate(_,y)),I=c!=null&&c.type===P&&c.key==null?wn(c.props.children):c,a=gn(e,ge(I)?I:[I],t,n,o,s,r,i,a,u,f),l.base=t.__e,t.__u&=-161,l.__h.length&&i.push(l),k&&(l.__E=l.__=null)}catch(V){if(t.__v=null,u||r!=null)if(V.then){for(t.__u|=u?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;r[r.indexOf(a)]=null,t.__e=a}else{for(A=r.length;A--;)ft(r[A]);nt(t)}else t.__e=n.__e,t.__k=n.__k,V.then||nt(t);m.__e(V,t,n)}else r==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):a=t.__e=fo(n.__e,t,n,o,s,r,i,u,f);return(c=m.diffed)&&c(t),128&t.__u?void 0:a}function nt(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(nt))}function kn(e,t,n){for(var o=0;o<n.length;o++)dt(n[o],n[++o],n[++o]);m.__c&&m.__c(t,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(r){r.call(s)})}catch(r){m.__e(r,s.__v)}})}function wn(e){return typeof e!="object"||e==null||e.__b>0?e:ge(e)?e.map(wn):W({},e)}function fo(e,t,n,o,s,r,i,a,u){var f,c,l,d,_,y,p,k=n.props||Me,g=t.props,h=t.type;if(h=="svg"?s="http://www.w3.org/2000/svg":h=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),r!=null){for(f=0;f<r.length;f++)if((_=r[f])&&"setAttribute"in _==!!h&&(h?_.localName==h:_.nodeType==3)){e=_,r[f]=null;break}}if(e==null){if(h==null)return document.createTextNode(g);e=document.createElementNS(s,h,g.is&&g),a&&(m.__m&&m.__m(t,r),a=!1),r=null}if(h==null)k===g||a&&e.data==g||(e.data=g);else{if(r=r&&De.call(e.childNodes),!a&&r!=null)for(k={},f=0;f<e.attributes.length;f++)k[(_=e.attributes[f]).name]=_.value;for(f in k)_=k[f],f=="dangerouslySetInnerHTML"?l=_:f=="children"||f in g||f=="value"&&"defaultValue"in g||f=="checked"&&"defaultChecked"in g||Se(e,f,null,_,s);for(f in g)_=g[f],f=="children"?d=_:f=="dangerouslySetInnerHTML"?c=_:f=="value"?y=_:f=="checked"?p=_:a&&typeof _!="function"||k[f]===_||Se(e,f,_,k[f],s);if(c)a||l&&(c.__html==l.__html||c.__html==e.innerHTML)||(e.innerHTML=c.__html),t.__k=[];else if(l&&(e.innerHTML=""),gn(t.type=="template"?e.content:e,ge(d)?d:[d],t,n,o,h=="foreignObject"?"http://www.w3.org/1999/xhtml":s,r,i,r?r[0]:n.__k&&se(n,0),a,u),r!=null)for(f=r.length;f--;)ft(r[f]);a||(f="value",h=="progress"&&y==null?e.removeAttribute("value"):y!=null&&(y!==e[f]||h=="progress"&&!y||h=="option"&&y!=k[f])&&Se(e,f,y,k[f],s),f="checked",p!=null&&p!=e[f]&&Se(e,f,p,k[f],s))}return e}function dt(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(s){m.__e(s,n)}}function vn(e,t,n){var o,s;if(m.unmount&&m.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||dt(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(r){m.__e(r,t)}o.base=o.__P=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&vn(o[s],t,n||typeof e.type!="function");n||ft(e.__e),e.__c=e.__=e.__e=void 0}function _o(e,t,n){return this.constructor(e,n)}function yo(e,t,n){var o,s,r,i;t==document&&(t=document.documentElement),m.__&&m.__(e,t),s=(o=!1)?null:t.__k,r=[],i=[],_t(t,e=t.__k=et(P,null,[e]),s||Me,Me,t.namespaceURI,s?null:t.firstChild?De.call(t.childNodes):null,r,s?s.__e:t.firstChild,o,i),kn(r,e,i)}function po(e){function t(n){var o,s;return this.getChildContext||(o=new Set,(s={})[t.__c]=this,this.getChildContext=function(){return s},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(r){this.props.value!=r.value&&o.forEach(function(i){i.__e=!0,tt(i)})},this.sub=function(r){o.add(r);var i=r.componentWillUnmount;r.componentWillUnmount=function(){o&&o.delete(r),i&&i.call(r)}}),n.children}return t.__c="__cC"+hn++,t.__=e,t.Provider=t.__l=(t.Consumer=function(n,o){return n.children(o)}).contextType=t,t}De=Oe.slice,m={__e:function(e,t,n,o){for(var s,r,i;t=t.__;)if((s=t.__c)&&!s.__)try{if((r=s.constructor)&&r.getDerivedStateFromError!=null&&(s.setState(r.getDerivedStateFromError(e)),i=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),i=s.__d),i)return s.__E=s}catch(a){e=a}throw e}},_n=0,z.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=W({},this.state),typeof e=="function"&&(e=e(W({},n),this.props)),e&&W(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),tt(this))},z.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),tt(this))},z.prototype.render=P,X=[],dn=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,yn=function(e,t){return e.__v.__b-t.__v.__b},Ee.__r=0,pn=/(PointerCapture)$|Capture$/i,ut=0,Xe=Pt(!1),Qe=Pt(!0),hn=0;var ho=0;function b(e,t,n,o,s,r){t||(t={});var i,a,u=t;if("ref"in u)for(a in u={},t)a=="ref"?i=t[a]:u[a]=t[a];var f={type:e,props:u,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ho,__i:-1,__u:0,__source:s,__self:r};if(typeof e=="function"&&(i=e.defaultProps))for(a in i)u[a]===void 0&&(u[a]=i[a]);return m.vnode&&m.vnode(f),f}const Sn="",$n="",Kn="",Rn="",Nt=e=>{if(e===null)return $n;switch(typeof e){case"string":return Kn+e;case"number":return Rn+e;case"boolean":return Sn+ +e;case"object":return JSON.stringify(e)}},Ft=e=>{switch(e[0]){case Kn:return e.slice(1);case Rn:return+e.slice(1);case Sn:return e.slice(1)==="1";case $n:return null;case"[":return JSON.parse(e)}};function mo(e){const t={};let n=0;for(const o of e)t[o]=n,t[n]=o,++n;return t}function Q(e){return JSON.parse(e)}const T=e=>JSON.stringify(e),Dt=mo(["add","delete","clear"]);var go=class ce extends Set{mode="record";subject=new S;constructor(t){super(t)}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(t){return new ce(t)}add(t){const n=super.add(t);return this.mode==="record"&&this.emit({type:"add",value:t}),n}clear(){const t=this.mode==="record"?[...this]:null;super.clear(),t&&this.emit({type:"clear",values:t})}delete(t){const n=super.delete(t);return this.mode==="record"&&this.emit({type:"delete",value:t}),n}subscribe(t,n){return this.subject.subscribe(t,n)}emit(t){this.subject.next(ce.packUpdate(t))}do(t){this.mode="playback";const n=ce.unpackUpdate(t);switch(n.type){case"add":this.add(n.value);break;case"delete":this.delete(n.value);break;case"clear":this.clear()}return this.mode="record",null}undo(t){const n=ce.unpackUpdate(t);switch(this.mode="playback",n.type){case"add":this.delete(n.value);break;case"delete":this.add(n.value);break;case"clear":{const o=n.values;for(const s of o)this.add(s)}}return this.mode="record",null}static packUpdate(t){const n=Dt[t.type]+"";return t.type==="clear"?n+t.values.map(Nt).join(""):n+Nt(t.value)}static unpackUpdate(t){const[n,o]=t.split(""),s=Dt[n];return s==="clear"?{type:"clear",values:o.split("").map(Ft)}:{type:s,value:Ft(o)}}};function Tn(e=Math.random){return e().toString(36).slice(2)}function w(e){let t=e;for(;t.child!==null;)t=t.child;return t}function yt(e){let t=e;for(;t.parent!==null;)t=t.parent;return t}const bo=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function G(e){const t=Object.prototype.toString.call(e);return bo.test(t)}function It(e,t){return G(e)?e(t):e}var ot=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((o,s)=>{t=o,n=s}),this.resolve=t,this.reject=n,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){e===this.fate&&(this.resolve(t),this.done=!0)}fail(e,t){e===this.fate&&(this.reject(t),this.done=!0)}use(e){if(this!==e)if(e instanceof Promise){const t=e;this.fate=t,t.then(n=>{this.pass(t,n)},n=>{this.fail(t,n)})}else this.resolve(e),this.fate=void 0}},S=class{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(const n of t)n(e)}},ko=class extends S{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},wo=class xn{_buffer;_index=0;constructor(t){let n;typeof t=="number"?n=t:n=t.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(t){this._buffer[this._index]=t,this._index=(this._index+1)%this._buffer.length}copy(){const t=new xn([...this._buffer]);return t._index=this._index,t}};function Y(e){const t={key:e.key,type:e.type};return"family"in e&&(t.family=e.family),t}var N=class extends Map{deleted=new Set;changed=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e)}set(e,t){return this.deleted.delete(e),this.source.has(e)&&this.changed.add(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)&&(this.deleted.add(e),this.changed.delete(e)),super.delete(e)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[e,t]of this.source)!this.deleted.has(e)&&!this.changed.has(e)&&(yield[e,t])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(const[,e]of this[Symbol.iterator]())yield e}forEach(e){for(const[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},Cn=class extends Set{deleted=new Set;source;constructor(e){super(),this.source=e}add(e){return this.source.has(e)?(this.deleted.delete(e),this):super.add(e)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)?(this.deleted.add(e),!0):super.delete(e)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const e of this.source)this.deleted.has(e)||(yield e)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},vo=class extends Map{deleted=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e)){const t=new Cn(this.source.get(e));return super.set(e,t),t}}set(e,t){return this.deleted.delete(e),super.set(e,t)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}},H=class Mn{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(t,n)=>`${t}:${n}`;warn;getRelatedKeys(t){return this.relations.get(t)}addRelation(t,n){let o=this.relations.get(t),s=this.relations.get(n);o?o.add(n):(o=new Set([n]),this.relations.set(t,o)),s?s.add(t):(s=new Set([t]),this.relations.set(n,s))}deleteRelation(t,n){const o=this.relations.get(t);if(o){o.delete(n),o.size===0&&this.relations.delete(t);const s=this.relations.get(n);s&&(s.delete(t),s.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(t,n){this.relations.set(t,new Set(n));for(const o of n){const s=new Set().add(t);this.relations.set(o,s)}}replaceRelationsSafely(t,n){const o=this.relations.get(t);let s=this.isAType?.(t)?t:void 0,r=s===void 0?t:void 0;if(o)for(const i of o){s??=i,r??=i;const a=this.relations.get(i);a&&(a.size===1?this.relations.delete(i):a.delete(t),this.contents.delete(this.makeContentKey(s,r)))}this.relations.set(t,new Set(n));for(const i of n){let a=this.relations.get(i);a?a.add(t):(a=new Set().add(t),this.relations.set(i,a))}}getContentInternal(t){return this.contents.get(t)}setContent(t,n){this.contents.set(t,n)}deleteContent(t){this.contents.delete(t)}constructor(t,n){if(this.a=t.between[0],this.b=t.between[1],this.cardinality=t.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const o=n?.source;o===void 0&&(this.relations=new Map(t.relations?.map(([s,r])=>[s,new Set(r)])),this.contents=new Map(t.contents)),o&&(this.relations=new vo(o.relations),this.contents=new N(o.contents))}if(n?.externalStore){const o=n.externalStore;this.has=(s,r)=>o.has(s,r),this.addRelation=(s,r)=>{o.addRelation(s,r)},this.deleteRelation=(s,r)=>{o.deleteRelation(s,r)},this.replaceRelationsSafely=(s,r)=>{o.replaceRelationsSafely(s,r)},this.replaceRelationsUnsafely=(s,r)=>{o.replaceRelationsUnsafely(s,r)},this.getRelatedKeys=(s=>o.getRelatedKeys(s)),o.getContent&&(this.getContentInternal=s=>o.getContent(s),this.setContent=(s,r)=>{o.setContent(s,r)},this.deleteContent=s=>{o.deleteContent(s)});for(const[s,r]of t.relations??[]){let i=this.isAType?.(s)?s:void 0,a=i===void 0?s:void 0;for(const u of r)i??=u,a??=u,this.addRelation(i,a)}for(const[s,r]of t.contents??[])this.setContent(s,r)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([t,n])=>[t,[...n]]),contents:[...this.contents.entries()]}}set(...t){let n,o,s;switch(t.length){case 1:{const r=t[0];n=r[this.a],o=r[this.b],s=void 0;break}case 2:{const r=t[0];typeof r=="string"?[n,o]=t:(n=r[this.a],o=r[this.b],s=t[1]);break}default:n=t[0],o=t[1],s=t[2];break}switch(this.cardinality){case"1:1":{const r=this.getRelatedKey(n);r&&r!==o&&this.delete(n,r)}case"1:n":{const r=this.getRelatedKey(o);r&&r!==n&&this.delete(r,o)}break}if(s){const r=this.makeContentKey(n,o);this.setContent(r,s)}return this.addRelation(n,o),this}delete(t,n){n=typeof n=="string"?n:t[this.b];const o=typeof t=="string"?t:t[this.a];if(o===void 0&&typeof n=="string"){const s=this.getRelatedKeys(n);if(s)for(const r of s)this.delete(r,n)}else if(typeof o=="string"&&n===void 0){const s=this.getRelatedKeys(o);if(s)for(const r of s)this.delete(o,r)}else if(typeof o=="string"&&typeof n=="string"){this.deleteRelation(o,n);const s=this.makeContentKey(o,n);this.deleteContent(s)}return this}getRelatedKey(t){const n=this.getRelatedKeys(t);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${t}": (${[...n].map(s=>`"${s}"`).join(", ")}). Only one related key was expected.`);let o;for(const s of n){o=s;break}return o}}replaceRelations(t,n,o){const s=!Array.isArray(n),r=s?Object.keys(n):n;if(o?.reckless?this.replaceRelationsUnsafely(t,r):this.replaceRelationsSafely(t,r),s)for(const i of r){const a=this.makeContentKey(t,i),u=n[i];this.setContent(a,u)}return this}getContent(t,n){const o=this.makeContentKey(t,n);return this.getContentInternal(o)}getRelationEntries(t){const n=t[this.a],o=t[this.b];if(n!==void 0&&o===void 0){const s=this.getRelatedKeys(n);if(s)return[...s].map(r=>[r,this.getContent(n,r)])}if(n===void 0&&o!==void 0){const s=this.getRelatedKeys(o);if(s)return[...s].map(r=>[r,this.getContent(r,o)])}return[]}has(t,n){return n?this.getRelatedKeys(t)?.has(n)??!1:this.relations.has(t)}overlay(){const t={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(t.isAType=this.isAType),this.isBType&&(t.isBType=this.isBType),this.isContent&&(t.isContent=this.isContent),this.warn&&(t.warn=this.warn),new Mn({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(t){const{relations:n,contents:o}=t;for(const[s,r]of n)if(r instanceof Cn){const{source:i}=r;for(const a of r.iterateOwn())i.add(a)}else this.relations.set(s,r);for(const s of n.deleted)this.relations.delete(s);for(const[s,r]of o)this.contents.set(s,r);for(const s of o.deleted)this.contents.delete(s)}};function So(e){return e.startsWith("🔍 ")}const $o=e=>{e.logger.info("🪂","transaction",e.transactionMeta.update.token.key,"Aborting transaction"),e.parent.child=null};function On(e,t,n){return(...o)=>R(e,t).run(o,n)}function Ko(e,t,n){const{token:o,update:{newValue:s,oldValue:r}}=t;D(e,o,s)}function Ro(e){const{stack:t}=e;return t?`
2
+ `+t.split(`
3
+ `)?.slice(1)?.join(`
4
+ `):""}function En(e,t,n,o="any"){const s=t,r=T(n),i=[],a=w(e);if(Array.isArray(s))for(const c of s){const l=T(c);a.molecules.get(l)?e.moleculeGraph.set(l,r,{source:l}):i.push(l)}else{const c=T(s);a.molecules.get(c)?e.moleculeGraph.set(c,r,{source:c}):i.push(c)}const u=new S;i.length===0&&a.molecules.set(r,{key:n,stringKey:r,dependsOn:o,subject:u});const f={type:"molecule_creation",key:n,provenance:s,timestamp:Date.now()};M(a)&&a.transactionMeta.phase==="building"?a.transactionMeta.update.subEvents.push(f):a.on.moleculeCreation.next(f);for(const c of i){const l=e.disposalTraces.buffer.find(d=>d?.key===c);e.logger.error("❌","key",n,"allocation failed:",`Could not allocate to ${c} in store "${e.config.name}".`,l?`
5
+ ${c} was most recently disposed
6
+ ${l.trace}`:`No previous disposal trace for ${c} was found.`)}return n}function pt(e,t){const n=T(t),o=e.molecules.get(n);if(!o){const d=e.disposalTraces.buffer.find(_=>_?.key===n);e.logger.error("❌","key",t,"deallocation failed:",`Could not find allocation for ${n} in store "${e.config.name}".`,d?`
7
+ This state was most recently deallocated
8
+ ${d.trace}`:`No previous disposal trace for ${n} was found.`);return}o.subject.next();const s=e.keyRefsInJoins.getRelatedKeys(n);if(s)for(const d of s){const _=e.joins.get(d);_&&_.relations.delete(t)}else{const d=ss(t);if(d){const[,_,y]=d,p=e.keyRefsInJoins.getRelatedKey(Te(_,y));if(p){const k=e.joins.get(p);k&&k.relations.delete(_,y)}}}e.keyRefsInJoins.delete(n);const r=[],i=[],a=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(a)for(const[d,{source:_}]of a)_===n?pt(e,Q(d)):r.push(_);const u=e.moleculeData.getRelatedKeys(o.stringKey);if(u)for(const d of u){const _=e.families.get(d),y=F(e,_,t);i.push([_.key,y]),Ie(e,_,t)}const f={type:"molecule_disposal",key:o.key,values:i,provenance:r,timestamp:Date.now()};e.molecules.delete(n);const c=M(e)&&e.transactionMeta.phase==="building";c&&e.transactionMeta.update.subEvents.push(f),e.moleculeGraph.delete(o.stringKey),e.keyRefsInJoins.delete(o.stringKey),e.moleculeData.delete(o.stringKey),c||e.on.moleculeDisposal.next(f),e.molecules.delete(o.stringKey);const l=Ro(new Error);e.disposalTraces.add({key:n,trace:l})}function Vt(e,t,n,o){const s=T(n),r=w(e),i=r.molecules.get(s);if(!i){const l=e.disposalTraces.buffer.find(d=>d?.key===s);return e.logger.error("❌","key",s,"claim failed:",`Could not allocate to ${s} in store "${e.config.name}".`,l?`
9
+ ${s} was most recently disposed
10
+ ${l.trace}`:`No previous disposal trace for ${s} was found.`),n}const a=T(t),u=r.molecules.get(a);if(!u){const l=e.disposalTraces.buffer.find(d=>d?.key===a);return e.logger.error("❌","key",n,"claim failed:",`Could not allocate to ${a} in store "${e.config.name}".`,l?`
11
+ ${a} was most recently disposed
12
+ ${l.trace}`:`No previous disposal trace for ${a} was found.`),n}const f=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:i.stringKey}).filter(([,{source:l}])=>l!==s).map(([l])=>Q(l));o&&r.moleculeGraph.delete(s),r.moleculeGraph.set({upstreamMoleculeKey:u.stringKey,downstreamMoleculeKey:i.stringKey},{source:u.stringKey});const c={type:"molecule_transfer",key:i.key,exclusive:!!o,from:f,to:[u.key],timestamp:Date.now()};return M(r)&&r.transactionMeta.phase==="building"&&r.transactionMeta.update.subEvents.push(c),n}function To(e,t,n){switch(n){case"newValue":An(e,t);break;case"oldValue":Ie(e,t.token);break}}function xo(e,t,n){switch(n){case"newValue":Ie(e,t.token);break;case"oldValue":An(e,t),t.subType==="atom"&&e.valueMap.set(t.token.key,t.value);break}}function An(e,t){const{token:n}=t;t.subType==="writable"&&t.value?D(e,n,t.value):F(e,n)}function Co(e,t,n){switch(n){case"newValue":En(e,t.provenance,t.key);break;case"oldValue":pt(e,t.key);break}}function Mo(e,t,n){switch(n){case"newValue":pt(e,t.key);break;case"oldValue":En(e,t.provenance.map(Q),t.key);for(const[o,s]of t.values){const r=e.families.get(o);if(r){F(e,r,t.key);const i=`${o}(${T(t.key)})`;e.valueMap.set(i,s)}}break}}function Oo(e,t,n){switch(n){case"newValue":for(const o of t.to)Vt(e,o,t.key,t.exclusive?"exclusive":void 0);break;case"oldValue":{let o="exclusive";for(const s of t.from)Vt(e,s,t.key,o),o=void 0}break}}function jn(e,t,n){const o=t.subEvents;for(const s of o)switch(s.type){case"atom_update":Ko(e,s);break;case"state_creation":To(e,s,n);break;case"state_disposal":xo(e,s,n);break;case"molecule_creation":Co(e,s,n);break;case"molecule_disposal":Mo(e,s,n);break;case"molecule_transfer":Oo(e,s,n);break;case"transaction_outcome":jn(e,s,n);break}}function ue(e){return"epoch"in e.transactionMeta}function M(e){return"phase"in e.transactionMeta}function Pn(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function Eo(e,t){return e.transactionMeta.epoch.get(t)}function Ao(e,t){const n=Pn(e,t);if(n!==void 0)return Eo(e,n)}function jo(e,t,n){const o=Pn(e,t);o!==void 0&&e.transactionMeta.epoch.set(o,n)}function Po(e,t){const n=w(e),{parent:o}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=t,o.child=null,o.on.transactionApplying.next(n.transactionMeta);const{subEvents:s}=n.transactionMeta.update;e.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${s.length} subEvents:`,s),jn(o,n.transactionMeta.update,"newValue"),ue(o)?(jo(o,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),R(e,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),e.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):M(o)&&o.transactionMeta.update.subEvents.push(n.transactionMeta.update),o.on.transactionApplying.next(null)}function No(e){return{store:e}}function j(e){return e[0].toUpperCase()+e.slice(1)}function ht(e,t){let n=e.joins.get(t.key);if(n===void 0){const o=B.STORE.joins.get(t.key);if(o===void 0)throw new Error(`Join "${t.key}" not found in store "${e.config.name}"`);n=new Fo(yt(e),o.options),e.joins.set(t.key,n)}return n}function mt(e,t,n){const o=ht(e,t),s=w(e);if(M(s)){const{toolkit:r}=s.transactionMeta;o.transact(r,({relations:i})=>{n(i)})}else n(o.relations)}function be(e,t,n){const o=ht(e,t);let s;switch(t.cardinality){case"1:1":{const r=`${t.a}KeyOf${j(t.b)}`,i=`${t.b}KeyOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}};break}case"1:n":{const r=`${t.a}KeyOf${j(t.b)}`,i=`${t.b}KeysOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}};break}case"n:n":{const r=`${t.a}KeysOf${j(t.b)}`,i=`${t.b}KeysOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}}}}return s}function ke(e,t,n){const o=ht(e,t);return n==="split"?[o.relatedKeysAtoms,o.relatedKeysAtoms]:o.relatedKeysAtoms}var Fo=class{toolkit;options;relations;states;relatedKeysAtoms;transact(e,t){const n=this.toolkit;this.toolkit=e,t(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(e,t){this.store=e,this.options=t,this.store.miscResources.set(`join:${t.key}`,this),this.toolkit={get:((...c)=>F(e,...c)),set:((...c)=>{D(e,...c)}),find:((...c)=>C(e,...c)),json:c=>ae(e,c),relations:{edit:((...c)=>{mt(e,...c)}),find:((...c)=>be(e,...c)),internal:((...c)=>ke(e,...c))}};const n=t.between[0],o=t.between[1],s=Hn(e,{key:`${t.key}/relatedKeys`,class:go},["join","relations"]);this.relatedKeysAtoms=s;const r=(c,l,d)=>{const{find:_,get:y,set:p}=c,k=_(s,l),g=y(k);for(const h of g)d.includes(h)||p(s,h,v=>(v.delete(l),v));p(k,h=>{h.clear();for(const v of d){const x=_(s,v),O=y(x),J=O.has(l);if(this.relations.cardinality==="1:n"){const I=[];for(const A of O){if(A===l)continue;let E;we(vt,this.store,s,A,V=>(V.delete(v),E=V.size,V)),E===0&&I.push(A)}!J&&O.size>0&&p(x,A=>(A.clear(),A));for(const A of I)e.keyRefsInJoins.delete(Te(v,A))}J||p(x,I=>(I.add(l),I)),h.add(v)}return h})},i=(c,l,d)=>{const{set:_}=c;_(s,l,y=>{for(const p of d)y.add(p);return y});for(const y of d)_(s,y,p=>(p.add(l),p));return!0},a=new H(t,{externalStore:{getRelatedKeys:c=>this.toolkit.get(s,c),addRelation:(c,l)=>{this.store.keyRefsInJoins.set(`"${c}"`,t.key),this.store.keyRefsInJoins.set(`"${l}"`,t.key),this.store.keyRefsInJoins.set(Te(c,l),t.key),this.toolkit.set(s,c,d=>d.add(l)),this.toolkit.set(s,l,d=>d.add(c))},deleteRelation:(c,l)=>{this.toolkit.set(s,c,_=>(_.delete(l),_)),this.toolkit.set(s,l,_=>(_.delete(c),_));const d=Te(c,l);this.store.keyRefsInJoins.delete(d)},replaceRelationsSafely:(c,l)=>{r(this.toolkit,c,l)},replaceRelationsUnsafely:(c,l)=>{i(this.toolkit,c,l)},has:(c,l)=>{const d=this.toolkit.get(s,c);return l?d.has(l):d.size>0}},isAType:t.isAType,isBType:t.isBType}),u=()=>Pe(e,{key:`${t.key}/singleRelatedKey`,get:c=>({get:l})=>{const d=l(s,c);for(const _ of d)return _;return null}},["join","keys"]),f=()=>Pe(e,{key:`${t.key}/multipleRelatedKeys`,get:c=>({get:l})=>l(ts(s,e),c)},["join","keys"]);switch(t.cardinality){case"1:1":{const c=u(),l=`${n}KeyOf${j(o)}`,d=`${o}KeyOf${j(n)}`;this.relations=a,this.states={[l]:c,[d]:c};break}case"1:n":{const c=u(),l=f(),d=`${n}KeyOf${j(o)}`,_=`${o}KeysOf${j(n)}`,y={[d]:c,[_]:l};this.relations=a,this.states=y;break}case"n:n":{const c=f(),l=`${n}KeysOf${j(o)}`,d=`${o}KeysOf${j(n)}`;this.relations=a,this.states={[l]:c,[d]:c}}}}};const Do=(e,t,n,o)=>{const s=w(e),r={parent:s,child:null,on:s.on,loggers:s.loggers,logger:s.logger,config:s.config,atoms:new N(s.atoms),atomsThatAreDefault:new Set(s.atomsThatAreDefault),families:new N(s.families),joins:new N(s.joins),operation:{open:!1},readonlySelectors:new N(s.readonlySelectors),timelines:new N(s.timelines),timelineTopics:s.timelineTopics.overlay(),trackers:new Map,transactions:new N(s.transactions),selectorAtoms:s.selectorAtoms.overlay(),selectorGraph:s.selectorGraph.overlay(),writableSelectors:new N(s.writableSelectors),valueMap:new N(s.valueMap),defaults:s.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new N(s.molecules),moleculeGraph:s.moleculeGraph.overlay(),moleculeData:s.moleculeData.overlay(),keyRefsInJoins:s.keyRefsInJoins.overlay(),miscResources:new N(s.miscResources)},i=Ao(e,t.key),a={phase:"building",update:{type:"transaction_outcome",token:t,id:o,epoch:i===void 0?NaN:i+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...f)=>F(u,...f)),set:((...f)=>{D(u,...f)}),reset:((...f)=>{Ue(u,...f)}),run:(f,c=Tn())=>On(u,f,c),find:((...f)=>C(e,...f)),json:f=>ae(u,f),dispose:((...f)=>{Ie(u,...f)}),env:()=>No(u),relations:{edit:((...f)=>{mt(u,...f)}),find:((...f)=>be(u,...f)),internal:((...f)=>ke(u,...f))}}},u=Object.assign(r,{transactionMeta:a});return s.child=u,e.logger.info("🛫","transaction",t.key,"building with params:",n),u};function Nn(e,t){const{key:n}=t,o=e.transactions.has(n),s={key:n,type:"transaction",run:(i,a)=>{const u=Do(e,Y(s),i,a);try{const{toolkit:f}=u.transactionMeta,c=t.do(f,...i);return Po(u,c),c}catch(f){throw $o(u),e.logger.warn("💥","transaction",n,"caught:",f),f}},install:i=>Nn(i,t),subject:new S};w(e).transactions.set(n,s);const r=Y(s);return o||e.on.transactionCreation.next(r),r}var Io=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 H({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new H({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new H({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new H({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new wo(100);molecules=new Map;moleculeGraph=new H({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});moleculeData=new H({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});keyRefsInJoins=new H({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});miscResources=new Map;on={atomCreation:new S,atomDisposal:new S,selectorCreation:new S,selectorDisposal:new S,timelineCreation:new S,transactionCreation:new S,transactionApplying:new ko(null),operationClose:new S,moleculeCreation:new S,moleculeDisposal:new S};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new os("warn",(e,t,n)=>!So(n))];logger={error:(...e)=>{for(const t of this.loggers)t.error(...e)},info:(...e)=>{for(const t of this.loggers)t.info(...e)},warn:(...e)=>{for(const t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},ue(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new H(t?.transactionMeta.actionContinuities.toJSON())});for(const[,o]of t.families)o.internalRoles?.includes("mutable")||o.internalRoles?.includes("join")||o.install(this);const n=new Set;for(const[,o]of t.atoms)if(!n.has(o.key)&&(o.install(this),o.type==="mutable_atom")){const s=ae(t,o),r=Wn(o);n.add(s.key),n.add(r.key)}for(const[,o]of t.readonlySelectors)o.install(this);for(const[,o]of t.writableSelectors)n.has(o.key)||o.install(this);for(const[,o]of t.transactions)o.install(this);for(const[,o]of t.timelines)o.install(this)}}};const B={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new Io({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var Vo=class extends Error{constructor(e,t){super(`${Z[e.type]} ${T(e.key)} not found in store "${t.config.name}".`)}};function R(e,t){let n,o=e;for(;o!==null;){switch(t.type){case"atom":case"mutable_atom":n=o.atoms.get(t.key);break;case"writable_pure_selector":case"writable_held_selector":n=o.writableSelectors.get(t.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=o.readonlySelectors.get(t.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=o.families.get(t.key);break;case"timeline":n=o.timelines.get(t.key);break;case"transaction":n=o.transactions.get(t.key);break}if(n)return n;o=o.child}throw new Vo(t,e)}function Fn(e,t,n,o){const s=e.disposalTraces.buffer.find(r=>r?.key===T(o));switch(e.logger.error("❌",t.type,t.key,"gets a fallback value because key",o,"is not allocated",s?`This key was previously disposed:
13
+ ${s.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=new n.class;return e.defaults.set(n.key,r),r.READONLY_VIEW}case"atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=n.default,i=r(o);return e.defaults.set(n.key,i),i}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=n.default(o);return e.defaults.set(n.key,r),r}}}function je(e,t){const{type:n,key:o,catch:s}=t;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let r;e.logger.info("🧮",n,o,"computing value");try{r=t.getFrom(e),r instanceof Promise&&(r=r.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return U(e,t,i)}throw i}return U(e,t,r)}case"atom":{let r;if(G(t.default))try{r=t.default(),r instanceof Promise&&(r=r.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return r=U(e,t,i),e.logger.info("✨",t.type,o,"computed default",r),r}throw i}else r=t.default,e.logger.info("✨",t.type,o,"using static default",r);return U(e,t,r)}}}function ee(e,t,n){if(e.valueMap.has(t.key))return zn(e,t,n);e.logger.info("❔",t.type,t.key,"value not found in cache");const{key:o}=t;switch(t.type){case"readonly_held_selector":case"writable_held_selector":return e.logger.info("🧮",t.type,o,"computing value"),t.getFrom(e);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return je(e,t);case"mutable_atom":{const s=new t.class;return e.logger.info("✨",t.type,o,"created new instance",s),U(e,t,s)}}}function gt(e,t){return R(e,{key:t.family.key,type:`${t.type}_family`})}const Ut={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"},fe=Symbol("MUST_CREATE"),Uo=Symbol("DO_NOT_CREATE");function _e(e,t,n,o){const s=T(o),r=t.molecules.get(s);if(!r&&t.config.lifespan==="immortal"){const{type:a,key:u}=n;return t.logger.warn("💣","key",s,"was used to mint a counterfeit token for",a,`"${u}"`),{counterfeit:!0,key:`${u}(${s})`,type:Ut[a],family:{key:u,subKey:s}}}let i;if(e===fe)t.logger.info("👪",n.type,n.key,"adds member",typeof o=="string"?`\`${o}\``:o),i=n.create(o),r&&t.moleculeData.set(s,n.key);else{const{type:a,key:u}=n;return{key:`${u}(${s})`,type:Ut[a],family:{key:u,subKey:s}}}return i}function bt(e,...t){let n,o,s,r,i;if(t.length===1){if(i=t[0],"family"in i){const u=gt(e,i);if(s=R(e,u),r=Q(i.family.subKey),n=de(e,u,r),"counterfeit"in i)return{token:i,family:s,subKey:r,isNew:!1};n?i=n:(o=_e(fe,e,u,r),i=o)}}else s=R(e,t[0]),r=t[1],n=de(e,s,r),n?i=n:(o=_e(fe,e,s,r),i=o);const a="counterfeit"in i;if(o&&a===!1&&s){let u;switch(i.type){case"readonly_pure_selector":case"readonly_held_selector":u="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":u="writable";break}const f={type:"state_creation",subType:u,token:i,timestamp:Date.now()};s.subject.next(f);const c=w(e);if(i.family)if(ue(c))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":e.on.selectorCreation.next(i);break}else M(c)&&c.on.transactionApplying.state===null&&c.transactionMeta.update.subEvents.push(f)}return{token:i,family:s,subKey:r,isNew:!!o}}function F(e,...t){const{token:n,family:o,subKey:s}=bt(e,...t);return"counterfeit"in n&&o&&s?Fn(e,n,o,s):ee(e,R(e,n))}function de(e,t,n){const o=T(n),s=`${t.key}(${o})`,r=w(e);let i;switch(t.type){case"atom_family":case"mutable_atom_family":i=r.atoms.get(s);break;case"writable_held_selector_family":case"writable_pure_selector_family":i=r.writableSelectors.get(s);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":i=r.readonlySelectors.get(s);break}return i&&Y(i)}function C(e,t,n){const o=R(e,t),s=de(e,t,n);return s||_e(Uo,e,o,n)}function Pe(e,t,n){const o=t.key,s="readonly_pure_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`,y=w(e),p={key:_,get:t.get(c)};return t.catch&&(p.catch=t.catch),$t(y,p,d)},internalRoles:n,subject:a,install:c=>Pe(c,t),default:c=>t.get(c)({get:F.bind(null,e),find:C.bind(null,e),json:l=>ae(e,l),relations:{find:be.bind(null,e),internal:ke.bind(null,e)}})};return e.families.set(o,f),r}function kt(e,t,n){const o={key:t.key,type:"atom_family"},s=e.families.get(t.key);s&&e.config.isProduction===!0&&e.logger.error("❗","atom_family",t.key,`Overwriting an existing ${Z[s.type]} "${s.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new S,a={...o,create:u=>{const f=T(u),c={key:t.key,subKey:f},l=`${t.key}(${f})`,d=w(e),_=t.default,y={key:l,default:G(_)?()=>_(u):_};return t.effects&&(y.effects=t.effects(u)),t.catch&&(y.catch=t.catch),Be(d,y,c)},default:t.default,subject:r,install:u=>kt(u,t),internalRoles:n};return e.families.set(t.key,a),G(t.default)===!1&&e.defaults.set(t.key,t.default),o}function Dn(e,t,n){const o=t.key,s="readonly_held_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`;return St(w(e),{key:_,const:t.const(c),get:t.get(c)},d)},internalRoles:n,subject:a,install:c=>Dn(c,t),default:t.const};return e.families.set(o,f),r}function In(e,t,n){const o=t.key,s="writable_held_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`;return Kt(w(e),{key:_,const:t.const(c),get:t.get(c),set:t.set(c)},d)},internalRoles:n,subject:a,install:c=>In(c,t),default:t.const};return e.families.set(o,f),r}function wt(e,t,n){const o=t.key,s="writable_pure_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`,y=w(e),p={key:_,get:t.get(c),set:t.set(c)};return t.catch&&(p.catch=t.catch),Rt(y,p,d)},internalRoles:n,subject:a,install:c=>wt(c,t),default:c=>t.get(c)({get:((...l)=>F(e,...l)),find:((...l)=>C(e,...l)),json:l=>ae(e,l),relations:{find:((...l)=>be(e,...l)),internal:((...l)=>ke(e,...l))}})};return e.families.set(o,f),r}function Lo(e,t){const n="set"in t,o="const"in t;return o&&n?In(e,t,void 0):o?Dn(e,t,void 0):n?wt(e,t):Pe(e,t)}function Ie(e,...t){let n;if(t.length===1)n=t[0];else{const o=t[0],s=t[1];n=C(e,o,s)}try{R(e,n)}catch{e.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":qn(e,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":Zo(e,n);break}}function Vn(e,t){if(e.operation.open){const n=performance.now();return e.logger.info("🚫",t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info("⭕",t.type,t.key,`operation start in store "${e.config.name}"${M(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:""}`),e}function Un(e){e.operation.open&&e.logger.info("🔴",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}const Ln=(e,t)=>e.operation.open?e.operation.done.has(t):(e.logger.error("🐞","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),Ve=(e,t)=>{if(!e.operation.open){e.logger.error("🐞","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};function st(e,t,n,o,s){const{oldValue:r,newValue:i}=n,a="oldValue"in n,u=Y(t);if(o&&s){t.subject.next({newValue:i});const _={checkpoint:!0,type:"state_creation",subType:"writable",token:u,timestamp:Date.now(),value:i};e.operation.subEvents.push(_),s.subject.next(_);const y=w(e);if(u.family)if(ue(y))switch(u.type){case"atom":case"mutable_atom":e.on.atomCreation.next(u);break;case"writable_pure_selector":case"writable_held_selector":e.on.selectorCreation.next(u);break}else M(y)&&y.on.transactionApplying.state===null&&y.transactionMeta.update.subEvents.push(_);return}const{key:f,subject:c,type:l}=t;let d;if(a?d={oldValue:$e(r)?r.READONLY_VIEW:r,newValue:$e(i)?i.READONLY_VIEW:i}:d={newValue:$e(i)?i.READONLY_VIEW:i},ue(e)){switch(l){case"mutable_atom":e.logger.info("📢",l,f,"is now (",i,") subscribers:",c.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":e.logger.info("📢",l,f,"went (",r,"->",i,") subscribers:",c.subscribers.keys())}c.next(d)}if(M(e)&&(l==="mutable_atom"||l==="atom")){if(e.on.transactionApplying.state===null){if($e(i))return;const{timestamp:_}=e.operation,y={type:"atom_update",token:u,timestamp:_,update:d};e.transactionMeta.update.subEvents.push(y),e.logger.info("📁","atom",f,"stowed (",r,"->",i,")");return}if(Ct(t,"tracker:signal")){const _=f.slice(1),y=e.atoms.get(_);ee(e,y,"mut").do(d.newValue)===null&&xt(e,y)}}}const Lt=Symbol("UNSET"),rt=(e,t,n)=>{let o,s;if(G(n)){const r=ee(e,t,"mut");o=r,s=n(r)}else e.valueMap.has(t.key)?o=zn(e,t,"mut"):t.type==="atom"&&!G(t.default)?o=t.default:o=Lt,s=n;return e.logger.info("⭐","atom",t.key,"setting value",s),s=U(e,t,s),Ve(e,t.key),xt(e,t),o===Lt?{newValue:s}:{oldValue:o,newValue:s}};function We(e,t){switch(t.type){case"mutable_atom":return rt(e,t,new t.class);case"atom":{let n;return G(t.default)?n=je(e,t):n=t.default,rt(e,t,n)}}}function Bo(e,t){let n;switch(t.type){case"atom":case"mutable_atom":n=We(e,t);break;case"writable_held_selector":{const o=ye(e,t.key);for(const r of o.values())st(e,t,We(e,r),!1);const s=t.getFrom(e);n={oldValue:s,newValue:s}}break;case"writable_pure_selector":{const o=je(e,t),s=ye(e,t.key);for(const r of s.values())st(e,t,We(e,r),!1);n={oldValue:o,newValue:je(e,t)}}break}return n}function D(e,...t){we(at,e,...t)}const it=Symbol("RESET");function Ue(e,...t){D(e,...t,it)}function Jo(e,t,n){let o,s,r;const{type:i,key:a}=t;switch(t.type){case"writable_pure_selector":o=ee(e,t,"mut"),s=It(n,o),s=U(e,t,s);break;case"writable_held_selector":r=t.const,It(n,r),o=r,s=r}return e.logger.info("⭐",i,a,"setting to",s),Ve(e,a),t.setSelf(s),{oldValue:o,newValue:s}}const Ho=(e,t,n)=>{let o;switch(t.type){case"atom":case"mutable_atom":o=rt(e,t,n);break;case"writable_pure_selector":case"writable_held_selector":o=Jo(e,t,n);break}return o},at=Symbol("OWN_OP"),vt=Symbol("JOIN_OP");function we(e,t,...n){let o,s,r,i,a,u;n.length===2?(r=n[0],u=n[1],"family"in r&&(i=gt(t,r),a=Q(r.family.subKey),o=de(t,i,a),o?r=o:r=s=_e(fe,t,i,a))):(i=R(t,n[0]),a=n[1],u=n[2],o=de(t,i,a),o?r=o:r=s=_e(fe,t,i,a));const f=u===it?"reset":"set";let c;if(e===at){const _=Vn(t,r);if(typeof _=="number"){const y=_,p=t.on.operationClose.subscribe(`waiting to ${f} "${r.key}" at T-${y}`,function(){p(),t.logger.info("🟢",r.type,r.key,"resuming deferred",f,`from T-${y}`),we(e,t,r,u)});return}c=_}else c=t;if("counterfeit"in r&&"family"in r){const _=r.family.subKey,y=t.disposalTraces.buffer.find(p=>p?.key===_);t.logger.error("❌",r.type,r.key,"could not be",f,"because key",_,"is not allocated.",y?`this key was previously disposed:${y.trace}`:"(no previous disposal trace found)");return}const l=R(c,r);let d;u===it?d=Bo(c,l):d=Ho(c,l,u),st(c,l,d,!!s,i),e===at&&Un(c)}const Bn=(e,t)=>w(e).atoms.has(t),Wo=(e,t)=>w(e).writableSelectors.has(t),zo=(e,t)=>w(e).readonlySelectors.has(t),Go=(e,t)=>Bn(e,t)||Wo(e,t)||zo(e,t);function Bt(e,t){return w(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([n,{source:o}])=>o!==t).map(([n,{source:o}])=>o).filter(n=>Go(e,n))}function ye(e,t,n=new Set){const o=Bt(e,t),s=new Map;for(;o.length>0;){const r=o.pop();if(!n.has(r))if(n.add(r),Bn(e,r)){const i=e.atoms.get(r);s.set(i.key,i)}else o.push(...Bt(e,r))}return s}function Yo(e,t,n,o,s){const r=w(e),{type:i,key:a}=o;if(i==="atom"||i==="mutable_atom")r.selectorAtoms.set({selectorKey:n,atomKey:a}),e.logger.info("🔍",t,n,`discovers root atom "${a}"`);else{const u=ye(e,a,s);e.logger.info("🔍",t,n,`discovers root atoms: [ ${[...u.values()].map(f=>`"${f.key}"`).join(", ")} ]`);for(const{key:f}of u.values())r.selectorAtoms=r.selectorAtoms.set({selectorKey:n,atomKey:f})}s.add(a)}function Le(e,t,n,o){return{get:(...s)=>{const r=w(e),{token:i,family:a,subKey:u}=bt(e,...s);let f;return"counterfeit"in i&&a&&u?f=Fn(e,i,a,u):f=ee(e,R(e,i)),e.logger.info("🔌",t,n,`registers dependency ( "${i.key}" =`,f,")"),r.selectorGraph.set({upstreamSelectorKey:i.key,downstreamSelectorKey:n},{source:i.key}),Yo(e,t,n,i,o),f},set:((...s)=>{we(vt,w(e),...s)}),find:((...s)=>C(e,...s)),json:s=>ae(e,s),relations:{edit:((...s)=>{mt(e,...s)}),find:((...s)=>be(e,...s)),internal:((...s)=>ke(e,...s))}}}function St(e,t,n){const o=w(e),s=new S,r=new Set,{key:i,const:a}=t,u="readonly_held_selector";e.logger.info("🔨",u,i,"is being created");const{get:f,find:c,json:l,relations:d}=Le(o,u,i,r),y={...t,type:u,subject:s,getFrom:k=>{const g=k.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:v}]of g)v!==i&&k.selectorGraph.delete(h,i);return k.selectorAtoms.delete(i),t.get({get:f,find:c,json:l,relations:d},a),U(k,y,a),e.logger.info("✨",u,i,"=",a),r.clear(),a},install:k=>St(k,t,n)};n&&(y.family=n),o.readonlySelectors.set(i,y);const p={key:i,type:u};return n&&(p.family=n),p}function $t(e,t,n){const o=w(e),s=new S,r=new Set,i=t.key,a="readonly_pure_selector";e.logger.info("🔨",a,i,"is being created");const{get:u,find:f,json:c,relations:l}=Le(o,a,i,r),_={...t,type:a,subject:s,getFrom:()=>{const p=w(e),k=p.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:v}]of k)v!==i&&p.selectorGraph.delete(h,i);p.selectorAtoms.delete(i);const g=t.get({get:u,find:f,json:c,relations:l});return e.logger.info("✨",a,i,"=",g),r.clear(),g},install:p=>$t(p,t,n)};n&&(_.family=n),o.readonlySelectors.set(i,_);const y={key:i,type:a};return n&&(y.family=n),y}function Kt(e,t,n){const o=w(e),s=new S,r=new Set,{key:i,const:a}=t,u="writable_held_selector";e.logger.info("🔨",u,i,"is being created");const f=Le(o,u,i,r),{find:c,get:l,json:d,relations:_}=f,y={find:c,get:l,json:d,relations:_},g={...t,type:u,subject:s,getFrom:v=>{const x=v.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[O,{source:J}]of x)J!==i&&v.selectorGraph.delete(O,i);return v.selectorAtoms.delete(i),t.get(y,a),U(v,g,a),e.logger.info("✨",u,i,"=",a),r.clear(),a},setSelf:()=>{t.set(f,a)},install:v=>Kt(v,t,n)};n&&(g.family=n),o.writableSelectors.set(i,g);const h={key:i,type:u};return n&&(h.family=n),h}function Rt(e,t,n){const o=w(e),s=new S,r=new Set,i=t.key,a="writable_pure_selector";e.logger.info("🔨",a,i,"is being created");const u=Le(o,a,i,r),{find:f,get:c,json:l,relations:d}=u,_={find:f,get:c,json:l,relations:d},k={...t,type:a,subject:s,getFrom:h=>{const v=h.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[O,{source:J}]of v)J!==i&&h.selectorGraph.delete(O,i);h.selectorAtoms.delete(i);const x=t.get(_);return e.logger.info("✨",a,i,"=",x),r.clear(),x},setSelf:h=>{t.set(u,h)},install:h=>Rt(h,t,n)};n&&(k.family=n),o.writableSelectors.set(i,k);const g={key:i,type:a};return n&&(g.family=n),g}function qo(e,t){const n="set"in t,o="const"in t;if(o&&n){const r=Kt(e,t,void 0);return e.on.selectorCreation.next(r),r}if(o){const r=St(e,t,void 0);return e.on.selectorCreation.next(r),r}if(n){const r=Rt(e,t,void 0);return e.on.selectorCreation.next(r),r}const s=$t(e,t,void 0);return e.on.selectorCreation.next(s),s}function Zo(e,t){const n=w(e),{key:o,type:s,family:r}=t;if(!r)e.logger.error("❌",s,o,"Standalone selectors cannot be disposed.");else{n.molecules.get(r.subKey)&&n.moleculeData.delete(r.subKey,r.key);let i;switch(t.type){case"writable_held_selector":n.writableSelectors.delete(o),i={key:r.key,type:"writable_held_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(o),i={key:r.key,type:"writable_pure_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(o),i={key:r.key,type:"readonly_held_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(o),i={key:r.key,type:"readonly_pure_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break}n.valueMap.delete(o),n.selectorAtoms.delete(o),n.selectorGraph.delete(o),n.moleculeData.delete(r.key,r.subKey),e.logger.info("🔥",t.type,o,"deleted"),M(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}const Xo=(e,t)=>{const n=w(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},Jt=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,o=>{e.logger.info("📢",t.type,t.key,"root",n.key,"went",o.oldValue,"->",o.newValue);const s=Xo(e,t),r=ee(e,t);e.logger.info("✨",t.type,t.key,"went",s,"->",r),t.subject.next({newValue:r,oldValue:s})});function re(e,t,n,o){function s(l){e.operation.open&&r?.type==="atom"&&Ct(r,"tracker:signal")&&"*"+e.operation.token.key===t.key&&"inboundTracker"in o||o(l)}bt(e,t);const r=R(e,t);e.logger.info("👀",r.type,r.key,`Adding subscription "${n}"`);const i=r.type==="writable_pure_selector"||r.type==="readonly_pure_selector",a=new Map;let u=s;if(i){ee(e,r);for(const[l,d]of ye(e,r.key))a.set(l,Jt(e,r,d));u=function(d){const _=ye(e,r.key);for(const[y,p]of a)_.get(y)?_.delete(y):(p(),a.delete(y));for(const[y,p]of _)a.set(y,Jt(e,r,p));s(d)}}const f=r.subject.subscribe(n,u);return()=>{e.logger.info("🙈",r.type,r.key,`Removing subscription "${n}"`),f();for(const l of a.values())l()}}const Qo=(e,t,n,o)=>{const s=R(e,t);e.logger.info("👀","timeline",t.key,`Adding subscription "${n}"`);const r=s.subject.subscribe(n,o);return()=>{e.logger.info("🙈","timeline",t.key,`Removing subscription "${n}" from timeline`),r()}};var Tt=class{initializeSignalAtom(e,t){const n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);const o=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,s=Be(t,{key:n,default:null},o,["tracker:signal"]);if(t.parent?.valueMap.has(n)){const r=t.parent.valueMap.get(n);t.valueMap.set(n,r)}return s}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){const o=e.key,s=`tracker-from-core:${n.config.name}:${M(n)?n.transactionMeta.update.token.key:"main"}:${o}`,r=i=>{we(vt,n,t,i)};this.unsubscribeFromInnerValue=F(n,e).subscribe(s,r),this.unsubscribeFromState=re(n,e,s,(function(a){a.newValue!==a.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(s,r))}).bind(this))}supplySignalsToCore(e,t,n){const o=e.key,s=`tracker-to-core:${n.config.name}:${M(n)?n.transactionMeta.update.token.key:"main"}:${o}`;re(n,t,s,Object.assign(function({newValue:i,oldValue:a}){const u=n.timelineTopics.getRelatedKey(t.key);if(u&&n.timelines.get(u)?.timeTraveling){const f=Qo(n,{key:u,type:"timeline"},s,function(l){f(),D(n,e,d=>(l==="redo"&&i?d.do(i):l==="undo"&&a&&d.undo(a),d))});return}D(n,e,f=>(f.do(i),f))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){const n=w(t),o=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=o,this.captureSignalsFromCore(e,o,n),this.supplySignalsToCore(e,o,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};function Jn(e,t,n){e.logger.info("🔨","atom",t.key,`creating in store "${e.config.name}"`);const o=w(e),{key:s}=t,r=o.atoms.get(s),i="mutable_atom";if(r?.type===i&&e.config.isProduction===!0)return e.logger.error("❌",i,s,"Tried to create atom, but it already exists in the store."),Y(r);const a=new S,u={...t,type:i,install:c=>(c.logger.info("🛠️","atom",s,`installing in store "${c.config.name}"`),Jn(c,t,n)),subject:a};n&&(u.family=n),o.atoms.set(u.key,u);const f=Y(u);if(new Tt(f,e),n||qo(e,{key:`${s}:JSON`,get:({get:c})=>c(f).toJSON(),set:({set:c},l)=>{c(f,t.class.fromJSON(l))}}),t.effects){let c=0;const l=[];for(const d of t.effects){const _=d({resetSelf:()=>{Ue(e,f)},setSelf:y=>{D(e,f,y)},onSet:y=>re(e,f,`effect[${c}]`,y),token:f,store:yt(e)});_&&l.push(_),++c}u.cleanup=()=>{for(const d of l)d()}}return e.on.atomCreation.next(f),f}var es=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(e,t){this.latestSignalAtoms=R(t,kt(t,{key:`*${e.key}`,default:null},["mutable","updates"])),this.mutableAtoms=e;const n=o=>{const{type:s,token:r}=o;if(r.family){const i=Q(r.family.subKey);switch(s){case"state_creation":this.trackers.set(i,new Tt(r,t));break;case"state_disposal":{const a=this.trackers.get(i);a&&(a[Symbol.dispose](),this.trackers.delete(i))}}}};this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,n)}};function Hn(e,t,n){const o={key:t.key,type:"mutable_atom_family"},s=e.families.get(t.key);s&&e.config.isProduction===!0&&e.logger.error("❗","mutable_atom_family",t.key,`Overwriting an existing ${Z[s.type]} "${s.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new S,a={...o,create:u=>{const f=T(u),c={key:t.key,subKey:f},l=`${t.key}(${f})`,d=w(e),_={key:l,class:t.class};return t.effects&&(_.effects=t.effects(u)),Jn(d,_,c)},class:t.class,subject:r,install:u=>Hn(u,t),internalRoles:n};return e.families.set(t.key,a),wt(e,{key:`${t.key}:JSON`,get:u=>({get:f})=>f(o,u).toJSON(),set:u=>({set:f},c)=>{f(o,u,t.class.fromJSON(c))}},["mutable","json"]),new es(a,e),o}const ts=(e,t)=>{const n=w(t),o=`${e.key}:JSON`;return n.families.get(o)},ae=(e,t)=>t.family?C(e,R(w(e),{key:`${t.family.key}:JSON`,type:"writable_pure_selector_family"}),Q(t.family.subKey)):{type:"writable_pure_selector",key:`${t.key}:JSON`},Wn=e=>{const t={type:"atom",key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function $e(e){return typeof e=="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e&&"READONLY_VIEW"in e&&"toJSON"in e}function U(e,t,n){const{key:o,subject:s,type:r}=t,i=e.valueMap.get(o);if(i instanceof ot&&!i.done){const a=i;return n instanceof Promise?(a.use(n),a):(e.valueMap.set(o,n),n)}if(n instanceof Promise){const a=new ot(n);return e.valueMap.set(o,a),a.then(function(f){if(e.valueMap.get(o)===a){switch(Vn(e,t),U(e,t,f),r){case"atom":xt(e,t);break;case"readonly_pure_selector":case"writable_pure_selector":Yn(e,o);break}Un(e),s.next({newValue:f,oldValue:a})}}).catch(u=>{e.logger.error("💥",t.type,o,"rejected:",u)}),a}return e.logger.info("📝",t.type,t.key,"writing to cache",n),e.valueMap.set(o,n),n}function zn(e,t,n){e.logger.info("📖",t.type,t.key,"reading cached value");let o=e.valueMap.get(t.key);if(n==="mut"&&t.type==="mutable_atom"&&M(e)){const s=t,{parent:r}=e;if(e.valueMap.hasOwn(s.key))return o;const i=r.valueMap.get(s.key);e.logger.info("📃","atom",s.key,"copying");const a=i.toJSON(),u=s.class.fromJSON(a);e.valueMap.set(s.key,u),new Tt(s,r),o=u}return o}function Gn(e,t){const n=e.valueMap.get(t);n instanceof ot||(e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info("🗑","state",t,"evicted"))}function xt(e,t){const n=w(e),{key:o,type:s}=t,r=n.selectorAtoms.getRelatedKeys(o);if(n.logger.info("🧹",s,o,r?`evicting ${r.size} states downstream:`:"no downstream states",r??"to evict"),r){n.operation.open&&n.logger.info("🧹",s,o,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const i of r)Ln(n,i)||(Gn(n,i),Ve(n,i))}}function Yn(e,t){const n=w(e),o=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([s,{source:r}])=>r===t);for(const[s]of o)Ln(n,s)||(Gn(n,s),Ve(n,s),Yn(e,s))}function Be(e,t,n,o){const s="atom",{key:r}=t;e.logger.info("🔨",s,r,"is being created");const i=w(e),a=i.atoms.get(r);if(a?.type===s&&e.config.isProduction===!0)return e.logger.error("❌","atom",r,"Tried to create atom, but it already exists in the store."),Y(a);const u=new S,f={...t,type:s,install:l=>(l.logger.info("🛠️",s,r,`installing in store "${l.config.name}"`),Be(l,t,n)),subject:u};n&&(f.family=n),o&&(f.internalRoles=o),i.atoms.set(r,f);const c=Y(f);if(t.effects){let l=0;const d=[];for(const _ of t.effects){const y=_({resetSelf:()=>{Ue(e,c)},setSelf:p=>{D(e,c,p)},onSet:p=>re(e,c,`effect[${l}]`,p),token:c,store:yt(e)});y&&d.push(y),++l}f.cleanup=()=>{for(const _ of d)_()}}return e.on.atomCreation.next(c),c}function Ct(e,t){return"internalRoles"in e?e.internalRoles.includes(t):!1}function qn(e,t){const n=w(e),{key:o,family:s}=t,r=R(n,t);if(!s)e.logger.error("❌","atom",o,"Standalone atoms cannot be disposed.");else{r.cleanup?.();const i=e.valueMap.get(r.key),a=R(e,gt(e,t)).subject,u={type:"state_disposal",subType:"atom",token:t,value:i,timestamp:Date.now()};a.next(u);const f=M(n);if(n.atoms.delete(o),n.valueMap.delete(o),n.selectorAtoms.delete(o),n.atomsThatAreDefault.delete(o),n.moleculeData.delete(s.key,s.subKey),e.timelineTopics.delete(o),t.type==="mutable_atom"&&(qn(e,Wn(t)),e.trackers.delete(o)),e.logger.info("🔥","atom",o,"deleted"),f&&n.transactionMeta.phase==="building"){const c=n.transactionMeta.update.subEvents.at(-1),l=c?.type==="molecule_disposal"&&c.values.some(([_])=>_===r.family?.key),d=Ct(r,"tracker:signal");!l&&!d&&n.transactionMeta.update.subEvents.push(u)}else e.on.atomDisposal.next(t)}}function Je(e){return Be(B.STORE,e,void 0)}function Mt(e){return kt(B.STORE,e)}function Ne(...e){return F(B.STORE,...e)}const Z={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",user:"👤",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},ze=(e,t)=>(n,o,s,r,...i)=>{console[e](`${n} ${Z[o]} \`${s}\` ${r}`,...i)},ns={error:ze("error"),info:ze("info"),warn:ze("warn")};var os=class{logLevel;filter;logger;constructor(e,t,n=ns){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel==="info"){const t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function Te(e,t){return[e,t].sort().join("")}function ss(e){if(typeof e!="string")return null;const[t,n]=e.split("==");if(!n)return null;const o=t.slice(4),[s,r]=n.split("++");return o&&s&&r?[o,s,r]:null}function Ht(...e){Ue(B.STORE,...e)}function rs(e){return Lo(B.STORE,e)}function L(...e){D(B.STORE,...e)}function is(e){return Nn(B.STORE,e)}function as(e,t=Tn()){return On(B.STORE,e,t)}var q,$,Ge,Wt,pe=0,Zn=[],K=m,zt=K.__b,Gt=K.__r,Yt=K.diffed,qt=K.__c,Zt=K.unmount,Xt=K.__;function le(e,t){K.__h&&K.__h($,e,pe||t),pe=0;var n=$.__H||($.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Xn(e){return pe=1,ls(to,e)}function ls(e,t,n){var o=le(q++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):to(void 0,t),function(a){var u=o.__N?o.__N[0]:o.__[0],f=o.t(u,a);u!==f&&(o.__N=[f,o.__[1]],o.__c.setState({}))}],o.__c=$,!$.__f)){var s=function(a,u,f){if(!o.__c.__H)return!0;var c=o.__c.__H.__.filter(function(d){return d.__c});if(c.every(function(d){return!d.__N}))return!r||r.call(this,a,u,f);var l=o.__c.props!==a;return c.some(function(d){if(d.__N){var _=d.__[0];d.__=d.__N,d.__N=void 0,_!==d.__[0]&&(l=!0)}}),r&&r.call(this,a,u,f)||l};$.__f=!0;var r=$.shouldComponentUpdate,i=$.componentWillUpdate;$.componentWillUpdate=function(a,u,f){if(this.__e){var c=r;r=void 0,s(a,u,f),r=c}i&&i.call(this,a,u,f)},$.shouldComponentUpdate=s}return o.__N||o.__}function he(e,t){var n=le(q++,3);!K.__s&&Et(n.__H,t)&&(n.__=e,n.u=t,$.__H.__h.push(n))}function cs(e,t){var n=le(q++,4);!K.__s&&Et(n.__H,t)&&(n.__=e,n.u=t,$.__h.push(n))}function Ot(e){return pe=5,Qn(function(){return{current:e}},[])}function Qn(e,t){var n=le(q++,7);return Et(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function lt(e,t){return pe=8,Qn(function(){return e},t)}function eo(e){var t=$.context[e.__c],n=le(q++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub($)),t.props.value):e.__}function us(){var e=le(q++,11);if(!e.__){for(var t=$.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function fs(){for(var e;e=Zn.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(xe),t.__h.some(ct),t.__h=[]}catch(n){t.__h=[],K.__e(n,e.__v)}}}K.__b=function(e){$=null,zt&&zt(e)},K.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Xt&&Xt(e,t)},K.__r=function(e){Gt&&Gt(e),q=0;var t=($=e.__c).__H;t&&(Ge===$?(t.__h=[],$.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(xe),t.__h.some(ct),t.__h=[],q=0)),Ge=$},K.diffed=function(e){Yt&&Yt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Zn.push(t)!==1&&Wt===K.requestAnimationFrame||((Wt=K.requestAnimationFrame)||_s)(fs)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Ge=$=null},K.__c=function(e,t){t.some(function(n){try{n.__h.some(xe),n.__h=n.__h.filter(function(o){return!o.__||ct(o)})}catch(o){t.some(function(s){s.__h&&(s.__h=[])}),t=[],K.__e(o,n.__v)}}),qt&&qt(e,t)},K.unmount=function(e){Zt&&Zt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(o){try{xe(o)}catch(s){t=s}}),n.__H=void 0,t&&K.__e(t,n.__v))};var Qt=typeof requestAnimationFrame=="function";function _s(e){var t,n=function(){clearTimeout(o),Qt&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Qt&&(t=requestAnimationFrame(n))}function xe(e){var t=$,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),$=t}function ct(e){var t=$;e.__c=e.__(),$=t}function Et(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function to(e,t){return typeof t=="function"?t(e):t}function ds(e,t){for(var n in t)e[n]=t[n];return e}function en(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function ys(e,t){var n=t(),o=Xn({t:{__:n,u:t}}),s=o[0].t,r=o[1];return cs(function(){s.__=n,s.u=t,Ye(s)&&r({t:s})},[e,n,t]),he(function(){return Ye(s)&&r({t:s}),e(function(){Ye(s)&&r({t:s})})},[e]),n}function Ye(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function tn(e,t){this.props=e,this.context=t}(tn.prototype=new z).isPureReactComponent=!0,tn.prototype.shouldComponentUpdate=function(e,t){return en(this.props,e)||en(this.state,t)};var nn=m.__b;m.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),nn&&nn(e)};var ps=m.__e;m.__e=function(e,t,n,o){if(e.then){for(var s,r=t;r=r.__;)if((s=r.__c)&&s.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),s.__c(e,t)}ps(e,t,n,o)};var on=m.unmount;function no(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=ds({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return no(o,t,n)})),e}function oo(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return oo(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function qe(){this.__u=0,this.o=null,this.__b=null}function so(e){if(!e.__)return null;var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Ke(){this.i=null,this.l=null}m.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),on&&on(e)},(qe.prototype=new z).__c=function(e,t){var n=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(n);var s=so(o.__v),r=!1,i=function(){r||o.__z||(r=!0,n.__R=null,s?s(u):u())};n.__R=i;var a=n.__P;n.__P=null;var u=function(){if(!--o.__u){if(o.state.__a){var f=o.state.__a;o.__v.__k[0]=oo(f,f.__c.__P,f.__c.__O)}var c;for(o.setState({__a:o.__b=null});c=o.o.pop();)c.__P=a,c.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},qe.prototype.componentWillUnmount=function(){this.o=[]},qe.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=no(this.__b,n,o.__O=o.__P)}this.__b=null}var s=t.__a&&et(P,null,e.fallback);return s&&(s.__u&=-33),[et(P,null,t.__a?null:e.children),s]};var sn=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(Ke.prototype=new z).__a=function(e){var t=this,n=so(t.__v),o=t.l.get(e);return o[0]++,function(s){var r=function(){t.props.revealOrder?(o.push(s),sn(t,e,o)):s()};n?n(r):r()}},Ke.prototype.render=function(e){this.i=null,this.l=new Map;var t=Ae(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Ke.prototype.componentDidUpdate=Ke.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){sn(e,n,t)})};var hs=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,ms=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,gs=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,bs=/[A-Z0-9]/g,ks=typeof document<"u",ws=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};z.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(z.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var rn=m.event;function vs(){}function Ss(){return this.cancelBubble}function $s(){return this.defaultPrevented}m.event=function(e){return rn&&(e=rn(e)),e.persist=vs,e.isPropagationStopped=Ss,e.isDefaultPrevented=$s,e.nativeEvent=e};var Ks={enumerable:!1,configurable:!0,get:function(){return this.class}},an=m.vnode;m.vnode=function(e){typeof e.type=="string"&&(function(t){var n=t.props,o=t.type,s={},r=o.indexOf("-")===-1;for(var i in n){var a=n[i];if(!(i==="value"&&"defaultValue"in n&&a==null||ks&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var u=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&a===!0?a="":u==="translate"&&a==="no"?a=!1:u[0]==="o"&&u[1]==="n"?u==="ondoubleclick"?i="ondblclick":u!=="onchange"||o!=="input"&&o!=="textarea"||ws(n.type)?u==="onfocus"?i="onfocusin":u==="onblur"?i="onfocusout":gs.test(i)&&(i=u):u=i="oninput":r&&ms.test(i)?i=i.replace(bs,"-$&").toLowerCase():a===null&&(a=void 0),u==="oninput"&&s[i=u]&&(i="oninputCapture"),s[i]=a}}o=="select"&&s.multiple&&Array.isArray(s.value)&&(s.value=Ae(n.children).forEach(function(f){f.props.selected=s.value.indexOf(f.props.value)!=-1})),o=="select"&&s.defaultValue!=null&&(s.value=Ae(n.children).forEach(function(f){f.props.selected=s.multiple?s.defaultValue.indexOf(f.props.value)!=-1:s.defaultValue==f.props.value})),n.class&&!n.className?(s.class=n.class,Object.defineProperty(s,"className",Ks)):n.className&&(s.class=s.className=n.className),t.props=s})(e),e.$$typeof=hs,an&&an(e)};var ln=m.__r;m.__r=function(e){ln&&ln(e),e.__c};var cn=m.diffed;m.diffed=function(e){cn&&cn(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value)};const ro=po(B.STORE);function Rs(...e){let t,n;const o=eo(ro);if(e.length===3){const r=e[0],i=e[1];t=C(o,r,i),n=e[2]}else t=e[0],n=e[1];const s=n(null);return he(()=>{D(o,t,s.current)},[t]),s}function Ts(e,...t){let n;if(t.length===2){const o=t[0],s=t[1];n=C(e,o,s)}else n=t[0];return n}function xs(e,t){if(globalThis.env?.NODE_ENV==="development"){const n=Ot(!1);he(()=>{let o=n.current;if(o===!1)o=e()??!0,n.current=o;else return()=>{G(o)&&o(),n.current=!1}},t)}else he(e,t)}function ie(...e){const t=eo(ro),n=Ts(t,...e),o=us();if(n.type==="mutable_atom"||n.type==="readonly_held_selector"||n.type==="writable_held_selector"){const[,i]=Xn(0),a=Ot(F(t,n));return xs(()=>re(t,n,`use-o:${o}`,({newValue:u})=>{a.current=u,i(f=>f+1)}),[n.key]),a.current}const s=lt(i=>re(t,n,`use-o:${o}`,i),[n.key]),r=lt(()=>F(t,n),[n.key]);return ys(s,r)}const Ce=Je({key:"pathKeys",default:[]}),Fe=Mt({key:"subpathKeys",default:[]}),ve=Mt({key:"node",default:null}),me=Mt({key:"edge",default:!0}),Cs=rs({key:"pathDraw",get:e=>({get:t})=>t(Fe,e).map((o,s)=>{const r=t(ve,o),i=t(me,o);return r===null?"Z":s===0?`M ${r.x} ${r.y}`:i===!1?`M ${r.x} ${r.y}`:i===!0?`L ${r.x} ${r.y}`:"c"in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${r.x} ${r.y}`:`S ${i.s.x} ${i.s.y} ${r.x} ${r.y}`}).join(" ")});function te(e,t,n){return Math.max(t,Math.min(n,e))}function un({at:e,subpathKey:t,prevSubpathKey:n,node:o}){let s;return typeof o==="undefined"?s=ie(ve,n):s=o,s===null?null:b(P,{children:[b("line",{class:"bezier",x1:s.x,y1:s.y,x2:e.x,y2:e.y,stroke:"#777","stroke-width":1}),b("circle",{class:"bezier",fill:"#777",stroke:"#aaa","stroke-width":1,cx:e.x,cy:e.y,r:2}),b("circle",{class:"bezier-draggable",fill:"transparent",cx:e.x,cy:e.y,r:6,onPointerDown:r=>{r.currentTarget.setPointerCapture(r.pointerId),L(He,{key:t,by:o?"s":"c"})}})]})}function Ms({subpathKey:e,nextSubpathKey:t}){const n=ie(ve,e),o=ie(me,e);return n===null?null:b(P,{children:[typeof o=="boolean"?b("rect",{class:"node",x:n.x-3,y:n.y-3,width:6,height:6}):b(P,{children:[b(un,{at:o.s,node:n,subpathKey:e,prevSubpathKey:t}),o.c?b(un,{at:o.c,subpathKey:e,prevSubpathKey:t}):null,b("circle",{class:"node",cx:n.x,cy:n.y,r:3})]}),b("circle",{class:"node-draggable",fill:"transparent",cx:n.x,cy:n.y,r:10,onPointerDown:s=>{s.currentTarget.setPointerCapture(s.pointerId),L(He,{key:e})}})]})}function Os({pathKey:e}){const t=ie(Cs,e);return b("path",{d:`${t} Z`,class:"path",style:{pointerEvents:"none"}})}function Es({pathKey:e}){const t=ie(Fe,e);return b(P,{children:[b(Os,{pathKey:e}),t.toReversed().map((n,o,s)=>b(Ms,{subpathKey:n,nextSubpathKey:s[o+1]??s[0]},n))]})}function As(){const e=ie(Ce);return b(P,{children:e.map(t=>b(Es,{pathKey:t},t))})}const io=Je({key:"svgRef",default:null}),He=Je({key:"currentlyDragging",default:null});function js(e){e.preventDefault();const{key:t,by:n}=Ne(He)??{},o=Ne(io);if(!o||!t)return;const s=o.createSVGPoint();s.x=e.clientX,s.y=e.clientY;const r=o.getScreenCTM()?.inverse(),{x:i,y:a}=s.matrixTransform(r);switch(n){case void 0:L(ve,t,{x:te(i,-185,ne+185),y:te(a,-10,oe+10)});break;case"s":L(me,t,u=>({...u,s:{x:te(i,-185,ne+185),y:te(a,-10,oe+10)}}));break;case"c":L(me,t,u=>({...u,c:{x:te(i,-185,ne+185),y:te(a,-10,oe+10)}}));break}}const Ps=["m","M","l","L","c","C","v","V","z","Z"],Ns=Je({key:"preactLogo",default:()=>fetch("preact.svg").then(e=>e.text())}),Fs=is({key:"reset",do:async()=>{const e=await Ne(Ns);for(const s of Ne(Ce))Ht(Fe,s);Ht(Ce);const t=e.split(`
14
+ `).filter(s=>s.startsWith(" <path")).map(s=>{const r=s.split('d="')[1].slice(0,-9);let i,a="",u=[];const f=[];for(const d of r){if(Ps.includes(d)){a&&(u.push(Number.parseFloat(a)),a=""),i&&f.push({letter:i,numbers:u}),i=d,u=[];continue}if(d===" "){u.push(Number.parseFloat(a)),a="";continue}if(d==="-"&&a){u.push(Number.parseFloat(a)),a="-";continue}a+=d}let c={x:0,y:0};return f.map(({letter:d,numbers:_})=>{let y,p;switch(d){case"m":y={x:c.x+_[0],y:c.y+_[1]},p=!1;break;case"M":y={x:_[0],y:_[1]},p=!1;break;case"l":y={x:c.x+_[0],y:c.y+_[1]},p=!0;break;case"L":y={x:_[0],y:_[1]},p=!0;break;case"c":y={x:c.x+_[4],y:c.y+_[5]},p={c:{x:c.x+_[0],y:c.y+_[1]},s:{x:c.x+_[2],y:c.y+_[3]}};break;case"C":y={x:_[4],y:_[5]},p={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":y={x:c.x,y:c.y+_[0]},p=!0;break;case"V":y={x:c.x,y:_[0]},p=!0;break;case"z":case"Z":y=null,p=!0}return y&&(c=y),{node:y,edge:p}})});let n=0,o=0;for(const s of t){const r=o;for(const{node:a,edge:u}of s)L(me,`subpath${o}`,u),L(ve,`subpath${o}`,a),o++;const i=o-r;L(Fe,`path${n}`,Array.from({length:i},(a,u)=>`subpath${r+u}`)),L(Ce,a=>[...a,`path${n}`]),n++}}}),fn=as(Fs),ne=256,oe=296;function Ds(){const e=Rs(io,Ot),t=lt(n=>{n.currentTarget.releasePointerCapture(n.pointerId),L(He,null)},[]);return he(()=>{fn()},[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${ne+370} ${oe+30}`,width:1e3,height:500,onPointerMove:js,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:ne,height:oe,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:ne+370,height:oe+20,fill:"url(#grid)"}),b(As,{})]}),b("button",{type:"button",class:"flat",onClick:fn,children:"Reset"})]})}function Is(){return b(P,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(Ds,{}),b("article",{children:[b(Ze,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(Ze,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(Ze,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function Ze(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}yo(b(Is,{}),document.getElementById("app"));
package/dist/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <meta name="color-scheme" content="light dark" />
8
8
  <title>Vite + Preact + Atom.io</title>
9
- <script type="module" crossorigin src="/assets/index-kIpB1JKY.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-BpDVcCjN.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-jy4_OpZh.css">
11
11
  </head>
12
12
  <body>
package/eslint.config.ts CHANGED
@@ -145,7 +145,9 @@ const commonRules = {
145
145
  "@typescript-eslint/unbound-method": 0,
146
146
  "@typescript-eslint/unified-signatures": ERROR,
147
147
 
148
+ "atom.io/exact-catch-types": ERROR,
148
149
  "atom.io/explicit-state-types": ERROR,
150
+ "atom.io/naming-convention": ERROR,
149
151
 
150
152
  "import/newline-after-import": ERROR,
151
153
  "import/no-duplicates": ERROR,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atom.io/template-preact-svg-editor",
3
- "version": "0.0.44",
3
+ "version": "0.0.46",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,15 +11,15 @@
11
11
  },
12
12
  "type": "module",
13
13
  "dependencies": {
14
- "preact": "10.28.3",
15
- "react": "npm:@preact/compat@18.3.1",
16
- "react-dom": "npm:@preact/compat@18.3.1",
17
- "atom.io": "0.46.23"
14
+ "preact": "10.28.4",
15
+ "react": "npm:@preact/compat@18.3.2",
16
+ "react-dom": "npm:@preact/compat@18.3.2",
17
+ "atom.io": "0.46.24"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@preact/preset-vite": "2.10.3",
21
- "@typescript-eslint/eslint-plugin": "8.54.0",
22
- "@typescript-eslint/parser": "8.54.0",
21
+ "@typescript-eslint/eslint-plugin": "8.56.1",
22
+ "@typescript-eslint/parser": "8.56.1",
23
23
  "eslint-config-preact": "2.0.0",
24
24
  "eslint-plugin-import-x": "4.16.1",
25
25
  "eslint-plugin-simple-import-sort": "12.1.1",
@@ -25,15 +25,15 @@ const subpathKeysAtoms = atomFamily<string[], string>({
25
25
  default: [],
26
26
  })
27
27
  const nodeAtoms = atomFamily<PointXY | null, string>({
28
- key: `nodeAtoms`,
28
+ key: `node`,
29
29
  default: null,
30
30
  })
31
31
  const edgeAtoms = atomFamily<EdgeXY | boolean, string>({
32
- key: `edgeAtoms`,
32
+ key: `edge`,
33
33
  default: true,
34
34
  })
35
35
  const pathDrawSelectors = selectorFamily<string, string>({
36
- key: `pathDrawSelectors`,
36
+ key: `pathDraw`,
37
37
  get:
38
38
  (pathKey) =>
39
39
  ({ get }) => {
@@ -1,14 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(s){if(s.ep)return;s.ep=!0;const r=n(s);fetch(s.href,r)}})();var Ie,m,dn,Q,jt,yn,pn,hn,ft,Qe,et,mn,_e={},gn=[],co=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,we=Array.isArray;function J(e,t){for(var n in t)e[n]=t[n];return e}function _t(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function tt(e,t,n){var o,s,r,i={};for(r in t)r=="key"?o=t[r]:r=="ref"?s=t[r]:i[r]=t[r];if(arguments.length>2&&(i.children=arguments.length>3?Ie.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)i[r]===void 0&&(i[r]=e.defaultProps[r]);return Ce(e,i,o,s,null)}function Ce(e,t,n,o,s){var r={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++dn,__i:-1,__u:0};return s==null&&m.vnode!=null&&m.vnode(r),r}function P(e){return e.children}function H(e,t){this.props=e,this.context=t}function ie(e,t){if(t==null)return e.__?ie(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?ie(e):null}function bn(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return bn(e)}}function nt(e){(!e.__d&&(e.__d=!0)&&Q.push(e)&&!Ae.__r++||jt!=m.debounceRendering)&&((jt=m.debounceRendering)||yn)(Ae)}function Ae(){for(var e,t,n,o,s,r,i,a=1;Q.length;)Q.length>a&&Q.sort(pn),e=Q.shift(),a=Q.length,e.__d&&(n=void 0,o=void 0,s=(o=(t=e).__v).__e,r=[],i=[],t.__P&&((n=J({},o)).__v=o.__v+1,m.vnode&&m.vnode(n),dt(t.__P,n,o,t.__n,t.__P.namespaceURI,32&o.__u?[s]:null,r,s??ie(o),!!(32&o.__u),i),n.__v=o.__v,n.__.__k[n.__i]=n,vn(r,n,i),o.__e=o.__=null,n.__e!=s&&bn(n)));Ae.__r=0}function kn(e,t,n,o,s,r,i,a,u,f,c){var l,d,_,y,p,k,g,h=o&&o.__k||gn,v=t.length;for(u=uo(n,t,h,u,v),l=0;l<v;l++)(_=n.__k[l])!=null&&(d=_.__i==-1?_e:h[_.__i]||_e,_.__i=l,k=dt(e,_,d,s,r,i,a,u,f,c),y=_.__e,_.ref&&d.ref!=_.ref&&(d.ref&&yt(d.ref,null,_),c.push(_.ref,_.__c||y,_)),p==null&&y!=null&&(p=y),(g=!!(4&_.__u))||d.__k===_.__k?u=wn(_,u,e,g):typeof _.type=="function"&&k!==void 0?u=k:y&&(u=y.nextSibling),_.__u&=-7);return n.__e=p,u}function uo(e,t,n,o,s){var r,i,a,u,f,c=n.length,l=c,d=0;for(e.__k=new Array(s),r=0;r<s;r++)(i=t[r])!=null&&typeof i!="boolean"&&typeof i!="function"?(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?i=e.__k[r]=Ce(null,i,null,null,null):we(i)?i=e.__k[r]=Ce(P,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?i=e.__k[r]=Ce(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):e.__k[r]=i,u=r+d,i.__=e,i.__b=e.__b+1,a=null,(f=i.__i=fo(i,n,u,l))!=-1&&(l--,(a=n[f])&&(a.__u|=2)),a==null||a.__v==null?(f==-1&&(s>c?d--:s<c&&d++),typeof i.type!="function"&&(i.__u|=4)):f!=u&&(f==u-1?d--:f==u+1?d++:(f>u?d--:d++,i.__u|=4))):e.__k[r]=null;if(l)for(r=0;r<c;r++)(a=n[r])!=null&&(2&a.__u)==0&&(a.__e==o&&(o=ie(a)),$n(a,a));return o}function wn(e,t,n,o){var s,r;if(typeof e.type=="function"){for(s=e.__k,r=0;s&&r<s.length;r++)s[r]&&(s[r].__=e,t=wn(s[r],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=ie(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function je(e,t){return t=t||[],e==null||typeof e=="boolean"||(we(e)?e.some(function(n){je(n,t)}):t.push(e)),t}function fo(e,t,n,o){var s,r,i,a=e.key,u=e.type,f=t[n],c=f!=null&&(2&f.__u)==0;if(f===null&&a==null||c&&a==f.key&&u==f.type)return n;if(o>(c?1:0)){for(s=n-1,r=n+1;s>=0||r<t.length;)if((f=t[i=s>=0?s--:r++])!=null&&(2&f.__u)==0&&a==f.key&&u==f.type)return i}return-1}function Pt(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||co.test(t)?n:n+"px"}function Re(e,t,n,o,s){var r,i;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||Pt(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||Pt(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")r=t!=(t=t.replace(hn,"$1")),i=t.toLowerCase(),t=i in e||t=="onFocusOut"||t=="onFocusIn"?i.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?o?n.u=o.u:(n.u=ft,e.addEventListener(t,r?et:Qe,r)):e.removeEventListener(t,r?et:Qe,r);else{if(s=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Nt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=ft++;else if(t.t<n.u)return;return n(m.event?m.event(t):t)}}}function dt(e,t,n,o,s,r,i,a,u,f){var c,l,d,_,y,p,k,g,h,v,x,O,A,W,E,z,X,I=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(u=!!(32&n.__u),r=[a=t.__e=n.__e]),(c=m.__b)&&c(t);e:if(typeof I=="function")try{if(g=t.props,h="prototype"in I&&I.prototype.render,v=(c=I.contextType)&&o[c.__c],x=c?v?v.props.value:c.__:o,n.__c?k=(l=t.__c=n.__c).__=l.__E:(h?t.__c=l=new I(g,x):(t.__c=l=new H(g,x),l.constructor=I,l.render=yo),v&&v.sub(l),l.state||(l.state={}),l.__n=o,d=l.__d=!0,l.__h=[],l._sb=[]),h&&l.__s==null&&(l.__s=l.state),h&&I.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=J({},l.__s)),J(l.__s,I.getDerivedStateFromProps(g,l.__s))),_=l.props,y=l.state,l.__v=t,d)h&&I.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),h&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(h&&I.getDerivedStateFromProps==null&&g!==_&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(g,x),t.__v==n.__v||!l.__e&&l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(g,l.__s,x)===!1){for(t.__v!=n.__v&&(l.props=g,l.state=l.__s,l.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(ne){ne&&(ne.__=t)}),O=0;O<l._sb.length;O++)l.__h.push(l._sb[O]);l._sb=[],l.__h.length&&i.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(g,l.__s,x),h&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(_,y,p)})}if(l.context=x,l.props=g,l.__P=e,l.__e=!1,A=m.__r,W=0,h){for(l.state=l.__s,l.__d=!1,A&&A(t),c=l.render(l.props,l.state,l.context),E=0;E<l._sb.length;E++)l.__h.push(l._sb[E]);l._sb=[]}else do l.__d=!1,A&&A(t),c=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++W<25);l.state=l.__s,l.getChildContext!=null&&(o=J(J({},o),l.getChildContext())),h&&!d&&l.getSnapshotBeforeUpdate!=null&&(p=l.getSnapshotBeforeUpdate(_,y)),z=c,c!=null&&c.type===P&&c.key==null&&(z=Sn(c.props.children)),a=kn(e,we(z)?z:[z],t,n,o,s,r,i,a,u,f),l.base=t.__e,t.__u&=-161,l.__h.length&&i.push(l),k&&(l.__E=l.__=null)}catch(ne){if(t.__v=null,u||r!=null)if(ne.then){for(t.__u|=u?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;r[r.indexOf(a)]=null,t.__e=a}else{for(X=r.length;X--;)_t(r[X]);ot(t)}else t.__e=n.__e,t.__k=n.__k,ne.then||ot(t);m.__e(ne,t,n)}else r==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):a=t.__e=_o(n.__e,t,n,o,s,r,i,u,f);return(c=m.diffed)&&c(t),128&t.__u?void 0:a}function ot(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(ot)}function vn(e,t,n){for(var o=0;o<n.length;o++)yt(n[o],n[++o],n[++o]);m.__c&&m.__c(t,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(r){r.call(s)})}catch(r){m.__e(r,s.__v)}})}function Sn(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:we(e)?e.map(Sn):J({},e)}function _o(e,t,n,o,s,r,i,a,u){var f,c,l,d,_,y,p,k=n.props||_e,g=t.props,h=t.type;if(h=="svg"?s="http://www.w3.org/2000/svg":h=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),r!=null){for(f=0;f<r.length;f++)if((_=r[f])&&"setAttribute"in _==!!h&&(h?_.localName==h:_.nodeType==3)){e=_,r[f]=null;break}}if(e==null){if(h==null)return document.createTextNode(g);e=document.createElementNS(s,h,g.is&&g),a&&(m.__m&&m.__m(t,r),a=!1),r=null}if(h==null)k===g||a&&e.data==g||(e.data=g);else{if(r=r&&Ie.call(e.childNodes),!a&&r!=null)for(k={},f=0;f<e.attributes.length;f++)k[(_=e.attributes[f]).name]=_.value;for(f in k)if(_=k[f],f!="children"){if(f=="dangerouslySetInnerHTML")l=_;else if(!(f in g)){if(f=="value"&&"defaultValue"in g||f=="checked"&&"defaultChecked"in g)continue;Re(e,f,null,_,s)}}for(f in g)_=g[f],f=="children"?d=_:f=="dangerouslySetInnerHTML"?c=_:f=="value"?y=_:f=="checked"?p=_:a&&typeof _!="function"||k[f]===_||Re(e,f,_,k[f],s);if(c)a||l&&(c.__html==l.__html||c.__html==e.innerHTML)||(e.innerHTML=c.__html),t.__k=[];else if(l&&(e.innerHTML=""),kn(t.type=="template"?e.content:e,we(d)?d:[d],t,n,o,h=="foreignObject"?"http://www.w3.org/1999/xhtml":s,r,i,r?r[0]:n.__k&&ie(n,0),a,u),r!=null)for(f=r.length;f--;)_t(r[f]);a||(f="value",h=="progress"&&y==null?e.removeAttribute("value"):y!=null&&(y!==e[f]||h=="progress"&&!y||h=="option"&&y!=k[f])&&Re(e,f,y,k[f],s),f="checked",p!=null&&p!=e[f]&&Re(e,f,p,k[f],s))}return e}function yt(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(s){m.__e(s,n)}}function $n(e,t,n){var o,s;if(m.unmount&&m.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||yt(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(r){m.__e(r,t)}o.base=o.__P=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&$n(o[s],t,n||typeof e.type!="function");n||_t(e.__e),e.__c=e.__=e.__e=void 0}function yo(e,t,n){return this.constructor(e,n)}function po(e,t,n){var o,s,r,i;t==document&&(t=document.documentElement),m.__&&m.__(e,t),s=(o=!1)?null:t.__k,r=[],i=[],dt(t,e=t.__k=tt(P,null,[e]),s||_e,_e,t.namespaceURI,s?null:t.firstChild?Ie.call(t.childNodes):null,r,s?s.__e:t.firstChild,o,i),vn(r,e,i)}function ho(e){function t(n){var o,s;return this.getChildContext||(o=new Set,(s={})[t.__c]=this,this.getChildContext=function(){return s},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(r){this.props.value!=r.value&&o.forEach(function(i){i.__e=!0,nt(i)})},this.sub=function(r){o.add(r);var i=r.componentWillUnmount;r.componentWillUnmount=function(){o&&o.delete(r),i&&i.call(r)}}),n.children}return t.__c="__cC"+mn++,t.__=e,t.Provider=t.__l=(t.Consumer=function(n,o){return n.children(o)}).contextType=t,t}Ie=gn.slice,m={__e:function(e,t,n,o){for(var s,r,i;t=t.__;)if((s=t.__c)&&!s.__)try{if((r=s.constructor)&&r.getDerivedStateFromError!=null&&(s.setState(r.getDerivedStateFromError(e)),i=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),i=s.__d),i)return s.__E=s}catch(a){e=a}throw e}},dn=0,H.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=J({},this.state),typeof e=="function"&&(e=e(J({},n),this.props)),e&&J(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),nt(this))},H.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),nt(this))},H.prototype.render=P,Q=[],yn=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,pn=function(e,t){return e.__v.__b-t.__v.__b},Ae.__r=0,hn=/(PointerCapture)$|Capture$/i,ft=0,Qe=Nt(!1),et=Nt(!0),mn=0;var mo=0;function b(e,t,n,o,s,r){t||(t={});var i,a,u=t;if("ref"in u)for(a in u={},t)a=="ref"?i=t[a]:u[a]=t[a];var f={type:e,props:u,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--mo,__i:-1,__u:0,__source:s,__self:r};if(typeof e=="function"&&(i=e.defaultProps))for(a in i)u[a]===void 0&&(u[a]=i[a]);return m.vnode&&m.vnode(f),f}const Kn="",Rn="",Tn="",xn="",Ft=e=>{if(e===null)return Rn;switch(typeof e){case"string":return Tn+e;case"number":return xn+e;case"boolean":return Kn+ +e;case"object":return JSON.stringify(e)}},Dt=e=>{switch(e[0]){case Tn:return e.slice(1);case xn:return+e.slice(1);case Kn:return e.slice(1)==="1";case Rn:return null;case"[":return JSON.parse(e)}};function go(e){const t={};let n=0;for(const o of e)t[o]=n,t[n]=o,++n;return t}function ee(e){return JSON.parse(e)}const T=e=>JSON.stringify(e),It=go(["add","delete","clear"]);var bo=class fe extends Set{mode="record";subject=new S;constructor(t){super(t)}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(t){return new fe(t)}add(t){const n=super.add(t);return this.mode==="record"&&this.emit({type:"add",value:t}),n}clear(){const t=this.mode==="record"?[...this]:null;super.clear(),t&&this.emit({type:"clear",values:t})}delete(t){const n=super.delete(t);return this.mode==="record"&&this.emit({type:"delete",value:t}),n}subscribe(t,n){return this.subject.subscribe(t,n)}emit(t){this.subject.next(fe.packUpdate(t))}do(t){this.mode="playback";const n=fe.unpackUpdate(t);switch(n.type){case"add":this.add(n.value);break;case"delete":this.delete(n.value);break;case"clear":this.clear()}return this.mode="record",null}undo(t){const n=fe.unpackUpdate(t);switch(this.mode="playback",n.type){case"add":this.delete(n.value);break;case"delete":this.add(n.value);break;case"clear":{const o=n.values;for(const s of o)this.add(s)}}return this.mode="record",null}static packUpdate(t){const n=It[t.type]+"";return t.type==="clear"?n+t.values.map(Ft).join(""):n+Ft(t.value)}static unpackUpdate(t){const[n,o]=t.split(""),s=It[n];return s==="clear"?{type:"clear",values:o.split("").map(Dt)}:{type:s,value:Dt(o)}}};function Cn(e=Math.random){return e().toString(36).slice(2)}function w(e){for(;e.child!==null;)e=e.child;return e}function pt(e){for(;e.parent!==null;)e=e.parent;return e}const ko=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function G(e){const t=Object.prototype.toString.call(e);return ko.test(t)}function Vt(e,t){return G(e)?e(t):e}var st=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((o,s)=>{t=o,n=s}),this.resolve=t,this.reject=n,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){e===this.fate&&(this.resolve(t),this.done=!0)}fail(e,t){e===this.fate&&(this.reject(t),this.done=!0)}use(e){if(this!==e)if(e instanceof Promise){const t=e;this.fate=t,t.then(n=>{this.pass(t,n)},n=>{this.fail(t,n)})}else this.resolve(e),this.fate=void 0}},S=class{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(const n of t)n(e)}},wo=class extends S{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},vo=class Mn{_buffer;_index=0;constructor(t){let n;typeof t=="number"?n=t:n=t.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(t){this._buffer[this._index]=t,this._index=(this._index+1)%this._buffer.length}copy(){const t=new Mn([...this._buffer]);return t._index=this._index,t}};function Y(e){const t={key:e.key,type:e.type};return"family"in e&&(t.family=e.family),t}var N=class extends Map{deleted=new Set;changed=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e)}set(e,t){return this.deleted.delete(e),this.source.has(e)&&this.changed.add(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)&&(this.deleted.add(e),this.changed.delete(e)),super.delete(e)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[e,t]of this.source)!this.deleted.has(e)&&!this.changed.has(e)&&(yield[e,t])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(const[,e]of this[Symbol.iterator]())yield e}forEach(e){for(const[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},En=class extends Set{deleted=new Set;source;constructor(e){super(),this.source=e}add(e){return this.source.has(e)?(this.deleted.delete(e),this):super.add(e)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.source.has(e)?(this.deleted.add(e),!0):super.delete(e)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const e of this.source)this.deleted.has(e)||(yield e)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},So=class extends Map{deleted=new Set;source;constructor(e){super(),this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e)){const t=new En(this.source.get(e));return super.set(e,t),t}}set(e,t){return this.deleted.delete(e),super.set(e,t)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}},B=class On{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(t,n)=>`${t}:${n}`;warn;getRelatedKeys(t){return this.relations.get(t)}addRelation(t,n){let o=this.relations.get(t),s=this.relations.get(n);o?o.add(n):(o=new Set([n]),this.relations.set(t,o)),s?s.add(t):(s=new Set([t]),this.relations.set(n,s))}deleteRelation(t,n){const o=this.relations.get(t);if(o){o.delete(n),o.size===0&&this.relations.delete(t);const s=this.relations.get(n);s&&(s.delete(t),s.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(t,n){this.relations.set(t,new Set(n));for(const o of n){const s=new Set().add(t);this.relations.set(o,s)}}replaceRelationsSafely(t,n){const o=this.relations.get(t);let s=this.isAType?.(t)?t:void 0,r=s===void 0?t:void 0;if(o)for(const i of o){s??=i,r??=i;const a=this.relations.get(i);a&&(a.size===1?this.relations.delete(i):a.delete(t),this.contents.delete(this.makeContentKey(s,r)))}this.relations.set(t,new Set(n));for(const i of n){let a=this.relations.get(i);a?a.add(t):(a=new Set().add(t),this.relations.set(i,a))}}getContentInternal(t){return this.contents.get(t)}setContent(t,n){this.contents.set(t,n)}deleteContent(t){this.contents.delete(t)}constructor(t,n){if(this.a=t.between[0],this.b=t.between[1],this.cardinality=t.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const o=n?.source;o===void 0&&(this.relations=new Map(t.relations?.map(([s,r])=>[s,new Set(r)])),this.contents=new Map(t.contents)),o&&(this.relations=new So(o.relations),this.contents=new N(o.contents))}if(n?.externalStore){const o=n.externalStore;this.has=(s,r)=>o.has(s,r),this.addRelation=(s,r)=>{o.addRelation(s,r)},this.deleteRelation=(s,r)=>{o.deleteRelation(s,r)},this.replaceRelationsSafely=(s,r)=>{o.replaceRelationsSafely(s,r)},this.replaceRelationsUnsafely=(s,r)=>{o.replaceRelationsUnsafely(s,r)},this.getRelatedKeys=(s=>o.getRelatedKeys(s)),o.getContent&&(this.getContentInternal=s=>o.getContent(s),this.setContent=(s,r)=>{o.setContent(s,r)},this.deleteContent=s=>{o.deleteContent(s)});for(const[s,r]of t.relations??[]){let i=this.isAType?.(s)?s:void 0,a=i===void 0?s:void 0;for(const u of r)i??=u,a??=u,this.addRelation(i,a)}for(const[s,r]of t.contents??[])this.setContent(s,r)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([t,n])=>[t,[...n]]),contents:[...this.contents.entries()]}}set(...t){let n,o,s;switch(t.length){case 1:{const r=t[0];n=r[this.a],o=r[this.b],s=void 0;break}case 2:{const r=t[0];typeof r=="string"?[n,o]=t:(n=r[this.a],o=r[this.b],s=t[1]);break}default:n=t[0],o=t[1],s=t[2];break}switch(this.cardinality){case"1:1":{const r=this.getRelatedKey(n);r&&r!==o&&this.delete(n,r)}case"1:n":{const r=this.getRelatedKey(o);r&&r!==n&&this.delete(r,o)}break}if(s){const r=this.makeContentKey(n,o);this.setContent(r,s)}return this.addRelation(n,o),this}delete(t,n){n=typeof n=="string"?n:t[this.b];const o=typeof t=="string"?t:t[this.a];if(o===void 0&&typeof n=="string"){const s=this.getRelatedKeys(n);if(s)for(const r of s)this.delete(r,n)}else if(typeof o=="string"&&n===void 0){const s=this.getRelatedKeys(o);if(s)for(const r of s)this.delete(o,r)}else if(typeof o=="string"&&typeof n=="string"){this.deleteRelation(o,n);const s=this.makeContentKey(o,n);this.deleteContent(s)}return this}getRelatedKey(t){const n=this.getRelatedKeys(t);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${t}": (${[...n].map(s=>`"${s}"`).join(", ")}). Only one related key was expected.`);let o;for(const s of n){o=s;break}return o}}replaceRelations(t,n,o){const s=!Array.isArray(n),r=s?Object.keys(n):n;if(o?.reckless?this.replaceRelationsUnsafely(t,r):this.replaceRelationsSafely(t,r),s)for(const i of r){const a=this.makeContentKey(t,i),u=n[i];this.setContent(a,u)}return this}getContent(t,n){const o=this.makeContentKey(t,n);return this.getContentInternal(o)}getRelationEntries(t){const n=t[this.a],o=t[this.b];if(n!==void 0&&o===void 0){const s=this.getRelatedKeys(n);if(s)return[...s].map(r=>[r,this.getContent(n,r)])}if(n===void 0&&o!==void 0){const s=this.getRelatedKeys(o);if(s)return[...s].map(r=>[r,this.getContent(r,o)])}return[]}has(t,n){return n?this.getRelatedKeys(t)?.has(n)??!1:this.relations.has(t)}overlay(){const t={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(t.isAType=this.isAType),this.isBType&&(t.isBType=this.isBType),this.isContent&&(t.isContent=this.isContent),this.warn&&(t.warn=this.warn),new On({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(t){const{relations:n,contents:o}=t;for(const[s,r]of n)if(r instanceof En){const{source:i}=r;for(const a of r.iterateOwn())i.add(a)}else this.relations.set(s,r);for(const s of n.deleted)this.relations.delete(s);for(const[s,r]of o)this.contents.set(s,r);for(const s of o.deleted)this.contents.delete(s)}};function $o(e){return e.startsWith("🔍 ")}const Ko=e=>{e.logger.info("🪂","transaction",e.transactionMeta.update.token.key,"Aborting transaction"),e.parent.child=null};function An(e,t,n){return(...o)=>R(e,t).run(o,n)}function Ro(e,t,n){const{token:o,update:{newValue:s,oldValue:r}}=t;D(e,o,s)}function To(e){const{stack:t}=e;return t?`
2
- `+t.split(`
3
- `)?.slice(1)?.join(`
4
- `):""}function jn(e,t,n,o="any"){const s=t,r=T(n),i=[],a=w(e);if(Array.isArray(s))for(const c of s){const l=T(c);a.molecules.get(l)?e.moleculeGraph.set(l,r,{source:l}):i.push(l)}else{const c=T(s);a.molecules.get(c)?e.moleculeGraph.set(c,r,{source:c}):i.push(c)}const u=new S;i.length===0&&a.molecules.set(r,{key:n,stringKey:r,dependsOn:o,subject:u});const f={type:"molecule_creation",key:n,provenance:s,timestamp:Date.now()};M(a)&&a.transactionMeta.phase==="building"?a.transactionMeta.update.subEvents.push(f):a.on.moleculeCreation.next(f);for(const c of i){const l=e.disposalTraces.buffer.find(d=>d?.key===c);e.logger.error("❌","key",n,"allocation failed:",`Could not allocate to ${c} in store "${e.config.name}".`,l?`
5
- ${c} was most recently disposed
6
- ${l.trace}`:`No previous disposal trace for ${c} was found.`)}return n}function ht(e,t){const n=T(t),o=e.molecules.get(n);if(!o){const d=e.disposalTraces.buffer.find(_=>_?.key===n);e.logger.error("❌","key",t,"deallocation failed:",`Could not find allocation for ${n} in store "${e.config.name}".`,d?`
7
- This state was most recently deallocated
8
- ${d.trace}`:`No previous disposal trace for ${n} was found.`);return}o.subject.next();const s=e.keyRefsInJoins.getRelatedKeys(n);if(s)for(const d of s){const _=e.joins.get(d);_&&_.relations.delete(t)}else{const d=rs(t);if(d){const[,_,y]=d,p=e.keyRefsInJoins.getRelatedKey(Me(_,y));if(p){const k=e.joins.get(p);k&&k.relations.delete(_,y)}}}e.keyRefsInJoins.delete(n);const r=[],i=[],a=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(a)for(const[d,{source:_}]of a)_===n?ht(e,ee(d)):r.push(_);const u=e.moleculeData.getRelatedKeys(o.stringKey);if(u)for(const d of u){const _=e.families.get(d),y=F(e,_,t);i.push([_.key,y]),Ve(e,_,t)}const f={type:"molecule_disposal",key:o.key,values:i,provenance:r,timestamp:Date.now()};e.molecules.delete(n);const c=M(e)&&e.transactionMeta.phase==="building";c&&e.transactionMeta.update.subEvents.push(f),e.moleculeGraph.delete(o.stringKey),e.keyRefsInJoins.delete(o.stringKey),e.moleculeData.delete(o.stringKey),c||e.on.moleculeDisposal.next(f),e.molecules.delete(o.stringKey);const l=To(new Error);e.disposalTraces.add({key:n,trace:l})}function Ut(e,t,n,o){const s=T(n),r=w(e),i=r.molecules.get(s);if(!i){const l=e.disposalTraces.buffer.find(d=>d?.key===s);return e.logger.error("❌","key",s,"claim failed:",`Could not allocate to ${s} in store "${e.config.name}".`,l?`
9
- ${s} was most recently disposed
10
- ${l.trace}`:`No previous disposal trace for ${s} was found.`),n}const a=T(t),u=r.molecules.get(a);if(!u){const l=e.disposalTraces.buffer.find(d=>d?.key===a);return e.logger.error("❌","key",n,"claim failed:",`Could not allocate to ${a} in store "${e.config.name}".`,l?`
11
- ${a} was most recently disposed
12
- ${l.trace}`:`No previous disposal trace for ${a} was found.`),n}const f=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:i.stringKey}).filter(([,{source:l}])=>l!==s).map(([l])=>ee(l));o&&r.moleculeGraph.delete(s),r.moleculeGraph.set({upstreamMoleculeKey:u.stringKey,downstreamMoleculeKey:i.stringKey},{source:u.stringKey});const c={type:"molecule_transfer",key:i.key,exclusive:!!o,from:f,to:[u.key],timestamp:Date.now()};return M(r)&&r.transactionMeta.phase==="building"&&r.transactionMeta.update.subEvents.push(c),n}function xo(e,t,n){switch(n){case"newValue":Pn(e,t);break;case"oldValue":Ve(e,t.token);break}}function Co(e,t,n){switch(n){case"newValue":Ve(e,t.token);break;case"oldValue":Pn(e,t),t.subType==="atom"&&e.valueMap.set(t.token.key,t.value);break}}function Pn(e,t){const{token:n}=t;t.subType==="writable"&&t.value?D(e,n,t.value):F(e,n)}function Mo(e,t,n){switch(n){case"newValue":jn(e,t.provenance,t.key);break;case"oldValue":ht(e,t.key);break}}function Eo(e,t,n){switch(n){case"newValue":ht(e,t.key);break;case"oldValue":jn(e,t.provenance.map(ee),t.key);for(const[o,s]of t.values){const r=e.families.get(o);if(r){F(e,r,t.key);const i=`${o}(${T(t.key)})`;e.valueMap.set(i,s)}}break}}function Oo(e,t,n){switch(n){case"newValue":for(const o of t.to)Ut(e,o,t.key,t.exclusive?"exclusive":void 0);break;case"oldValue":{let o="exclusive";for(const s of t.from)Ut(e,s,t.key,o),o=void 0}break}}function Nn(e,t,n){const o=t.subEvents;for(const s of o)switch(s.type){case"atom_update":Ro(e,s);break;case"state_creation":xo(e,s,n);break;case"state_disposal":Co(e,s,n);break;case"molecule_creation":Mo(e,s,n);break;case"molecule_disposal":Eo(e,s,n);break;case"molecule_transfer":Oo(e,s,n);break;case"transaction_outcome":Nn(e,s,n);break}}function de(e){return"epoch"in e.transactionMeta}function M(e){return"phase"in e.transactionMeta}function Fn(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function Ao(e,t){return e.transactionMeta.epoch.get(t)}function jo(e,t){const n=Fn(e,t);if(n!==void 0)return Ao(e,n)}function Po(e,t,n){const o=Fn(e,t);o!==void 0&&e.transactionMeta.epoch.set(o,n)}function No(e,t){const n=w(e),{parent:o}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=t,o.child=null,o.on.transactionApplying.next(n.transactionMeta);const{subEvents:s}=n.transactionMeta.update;e.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${s.length} subEvents:`,s),Nn(o,n.transactionMeta.update,"newValue"),de(o)?(Po(o,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),R(e,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),e.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):M(o)&&o.transactionMeta.update.subEvents.push(n.transactionMeta.update),o.on.transactionApplying.next(null)}function Fo(e){return{store:e}}function j(e){return e[0].toUpperCase()+e.slice(1)}function mt(e,t){let n=e.joins.get(t.key);if(n===void 0){const o=L.STORE.joins.get(t.key);if(o===void 0)throw new Error(`Join "${t.key}" not found in store "${e.config.name}"`);n=new Do(pt(e),o.options),e.joins.set(t.key,n)}return n}function gt(e,t,n){const o=mt(e,t),s=w(e);if(M(s)){const{toolkit:r}=s.transactionMeta;o.transact(r,({relations:i})=>{n(i)})}else n(o.relations)}function ve(e,t,n){const o=mt(e,t);let s;switch(t.cardinality){case"1:1":{const r=`${t.a}KeyOf${j(t.b)}`,i=`${t.b}KeyOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}};break}case"1:n":{const r=`${t.a}KeyOf${j(t.b)}`,i=`${t.b}KeysOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}};break}case"n:n":{const r=`${t.a}KeysOf${j(t.b)}`,i=`${t.b}KeysOf${j(t.a)}`;s={get[r](){const a=o.states[r];return C(e,a,n)},get[i](){const a=o.states[i];return C(e,a,n)}}}}return s}function Se(e,t,n){const o=mt(e,t);return n==="split"?[o.relatedKeysAtoms,o.relatedKeysAtoms]:o.relatedKeysAtoms}var Do=class{toolkit;options;relations;states;relatedKeysAtoms;transact(e,t){const n=this.toolkit;this.toolkit=e,t(this),this.toolkit=n}store;[Symbol.dispose](){}constructor(e,t){this.store=e,this.options=t,this.store.miscResources.set(`join:${t.key}`,this),this.toolkit={get:((...c)=>F(e,...c)),set:((...c)=>{D(e,...c)}),find:((...c)=>C(e,...c)),json:c=>ce(e,c),relations:{edit:((...c)=>{gt(e,...c)}),find:((...c)=>ve(e,...c)),internal:((...c)=>Se(e,...c))}};const n=t.between[0],o=t.between[1],s=zn(e,{key:`${t.key}/relatedKeys`,class:bo},["join","relations"]);this.relatedKeysAtoms=s;const r=(c,l,d)=>{const{find:_,get:y,set:p}=c,k=_(s,l),g=y(k);for(const h of g)d.includes(h)||p(s,h,v=>(v.delete(l),v));p(k,h=>{h.clear();for(const v of d){const x=_(s,v),O=y(x),A=O.has(l);if(this.relations.cardinality==="1:n"){const W=[];for(const E of O){if(E===l)continue;let z;$e(St,this.store,s,E,X=>(X.delete(v),z=X.size,X)),z===0&&W.push(E)}!A&&O.size>0&&p(x,E=>(E.clear(),E));for(const E of W)e.keyRefsInJoins.delete(Me(v,E))}A||p(x,W=>(W.add(l),W)),h.add(v)}return h})},i=(c,l,d)=>{const{set:_}=c;_(s,l,y=>{for(const p of d)y.add(p);return y});for(const y of d)_(s,y,p=>(p.add(l),p));return!0},a=new B(t,{externalStore:{getRelatedKeys:c=>this.toolkit.get(s,c),addRelation:(c,l)=>{this.store.keyRefsInJoins.set(`"${c}"`,t.key),this.store.keyRefsInJoins.set(`"${l}"`,t.key),this.store.keyRefsInJoins.set(Me(c,l),t.key),this.toolkit.set(s,c,d=>d.add(l)),this.toolkit.set(s,l,d=>d.add(c))},deleteRelation:(c,l)=>{this.toolkit.set(s,c,_=>(_.delete(l),_)),this.toolkit.set(s,l,_=>(_.delete(c),_));const d=Me(c,l);this.store.keyRefsInJoins.delete(d)},replaceRelationsSafely:(c,l)=>{r(this.toolkit,c,l)},replaceRelationsUnsafely:(c,l)=>{i(this.toolkit,c,l)},has:(c,l)=>{const d=this.toolkit.get(s,c);return l?d.has(l):d.size>0}},isAType:t.isAType,isBType:t.isBType}),u=()=>Ne(e,{key:`${t.key}/singleRelatedKey`,get:c=>({get:l})=>{const d=l(s,c);for(const _ of d)return _;return null}},["join","keys"]),f=()=>Ne(e,{key:`${t.key}/multipleRelatedKeys`,get:c=>({get:l})=>l(ns(s,e),c)},["join","keys"]);switch(t.cardinality){case"1:1":{const c=u(),l=`${n}KeyOf${j(o)}`,d=`${o}KeyOf${j(n)}`;this.relations=a,this.states={[l]:c,[d]:c};break}case"1:n":{const c=u(),l=f(),d=`${n}KeyOf${j(o)}`,_=`${o}KeysOf${j(n)}`,y={[d]:c,[_]:l};this.relations=a,this.states=y;break}case"n:n":{const c=f(),l=`${n}KeysOf${j(o)}`,d=`${o}KeysOf${j(n)}`;this.relations=a,this.states={[l]:c,[d]:c}}}}};const Io=(e,t,n,o)=>{const s=w(e),r={parent:s,child:null,on:s.on,loggers:s.loggers,logger:s.logger,config:s.config,atoms:new N(s.atoms),atomsThatAreDefault:new Set(s.atomsThatAreDefault),families:new N(s.families),joins:new N(s.joins),operation:{open:!1},readonlySelectors:new N(s.readonlySelectors),timelines:new N(s.timelines),timelineTopics:s.timelineTopics.overlay(),trackers:new Map,transactions:new N(s.transactions),selectorAtoms:s.selectorAtoms.overlay(),selectorGraph:s.selectorGraph.overlay(),writableSelectors:new N(s.writableSelectors),valueMap:new N(s.valueMap),defaults:s.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new N(s.molecules),moleculeGraph:s.moleculeGraph.overlay(),moleculeData:s.moleculeData.overlay(),keyRefsInJoins:s.keyRefsInJoins.overlay(),miscResources:new N(s.miscResources)},i=jo(e,t.key),a={phase:"building",update:{type:"transaction_outcome",token:t,id:o,epoch:i===void 0?NaN:i+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...f)=>F(u,...f)),set:((...f)=>{D(u,...f)}),reset:((...f)=>{Le(u,...f)}),run:(f,c=Cn())=>An(u,f,c),find:((...f)=>C(e,...f)),json:f=>ce(u,f),dispose:((...f)=>{Ve(u,...f)}),env:()=>Fo(u),relations:{edit:((...f)=>{gt(u,...f)}),find:((...f)=>ve(u,...f)),internal:((...f)=>Se(u,...f))}}},u=Object.assign(r,{transactionMeta:a});return s.child=u,e.logger.info("🛫","transaction",t.key,"building with params:",n),u};function Dn(e,t){const{key:n}=t,o=e.transactions.has(n),s={key:n,type:"transaction",run:(i,a)=>{const u=Io(e,Y(s),i,a);try{const{toolkit:f}=u.transactionMeta,c=t.do(f,...i);return No(u,c),c}catch(f){throw Ko(u),e.logger.warn("💥","transaction",n,"caught:",f),f}},install:i=>Dn(i,t),subject:new S};w(e).transactions.set(n,s);const r=Y(s);return o||e.on.transactionCreation.next(r),r}var Vo=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 B({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new B({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new B({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new B({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new vo(100);molecules=new Map;moleculeGraph=new B({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});moleculeData=new B({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});keyRefsInJoins=new B({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});miscResources=new Map;on={atomCreation:new S,atomDisposal:new S,selectorCreation:new S,selectorDisposal:new S,timelineCreation:new S,transactionCreation:new S,transactionApplying:new wo(null),operationClose:new S,moleculeCreation:new S,moleculeDisposal:new S};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new ss("warn",(e,t,n)=>!$o(n))];logger={error:(...e)=>{for(const t of this.loggers)t.error(...e)},info:(...e)=>{for(const t of this.loggers)t.info(...e)},warn:(...e)=>{for(const t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},de(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new B(t?.transactionMeta.actionContinuities.toJSON())});for(const[,o]of t.families)o.internalRoles?.includes("mutable")||o.internalRoles?.includes("join")||o.install(this);const n=new Set;for(const[,o]of t.atoms)if(!n.has(o.key)&&(o.install(this),o.type==="mutable_atom")){const s=ce(t,o),r=Gn(o);n.add(s.key),n.add(r.key)}for(const[,o]of t.readonlySelectors)o.install(this);for(const[,o]of t.writableSelectors)n.has(o.key)||o.install(this);for(const[,o]of t.transactions)o.install(this);for(const[,o]of t.timelines)o.install(this)}}};const L={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new Vo({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var Uo=class extends Error{constructor(e,t){super(`${Z[e.type]} ${T(e.key)} not found in store "${t.config.name}".`)}};function R(e,t){let n,o=e;for(;o!==null;){switch(t.type){case"atom":case"mutable_atom":n=o.atoms.get(t.key);break;case"writable_pure_selector":case"writable_held_selector":n=o.writableSelectors.get(t.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=o.readonlySelectors.get(t.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=o.families.get(t.key);break;case"timeline":n=o.timelines.get(t.key);break;case"transaction":n=o.transactions.get(t.key);break}if(n)return n;o=o.child}throw new Uo(t,e)}function In(e,t,n,o){const s=e.disposalTraces.buffer.find(r=>r?.key===T(o));switch(e.logger.error("❌",t.type,t.key,"gets a fallback value because key",o,"is not allocated",s?`This key was previously disposed:
13
- ${s.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=new n.class;return e.defaults.set(n.key,r),r.READONLY_VIEW}case"atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=n.default,i=r(o);return e.defaults.set(n.key,i),i}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const r=n.default(o);return e.defaults.set(n.key,r),r}}}function Pe(e,t){const{type:n,key:o,catch:s}=t;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let r;e.logger.info("🧮",n,o,"computing value");try{r=t.getFrom(e),r instanceof Promise&&(r=r.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return V(e,t,i)}throw i}return V(e,t,r)}case"atom":{let r;if(G(t.default))try{r=t.default(),r instanceof Promise&&(r=r.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),s){for(const a of s)if(i instanceof a)return r=V(e,t,i),e.logger.info("✨",t.type,o,"computed default",r),r}throw i}else r=t.default,e.logger.info("✨",t.type,o,"using static default",r);return V(e,t,r)}}}function te(e,t,n){if(e.valueMap.has(t.key))return Yn(e,t,n);e.logger.info("❔",t.type,t.key,"value not found in cache");const{key:o}=t;switch(t.type){case"readonly_held_selector":case"writable_held_selector":return e.logger.info("🧮",t.type,o,"computing value"),t.getFrom(e);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Pe(e,t);case"mutable_atom":{const s=new t.class;return e.logger.info("✨",t.type,o,"created new instance",s),V(e,t,s)}}}function bt(e,t){return R(e,{key:t.family.key,type:`${t.type}_family`})}const Lt={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"},ye=Symbol("MUST_CREATE"),Lo=Symbol("DO_NOT_CREATE");function pe(e,t,n,o){const s=T(o),r=t.molecules.get(s);if(!r&&t.config.lifespan==="immortal"){const{type:a,key:u}=n;return t.logger.warn("💣","key",s,"was used to mint a counterfeit token for",a,`"${u}"`),{counterfeit:!0,key:`${u}(${s})`,type:Lt[a],family:{key:u,subKey:s}}}let i;if(e===ye)t.logger.info("👪",n.type,n.key,"adds member",typeof o=="string"?`\`${o}\``:o),i=n.create(o),r&&t.moleculeData.set(s,n.key);else{const{type:a,key:u}=n;return{key:`${u}(${s})`,type:Lt[a],family:{key:u,subKey:s}}}return i}function kt(e,...t){let n,o,s,r,i;if(t.length===1){if(i=t[0],"family"in i){const u=bt(e,i);if(s=R(e,u),r=ee(i.family.subKey),n=he(e,u,r),"counterfeit"in i)return{token:i,family:s,subKey:r,isNew:!1};n?i=n:(o=pe(ye,e,u,r),i=o)}}else s=R(e,t[0]),r=t[1],n=he(e,s,r),n?i=n:(o=pe(ye,e,s,r),i=o);const a="counterfeit"in i;if(o&&a===!1&&s){let u;switch(i.type){case"readonly_pure_selector":case"readonly_held_selector":u="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":u="writable";break}const f={type:"state_creation",subType:u,token:i,timestamp:Date.now()};s.subject.next(f);const c=w(e);if(i.family)if(de(c))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":e.on.selectorCreation.next(i);break}else M(c)&&c.on.transactionApplying.state===null&&c.transactionMeta.update.subEvents.push(f)}return{token:i,family:s,subKey:r,isNew:!!o}}function F(e,...t){const{token:n,family:o,subKey:s}=kt(e,...t);return"counterfeit"in n&&o&&s?In(e,n,o,s):te(e,R(e,n))}function he(e,t,n){const o=T(n),s=`${t.key}(${o})`,r=w(e);let i;switch(t.type){case"atom_family":case"mutable_atom_family":i=r.atoms.get(s);break;case"writable_held_selector_family":case"writable_pure_selector_family":i=r.writableSelectors.get(s);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":i=r.readonlySelectors.get(s);break}return i&&Y(i)}function C(e,t,n){const o=R(e,t),s=he(e,t,n);return s||pe(Lo,e,o,n)}function Ne(e,t,n){const o=t.key,s="readonly_pure_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`,y=w(e),p={key:_,get:t.get(c)};return t.catch&&(p.catch=t.catch),Kt(y,p,d)},internalRoles:n,subject:a,install:c=>Ne(c,t),default:c=>t.get(c)({get:F.bind(null,e),find:C.bind(null,e),json:l=>ce(e,l),relations:{find:ve.bind(null,e),internal:Se.bind(null,e)}})};return e.families.set(o,f),r}function wt(e,t,n){const o={key:t.key,type:"atom_family"},s=e.families.get(t.key);s&&e.config.isProduction===!0&&e.logger.error("❗","atom_family",t.key,`Overwriting an existing ${Z[s.type]} "${s.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new S,a={...o,create:u=>{const f=T(u),c={key:t.key,subKey:f},l=`${t.key}(${f})`,d=w(e),_=t.default,y={key:l,default:G(_)?()=>_(u):_};return t.effects&&(y.effects=t.effects(u)),t.catch&&(y.catch=t.catch),Je(d,y,c)},default:t.default,subject:r,install:u=>wt(u,t),internalRoles:n};return e.families.set(t.key,a),G(t.default)===!1&&e.defaults.set(t.key,t.default),o}function Vn(e,t,n){const o=t.key,s="readonly_held_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`;return $t(w(e),{key:_,const:t.const(c),get:t.get(c)},d)},internalRoles:n,subject:a,install:c=>Vn(c,t),default:t.const};return e.families.set(o,f),r}function Un(e,t,n){const o=t.key,s="writable_held_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`;return Rt(w(e),{key:_,const:t.const(c),get:t.get(c),set:t.set(c)},d)},internalRoles:n,subject:a,install:c=>Un(c,t),default:t.const};return e.families.set(o,f),r}function vt(e,t,n){const o=t.key,s="writable_pure_selector_family",r={key:o,type:s},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",s,o,`Overwriting an existing ${Z[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new S,f={...r,create:c=>{const l=T(c),d={key:o,subKey:l},_=`${o}(${l})`,y=w(e),p={key:_,get:t.get(c),set:t.set(c)};return t.catch&&(p.catch=t.catch),Tt(y,p,d)},internalRoles:n,subject:a,install:c=>vt(c,t),default:c=>t.get(c)({get:((...l)=>F(e,...l)),find:((...l)=>C(e,...l)),json:l=>ce(e,l),relations:{find:((...l)=>ve(e,...l)),internal:((...l)=>Se(e,...l))}})};return e.families.set(o,f),r}function Bo(e,t){const n="set"in t,o="const"in t;return o&&n?Un(e,t,void 0):o?Vn(e,t,void 0):n?vt(e,t):Ne(e,t)}function Ve(e,...t){let n;if(t.length===1)n=t[0];else{const o=t[0],s=t[1];n=C(e,o,s)}try{R(e,n)}catch{e.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":Xn(e,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":Xo(e,n);break}}function Ln(e,t){if(e.operation.open){const n=performance.now();return e.logger.info("🚫",t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info("⭕",t.type,t.key,`operation start in store "${e.config.name}"${M(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:""}`),e}function Bn(e){e.operation.open&&e.logger.info("🔴",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}const Jn=(e,t)=>e.operation.open?e.operation.done.has(t):(e.logger.error("🐞","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),Ue=(e,t)=>{if(!e.operation.open){e.logger.error("🐞","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};function rt(e,t,n,o,s){const{oldValue:r,newValue:i}=n,a="oldValue"in n,u=Y(t);if(o&&s){t.subject.next({newValue:i});const _={checkpoint:!0,type:"state_creation",subType:"writable",token:u,timestamp:Date.now(),value:i};e.operation.subEvents.push(_),s.subject.next(_);const y=w(e);if(u.family)if(de(y))switch(u.type){case"atom":case"mutable_atom":e.on.atomCreation.next(u);break;case"writable_pure_selector":case"writable_held_selector":e.on.selectorCreation.next(u);break}else M(y)&&y.on.transactionApplying.state===null&&y.transactionMeta.update.subEvents.push(_);return}const{key:f,subject:c,type:l}=t;let d;if(a?d={oldValue:Te(r)?r.READONLY_VIEW:r,newValue:Te(i)?i.READONLY_VIEW:i}:d={newValue:Te(i)?i.READONLY_VIEW:i},de(e)){switch(l){case"mutable_atom":e.logger.info("📢",l,f,"is now (",i,") subscribers:",c.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":e.logger.info("📢",l,f,"went (",r,"->",i,") subscribers:",c.subscribers.keys())}c.next(d)}if(M(e)&&(l==="mutable_atom"||l==="atom")){if(e.on.transactionApplying.state===null){if(Te(i))return;const{timestamp:_}=e.operation,y={type:"atom_update",token:u,timestamp:_,update:d};e.transactionMeta.update.subEvents.push(y),e.logger.info("📁","atom",f,"stowed (",r,"->",i,")");return}if(Mt(t,"tracker:signal")){const _=f.slice(1),y=e.atoms.get(_);te(e,y,"mut").do(d.newValue)===null&&Ct(e,y)}}}const Bt=Symbol("UNSET"),it=(e,t,n)=>{let o,s;if(G(n)){const r=te(e,t,"mut");o=r,s=n(r)}else e.valueMap.has(t.key)?o=Yn(e,t,"mut"):t.type==="atom"&&!G(t.default)?o=t.default:o=Bt,s=n;return e.logger.info("⭐","atom",t.key,"setting value",s),s=V(e,t,s),Ue(e,t.key),Ct(e,t),o===Bt?{newValue:s}:{oldValue:o,newValue:s}};function ze(e,t){switch(t.type){case"mutable_atom":return it(e,t,new t.class);case"atom":{let n;return G(t.default)?n=Pe(e,t):n=t.default,it(e,t,n)}}}function Jo(e,t){let n;switch(t.type){case"atom":case"mutable_atom":n=ze(e,t);break;case"writable_held_selector":{const o=me(e,t.key);for(const r of o.values())rt(e,t,ze(e,r),!1);const s=t.getFrom(e);n={oldValue:s,newValue:s}}break;case"writable_pure_selector":{const o=Pe(e,t),s=me(e,t.key);for(const r of s.values())rt(e,t,ze(e,r),!1);n={oldValue:o,newValue:Pe(e,t)}}break}return n}function D(e,...t){$e(lt,e,...t)}const at=Symbol("RESET");function Le(e,...t){D(e,...t,at)}function Ho(e,t,n){let o,s,r;const{type:i,key:a}=t;switch(t.type){case"writable_pure_selector":o=te(e,t,"mut"),s=Vt(n,o),s=V(e,t,s);break;case"writable_held_selector":r=t.const,Vt(n,r),o=r,s=r}return e.logger.info("⭐",i,a,"setting to",s),Ue(e,a),t.setSelf(s),{oldValue:o,newValue:s}}const Wo=(e,t,n)=>{let o;switch(t.type){case"atom":case"mutable_atom":o=it(e,t,n);break;case"writable_pure_selector":case"writable_held_selector":o=Ho(e,t,n);break}return o},lt=Symbol("OWN_OP"),St=Symbol("JOIN_OP");function $e(e,t,...n){let o,s,r,i,a,u;n.length===2?(r=n[0],u=n[1],"family"in r&&(i=bt(t,r),a=ee(r.family.subKey),o=he(t,i,a),o?r=o:r=s=pe(ye,t,i,a))):(i=R(t,n[0]),a=n[1],u=n[2],o=he(t,i,a),o?r=o:r=s=pe(ye,t,i,a));const f=u===at?"reset":"set";let c;if(e===lt){const _=Ln(t,r);if(typeof _=="number"){const y=_,p=t.on.operationClose.subscribe(`waiting to ${f} "${r.key}" at T-${y}`,function(){p(),t.logger.info("🟢",r.type,r.key,"resuming deferred",f,`from T-${y}`),$e(e,t,r,u)});return}c=_}else c=t;if("counterfeit"in r&&"family"in r){const _=r.family.subKey,y=t.disposalTraces.buffer.find(p=>p?.key===_);t.logger.error("❌",r.type,r.key,"could not be",f,"because key",_,"is not allocated.",y?`this key was previously disposed:${y.trace}`:"(no previous disposal trace found)");return}const l=R(c,r);let d;u===at?d=Jo(c,l):d=Wo(c,l,u),rt(c,l,d,!!s,i),e===lt&&Bn(c)}const Hn=(e,t)=>w(e).atoms.has(t),zo=(e,t)=>w(e).writableSelectors.has(t),Go=(e,t)=>w(e).readonlySelectors.has(t),Yo=(e,t)=>Hn(e,t)||zo(e,t)||Go(e,t);function Jt(e,t){return w(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([n,{source:o}])=>o!==t).map(([n,{source:o}])=>o).filter(n=>Yo(e,n))}function me(e,t,n=new Set){const o=Jt(e,t),s=new Map;for(;o.length>0;){const r=o.pop();if(!n.has(r))if(n.add(r),Hn(e,r)){const i=e.atoms.get(r);s.set(i.key,i)}else o.push(...Jt(e,r))}return s}function qo(e,t,n,o,s){const r=w(e),{type:i,key:a}=o;if(i==="atom"||i==="mutable_atom")r.selectorAtoms.set({selectorKey:n,atomKey:a}),e.logger.info("🔍",t,n,`discovers root atom "${a}"`);else{const u=me(e,a,s);e.logger.info("🔍",t,n,`discovers root atoms: [ ${[...u.values()].map(f=>`"${f.key}"`).join(", ")} ]`);for(const{key:f}of u.values())r.selectorAtoms=r.selectorAtoms.set({selectorKey:n,atomKey:f})}s.add(a)}function Be(e,t,n,o){return{get:(...s)=>{const r=w(e),{token:i,family:a,subKey:u}=kt(e,...s);let f;return"counterfeit"in i&&a&&u?f=In(e,i,a,u):f=te(e,R(e,i)),e.logger.info("🔌",t,n,`registers dependency ( "${i.key}" =`,f,")"),r.selectorGraph.set({upstreamSelectorKey:i.key,downstreamSelectorKey:n},{source:i.key}),qo(e,t,n,i,o),f},set:((...s)=>{$e(St,w(e),...s)}),find:((...s)=>C(e,...s)),json:s=>ce(e,s),relations:{edit:((...s)=>{gt(e,...s)}),find:((...s)=>ve(e,...s)),internal:((...s)=>Se(e,...s))}}}function $t(e,t,n){const o=w(e),s=new S,r=new Set,{key:i,const:a}=t,u="readonly_held_selector";e.logger.info("🔨",u,i,"is being created");const{get:f,find:c,json:l,relations:d}=Be(o,u,i,r),y={...t,type:u,subject:s,getFrom:k=>{const g=k.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:v}]of g)v!==i&&k.selectorGraph.delete(h,i);return k.selectorAtoms.delete(i),t.get({get:f,find:c,json:l,relations:d},a),V(k,y,a),e.logger.info("✨",u,i,"=",a),r.clear(),a},install:k=>$t(k,t,n)};n&&(y.family=n),o.readonlySelectors.set(i,y);const p={key:i,type:u};return n&&(p.family=n),p}function Kt(e,t,n){const o=w(e),s=new S,r=new Set,i=t.key,a="readonly_pure_selector";e.logger.info("🔨",a,i,"is being created");const{get:u,find:f,json:c,relations:l}=Be(o,a,i,r),_={...t,type:a,subject:s,getFrom:()=>{const p=w(e),k=p.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[h,{source:v}]of k)v!==i&&p.selectorGraph.delete(h,i);p.selectorAtoms.delete(i);const g=t.get({get:u,find:f,json:c,relations:l});return e.logger.info("✨",a,i,"=",g),r.clear(),g},install:p=>Kt(p,t,n)};n&&(_.family=n),o.readonlySelectors.set(i,_);const y={key:i,type:a};return n&&(y.family=n),y}function Rt(e,t,n){const o=w(e),s=new S,r=new Set,{key:i,const:a}=t,u="writable_held_selector";e.logger.info("🔨",u,i,"is being created");const f=Be(o,u,i,r),{find:c,get:l,json:d,relations:_}=f,y={find:c,get:l,json:d,relations:_},g={...t,type:u,subject:s,getFrom:v=>{const x=v.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[O,{source:A}]of x)A!==i&&v.selectorGraph.delete(O,i);return v.selectorAtoms.delete(i),t.get(y,a),V(v,g,a),e.logger.info("✨",u,i,"=",a),r.clear(),a},setSelf:()=>{t.set(f,a)},install:v=>Rt(v,t,n)};n&&(g.family=n),o.writableSelectors.set(i,g);const h={key:i,type:u};return n&&(h.family=n),h}function Tt(e,t,n){const o=w(e),s=new S,r=new Set,i=t.key,a="writable_pure_selector";e.logger.info("🔨",a,i,"is being created");const u=Be(o,a,i,r),{find:f,get:c,json:l,relations:d}=u,_={find:f,get:c,json:l,relations:d},k={...t,type:a,subject:s,getFrom:h=>{const v=h.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[O,{source:A}]of v)A!==i&&h.selectorGraph.delete(O,i);h.selectorAtoms.delete(i);const x=t.get(_);return e.logger.info("✨",a,i,"=",x),r.clear(),x},setSelf:h=>{t.set(u,h)},install:h=>Tt(h,t,n)};n&&(k.family=n),o.writableSelectors.set(i,k);const g={key:i,type:a};return n&&(g.family=n),g}function Zo(e,t){const n="set"in t,o="const"in t;if(o&&n){const r=Rt(e,t,void 0);return e.on.selectorCreation.next(r),r}if(o){const r=$t(e,t,void 0);return e.on.selectorCreation.next(r),r}if(n){const r=Tt(e,t,void 0);return e.on.selectorCreation.next(r),r}const s=Kt(e,t,void 0);return e.on.selectorCreation.next(s),s}function Xo(e,t){const n=w(e),{key:o,type:s,family:r}=t;if(!r)e.logger.error("❌",s,o,"Standalone selectors cannot be disposed.");else{n.molecules.get(r.subKey)&&n.moleculeData.delete(r.subKey,r.key);let i;switch(t.type){case"writable_held_selector":n.writableSelectors.delete(o),i={key:r.key,type:"writable_held_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(o),i={key:r.key,type:"writable_pure_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(o),i={key:r.key,type:"readonly_held_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(o),i={key:r.key,type:"readonly_pure_selector_family"},R(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break}n.valueMap.delete(o),n.selectorAtoms.delete(o),n.selectorGraph.delete(o),n.moleculeData.delete(r.key,r.subKey),e.logger.info("🔥",t.type,o,"deleted"),M(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}const Qo=(e,t)=>{const n=w(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},Ht=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,o=>{e.logger.info("📢",t.type,t.key,"root",n.key,"went",o.oldValue,"->",o.newValue);const s=Qo(e,t),r=te(e,t);e.logger.info("✨",t.type,t.key,"went",s,"->",r),t.subject.next({newValue:r,oldValue:s})});function ae(e,t,n,o){function s(l){e.operation.open&&r?.type==="atom"&&Mt(r,"tracker:signal")&&"*"+e.operation.token.key===t.key&&"inboundTracker"in o||o(l)}kt(e,t);const r=R(e,t);e.logger.info("👀",r.type,r.key,`Adding subscription "${n}"`);const i=r.type==="writable_pure_selector"||r.type==="readonly_pure_selector",a=new Map;let u=s;if(i){te(e,r);for(const[l,d]of me(e,r.key))a.set(l,Ht(e,r,d));u=function(d){const _=me(e,r.key);for(const[y,p]of a)_.get(y)?_.delete(y):(p(),a.delete(y));for(const[y,p]of _)a.set(y,Ht(e,r,p));s(d)}}const f=r.subject.subscribe(n,u);return()=>{e.logger.info("🙈",r.type,r.key,`Removing subscription "${n}"`),f();for(const l of a.values())l()}}const es=(e,t,n,o)=>{const s=R(e,t);e.logger.info("👀","timeline",t.key,`Adding subscription "${n}"`);const r=s.subject.subscribe(n,o);return()=>{e.logger.info("🙈","timeline",t.key,`Removing subscription "${n}" from timeline`),r()}};var xt=class{initializeSignalAtom(e,t){const n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);const o=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,s=Je(t,{key:n,default:null},o,["tracker:signal"]);if(t.parent?.valueMap.has(n)){const r=t.parent.valueMap.get(n);t.valueMap.set(n,r)}return s}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){const o=e.key,s=`tracker-from-core:${n.config.name}:${M(n)?n.transactionMeta.update.token.key:"main"}:${o}`,r=i=>{$e(St,n,t,i)};this.unsubscribeFromInnerValue=F(n,e).subscribe(s,r),this.unsubscribeFromState=ae(n,e,s,(function(a){a.newValue!==a.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(s,r))}).bind(this))}supplySignalsToCore(e,t,n){const o=e.key,s=`tracker-to-core:${n.config.name}:${M(n)?n.transactionMeta.update.token.key:"main"}:${o}`;ae(n,t,s,Object.assign(function({newValue:i,oldValue:a}){const u=n.timelineTopics.getRelatedKey(t.key);if(u&&n.timelines.get(u)?.timeTraveling){const f=es(n,{key:u,type:"timeline"},s,function(l){f(),D(n,e,d=>(l==="redo"&&i?d.do(i):l==="undo"&&a&&d.undo(a),d))});return}D(n,e,f=>(f.do(i),f))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){const n=w(t),o=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=o,this.captureSignalsFromCore(e,o,n),this.supplySignalsToCore(e,o,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};function Wn(e,t,n){e.logger.info("🔨","atom",t.key,`creating in store "${e.config.name}"`);const o=w(e),{key:s}=t,r=o.atoms.get(s),i="mutable_atom";if(r?.type===i&&e.config.isProduction===!0)return e.logger.error("❌",i,s,"Tried to create atom, but it already exists in the store."),Y(r);const a=new S,u={...t,type:i,install:c=>(c.logger.info("🛠️","atom",s,`installing in store "${c.config.name}"`),Wn(c,t,n)),subject:a};n&&(u.family=n),o.atoms.set(u.key,u);const f=Y(u);if(new xt(f,e),n||Zo(e,{key:`${s}:JSON`,get:({get:c})=>c(f).toJSON(),set:({set:c},l)=>{c(f,t.class.fromJSON(l))}}),t.effects){let c=0;const l=[];for(const d of t.effects){const _=d({resetSelf:()=>{Le(e,f)},setSelf:y=>{D(e,f,y)},onSet:y=>ae(e,f,`effect[${c}]`,y),token:f,store:pt(e)});_&&l.push(_),++c}u.cleanup=()=>{for(const d of l)d()}}return e.on.atomCreation.next(f),f}var ts=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(e,t){this.latestSignalAtoms=R(t,wt(t,{key:`*${e.key}`,default:null},["mutable","updates"])),this.mutableAtoms=e;const n=o=>{const{type:s,token:r}=o;if(r.family){const i=ee(r.family.subKey);switch(s){case"state_creation":this.trackers.set(i,new xt(r,t));break;case"state_disposal":{const a=this.trackers.get(i);a&&(a[Symbol.dispose](),this.trackers.delete(i))}}}};this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,n)}};function zn(e,t,n){const o={key:t.key,type:"mutable_atom_family"},s=e.families.get(t.key);s&&e.config.isProduction===!0&&e.logger.error("❗","mutable_atom_family",t.key,`Overwriting an existing ${Z[s.type]} "${s.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new S,a={...o,create:u=>{const f=T(u),c={key:t.key,subKey:f},l=`${t.key}(${f})`,d=w(e),_={key:l,class:t.class};return t.effects&&(_.effects=t.effects(u)),Wn(d,_,c)},class:t.class,subject:r,install:u=>zn(u,t),internalRoles:n};return e.families.set(t.key,a),vt(e,{key:`${t.key}:JSON`,get:u=>({get:f})=>f(o,u).toJSON(),set:u=>({set:f},c)=>{f(o,u,t.class.fromJSON(c))}},["mutable","json"]),new ts(a,e),o}const ns=(e,t)=>{const n=w(t),o=`${e.key}:JSON`;return n.families.get(o)},ce=(e,t)=>t.family?C(e,R(w(e),{key:`${t.family.key}:JSON`,type:"writable_pure_selector_family"}),ee(t.family.subKey)):{type:"writable_pure_selector",key:`${t.key}:JSON`},Gn=e=>{const t={type:"atom",key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function Te(e){return typeof e=="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e&&"READONLY_VIEW"in e&&"toJSON"in e}function V(e,t,n){const{key:o,subject:s,type:r}=t,i=e.valueMap.get(o);if(i instanceof st&&!i.done){const a=i;return n instanceof Promise?(a.use(n),a):(e.valueMap.set(o,n),n)}if(n instanceof Promise){const a=new st(n);return e.valueMap.set(o,a),a.then(function(f){if(e.valueMap.get(o)===a){switch(Ln(e,t),V(e,t,f),r){case"atom":Ct(e,t);break;case"readonly_pure_selector":case"writable_pure_selector":Zn(e,o);break}Bn(e),s.next({newValue:f,oldValue:a})}}).catch(u=>{e.logger.error("💥",t.type,o,"rejected:",u)}),a}return e.logger.info("📝",t.type,t.key,"writing to cache",n),e.valueMap.set(o,n),n}function Yn(e,t,n){e.logger.info("📖",t.type,t.key,"reading cached value");let o=e.valueMap.get(t.key);if(n==="mut"&&t.type==="mutable_atom"&&M(e)){const s=t,{parent:r}=e;if(e.valueMap.hasOwn(s.key))return o;const i=r.valueMap.get(s.key);e.logger.info("📃","atom",s.key,"copying");const a=i.toJSON(),u=s.class.fromJSON(a);e.valueMap.set(s.key,u),new xt(s,r),o=u}return o}function qn(e,t){const n=e.valueMap.get(t);n instanceof st||(e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info("🗑","state",t,"evicted"))}function Ct(e,t){const n=w(e),{key:o,type:s}=t,r=n.selectorAtoms.getRelatedKeys(o);if(n.logger.info("🧹",s,o,r?`evicting ${r.size} states downstream:`:"no downstream states",r??"to evict"),r){n.operation.open&&n.logger.info("🧹",s,o,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const i of r)Jn(n,i)||(qn(n,i),Ue(n,i))}}function Zn(e,t){const n=w(e),o=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([s,{source:r}])=>r===t);for(const[s]of o)Jn(n,s)||(qn(n,s),Ue(n,s),Zn(e,s))}function Je(e,t,n,o){const s="atom",{key:r}=t;e.logger.info("🔨",s,r,"is being created");const i=w(e),a=i.atoms.get(r);if(a?.type===s&&e.config.isProduction===!0)return e.logger.error("❌","atom",r,"Tried to create atom, but it already exists in the store."),Y(a);const u=new S,f={...t,type:s,install:l=>(l.logger.info("🛠️",s,r,`installing in store "${l.config.name}"`),Je(l,t,n)),subject:u};n&&(f.family=n),o&&(f.internalRoles=o),i.atoms.set(r,f);const c=Y(f);if(t.effects){let l=0;const d=[];for(const _ of t.effects){const y=_({resetSelf:()=>{Le(e,c)},setSelf:p=>{D(e,c,p)},onSet:p=>ae(e,c,`effect[${l}]`,p),token:c,store:pt(e)});y&&d.push(y),++l}f.cleanup=()=>{for(const _ of d)_()}}return e.on.atomCreation.next(c),c}function Mt(e,t){return"internalRoles"in e?e.internalRoles.includes(t):!1}function Xn(e,t){const n=w(e),{key:o,family:s}=t,r=R(n,t);if(!s)e.logger.error("❌","atom",o,"Standalone atoms cannot be disposed.");else{r.cleanup?.();const i=e.valueMap.get(r.key),a=R(e,bt(e,t)).subject,u={type:"state_disposal",subType:"atom",token:t,value:i,timestamp:Date.now()};a.next(u);const f=M(n);if(n.atoms.delete(o),n.valueMap.delete(o),n.selectorAtoms.delete(o),n.atomsThatAreDefault.delete(o),n.moleculeData.delete(s.key,s.subKey),e.timelineTopics.delete(o),t.type==="mutable_atom"&&(Xn(e,Gn(t)),e.trackers.delete(o)),e.logger.info("🔥","atom",o,"deleted"),f&&n.transactionMeta.phase==="building"){const c=n.transactionMeta.update.subEvents.at(-1),l=c?.type==="molecule_disposal"&&c.values.some(([_])=>_===r.family?.key),d=Mt(r,"tracker:signal");!l&&!d&&n.transactionMeta.update.subEvents.push(u)}else e.on.atomDisposal.next(t)}}function He(e){return Je(L.STORE,e,void 0)}function Et(e){return wt(L.STORE,e)}function Fe(...e){return F(L.STORE,...e)}const Z={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",user:"👤",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Ge=(e,t)=>(n,o,s,r,...i)=>{console[e](`${n} ${Z[o]} \`${s}\` ${r}`,...i)},os={error:Ge("error"),info:Ge("info"),warn:Ge("warn")};var ss=class{logLevel;filter;logger;constructor(e,t,n=os){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel==="info"){const t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function Me(e,t){return[e,t].sort().join("")}function rs(e){if(typeof e!="string")return null;const[t,n]=e.split("==");if(!n)return null;const o=t.slice(4),[s,r]=n.split("++");return o&&s&&r?[o,s,r]:null}function Wt(...e){Le(L.STORE,...e)}function is(e){return Bo(L.STORE,e)}function U(...e){D(L.STORE,...e)}function as(e){return Dn(L.STORE,e)}function ls(e,t=Cn()){return An(L.STORE,e,t)}var q,$,Ye,zt,ge=0,Qn=[],K=m,Gt=K.__b,Yt=K.__r,qt=K.diffed,Zt=K.__c,Xt=K.unmount,Qt=K.__;function ue(e,t){K.__h&&K.__h($,e,ge||t),ge=0;var n=$.__H||($.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function eo(e){return ge=1,cs(oo,e)}function cs(e,t,n){var o=ue(q++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):oo(void 0,t),function(a){var u=o.__N?o.__N[0]:o.__[0],f=o.t(u,a);u!==f&&(o.__N=[f,o.__[1]],o.__c.setState({}))}],o.__c=$,!$.__f)){var s=function(a,u,f){if(!o.__c.__H)return!0;var c=o.__c.__H.__.filter(function(d){return!!d.__c});if(c.every(function(d){return!d.__N}))return!r||r.call(this,a,u,f);var l=o.__c.props!==a;return c.forEach(function(d){if(d.__N){var _=d.__[0];d.__=d.__N,d.__N=void 0,_!==d.__[0]&&(l=!0)}}),r&&r.call(this,a,u,f)||l};$.__f=!0;var r=$.shouldComponentUpdate,i=$.componentWillUpdate;$.componentWillUpdate=function(a,u,f){if(this.__e){var c=r;r=void 0,s(a,u,f),r=c}i&&i.call(this,a,u,f)},$.shouldComponentUpdate=s}return o.__N||o.__}function be(e,t){var n=ue(q++,3);!K.__s&&At(n.__H,t)&&(n.__=e,n.u=t,$.__H.__h.push(n))}function us(e,t){var n=ue(q++,4);!K.__s&&At(n.__H,t)&&(n.__=e,n.u=t,$.__h.push(n))}function Ot(e){return ge=5,to(function(){return{current:e}},[])}function to(e,t){var n=ue(q++,7);return At(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function ct(e,t){return ge=8,to(function(){return e},t)}function no(e){var t=$.context[e.__c],n=ue(q++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub($)),t.props.value):e.__}function fs(){var e=ue(q++,11);if(!e.__){for(var t=$.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function _s(){for(var e;e=Qn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Ee),e.__H.__h.forEach(ut),e.__H.__h=[]}catch(t){e.__H.__h=[],K.__e(t,e.__v)}}K.__b=function(e){$=null,Gt&&Gt(e)},K.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Qt&&Qt(e,t)},K.__r=function(e){Yt&&Yt(e),q=0;var t=($=e.__c).__H;t&&(Ye===$?(t.__h=[],$.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(Ee),t.__h.forEach(ut),t.__h=[],q=0)),Ye=$},K.diffed=function(e){qt&&qt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Qn.push(t)!==1&&zt===K.requestAnimationFrame||((zt=K.requestAnimationFrame)||ds)(_s)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Ye=$=null},K.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Ee),n.__h=n.__h.filter(function(o){return!o.__||ut(o)})}catch(o){t.some(function(s){s.__h&&(s.__h=[])}),t=[],K.__e(o,n.__v)}}),Zt&&Zt(e,t)},K.unmount=function(e){Xt&&Xt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{Ee(o)}catch(s){t=s}}),n.__H=void 0,t&&K.__e(t,n.__v))};var en=typeof requestAnimationFrame=="function";function ds(e){var t,n=function(){clearTimeout(o),en&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);en&&(t=requestAnimationFrame(n))}function Ee(e){var t=$,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),$=t}function ut(e){var t=$;e.__c=e.__(),$=t}function At(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function oo(e,t){return typeof t=="function"?t(e):t}function ys(e,t){for(var n in t)e[n]=t[n];return e}function tn(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function ps(e,t){var n=t(),o=eo({t:{__:n,u:t}}),s=o[0].t,r=o[1];return us(function(){s.__=n,s.u=t,qe(s)&&r({t:s})},[e,n,t]),be(function(){return qe(s)&&r({t:s}),e(function(){qe(s)&&r({t:s})})},[e]),n}function qe(e){var t,n,o=e.u,s=e.__;try{var r=o();return!((t=s)===(n=r)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}function nn(e,t){this.props=e,this.context=t}(nn.prototype=new H).isPureReactComponent=!0,nn.prototype.shouldComponentUpdate=function(e,t){return tn(this.props,e)||tn(this.state,t)};var on=m.__b;m.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),on&&on(e)};var hs=m.__e;m.__e=function(e,t,n,o){if(e.then){for(var s,r=t;r=r.__;)if((s=r.__c)&&s.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),s.__c(e,t)}hs(e,t,n,o)};var sn=m.unmount;function so(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=ys({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return so(o,t,n)})),e}function ro(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return ro(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Ze(){this.__u=0,this.o=null,this.__b=null}function io(e){if(!e.__)return null;var t=e.__.__c;return t&&t.__a&&t.__a(e)}function xe(){this.i=null,this.l=null}m.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),sn&&sn(e)},(Ze.prototype=new H).__c=function(e,t){var n=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(n);var s=io(o.__v),r=!1,i=function(){r||o.__z||(r=!0,n.__R=null,s?s(u):u())};n.__R=i;var a=n.__P;n.__P=null;var u=function(){if(!--o.__u){if(o.state.__a){var f=o.state.__a;o.__v.__k[0]=ro(f,f.__c.__P,f.__c.__O)}var c;for(o.setState({__a:o.__b=null});c=o.o.pop();)c.__P=a,c.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},Ze.prototype.componentWillUnmount=function(){this.o=[]},Ze.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=so(this.__b,n,o.__O=o.__P)}this.__b=null}var s=t.__a&&tt(P,null,e.fallback);return s&&(s.__u&=-33),[tt(P,null,t.__a?null:e.children),s]};var rn=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(xe.prototype=new H).__a=function(e){var t=this,n=io(t.__v),o=t.l.get(e);return o[0]++,function(s){var r=function(){t.props.revealOrder?(o.push(s),rn(t,e,o)):s()};n?n(r):r()}},xe.prototype.render=function(e){this.i=null,this.l=new Map;var t=je(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},xe.prototype.componentDidUpdate=xe.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){rn(e,n,t)})};var ms=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,gs=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,bs=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,ks=/[A-Z0-9]/g,ws=typeof document<"u",vs=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};H.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(H.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var an=m.event;function Ss(){}function $s(){return this.cancelBubble}function Ks(){return this.defaultPrevented}m.event=function(e){return an&&(e=an(e)),e.persist=Ss,e.isPropagationStopped=$s,e.isDefaultPrevented=Ks,e.nativeEvent=e};var Rs={enumerable:!1,configurable:!0,get:function(){return this.class}},ln=m.vnode;m.vnode=function(e){typeof e.type=="string"&&(function(t){var n=t.props,o=t.type,s={},r=o.indexOf("-")===-1;for(var i in n){var a=n[i];if(!(i==="value"&&"defaultValue"in n&&a==null||ws&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var u=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&a===!0?a="":u==="translate"&&a==="no"?a=!1:u[0]==="o"&&u[1]==="n"?u==="ondoubleclick"?i="ondblclick":u!=="onchange"||o!=="input"&&o!=="textarea"||vs(n.type)?u==="onfocus"?i="onfocusin":u==="onblur"?i="onfocusout":bs.test(i)&&(i=u):u=i="oninput":r&&gs.test(i)?i=i.replace(ks,"-$&").toLowerCase():a===null&&(a=void 0),u==="oninput"&&s[i=u]&&(i="oninputCapture"),s[i]=a}}o=="select"&&s.multiple&&Array.isArray(s.value)&&(s.value=je(n.children).forEach(function(f){f.props.selected=s.value.indexOf(f.props.value)!=-1})),o=="select"&&s.defaultValue!=null&&(s.value=je(n.children).forEach(function(f){f.props.selected=s.multiple?s.defaultValue.indexOf(f.props.value)!=-1:s.defaultValue==f.props.value})),n.class&&!n.className?(s.class=n.class,Object.defineProperty(s,"className",Rs)):(n.className&&!n.class||n.class&&n.className)&&(s.class=s.className=n.className),t.props=s})(e),e.$$typeof=ms,ln&&ln(e)};var cn=m.__r;m.__r=function(e){cn&&cn(e),e.__c};var un=m.diffed;m.diffed=function(e){un&&un(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value)};const ao=ho(L.STORE);function Ts(...e){let t,n;const o=no(ao);if(e.length===3){const r=e[0],i=e[1];t=C(o,r,i),n=e[2]}else t=e[0],n=e[1];const s=n(null);return be(()=>{D(o,t,s.current)},[t]),s}function xs(e,...t){let n;if(t.length===2){const o=t[0],s=t[1];n=C(e,o,s)}else n=t[0];return n}function Cs(e,t){if(globalThis.env?.NODE_ENV==="development"){const n=Ot(!1);be(()=>{let o=n.current;if(o===!1)o=e()??!0,n.current=o;else return()=>{G(o)&&o(),n.current=!1}},t)}else be(e,t)}function le(...e){const t=no(ao),n=xs(t,...e),o=fs();if(n.type==="mutable_atom"||n.type==="readonly_held_selector"||n.type==="writable_held_selector"){const[,i]=eo(0),a=Ot(F(t,n));return Cs(()=>ae(t,n,`use-o:${o}`,({newValue:u})=>{a.current=u,i(f=>f+1)}),[n.key]),a.current}const s=ct(i=>ae(t,n,`use-o:${o}`,i),[n.key]),r=ct(()=>F(t,n),[n.key]);return ps(s,r)}const Oe=He({key:"pathKeys",default:[]}),De=Et({key:"subpathKeys",default:[]}),Ke=Et({key:"nodeAtoms",default:null}),ke=Et({key:"edgeAtoms",default:!0}),Ms=is({key:"pathDrawSelectors",get:e=>({get:t})=>t(De,e).map((o,s)=>{const r=t(Ke,o),i=t(ke,o);return r===null?"Z":s===0?`M ${r.x} ${r.y}`:i===!1?`M ${r.x} ${r.y}`:i===!0?`L ${r.x} ${r.y}`:"c"in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${r.x} ${r.y}`:`S ${i.s.x} ${i.s.y} ${r.x} ${r.y}`}).join(" ")});function oe(e,t,n){return Math.max(t,Math.min(n,e))}function fn({at:e,subpathKey:t,prevSubpathKey:n,node:o}){let s;return typeof o==="undefined"?s=le(Ke,n):s=o,s===null?null:b(P,{children:[b("line",{class:"bezier",x1:s.x,y1:s.y,x2:e.x,y2:e.y,stroke:"#777","stroke-width":1}),b("circle",{class:"bezier",fill:"#777",stroke:"#aaa","stroke-width":1,cx:e.x,cy:e.y,r:2}),b("circle",{class:"bezier-draggable",fill:"transparent",cx:e.x,cy:e.y,r:6,onPointerDown:r=>{r.currentTarget.setPointerCapture(r.pointerId),U(We,{key:t,by:o?"s":"c"})}})]})}function Es({subpathKey:e,nextSubpathKey:t}){const n=le(Ke,e),o=le(ke,e);return n===null?null:b(P,{children:[typeof o=="boolean"?b("rect",{class:"node",x:n.x-3,y:n.y-3,width:6,height:6}):b(P,{children:[b(fn,{at:o.s,node:n,subpathKey:e,prevSubpathKey:t}),o.c?b(fn,{at:o.c,subpathKey:e,prevSubpathKey:t}):null,b("circle",{class:"node",cx:n.x,cy:n.y,r:3})]}),b("circle",{class:"node-draggable",fill:"transparent",cx:n.x,cy:n.y,r:10,onPointerDown:s=>{s.currentTarget.setPointerCapture(s.pointerId),U(We,{key:e})}})]})}function Os({pathKey:e}){const t=le(Ms,e);return b("path",{d:`${t} Z`,class:"path",style:{pointerEvents:"none"}})}function As({pathKey:e}){const t=le(De,e);return b(P,{children:[b(Os,{pathKey:e}),t.toReversed().map((n,o,s)=>b(Es,{subpathKey:n,nextSubpathKey:s[o+1]??s[0]},n))]})}function js(){const e=le(Oe);return b(P,{children:e.map(t=>b(As,{pathKey:t},t))})}const lo=He({key:"svgRef",default:null}),We=He({key:"currentlyDragging",default:null});function Ps(e){e.preventDefault();const{key:t,by:n}=Fe(We)??{},o=Fe(lo);if(!o||!t)return;const s=o.createSVGPoint();s.x=e.clientX,s.y=e.clientY;const r=o.getScreenCTM()?.inverse(),{x:i,y:a}=s.matrixTransform(r);switch(n){case void 0:U(Ke,t,{x:oe(i,-185,se+185),y:oe(a,-10,re+10)});break;case"s":U(ke,t,u=>({...u,s:{x:oe(i,-185,se+185),y:oe(a,-10,re+10)}}));break;case"c":U(ke,t,u=>({...u,c:{x:oe(i,-185,se+185),y:oe(a,-10,re+10)}}));break}}const Ns=["m","M","l","L","c","C","v","V","z","Z"],Fs=He({key:"preactLogo",default:()=>fetch("preact.svg").then(e=>e.text())}),Ds=as({key:"reset",do:async()=>{const e=await Fe(Fs);for(const s of Fe(Oe))Wt(De,s);Wt(Oe);const t=e.split(`
14
- `).filter(s=>s.startsWith(" <path")).map(s=>{const r=s.split('d="')[1].slice(0,-9);let i,a="",u=[];const f=[];for(const d of r){if(Ns.includes(d)){a&&(u.push(Number.parseFloat(a)),a=""),i&&f.push({letter:i,numbers:u}),i=d,u=[];continue}if(d===" "){u.push(Number.parseFloat(a)),a="";continue}if(d==="-"&&a){u.push(Number.parseFloat(a)),a="-";continue}a+=d}let c={x:0,y:0};return f.map(({letter:d,numbers:_})=>{let y,p;switch(d){case"m":y={x:c.x+_[0],y:c.y+_[1]},p=!1;break;case"M":y={x:_[0],y:_[1]},p=!1;break;case"l":y={x:c.x+_[0],y:c.y+_[1]},p=!0;break;case"L":y={x:_[0],y:_[1]},p=!0;break;case"c":y={x:c.x+_[4],y:c.y+_[5]},p={c:{x:c.x+_[0],y:c.y+_[1]},s:{x:c.x+_[2],y:c.y+_[3]}};break;case"C":y={x:_[4],y:_[5]},p={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":y={x:c.x,y:c.y+_[0]},p=!0;break;case"V":y={x:c.x,y:_[0]},p=!0;break;case"z":case"Z":y=null,p=!0}return y&&(c=y),{node:y,edge:p}})});let n=0,o=0;for(const s of t){const r=o;for(const{node:a,edge:u}of s)U(ke,`subpath${o}`,u),U(Ke,`subpath${o}`,a),o++;const i=o-r;U(De,`path${n}`,Array.from({length:i},(a,u)=>`subpath${r+u}`)),U(Oe,a=>[...a,`path${n}`]),n++}}}),_n=ls(Ds),se=256,re=296;function Is(){const e=Ts(lo,Ot),t=ct(n=>{n.currentTarget.releasePointerCapture(n.pointerId),U(We,null)},[]);return be(()=>{_n()},[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${se+370} ${re+30}`,width:1e3,height:500,onPointerMove:Ps,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:se,height:re,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:se+370,height:re+20,fill:"url(#grid)"}),b(js,{})]}),b("button",{type:"button",class:"flat",onClick:_n,children:"Reset"})]})}function Vs(){return b(P,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(Is,{}),b("article",{children:[b(Xe,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(Xe,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(Xe,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function Xe(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}po(b(Vs,{}),document.getElementById("app"));