@atom.io/template-preact-svg-editor 0.0.46 โ†’ 0.0.47

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,13 +1,13 @@
1
1
 
2
- > @atom.io/template-preact-svg-editor@0.0.46 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
2
+ > @atom.io/template-preact-svg-editor@0.0.47 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
3
3
  > vite build
4
4
 
5
- vite v7.3.1 building client environment for production...
6
- transforming...
7
- โœ“ 14 modules transformed.
5
+ vite v8.0.1 building client environment for production...
6
+ 
8
7
  rendering chunks...
9
8
  computing gzip size...
10
- dist/index.html  0.52 kB โ”‚ gzip: 0.33 kB
11
- dist/assets/index-jy4_OpZh.css  1.60 kB โ”‚ gzip: 0.72 kB
12
- dist/assets/index-BpDVcCjN.js 81.46 kB โ”‚ gzip: 25.82 kB
13
- โœ“ built in 651ms
9
+ dist/index.html 0.52 kB โ”‚ gzip: 0.32 kB
10
+ dist/assets/index-iBTIqdJW.css 1.58 kB โ”‚ gzip: 0.71 kB
11
+ dist/assets/index-DlP3FiaW.js 80.68 kB โ”‚ gzip: 25.25 kB
12
+
13
+ โœ“ built in 143ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atom.io/template-preact-svg-editor
2
2
 
3
+ ## 0.0.47
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [7bc5a4c]
8
+ - atom.io@0.46.25
9
+
3
10
  ## 0.0.46
4
11
 
5
12
  ### Patch Changes
