tutuca 0.9.2 → 0.9.3

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,3 +1,3 @@
1
- function xe(t){return t[4]==="-"&&(t[0]==="d"||t[0]==="a")}function Hs(t,e){return t[e]}function Ht(t,e,r){t[e]=r}function Bs(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Mh(t,s,r);else if(xe(s))t.setAttribute(s,i);else if(typeof i==="object"&&i!==null)Eh(t,r,s,i);else Ht(t,s,i)}}function Mh(t,e,r){let s=r[e];if(xe(e))t.removeAttribute(e);else if(typeof s==="string"){Ht(t,e,"");let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else Ht(t,e,null)}function Eh(t,e,r,s){let i=e?.[r];if(i&&typeof i==="object"&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){Ht(t,r,s);return}let n=Hs(t,r);if(typeof n!=="object"||n===null)Ht(t,r,{}),n=Hs(t,r);let h=n;for(let u in s)h[u]=s[u]}class Qs{type;message;constructor(t,e){this.type=t,this.message=e}}class Gs extends Qs{duplicatedKeys;parentTag;parentIndex;constructor(t,e,r){let s=[...t].join(", ");super("DuplicatedKeys",`Duplicate keys found: [${s}] in ${e||"fragment"} at index ${r}. Nodes with duplicated keys are matched positionally.`);this.duplicatedKeys=t,this.parentTag=e,this.parentIndex=r}}class Mt{isEqualTo(t){return this===t}toDom(t){return null}}function Ys(t){return t instanceof bt?t.key:void 0}function nt(t,e){let r=Ys(t);return r&&e?.has(r)?void 0:r}function qh(t){return t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function"}function Ce(t,e){if(e==null)return;if(qh(e))for(let r of e)Ce(t,r);else if(e instanceof Mt)if(e instanceof C)t.push(...e.childs);else t.push(e);else t.push(new Tt(e))}class Tt extends Mt{text;constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Tt&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Ot extends Mt{text;constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Ot&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class C extends Mt{childs;constructor(t){super();let e=[];Ce(e,t),this.childs=e}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof C)||this.childs.length!==t.childs.length)return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document.createDocumentFragment();for(let r of this.childs){let s=r.toDom(t);if(s)e.appendChild(s)}return e}}class bt extends Mt{tag;attrs;childs;key;namespace;attrCount;constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null,this.attrCount=Object.keys(this.attrs).length}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof bt)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.attrCount!==t.attrCount||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);Bs(r,this.attrs,{});for(let s of this.childs){let i=s.toDom(t);if(i)r.appendChild(i)}return r}}function Ps(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n);else if(typeof i==="object"&&i!==null&&typeof n==="object"&&n!==null)if(Object.getPrototypeOf(n)!==Object.getPrototypeOf(i))r??={},r[s]=n;else{let h=Ps(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function jh(t,e){let r=ae(e);if(r.free.length===e.length)return{children:e,moves:null,duplicatedKeys:r.duplicatedKeys};let s=ae(t),i=r.duplicatedKeys||s.duplicatedKeys?new Set([...r.duplicatedKeys||[],...s.duplicatedKeys||[]]):null;if(s.free.length===t.length)return{children:e,moves:null,duplicatedKeys:i};let n,h,u;if(i){let y=ae(e,i);n=y.keys,h=y.free,u=ae(t,i).keys}else n=r.keys,h=r.free,u=s.keys;let o=[],c=0,f=h.length,_=0;for(let y=0;y<t.length;y++){let p=t[y],S=nt(p,i);if(S)if(Object.hasOwn(n,S)){let O=n[S];o.push(e[O])}else _++,o.push(null);else if(c<f){let O=h[c++];o.push(e[O])}else _++,o.push(null)}let l=c>=h.length?e.length:h[c];for(let y=0;y<e.length;y++){let p=e[y],S=nt(p,i);if(S){if(!Object.hasOwn(u,S))o.push(p)}else if(y>=l)o.push(p)}let a=Ih(o,e,n,i,_);return{children:o,moves:a,duplicatedKeys:i}}function Ih(t,e,r,s,i){let n=t.slice(),h=0,u=[],o=[],c=Array(e.length);for(let f=0;f<e.length;f++)c[f]=nt(e[f],s);for(let f=0;f<e.length;){let _=c[f],l=n[h],a=nt(l,s);while(l===null&&n.length)n.splice(h,1),u.push({from:h,key:null}),l=n[h],a=nt(l,s);if(l&&a===_){h++,f++;continue}if(_){if(a&&r[a]!==f+1){if(n.splice(h,1),u.push({from:h,key:a}),l=n[h],a=nt(l,s),l&&a===_){h++,f++;continue}}o.push({key:_,to:f}),f++;continue}if(a){n.splice(h,1),u.push({from:h,key:a});continue}f++}while(h<n.length){let f=n[h];n.splice(h,1),u.push({from:h,key:nt(f,s)})}if(u.length===i&&!o.length)return null;return{removes:u,inserts:o}}function ae(t,e){let r={},s=[],i=null;for(let n=0;n<t.length;n++){let h=Ys(t[n]);if(h&&!e?.has(h)){if(h in r)i??=new Set,i.add(h);r[h]=n}else s.push(n)}return{keys:r,free:s,duplicatedKeys:i}}function Uh(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}function xs(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(e instanceof Tt&&r instanceof Tt||e instanceof Ot&&r instanceof Ot)return t.data=r.text,t;if(e instanceof bt&&r instanceof bt&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=Ps(e.attrs,r.attrs);if(i)Bs(t,i,e.attrs);return Ts(t,e.childs,r.childs,e.tag,s),t}if(e instanceof C&&r instanceof C)return Ts(t,e.childs,r.childs,null,s),t;return Uh(t,r,s)}function Ts(t,e,r,s,i){if(e.length===0){for(let l of r){let a=l.toDom(i);if(a)t.appendChild(a)}return}if(r.length===0){while(t.firstChild)t.removeChild(t.firstChild);return}let n=jh(e,r),h=n.children;if(n.duplicatedKeys&&i.onWarning)i.onWarning(new Gs(n.duplicatedKeys,s,0));let u=Array.from(t.childNodes),o=e.length,c=h.length,f=Math.max(o,c),_=[];for(let l=0;l<f;l++){let a=e[l],y=h[l];if(!a&&y){let p=y.toDom(i);if(p)t.appendChild(p)}else if(a&&y){let p=u[l];if(p)xs(p,a,y,i)}else if(a&&!y){if(!n.moves&&u[l])_.push(u[l])}}for(let l of _)if(l.parentNode===t)t.removeChild(l);if(n.moves)Ah(t,n.moves)}function Ah(t,e){let r=t.childNodes,s={};for(let n of e.removes){let h=r[n.from];if(n.key)s[n.key]=h;t.removeChild(h)}let i=r.length;for(let n=0;n<e.inserts.length;n++){let h=e.inserts[n],u=s[h.key];if(u)t.insertBefore(u,h.to>=i++?null:r[h.to])}}var ye=new WeakMap;function Cs(t,e,r){let s=ye.get(e),i=t instanceof C;if(s){let h=s.vnode instanceof C;if(h===i){let u=h?e:s.dom,o=xs(u,s.vnode,t,r);return ye.set(e,{vnode:t,dom:i?e:o}),o}ye.delete(e)}let n=t.toDom(r);if(n)e.innerHTML="",e.appendChild(n),ye.set(e,{vnode:t,dom:i?e:n});return n}function Fs(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e)if(o==="key")n=e[o];else if(o==="namespace")h=e[o];else if(o==="class")i.className=e[o];else if(o==="for")i.htmlFor=e[o];else if(xe(o))i[o]=String(e[o]);else i[o]=e[o];let u=[];return Ce(u,r),new bt(s,i,u,n,h)}class Bt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Et extends Bt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Et({...this.binds,key:t})}withKey(t){return new Et({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class pe extends Bt{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new Ne(this.field,t)}withKey(t){return new ke(this.field,t)}}class Fe extends Bt{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class ke extends Fe{}class Ne extends Fe{}var L=Symbol("NONE");class Ve extends Bt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,L),s=t?.get(this.keyField,L);return s!==L&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,L),s=t?.get(this.keyField,L);return r===L||s===L?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class m{constructor(t=[]){this.steps=t}concat(t){return new m(this.steps.concat(t))}popStep(){return new m(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,L),r===L)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,L),s===L)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,L),r===L)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=Ns(t.previousSibling),{eid:p,cid:S,vid:O}=t.dataset;if(p!==void 0)o.push(p);if(S!==void 0){let zt=i.getComponentForId(+S,O);if(_){if(c=$h(zt,o,O,e),c===null&&n)return Lh;_=!1}let St=Kh(zt,f,O);if(St)h.push(St);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new m(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return m.fromNodeAndEventName(h,n,e,r,s,i)}}var ks={};function Ns(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Ns(t.previousSibling);if(e!==ks)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return ks}function $h(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function Kh(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],c=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(c!==null)return h!==void 0?c.withIndex(+h):u?c.withKey(u):c}return null}var Lh=[null,null];class me{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new pe(t))}index(t,e){return this.add(new Ne(t,e))}key(t,e){return this.add(new ke(t,e))}}var Dh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Dh.test(t),Rh=/^-?[0-9]+(\.[0-9]+)?$/,Vs=(t,e)=>tr.parse(t,e),Qt=(t,e)=>new Q(t),Wh=(t,e)=>ht(t)?new ut(t):null,Jh=(t,e)=>ht(t)?new ri(t):null,Xh=(t,e)=>ht(t)?new rr(t):null,Zh=(t,e)=>ht(t)?new ni(t):null,Hh=(t,e)=>ht(t)?new hi(t):null,Th=(t,e)=>ht(t)?new ui(t):null,Bh=(t,e)=>ht(t)?new si(t):null;class ms{constructor(){this.allowFieldOnly(),this.bindValIt=new rr("it"),this.nullConstVal=new Q(null)}const(t){return new Q(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}parseIfOk(t,e,r,s){return r?s(t,e):null}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new oi(s,i):null}parse(t,e){switch(Qh(t)){case ci:return this.parseIfOk(t,e,this.okStrTpl,Vs);case _i:return this.parseIfOk(t,e,this.okStrTpl,Qt);case fi:return this._parseSeqAccess(t,e);case ge:return this.parseIfOk(t,e,this.okStrTpl,Vs)}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.parseIfOk(t.slice(1),e,this.okStrTpl,Qt);case 39:return this.parseIfOk(t.slice(1,-1),e,this.okStrTpl,Qt);case 64:return this.parseIfOk(t.slice(1),e,this.okBind,Xh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Zh);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Hh);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,Th);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,Bh)}let s=Rh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.parseIfOk(s,e,this.okConst,Qt);else if(t==="true"||t==="false")return this.parseIfOk(t==="true",e,this.okConst,Qt);else if(r>=97&&r<=122)return this.parseIfOk(t,e,this.okName,Wh);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,Jh);return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s.toRawFieldVal?s.toRawFieldVal():new r(s.name)}parseHandlerName(t,e){return this._parseHandler(t,e,vs)}parseAlter(t,e){return this._parseHandler(t,e,ti)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class de{render(t,e){}eval(t){}toPathItem(){return null}}class Q extends de{constructor(t){super();this.value=t}render(t,e){return this.value}eval(t){return this.value}toString(){let t=this.value;return typeof t==="string"?`'${t}'`:`${t}`}}class ve extends de{}class tr extends ve{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?d.parseText(h.slice(1,-1),e):new Q(h);s[n]=o,i&&=o instanceof Q}return i?new Q(s.map((n)=>n.value).join("")):new tr(s)}}class ut extends ve{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class vs extends ut{eval(t){return t.getInputHandler(this.name)??ei("input",this.name)}}class ti extends ut{eval(t){return t.getAlterHandler(this.name)??ei("alter",this.name)}}var ei=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ri extends ut{eval(t){return t.lookupType(this.name)}}class si extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ii extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class er extends de{render(t,e){return this.eval(t)}}class Gt extends er{constructor(t){super();this.name=t}}class rr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class ni extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class hi extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new pe(this.name)}toRawFieldVal(){return new ii(this.name)}toString(){return`.${this.name}`}}class ui extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class oi extends er{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new Ve(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var ci=0,fi=1,ge=2,_i=3;function Qh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return ge;e+=1;break;case 93:if(r>0||e===0)return ge;r+=1;break;case 123:return ci;case 125:return _i}if(e>0||r>0)return e===1&&r===1?fi:ge;return-1}var d=new ms;class qt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return hr(e).parse(t,r)}isConstant(){return!1}}var Gh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Yh=new Set(Gh.split(","));class li{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?d.parseAll(e,this.px):d.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new ze(t,s)),this.hasDynamic||=!(s instanceof Q)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=d.parseCondValue(e,this.px);if(r)this.ifAttr=new pi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=d.parseAttr(t,this.px)??Yt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=d.parseAttr(t,this.px)??Yt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=ur.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",d.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new yi(d.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,d.const(t));return;case"push-view":this.pushWrapper("push-view",t,d.parseText(t,this.px));return;case"text":this.textChild=d.parseText(t,this.px)??d.const("");return;case"show":this.pushWrapper("show",t,d.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,d.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,d.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=d.parseAlter(t,this.px);else this.pushWrapper("scope",t,d.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=d.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=d.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&Yh.has(n)?!0:h;this.attrs.push(new we(n,d.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new ai(r):ir.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class ir extends qt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.value.eval(null);return new ir(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class ai extends qt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new we(t,new Q(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.value.toString();return t}}class nr{constructor(t){this.name=t}}class ze extends nr{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class we extends ze{}class yi extends ze{constructor(t){super("dangerouslySetInnerHTML",t??d.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var Yt=d.nullConstVal;class pi extends nr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Yt}get anyBranchIsSet(){return this.thenVal!==Yt||this.elseVal!==Yt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var sr=null;function hr(t){return sr??=new li(t),sr.clear(t),sr}class ur{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=d.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);d.allowHandlerArg();for(let h=0;h<s.length;h++){let u=d.parse(s[h],e);n[h]=u!==null?u:d.nullConstVal}return new ur(i,n)}}class or{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class jt{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class xt extends jt{constructor(t){super();this.v=t}render(t,e){return e.renderText(this.v)}isWhiteSpace(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.v=""}isConstant(){return!0}setDataAttr(t,e){}}class Pt extends xt{render(t,e){return e.renderComment(this.v)}}function Ph(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new gr(r);else r.optimize()}}function lr(t){if(t.isConstant())return new gr(t);return t.optimize(),t}class ar extends jt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Ph(this.childs)}}class Se extends ar{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class Oe extends ar{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var cr=(t)=>t.length===1?t[0]:new Oe(t),xh=/^[a-zA-Z][a-zA-Z0-9-]*$/,gi=null;class v extends jt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){gi??=e.newDOMParser();let r=gi.parseFromString(t,"text/html").body.childNodes;return v.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new xt(t.textContent);else if(e.isCommentNode(t))return new Pt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=v.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return cr(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Me(null,d.const(u),cr(n));case"text":return new _r(null,d.parseText(u,e)??d.const(""));case"render":return e.addNodeIf(Mi,d.parseRender(u,e),o);case"render-it":return e.addNodeIf(Ei,d.bindValIt,o);case"render-each":return pr.parse(e,d,u,o,s)}return new Pt(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let c=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[c]??cr(n)}let[u,o]=qt.parse(s,e,!0);return e.onAttributes(u,o,null),di(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(xh.test(i)){let[h,u,o]=qt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new _r(null,o));let c=i!=="PRE"?Vh(n):n;return di(new Se(i.toLowerCase(),h,c),e,u)}return new Pt(`Error: InvalidTagName ${i}`)}}function di(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Ch(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Ch(t,e){let r=Nh[t.name],s=r.register?e.addNodeIf(r,t.val):new r(null,t.val);if(t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class bi extends jt{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new Pt(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=lr(this.node)}}class yr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return v.parse(this.rawView,t)}}class be extends v{constructor(t,e,r){super(t,e);this.viewId=r}}class Mi extends be{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Ei extends be{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class pr extends be{constructor(t,e,r){super(t,e,r);this.iterInfo=new dr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(pr,e.parseEach(r,t),s);if(n!==null){let h=hr(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class _r extends v{render(t,e){return e.renderText(this.val.eval(t))}}class gr extends jt{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ot extends v{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=lr(this.node)}static register=!1}class qi extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class ji extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class Ii extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Me extends ot{optimize(){this.node.optimize()}}class Ui extends ot{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new Et({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ai extends ot{constructor(t,e){super(t,e);this.iterInfo=new dr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Et({})}static register=!0}class dr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??Fh,s=this.loopWithVal?.eval(t)??kh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var Fh=(t,e,r)=>!0,kh=(t)=>({seq:t}),Nh={slot:Me,show:qi,hide:ji,each:Ai,scope:Ui,"push-view":Ii};class Ct{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new Ct(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new $i(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Oe(s)};for(let h of r)if(h instanceof Me)i[h.val.value]=h.node;else if(!(h instanceof xt)||!h.isWhiteSpace())s.push(h);let n=new bi(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var fr=(t)=>t instanceof xt&&t.isWhiteSpace(),wi=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function Vh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(fr(t[0]))r=1,s=!0;if(e>1&&fr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(fr(n)&&wi(t[i-1])&&wi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Ee{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=v.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=lr(this.anode)}render(t,e){return this.anode.render(t,e)}}class $i{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Ki(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Ki{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=su(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var mh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,zi=(t)=>qe((e)=>e.e.key===t),Si=qe(({e:t})=>mh&&t.metaKey||t.ctrlKey),vh=qe(({e:t})=>t.metaKey),tu=qe(({e:t})=>t.altKey),Oi={ctrl:Si,cmd:Si,meta:vh,alt:tu},eu={keydown:{send:zi("Enter"),cancel:zi("Escape"),...Oi},click:{...Oi}},ru=(t,e)=>t;function su(t,e){if(e.length===0)return ru;let r=eu[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class wr{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class zr{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class Sr{getKey(t,e,r){return r.call(t)}}class Or{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class je{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Or}setNullComputedCache(){this.computedCache=new Sr}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Di}getInputHandlerFor(t,e){return this.getCompFor(t)?.input[e]??null}getAlterHandlerFor(t,e){return this.getCompFor(t)?.alter[e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getCompFor(t)?.computed[e];return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
2
- `)}}class Ie{constructor(t=new je,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ie(this.comps,this)}registerComponents(t,e={}){for(let r=0;r<t.length;r++){let s=t[r];s.scope=this.enter(),this.comps.registerComponent(s),this.byName[s.name]=s;let i=e[s.name];if(i)this.byName[i]=s}}registerMacros(t){Object.assign(this.macros,t)}getCompFor(t){return this.comps.getCompFor(t)}registerRequestHandlers(t){for(let e in t)this.reqsByName[e]=new or(e,t[e])}lookupRequest(t){return this.reqsByName[t]??this.parent?.lookupRequest(t)??null}lookupComponent(t){return this.byName[t]??this.parent?.lookupComponent(t)??null}lookupMacro(t){return this.macros[t]??this.parent?.lookupMacro(t)??null}}class br{constructor(t,e,r){this.name=t,this.val=e,this.symbol=r}getSymbol(t){return this.symbol}evalAndBind(t,e){e[this.getSymbol(t)]=this.val.eval(t)}}class Li extends br{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var It=(t)=>typeof t==="string",iu=0;class Mr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},y={}){this.id=iu++,this.name=t,this.Class=e,this.views={main:new Ee("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=c,this.bubble=f,this.response=_,this.alter=l,this.on={stackEnter:y?.stackEnter??Di};for(let p in s){let S=s[p],{view:O,style:zt}=It(S)?{view:S}:S;this.views[p]=new Ee(p,O,zt)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(It(r)){let s=d.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new br(e,s,Symbol(e))}else if(It(r?.default)&&It(r?.for)){let s=d.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(It(i)&&It(n))this.dynamic[e]=new Li(e,s,i,n)}}for(let e in this.views)this.views[e].compile(new t,this.scope,this.id)}make(t,e){return this.Class.make(t,e)}getView(t){return this.views[t]??this.views.main}getEventForId(t,e="main"){return this.getView(e).ctx.getEventForId(t)}getNodeForId(t,e="main"){return this.getView(e).ctx.getNodeForId(t)}compileStyle(){let{id:t,commonStyle:e,globalStyle:r,views:s}=this,i=e?[`[data-cid="${t}"]{${e}}`]:[];if(r!=="")i.push(r);for(let n in s){let{style:h}=s[n];if(h!=="")i.push(`[data-cid="${t}"][data-vid="${n}"]{${h}}`)}return i.join(`
3
- `)}}function Di(t){return t}var Ri=Symbol("STOP"),jr=Symbol("NEXT");class Ft{constructor(t,e){this.head=t,this.tail=e}push(t){return new Ft(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ri?e:s===jr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Er{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Ri:jr:e}}class qr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?jr:e}}class J{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new J(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new Ft(new Er(e,{it:e},!0),null),i=new Ft(new qr({}),null),n=new Ft("main",null);return new J(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new Er(t,e,r));return new J(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new J(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let c of t)r.dynamic[c].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new qr(e));return new J(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){return this.comps.lookupComputed(this.it,t)}getInputHandler(t){return this.comps.getInputHandlerFor(this.it,t)}getAlterHandler(t){return this.comps.getAlterHandlerFor(this.it,t)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class Wi{constructor(t){this.value=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.value;this.value=t;for(let s of this.changeSubs)s({value:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.value),e)}}class Ir{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Wi(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new $r(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Zi(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.value,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??nu(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Xi(t,this,f??_,f?[l]:[a,y],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.value,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new Ji(t,e,r,this,s))}}function nu(t){return()=>{throw Error(`Request not found: ${t}`)}}function hu(){return this}class Ur{constructor(t,e){this.path=t,this.transactor=e,this.parentTransaction=null,this._task=null}get task(){return this._task??=new Hi,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return J.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var uu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac");function ou(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Ji extends Ur{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return J.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new Kr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return ou(e);case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return uu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new Lr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Ar extends Ur{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??hu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Lr(this.path,this.transactor,this)]]}}class Xi extends Ar{handlerProp="response"}class $r extends Ar{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Zi extends $r{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Hi{constructor(t){this.info=t,this.deps=[],this.value=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.value=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class Kr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Ti(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class Lr extends Kr{stopPropagation(){return this.parent.stopPropagation()}}class Ti extends me{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}class Dr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ie(r),this.transactor=new Ir(r,null),this.ParseContext=i,this.renderer=s,this.renderFn=e,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(n)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,c]=m.fromEvent(t,i,n,h,u);if(r){let f=fu(t.target,this.rootNode,50);if(f!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=f,f.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let f=this.state.value,_=o.lookup(f),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Bi(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&c!==null)for(let f of c)this.transactor.transactInputNow(o,t,f,this.dragInfo)}makeStack(t){return J.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.value,e=this.makeStack(t);return this.renderFn(this.renderer.renderRoot(e,t),this.rootNode)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.value!==e.old)this.render()}),cu("tutuca-app",this.comps.compileStyles()),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new m([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function cu(t,e){let r=document.createElement("style"),s=document.head.querySelector(`#${t}`);if(s)document.head.removeChild(s);r.id=t,r.innerHTML=e,document.head.appendChild(r)}function fu(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Bi{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.value=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}function kt(t,e){if(!t)throw Error(e)}function U(t){kt(t!==1/0,"Cannot perform this action with an infinite size.")}function Qi(t,e,r,s,i,n){return U(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var _u=(t,e)=>e,lu=(t,e)=>[e,t],Rr=(t)=>function(...e){return!t.apply(this,e)},Gi=(t)=>function(...e){return-t.apply(this,e)};function ln(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Yi=(t,e)=>t<e?1:t>e?-1:0,A={done:!0,value:void 0};class an{constructor(t){this.next=t}[Symbol.iterator](){return this}}function K(t){return new an(t)}function M(t){let e=[void 0,void 0],r={done:!1,value:void 0};return K(()=>{if(t(e))return r.value=[e[0],e[1]],r;return A})}var au=K(()=>A),ct=()=>au;function Xe(t){let e=0,r={done:!1,value:void 0};return K(()=>{if(e===t)return A;return r.value=e++,r})}function ee(t,e){return M((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function yn(t){if(Array.isArray(t))return!0;return!!Ze(t)}var yu=(t)=>!!(t&&typeof t.next==="function");function pn(t){return Ze(t)?.call(t)}function Ze(t){let e=t&&t[Symbol.iterator];if(typeof e==="function")return e}function pu(t){let e=Ze(t);return e&&e===t.entries}function gu(t){let e=Ze(t);return e&&e===t.keys}var re="delete",z=5,q=1<<z,$=q-1,g={},Qr=()=>({value:!1});function W(t){if(t)t.value=!0}class He{}function At(t){if(t.size===void 0)t.size=t.__iterate(gn);return t.size}function et(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?At(t)+e:e}var gn=()=>!0,dn=(t)=>t<0||Object.is(t,-0),se=(t,e,r)=>(t===0&&!dn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),wn=(t,e,r)=>t===void 0?r:dn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Wt=(t,e)=>wn(t,e,0),ie=(t,e)=>wn(t,e,e),zn="@@__IMMUTABLE_ITERABLE__@@",Ke="@@__IMMUTABLE_KEYED__@@",Le="@@__IMMUTABLE_INDEXED__@@",rt="@@__IMMUTABLE_ORDERED__@@",ne="@@__IMMUTABLE_SEQ__@@",Sn="@@__IMMUTABLE_LIST__@@",On="@@__IMMUTABLE_MAP__@@",bn="@@__IMMUTABLE_SET__@@",Mn="@@__IMMUTABLE_STACK__@@",En="@@__IMMUTABLE_RECORD__@@";function P(t,e){return typeof t==="object"&&t!==null&&e in t}var D=(t)=>P(t,zn),w=(t)=>P(t,Ke),j=(t)=>P(t,Le),Fr=(t)=>w(t)||j(t),F=(t)=>P(t,rt),kr=(t)=>P(t,ne),Nr=(t)=>P(t,Sn),he=(t)=>P(t,On),Vr=(t)=>P(t,bn),mr=(t)=>P(t,Mn),at=(t)=>P(t,En),x=(t)=>D(t)||at(t),Te=(t)=>he(t)&&F(t),qn=(t)=>Vr(t)&&F(t),Pi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function jn(t){let e=G(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Xt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=function(r){return ee(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s})},e}function In(t,e,r){let s=G(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=function(i){return ee(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)})},s}function Un(t,e){let r=G(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=jn(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Xt,r.__iterate=function(s,i){let n=0;if(i)At(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)At(t);let n=this.size;return ee(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function An(t,e,r,s){let i=t.size;if(se(e,r,i))return t;if(i===void 0&&(e<0||r<0))return An(t.toSeq().cacheResult(),e,r,s);let n=Wt(e,i),u=ie(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=G(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&kr(t)&&o>=0)c.get=function(f,_){return f=et(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,p)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?p:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ct();let _=t.__iterator(f),l=0,a=0;if(s)return K(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return A;let y=_.next();if(y.done)return y;return a++,y});return M((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let p=_.next();if(p.done)return!1;return a++,y[0]=a-1,y[1]=p.value[1],!0})},c}function xi(t,e,r){if(!e)e=ln;let s=w(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?ss(n):j(t)?lt(n):Vt(n)}function Ue(t,e,r){if(!e)e=ln;if(r){let s=t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Ci(e,i[1],n[1])?n:i);return s&&s[0]}return t.reduce((s,i)=>Ci(e,s,i)?i:s)}function Ci(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Wr(t,e,r,s){let i=G(t),n=new ue(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),c=0,f;while(!(f=o.next()).done)if(h(f.value[1],c++,this)===!1)break;return c},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=k(_);return pn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return M((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function $n(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function du(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var st=(t)=>typeof t==="object"&&(x(t)||Array.isArray(t)||du(t));function Kn(t){if($n(t)&&typeof t!=="string")return t;if(F(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var wu=(t,e)=>x(t)?t.has(e):st(t)&&Object.hasOwn(t,e);function Ln(t,e,r){return x(t)?t.get(e,r):!wu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function vr(t,e,r){let s=Kn(e),i=0;while(i!==s.length)if(t=Ln(t,s[i++],g),t===g)return r;return t}var Dn=(t,e)=>vr(t,e,g)!==g;function I(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(Pi(t)&&Pi(e)&&t.equals(e))}function De(t){if(!t||typeof t!=="object")return t;if(!D(t)){if(!st(t))return t;t=it(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=De(s)}),r}let e=[];return t.__iterate((r)=>{e.push(De(r))}),e}function ts(t,e){if(t===e)return!0;if(!D(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||w(t)!==w(e)||j(t)!==j(e)||F(t)!==F(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!Fr(t);if(F(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&I(c[1],u)&&(r||I(c[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!I(h,t.get(u,g)):!I(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var Be=(t)=>t>>>1&1073741824|t&3221225471;function X(t){if(t===null||t===void 0)return Fi(t);if(typeof t.hashCode==="function")return Be(t.hashCode(t));let e=Mu(t);if(e===null||e===void 0)return Fi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return zu(e);case"string":return e.length>Eu?Su(e):Gr(e);case"object":case"function":return bu(e);case"symbol":return Ou(e);default:if(typeof e.toString==="function")return Gr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Fi=(t)=>t===null?1108378658:1108378659;function zu(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return Be(e)}function Su(t){let e=Zr[t];if(e===void 0){if(e=Gr(t),Xr===qu)Xr=0,Zr={};Xr++,Zr[t]=e}return e}function Gr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Be(e)}function Ou(t){let e=Ni[t];if(e!==void 0)return e;return e=Rn(),Ni[t]=e,e}function bu(t){let e=ki.get(t);if(e!==void 0)return e;return e=Rn(),ki.set(t,e),e}var Mu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Rn(){let t=++Jr;if(Jr&1073741824)Jr=0;return t}var ki=new WeakMap,Ni=Object.create(null),Jr=0,Eu=16,qu=255,Xr=0,Zr={};function ju(t){if(t.size===1/0)return 0;let e=F(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Vi(X(i),X(n))|0}:(i,n)=>{s=s+Vi(X(i),X(n))|0}:e?(i)=>{s=31*s+X(i)|0}:(i)=>{s=s+X(i)|0}),Iu(t.size,s)}var Vi=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Iu(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=Be(e^e>>>16),e}function Nt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var b=(t,e)=>t===e?t:kr(t)?e:t.create?t.create(e):t.constructor(e),Uu=(t,e)=>b(t,(w(t)?H:j(t)?yt:pt)(e)),mi=(...t)=>t,k=(t)=>D(t)?t:it(t);class Z{size=0;static{this.prototype[zn]=!0,this.prototype.__toStringMapper=Nt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return ts(this,t)}hashCode(){return this.__hash??(this.__hash=ju(this))}toArray(){U(this.size);let t=Array(this.size||0),e=w(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Hn(this)}toJS(){return De(this)}toKeyedSeq(){return new os(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Tn(this)}toSeq(){return j(this)?this.toIndexedSeq():w(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=w(this),r=[this,...t].map((s)=>{if(!D(s))s=e?Jn(s):Xn(Array.isArray(s)?s:[s]);else if(e)s=H(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&w(s)||j(this)&&j(s))return s}return b(this,new Zn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){U(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=w(this),i=G(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,c)=>{if(t.call(e,o,c,r))return u++,n(o,s?c:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return M((o)=>{while(!0){let c=h.next();if(c.done)return!1;let f=c.value[0],_=c.value[1];if(t.call(e,_,f,r))return o[0]=s?f:u++,o[1]=_,!0}})},b(this,i)}partition(t,e){let r=w(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Uu(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return U(this.size),this.__iterate(e?t.bind(e):t)}join(t){U(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return K(()=>{let r=t.next();if(r.done)return A;return e.value=r.value[0],e})}map(t,e){return b(this,In(this,t,e))}reduce(t,e=g,r){return Qi(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Qi(this,t,e,r,e===g,!0)}reverse(){return b(this,Un(this,w(this)))}slice(t,e){return b(this,An(this,t,e,w(this)))}some(t,e){U(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return b(this,xi(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return K(()=>{let r=t.next();if(r.done)return A;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return At(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ue(t._cache);let e=t.toSeq().map(lu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Rr(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){let r=this.findEntry(t,e);return r&&r[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(gn,null,t)}flatMap(t,e){return b(this,this.toSeq().map((r,s)=>(w(this)?H:j(this)?yt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=G(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(c,f){c.__iterate((_,l)=>{if((!t||f<t)&&D(_))o(_,f+1);else if(h++,i(_,r?l:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return M((u)=>{while(h.length>0){let o=h[h.length-1],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&D(f)){h.push({iterator:f.__iterator(i),depth:o.depth+1});continue}return u[0]=r?c.value[0]:n++,u[1]=f,!0}return!1})},b(this,s)}fromEntrySeq(){return new Bn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return vr(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Dn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:k(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:k(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(_u).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Ue(this,t)}maxBy(t,e){return Ue(this,e,t)}min(t){return Ue(this,t?Gi(t):Yi)}minBy(t,e){return Ue(this,e?Gi(e):Yi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=w(this),i=G(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((c,f)=>{if(u&&t.call(e,c,f,this))return;return u=!1,o++,n(c,s?f:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,c=!0;return M((f)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},b(this,i)}skipUntil(t,e){return this.skipWhile(Rr(t),e)}sortBy(t,e){return b(this,xi(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=G(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return K(()=>{if(u)return A;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,A;return o})},b(this,s)}takeUntil(t,e){return this.takeWhile(Rr(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var H=(t)=>w(t)?t:ss(t);class es extends Z{static{this.prototype[Ke]=!0,this.prototype.__toStringMapper=(t,e)=>`${Nt(e)}: ${Nt(t)}`,this.prototype[Symbol.iterator]=Z.prototype.entries,this.prototype.toJSON=function(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return b(this,jn(this))}mapEntries(t,e){let r=0;return b(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return b(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var yt=(t)=>j(t)?t:lt(t);class $t extends Z{static{this.prototype[Le]=!0,this.prototype[rt]=!0}toKeyedSeq(){return new os(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Wt(t,t<0?this.count():this.size);let i=this.slice(0,t);return b(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=et(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=et(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=G(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return M((c)=>{if(o)return o=!1,c[0]=n++,c[1]=u,!0;let f=i.next();if(f.done)return!1;let _=f.value[1];if(!h)return u=_,o=!0,c[0]=n++,c[1]=t,!0;return h=!1,c[0]=n++,c[1]=_,!0})},b(this,r)}interleave(...t){let e=[this,...t],r=Wr(this.toSeq(),lt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return b(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(mi,...t)}zipAll(...t){let e=[this,...t];return b(this,Wr(this,mi,e,!0))}zipWith(t,...e){let r=[this,...e];return b(this,Wr(this,t,r))}}var pt=(t)=>D(t)&&!Fr(t)?t:Vt(t);class Qe extends Z{static{this.prototype.has=Z.prototype.includes,this.prototype.contains=Z.prototype.includes,this.prototype.keys=Qe.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}k.Keyed=H;k.Indexed=yt;k.Set=pt;var Hr=$t.prototype,it=(t)=>t===void 0||t===null?hs():x(t)?t.toSeq():Au(t),G=(t)=>Object.create((w(t)?Jt:j(t)?gt:is).prototype);class ft extends Z{static{this.prototype[ne]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return K(()=>{if(s===r)return A;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var rs={cacheResult:ft.prototype.cacheResult,__iterateUncached:ft.prototype.__iterateUncached,__iterate:ft.prototype.__iterate,__iterator:ft.prototype.__iterator},ss=(t)=>t===void 0||t===null?hs().toKeyedSeq():D(t)?w(t)?t.toSeq():t.fromEntrySeq():at(t)?t.toSeq():Jn(t);class Jt extends es{static{this.prototype[ne]=!0,Object.assign(this.prototype,rs)}toSeq(){return this}toKeyedSeq(){return this}}var lt=(t)=>t===void 0||t===null?hs():D(t)?w(t)?t.entrySeq():t.toIndexedSeq():at(t)?t.toSeq().entrySeq():Xn(t);lt.of=(...t)=>lt(t);class gt extends $t{static{this.prototype[ne]=!0,Object.assign(this.prototype,rs)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var Vt=(t)=>(D(t)&&!Fr(t)?t:lt(t)).toSetSeq();Vt.of=(...t)=>Vt(t);class is extends Qe{static{this.prototype[ne]=!0,Object.assign(this.prototype,rs)}toSeq(){return this}toSetSeq(){return this}}it.isSeq=kr;it.Keyed=ss;it.Set=Vt;it.Indexed=lt;class ue extends gt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[et(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return M((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class ns extends Jt{static{this.prototype[rt]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return M((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Wn extends gt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=pn(e);if(!yu(r))return ct();let s=0;return M((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var hs=()=>new ue([]),us=(t)=>$n(t)?new ue(t):yn(t)?new Wn(t):void 0;function Jn(t){let e=us(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ns(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Xn(t){let e=us(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Au(t){let e=us(t);if(e)return pu(t)?e.fromEntrySeq():gu(t)?e.toSetSeq():e;if(typeof t==="object")return new ns(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Zn extends ft{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[Ke])this[Ke]=!0;if(i[Le])this[Le]=!0;if(i[rt])this[rt]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!w(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ct();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!w(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return M((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return K(()=>n()||A)}}class os extends Jt{static{this.prototype[rt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Xt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=Un(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=In(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class Hn extends gt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)At(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)At(this);let r=this.size;return ee(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Tn extends is{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return ee(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Bn extends Jt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){vi(s),r++;let i=D(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return M((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){vi(i);let n=D(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Xt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return ft.prototype.cacheResult.call(this)}function vi(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var N=(t)=>t===void 0||t===null?T():he(t)&&!F(t)?t:T().withMutations((e)=>{let r=H(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});class cs extends es{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,merge:Yr,mergeWith:Fn,mergeDeep:Nn,mergeDeepWith:Vn,mergeDeepIn:bs,mergeIn:Os,setIn:ws,update:zs,updateIn:Ss,wasAltered:ds,withMutations:fe,removeIn:Kt,concat:Yr,[On]:!0,[re]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return N(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,X(t),t,e):e}set(t,e){return en(this,t,e)}remove(t){return en(this,t,g)}deleteAll(t){let e=k(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return T()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ct();return Ae(this._root,!1,0)}values(){if(!this._root)return ct();return Ae(this._root,!1,1)}entries(){if(!this._root)return ct();return Ae(this._root,!1)}__iterator(t){if(!this._root)return ct();return Ae(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return T();return this.__ownerID=t,this.__altered=!1,this}return ls(this.size,this._root,t,this.__hash)}}N.isMap=he;class fs{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Qn(this.entries,r,s)}iterate(t,e){return Gn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(W(h),u||!_)W(n);if(u&&f===1)return;if(!_&&!u&&f>=Wu)return $u(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new fs(t,a)}}class Ge{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Yn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&$),n=this.bitmap;return(n&i)===0?s:this.nodes[sn(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=sn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=as(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Ju)return Lu(t,l,c,u,y);if(f&&!y&&l.length===2&&rn(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&rn(y))return y;let p=t&&t===this.ownerID,S=f?y?c:c^o:c|o,O=f?y?Pn(l,_,y,p):Ru(l,_,p):Du(l,_,y,p);if(p)return this.bitmap=S,this.nodes=O,this;return new Ge(t,S,O)}}class _s{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Yn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&$,n=this.nodes[i];return n?n.get(t+z,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=as(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<Xu)return Ku(t,c,l,u)}let a=t&&t===this.ownerID,y=Pn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new _s(t,l,y)}}class Ye{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Qn(this.entries,r,s)}iterate(t,e){return Gn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return W(h),W(n),ys(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(W(h),u||!_)W(n);if(u&&f===2)return new dt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ye(t,this.keyHash,a)}}class dt{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return I(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(W(h),u){W(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new dt(t,this.keyHash,[s,i])}return W(n),ys(this,t,e,X(s),[s,i])}}function Qn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(I(e,t[s][0]))return t[s][1];return r}function Gn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function Yn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ae(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return K(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let c=h.nodes[e?o-u:u];if(c){if(c.entry)return n.value=i(c.entry),n;s={node:c,index:0,__prev:s}}continue}s=s.__prev}return A})}var ls=(t,e,r,s)=>new cs(t,e,r,s),tn,T=()=>tn||(tn=ls(0));function en(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new fs(t.__ownerID,[[e,r]])}else{let n=Qr(),h=Qr();if(s=as(t._root,t.__ownerID,0,X(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?ls(i,s):T()}function as(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return W(u),W(h),new dt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var rn=(t)=>t.constructor===dt||t.constructor===Ye;function ys(t,e,r,s,i){if(t.keyHash===s)return new Ye(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&$,h=(r===0?s:s>>>r)&$,u=new dt(e,s,i),o=n===h?[ys(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Ge(e,1<<n|1<<h,o)}function $u(t,e,r,s){if(!t)t=new He;let i=new dt(t,X(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,X(n),n,h);return i}function Ku(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new Ge(t,i,h)}function Lu(t,e,r,s,i){let n=0,h=Array(q);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new _s(t,n+1,h)}function sn(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Pn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Du(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Ru(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Wu=q/4,Ju=q/2,Xu=q/4;function Re(t){if(Array.isArray(t))return t.slice();return{...t}}var ps=(t,e,r)=>gs(t,e,Zu(r));function gs(t,e,r){if(!st(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(x(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?yt:H,h=s?(u)=>{if(i===t)i=Re(i);i.push(u)}:(u,o)=>{let c=Object.hasOwn(i,o),f=c&&r?r(i[o],u,o):u;if(!c||f!==i[o]){if(i===t)i=Re(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Zu(t){function e(r,s,i){return st(r)&&st(s)&&Hu(r,s)?gs(r,[s],e):t?t(r,s,i):s}return e}function Hu(t,e){let r=it(t),s=it(e);return j(r)===j(s)&&w(r)===w(s)}function Tu(t,e){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(x(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=Re(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Bu(t,e,r){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(x(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=Re(t);return s[e]=r,s}function Zt(t,e,r,s){if(!s)s=r,r=void 0;let i=xn(x(t),t,Kn(e),0,r,s);return i===g?r:i}function xn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!st(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Nt)}]: ${e}`);let u=r[s],o=h?g:Ln(e,u,g),c=xn(o===g?t:x(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Tu(e,u);let f=h?t?T():{}:e;return Bu(f,u,c)}var Qu=(t,e)=>Zt(t,e,()=>g),Gu=(t,e,r)=>Zt(t,e,g,()=>r);function Cn(t,e,r,s){return Zt(t,[e],r,s)}function oe(){return this.__ensureOwner()}function ce(){return this.__ownerID?this:this.__ensureOwner(new He)}function ds(){return this.__altered}function fe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Yu(t,e){return vr(this,t,e)}function Pu(t){return Dn(this,t)}function Kt(t){return Qu(this,t)}function ws(t,e){return Gu(this,t,e)}function zs(t,e,r){return typeof t==="function"?t(this):Cn(this,t,e,r)}function Ss(t,e,r){return Zt(this,t,e,r)}function nn(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function Yr(...t){return kn(this,t)}function Fn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return kn(this,e,t)}function kn(t,e,r){let s=[];for(let i of e){let n=H(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return at(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Cn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function Nn(...t){return ps(this,t)}function Vn(t,...e){return ps(this,e,t)}function Os(t,...e){return Zt(this,t,T(),(r)=>gs(r,e))}function bs(t,...e){return Zt(this,t,T(),(r)=>ps(r,e))}function wt(t,e){Object.assign(t.prototype,e)}var R=(t)=>{let e=mt();if(t===void 0||t===null)return e;if(Nr(t))return t;let r=yt(t),s=r.size;if(s===0)return e;if(U(s),s>0&&s<q)return _e(0,s,z,null,new _t(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};R.of=(...t)=>R(t);class mn extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,mergeDeepIn:bs,mergeIn:Os,setIn:ws,update:zs,updateIn:Ss,wasAltered:ds,withMutations:fe,removeIn:Kt,[Sn]:!0,[re]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return R(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=et(this,t),t>=0&&t<this.size){t+=this._origin;let r=eh(this,t);return r&&r.array[t&$]}return e}set(t,e){return Cu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return mt()}push(...t){let e=this.size;return this.withMutations((r)=>{tt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return tt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{tt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return tt(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=yt(typeof r!=="string"&&yn(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return R(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return tt(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(se(t,e,r))return this;return tt(this,Wt(t,r),ie(e,r))}__iterate(t,e){let r=e?this.size:0;return xu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=hn(this,t);return M((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return hn(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this}return _e(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}R.isList=Nr;class _t{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+z)-1)===0||this.array.length===0)return this;let s=r>>>e&$;if(s>=this.array.length)return new _t([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Lt(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:q)||this.array.length===0)return this;let s=r-1>>>e&$;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-z,r),i===h&&s===this.array.length-1)return this}let n=Lt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function hn(t,e){let{_origin:r,_capacity:s}=t,i=Dt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return K(()=>{while(h.length>0){let c=h[h.length-1];if(c.from===c.to){h.pop();continue}let f=e?--c.to:c.from++;if(c.isLeaf)return u.value=c.array?.[f],u;let _=c.array?.[f],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return A});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.array,a=_>r?0:r-_,y=s-_;if(y>q)y=q;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>q)y=q;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function xu(t,e,r){let{_origin:s,_capacity:i}=t,n=Dt(i),h=t._tail,u=t._level,o=t._root;return u===0?vn(o,0,s,i,n,h,e,r):th(o,u,0,s,i,n,h,e,r)}function vn(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,c=e>r?0:r-e,f=s-e;if(f>q)f=q;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function th(t,e,r,s,i,n,h,u,o){let c=t?.array,f=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>q)_=q;let l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?vn(c?.[a],y,s,i,n,h,u,o):th(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var _e=(t,e,r,s,i,n,h)=>new mn(t,e,r,s,i,n,h),mt=()=>_e(0,0,z);function Cu(t,e,r){if(e=et(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)tt(h,e).set(0,r);else tt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=Qr();if(e>=Dt(t._capacity))s=Pr(s,t.__ownerID,0,e,r,n);else i=Pr(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return _e(t._origin,t._capacity,t._level,i,s)}function Pr(t,e,r,s,i,n){let h=s>>>r&$,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t&&t.array[h],f=Pr(c,e,r-z,s,i,n);if(f===c)return t;return o=Lt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)W(n);if(o=Lt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Lt(t,e){if(e&&e===t?.ownerID)return t;return new _t(t?.array.slice()??[],e)}function eh(t,e){if(e>=Dt(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&$],s-=z;return r}}function tt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new He,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:c}=t,f=0;while(h+f<0)c=new _t(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Dt(n),l=Dt(u);while(l>=1<<o+z)c=new _t(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?eh(t,u-1):l>_?new _t([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Lt(c,s);let p=c;for(let S=o;S>z;S-=z){let O=_>>>S&$;p=p.array[O]=Lt(p.array[O],s)}p.array[_>>>z&$]=a}if(u<n)y=y&&y.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y&&y.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let p=h>>>o&$;if(p!==l>>>o&$)break;if(p)f+=(1<<o)*p;o-=z,c=c.array[p]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return _e(h,u,o,c,y)}var Dt=(t)=>t<q?0:t-1>>>z<<z,Y=(t)=>t===void 0||t===null?vt():Te(t)?t:vt().withMutations((e)=>{let r=H(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});Y.of=(...t)=>Y(t);class rh extends cs{static{wt(this,{[rt]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:Z.prototype.keys,values:Z.prototype.values,__iterate:Z.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return Y(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return vt()}set(t,e){return un(this,t,e)}remove(t){return un(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return M((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return vt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Ms(e,r,t,this.__hash)}}Y.isOrderedMap=Te;var Ms=(t,e,r,s)=>new rh(t,e,r,s),vt=()=>Ms(T(),mt());function un(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=q&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=mt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=T().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(c[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let c=i.size;u=s.set(e,c),o=i.set(c,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Ms(u,o)}var We=(t)=>t===void 0||t===null?Je():mr(t)?t:Je().pushAll(t);We.of=(...t)=>We(t);class sh extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,wasAltered:ds,withMutations:fe,[Mn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return We(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=et(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return Tr(this,e,r)}pushAll(t){if(t=yt(t),t.size===0)return this;if(this.size===0&&mr(t))return t;U(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Tr(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return Je()}slice(t,e){if(se(t,e,this.size))return this;let r=Wt(t,this.size);if(ie(e,this.size)!==this.size)return $t.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return Tr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Je();return this.__ownerID=t,this.__altered=!1,this}return Es(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return M((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return M((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return K(()=>{if(!t)return A;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}We.isStack=mr;function Tr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Es(e,r)}var Es=(t,e,r,s)=>new sh(t,e,r,s),on,Je=()=>on||(on=Es(0)),E=(t)=>t===void 0||t===null?te():Vr(t)&&!F(t)?t:te().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});E.of=(...t)=>E(t);E.fromKeys=(t)=>E(H(t).keySeq());E.intersect=(t)=>{return t=k(t).toArray(),t.length?E(t.pop()).intersect(...t):te()};E.union=(t)=>{let e=k(t).toArray();return e.length?E(e.pop()).union(...e):te()};class qs extends Qe{static{wt(this,{withMutations:fe,asImmutable:oe,asMutable:ce,[bn]:!0,[re]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return E(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return $e(this,this._map.set(t,t))}remove(t){return $e(this,this._map.remove(t))}clear(){return $e(this,this._map.clear())}map(t,e){let r=!1,s=$e(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return E(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else pt(r).forEach((s)=>e.add(s))})}intersect(...t){return fn(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return fn(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return te()}__make(t,e){return ih(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}E.isSet=Vr;var ih=(t,e)=>new qs(t,e),cn,te=()=>cn||(cn=ih(T()));function fn(t,e,r){if(e.length===0)return t;return e=e.map((s)=>pt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function $e(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var Rt=(t)=>t===void 0||t===null?xr():qn(t)?t:xr().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});Rt.of=(...t)=>Rt(t);Rt.fromKeys=(t)=>Rt(H(t).keySeq());class nh extends qs{static{wt(this,{[rt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Hr.zip,zipWith:Hr.zipWith,zipAll:Hr.zipAll})}create(t){return Rt(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return xr()}__make(t,e){return hh(t,e)}}Rt.isOrderedSet=qn;var hh=(t,e)=>new nh(t,e),xr=()=>hh(vt());function Fu(t){if(at(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(x(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var le=(t,e)=>{let r;Fu(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._keys=u,i._defaultValues=t;for(let c=0;c<u.length;c++){let f=u[c];if(o[f]=c,i[f])console.warn(`Cannot define ${js(this)} with property "${f}" since that property name is part of the Record API.`);else Nu(i,f)}}return this.__ownerID=void 0,this._values=R().withMutations((u)=>{u.setSize(this._keys.length),H(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(ku);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class uh{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,getIn:Yu,hasIn:Pu,merge:Yr,mergeWith:Fn,mergeDeep:Nn,mergeDeepWith:Vn,mergeDeepIn:bs,mergeIn:Os,setIn:ws,toObject:nn,update:zs,updateIn:Ss,withMutations:fe,removeIn:Kt,toJSON:nn,[En]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Nt(this.get(e))}`).join(", ");return`${js(this)} { ${t} }`}equals(t){return this===t||at(t)&&Ut(this).equals(Ut(t))}hashCode(){return Ut(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return Br(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Br(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return Ut(this)}toJS(){return De(this)}entries(){return this.__iterator()}__iterate(t,e){return Ut(this).__iterate(t,e)}__iterator(t){return Ut(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return Br(this,e,t)}}le.isRecord=at;var js=(t)=>t.constructor.displayName||t.constructor.name||"Record";class oh extends Jt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return M((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var Ut=(t)=>new oh(t);le.getDescriptiveName=js;var ku=uh.prototype;function Br(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Nu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){kt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var _n=(t,e,r=1)=>{if(kt(r!==0,"Cannot step a Range by 0"),kt(t!==void 0,"You must define a start value when using Range"),kt(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new Is(t,e,r,s)};class Is extends gt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+et(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(se(t,e,this.size))return this;if(t=Wt(t,this.size),e=ie(e,this.size),e<=t)return _n(0,0);return _n(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return M((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return K(()=>{if(s===t)return A;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Is?this._start===t._start&&this._end===t._end&&this._step===t._step:ts(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}class Cr extends gt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return I(this._value,t)}slice(t,e){let r=this.size;return se(t,e,r)?this:new Cr(this._value,ie(e,r)-Wt(t,r))}reverse(){return this}indexOf(t){if(I(this._value,t))return 0;return-1}lastIndexOf(t){if(I(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return M((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return K(()=>{if(r===t)return A;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof Cr?this.size===t.size&&I(this._value,t._value):ts(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Vu=["nid","cid","eid","vid","si","sk"];class Us{constructor(t,e,r,s,i,n,h){this.comps=t,this.h=e,this.fragment=r,this.comment=s,this.renderFn=i,this.getSeqInfo=n??so,this.cache=h??new zr}setNullCache(){this.cache=new wr}renderToDOM(t,e){let r=document.createElement("div");return this.renderFn(this.h("div",null,[this.renderRoot(t,e)]),r),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e,this.renderFn);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of Vu)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),c=this.renderMetadata("Comp",{nid:s}),f=this.renderFragment([c,o.render(t,this)]);return this.cache.set(e,h,f),f}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);c.push(this.renderMetadata("Each",{nid:r,[u]:_})),c.push(y)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=!!u,_=[],l=h.call(t.it,i);for(let[a,y]of c(i))if(n.call(t.it,a,y,l)){let p={key:a,value:y},S=`${s}-${a}`,O;if(f)u.call(t.it,p,a,y,l),O=this.cache.get2(t.it,y,S);else O=this.cache.get(y,S);if(O){_.push(this.renderMetadata("Each",{nid:s,[o]:a})),_.push(O);continue}let zt=t.enter(y,p,!1),St=r.render(zt,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),f)this.cache.set2(t.it,y,S,St);else this.cache.set(y,S,St);_.push(St)}return _}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderComment(t){return this.comment(t)}renderEmpty(t){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*mu(t){let e=0;for(let r of t)yield[e++,r]}function*vu(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var ch=new Map,to=["si",mu],eo=["sk",vu],ro=["si",function*(e){}];function so(t){return j(t)?to:w(t)?eo:ch.get(t?.constructor)??ro}var fh=Symbol("BadValue"),yh=(t)=>t;class B{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,fh);if(h===fh)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class $s{isValid(t){return!0}getMessage(t){return"Invalid"}}class ph extends $s{}var io=new ph;class V extends $s{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var no=new V((t)=>Number.isInteger(t),()=>"Integer expected"),ho=new V((t)=>Number.isFinite(t),()=>"Float expected"),uo=new V((t)=>typeof t==="boolean",()=>"Boolean expected"),oo=new V((t)=>typeof t==="string",()=>"String expected"),co=new V((t)=>R.isList(t),()=>"List expected"),fo=new V((t)=>N.isMap(t),()=>"Map expected"),_o=new V((t)=>Y.isOrderedMap(t),()=>"OrderedMap expected"),lo=new V((t)=>E.isSet(t),()=>"Set expected"),ao=(t)=>!!t;class Ks extends B{constructor(t,e=!1){super("bool",t,uo,ao,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class Pe extends B{constructor(t,e=null){super("any",t,io,yh,e)}toDataDef(){let{defaultValue:t}=this;return{type:As(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var yo=(t)=>t?.toString?.()??"";class Ls extends B{constructor(t,e=""){super("text",t,oo,yo,e)}extendProtoForType(t,e){let{name:r}=this;t[`${r}IsEmpty`]=function(){return this.get(r,"").length===0},t[`${r}Len`]=function(){return this.get(r,"").length}}}var po=(t)=>Number.isFinite(t)?Math.trunc(t):null;class gh extends B{constructor(t,e=0){super("int",t,no,po,e)}}var go=(t)=>null;class Ds extends B{constructor(t,e=0){super("float",t,ho,go,e)}}var As=(t)=>t?.constructor?.getMetaClass?.()?.name;class dh{constructor(t){this.typeName=t}isValid(t){return As(t)===this.typeName}getMessage(t){let e=As(t);return`Expected "${this.typeName}", got "${e}"`}}class wh extends B{constructor(t,e,r){super(t,e,new dh(t),yh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var _h=Symbol("NONE");function Rs(t,e,r){Sh(t,e,zh),t[`setIn${r}At`]=function(i,n){return this.set(e,this.get(e).set(i,n))},t[`getIn${r}At`]=function(i,n){return this.get(e).get(i,n)},t[`updateIn${r}At`]=function(i,n){let h=this.get(e),u=h.get(i,_h);if(u!==_h)return this.set(e,h.set(i,n(u)));return console.warn("key",i,"not found in",e,h),this};function s(i){return this.set(e,this.get(e).delete(i))}t[`deleteIn${r}At`]=s,t[`removeIn${r}At`]=s}var zh=R(),wo=(t)=>Array.isArray(t)?R(t):null;class Ws extends B{constructor(t,e=zh){super("list",t,co,wo,e)}extendProtoForType(t,e){let{name:r}=this;Rs(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var zo=(t)=>N(t);class Js extends B{constructor(t,e=N()){super("map",t,fo,zo,e)}extendProtoForType(t,e){Rs(t,this.name,e)}}var So=(t)=>Y(t);class Xs extends B{constructor(t,e=Y()){super("omap",t,_o,So,e)}extendProtoForType(t,e){Rs(t,this.name,e)}}function Sh(t,e,r){t[`${e}IsEmpty`]=function(){return this.get(e,r).size===0},t[`${e}Len`]=function(){return this.get(e,r).size}}var lh=E(),Oo=(t)=>Array.isArray(t)?E(t):t instanceof Set?E(t):null;class Zs extends B{constructor(t,e=lh){super("set",t,lo,Oo,e)}extendProtoForType(t,e){let{name:r}=this;Sh(t,r,lh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},t[`deleteIn${e}`]=function(s){return this.set(r,this.get(r).delete(s))},t[`removeIn${e}`]=t[`deleteIn${e}`],t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function ah(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class Oh{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=ah(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=ah(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:le(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new wh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var bh=new Map,bo={text:Ls,int:gh,float:Ds,bool:Ks,list:Ws,map:Js,omap:Xs,set:Zs,any:Pe};function Mo(t,{fields:e={},methods:r,statics:s}){let i=new Oh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Ls);else if(u==="number")i.addField(n,h,Ds);else if(u==="boolean")i.addField(n,h,Ks);else if(R.isList(h)||Array.isArray(h))i.addField(n,R(h),Ws);else if(E.isSet(h)||h instanceof Set)i.addField(n,E(h),Zs);else if(Y.isOrderedMap(h))i.addField(n,h,Xs);else if(h?.type&&h?.defaultValue!==void 0){let o=bo[h.type]??Pe;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(N.isMap(h)||h?.constructor===Object)i.addField(n,N(h),Js);else{let o=bh.get(h?.constructor)??Pe;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var Eo=(t)=>new Mr(t.name??"Comp",Mo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var{raw:cc,raw:fc}=String;function _c(t,e){return new yr(t,e)}var qo=(t)=>typeof t==="string"?document.querySelector(t):t;function lc(t){let e=qo(t),r=new je,s=(o)=>new C(o),i=(o)=>new Ot(o),n={document},h=(o,c)=>Cs(o,c,n),u=new Us(r,Fs,s,i,h);return new Dr(e,h,r,u,Ct)}export{lc as tutuca,ch as seqInfoByClass,_c as macro,Te as isOrderedMap,Te as isOMap,he as isMap,Nr as isList,w as isKeyed,j as isIndexed,he as isIMap,fc as html,bh as fieldsByClass,cc as css,Eo as component,le as Record,Ct as ParseContext,Y as OMap,R as List,E as ISet,N as IMap};
1
+ class Ht{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Ot extends Ht{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Ot({...this.binds,key:t})}withKey(t){return new Ot({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class ae extends Ht{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new Fe(this.field,t)}withKey(t){return new Ce(this.field,t)}}class xe extends Ht{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class Ce extends xe{}class Fe extends xe{}var L=Symbol("NONE");class ke extends Ht{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,L),s=t?.get(this.keyField,L);return s!==L&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,L),s=t?.get(this.keyField,L);return r===L||s===L?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class m{constructor(t=[]){this.steps=t}concat(t){return new m(this.steps.concat(t))}popStep(){return new m(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,L),r===L)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,L),s===L)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,L),r===L)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:p}=Ts(t.previousSibling),{eid:y,cid:S,vid:O}=t.dataset;if(y!==void 0)o.push(y);if(S!==void 0){let zt=i.getComponentForId(+S,O);if(_){if(c=Eh(zt,o,O,e),c===null&&n)return jh;_=!1}let St=qh(zt,f,O);if(St)h.push(St);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:p})}u+=1,t=t.parentNode}return[new m(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return m.fromNodeAndEventName(h,n,e,r,s,i)}}var Hs={};function Ts(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Ts(t.previousSibling);if(e!==Hs)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Hs}function Eh(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function qh(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],c=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(c!==null)return h!==void 0?c.withIndex(+h):u?c.withKey(u):c}return null}var jh=[null,null];class Ne{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new ae(t))}index(t,e){return this.add(new Fe(t,e))}key(t,e){return this.add(new Ce(t,e))}}var Ih=/^[a-zA-Z][a-zA-Z0-9_]*$/,nt=(t)=>Ih.test(t),Uh=/^-?[0-9]+(\.[0-9]+)?$/,Bs=(t,e)=>me.parse(t,e),Tt=(t,e)=>new Q(t),Ah=(t,e)=>nt(t)?new ht(t):null,$h=(t,e)=>nt(t)?new xs(t):null,Kh=(t,e)=>nt(t)?new tr(t):null,Lh=(t,e)=>nt(t)?new ks(t):null,Dh=(t,e)=>nt(t)?new Ns(t):null,Rh=(t,e)=>nt(t)?new Vs(t):null,Wh=(t,e)=>nt(t)?new Cs(t):null;class Qs{constructor(){this.allowFieldOnly(),this.bindValIt=new tr("it"),this.nullConstVal=new Q(null)}const(t){return new Q(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}parseIfOk(t,e,r,s){return r?s(t,e):null}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new ms(s,i):null}parse(t,e){switch(Jh(t)){case vs:return this.parseIfOk(t,e,this.okStrTpl,Bs);case ei:return this.parseIfOk(t,e,this.okStrTpl,Tt);case ti:return this._parseSeqAccess(t,e);case pe:return this.parseIfOk(t,e,this.okStrTpl,Bs)}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.parseIfOk(t.slice(1),e,this.okStrTpl,Tt);case 39:return this.parseIfOk(t.slice(1,-1),e,this.okStrTpl,Tt);case 64:return this.parseIfOk(t.slice(1),e,this.okBind,Kh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Lh);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Dh);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,Rh);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,Wh)}let s=Uh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.parseIfOk(s,e,this.okConst,Tt);else if(t==="true"||t==="false")return this.parseIfOk(t==="true",e,this.okConst,Tt);else if(r>=97&&r<=122)return this.parseIfOk(t,e,this.okName,Ah);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,$h);return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s.toRawFieldVal?s.toRawFieldVal():new r(s.name)}parseHandlerName(t,e){return this._parseHandler(t,e,Gs)}parseAlter(t,e){return this._parseHandler(t,e,Ys)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class ye{render(t,e){}eval(t){}toPathItem(){return null}}class Q extends ye{constructor(t){super();this.value=t}render(t,e){return this.value}eval(t){return this.value}toString(){let t=this.value;return typeof t==="string"?`'${t}'`:`${t}`}}class Ve extends ye{}class me extends Ve{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?d.parseText(h.slice(1,-1),e):new Q(h);s[n]=o,i&&=o instanceof Q}return i?new Q(s.map((n)=>n.value).join("")):new me(s)}}class ht extends Ve{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class Gs extends ht{eval(t){return t.getInputHandler(this.name)??Ps("input",this.name)}}class Ys extends ht{eval(t){return t.getAlterHandler(this.name)??Ps("alter",this.name)}}var Ps=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class xs extends ht{eval(t){return t.lookupType(this.name)}}class Cs extends ht{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class Fs extends ht{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class ve extends ye{render(t,e){return this.eval(t)}}class Bt extends ve{constructor(t){super();this.name=t}}class tr extends Bt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class ks extends Bt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class Ns extends Bt{eval(t){return t.lookupField(this.name)}toPathItem(){return new ae(this.name)}toRawFieldVal(){return new Fs(this.name)}toString(){return`.${this.name}`}}class Vs extends Bt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class ms extends ve{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ke(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var vs=0,ti=1,pe=2,ei=3;function Jh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return pe;e+=1;break;case 93:if(r>0||e===0)return pe;r+=1;break;case 123:return vs;case 125:return ei}if(e>0||r>0)return e===1&&r===1?ti:pe;return-1}var d=new Qs;class bt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return ir(e).parse(t,r)}isConstant(){return!1}}var Xh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Zh=new Set(Xh.split(","));class ri{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?d.parseAll(e,this.px):d.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new de(t,s)),this.hasDynamic||=!(s instanceof Q)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=d.parseCondValue(e,this.px);if(r)this.ifAttr=new ni(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=d.parseAttr(t,this.px)??Qt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=d.parseAttr(t,this.px)??Qt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=nr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new ge("data-eid",d.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new ii(d.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,d.const(t));return;case"push-view":this.pushWrapper("push-view",t,d.parseText(t,this.px));return;case"text":this.textChild=d.parseText(t,this.px)??d.const("");return;case"show":this.pushWrapper("show",t,d.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,d.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,d.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=d.parseAlter(t,this.px);else this.pushWrapper("scope",t,d.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=d.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=d.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&Zh.has(n)?!0:h;this.attrs.push(new ge(n,d.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new si(r):rr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class rr extends bt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.value.eval(null);return new rr(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class si extends bt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new ge(t,new Q(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.value.toString();return t}}class sr{constructor(t){this.name=t}}class de extends sr{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class ge extends de{}class ii extends de{constructor(t){super("dangerouslySetInnerHTML",t??d.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var Qt=d.nullConstVal;class ni extends sr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Qt}get anyBranchIsSet(){return this.thenVal!==Qt||this.elseVal!==Qt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var er=null;function ir(t){return er??=new ri(t),er.clear(t),er}class nr{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=d.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);d.allowHandlerArg();for(let h=0;h<s.length;h++){let u=d.parse(s[h],e);n[h]=u!==null?u:d.nullConstVal}return new nr(i,n)}}class hr{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class Mt{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Yt extends Mt{constructor(t){super();this.v=t}render(t,e){return e.renderText(this.v)}isWhiteSpace(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.v=""}isConstant(){return!0}setDataAttr(t,e){}}class Gt extends Yt{render(t,e){return e.renderComment(this.v)}}function Hh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new pr(r);else r.optimize()}}function fr(t){if(t.isConstant())return new pr(t);return t.optimize(),t}class _r extends Mt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Hh(this.childs)}}class we extends _r{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class ze extends _r{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var ur=(t)=>t.length===1?t[0]:new ze(t),Th=/^[a-zA-Z][a-zA-Z0-9-]*$/,hi=null;class v extends Mt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){hi??=e.newDOMParser();let r=hi.parseFromString(t,"text/html").body.childNodes;return v.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Yt(t.textContent);else if(e.isCommentNode(t))return new Gt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=v.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return ur(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Oe(null,d.const(u),ur(n));case"text":return new cr(null,d.parseText(u,e)??d.const(""));case"render":return e.addNodeIf(ai,d.parseRender(u,e),o);case"render-it":return e.addNodeIf(pi,d.bindValIt,o);case"render-each":return ar.parse(e,d,u,o,s)}return new Gt(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let c=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[c]??ur(n)}let[u,o]=bt.parse(s,e,!0);return e.onAttributes(u,o,null),ui(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(Th.test(i)){let[h,u,o]=bt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new cr(null,o));let c=i!=="PRE"?Ph(n):n;return ui(new we(i.toLowerCase(),h,c),e,u)}return new Gt(`Error: InvalidTagName ${i}`)}}function ui(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Bh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Bh(t,e){let r=Yh[t.name],s=r.register?e.addNodeIf(r,t.val):new r(null,t.val);if(t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class li extends Mt{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new Gt(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=fr(this.node)}}class lr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return v.parse(this.rawView,t)}}class Se extends v{constructor(t,e,r){super(t,e);this.viewId=r}}class ai extends Se{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class pi extends Se{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class ar extends Se{constructor(t,e,r){super(t,e,r);this.iterInfo=new yr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(ar,e.parseEach(r,t),s);if(n!==null){let h=ir(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class cr extends v{render(t,e){return e.renderText(this.val.eval(t))}}class pr extends Mt{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ut extends v{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=fr(this.node)}static register=!1}class yi extends ut{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class gi extends ut{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class di extends ut{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Oe extends ut{optimize(){this.node.optimize()}}class wi extends ut{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new Ot({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class zi extends ut{constructor(t,e){super(t,e);this.iterInfo=new yr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Ot({})}static register=!0}class yr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??Qh,s=this.loopWithVal?.eval(t)??Gh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var Qh=(t,e,r)=>!0,Gh=(t)=>({seq:t}),Yh={slot:Oe,show:yi,hide:gi,each:zi,scope:wi,"push-view":di};class Pt{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new Pt(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new Si(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new ze(s)};for(let h of r)if(h instanceof Oe)i[h.val.value]=h.node;else if(!(h instanceof Yt)||!h.isWhiteSpace())s.push(h);let n=new li(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var or=(t)=>t instanceof Yt&&t.isWhiteSpace(),oi=(t)=>t instanceof we||t instanceof ze&&t.childs[0]instanceof we;function Ph(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(or(t[0]))r=1,s=!0;if(e>1&&or(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(or(n)&&oi(t[i-1])&&oi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class be{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=v.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=fr(this.anode)}render(t,e){return this.anode.render(t,e)}}class Si{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Oi(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Oi{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=Vh(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var xh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Me=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,ci=(t)=>Me((e)=>e.e.key===t),fi=Me(({e:t})=>xh&&t.metaKey||t.ctrlKey),Ch=Me(({e:t})=>t.metaKey),Fh=Me(({e:t})=>t.altKey),_i={ctrl:fi,cmd:fi,meta:Ch,alt:Fh},kh={keydown:{send:ci("Enter"),cancel:ci("Escape"),..._i},click:{..._i}},Nh=(t,e)=>t;function Vh(t,e){if(e.length===0)return Nh;let r=kh[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class gr{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class dr{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class wr{getKey(t,e,r){return r.call(t)}}class zr{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class Ee{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new zr}setNullComputedCache(){this.computedCache=new wr}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Mi}getInputHandlerFor(t,e){return this.getCompFor(t)?.input[e]??null}getAlterHandlerFor(t,e){return this.getCompFor(t)?.alter[e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getCompFor(t)?.computed[e];return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
2
+ `)}}class qe{constructor(t=new Ee,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new qe(this.comps,this)}registerComponents(t,e={}){for(let r=0;r<t.length;r++){let s=t[r];s.scope=this.enter(),this.comps.registerComponent(s),this.byName[s.name]=s;let i=e[s.name];if(i)this.byName[i]=s}}registerMacros(t){Object.assign(this.macros,t)}getCompFor(t){return this.comps.getCompFor(t)}registerRequestHandlers(t){for(let e in t)this.reqsByName[e]=new hr(e,t[e])}lookupRequest(t){return this.reqsByName[t]??this.parent?.lookupRequest(t)??null}lookupComponent(t){return this.byName[t]??this.parent?.lookupComponent(t)??null}lookupMacro(t){return this.macros[t]??this.parent?.lookupMacro(t)??null}}class Sr{constructor(t,e,r){this.name=t,this.val=e,this.symbol=r}getSymbol(t){return this.symbol}evalAndBind(t,e){e[this.getSymbol(t)]=this.val.eval(t)}}class bi extends Sr{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var Et=(t)=>typeof t==="string",mh=0;class Or{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},p={}){this.id=mh++,this.name=t,this.Class=e,this.views={main:new be("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=c,this.bubble=f,this.response=_,this.alter=l,this.on={stackEnter:p?.stackEnter??Mi};for(let y in s){let S=s[y],{view:O,style:zt}=Et(S)?{view:S}:S;this.views[y]=new be(y,O,zt)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(Et(r)){let s=d.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Sr(e,s,Symbol(e))}else if(Et(r?.default)&&Et(r?.for)){let s=d.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(Et(i)&&Et(n))this.dynamic[e]=new bi(e,s,i,n)}}for(let e in this.views)this.views[e].compile(new t,this.scope,this.id)}make(t,e){return this.Class.make(t,e)}getView(t){return this.views[t]??this.views.main}getEventForId(t,e="main"){return this.getView(e).ctx.getEventForId(t)}getNodeForId(t,e="main"){return this.getView(e).ctx.getNodeForId(t)}compileStyle(){let{id:t,commonStyle:e,globalStyle:r,views:s}=this,i=e?[`[data-cid="${t}"]{${e}}`]:[];if(r!=="")i.push(r);for(let n in s){let{style:h}=s[n];if(h!=="")i.push(`[data-cid="${t}"][data-vid="${n}"]{${h}}`)}return i.join(`
3
+ `)}}function Mi(t){return t}var Ei=Symbol("STOP"),Er=Symbol("NEXT");class xt{constructor(t,e){this.head=t,this.tail=e}push(t){return new xt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ei?e:s===Er?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class br{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Ei:Er:e}}class Mr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Er:e}}class J{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new J(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new xt(new br(e,{it:e},!0),null),i=new xt(new Mr({}),null),n=new xt("main",null);return new J(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new br(t,e,r));return new J(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new J(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let c of t)r.dynamic[c].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Mr(e));return new J(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){return this.comps.lookupComputed(this.it,t)}getInputHandler(t){return this.comps.getInputHandlerFor(this.it,t)}getAlterHandler(t){return this.comps.getAlterHandlerFor(this.it,t)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class qi{constructor(t){this.value=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.value;this.value=t;for(let s of this.changeSubs)s({value:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.value),e)}}class qr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new qi(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new Ur(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Ui(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.value,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??vh(e),o=s?.onResName??e,c=(f,_,l,a,p)=>{let S=new Ii(t,this,f??_,f?[l]:[a,p],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.value,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new ji(t,e,r,this,s))}}function vh(t){return()=>{throw Error(`Request not found: ${t}`)}}function tu(){return this}class jr{constructor(t,e){this.path=t,this.transactor=e,this.parentTransaction=null,this._task=null}get task(){return this._task??=new Ai,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return J.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var eu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac");function ru(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class ji extends jr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return J.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new Ar(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return ru(e);case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return eu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new $r(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Ir extends jr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??tu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new $r(this.path,this.transactor,this)]]}}class Ii extends Ir{handlerProp="response"}class Ur extends Ir{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Ui extends Ur{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Ai{constructor(t){this.info=t,this.deps=[],this.value=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.value=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class Ar{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new $i(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class $r extends Ar{stopPropagation(){return this.parent.stopPropagation()}}class $i extends Ne{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}class Kr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new qe(r),this.transactor=new qr(r,null),this.ParseContext=i,this.renderer=s,this.renderFn=e,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(n)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,c]=m.fromEvent(t,i,n,h,u);if(r){let f=su(t.target,this.rootNode,50);if(f!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=f,f.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let f=this.state.value,_=o.lookup(f),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Li(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&c!==null)for(let f of c)this.transactor.transactInputNow(o,t,f,this.dragInfo)}makeStack(t){return J.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.value,e=this.makeStack(t);return this.renderFn(this.renderer.renderRoot(e,t),this.rootNode)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.value!==e.old)this.render()}),Ki("tutuca-app",this.comps.compileStyles()),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new m([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function Ki(t,e){let r=document.createElement("style"),s=document.head.querySelector(`#${t}`);if(s)document.head.removeChild(s);r.id=t,r.innerHTML=e,document.head.appendChild(r)}function su(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Li{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.value=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}function Ct(t,e){if(!t)throw Error(e)}function U(t){Ct(t!==1/0,"Cannot perform this action with an infinite size.")}function Di(t,e,r,s,i,n){return U(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var iu=(t,e)=>e,nu=(t,e)=>[e,t],Lr=(t)=>function(...e){return!t.apply(this,e)},Ri=(t)=>function(...e){return-t.apply(this,e)};function rn(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Wi=(t,e)=>t<e?1:t>e?-1:0,A={done:!0,value:void 0};class sn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function K(t){return new sn(t)}function M(t){let e=[void 0,void 0],r={done:!1,value:void 0};return K(()=>{if(t(e))return r.value=[e[0],e[1]],r;return A})}var hu=K(()=>A),ot=()=>hu;function We(t){let e=0,r={done:!1,value:void 0};return K(()=>{if(e===t)return A;return r.value=e++,r})}function vt(t,e){return M((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function nn(t){if(Array.isArray(t))return!0;return!!Je(t)}var uu=(t)=>!!(t&&typeof t.next==="function");function hn(t){return Je(t)?.call(t)}function Je(t){let e=t&&t[Symbol.iterator];if(typeof e==="function")return e}function ou(t){let e=Je(t);return e&&e===t.entries}function cu(t){let e=Je(t);return e&&e===t.keys}var te="delete",z=5,q=1<<z,$=q-1,g={},Tr=()=>({value:!1});function W(t){if(t)t.value=!0}class Xe{}function jt(t){if(t.size===void 0)t.size=t.__iterate(un);return t.size}function et(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?jt(t)+e:e}var un=()=>!0,on=(t)=>t<0||Object.is(t,-0),ee=(t,e,r)=>(t===0&&!on(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),cn=(t,e,r)=>t===void 0?r:on(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Lt=(t,e)=>cn(t,e,0),re=(t,e)=>cn(t,e,e),fn="@@__IMMUTABLE_ITERABLE__@@",Ae="@@__IMMUTABLE_KEYED__@@",$e="@@__IMMUTABLE_INDEXED__@@",rt="@@__IMMUTABLE_ORDERED__@@",se="@@__IMMUTABLE_SEQ__@@",_n="@@__IMMUTABLE_LIST__@@",ln="@@__IMMUTABLE_MAP__@@",an="@@__IMMUTABLE_SET__@@",pn="@@__IMMUTABLE_STACK__@@",yn="@@__IMMUTABLE_RECORD__@@";function P(t,e){return typeof t==="object"&&t!==null&&e in t}var D=(t)=>P(t,fn),w=(t)=>P(t,Ae),j=(t)=>P(t,$e),xr=(t)=>w(t)||j(t),C=(t)=>P(t,rt),Cr=(t)=>P(t,se),Fr=(t)=>P(t,_n),ie=(t)=>P(t,ln),kr=(t)=>P(t,an),Nr=(t)=>P(t,pn),lt=(t)=>P(t,yn),x=(t)=>D(t)||lt(t),Ze=(t)=>ie(t)&&C(t),gn=(t)=>kr(t)&&C(t),Ji=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function dn(t){let e=G(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Rt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=function(r){return vt(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s})},e}function wn(t,e,r){let s=G(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=function(i){return vt(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)})},s}function zn(t,e){let r=G(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=dn(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Rt,r.__iterate=function(s,i){let n=0;if(i)jt(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)jt(t);let n=this.size;return vt(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Sn(t,e,r,s){let i=t.size;if(ee(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Sn(t.toSeq().cacheResult(),e,r,s);let n=Lt(e,i),u=re(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=G(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&Cr(t)&&o>=0)c.get=function(f,_){return f=et(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((p,y)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(p,s?y:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ot();let _=t.__iterator(f),l=0,a=0;if(s)return K(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return A;let p=_.next();if(p.done)return p;return a++,p});return M((p)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let y=_.next();if(y.done)return!1;return a++,p[0]=a-1,p[1]=y.value[1],!0})},c}function Xi(t,e,r){if(!e)e=rn;let s=w(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?es(n):j(t)?_t(n):kt(n)}function je(t,e,r){if(!e)e=rn;if(r){let s=t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Zi(e,i[1],n[1])?n:i);return s&&s[0]}return t.reduce((s,i)=>Zi(e,s,i)?i:s)}function Zi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Dr(t,e,r,s){let i=G(t),n=new ne(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),c=0,f;while(!(f=o.next()).done)if(h(f.value[1],c++,this)===!1)break;return c},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=F(_);return hn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return M((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function On(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function fu(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var st=(t)=>typeof t==="object"&&(x(t)||Array.isArray(t)||fu(t));function bn(t){if(On(t)&&typeof t!=="string")return t;if(C(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var _u=(t,e)=>x(t)?t.has(e):st(t)&&Object.hasOwn(t,e);function Mn(t,e,r){return x(t)?t.get(e,r):!_u(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function Vr(t,e,r){let s=bn(e),i=0;while(i!==s.length)if(t=Mn(t,s[i++],g),t===g)return r;return t}var En=(t,e)=>Vr(t,e,g)!==g;function I(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(Ji(t)&&Ji(e)&&t.equals(e))}function Ke(t){if(!t||typeof t!=="object")return t;if(!D(t)){if(!st(t))return t;t=it(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Ke(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Ke(r))}),e}function mr(t,e){if(t===e)return!0;if(!D(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||w(t)!==w(e)||j(t)!==j(e)||C(t)!==C(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!xr(t);if(C(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&I(c[1],u)&&(r||I(c[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!I(h,t.get(u,g)):!I(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var He=(t)=>t>>>1&1073741824|t&3221225471;function X(t){if(t===null||t===void 0)return Hi(t);if(typeof t.hashCode==="function")return He(t.hashCode(t));let e=gu(t);if(e===null||e===void 0)return Hi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return lu(e);case"string":return e.length>du?au(e):Br(e);case"object":case"function":return yu(e);case"symbol":return pu(e);default:if(typeof e.toString==="function")return Br(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Hi=(t)=>t===null?1108378658:1108378659;function lu(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return He(e)}function au(t){let e=Jr[t];if(e===void 0){if(e=Br(t),Wr===wu)Wr=0,Jr={};Wr++,Jr[t]=e}return e}function Br(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return He(e)}function pu(t){let e=Bi[t];if(e!==void 0)return e;return e=qn(),Bi[t]=e,e}function yu(t){let e=Ti.get(t);if(e!==void 0)return e;return e=qn(),Ti.set(t,e),e}var gu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function qn(){let t=++Rr;if(Rr&1073741824)Rr=0;return t}var Ti=new WeakMap,Bi=Object.create(null),Rr=0,du=16,wu=255,Wr=0,Jr={};function zu(t){if(t.size===1/0)return 0;let e=C(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Qi(X(i),X(n))|0}:(i,n)=>{s=s+Qi(X(i),X(n))|0}:e?(i)=>{s=31*s+X(i)|0}:(i)=>{s=s+X(i)|0}),Su(t.size,s)}var Qi=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Su(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=He(e^e>>>16),e}function Ft(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var b=(t,e)=>t===e?t:Cr(t)?e:t.create?t.create(e):t.constructor(e),Ou=(t,e)=>b(t,(w(t)?H:j(t)?at:pt)(e)),Gi=(...t)=>t,F=(t)=>D(t)?t:it(t);class Z{size=0;static{this.prototype[fn]=!0,this.prototype.__toStringMapper=Ft,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return mr(this,t)}hashCode(){return this.__hash??(this.__hash=zu(this))}toArray(){U(this.size);let t=Array(this.size||0),e=w(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new $n(this)}toJS(){return Ke(this)}toKeyedSeq(){return new hs(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Kn(this)}toSeq(){return j(this)?this.toIndexedSeq():w(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=w(this),r=[this,...t].map((s)=>{if(!D(s))s=e?In(s):Un(Array.isArray(s)?s:[s]);else if(e)s=H(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&w(s)||j(this)&&j(s))return s}return b(this,new An(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){U(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=w(this),i=G(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,c)=>{if(t.call(e,o,c,r))return u++,n(o,s?c:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return M((o)=>{while(!0){let c=h.next();if(c.done)return!1;let f=c.value[0],_=c.value[1];if(t.call(e,_,f,r))return o[0]=s?f:u++,o[1]=_,!0}})},b(this,i)}partition(t,e){let r=w(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Ou(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return U(this.size),this.__iterate(e?t.bind(e):t)}join(t){U(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return K(()=>{let r=t.next();if(r.done)return A;return e.value=r.value[0],e})}map(t,e){return b(this,wn(this,t,e))}reduce(t,e=g,r){return Di(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Di(this,t,e,r,e===g,!0)}reverse(){return b(this,zn(this,w(this)))}slice(t,e){return b(this,Sn(this,t,e,w(this)))}some(t,e){U(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return b(this,Xi(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return K(()=>{let r=t.next();if(r.done)return A;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return jt(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ne(t._cache);let e=t.toSeq().map(nu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Lr(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){let r=this.findEntry(t,e);return r&&r[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(un,null,t)}flatMap(t,e){return b(this,this.toSeq().map((r,s)=>(w(this)?H:j(this)?at:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=G(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(c,f){c.__iterate((_,l)=>{if((!t||f<t)&&D(_))o(_,f+1);else if(h++,i(_,r?l:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return M((u)=>{while(h.length>0){let o=h[h.length-1],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&D(f)){h.push({iterator:f.__iterator(i),depth:o.depth+1});continue}return u[0]=r?c.value[0]:n++,u[1]=f,!0}return!1})},b(this,s)}fromEntrySeq(){return new Ln(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return Vr(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return En(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:F(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:F(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(iu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return je(this,t)}maxBy(t,e){return je(this,e,t)}min(t){return je(this,t?Ri(t):Wi)}minBy(t,e){return je(this,e?Ri(e):Wi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=w(this),i=G(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((c,f)=>{if(u&&t.call(e,c,f,this))return;return u=!1,o++,n(c,s?f:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,c=!0;return M((f)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},b(this,i)}skipUntil(t,e){return this.skipWhile(Lr(t),e)}sortBy(t,e){return b(this,Xi(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=G(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return K(()=>{if(u)return A;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,A;return o})},b(this,s)}takeUntil(t,e){return this.takeWhile(Lr(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var H=(t)=>w(t)?t:es(t);class vr extends Z{static{this.prototype[Ae]=!0,this.prototype.__toStringMapper=(t,e)=>`${Ft(e)}: ${Ft(t)}`,this.prototype[Symbol.iterator]=Z.prototype.entries,this.prototype.toJSON=function(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return b(this,dn(this))}mapEntries(t,e){let r=0;return b(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return b(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var at=(t)=>j(t)?t:_t(t);class It extends Z{static{this.prototype[$e]=!0,this.prototype[rt]=!0}toKeyedSeq(){return new hs(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Lt(t,t<0?this.count():this.size);let i=this.slice(0,t);return b(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=et(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=et(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=G(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return M((c)=>{if(o)return o=!1,c[0]=n++,c[1]=u,!0;let f=i.next();if(f.done)return!1;let _=f.value[1];if(!h)return u=_,o=!0,c[0]=n++,c[1]=t,!0;return h=!1,c[0]=n++,c[1]=_,!0})},b(this,r)}interleave(...t){let e=[this,...t],r=Dr(this.toSeq(),_t.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return b(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(Gi,...t)}zipAll(...t){let e=[this,...t];return b(this,Dr(this,Gi,e,!0))}zipWith(t,...e){let r=[this,...e];return b(this,Dr(this,t,r))}}var pt=(t)=>D(t)&&!xr(t)?t:kt(t);class Te extends Z{static{this.prototype.has=Z.prototype.includes,this.prototype.contains=Z.prototype.includes,this.prototype.keys=Te.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}F.Keyed=H;F.Indexed=at;F.Set=pt;var Xr=It.prototype,it=(t)=>t===void 0||t===null?is():x(t)?t.toSeq():bu(t),G=(t)=>Object.create((w(t)?Dt:j(t)?yt:rs).prototype);class ct extends Z{static{this.prototype[se]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return K(()=>{if(s===r)return A;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var ts={cacheResult:ct.prototype.cacheResult,__iterateUncached:ct.prototype.__iterateUncached,__iterate:ct.prototype.__iterate,__iterator:ct.prototype.__iterator},es=(t)=>t===void 0||t===null?is().toKeyedSeq():D(t)?w(t)?t.toSeq():t.fromEntrySeq():lt(t)?t.toSeq():In(t);class Dt extends vr{static{this.prototype[se]=!0,Object.assign(this.prototype,ts)}toSeq(){return this}toKeyedSeq(){return this}}var _t=(t)=>t===void 0||t===null?is():D(t)?w(t)?t.entrySeq():t.toIndexedSeq():lt(t)?t.toSeq().entrySeq():Un(t);_t.of=(...t)=>_t(t);class yt extends It{static{this.prototype[se]=!0,Object.assign(this.prototype,ts)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(D(t)&&!xr(t)?t:_t(t)).toSetSeq();kt.of=(...t)=>kt(t);class rs extends Te{static{this.prototype[se]=!0,Object.assign(this.prototype,ts)}toSeq(){return this}toSetSeq(){return this}}it.isSeq=Cr;it.Keyed=es;it.Set=kt;it.Indexed=_t;class ne extends yt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[et(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return M((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class ss extends Dt{static{this.prototype[rt]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return M((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class jn extends yt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=hn(e);if(!uu(r))return ot();let s=0;return M((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var is=()=>new ne([]),ns=(t)=>On(t)?new ne(t):nn(t)?new jn(t):void 0;function In(t){let e=ns(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ss(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Un(t){let e=ns(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function bu(t){let e=ns(t);if(e)return ou(t)?e.fromEntrySeq():cu(t)?e.toSetSeq():e;if(typeof t==="object")return new ss(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class An extends ct{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[Ae])this[Ae]=!0;if(i[$e])this[$e]=!0;if(i[rt])this[rt]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!w(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ot();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!w(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return M((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return K(()=>n()||A)}}class hs extends Dt{static{this.prototype[rt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Rt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=zn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=wn(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class $n extends yt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)jt(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)jt(this);let r=this.size;return vt(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Kn extends rs{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return vt(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Ln extends Dt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){Yi(s),r++;let i=D(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return M((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){Yi(i);let n=D(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Rt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return ct.prototype.cacheResult.call(this)}function Yi(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var k=(t)=>t===void 0||t===null?T():ie(t)&&!C(t)?t:T().withMutations((e)=>{let r=H(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});class us extends vr{static{dt(this,{asImmutable:he,asMutable:ue,deleteIn:Ut,merge:Qr,mergeWith:Hn,mergeDeep:Bn,mergeDeepWith:Qn,mergeDeepIn:Ss,mergeIn:zs,setIn:gs,update:ds,updateIn:ws,wasAltered:ys,withMutations:oe,removeIn:Ut,concat:Qr,[ln]:!0,[te]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return k(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,X(t),t,e):e}set(t,e){return xi(this,t,e)}remove(t){return xi(this,t,g)}deleteAll(t){let e=F(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return T()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ot();return Ie(this._root,!1,0)}values(){if(!this._root)return ot();return Ie(this._root,!1,1)}entries(){if(!this._root)return ot();return Ie(this._root,!1)}__iterator(t){if(!this._root)return ot();return Ie(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return T();return this.__ownerID=t,this.__altered=!1,this}return fs(this.size,this._root,t,this.__hash)}}k.isMap=ie;class os{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Dn(this.entries,r,s)}iterate(t,e){return Rn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(W(h),u||!_)W(n);if(u&&f===1)return;if(!_&&!u&&f>=Uu)return Mu(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new os(t,a)}}class Be{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Wn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&$),n=this.bitmap;return(n&i)===0?s:this.nodes[Fi(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=Fi(c&o-1),l=this.nodes,a=f?l[_]:void 0,p=_s(a,t,e+z,r,s,i,n,h);if(p===a)return this;if(!f&&p&&l.length>=Au)return qu(t,l,c,u,p);if(f&&!p&&l.length===2&&Ci(l[_^1]))return l[_^1];if(f&&p&&l.length===1&&Ci(p))return p;let y=t&&t===this.ownerID,S=f?p?c:c^o:c|o,O=f?p?Jn(l,_,p,y):Iu(l,_,y):ju(l,_,p,y);if(y)return this.bitmap=S,this.nodes=O,this;return new Be(t,S,O)}}class cs{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Wn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&$,n=this.nodes[i];return n?n.get(t+z,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=_s(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<$u)return Eu(t,c,l,u)}let a=t&&t===this.ownerID,p=Jn(c,u,_,a);if(a)return this.count=l,this.nodes=p,this;return new cs(t,l,p)}}class Qe{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Dn(this.entries,r,s)}iterate(t,e){return Rn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return W(h),W(n),ls(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(W(h),u||!_)W(n);if(u&&f===2)return new gt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Qe(t,this.keyHash,a)}}class gt{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return I(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(W(h),u){W(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new gt(t,this.keyHash,[s,i])}return W(n),ls(this,t,e,X(s),[s,i])}}function Dn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(I(e,t[s][0]))return t[s][1];return r}function Rn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function Wn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ie(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return K(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let c=h.nodes[e?o-u:u];if(c){if(c.entry)return n.value=i(c.entry),n;s={node:c,index:0,__prev:s}}continue}s=s.__prev}return A})}var fs=(t,e,r,s)=>new us(t,e,r,s),Pi,T=()=>Pi||(Pi=fs(0));function xi(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new os(t.__ownerID,[[e,r]])}else{let n=Tr(),h=Tr();if(s=_s(t._root,t.__ownerID,0,X(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?fs(i,s):T()}function _s(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return W(u),W(h),new gt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var Ci=(t)=>t.constructor===gt||t.constructor===Qe;function ls(t,e,r,s,i){if(t.keyHash===s)return new Qe(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&$,h=(r===0?s:s>>>r)&$,u=new gt(e,s,i),o=n===h?[ls(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Be(e,1<<n|1<<h,o)}function Mu(t,e,r,s){if(!t)t=new Xe;let i=new gt(t,X(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,X(n),n,h);return i}function Eu(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new Be(t,i,h)}function qu(t,e,r,s,i){let n=0,h=Array(q);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new cs(t,n+1,h)}function Fi(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Jn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function ju(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Iu(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Uu=q/4,Au=q/2,$u=q/4;function Le(t){if(Array.isArray(t))return t.slice();return{...t}}var as=(t,e,r)=>ps(t,e,Ku(r));function ps(t,e,r){if(!st(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(x(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?at:H,h=s?(u)=>{if(i===t)i=Le(i);i.push(u)}:(u,o)=>{let c=Object.hasOwn(i,o),f=c&&r?r(i[o],u,o):u;if(!c||f!==i[o]){if(i===t)i=Le(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Ku(t){function e(r,s,i){return st(r)&&st(s)&&Lu(r,s)?ps(r,[s],e):t?t(r,s,i):s}return e}function Lu(t,e){let r=it(t),s=it(e);return j(r)===j(s)&&w(r)===w(s)}function Du(t,e){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(x(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=Le(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Ru(t,e,r){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(x(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=Le(t);return s[e]=r,s}function Wt(t,e,r,s){if(!s)s=r,r=void 0;let i=Xn(x(t),t,bn(e),0,r,s);return i===g?r:i}function Xn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!st(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Ft)}]: ${e}`);let u=r[s],o=h?g:Mn(e,u,g),c=Xn(o===g?t:x(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Du(e,u);let f=h?t?T():{}:e;return Ru(f,u,c)}var Wu=(t,e)=>Wt(t,e,()=>g),Ju=(t,e,r)=>Wt(t,e,g,()=>r);function Zn(t,e,r,s){return Wt(t,[e],r,s)}function he(){return this.__ensureOwner()}function ue(){return this.__ownerID?this:this.__ensureOwner(new Xe)}function ys(){return this.__altered}function oe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Xu(t,e){return Vr(this,t,e)}function Zu(t){return En(this,t)}function Ut(t){return Wu(this,t)}function gs(t,e){return Ju(this,t,e)}function ds(t,e,r){return typeof t==="function"?t(this):Zn(this,t,e,r)}function ws(t,e,r){return Wt(this,t,e,r)}function ki(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function Qr(...t){return Tn(this,t)}function Hn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Tn(this,e,t)}function Tn(t,e,r){let s=[];for(let i of e){let n=H(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return lt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Zn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function Bn(...t){return as(this,t)}function Qn(t,...e){return as(this,e,t)}function zs(t,...e){return Wt(this,t,T(),(r)=>ps(r,e))}function Ss(t,...e){return Wt(this,t,T(),(r)=>as(r,e))}function dt(t,e){Object.assign(t.prototype,e)}var R=(t)=>{let e=Nt();if(t===void 0||t===null)return e;if(Fr(t))return t;let r=at(t),s=r.size;if(s===0)return e;if(U(s),s>0&&s<q)return ce(0,s,z,null,new ft(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};R.of=(...t)=>R(t);class Gn extends It{static{dt(this,{asImmutable:he,asMutable:ue,deleteIn:Ut,mergeDeepIn:Ss,mergeIn:zs,setIn:gs,update:ds,updateIn:ws,wasAltered:ys,withMutations:oe,removeIn:Ut,[_n]:!0,[te]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return R(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=et(this,t),t>=0&&t<this.size){t+=this._origin;let r=xn(this,t);return r&&r.array[t&$]}return e}set(t,e){return Tu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return Nt()}push(...t){let e=this.size;return this.withMutations((r)=>{tt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return tt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{tt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return tt(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=at(typeof r!=="string"&&nn(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return R(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return tt(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(ee(t,e,r))return this;return tt(this,Lt(t,r),re(e,r))}__iterate(t,e){let r=e?this.size:0;return Hu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=Ni(this,t);return M((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return Ni(this,!1)}keys(){return We(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Nt();return this.__ownerID=t,this.__altered=!1,this}return ce(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}R.isList=Fr;class ft{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+z)-1)===0||this.array.length===0)return this;let s=r>>>e&$;if(s>=this.array.length)return new ft([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=At(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:q)||this.array.length===0)return this;let s=r-1>>>e&$;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-z,r),i===h&&s===this.array.length-1)return this}let n=At(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function Ni(t,e){let{_origin:r,_capacity:s}=t,i=$t(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return K(()=>{while(h.length>0){let c=h[h.length-1];if(c.from===c.to){h.pop();continue}let f=e?--c.to:c.from++;if(c.isLeaf)return u.value=c.array?.[f],u;let _=c.array?.[f],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return A});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.array,a=_>r?0:r-_,p=s-_;if(p>q)p=q;if(a!==p)h.push({array:l,from:a,to:p,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,p=(s-_>>f)+1;if(p>q)p=q;if(a!==p)h.push({array:l,from:a,to:p,level:f,offset:_,isLeaf:!1})}}}function Hu(t,e,r){let{_origin:s,_capacity:i}=t,n=$t(i),h=t._tail,u=t._level,o=t._root;return u===0?Yn(o,0,s,i,n,h,e,r):Pn(o,u,0,s,i,n,h,e,r)}function Yn(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,c=e>r?0:r-e,f=s-e;if(f>q)f=q;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function Pn(t,e,r,s,i,n,h,u,o){let c=t?.array,f=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>q)_=q;let l=e-z;while(f!==_){let a=o?--_:f++,p=r+(a<<e);if((l===0?Yn(c?.[a],p,s,i,n,h,u,o):Pn(c?.[a],l,p,s,i,n,h,u,o))===!1)return!1}}var ce=(t,e,r,s,i,n,h)=>new Gn(t,e,r,s,i,n,h),Nt=()=>ce(0,0,z);function Tu(t,e,r){if(e=et(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)tt(h,e).set(0,r);else tt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=Tr();if(e>=$t(t._capacity))s=Gr(s,t.__ownerID,0,e,r,n);else i=Gr(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return ce(t._origin,t._capacity,t._level,i,s)}function Gr(t,e,r,s,i,n){let h=s>>>r&$,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t&&t.array[h],f=Gr(c,e,r-z,s,i,n);if(f===c)return t;return o=At(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)W(n);if(o=At(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function At(t,e){if(e&&e===t?.ownerID)return t;return new ft(t?.array.slice()??[],e)}function xn(t,e){if(e>=$t(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&$],s-=z;return r}}function tt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Xe,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:c}=t,f=0;while(h+f<0)c=new ft(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=$t(n),l=$t(u);while(l>=1<<o+z)c=new ft(c?.array.length?[c]:[],s),o+=z;let a=t._tail,p=l<_?xn(t,u-1):l>_?new ft([],s):a;if(a&&l>_&&h<n&&a.array.length){c=At(c,s);let y=c;for(let S=o;S>z;S-=z){let O=_>>>S&$;y=y.array[O]=At(y.array[O],s)}y.array[_>>>z&$]=a}if(u<n)p=p&&p.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,p=p&&p.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let y=h>>>o&$;if(y!==l>>>o&$)break;if(y)f+=(1<<o)*y;o-=z,c=c.array[y]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=p,t.__hash=void 0,t.__altered=!0,t;return ce(h,u,o,c,p)}var $t=(t)=>t<q?0:t-1>>>z<<z,Y=(t)=>t===void 0||t===null?Vt():Ze(t)?t:Vt().withMutations((e)=>{let r=H(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});Y.of=(...t)=>Y(t);class Cn extends us{static{dt(this,{[rt]:!0,[te]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:Z.prototype.keys,values:Z.prototype.values,__iterate:Z.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return Y(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return Vt()}set(t,e){return Vi(this,t,e)}remove(t){return Vi(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return M((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return Vt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Os(e,r,t,this.__hash)}}Y.isOrderedMap=Ze;var Os=(t,e,r,s)=>new Cn(t,e,r,s),Vt=()=>Os(T(),Nt());function Vi(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=q&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=Nt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=T().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(c[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let c=i.size;u=s.set(e,c),o=i.set(c,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Os(u,o)}var De=(t)=>t===void 0||t===null?Re():Nr(t)?t:Re().pushAll(t);De.of=(...t)=>De(t);class Fn extends It{static{dt(this,{asImmutable:he,asMutable:ue,wasAltered:ys,withMutations:oe,[pn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return De(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=et(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return Zr(this,e,r)}pushAll(t){if(t=at(t),t.size===0)return this;if(this.size===0&&Nr(t))return t;U(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Zr(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return Re()}slice(t,e){if(ee(t,e,this.size))return this;let r=Lt(t,this.size);if(re(e,this.size)!==this.size)return It.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return Zr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Re();return this.__ownerID=t,this.__altered=!1,this}return bs(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return M((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return M((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return K(()=>{if(!t)return A;return e.value=t.value,t=t.next,e})}keys(){return We(this.size)}}De.isStack=Nr;function Zr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return bs(e,r)}var bs=(t,e,r,s)=>new Fn(t,e,r,s),mi,Re=()=>mi||(mi=bs(0)),E=(t)=>t===void 0||t===null?mt():kr(t)&&!C(t)?t:mt().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});E.of=(...t)=>E(t);E.fromKeys=(t)=>E(H(t).keySeq());E.intersect=(t)=>{return t=F(t).toArray(),t.length?E(t.pop()).intersect(...t):mt()};E.union=(t)=>{let e=F(t).toArray();return e.length?E(e.pop()).union(...e):mt()};class Ms extends Te{static{dt(this,{withMutations:oe,asImmutable:he,asMutable:ue,[an]:!0,[te]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return E(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return Ue(this,this._map.set(t,t))}remove(t){return Ue(this,this._map.remove(t))}clear(){return Ue(this,this._map.clear())}map(t,e){let r=!1,s=Ue(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return E(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else pt(r).forEach((s)=>e.add(s))})}intersect(...t){return tn(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return tn(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return mt()}__make(t,e){return kn(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}E.isSet=kr;var kn=(t,e)=>new Ms(t,e),vi,mt=()=>vi||(vi=kn(T()));function tn(t,e,r){if(e.length===0)return t;return e=e.map((s)=>pt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Ue(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var Kt=(t)=>t===void 0||t===null?Yr():gn(t)?t:Yr().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});Kt.of=(...t)=>Kt(t);Kt.fromKeys=(t)=>Kt(H(t).keySeq());class Nn extends Ms{static{dt(this,{[rt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Xr.zip,zipWith:Xr.zipWith,zipAll:Xr.zipAll})}create(t){return Kt(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return Yr()}__make(t,e){return Vn(t,e)}}Kt.isOrderedSet=gn;var Vn=(t,e)=>new Nn(t,e),Yr=()=>Vn(Vt());function Bu(t){if(lt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(x(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var fe=(t,e)=>{let r;Bu(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._keys=u,i._defaultValues=t;for(let c=0;c<u.length;c++){let f=u[c];if(o[f]=c,i[f])console.warn(`Cannot define ${Es(this)} with property "${f}" since that property name is part of the Record API.`);else Gu(i,f)}}return this.__ownerID=void 0,this._values=R().withMutations((u)=>{u.setSize(this._keys.length),H(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Qu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class mn{static{dt(this,{asImmutable:he,asMutable:ue,deleteIn:Ut,getIn:Xu,hasIn:Zu,merge:Qr,mergeWith:Hn,mergeDeep:Bn,mergeDeepWith:Qn,mergeDeepIn:Ss,mergeIn:zs,setIn:gs,toObject:ki,update:ds,updateIn:ws,withMutations:oe,removeIn:Ut,toJSON:ki,[yn]:!0,[te]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Ft(this.get(e))}`).join(", ");return`${Es(this)} { ${t} }`}equals(t){return this===t||lt(t)&&qt(this).equals(qt(t))}hashCode(){return qt(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return Hr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Hr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return qt(this)}toJS(){return Ke(this)}entries(){return this.__iterator()}__iterate(t,e){return qt(this).__iterate(t,e)}__iterator(t){return qt(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return Hr(this,e,t)}}fe.isRecord=lt;var Es=(t)=>t.constructor.displayName||t.constructor.name||"Record";class vn extends Dt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return M((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var qt=(t)=>new vn(t);fe.getDescriptiveName=Es;var Qu=mn.prototype;function Hr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Gu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Ct(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var en=(t,e,r=1)=>{if(Ct(r!==0,"Cannot step a Range by 0"),Ct(t!==void 0,"You must define a start value when using Range"),Ct(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new qs(t,e,r,s)};class qs extends yt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+et(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(ee(t,e,this.size))return this;if(t=Lt(t,this.size),e=re(e,this.size),e<=t)return en(0,0);return en(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return M((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return K(()=>{if(s===t)return A;return i.value=r,r+=e,s++,i})}keys(){return We(this.size)}equals(t){return t instanceof qs?this._start===t._start&&this._end===t._end&&this._step===t._step:mr(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}class Pr extends yt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return I(this._value,t)}slice(t,e){let r=this.size;return ee(t,e,r)?this:new Pr(this._value,re(e,r)-Lt(t,r))}reverse(){return this}indexOf(t){if(I(this._value,t))return 0;return-1}lastIndexOf(t){if(I(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return M((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return K(()=>{if(r===t)return A;return r++,s.value=e,s})}keys(){return We(this.size)}equals(t){return t instanceof Pr?this.size===t.size&&I(this._value,t._value):mr(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Yu=["nid","cid","eid","vid","si","sk"];class js{constructor(t,e,r,s,i,n,h){this.comps=t,this.h=e,this.fragment=r,this.comment=s,this.renderFn=i,this.getSeqInfo=n??Nu,this.cache=h??new dr}setNullCache(){this.cache=new gr}renderToDOM(t,e){let r=document.createElement("div");return this.renderFn(this.h("div",null,[this.renderRoot(t,e)]),r),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e,this.renderFn);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of Yu)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),c=this.renderMetadata("Comp",{nid:s}),f=this.renderFragment([c,o.render(t,this)]);return this.cache.set(e,h,f),f}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),p=this.renderIt(a,r,_,s);c.push(this.renderMetadata("Each",{nid:r,[u]:_})),c.push(p)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=!!u,_=[],l=h.call(t.it,i);for(let[a,p]of c(i))if(n.call(t.it,a,p,l)){let y={key:a,value:p},S=`${s}-${a}`,O;if(f)u.call(t.it,y,a,p,l),O=this.cache.get2(t.it,p,S);else O=this.cache.get(p,S);if(O){_.push(this.renderMetadata("Each",{nid:s,[o]:a})),_.push(O);continue}let zt=t.enter(p,y,!1),St=r.render(zt,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),f)this.cache.set2(t.it,p,S,St);else this.cache.set(p,S,St);_.push(St)}return _}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderComment(t){return this.comment(t)}renderEmpty(t){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*Pu(t){let e=0;for(let r of t)yield[e++,r]}function*xu(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var th=new Map,Cu=["si",Pu],Fu=["sk",xu],ku=["si",function*(e){}];function Nu(t){return j(t)?Cu:w(t)?Fu:th.get(t?.constructor)??ku}function Is(t){return t[4]==="-"&&(t[0]==="d"||t[0]==="a")}function eh(t,e){return t[e]}function _e(t,e,r){t[e]=r}function sh(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Vu(t,s,r);else if(Is(s))t.setAttribute(s,i);else if(typeof i==="object"&&i!==null)mu(t,r,s,i);else _e(t,s,i)}}function Vu(t,e,r){let s=r[e];if(Is(e))t.removeAttribute(e);else if(typeof s==="string"){_e(t,e,"");let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else _e(t,e,null)}function mu(t,e,r,s){let i=e?.[r];if(i&&typeof i==="object"&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){_e(t,r,s);return}let n=eh(t,r);if(typeof n!=="object"||n===null)_e(t,r,{}),n=eh(t,r);let h=n;for(let u in s)h[u]=s[u]}class ih{constructor(t,e){this.type=t,this.message=e}}class nh extends ih{constructor(t,e,r){let s=[...t].join(", ");super("DuplicatedKeys",`Duplicate keys found: [${s}] in ${e||"fragment"} at index ${r}. Nodes with duplicated keys are matched positionally.`);this.duplicatedKeys=t,this.parentTag=e,this.parentIndex=r}}class Zt{isEqualTo(t){return this===t}toDom(t){return null}}function hh(t){return t instanceof Xt?t.key:void 0}function wt(t,e){let r=hh(t);return r&&e?.has(r)?void 0:r}function vu(t){return t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function"}function Us(t,e){if(e==null)return;if(vu(e))for(let r of e)Us(t,r);else if(e instanceof Zt)if(e instanceof N)t.push(...e.childs);else t.push(e);else t.push(new le(e))}class le extends Zt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof le&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Jt extends Zt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Jt&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class N extends Zt{constructor(t){super();let e=[];Us(e,t),this.childs=e}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof N)||this.childs.length!==t.childs.length)return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document.createDocumentFragment();for(let r of this.childs){let s=r.toDom(t);if(s)e.appendChild(s)}return e}}class Xt extends Zt{constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null,this.attrCount=Object.keys(this.attrs).length}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof Xt)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.attrCount!==t.attrCount||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);sh(r,this.attrs,{});for(let s of this.childs){let i=s.toDom(t);if(i)r.appendChild(i)}return r}}function uh(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n);else if(typeof i==="object"&&i!==null&&typeof n==="object"&&n!==null)if(Object.getPrototypeOf(n)!==Object.getPrototypeOf(i))r??={},r[s]=n;else{let h=uh(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function to(t,e){let r=Ge(e);if(r.free.length===e.length)return{children:e,moves:null,duplicatedKeys:r.duplicatedKeys};let s=Ge(t),i=r.duplicatedKeys||s.duplicatedKeys?new Set([...r.duplicatedKeys||[],...s.duplicatedKeys||[]]):null;if(s.free.length===t.length)return{children:e,moves:null,duplicatedKeys:i};let n,h,u;if(i){let p=Ge(e,i);n=p.keys,h=p.free,u=Ge(t,i).keys}else n=r.keys,h=r.free,u=s.keys;let o=[],c=0,f=h.length,_=0;for(let p=0;p<t.length;p++){let y=t[p],S=wt(y,i);if(S)if(Object.hasOwn(n,S)){let O=n[S];o.push(e[O])}else _++,o.push(null);else if(c<f){let O=h[c++];o.push(e[O])}else _++,o.push(null)}let l=c>=h.length?e.length:h[c];for(let p=0;p<e.length;p++){let y=e[p],S=wt(y,i);if(S){if(!Object.hasOwn(u,S))o.push(y)}else if(p>=l)o.push(y)}let a=eo(o,e,n,i,_);return{children:o,moves:a,duplicatedKeys:i}}function eo(t,e,r,s,i){let n=t.slice(),h=0,u=[],o=[],c=Array(e.length);for(let f=0;f<e.length;f++)c[f]=wt(e[f],s);for(let f=0;f<e.length;){let _=c[f],l=n[h],a=wt(l,s);while(l===null&&n.length)n.splice(h,1),u.push({from:h,key:null}),l=n[h],a=wt(l,s);if(l&&a===_){h++,f++;continue}if(_){if(a&&r[a]!==f+1){if(n.splice(h,1),u.push({from:h,key:a}),l=n[h],a=wt(l,s),l&&a===_){h++,f++;continue}}o.push({key:_,to:f}),f++;continue}if(a){n.splice(h,1),u.push({from:h,key:a});continue}f++}while(h<n.length){let f=n[h];n.splice(h,1),u.push({from:h,key:wt(f,s)})}if(u.length===i&&!o.length)return null;return{removes:u,inserts:o}}function Ge(t,e){let r={},s=[],i=null;for(let n=0;n<t.length;n++){let h=hh(t[n]);if(h&&!e?.has(h)){if(h in r)i??=new Set,i.add(h);r[h]=n}else s.push(n)}return{keys:r,free:s,duplicatedKeys:i}}function ro(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}function oh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(e instanceof le&&r instanceof le||e instanceof Jt&&r instanceof Jt)return t.data=r.text,t;if(e instanceof Xt&&r instanceof Xt&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=uh(e.attrs,r.attrs);if(i)sh(t,i,e.attrs);return rh(t,e.childs,r.childs,e.tag,s),t}if(e instanceof N&&r instanceof N)return rh(t,e.childs,r.childs,null,s),t;return ro(t,r,s)}function rh(t,e,r,s,i){if(e.length===0){for(let l of r){let a=l.toDom(i);if(a)t.appendChild(a)}return}if(r.length===0){while(t.firstChild)t.removeChild(t.firstChild);return}let n=to(e,r),h=n.children;if(n.duplicatedKeys&&i.onWarning)i.onWarning(new nh(n.duplicatedKeys,s,0));let u=Array.from(t.childNodes),o=e.length,c=h.length,f=Math.max(o,c),_=[];for(let l=0;l<f;l++){let a=e[l],p=h[l];if(!a&&p){let y=p.toDom(i);if(y)t.appendChild(y)}else if(a&&p){let y=u[l];if(y)oh(y,a,p,i)}else if(a&&!p){if(!n.moves&&u[l])_.push(u[l])}}for(let l of _)if(l.parentNode===t)t.removeChild(l);if(n.moves)so(t,n.moves)}function so(t,e){let r=t.childNodes,s={};for(let n of e.removes){let h=r[n.from];if(n.key)s[n.key]=h;t.removeChild(h)}let i=r.length;for(let n=0;n<e.inserts.length;n++){let h=e.inserts[n],u=s[h.key];if(u)t.insertBefore(u,h.to>=i++?null:r[h.to])}}var Ye=new WeakMap;function ch(t,e,r){let s=Ye.get(e),i=t instanceof N;if(s){let h=s.vnode instanceof N;if(h===i){let u=h?e:s.dom,o=oh(u,s.vnode,t,r);return Ye.set(e,{vnode:t,dom:i?e:o}),o}Ye.delete(e)}let n=t.toDom(r);if(n)e.innerHTML="",e.appendChild(n),Ye.set(e,{vnode:t,dom:i?e:n});return n}function fh(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e)if(o==="key")n=e[o];else if(o==="namespace")h=e[o];else if(o==="class")i.className=e[o];else if(o==="for")i.htmlFor=e[o];else if(Is(o))i[o]=String(e[o]);else i[o]=e[o];let u=[];return Us(u,r),new Xt(s,i,u,n,h)}var _h=Symbol("BadValue"),yh=(t)=>t;class B{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,_h);if(h===_h)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class $s{isValid(t){return!0}getMessage(t){return"Invalid"}}class gh extends $s{}var io=new gh;class V extends $s{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var no=new V((t)=>Number.isInteger(t),()=>"Integer expected"),ho=new V((t)=>Number.isFinite(t),()=>"Float expected"),uo=new V((t)=>typeof t==="boolean",()=>"Boolean expected"),oo=new V((t)=>typeof t==="string",()=>"String expected"),co=new V((t)=>R.isList(t),()=>"List expected"),fo=new V((t)=>k.isMap(t),()=>"Map expected"),_o=new V((t)=>Y.isOrderedMap(t),()=>"OrderedMap expected"),lo=new V((t)=>E.isSet(t),()=>"Set expected"),ao=(t)=>!!t;class Ks extends B{constructor(t,e=!1){super("bool",t,uo,ao,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class Pe extends B{constructor(t,e=null){super("any",t,io,yh,e)}toDataDef(){let{defaultValue:t}=this;return{type:As(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var po=(t)=>t?.toString?.()??"";class Ls extends B{constructor(t,e=""){super("text",t,oo,po,e)}extendProtoForType(t,e){let{name:r}=this;t[`${r}IsEmpty`]=function(){return this.get(r,"").length===0},t[`${r}Len`]=function(){return this.get(r,"").length}}}var yo=(t)=>Number.isFinite(t)?Math.trunc(t):null;class dh extends B{constructor(t,e=0){super("int",t,no,yo,e)}}var go=(t)=>null;class Ds extends B{constructor(t,e=0){super("float",t,ho,go,e)}}var As=(t)=>t?.constructor?.getMetaClass?.()?.name;class wh{constructor(t){this.typeName=t}isValid(t){return As(t)===this.typeName}getMessage(t){let e=As(t);return`Expected "${this.typeName}", got "${e}"`}}class zh extends B{constructor(t,e,r){super(t,e,new wh(t),yh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var lh=Symbol("NONE");function Rs(t,e,r){Oh(t,e,Sh),t[`setIn${r}At`]=function(i,n){return this.set(e,this.get(e).set(i,n))},t[`getIn${r}At`]=function(i,n){return this.get(e).get(i,n)},t[`updateIn${r}At`]=function(i,n){let h=this.get(e),u=h.get(i,lh);if(u!==lh)return this.set(e,h.set(i,n(u)));return console.warn("key",i,"not found in",e,h),this};function s(i){return this.set(e,this.get(e).delete(i))}t[`deleteIn${r}At`]=s,t[`removeIn${r}At`]=s}var Sh=R(),wo=(t)=>Array.isArray(t)?R(t):null;class Ws extends B{constructor(t,e=Sh){super("list",t,co,wo,e)}extendProtoForType(t,e){let{name:r}=this;Rs(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var zo=(t)=>k(t);class Js extends B{constructor(t,e=k()){super("map",t,fo,zo,e)}extendProtoForType(t,e){Rs(t,this.name,e)}}var So=(t)=>Y(t);class Xs extends B{constructor(t,e=Y()){super("omap",t,_o,So,e)}extendProtoForType(t,e){Rs(t,this.name,e)}}function Oh(t,e,r){t[`${e}IsEmpty`]=function(){return this.get(e,r).size===0},t[`${e}Len`]=function(){return this.get(e,r).size}}var ah=E(),Oo=(t)=>Array.isArray(t)?E(t):t instanceof Set?E(t):null;class Zs extends B{constructor(t,e=ah){super("set",t,lo,Oo,e)}extendProtoForType(t,e){let{name:r}=this;Oh(t,r,ah),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},t[`deleteIn${e}`]=function(s){return this.set(r,this.get(r).delete(s))},t[`removeIn${e}`]=t[`deleteIn${e}`],t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function ph(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class bh{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=ph(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=ph(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:fe(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new zh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Mh=new Map,bo={text:Ls,int:dh,float:Ds,bool:Ks,list:Ws,map:Js,omap:Xs,set:Zs,any:Pe};function Mo(t,{fields:e={},methods:r,statics:s}){let i=new bh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Ls);else if(u==="number")i.addField(n,h,Ds);else if(u==="boolean")i.addField(n,h,Ks);else if(R.isList(h)||Array.isArray(h))i.addField(n,R(h),Ws);else if(E.isSet(h)||h instanceof Set)i.addField(n,E(h),Zs);else if(Y.isOrderedMap(h))i.addField(n,h,Xs);else if(h?.type&&h?.defaultValue!==void 0){let o=bo[h.type]??Pe;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(k.isMap(h)||h?.constructor===Object)i.addField(n,k(h),Js);else{let o=Mh.get(h?.constructor)??Pe;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var Eo=(t)=>new Or(t.name??"Comp",Mo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var{raw:cc,raw:fc}=String;function _c(t,e){return new lr(t,e)}var qo=(t)=>typeof t==="string"?document.querySelector(t):t;function lc(t){let e=qo(t),r=new Ee,s=(o)=>new N(o),i=(o)=>new Jt(o),n={document},h=(o,c)=>ch(o,c,n),u=new js(r,fh,s,i,h);return new Kr(e,h,r,u,Pt)}export{lc as tutuca,th as seqInfoByClass,_c as macro,Ze as isOrderedMap,Ze as isOMap,ie as isMap,Fr as isList,w as isKeyed,j as isIndexed,ie as isIMap,Ki as injectCss,fc as html,Mh as fieldsByClass,cc as css,Eo as component,fe as Record,Pt as ParseContext,Y as OMap,R as List,E as ISet,k as IMap};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutuca",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "type": "module",
5
5
  "description": "Zero-dependency frontend framework with immutable state and virtual DOM",
6
6
  "main": "./dist/tutuca.js",
@@ -28,8 +28,7 @@
28
28
  ],
29
29
  "repository": {
30
30
  "type": "git",
31
- "url": "git+https://github.com/marianoguerra/tutuca.git",
32
- "directory": "tutuca"
31
+ "url": "git+https://github.com/marianoguerra/tutuca.git"
33
32
  },
34
33
  "engines": {
35
34
  "node": ">=18"
@@ -42,6 +41,7 @@
42
41
  "homepage": "https://github.com/marianoguerra/tutuca#readme",
43
42
  "devDependencies": {
44
43
  "@biomejs/biome": "^2.4.9",
44
+ "fast-check": "^4.5.3",
45
45
  "jsdom": "^28.1.0",
46
46
  "prettier": "^3.8.1"
47
47
  }