@@ -0,0 +1,5 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e,t,n,r,i,a,o,s,c,l,u,d,f={},p=[],m=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function g(e,t){for(var n in t)e[n]=t[n];return e}function _(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function v(t,n,r){var i,a,o,s={};for(o in n)o==`key`?i=n[o]:o==`ref`?a=n[o]:s[o]=n[o];if(arguments.length>2&&(s.children=arguments.length>3?e.call(arguments,2):r),typeof t==`function`&&t.defaultProps!=null)for(o in t.defaultProps)s[o]===void 0&&(s[o]=t.defaultProps[o]);return y(t,s,i,a,null)}function y(e,r,i,a,o){var s={type:e,props:r,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++n,__i:-1,__u:0};return o==null&&t.vnode!=null&&t.vnode(s),s}function b(e){return e.children}function x(e,t){this.props=e,this.context=t}function S(e,t){if(t==null)return e.__?S(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`?S(e):null}function C(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,i=[],a=[],o=g({},n);o.__v=n.__v+1,t.vnode&&t.vnode(o),ae(e.__P,o,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,i,r??S(n),!!(32&n.__u),a),o.__v=n.__v,o.__.__k[o.__i]=o,se(i,o,a),n.__e=n.__=null,o.__e!=r&&w(o)}}function w(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}),w(e)}function T(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!E.__r++||i!=t.debounceRendering)&&((i=t.debounceRendering)||a)(E)}function E(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(o),e=r.shift(),t=r.length,C(e)}finally{r.length=E.__r=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var d,m,h,g,_,v,y,b=r&&r.__k||p,x=t.length;for(c=D(n,t,b,c,x),d=0;d<x;d++)(h=n.__k[d])!=null&&(m=h.__i!=-1&&b[h.__i]||f,h.__i=d,v=ae(e,h,m,i,a,o,s,c,l,u),g=h.__e,h.ref&&m.ref!=h.ref&&(m.ref&&ue(m.ref,null,h),u.push(h.ref,h.__c||g,h)),_==null&&g!=null&&(_=g),(y=!!(4&h.__u))||m.__k===h.__k?c=O(h,c,e,y):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-7);return n.__e=_,c}function D(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=y(null,o,null,null,null):h(o)?o=e.__k[a]=y(b,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=y(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=ne(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=S(s)),de(s,s));return r}function O(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=O(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=S(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function te(e,t){return t||=[],e==null||typeof e==`boolean`||(h(e)?e.some(function(e){te(e,t)}):t.push(e)),t}function ne(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function re(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||m.test(t)?n:n+`px`}function k(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||re(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||re(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(s,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||={},e.l[t+a]=n,n?r?n.u=r.u:(n.u=c,e.addEventListener(t,a?u:l,a)):e.removeEventListener(t,a?u:l,a);else{if(i==`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 n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function ie(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n.t==null)n.t=c++;else if(n.t<r.u)return;return r(t.event?t.event(n):n)}}}function ae(e,n,r,i,a,o,s,c,l,u){var d,f,m,v,y,S,C,w,T,E,D,O,te,ne,re,k=n.type;if(n.constructor!==void 0)return null;128&r.__u&&(l=!!(32&r.__u),o=[c=n.__e=r.__e]),(d=t.__b)&&d(n);n:if(typeof k==`function`)try{if(w=n.props,T=k.prototype&&k.prototype.render,E=(d=k.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,r.__c?C=(f=n.__c=r.__c).__=f.__E:(T?n.__c=f=new k(w,D):(n.__c=f=new x(w,D),f.constructor=k,f.render=fe),E&&E.sub(f),f.state||={},f.__n=i,m=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&k.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=g({},f.__s)),g(f.__s,k.getDerivedStateFromProps(w,f.__s))),v=f.props,y=f.state,f.__v=n,m)T&&k.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&k.getDerivedStateFromProps==null&&w!==v&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,D),n.__v==r.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,D)){n.__v!=r.__v&&(f.props=w,f.state=f.__s,f.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),p.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,D),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(v,y,S)})}if(f.context=D,f.props=w,f.__P=e,f.__e=!1,O=t.__r,te=0,T)f.state=f.__s,f.__d=!1,O&&O(n),d=f.render(f.props,f.state,f.context),p.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,O&&O(n),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++te<25);f.state=f.__s,f.getChildContext!=null&&(i=g(g({},i),f.getChildContext())),T&&!m&&f.getSnapshotBeforeUpdate!=null&&(S=f.getSnapshotBeforeUpdate(v,y)),ne=d!=null&&d.type===b&&d.key==null?ce(d.props.children):d,c=ee(e,h(ne)?ne:[ne],n,r,i,a,o,s,c,l,u),f.base=n.__e,n.__u&=-161,f.__h.length&&s.push(f),C&&(f.__E=f.__=null)}catch(e){if(n.__v=null,l||o!=null)if(e.then){for(n.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,n.__e=c}else{for(re=o.length;re--;)_(o[re]);oe(n)}else n.__e=r.__e,n.__k=r.__k,e.then||oe(n);t.__e(e,n,r)}else o==null&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):c=n.__e=le(r.__e,n,r,i,a,o,s,l,u);return(d=t.diffed)&&d(n),128&n.__u?void 0:c}function oe(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(oe))}function se(e,n,r){for(var i=0;i<r.length;i++)ue(r[i],r[++i],r[++i]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function ce(e){return typeof e!=`object`||!e||e.__b>0?e:h(e)?e.map(ce):g({},e)}function le(n,r,i,a,o,s,c,l,u){var d,p,m,g,v,y,b,x=i.props||f,C=r.props,w=r.type;if(w==`svg`?o=`http://www.w3.org/2000/svg`:w==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||=`http://www.w3.org/1999/xhtml`,s!=null){for(d=0;d<s.length;d++)if((v=s[d])&&`setAttribute`in v==!!w&&(w?v.localName==w:v.nodeType==3)){n=v,s[d]=null;break}}if(n==null){if(w==null)return document.createTextNode(C);n=document.createElementNS(o,w,C.is&&C),l&&=(t.__m&&t.__m(r,s),!1),s=null}if(w==null)x===C||l&&n.data==C||(n.data=C);else{if(s&&=e.call(n.childNodes),!l&&s!=null)for(x={},d=0;d<n.attributes.length;d++)x[(v=n.attributes[d]).name]=v.value;for(d in x)v=x[d],d==`dangerouslySetInnerHTML`?m=v:d==`children`||d in C||d==`value`&&`defaultValue`in C||d==`checked`&&`defaultChecked`in C||k(n,d,null,v,o);for(d in C)v=C[d],d==`children`?g=v:d==`dangerouslySetInnerHTML`?p=v:d==`value`?y=v:d==`checked`?b=v:l&&typeof v!=`function`||x[d]===v||k(n,d,v,x[d],o);if(p)l||m&&(p.__html==m.__html||p.__html==n.innerHTML)||(n.innerHTML=p.__html),r.__k=[];else if(m&&(n.innerHTML=``),ee(r.type==`template`?n.content:n,h(g)?g:[g],r,i,a,w==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&S(i,0),l,u),s!=null)for(d=s.length;d--;)_(s[d]);l||(d=`value`,w==`progress`&&y==null?n.removeAttribute(`value`):y!=null&&(y!==n[d]||w==`progress`&&!y||w==`option`&&y!=x[d])&&k(n,d,y,x[d],o),d=`checked`,b!=null&&b!=n[d]&&k(n,d,b,x[d],o))}return n}function ue(e,n,r){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&n==null||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,r)}}function de(e,n,r){var i,a;if(t.unmount&&t.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||ue(i,null,n)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){t.__e(e,n)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&de(i[a],n,r||typeof e.type!=`function`);r||_(e.__e),e.__c=e.__=e.__e=void 0}function fe(e,t,n){return this.constructor(e,n)}function pe(n,r,i){var a,o,s,c;r==document&&(r=document.documentElement),t.__&&t.__(n,r),o=(a=typeof i==`function`)?null:i&&i.__k||r.__k,s=[],c=[],ae(r,n=(!a&&i||r).__k=v(b,null,[n]),o||f,f,r.namespaceURI,!a&&i?[i]:o?null:r.firstChild?e.call(r.childNodes):null,s,!a&&i?i:o?o.__e:r.firstChild,a,c),se(s,n,c)}function me(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,T(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ d++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}e=p.slice,t={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},n=0,x.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=g({},this.state);typeof e==`function`&&(e=e(g({},n),this.props)),e&&g(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),T(this))},x.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),T(this))},x.prototype.render=b,r=[],a=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,o=function(e,t){return e.__v.__b-t.__v.__b},E.__r=0,s=/(PointerCapture)$|Capture$/i,c=0,l=ie(!1),u=ie(!0),d=0;var he=``,ge=``,_e=``,ve=``,ye=e=>{if(e===null)return ge;switch(typeof e){case`string`:return _e+e;case`number`:return ve+e;case`boolean`:return he+ +e;case`object`:return JSON.stringify(e)}},be=e=>{switch(e[0]){case _e:return e.slice(1);case ve:return+e.slice(1);case he:return e.slice(1)===`1`;case ge:return null;case`[`:return JSON.parse(e)}};function xe(e){let t={},n=0;for(let r of e)t[r]=n,t[n]=r,++n;return t}function A(e){return JSON.parse(e)}var j=e=>JSON.stringify(e);Array.prototype,Boolean.prototype,Number.prototype,String.prototype;var Se=xe([`add`,`delete`,`clear`]),Ce=class e extends Set{mode=`record`;subject=new P;constructor(t){super(t),t instanceof e}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(t){return new e(t)}add(e){let t=super.add(e);return this.mode===`record`&&this.emit({type:`add`,value:e}),t}clear(){let e=this.mode===`record`?[...this]:null;super.clear(),e&&this.emit({type:`clear`,values:e})}delete(e){let t=super.delete(e);return this.mode===`record`&&this.emit({type:`delete`,value:e}),t}subscribe(e,t){return this.subject.subscribe(e,t)}emit(t){this.subject.next(e.packUpdate(t))}do(t){this.mode=`playback`;let n=e.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){let n=e.unpackUpdate(t);switch(this.mode=`playback`,n.type){case`add`:this.delete(n.value);break;case`delete`:this.add(n.value);break;case`clear`:{let e=n.values;for(let t of e)this.add(t)}}return this.mode=`record`,null}static packUpdate(e){let t=Se[e.type]+``;return e.type===`clear`?t+e.values.map(ye).join(``):t+ye(e.value)}static unpackUpdate(e){let[t,n]=e.split(``),r=Se[t];return r===`clear`?{type:`clear`,values:n.split(``).map(be)}:{type:r,value:be(n)}}};function we(e=Math.random){return e().toString(36).slice(2)}function M(e){let t=e;for(;t.child!==null;)t=t.child;return t}function Te(e){let t=e;for(;t.parent!==null;)t=t.parent;return t}var Ee=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function N(e){let t=Object.prototype.toString.call(e);return Ee.test(t)}function De(e,t){return N(e)?e(t):e}var Oe=class extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,n;super((e,r)=>{t=e,n=r}),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){let t=e;this.fate=t,t.then(e=>{this.pass(t,e)},e=>{this.fail(t,e)})}else this.resolve(e),this.fate=void 0}},P=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){let t=this.subscribers.values();for(let n of t)n(e)}},ke=class extends P{state;constructor(e){super(),this.state=e}next(e){this.state=e,super.next(e)}},Ae=class e{_buffer;_index=0;constructor(e){let t;t=typeof e==`number`?e:e.length,this._buffer=Array.from({length:t})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){let t=new e([...this._buffer]);return t._index=this._index,t}};function F(e){let t={key:e.key,type:e.type};return`family`in e&&(t.family=e.family),t}var I=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(let[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(let e of this.source.keys())!this.deleted.has(e)&&!this.changed.has(e)&&(yield e)}*values(){for(let[,e]of this[Symbol.iterator]())yield e}forEach(e){for(let[t,n]of this[Symbol.iterator]())e(n,t,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},je=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(let 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}},Me=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)){let t=new je(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)}},L=class e{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(e,t)=>`${e}:${t}`;warn;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,t){let n=this.relations.get(e),r=this.relations.get(t);n?n.add(t):(n=new Set([t]),this.relations.set(e,n)),r?r.add(e):(r=new Set([e]),this.relations.set(t,r))}deleteRelation(e,t){let n=this.relations.get(e);if(n){n.delete(t),n.size===0&&this.relations.delete(e);let r=this.relations.get(t);r&&(r.delete(e),r.size===0&&this.relations.delete(t))}}replaceRelationsUnsafely(e,t){this.relations.set(e,new Set(t));for(let n of t){let t=new Set().add(e);this.relations.set(n,t)}}replaceRelationsSafely(e,t){let n=this.relations.get(e),r=this.isAType?.(e)?e:void 0,i=r===void 0?e:void 0;if(n)for(let t of n){r??=t,i??=t;let n=this.relations.get(t);n&&(n.size===1?this.relations.delete(t):n.delete(e),this.contents.delete(this.makeContentKey(r,i)))}this.relations.set(e,new Set(t));for(let n of t){let t=this.relations.get(n);t?t.add(e):(t=new Set().add(e),this.relations.set(n,t))}}getContentInternal(e){return this.contents.get(e)}setContent(e,t){this.contents.set(e,t)}deleteContent(e){this.contents.delete(e)}constructor(e,t){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,this.isAType=t?.isAType??null,this.isBType=t?.isBType??null,this.isContent=t?.isContent??null,t?.makeContentKey&&(this.makeContentKey=t.makeContentKey),!t?.externalStore){let n=t?.source;n===void 0&&(this.relations=new Map(e.relations?.map(([e,t])=>[e,new Set(t)])),this.contents=new Map(e.contents)),n&&(this.relations=new Me(n.relations),this.contents=new I(n.contents))}if(t?.externalStore){let n=t.externalStore;this.has=(e,t)=>n.has(e,t),this.addRelation=(e,t)=>{n.addRelation(e,t)},this.deleteRelation=(e,t)=>{n.deleteRelation(e,t)},this.replaceRelationsSafely=(e,t)=>{n.replaceRelationsSafely(e,t)},this.replaceRelationsUnsafely=(e,t)=>{n.replaceRelationsUnsafely(e,t)},this.getRelatedKeys=(e=>n.getRelatedKeys(e)),n.getContent&&(this.getContentInternal=e=>n.getContent(e),this.setContent=(e,t)=>{n.setContent(e,t)},this.deleteContent=e=>{n.deleteContent(e)});for(let[t,n]of e.relations??[]){let e=this.isAType?.(t)?t:void 0,r=e===void 0?t:void 0;for(let t of n)e??=t,r??=t,this.addRelation(e,r)}for(let[t,n]of e.contents??[])this.setContent(t,n)}t?.warn&&(this.warn=t.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,t])=>[e,[...t]]),contents:[...this.contents.entries()]}}set(...e){let t,n,r;switch(e.length){case 1:{let i=e[0];t=i[this.a],n=i[this.b],r=void 0;break}case 2:{let i=e[0];typeof i==`string`?[t,n]=e:(t=i[this.a],n=i[this.b],r=e[1]);break}default:t=e[0],n=e[1],r=e[2];break}switch(this.cardinality){case`1:1`:{let e=this.getRelatedKey(t);e&&e!==n&&this.delete(t,e)}case`1:n`:{let e=this.getRelatedKey(n);e&&e!==t&&this.delete(e,n)}break;case`n:n`:}if(r){let e=this.makeContentKey(t,n);this.setContent(e,r)}return this.addRelation(t,n),this}delete(e,t){t=typeof t==`string`?t:e[this.b];let n=typeof e==`string`?e:e[this.a];if(n===void 0&&typeof t==`string`){let e=this.getRelatedKeys(t);if(e)for(let n of e)this.delete(n,t)}else if(typeof n==`string`&&t===void 0){let e=this.getRelatedKeys(n);if(e)for(let t of e)this.delete(n,t)}else if(typeof n==`string`&&typeof t==`string`){this.deleteRelation(n,t);let e=this.makeContentKey(n,t);this.deleteContent(e)}return this}getRelatedKey(e){let t=this.getRelatedKeys(e);if(t){t.size>1&&this.warn?.(`${t.size} related keys were found for key "${e}": (${[...t].map(e=>`"${e}"`).join(`, `)}). Only one related key was expected.`);let n;for(let e of t){n=e;break}return n}}replaceRelations(e,t,n){let r=!Array.isArray(t),i=r?Object.keys(t):t;if(n?.reckless?this.replaceRelationsUnsafely(e,i):this.replaceRelationsSafely(e,i),r)for(let n of i){let r=this.makeContentKey(e,n),i=t[n];this.setContent(r,i)}return this}getContent(e,t){let n=this.makeContentKey(e,t);return this.getContentInternal(n)}getRelationEntries(e){let t=e[this.a],n=e[this.b];if(t!==void 0&&n===void 0){let e=this.getRelatedKeys(t);if(e)return[...e].map(e=>[e,this.getContent(t,e)])}if(t===void 0&&n!==void 0){let e=this.getRelatedKeys(n);if(e)return[...e].map(e=>[e,this.getContent(e,n)])}return[]}has(e,t){return t?this.getRelatedKeys(e)?.has(t)??!1:this.relations.has(e)}overlay(){let 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 e({between:[this.a,this.b],cardinality:this.cardinality},t)}incorporate(e){let{relations:t,contents:n}=e;for(let[e,n]of t)if(n instanceof je){let{source:e}=n;for(let t of n.iterateOwn())e.add(t)}else this.relations.set(e,n);for(let e of t.deleted)this.relations.delete(e);for(let[e,t]of n)this.contents.set(e,t);for(let e of n.deleted)this.contents.delete(e)}};function Ne(e){return e.startsWith(`๐Ÿ” `)}var Pe=e=>{e.logger.info(`๐Ÿช‚`,`transaction`,e.transactionMeta.update.token.key,`Aborting transaction`),e.parent.child=null};function Fe(e,t,n){return(...r)=>V(e,t).run(r,n)}function Ie(e,t,n){let{token:r,update:{newValue:i,oldValue:a}}=t;G(e,r,n===`newValue`?i:a)}function Le(e){let{stack:t}=e;return t?`
2
+ `+t.split(`
3
+ `)?.slice(1)?.join(`
4
+ `):``}function Re(e,t,n,r=`any`){let i=t,a=j(n),o=[],s=M(e);if(Array.isArray(i))for(let t of i){let n=j(t);s.molecules.get(n)?e.moleculeGraph.set(n,a,{source:n}):o.push(n)}else{let t=j(i);s.molecules.get(t)?e.moleculeGraph.set(t,a,{source:t}):o.push(t)}let c=new P;o.length===0&&s.molecules.set(a,{key:n,stringKey:a,dependsOn:r,subject:c});let l={type:`molecule_creation`,key:n,provenance:i,timestamp:Date.now()};R(s)&&s.transactionMeta.phase===`building`?s.transactionMeta.update.subEvents.push(l):s.on.moleculeCreation.next(l);for(let t of o){let r=e.disposalTraces.buffer.find(e=>e?.key===t);e.logger.error(`โŒ`,`key`,n,`allocation failed:`,`Could not allocate to ${t} in store "${e.config.name}".`,r?`\n ${t} was most recently disposed\n${r.trace}`:`No previous disposal trace for ${t} was found.`)}return n}function ze(e,t){let n=j(t),r=e.molecules.get(n);if(!r){let r=e.disposalTraces.buffer.find(e=>e?.key===n);e.logger.error(`โŒ`,`key`,t,`deallocation failed:`,`Could not find allocation for ${n} in store "${e.config.name}".`,r?`\n This state was most recently deallocated\n${r.trace}`:`No previous disposal trace for ${n} was found.`);return}r.subject.next();let i=e.keyRefsInJoins.getRelatedKeys(n);if(i)for(let n of i){let r=e.joins.get(n);r&&r.relations.delete(t)}else{let n=kn(t);if(n){let[,t,r]=n,i=e.keyRefsInJoins.getRelatedKey(On(t,r));if(i){let n=e.joins.get(i);n&&n.relations.delete(t,r)}}}e.keyRefsInJoins.delete(n);let a=[],o=[],s=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:n});if(s)for(let[t,{source:r}]of s)r===n?ze(e,A(t)):a.push(r);let c=e.moleculeData.getRelatedKeys(r.stringKey);if(c)for(let n of c){let r=e.families.get(n),i=U(e,r,t);o.push([r.key,i]),Tt(e,r,t)}let l={type:`molecule_disposal`,key:r.key,values:o,provenance:a,timestamp:Date.now()};e.molecules.delete(n);let u=R(e)&&e.transactionMeta.phase===`building`;u&&e.transactionMeta.update.subEvents.push(l),e.moleculeGraph.delete(r.stringKey),e.keyRefsInJoins.delete(r.stringKey),e.moleculeData.delete(r.stringKey),u||e.on.moleculeDisposal.next(l),e.molecules.delete(r.stringKey);let d=Le(Error());e.disposalTraces.add({key:n,trace:d})}function Be(e,t,n,r){let i=j(n),a=M(e),o=a.molecules.get(i);if(!o){let t=e.disposalTraces.buffer.find(e=>e?.key===i);return e.logger.error(`โŒ`,`key`,i,`claim failed:`,`Could not allocate to ${i} in store "${e.config.name}".`,t?`\n ${i} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${i} was found.`),n}let s=j(t),c=a.molecules.get(s);if(!c){let t=e.disposalTraces.buffer.find(e=>e?.key===s);return e.logger.error(`โŒ`,`key`,n,`claim failed:`,`Could not allocate to ${s} in store "${e.config.name}".`,t?`\n ${s} was most recently disposed\n${t.trace}`:`No previous disposal trace for ${s} was found.`),n}let l=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:o.stringKey}).filter(([,{source:e}])=>e!==i).map(([e])=>A(e));r&&a.moleculeGraph.delete(i),a.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:o.stringKey},{source:c.stringKey});let u={type:`molecule_transfer`,key:o.key,exclusive:!!r,from:l,to:[c.key],timestamp:Date.now()};return R(a)&&a.transactionMeta.phase===`building`&&a.transactionMeta.update.subEvents.push(u),n}function Ve(e,t,n){switch(n){case`newValue`:Ue(e,t);break;case`oldValue`:Tt(e,t.token);break}}function He(e,t,n){switch(n){case`newValue`:Tt(e,t.token);break;case`oldValue`:Ue(e,t),t.subType===`atom`&&e.valueMap.set(t.token.key,t.value);break}}function Ue(e,t){let{token:n}=t;t.subType===`writable`&&t.value?G(e,n,t.value):U(e,n)}function We(e,t,n){switch(n){case`newValue`:Re(e,t.provenance,t.key);break;case`oldValue`:ze(e,t.key);break}}function Ge(e,t,n){switch(n){case`newValue`:ze(e,t.key);break;case`oldValue`:Re(e,t.provenance.map(A),t.key);for(let[n,r]of t.values){let i=e.families.get(n);if(i){U(e,i,t.key);let a=`${n}(${j(t.key)})`;e.valueMap.set(a,r)}}break}}function Ke(e,t,n){switch(n){case`newValue`:for(let n of t.to)Be(e,n,t.key,t.exclusive?`exclusive`:void 0);break;case`oldValue`:{let n=`exclusive`;for(let r of t.from)Be(e,r,t.key,n),n=void 0}break}}function qe(e,t,n){let r=n===`newValue`?t.subEvents:[...t.subEvents].reverse();for(let t of r)switch(t.type){case`atom_update`:Ie(e,t,n);break;case`state_creation`:Ve(e,t,n);break;case`state_disposal`:He(e,t,n);break;case`molecule_creation`:We(e,t,n);break;case`molecule_disposal`:Ge(e,t,n);break;case`molecule_transfer`:Ke(e,t,n);break;case`transaction_outcome`:qe(e,t,n);break}}function Je(e){return`epoch`in e.transactionMeta}function R(e){return`phase`in e.transactionMeta}function Ye(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function Xe(e,t){return e.transactionMeta.epoch.get(t)}function Ze(e,t){let n=Ye(e,t);if(n!==void 0)return Xe(e,n)}function Qe(e,t,n){let r=Ye(e,t);r!==void 0&&e.transactionMeta.epoch.set(r,n)}function $e(e,t){let n=M(e),{parent:r}=n;n.transactionMeta.phase=`applying`,n.transactionMeta.update.output=t,r.child=null,r.on.transactionApplying.next(n.transactionMeta);let{subEvents:i}=n.transactionMeta.update;e.logger.info(`๐Ÿ›„`,`transaction`,n.transactionMeta.update.token.key,`applying ${i.length} subEvents:`,i),qe(r,n.transactionMeta.update,`newValue`),Je(r)?(Qe(r,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),V(e,{key:n.transactionMeta.update.token.key,type:`transaction`})?.subject.next(n.transactionMeta.update),e.logger.info(`๐Ÿ›ฌ`,`transaction`,n.transactionMeta.update.token.key,`applied`)):R(r)&&r.transactionMeta.update.subEvents.push(n.transactionMeta.update),r.on.transactionApplying.next(null)}function et(e){return{store:e}}function z(e){return e[0].toUpperCase()+e.slice(1)}function tt(e,t){let n=e.joins.get(t.key);if(n===void 0){let r=B.STORE.joins.get(t.key);if(r===void 0)throw Error(`Join "${t.key}" not found in store "${e.config.name}"`);n=new at(Te(e),r.options),e.joins.set(t.key,n)}return n}function nt(e,t,n){let r=tt(e,t),i=M(e);if(R(i)){let{toolkit:e}=i.transactionMeta;r.transact(e,({relations:e})=>{n(e)})}else n(r.relations)}function rt(e,t,n){let r=tt(e,t),i;switch(t.cardinality){case`1:1`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeyOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`1:n`:{let a=`${t.a}KeyOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}};break}case`n:n`:{let a=`${t.a}KeysOf${z(t.b)}`,o=`${t.b}KeysOf${z(t.a)}`;i={get[a](){let t=r.states[a];return W(e,t,n)},get[o](){let t=r.states[o];return W(e,t,n)}}}}return i}function it(e,t,n){let r=tt(e,t);return n===`split`?[r.relatedKeysAtoms,r.relatedKeysAtoms]:r.relatedKeysAtoms}var at=class{toolkit;options;relations;states;relatedKeysAtoms;transact(e,t){let 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:((...t)=>U(e,...t)),set:((...t)=>{G(e,...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}};let n=t.between[0],r=t.between[1],i=un(e,{key:`${t.key}/relatedKeys`,class:Ce},[`join`,`relations`]);this.relatedKeysAtoms=i;let a=(t,n,r)=>{let{find:a,get:o,set:s}=t,c=a(i,n),l=o(c);for(let e of l)r.includes(e)||s(i,e,e=>(e.delete(n),e));s(c,t=>{t.clear();for(let c of r){let r=a(i,c),l=o(r),u=l.has(n);if(this.relations.cardinality===`1:n`){let t=[];for(let e of l){if(e===n)continue;let r;Vt(Bt,this.store,i,e,e=>(e.delete(c),r=e.size,e)),r===0&&t.push(e)}!u&&l.size>0&&s(r,e=>(e.clear(),e));for(let n of t)e.keyRefsInJoins.delete(On(c,n))}u||s(r,e=>(e.add(n),e)),t.add(c)}return t})},o=(e,t,n)=>{let{set:r}=e;r(i,t,e=>{for(let t of n)e.add(t);return e});for(let e of n)r(i,e,e=>(e.add(t),e));return!0},s=new L(t,{externalStore:{getRelatedKeys:e=>this.toolkit.get(i,e),addRelation:(e,n)=>{this.store.keyRefsInJoins.set(`"${e}"`,t.key),this.store.keyRefsInJoins.set(`"${n}"`,t.key),this.store.keyRefsInJoins.set(On(e,n),t.key),this.toolkit.set(i,e,e=>e.add(n)),this.toolkit.set(i,n,t=>t.add(e))},deleteRelation:(e,t)=>{this.toolkit.set(i,e,e=>(e.delete(t),e)),this.toolkit.set(i,t,t=>(t.delete(e),t));let n=On(e,t);this.store.keyRefsInJoins.delete(n)},replaceRelationsSafely:(e,t)=>{a(this.toolkit,e,t)},replaceRelationsUnsafely:(e,t)=>{o(this.toolkit,e,t)},has:(e,t)=>{let n=this.toolkit.get(i,e);return t?n.has(t):n.size>0}},isAType:t.isAType,isBType:t.isBType}),c=()=>yt(e,{key:`${t.key}/singleRelatedKey`,get:e=>({get:t})=>{let n=t(i,e);for(let e of n)return e;return null}},[`join`,`keys`]),l=()=>yt(e,{key:`${t.key}/multipleRelatedKeys`,get:t=>({get:n})=>n(dn(i,e),t)},[`join`,`keys`]);switch(t.cardinality){case`1:1`:{let e=c(),t=`${n}KeyOf${z(r)}`,i=`${r}KeyOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e};break}case`1:n`:{let e=c(),t=l(),i=`${n}KeyOf${z(r)}`,a=`${r}KeysOf${z(n)}`,o={[i]:e,[a]:t};this.relations=s,this.states=o;break}case`n:n`:{let e=l(),t=`${n}KeysOf${z(r)}`,i=`${r}KeysOf${z(n)}`;this.relations=s,this.states={[t]:e,[i]:e}}}}},ot=(e,t,n,r)=>{let i=M(e),a={parent:i,child:null,on:i.on,loggers:i.loggers,logger:i.logger,config:i.config,atoms:new I(i.atoms),atomsThatAreDefault:new Set(i.atomsThatAreDefault),families:new I(i.families),joins:new I(i.joins),operation:{open:!1},readonlySelectors:new I(i.readonlySelectors),timelines:new I(i.timelines),timelineTopics:i.timelineTopics.overlay(),trackers:new Map,transactions:new I(i.transactions),selectorAtoms:i.selectorAtoms.overlay(),selectorGraph:i.selectorGraph.overlay(),writableSelectors:new I(i.writableSelectors),valueMap:new I(i.valueMap),defaults:i.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new I(i.molecules),moleculeGraph:i.moleculeGraph.overlay(),moleculeData:i.moleculeData.overlay(),keyRefsInJoins:i.keyRefsInJoins.overlay(),miscResources:new I(i.miscResources)},o=Ze(e,t.key),s={phase:`building`,update:{type:`transaction_outcome`,token:t,id:r,epoch:o===void 0?NaN:o+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...e)=>U(c,...e)),set:((...e)=>{G(c,...e)}),reset:((...e)=>{It(c,...e)}),run:(e,t=we())=>Fe(c,e,t),find:((...t)=>W(e,...t)),json:e=>fn(c,e),dispose:((...e)=>{Tt(c,...e)}),env:()=>et(c),relations:{edit:((...e)=>{nt(c,...e)}),find:((...e)=>rt(c,...e)),internal:((...e)=>it(c,...e))}}},c=Object.assign(a,{transactionMeta:s});return i.child=c,e.logger.info(`๐Ÿ›ซ`,`transaction`,t.key,`building with params:`,n),c};function st(e,t){let{key:n}=t,r=e.transactions.has(n),i={key:n,type:`transaction`,run:(r,a)=>{let o=ot(e,F(i),r,a);try{let{toolkit:e}=o.transactionMeta,n=t.do(e,...r);return $e(o,n),n}catch(t){throw Pe(o),e.logger.warn(`๐Ÿ’ฅ`,`transaction`,n,`caught:`,t),t}},install:e=>st(e,t),subject:new P};M(e).transactions.set(n,i);let a=F(i);return r||e.on.transactionCreation.next(a),a}var ct=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 L({between:[`selectorKey`,`atomKey`],cardinality:`n:n`});selectorGraph=new L({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 L({between:[`continuity`,`action`],cardinality:`1:n`})};timelines=new Map;timelineTopics=new L({between:[`timelineKey`,`topicKey`],cardinality:`1:n`});disposalTraces=new Ae(100);molecules=new Map;moleculeGraph=new L({between:[`upstreamMoleculeKey`,`downstreamMoleculeKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});moleculeData=new L({between:[`moleculeKey`,`stateFamilyKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});keyRefsInJoins=new L({between:[`moleculeKey`,`joinKey`],cardinality:`n:n`},{makeContentKey:(...e)=>e.sort().join(`:`)});miscResources=new Map;on={atomCreation:new P,atomDisposal:new P,selectorCreation:new P,selectorDisposal:new P,timelineCreation:new P,transactionCreation:new P,transactionApplying:new ke(null),operationClose:new P,moleculeCreation:new P,moleculeDisposal:new P};operation={open:!1};config={name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0};loggers=[new Dn(`warn`,(e,t,n)=>!Ne(n))];logger={error:(...e)=>{for(let t of this.loggers)t.error(...e)},info:(...e)=>{for(let t of this.loggers)t.info(...e)},warn:(...e)=>{for(let t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},Je(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new L(t?.transactionMeta.actionContinuities.toJSON())});for(let[,e]of t.families)e.internalRoles?.includes(`mutable`)||e.internalRoles?.includes(`join`)||e.install(this);let e=new Set;for(let[,n]of t.atoms)if(!e.has(n.key)&&(n.install(this),n.type===`mutable_atom`)){let r=fn(t,n),i=pn(n);e.add(r.key),e.add(i.key)}for(let[,e]of t.readonlySelectors)e.install(this);for(let[,n]of t.writableSelectors)e.has(n.key)||n.install(this);for(let[,e]of t.transactions)e.install(this);for(let[,e]of t.timelines)e.install(this)}}},B={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new ct({name:`IMPLICIT_STORE`,lifespan:`ephemeral`,isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}},lt=class extends Error{constructor(e,t){super(`${q[e.type]} ${j(e.key)} not found in store "${t.config.name}".`)}};function V(e,t){let n,r=e;for(;r!==null;){switch(t.type){case`atom`:case`mutable_atom`:n=r.atoms.get(t.key);break;case`writable_pure_selector`:case`writable_held_selector`:n=r.writableSelectors.get(t.key);break;case`readonly_pure_selector`:case`readonly_held_selector`:n=r.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=r.families.get(t.key);break;case`timeline`:n=r.timelines.get(t.key);break;case`transaction`:n=r.transactions.get(t.key);break}if(n)return n;r=r.child}throw new lt(t,e)}function ut(e,t,n,r){let i=e.disposalTraces.buffer.find(e=>e?.key===j(r));switch(e.logger.error(`โŒ`,t.type,t.key,`gets a fallback value because key`,r,`is not allocated`,i?`This key was previously disposed:\n${i.trace}`:`(no previous disposal trace found)`),n.type){case`mutable_atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=new n.class;return e.defaults.set(n.key,t),t.READONLY_VIEW}case`atom_family`:{if(e.defaults.has(n.key))return e.defaults.get(n.key);let t=n.default,i=t(r);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);let t=n.default(r);return e.defaults.set(n.key,t),t}}}function dt(e,t){let{type:n,key:r,catch:i}=t;switch(n){case`readonly_pure_selector`:case`writable_pure_selector`:{let a;e.logger.info(`๐Ÿงฎ`,n,r,`computing value`);try{a=t.getFrom(e),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`๐Ÿ’ฅ`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(a){if(e.logger.error(`๐Ÿ’ฅ`,n,r,`rejected:`,a),i){for(let n of i)if(a instanceof n)return K(e,t,a)}throw a}return K(e,t,a)}case`atom`:{let a;if(N(t.default))try{a=t.default(),a instanceof Promise&&(a=a.catch(t=>{if(e.logger.error(`๐Ÿ’ฅ`,n,r,`rejected:`,t),i){for(let e of i)if(t instanceof e)return t}throw t}))}catch(o){if(e.logger.error(`๐Ÿ’ฅ`,n,r,`rejected:`,o),i){for(let n of i)if(o instanceof n)return a=K(e,t,o),e.logger.info(`โœจ`,t.type,r,`computed default`,a),a}throw o}else a=t.default,e.logger.info(`โœจ`,t.type,r,`using static default`,a);return K(e,t,a)}}}function H(e,t,n){if(e.valueMap.has(t.key))return hn(e,t,n);e.logger.info(`โ”`,t.type,t.key,`value not found in cache`);let{key:r}=t;switch(t.type){case`readonly_held_selector`:case`writable_held_selector`:return e.logger.info(`๐Ÿงฎ`,t.type,r,`computing value`),t.getFrom(e);case`writable_pure_selector`:case`readonly_pure_selector`:case`atom`:return dt(e,t);case`mutable_atom`:{let n=new t.class;return e.logger.info(`โœจ`,t.type,r,`created new instance`,n),K(e,t,n)}}}function ft(e,t){return V(e,{key:t.family.key,type:`${t.type}_family`})}var pt={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`},mt=Symbol(`MUST_CREATE`),ht=Symbol(`DO_NOT_CREATE`);function gt(e,t,n,r){let i=j(r),a=t.molecules.get(i);if(!a&&t.config.lifespan===`immortal`){let{type:e,key:r}=n;return t.logger.warn(`๐Ÿ’ฃ`,`key`,i,`was used to mint a counterfeit token for`,e,`"${r}"`),{counterfeit:!0,key:`${r}(${i})`,type:pt[e],family:{key:r,subKey:i}}}let o;if(e===mt)t.logger.info(`๐Ÿ‘ช`,n.type,n.key,`adds member`,typeof r==`string`?`\`${r}\``:r),o=n.create(r),a&&t.moleculeData.set(i,n.key);else{let{type:e,key:t}=n;return{key:`${t}(${i})`,type:pt[e],family:{key:t,subKey:i}}}return o}function _t(e,...t){let n,r,i,a,o;if(t.length===1){if(o=t[0],`family`in o){let t=ft(e,o);if(i=V(e,t),a=A(o.family.subKey),n=vt(e,t,a),`counterfeit`in o)return{token:o,family:i,subKey:a,isNew:!1};n?o=n:(r=gt(mt,e,t,a),o=r)}}else i=V(e,t[0]),a=t[1],n=vt(e,i,a),n?o=n:(r=gt(mt,e,i,a),o=r);let s=`counterfeit`in o;if(r&&s===!1&&i){let t;switch(o.type){case`readonly_pure_selector`:case`readonly_held_selector`:t=`readable`;break;case`atom`:case`mutable_atom`:case`writable_pure_selector`:case`writable_held_selector`:t=`writable`;break}let n={type:`state_creation`,subType:t,token:o,timestamp:Date.now()};i.subject.next(n);let r=M(e);if(o.family)if(Je(r))switch(o.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(o);break;case`writable_pure_selector`:case`readonly_pure_selector`:case`writable_held_selector`:case`readonly_held_selector`:e.on.selectorCreation.next(o);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n)}return{token:o,family:i,subKey:a,isNew:!!r}}function U(e,...t){let{token:n,family:r,subKey:i}=_t(e,...t);return`counterfeit`in n&&r&&i?ut(e,n,r,i):H(e,V(e,n))}function vt(e,t,n){let r=j(n),i=`${t.key}(${r})`,a=M(e),o;switch(t.type){case`atom_family`:case`mutable_atom_family`:o=a.atoms.get(i);break;case`writable_held_selector_family`:case`writable_pure_selector_family`:o=a.writableSelectors.get(i);break;case`readonly_held_selector_family`:case`readonly_pure_selector_family`:o=a.readonlySelectors.get(i);break}return o&&F(o)}function W(e,t,n){let r=V(e,t);return vt(e,t,n)||gt(ht,e,r,n)}function yt(e,t,n){let r=t.key,i=`readonly_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`โ—`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n)};return t.catch&&(c.catch=t.catch),Zt(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>yt(e,t),default:n=>t.get(n)({get:U.bind(null,e),find:W.bind(null,e),json:t=>fn(e,t),relations:{find:rt.bind(null,e),internal:it.bind(null,e)}})};return e.families.set(r,l),a}function bt(e,t,n){let r={key:t.key,type:`atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`โ—`,`atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s=t.default,c={key:a,default:N(s)?()=>s(n):s};return t.effects&&(c.effects=t.effects(n)),t.catch&&(c.catch=t.catch),yn(o,c,i)},s={...r,create:o,default:t.default,subject:a,install:e=>bt(e,t),internalRoles:n};return e.families.set(t.key,s),N(t.default)===!1&&e.defaults.set(t.key,t.default),r}function xt(e,t,n){let r=t.key,i=`readonly_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`โ—`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Xt(M(e),{key:o,const:t.const(n),get:t.get(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>xt(e,t),default:t.const};return e.families.set(r,l),a}function St(e,t,n){let r=t.key,i=`writable_held_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`โ—`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`;return Qt(M(e),{key:o,const:t.const(n),get:t.get(n),set:t.set(n)},a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>St(e,t),default:t.const};return e.families.set(r,l),a}function Ct(e,t,n){let r=t.key,i=`writable_pure_selector_family`,a={key:r,type:i},o=e.families.get(r);o&&e.config.isProduction===!0&&e.logger.error(`โ—`,i,r,`Overwriting an existing ${q[o.type]} "${o.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let s=new P,c=n=>{let i=j(n),a={key:r,subKey:i},o=`${r}(${i})`,s=M(e),c={key:o,get:t.get(n),set:t.set(n)};return t.catch&&(c.catch=t.catch),$t(s,c,a)},l={...a,create:c,internalRoles:n,subject:s,install:e=>Ct(e,t),default:n=>t.get(n)({get:((...t)=>U(e,...t)),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}})};return e.families.set(r,l),a}function wt(e,t){let n=`set`in t,r=`const`in t;return r&&n?St(e,t,void 0):r?xt(e,t,void 0):n?Ct(e,t):yt(e,t)}function Tt(e,...t){let n;if(t.length===1)n=t[0];else{let r=t[0],i=t[1];n=W(e,r,i)}try{V(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`:tn(e,n);break}}function Et(e,t){if(e.operation.open){let 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}"${R(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:``}`),e}function Dt(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)}var Ot=(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),kt=(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 At(e,t,n,r,i){let{oldValue:a,newValue:o}=n,s=`oldValue`in n,c=F(t);if(r&&i){t.subject.next({newValue:o});let n={checkpoint:!0,type:`state_creation`,subType:`writable`,token:c,timestamp:Date.now(),value:o};e.operation.subEvents.push(n),i.subject.next(n);let r=M(e);if(c.family)if(Je(r))switch(c.type){case`atom`:case`mutable_atom`:e.on.atomCreation.next(c);break;case`writable_pure_selector`:case`writable_held_selector`:e.on.selectorCreation.next(c);break}else R(r)&&r.on.transactionApplying.state===null&&r.transactionMeta.update.subEvents.push(n);return}let{key:l,subject:u,type:d}=t,f;if(f=s?{oldValue:mn(a)?a.READONLY_VIEW:a,newValue:mn(o)?o.READONLY_VIEW:o}:{newValue:mn(o)?o.READONLY_VIEW:o},Je(e)){switch(d){case`mutable_atom`:e.logger.info(`๐Ÿ“ข`,d,l,`is now (`,o,`) subscribers:`,u.subscribers.keys());break;case`atom`:case`writable_pure_selector`:case`writable_held_selector`:e.logger.info(`๐Ÿ“ข`,d,l,`went (`,a,`->`,o,`) subscribers:`,u.subscribers.keys())}u.next(f)}if(R(e)&&(d===`mutable_atom`||d===`atom`)){if(e.on.transactionApplying.state===null){if(mn(o))return;let{timestamp:t}=e.operation,n={type:`atom_update`,token:c,timestamp:t,update:f};e.transactionMeta.update.subEvents.push(n),e.logger.info(`๐Ÿ“`,`atom`,l,`stowed (`,a,`->`,o,`)`);return}if(bn(t,`tracker:signal`)){let t=l.slice(1),n=e.atoms.get(t);H(e,n,`mut`).do(f.newValue)===null&&_n(e,n)}}}var jt=Symbol(`UNSET`),Mt=(e,t,n)=>{let r,i;if(N(n)){let a=H(e,t,`mut`);r=a,i=n(a)}else r=e.valueMap.has(t.key)?hn(e,t,`mut`):t.type===`atom`&&!N(t.default)?t.default:jt,i=n;return e.logger.info(`โญ`,`atom`,t.key,`setting value`,i),i=K(e,t,i),kt(e,t.key),_n(e,t),r===jt?{newValue:i}:{oldValue:r,newValue:i}};function Nt(e,t){switch(t.type){case`mutable_atom`:return Mt(e,t,new t.class);case`atom`:{let n;return n=N(t.default)?dt(e,t):t.default,Mt(e,t,n)}}}function Pt(e,t){let n;switch(t.type){case`atom`:case`mutable_atom`:n=Nt(e,t);break;case`writable_held_selector`:{let r=qt(e,t.key);for(let n of r.values())At(e,t,Nt(e,n),!1);let i=t.getFrom(e);n={oldValue:i,newValue:i}}break;case`writable_pure_selector`:{let r=dt(e,t),i=qt(e,t.key);for(let n of i.values())At(e,t,Nt(e,n),!1);n={oldValue:r,newValue:dt(e,t)}}break}return n}function G(e,...t){Vt(zt,e,...t)}var Ft=Symbol(`RESET`);function It(e,...t){G(e,...t,Ft)}function Lt(e,t,n){let r,i,a,{type:o,key:s}=t;switch(t.type){case`writable_pure_selector`:r=H(e,t,`mut`),i=De(n,r),i=K(e,t,i);break;case`writable_held_selector`:a=t.const,De(n,a),r=a,i=a}return e.logger.info(`โญ`,o,s,`setting to`,i),kt(e,s),t.setSelf(i),{oldValue:r,newValue:i}}var Rt=(e,t,n)=>{let r;switch(t.type){case`atom`:case`mutable_atom`:r=Mt(e,t,n);break;case`writable_pure_selector`:case`writable_held_selector`:r=Lt(e,t,n);break}return r},zt=Symbol(`OWN_OP`),Bt=Symbol(`JOIN_OP`);function Vt(e,t,...n){let r,i,a,o,s,c;n.length===2?(a=n[0],c=n[1],`family`in a&&(o=ft(t,a),s=A(a.family.subKey),r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)))):(o=V(t,n[0]),s=n[1],c=n[2],r=vt(t,o,s),a=r||(i=gt(mt,t,o,s)));let l=c===Ft?`reset`:`set`,u;if(e===zt){let n=Et(t,a);if(typeof n==`number`){let r=n,i=t.on.operationClose.subscribe(`waiting to ${l} "${a.key}" at T-${r}`,function(){i(),t.logger.info(`๐ŸŸข`,a.type,a.key,`resuming deferred`,l,`from T-${r}`),Vt(e,t,a,c)});return}u=n}else u=t;if(`counterfeit`in a&&`family`in a){let e=a.family.subKey,n=t.disposalTraces.buffer.find(t=>t?.key===e);t.logger.error(`โŒ`,a.type,a.key,`could not be`,l,`because key`,e,`is not allocated.`,n?`this key was previously disposed:${n.trace}`:`(no previous disposal trace found)`);return}let d=V(u,a),f;f=c===Ft?Pt(u,d):Rt(u,d,c),At(u,d,f,!!i,o),e===zt&&Dt(u)}var Ht=(e,t)=>M(e).atoms.has(t),Ut=(e,t)=>M(e).writableSelectors.has(t),Wt=(e,t)=>M(e).readonlySelectors.has(t),Gt=(e,t)=>Ht(e,t)||Ut(e,t)||Wt(e,t);function Kt(e,t){return M(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([e,{source:n}])=>n!==t).map(([e,{source:t}])=>t).filter(t=>Gt(e,t))}function qt(e,t,n=new Set){let r=Kt(e,t),i=new Map;for(;r.length>0;){let t=r.pop();if(!n.has(t))if(n.add(t),Ht(e,t)){let n=e.atoms.get(t);i.set(n.key,n)}else r.push(...Kt(e,t))}return i}function Jt(e,t,n,r,i){let a=M(e),{type:o,key:s}=r;if(o===`atom`||o===`mutable_atom`)a.selectorAtoms.set({selectorKey:n,atomKey:s}),e.logger.info(`๐Ÿ”`,t,n,`discovers root atom "${s}"`);else{let r=qt(e,s,i);e.logger.info(`๐Ÿ”`,t,n,`discovers root atoms: [ ${[...r.values()].map(e=>`"${e.key}"`).join(`, `)} ]`);for(let{key:e}of r.values())a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:e})}i.add(s)}function Yt(e,t,n,r){return{get:(...i)=>{let a=M(e),{token:o,family:s,subKey:c}=_t(e,...i),l;return l=`counterfeit`in o&&s&&c?ut(e,o,s,c):H(e,V(e,o)),e.logger.info(`๐Ÿ”Œ`,t,n,`registers dependency ( "${o.key}" =`,l,`)`),a.selectorGraph.set({upstreamSelectorKey:o.key,downstreamSelectorKey:n},{source:o.key}),Jt(e,t,n,o,r),l},set:((...t)=>{Vt(Bt,M(e),...t)}),find:((...t)=>W(e,...t)),json:t=>fn(e,t),relations:{edit:((...t)=>{nt(e,...t)}),find:((...t)=>rt(e,...t)),internal:((...t)=>it(e,...t))}}}function Xt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`readonly_held_selector`;e.logger.info(`๐Ÿ”จ`,c,o,`is being created`);let{get:l,find:u,json:d,relations:f}=Yt(r,c,o,a),p=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get({get:l,find:u,json:d,relations:f},s),K(n,m,s),e.logger.info(`โœจ`,c,o,`=`,s),a.clear(),s},m={...t,type:c,subject:i,getFrom:p,install:e=>Xt(e,t,n)};n&&(m.family=n),r.readonlySelectors.set(o,m);let h={key:o,type:c};return n&&(h.family=n),h}function Zt(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`readonly_pure_selector`;e.logger.info(`๐Ÿ”จ`,s,o,`is being created`);let{get:c,find:l,json:u,relations:d}=Yt(r,s,o,a),f=()=>{let n=M(e),r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get({get:c,find:l,json:u,relations:d});return e.logger.info(`โœจ`,s,o,`=`,i),a.clear(),i},p={...t,type:s,subject:i,getFrom:f,install:e=>Zt(e,t,n)};n&&(p.family=n),r.readonlySelectors.set(o,p);let m={key:o,type:s};return n&&(m.family=n),m}function Qt(e,t,n){let r=M(e),i=new P,a=new Set,{key:o,const:s}=t,c=`writable_held_selector`;e.logger.info(`๐Ÿ”จ`,c,o,`is being created`);let l=Yt(r,c,o,a),{find:u,get:d,json:f,relations:p}=l,m={find:u,get:d,json:f,relations:p},h=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);return n.selectorAtoms.delete(o),t.get(m,s),K(n,_,s),e.logger.info(`โœจ`,c,o,`=`,s),a.clear(),s},g=()=>{t.set(l,s)},_={...t,type:c,subject:i,getFrom:h,setSelf:g,install:e=>Qt(e,t,n)};n&&(_.family=n),r.writableSelectors.set(o,_);let v={key:o,type:c};return n&&(v.family=n),v}function $t(e,t,n){let r=M(e),i=new P,a=new Set,o=t.key,s=`writable_pure_selector`;e.logger.info(`๐Ÿ”จ`,s,o,`is being created`);let c=Yt(r,s,o,a),{find:l,get:u,json:d,relations:f}=c,p={find:l,get:u,json:d,relations:f},m=n=>{let r=n.selectorGraph.getRelationEntries({downstreamSelectorKey:o});for(let[e,{source:t}]of r)t!==o&&n.selectorGraph.delete(e,o);n.selectorAtoms.delete(o);let i=t.get(p);return e.logger.info(`โœจ`,s,o,`=`,i),a.clear(),i},h=e=>{t.set(c,e)},g={...t,type:s,subject:i,getFrom:m,setSelf:h,install:e=>$t(e,t,n)};n&&(g.family=n),r.writableSelectors.set(o,g);let _={key:o,type:s};return n&&(_.family=n),_}function en(e,t){let n=`set`in t,r=`const`in t;if(r&&n){let n=Qt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(r){let n=Xt(e,t,void 0);return e.on.selectorCreation.next(n),n}if(n){let n=$t(e,t,void 0);return e.on.selectorCreation.next(n),n}let i=Zt(e,t,void 0);return e.on.selectorCreation.next(i),i}function tn(e,t){let n=M(e),{key:r,type:i,family:a}=t;if(!a)e.logger.error(`โŒ`,i,r,`Standalone selectors cannot be disposed.`);else{n.molecules.get(a.subKey)&&n.moleculeData.delete(a.subKey,a.key);let i;switch(t.type){case`writable_held_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`writable_pure_selector`:n.writableSelectors.delete(r),i={key:a.key,type:`writable_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_held_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_held_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break;case`readonly_pure_selector`:n.readonlySelectors.delete(r),i={key:a.key,type:`readonly_pure_selector_family`},V(e,i).subject.next({type:`state_disposal`,subType:`selector`,token:t,timestamp:Date.now()});break}n.valueMap.delete(r),n.selectorAtoms.delete(r),n.selectorGraph.delete(r),n.moleculeData.delete(a.key,a.subKey),e.logger.info(`๐Ÿ”ฅ`,t.type,r,`deleted`),R(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)}}var nn=(e,t)=>{let n=M(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},rn=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,r=>{e.logger.info(`๐Ÿ“ข`,t.type,t.key,`root`,n.key,`went`,r.oldValue,`->`,r.newValue);let i=nn(e,t),a=H(e,t);e.logger.info(`โœจ`,t.type,t.key,`went`,i,`->`,a),t.subject.next({newValue:a,oldValue:i})});function an(e,t,n,r){function i(n){e.operation.open&&a?.type===`atom`&&bn(a,`tracker:signal`)&&`*`+e.operation.token.key===t.key&&`inboundTracker`in r||r(n)}_t(e,t);let a=V(e,t);e.logger.info(`๐Ÿ‘€`,a.type,a.key,`Adding subscription "${n}"`);let o=a.type===`writable_pure_selector`||a.type===`readonly_pure_selector`,s=new Map,c=i;if(o){H(e,a);for(let[t,n]of qt(e,a.key))s.set(t,rn(e,a,n));c=function(t){let n=qt(e,a.key);for(let[e,t]of s)n.get(e)?n.delete(e):(t(),s.delete(e));for(let[t,r]of n)s.set(t,rn(e,a,r));i(t)}}let l=a.subject.subscribe(n,c);return()=>{e.logger.info(`๐Ÿ™ˆ`,a.type,a.key,`Removing subscription "${n}"`),l();for(let e of s.values())e()}}var on=(e,t,n,r)=>{let i=V(e,t);e.logger.info(`๐Ÿ‘€`,`timeline`,t.key,`Adding subscription "${n}"`);let a=i.subject.subscribe(n,r);return()=>{e.logger.info(`๐Ÿ™ˆ`,`timeline`,t.key,`Removing subscription "${n}" from timeline`),a()}},sn=class{initializeSignalAtom(e,t){let n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);let r=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,i=yn(t,{key:n,default:null},r,[`tracker:signal`]);if(t.parent?.valueMap.has(n)){let e=t.parent.valueMap.get(n);t.valueMap.set(n,e)}return i}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){let r=e.key,i=`tracker-from-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`,a=e=>{Vt(Bt,n,t,e)};this.unsubscribeFromInnerValue=U(n,e).subscribe(i,a),this.unsubscribeFromState=an(n,e,i,function(e){e.newValue!==e.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=e.newValue.subscribe(i,a))}.bind(this))}supplySignalsToCore(e,t,n){let r=e.key,i=`tracker-to-core:${n.config.name}:${R(n)?n.transactionMeta.update.token.key:`main`}:${r}`;an(n,t,i,Object.assign(function({newValue:r,oldValue:a}){let o=n.timelineTopics.getRelatedKey(t.key);if(o&&n.timelines.get(o)?.timeTraveling){let t=on(n,{key:o,type:`timeline`},i,function(i){t(),G(n,e,e=>(i===`redo`&&r?e.do(r):i===`undo`&&a&&e.undo(a),e))});return}G(n,e,e=>(e.do(r),e))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){let n=M(t),r=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=r,this.captureSignalsFromCore(e,r,n),this.supplySignalsToCore(e,r,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};function cn(e,t,n){e.logger.info(`๐Ÿ”จ`,`atom`,t.key,`creating in store "${e.config.name}"`);let r=M(e),{key:i}=t,a=r.atoms.get(i),o=`mutable_atom`;if(a?.type===o&&e.config.isProduction===!0)return e.logger.error(`โŒ`,o,i,`Tried to create atom, but it already exists in the store.`),F(a);let s=new P,c={...t,type:o,install:e=>(e.logger.info(`๐Ÿ› ๏ธ`,`atom`,i,`installing in store "${e.config.name}"`),cn(e,t,n)),subject:s};n&&(c.family=n),r.atoms.set(c.key,c);let l=F(c);if(new sn(l,e),n||en(e,{key:`${i}:JSON`,get:({get:e})=>e(l).toJSON(),set:({set:e},n)=>{e(l,t.class.fromJSON(n))}}),t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,l)},setSelf:t=>{G(e,l,t)},onSet:t=>an(e,l,`effect[${n}]`,t),token:l,store:Te(e)});t&&r.push(t),++n}c.cleanup=()=>{for(let e of r)e()}}return e.on.atomCreation.next(l),l}var ln=class{trackers=new Map;latestSignalAtoms;mutableAtoms;constructor(e,t){this.latestSignalAtoms=V(t,bt(t,{key:`*${e.key}`,default:null},[`mutable`,`updates`])),this.mutableAtoms=e,this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,e=>{let{type:n,token:r}=e;if(r.family){let e=A(r.family.subKey);switch(n){case`state_creation`:this.trackers.set(e,new sn(r,t));break;case`state_disposal`:{let t=this.trackers.get(e);t&&(t[Symbol.dispose](),this.trackers.delete(e))}}}})}};function un(e,t,n){let r={key:t.key,type:`mutable_atom_family`},i=e.families.get(t.key);i&&e.config.isProduction===!0&&e.logger.error(`โ—`,`mutable_atom_family`,t.key,`Overwriting an existing ${q[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let a=new P,o=n=>{let r=j(n),i={key:t.key,subKey:r},a=`${t.key}(${r})`,o=M(e),s={key:a,class:t.class};return t.effects&&(s.effects=t.effects(n)),cn(o,s,i)},s={...r,create:o,class:t.class,subject:a,install:e=>un(e,t),internalRoles:n};return e.families.set(t.key,s),Ct(e,{key:`${t.key}:JSON`,get:e=>({get:t})=>t(r,e).toJSON(),set:e=>({set:n},i)=>{n(r,e,t.class.fromJSON(i))}},[`mutable`,`json`]),new ln(s,e),r}var dn=(e,t)=>{let n=M(t),r=`${e.key}:JSON`;return n.families.get(r)},fn=(e,t)=>t.family?W(e,V(M(e),{key:`${t.family.key}:JSON`,type:`writable_pure_selector_family`}),A(t.family.subKey)):{type:`writable_pure_selector`,key:`${t.key}:JSON`},pn=e=>{let t={type:`atom`,key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function mn(e){return typeof e==`object`&&!!e&&`do`in e&&`undo`in e&&`subscribe`in e&&`READONLY_VIEW`in e&&`toJSON`in e}function K(e,t,n){let{key:r,subject:i,type:a}=t,o=e.valueMap.get(r);if(o instanceof Oe&&!o.done){let t=o;return n instanceof Promise?(t.use(n),t):(e.valueMap.set(r,n),n)}if(n instanceof Promise){let o=new Oe(n);return e.valueMap.set(r,o),o.then(function(n){if(e.valueMap.get(r)===o){switch(Et(e,t),K(e,t,n),a){case`atom`:_n(e,t);break;case`readonly_pure_selector`:case`writable_pure_selector`:vn(e,r);break}Dt(e),i.next({newValue:n,oldValue:o})}}).catch(n=>{e.logger.error(`๐Ÿ’ฅ`,t.type,r,`rejected:`,n)}),o}return e.logger.info(`๐Ÿ“`,t.type,t.key,`writing to cache`,n),e.valueMap.set(r,n),n}function hn(e,t,n){e.logger.info(`๐Ÿ“–`,t.type,t.key,`reading cached value`);let r=e.valueMap.get(t.key);if(n===`mut`&&t.type===`mutable_atom`&&R(e)){let n=t,{parent:i}=e;if(e.valueMap.hasOwn(n.key))return r;let a=i.valueMap.get(n.key);e.logger.info(`๐Ÿ“ƒ`,`atom`,n.key,`copying`);let o=a.toJSON(),s=n.class.fromJSON(o);e.valueMap.set(n.key,s),new sn(n,i),r=s}return r}function gn(e,t){let n=e.valueMap.get(t);n instanceof Oe||(e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info(`๐Ÿ—‘`,`state`,t,`evicted`))}function _n(e,t){let n=M(e),{key:r,type:i}=t,a=n.selectorAtoms.getRelatedKeys(r);if(n.logger.info(`๐Ÿงน`,i,r,a?`evicting ${a.size} states downstream:`:`no downstream states`,a??`to evict`),a){n.operation.open&&n.logger.info(`๐Ÿงน`,i,r,`[ ${[...n.operation.done].join(`, `)} ] already done`);for(let e of a)Ot(n,e)||(gn(n,e),kt(n,e))}}function vn(e,t){let n=M(e),r=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([e,{source:n}])=>n===t);for(let[t]of r)Ot(n,t)||(gn(n,t),kt(n,t),vn(e,t))}function yn(e,t,n,r){let i=`atom`,{key:a}=t;e.logger.info(`๐Ÿ”จ`,i,a,`is being created`);let o=M(e),s=o.atoms.get(a);if(s?.type===i&&e.config.isProduction===!0)return e.logger.error(`โŒ`,`atom`,a,`Tried to create atom, but it already exists in the store.`),F(s);let c=new P,l={...t,type:i,install:e=>(e.logger.info(`๐Ÿ› ๏ธ`,i,a,`installing in store "${e.config.name}"`),yn(e,t,n)),subject:c};n&&(l.family=n),r&&(l.internalRoles=r),o.atoms.set(a,l);let u=F(l);if(t.effects){let n=0,r=[];for(let i of t.effects){let t=i({resetSelf:()=>{It(e,u)},setSelf:t=>{G(e,u,t)},onSet:t=>an(e,u,`effect[${n}]`,t),token:u,store:Te(e)});t&&r.push(t),++n}l.cleanup=()=>{for(let e of r)e()}}return e.on.atomCreation.next(u),u}function bn(e,t){return`internalRoles`in e?e.internalRoles.includes(t):!1}function xn(e,t){let n=M(e),{key:r,family:i}=t,a=V(n,t);if(!i)e.logger.error(`โŒ`,`atom`,r,`Standalone atoms cannot be disposed.`);else{a.cleanup?.();let o=e.valueMap.get(a.key),s=V(e,ft(e,t)).subject,c={type:`state_disposal`,subType:`atom`,token:t,value:o,timestamp:Date.now()};s.next(c);let l=R(n);if(n.atoms.delete(r),n.valueMap.delete(r),n.selectorAtoms.delete(r),n.atomsThatAreDefault.delete(r),n.moleculeData.delete(i.key,i.subKey),e.timelineTopics.delete(r),t.type===`mutable_atom`&&(xn(e,pn(t)),e.trackers.delete(r)),e.logger.info(`๐Ÿ”ฅ`,`atom`,r,`deleted`),l&&n.transactionMeta.phase===`building`){let e=n.transactionMeta.update.subEvents.at(-1),t=e?.type===`molecule_disposal`&&e.values.some(([e])=>e===a.family?.key),r=bn(a,`tracker:signal`);!t&&!r&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function Sn(e){return yn(B.STORE,e,void 0)}function Cn(e){return bt(B.STORE,e)}function wn(...e){return U(B.STORE,...e)}var q={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]`},Tn=(e,t)=>(n,r,i,a,...o)=>{console[e](`${t?`${t} `:``}${n} ${q[r]} \`${i}\` ${a}`,...o)},En={error:Tn(`error`),info:Tn(`info`),warn:Tn(`warn`)},Dn=class{logLevel;filter;logger;constructor(e,t,n=En){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){let t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel===`info`){let 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){let t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function On(e,t){return[e,t].sort().join(``)}function kn(e){if(typeof e!=`string`)return null;let[t,n]=e.split(`==`);if(!n)return null;let r=t.slice(4),[i,a]=n.split(`++`);return r&&i&&a?[r,i,a]:null}function An(...e){It(B.STORE,...e)}function jn(e){return wt(B.STORE,e)}function J(...e){G(B.STORE,...e)}function Mn(e){return st(B.STORE,e)}function Nn(e,t=we()){return Fe(B.STORE,e,t)}var Y,X,Pn,Fn,In=0,Ln=[],Z=t,Rn=Z.__b,zn=Z.__r,Bn=Z.diffed,Vn=Z.__c,Hn=Z.unmount,Un=Z.__;function Wn(e,t){Z.__h&&Z.__h(X,e,In||t),In=0;var n=X.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function Gn(e){return In=1,Kn(or,e)}function Kn(e,t,n){var r=Wn(Y++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):or(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=X,!X.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};X.__f=!0;var a=X.shouldComponentUpdate,o=X.componentWillUpdate;X.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},X.shouldComponentUpdate=i}return r.__N||r.__}function qn(e,t){var n=Wn(Y++,3);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__H.__h.push(n))}function Jn(e,t){var n=Wn(Y++,4);!Z.__s&&ar(n.__H,t)&&(n.__=e,n.u=t,X.__h.push(n))}function Yn(e){return In=5,Xn(function(){return{current:e}},[])}function Xn(e,t){var n=Wn(Y++,7);return ar(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Zn(e,t){return In=8,Xn(function(){return e},t)}function Qn(e){var t=X.context[e.__c],n=Wn(Y++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(X)),t.props.value):e.__}function $n(){var e=Wn(Y++,11);if(!e.__){for(var t=X.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||=[0,0];e.__=`P`+n[0]+`-`+ n[1]++}return e.__}function er(){for(var e;e=Ln.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(rr),t.__h.some(ir),t.__h=[]}catch(n){t.__h=[],Z.__e(n,e.__v)}}}Z.__b=function(e){X=null,Rn&&Rn(e)},Z.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Un&&Un(e,t)},Z.__r=function(e){zn&&zn(e),Y=0;var t=(X=e.__c).__H;t&&(Pn===X?(t.__h=[],X.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(rr),t.__h.some(ir),t.__h=[],Y=0)),Pn=X},Z.diffed=function(e){Bn&&Bn(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Ln.push(t)!==1&&Fn===Z.requestAnimationFrame||((Fn=Z.requestAnimationFrame)||nr)(er)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),Pn=X=null},Z.__c=function(e,t){t.some(function(e){try{e.__h.some(rr),e.__h=e.__h.filter(function(e){return!e.__||ir(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],Z.__e(n,e.__v)}}),Vn&&Vn(e,t)},Z.unmount=function(e){Hn&&Hn(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{rr(e)}catch(e){t=e}}),n.__H=void 0,t&&Z.__e(t,n.__v))};var tr=typeof requestAnimationFrame==`function`;function nr(e){var t,n=function(){clearTimeout(r),tr&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);tr&&(t=requestAnimationFrame(n))}function rr(e){var t=X,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),X=t}function ir(e){var t=X;e.__c=e.__(),X=t}function ar(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function or(e,t){return typeof t==`function`?t(e):t}function sr(e,t){for(var n in t)e[n]=t[n];return e}function cr(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function lr(e,t){var n=t(),r=Gn({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Jn(function(){i.__=n,i.u=t,ur(i)&&a({t:i})},[e,n,t]),qn(function(){return ur(i)&&a({t:i}),e(function(){ur(i)&&a({t:i})})},[e]),n}function ur(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 dr(e,t){this.props=e,this.context=t}(dr.prototype=new x).isPureReactComponent=!0,dr.prototype.shouldComponentUpdate=function(e,t){return cr(this.props,e)||cr(this.state,t)};var fr=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),fr&&fr(e)},typeof Symbol<`u`&&Symbol.for;var pr=t.__e;t.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}pr(e,t,n,r)};var mr=t.unmount;function hr(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=sr({},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(e){return hr(e,t,n)})),e}function gr(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return gr(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function _r(){this.__u=0,this.o=null,this.__b=null}function vr(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function yr(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),mr&&mr(e)},(_r.prototype=new x).__c=function(e,t){var n=t.__c,r=this;r.o??=[],r.o.push(n);var i=vr(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=gr(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},_r.prototype.componentWillUnmount=function(){this.o=[]},_r.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=hr(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&v(b,null,e.fallback);return i&&(i.__u&=-33),[v(b,null,t.__a?null:e.children),i]};var br=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]}};(yr.prototype=new x).__a=function(e){var t=this,n=vr(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),br(t,e,r)):i()};n?n(a):a()}},yr.prototype.render=function(e){this.i=null,this.l=new Map;var t=te(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},yr.prototype.componentDidUpdate=yr.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){br(e,n,t)})};var xr=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,Sr=/^(?: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]/,Cr=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,wr=/[A-Z0-9]/g,Tr=typeof document<`u`,Er=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};x.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(x.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Dr=t.event;t.event=function(e){return Dr&&(e=Dr(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var Or={configurable:!0,get:function(){return this.class}},kr=t.vnode;t.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||Tr&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||Er(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:Cr.test(a)&&(a=s):s=a=`oninput`:i&&Sr.test(a)?a=a.replace(wr,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=te(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,Or)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=xr,kr&&kr(e)};var Ar=t.__r;t.__r=function(e){Ar&&Ar(e),e.__c};var jr=t.diffed;t.diffed=function(e){jr&&jr(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)};var Mr=0;Array.isArray;function Q(e,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Mr,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return t.vnode&&t.vnode(u),u}var Nr=me(B.STORE);function Pr(...e){let t,n,r=Qn(Nr);if(e.length===3){let i=e[0],a=e[1];t=W(r,i,a),n=e[2]}else t=e[0],n=e[1];let i=n(null);return qn(()=>{G(r,t,i.current)},[t]),i}function Fr(e,...t){let n;if(t.length===2){let r=t[0],i=t[1];n=W(e,r,i)}else n=t[0];return n}function Ir(e,t){if(globalThis.env?.NODE_ENV===`development`){let n=Yn(!1);qn(()=>{let t=n.current;if(t===!1)t=e()??!0,n.current=t;else return()=>{N(t)&&t(),n.current=!1}},t)}else qn(e,t)}function Lr(...e){let t=Qn(Nr),n=Fr(t,...e),r=$n();if(n.type===`mutable_atom`||n.type===`readonly_held_selector`||n.type===`writable_held_selector`){let[,e]=Gn(0),i=Yn(U(t,n));return Ir(()=>an(t,n,`use-o:${r}`,({newValue:t})=>{i.current=t,e(e=>e+1)}),[n.key]),i.current}let i=Zn(e=>an(t,n,`use-o:${r}`,e),[n.key]),a=Zn(()=>U(t,n),[n.key]);return lr(i,a,a)}var Rr=Sn({key:`pathKeys`,default:[]}),zr=Cn({key:`subpathKeys`,default:[]}),Br=Cn({key:`node`,default:null}),Vr=Cn({key:`edge`,default:!0}),Hr=jn({key:`pathDraw`,get:e=>({get:t})=>t(zr,e).map((e,n)=>{let r=t(Br,e),i=t(Vr,e);return r===null?`Z`:n===0||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 Ur(e,t,n){return Math.max(t,Math.min(n,e))}function Wr({at:e,subpathKey:t,prevSubpathKey:n,node:r}){let i;switch(typeof r){case`undefined`:i=Lr(Br,n);break;default:i=r}return i===null?null:Q(b,{children:[Q(`line`,{class:`bezier`,x1:i.x,y1:i.y,x2:e.x,y2:e.y,stroke:`#777`,"stroke-width":1}),Q(`circle`,{class:`bezier`,fill:`#777`,stroke:`#aaa`,"stroke-width":1,cx:e.x,cy:e.y,r:2}),Q(`circle`,{class:`bezier-draggable`,fill:`transparent`,cx:e.x,cy:e.y,r:6,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),J(Xr,{key:t,by:r?`s`:`c`})}})]})}function Gr({subpathKey:e,nextSubpathKey:t}){let n=Lr(Br,e),r=Lr(Vr,e);return n===null?null:Q(b,{children:[typeof r==`boolean`?Q(`rect`,{class:`node`,x:n.x-3,y:n.y-3,width:6,height:6}):Q(b,{children:[Q(Wr,{at:r.s,node:n,subpathKey:e,prevSubpathKey:t}),r.c?Q(Wr,{at:r.c,subpathKey:e,prevSubpathKey:t}):null,Q(`circle`,{class:`node`,cx:n.x,cy:n.y,r:3})]}),Q(`circle`,{class:`node-draggable`,fill:`transparent`,cx:n.x,cy:n.y,r:10,onPointerDown:t=>{t.currentTarget.setPointerCapture(t.pointerId),J(Xr,{key:e})}})]})}function Kr({pathKey:e}){return Q(`path`,{d:`${Lr(Hr,e)} Z`,class:`path`,style:{pointerEvents:`none`}})}function qr({pathKey:e}){let t=Lr(zr,e);return Q(b,{children:[Q(Kr,{pathKey:e}),t.toReversed().map((e,t,n)=>Q(Gr,{subpathKey:e,nextSubpathKey:n[t+1]??n[0]},e))]})}function Jr(){return Q(b,{children:Lr(Rr).map(e=>Q(qr,{pathKey:e},e))})}var Yr=Sn({key:`svgRef`,default:null}),Xr=Sn({key:`currentlyDragging`,default:null});function Zr(e){e.preventDefault();let{key:t,by:n}=wn(Xr)??{},r=wn(Yr);if(!r||!t)return;let i=r.createSVGPoint();i.x=e.clientX,i.y=e.clientY;let a=r.getScreenCTM()?.inverse(),{x:o,y:s}=i.matrixTransform(a);switch(n){case void 0:J(Br,t,{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)});break;case`s`:J(Vr,t,e=>({...e,s:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break;case`c`:J(Vr,t,e=>({...e,c:{x:Ur(o,-185,ti+185),y:Ur(s,-10,$+10)}}));break}}var Qr=[`m`,`M`,`l`,`L`,`c`,`C`,`v`,`V`,`z`,`Z`],$r=Sn({key:`preactLogo`,default:()=>fetch(`preact.svg`).then(e=>e.text())}),ei=Nn(Mn({key:`reset`,do:async()=>{let e=await wn($r);for(let e of wn(Rr))An(zr,e);An(Rr);let t=e.split(`
5
+ `).filter(e=>e.startsWith(` <path`)).map(e=>{let t=e.split(`d="`)[1].slice(0,-9),n,r=``,i=[],a=[];for(let e of t){if(Qr.includes(e)){r&&=(i.push(Number.parseFloat(r)),``),n&&a.push({letter:n,numbers:i}),n=e,i=[];continue}if(e===` `){i.push(Number.parseFloat(r)),r=``;continue}if(e===`-`&&r){i.push(Number.parseFloat(r)),r=`-`;continue}r+=e}let o={x:0,y:0};return a.map(({letter:e,numbers:t})=>{let n,r;switch(e){case`m`:n={x:o.x+t[0],y:o.y+t[1]},r=!1;break;case`M`:n={x:t[0],y:t[1]},r=!1;break;case`l`:n={x:o.x+t[0],y:o.y+t[1]},r=!0;break;case`L`:n={x:t[0],y:t[1]},r=!0;break;case`c`:n={x:o.x+t[4],y:o.y+t[5]},r={c:{x:o.x+t[0],y:o.y+t[1]},s:{x:o.x+t[2],y:o.y+t[3]}};break;case`C`:n={x:t[4],y:t[5]},r={c:{x:t[0],y:t[1]},s:{x:t[2],y:t[3]}};break;case`v`:n={x:o.x,y:o.y+t[0]},r=!0;break;case`V`:n={x:o.x,y:t[0]},r=!0;break;case`z`:case`Z`:n=null,r=!0}return n&&(o=n),{node:n,edge:r}})}),n=0,r=0;for(let e of t){let t=r;for(let{node:t,edge:n}of e)J(Vr,`subpath${r}`,n),J(Br,`subpath${r}`,t),r++;let i=r-t;J(zr,`path${n}`,Array.from({length:i},(e,n)=>`subpath${t+n}`)),J(Rr,e=>[...e,`path${n}`]),n++}}})),ti=256,$=296;function ni(){let e=Pr(Yr,Yn),t=Zn(e=>{e.currentTarget.releasePointerCapture(e.pointerId),J(Xr,null)},[]);return qn(()=>void ei(),[]),Q(`div`,{style:{display:`flex`,flexFlow:`column`,position:`relative`,overflow:`hidden`,maxWidth:`1280px`,width:`100vw`,alignItems:`center`},children:[Q(`svg`,{ref:e,viewBox:`-185 -15 ${ti+370} ${$+30}`,width:1e3,height:500,onPointerMove:Zr,onPointerUp:t,onPointerCancel:t,children:[Q(`title`,{children:`Bezier Playground`}),Q(`defs`,{children:Q(`pattern`,{id:`grid`,width:`5`,height:`5`,patternUnits:`userSpaceOnUse`,children:Q(`rect`,{x:`0`,y:`0`,width:`.5`,height:`.5`,fill:`none`,stroke:`#aaa`})})}),Q(`rect`,{x:0,y:0,width:ti,height:$,fill:`#aaa3`}),Q(`rect`,{x:-185,y:-10,width:ti+370,height:$+20,fill:`url(#grid)`}),Q(Jr,{})]}),Q(`button`,{type:`button`,class:`flat`,onClick:ei,children:`Reset`})]})}function ri(){return Q(b,{children:[Q(`h1`,{children:`Atom.io in Preact on Vite`}),Q(`main`,{children:[Q(ni,{}),Q(`article`,{children:[Q(ii,{title:`Learn Atom.io`,description:`Atom.io is where data lives.`,href:`https://atom.io.fyi/docs/getting-started`}),Q(ii,{title:`Learn Preact`,description:`If you're new to Preact, try the interactive tutorial to learn important concepts`,href:`https://preactjs.com/tutorial`}),Q(ii,{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 ii(e){return Q(`a`,{href:e.href,target:`_blank`,class:`resource`,rel:`noreferrer`,children:[Q(`h2`,{children:e.title}),Q(`p`,{children:e.description})]})}pe(Q(ri,{}),document.getElementById(`app`));
@@ -0,0 +1 @@
1
+ :root{--fg:#ccc;--bg-shd1:#0e0e0e;--bg:#1a1a1a;--bg-tnt1:#262626;--bg-tnt2:#444;color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:Charter,serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:light){:root{--fg:#222;--bg-shd1:#e0e0e0;--bg:#eee;--bg-tnt1:#f3f3f3;--bg-tnt2:#f6f6f6}}body{flex-flow:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;margin:0;display:flex}#app{text-align:center;flex-flow:column;align-items:center;display:flex}img{margin-bottom:1.5rem}img:hover{filter:drop-shadow(0 0 2em #673ab8aa)}main{flex-flow:column;align-items:center;display:flex}article{justify-content:center;align-items:stretch;gap:10px;width:100vw;max-width:1280px;margin-top:5rem;padding:0 2rem;display:flex}.resource{text-align:left;color:var(--fg);background:var(--bg-tnt1);border:1px solid #0000;border-radius:.5rem;flex:1;padding:.75rem 1.5rem;text-decoration:none}.resource:hover{background:var(--bg-tnt2);border:1px solid var(--fg);box-shadow:0 25px 50px -12px #673ab888}.node{fill:#673ab8;stroke:#aaa}.path{fill:#aaa1;stroke:#aaa}@media (width<=639px){article{flex-flow:column}}button{font-family:Verdana,sans-serif}button.flat{color:var(--fg);background:var(--bg);border:1px solid var(--fg);height:40px;padding:2px 10px 4px;font-size:20px;position:absolute;bottom:10px;right:10px}button.flat:hover{background:var(--bg-tnt1)}button.flat:active{background:var(--bg-shd1);transform:scale(.98)}
package/dist/index.html CHANGED
@@ -6,8 +6,8 @@
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-BpDVcCjN.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-jy4_OpZh.css">
9
+ <script type="module" crossorigin src="/assets/index-DlP3FiaW.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-iBTIqdJW.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atom.io/template-preact-svg-editor",
3
- "version": "0.0.46",
3
+ "version": "0.0.47",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,20 +11,20 @@
11
11
  },
12
12
  "type": "module",
13
13
  "dependencies": {
14
- "preact": "10.28.4",
14
+ "preact": "10.29.0",
15
15
  "react": "npm:@preact/compat@18.3.2",
16
16
  "react-dom": "npm:@preact/compat@18.3.2",
17
- "atom.io": "0.46.24"
17
+ "atom.io": "0.46.25"
18
18
  },
19
19
  "devDependencies": {
20
- "@preact/preset-vite": "2.10.3",
21
- "@typescript-eslint/eslint-plugin": "8.56.1",
22
- "@typescript-eslint/parser": "8.56.1",
20
+ "@preact/preset-vite": "2.10.5",
21
+ "@typescript-eslint/eslint-plugin": "8.57.1",
22
+ "@typescript-eslint/parser": "8.57.1",
23
23
  "eslint-config-preact": "2.0.0",
24
- "eslint-plugin-import-x": "4.16.1",
24
+ "eslint-plugin-import-x": "4.16.2",
25
25
  "eslint-plugin-simple-import-sort": "12.1.1",
26
26
  "typescript": "5.9.3",
27
- "vite": "7.3.1"
27
+ "vite": "8.0.1"
28
28
  },
29
29
  "scripts": {
30
30
  "dev": "vite",
@@ -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 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"));
@@ -1 +0,0 @@
1
- :root{--fg: #ccc;--bg-shd1: #0e0e0e;--bg: #1a1a1a;--bg-tnt1: #262626;--bg-tnt2: #444;font-family:Charter,serif;line-height:1.5;font-weight:400;color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:light){:root{--fg: #222;--bg-shd1: #e0e0e0;--bg: #eee;--bg-tnt1: #f3f3f3;--bg-tnt2: #f6f6f6}}body{margin:0;display:flex;flex-flow:column;align-items:center;justify-content:center;min-height:100vh;width:100vw}#app{text-align:center;display:flex;flex-flow:column;align-items:center}img{margin-bottom:1.5rem}img:hover{filter:drop-shadow(0 0 2em #673ab8aa)}main{display:flex;flex-flow:column;align-items:center}article{margin-top:5rem;padding:0 2rem;display:flex;gap:10px;width:100vw;justify-content:center;align-items:stretch;max-width:1280px}.resource{padding:.75rem 1.5rem;border-radius:.5rem;text-align:left;text-decoration:none;color:var(--fg);background:var(--bg-tnt1);border:1px solid transparent;flex:1}.resource:hover{background:var(--bg-tnt2);border:1px solid var(--fg);box-shadow:0 25px 50px -12px #673ab888}.node{fill:#673ab8;stroke:#aaa}.path{fill:#aaa1;stroke:#aaa}@media(max-width:639px){article{flex-flow:column}}button{font-family:Verdana,sans-serif}button.flat{color:var(--fg);background:var(--bg);border:1px solid var(--fg);height:40px;font-size:20px;position:absolute;bottom:10px;right:10px;padding:2px 10px 4px}button.flat:hover{background:var(--bg-tnt1)}button.flat:active{background:var(--bg-shd1);transform:scale(.98)}