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
- class xt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Mt extends xt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Mt({...this.binds,key:t})}withKey(t){return new Mt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class ye extends xt{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 ve(this.field,t)}withKey(t){return new Ve(this.field,t)}}class Ne extends xt{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 Ve extends Ne{}class ve extends Ne{}var D=Symbol("NONE");class tr extends xt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,D),s=t?.get(this.keyField,D);return s!==D&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,D),s=t?.get(this.keyField,D);return r===D||s===D?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class V{constructor(t=[]){this.steps=t}concat(t){return new V(this.steps.concat(t))}popStep(){return new V(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,D),r===D)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,D),s===D)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,D),r===D)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:d}=Ys(t.previousSibling),{eid:y,cid:S,vid:O}=t.dataset;if(y!==void 0)o.push(y);if(S!==void 0){let Ot=i.getComponentForId(+S,O);if(_){if(c=Ah(Ot,o,O,e),c===null&&n)return Kh;_=!1}let bt=$h(Ot,f,O);if(bt)h.push(bt);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:d})}u+=1,t=t.parentNode}return[new V(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return V.fromNodeAndEventName(h,n,e,r,s,i)}}var Gs={};function Ys(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Ys(t.previousSibling);if(e!==Gs)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Gs}function Ah(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 $h(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 Kh=[null,null];class er{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new ye(t))}index(t,e){return this.add(new ve(t,e))}key(t,e){return this.add(new Ve(t,e))}}var Uh=/^[a-zA-Z][a-zA-Z0-9_]*$/,nt=(t)=>Uh.test(t),Lh=/^-?[0-9]+(\.[0-9]+)?$/,Cs=(t,e)=>sr.parse(t,e),Qt=(t,e)=>new Q(t),Dh=(t,e)=>nt(t)?new ht(t):null,Rh=(t,e)=>nt(t)?new Ns(t):null,Wh=(t,e)=>nt(t)?new nr(t):null,Th=(t,e)=>nt(t)?new ti(t):null,Jh=(t,e)=>nt(t)?new ei(t):null,Xh=(t,e)=>nt(t)?new ri(t):null,Hh=(t,e)=>nt(t)?new Vs(t):null;class Ps{constructor(){this.allowFieldOnly(),this.bindValIt=new nr("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 si(s,i):null}parse(t,e){switch(Zh(t)){case ii:return this.parseIfOk(t,e,this.okStrTpl,Cs);case hi:return this.parseIfOk(t,e,this.okStrTpl,Qt);case ni:return this._parseSeqAccess(t,e);case pe:return this.parseIfOk(t,e,this.okStrTpl,Cs)}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,Wh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Th);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Jh);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,Xh);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,Hh)}let s=Lh.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,Dh);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,Rh);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,Fs)}parseAlter(t,e){return this._parseHandler(t,e,ms)}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 ge{render(t,e){}eval(t){}toPathItem(){return null}}class Q extends ge{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 rr extends ge{}class sr extends rr{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)==="}"?g.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 sr(s)}}class ht extends rr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class Fs extends ht{eval(t){return t.getInputHandler(this.name)??ks("input",this.name)}}class ms extends ht{eval(t){return t.getAlterHandler(this.name)??ks("alter",this.name)}}var ks=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class Ns extends ht{eval(t){return t.lookupType(this.name)}}class Vs extends ht{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class vs extends ht{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class ir extends ge{render(t,e){return this.eval(t)}}class Gt extends ir{constructor(t){super();this.name=t}}class nr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class ti extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ei extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new ye(this.name)}toRawFieldVal(){return new vs(this.name)}toString(){return`.${this.name}`}}class ri extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class si extends ir{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new tr(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 ii=0,ni=1,pe=2,hi=3;function Zh(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 ii;case 125:return hi}if(e>0||r>0)return e===1&&r===1?ni:pe;return-1}var g=new Ps;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return cr(e).parse(t,r)}isConstant(){return!1}}var Bh="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",xh=new Set(Bh.split(","));class ui{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?g.parseAll(e,this.px):g.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=g.parseCondValue(e,this.px);if(r)this.ifAttr=new fi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=g.parseAttr(t,this.px)??Yt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=g.parseAttr(t,this.px)??Yt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=fr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",g.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new ci(g.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,g.const(t));return;case"push-view":this.pushWrapper("push-view",t,g.parseText(t,this.px));return;case"text":this.textChild=g.parseText(t,this.px)??g.const("");return;case"show":this.pushWrapper("show",t,g.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,g.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,g.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=g.parseAlter(t,this.px);else this.pushWrapper("scope",t,g.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=g.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=g.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===""&&xh.has(n)?!0:h;this.attrs.push(new we(n,g.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new oi(r):ur.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class ur extends Et{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.value.eval(null);return new ur(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 oi extends Et{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 or{constructor(t){this.name=t}}class ze extends or{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class we extends ze{}class ci extends ze{constructor(t){super("dangerouslySetInnerHTML",t??g.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var Yt=g.nullConstVal;class fi extends or{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 hr=null;function cr(t){return hr??=new ui(t),hr.clear(t),hr}class fr{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=g.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);g.allowHandlerArg();for(let h=0;h<s.length;h++){let u=g.parse(s[h],e);n[h]=u!==null?u:g.nullConstVal}return new fr(i,n)}}class _r{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 qt{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 Pt extends qt{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 Ct extends Pt{render(t,e){return e.renderComment(this.v)}}function Qh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new zr(r);else r.optimize()}}function yr(t){if(t.isConstant())return new zr(t);return t.optimize(),t}class pr extends qt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Qh(this.childs)}}class Se extends pr{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 pr{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 lr=(t)=>t.length===1?t[0]:new Oe(t),Gh=/^[a-zA-Z][a-zA-Z0-9-]*$/,_i=null;class v extends qt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){_i??=e.newDOMParser();let r=_i.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 Pt(t.textContent);else if(e.isCommentNode(t))return new Ct(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 lr(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Me(null,g.const(u),lr(n));case"text":return new dr(null,g.parseText(u,e)??g.const(""));case"render":return e.addNodeIf(wi,g.parseRender(u,e),o);case"render-it":return e.addNodeIf(zi,g.bindValIt,o);case"render-each":return wr.parse(e,g,u,o,s)}return new Ct(`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]??lr(n)}let[u,o]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),li(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(Gh.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new dr(null,o));let c=i!=="PRE"?mh(n):n;return li(new Se(i.toLowerCase(),h,c),e,u)}return new Ct(`Error: InvalidTagName ${i}`)}}function li(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Yh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Yh(t,e){let r=Fh[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 gi extends qt{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 Ct(`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=yr(this.node)}}class gr{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 wi extends be{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class zi extends be{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class wr extends be{constructor(t,e,r){super(t,e,r);this.iterInfo=new Sr(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(wr,e.parseEach(r,t),s);if(n!==null){let h=cr(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 dr extends v{render(t,e){return e.renderText(this.val.eval(t))}}class zr extends qt{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=yr(this.node)}static register=!1}class Si extends ut{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Oi extends ut{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class bi extends ut{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Me extends ut{optimize(){this.node.optimize()}}class Mi 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 Mt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ei extends ut{constructor(t,e){super(t,e);this.iterInfo=new Sr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Mt({})}static register=!0}class Sr{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)??Ch,s=this.loopWithVal?.eval(t)??Ph,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var Ch=(t,e,r)=>!0,Ph=(t)=>({seq:t}),Fh={slot:Me,show:Si,hide:Oi,each:Ei,scope:Mi,"push-view":bi};class ot{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 ot(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 qi(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 Pt)||!h.isWhiteSpace())s.push(h);let n=new gi(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 ar=(t)=>t instanceof Pt&&t.isWhiteSpace(),ai=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function mh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(ar(t[0]))r=1,s=!0;if(e>1&&ar(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(ar(n)&&ai(t[i-1])&&ai(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=yr(this.anode)}render(t,e){return this.anode.render(t,e)}}class qi{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new ji(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 ji{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=eu(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 kh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,di=(t)=>qe((e)=>e.e.key===t),yi=qe(({e:t})=>kh&&t.metaKey||t.ctrlKey),Nh=qe(({e:t})=>t.metaKey),Vh=qe(({e:t})=>t.altKey),pi={ctrl:yi,cmd:yi,meta:Nh,alt:Vh},vh={keydown:{send:di("Enter"),cancel:di("Escape"),...pi},click:{...pi}},tu=(t,e)=>t;function eu(t,e){if(e.length===0)return tu;let r=vh[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 Or{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 br{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 Mr{getKey(t,e,r){return r.call(t)}}class Er{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 Er}setNullComputedCache(){this.computedCache=new Mr}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:Ai}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 _r(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 qr{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 Ii extends qr{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 jt=(t)=>typeof t==="string",ru=0;class jr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},d={}){this.id=ru++,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:d?.stackEnter??Ai};for(let y in s){let S=s[y],{view:O,style:Ot}=jt(S)?{view:S}:S;this.views[y]=new Ee(y,O,Ot)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(jt(r)){let s=g.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new qr(e,s,Symbol(e))}else if(jt(r?.default)&&jt(r?.for)){let s=g.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(jt(i)&&jt(n))this.dynamic[e]=new Ii(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 Ai(t){return t}var $i=Symbol("STOP"),$r=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===$i?e:s===$r?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Ir{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?$i:$r:e}}class Ar{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?$r: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 Ir(e,{it:e},!0),null),i=new Ft(new Ar({}),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 Ir(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 Ar(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 Ki{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 Kr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ki(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 Dr(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 Di(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)??su(e),o=s?.onResName??e,c=(f,_,l,a,d)=>{let S=new Li(t,this,f??_,f?[l]:[a,d],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 Ui(t,e,r,this,s))}}function su(t){return()=>{throw Error(`Request not found: ${t}`)}}function iu(){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 Ri,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 nu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac");function hu(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Ui 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 Rr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return hu(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 nu&&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 Wr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Lr 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]??iu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Wr(this.path,this.transactor,this)]]}}class Li extends Lr{handlerProp="response"}class Dr extends Lr{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 Di extends Dr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Ri{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 Rr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Wi(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 Wr extends Rr{stopPropagation(){return this.parent.stopPropagation()}}class Wi extends er{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 Tr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ie(r),this.transactor=new Kr(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]=V.fromEvent(t,i,n,h,u);if(r){let f=uu(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 Ti(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()}),Jr("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 V([]),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 Jr(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 uu(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 Ti{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)}}class Ae extends ot{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new Ae(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{value:i,thenVal:n,elseVal:h}=s;if(n!==void 0){if(this._addClasses(n.value),h)this._addClasses(h.value)}else if(typeof i?.value==="string")this._addClasses(i.value)}else{let s=t.items.class;if(s)this._addClasses(s)}}}function mt(t,e){if(!t)throw Error(e)}function A(t){mt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ji(t,e,r,s,i,n){return A(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 ou=(t,e)=>e,cu=(t,e)=>[e,t],Xr=(t)=>function(...e){return!t.apply(this,e)},Xi=(t)=>function(...e){return-t.apply(this,e)};function un(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 Hi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class on{constructor(t){this.next=t}[Symbol.iterator](){return this}}function L(t){return new on(t)}function M(t){let e=[void 0,void 0],r={done:!1,value:void 0};return L(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var fu=L(()=>$),ct=()=>fu;function Xe(t){let e=0,r={done:!1,value:void 0};return L(()=>{if(e===t)return $;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 cn(t){if(Array.isArray(t))return!0;return!!He(t)}var _u=(t)=>!!(t&&typeof t.next==="function");function fn(t){return He(t)?.call(t)}function He(t){let e=t&&t[Symbol.iterator];if(typeof e==="function")return e}function lu(t){let e=He(t);return e&&e===t.entries}function au(t){let e=He(t);return e&&e===t.keys}var re="delete",z=5,q=1<<z,K=q-1,p={},Cr=()=>({value:!1});function T(t){if(t)t.value=!0}class Ze{}function At(t){if(t.size===void 0)t.size=t.__iterate(_n);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 _n=()=>!0,ln=(t)=>t<0||Object.is(t,-0),se=(t,e,r)=>(t===0&&!ln(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),an=(t,e,r)=>t===void 0?r:ln(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Rt=(t,e)=>an(t,e,0),ie=(t,e)=>an(t,e,e),dn="@@__IMMUTABLE_ITERABLE__@@",Le="@@__IMMUTABLE_KEYED__@@",De="@@__IMMUTABLE_INDEXED__@@",rt="@@__IMMUTABLE_ORDERED__@@",ne="@@__IMMUTABLE_SEQ__@@",yn="@@__IMMUTABLE_LIST__@@",pn="@@__IMMUTABLE_MAP__@@",gn="@@__IMMUTABLE_SET__@@",wn="@@__IMMUTABLE_STACK__@@",zn="@@__IMMUTABLE_RECORD__@@";function C(t,e){return typeof t==="object"&&t!==null&&e in t}var R=(t)=>C(t,dn),w=(t)=>C(t,Le),j=(t)=>C(t,De),Vr=(t)=>w(t)||j(t),F=(t)=>C(t,rt),vr=(t)=>C(t,ne),ts=(t)=>C(t,yn),he=(t)=>C(t,pn),es=(t)=>C(t,gn),rs=(t)=>C(t,wn),at=(t)=>C(t,zn),P=(t)=>R(t)||at(t),Be=(t)=>he(t)&&F(t),Sn=(t)=>es(t)&&F(t),Zi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function On(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=Tt,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 bn(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,p);return h===p?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 Mn(t,e){let r=G(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=On(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=Tt,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 En(t,e,r,s){let i=t.size;if(se(e,r,i))return t;if(i===void 0&&(e<0||r<0))return En(t.toSeq().cacheResult(),e,r,s);let n=Rt(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&&vr(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((d,y)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(d,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 ct();let _=t.__iterator(f),l=0,a=0;if(s)return L(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return $;let d=_.next();if(d.done)return d;return a++,d});return M((d)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let y=_.next();if(y.done)return!1;return a++,d[0]=a-1,d[1]=y.value[1],!0})},c}function Bi(t,e,r){if(!e)e=un;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?us(n):j(t)?lt(n):Nt(n)}function $e(t,e,r){if(!e)e=un;if(r){let s=t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>xi(e,i[1],n[1])?n:i);return s&&s[0]}return t.reduce((s,i)=>xi(e,s,i)?i:s)}function xi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Hr(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=m(_);return fn(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 qn(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"&&(P(t)||Array.isArray(t)||du(t));function jn(t){if(qn(t)&&typeof t!=="string")return t;if(F(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var yu=(t,e)=>P(t)?t.has(e):st(t)&&Object.hasOwn(t,e);function In(t,e,r){return P(t)?t.get(e,r):!yu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function ss(t,e,r){let s=jn(e),i=0;while(i!==s.length)if(t=In(t,s[i++],p),t===p)return r;return t}var An=(t,e)=>ss(t,e,p)!==p;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!!(Zi(t)&&Zi(e)&&t.equals(e))}function Re(t){if(!t||typeof t!=="object")return t;if(!R(t)){if(!st(t))return t;t=it(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Re(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Re(r))}),e}function is(t,e){if(t===e)return!0;if(!R(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=!Vr(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,p)):!I(t.get(u,p),h))return i=!1,!1;return!0});return i&&t.size===n}var xe=(t)=>t>>>1&1073741824|t&3221225471;function X(t){if(t===null||t===void 0)return Qi(t);if(typeof t.hashCode==="function")return xe(t.hashCode(t));let e=Su(t);if(e===null||e===void 0)return Qi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return pu(e);case"string":return e.length>Ou?gu(e):Pr(e);case"object":case"function":return zu(e);case"symbol":return wu(e);default:if(typeof e.toString==="function")return Pr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Qi=(t)=>t===null?1108378658:1108378659;function pu(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 xe(e)}function gu(t){let e=xr[t];if(e===void 0){if(e=Pr(t),Br===bu)Br=0,xr={};Br++,xr[t]=e}return e}function Pr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return xe(e)}function wu(t){let e=Yi[t];if(e!==void 0)return e;return e=$n(),Yi[t]=e,e}function zu(t){let e=Gi.get(t);if(e!==void 0)return e;return e=$n(),Gi.set(t,e),e}var Su=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function $n(){let t=++Zr;if(Zr&1073741824)Zr=0;return t}var Gi=new WeakMap,Yi=Object.create(null),Zr=0,Ou=16,bu=255,Br=0,xr={};function Mu(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+Ci(X(i),X(n))|0}:(i,n)=>{s=s+Ci(X(i),X(n))|0}:e?(i)=>{s=31*s+X(i)|0}:(i)=>{s=s+X(i)|0}),Eu(t.size,s)}var Ci=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Eu(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=xe(e^e>>>16),e}function kt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var b=(t,e)=>t===e?t:vr(t)?e:t.create?t.create(e):t.constructor(e),qu=(t,e)=>b(t,(w(t)?Z:j(t)?dt:yt)(e)),Pi=(...t)=>t,m=(t)=>R(t)?t:it(t);class H{size=0;static{this.prototype[dn]=!0,this.prototype.__toStringMapper=kt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return is(this,t)}hashCode(){return this.__hash??(this.__hash=Mu(this))}toArray(){A(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 Rn(this)}toJS(){return Re(this)}toKeyedSeq(){return new ls(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){A(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 Wn(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(!R(s))s=e?Un(s):Ln(Array.isArray(s)?s:[s]);else if(e)s=Z(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 Dn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){A(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,p);return h!==p&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,p);return u!==p&&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)=>qu(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return A(this.size),this.__iterate(e?t.bind(e):t)}join(t){A(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 L(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return b(this,bn(this,t,e))}reduce(t,e=p,r){return Ji(this,t,e,r,e===p,!1)}reduceRight(t,e=p,r){return Ji(this,t,e,r,e===p,!0)}reverse(){return b(this,Mn(this,w(this)))}slice(t,e){return b(this,En(this,t,e,w(this)))}some(t,e){A(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,Bi(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return L(()=>{let r=t.next();if(r.done)return $;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(cu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Xr(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(_n,null,t)}flatMap(t,e){return b(this,this.toSeq().map((r,s)=>(w(this)?Z:j(this)?dt:yt)(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)&&R(_))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)&&R(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 Tn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return ss(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,p)!==p}hasIn(t){return An(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(ou).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return $e(this,t)}maxBy(t,e){return $e(this,e,t)}min(t){return $e(this,t?Xi(t):Hi)}minBy(t,e){return $e(this,e?Xi(e):Hi,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(Xr(t),e)}sortBy(t,e){return b(this,Bi(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 L(()=>{if(u)return $;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,$;return o})},b(this,s)}takeUntil(t,e){return this.takeWhile(Xr(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 Z=(t)=>w(t)?t:us(t);class ns extends H{static{this.prototype[Le]=!0,this.prototype.__toStringMapper=(t,e)=>`${kt(e)}: ${kt(t)}`,this.prototype[Symbol.iterator]=H.prototype.entries,this.prototype.toJSON=function(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return b(this,On(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 dt=(t)=>j(t)?t:lt(t);class $t extends H{static{this.prototype[De]=!0,this.prototype[rt]=!0}toKeyedSeq(){return new ls(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=p,...r){if(t===void 0)return this;let s=e!==p;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Rt(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=Hr(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(Pi,...t)}zipAll(...t){let e=[this,...t];return b(this,Hr(this,Pi,e,!0))}zipWith(t,...e){let r=[this,...e];return b(this,Hr(this,t,r))}}var yt=(t)=>R(t)&&!Vr(t)?t:Nt(t);class Qe extends H{static{this.prototype.has=H.prototype.includes,this.prototype.contains=H.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()}}m.Keyed=Z;m.Indexed=dt;m.Set=yt;var Qr=$t.prototype,it=(t)=>t===void 0||t===null?fs():P(t)?t.toSeq():ju(t),G=(t)=>Object.create((w(t)?Wt:j(t)?pt:os).prototype);class ft extends H{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 L(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var hs={cacheResult:ft.prototype.cacheResult,__iterateUncached:ft.prototype.__iterateUncached,__iterate:ft.prototype.__iterate,__iterator:ft.prototype.__iterator},us=(t)=>t===void 0||t===null?fs().toKeyedSeq():R(t)?w(t)?t.toSeq():t.fromEntrySeq():at(t)?t.toSeq():Un(t);class Wt extends ns{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toKeyedSeq(){return this}}var lt=(t)=>t===void 0||t===null?fs():R(t)?w(t)?t.entrySeq():t.toIndexedSeq():at(t)?t.toSeq().entrySeq():Ln(t);lt.of=(...t)=>lt(t);class pt extends $t{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var Nt=(t)=>(R(t)&&!Vr(t)?t:lt(t)).toSetSeq();Nt.of=(...t)=>Nt(t);class os extends Qe{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toSetSeq(){return this}}it.isSeq=vr;it.Keyed=us;it.Set=Nt;it.Indexed=lt;class ue extends pt{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 cs extends Wt{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 Kn extends pt{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=fn(e);if(!_u(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 fs=()=>new ue([]),_s=(t)=>qn(t)?new ue(t):cn(t)?new Kn(t):void 0;function Un(t){let e=_s(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new cs(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Ln(t){let e=_s(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=_s(t);if(e)return lu(t)?e.fromEntrySeq():au(t)?e.toSetSeq():e;if(typeof t==="object")return new cs(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Dn 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[Le])this[Le]=!0;if(i[De])this[De]=!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 L(()=>n()||$)}}class ls extends Wt{static{this.prototype[rt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Tt.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=Mn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=bn(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 Rn extends pt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 Wn extends os{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 Tn extends Wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){Fi(s),r++;let i=R(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){Fi(i);let n=R(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Tt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return ft.prototype.cacheResult.call(this)}function Fi(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var x=(t)=>t===void 0||t===null?B():he(t)&&!F(t)?t:B().withMutations((e)=>{let r=Z(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class as extends ns{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,merge:Fr,mergeWith:Qn,mergeDeep:Yn,mergeDeepWith:Cn,mergeDeepIn:js,mergeIn:qs,setIn:bs,update:Ms,updateIn:Es,wasAltered:Os,withMutations:fe,removeIn:Kt,concat:Fr,[pn]:!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 x(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 ki(this,t,e)}remove(t){return ki(this,t,p)}deleteAll(t){let e=m(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 B()}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 Ke(this._root,!1,0)}values(){if(!this._root)return ct();return Ke(this._root,!1,1)}entries(){if(!this._root)return ct();return Ke(this._root,!1)}__iterator(t){if(!this._root)return ct();return Ke(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 B();return this.__ownerID=t,this.__altered=!1,this}return ps(this.size,this._root,t,this.__hash)}}x.isMap=he;class ds{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Jn(this.entries,r,s)}iterate(t,e){return Xn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===p,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(T(h),u||!_)T(n);if(u&&f===1)return;if(!_&&!u&&f>=Lu)return Iu(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 ds(t,a)}}class Ge{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Hn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&K),n=this.bitmap;return(n&i)===0?s:this.nodes[Vi(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===p)return this;let _=Vi(c&o-1),l=this.nodes,a=f?l[_]:void 0,d=gs(a,t,e+z,r,s,i,n,h);if(d===a)return this;if(!f&&d&&l.length>=Du)return $u(t,l,c,u,d);if(f&&!d&&l.length===2&&Ni(l[_^1]))return l[_^1];if(f&&d&&l.length===1&&Ni(d))return d;let y=t&&t===this.ownerID,S=f?d?c:c^o:c|o,O=f?d?Zn(l,_,d,y):Uu(l,_,y):Ku(l,_,d,y);if(y)return this.bitmap=S,this.nodes=O,this;return new Ge(t,S,O)}}class ys{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Hn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&K,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)&K,o=i===p,c=this.nodes,f=c[u];if(o&&!f)return this;let _=gs(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<Ru)return Au(t,c,l,u)}let a=t&&t===this.ownerID,d=Zn(c,u,_,a);if(a)return this.count=l,this.nodes=d,this;return new ys(t,l,d)}}class Ye{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Jn(this.entries,r,s)}iterate(t,e){return Xn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===p)return this;return T(h),T(n),ws(this,t,e,r,[s,i])}let u=i===p,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(T(h),u||!_)T(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 Ye(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===p,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(T(h),u){T(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new gt(t,this.keyHash,[s,i])}return T(n),ws(this,t,e,X(s),[s,i])}}function Jn(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 Xn(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 Hn(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 Ke(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 L(()=>{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 $})}var ps=(t,e,r,s)=>new as(t,e,r,s),mi,B=()=>mi||(mi=ps(0));function ki(t,e,r){let s,i;if(!t._root){if(r===p)return t;i=1,s=new ds(t.__ownerID,[[e,r]])}else{let n=Cr(),h=Cr();if(s=gs(t._root,t.__ownerID,0,X(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===p?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?ps(i,s):B()}function gs(t,e,r,s,i,n,h,u){if(!t){if(n===p)return t;return T(u),T(h),new gt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var Ni=(t)=>t.constructor===gt||t.constructor===Ye;function ws(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)&K,h=(r===0?s:s>>>r)&K,u=new gt(e,s,i),o=n===h?[ws(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Ge(e,1<<n|1<<h,o)}function Iu(t,e,r,s){if(!t)t=new Ze;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 Au(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 $u(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 ys(t,n+1,h)}function Vi(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 Zn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Ku(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 Uu(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 Lu=q/4,Du=q/2,Ru=q/4;function We(t){if(Array.isArray(t))return t.slice();return{...t}}var zs=(t,e,r)=>Ss(t,e,Wu(r));function Ss(t,e,r){if(!st(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(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?dt:Z,h=s?(u)=>{if(i===t)i=We(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=We(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Wu(t){function e(r,s,i){return st(r)&&st(s)&&Tu(r,s)?Ss(r,[s],e):t?t(r,s,i):s}return e}function Tu(t,e){let r=it(t),s=it(e);return j(r)===j(s)&&w(r)===w(s)}function Ju(t,e){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=We(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Xu(t,e,r){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=We(t);return s[e]=r,s}function Jt(t,e,r,s){if(!s)s=r,r=void 0;let i=Bn(P(t),t,jn(e),0,r,s);return i===p?r:i}function Bn(t,e,r,s,i,n){let h=e===p;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(kt)}]: ${e}`);let u=r[s],o=h?p:In(e,u,p),c=Bn(o===p?t:P(o),o,r,s+1,i,n);if(c===o)return e;if(c===p)return Ju(e,u);let f=h?t?B():{}:e;return Xu(f,u,c)}var Hu=(t,e)=>Jt(t,e,()=>p),Zu=(t,e,r)=>Jt(t,e,p,()=>r);function xn(t,e,r,s){return Jt(t,[e],r,s)}function oe(){return this.__ensureOwner()}function ce(){return this.__ownerID?this:this.__ensureOwner(new Ze)}function Os(){return this.__altered}function fe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Bu(t,e){return ss(this,t,e)}function xu(t){return An(this,t)}function Kt(t){return Hu(this,t)}function bs(t,e){return Zu(this,t,e)}function Ms(t,e,r){return typeof t==="function"?t(this):xn(this,t,e,r)}function Es(t,e,r){return Jt(this,t,e,r)}function vi(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function Fr(...t){return Gn(this,t)}function Qn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Gn(this,e,t)}function Gn(t,e,r){let s=[];for(let i of e){let n=Z(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)=>{xn(i,u,p,(o)=>o===p?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function Yn(...t){return zs(this,t)}function Cn(t,...e){return zs(this,e,t)}function qs(t,...e){return Jt(this,t,B(),(r)=>Ss(r,e))}function js(t,...e){return Jt(this,t,B(),(r)=>zs(r,e))}function wt(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=Vt();if(t===void 0||t===null)return e;if(ts(t))return t;let r=dt(t),s=r.size;if(s===0)return e;if(A(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))})};U.of=(...t)=>U(t);class Pn extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,mergeDeepIn:js,mergeIn:qs,setIn:bs,update:Ms,updateIn:Es,wasAltered:Os,withMutations:fe,removeIn:Kt,[yn]:!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 U(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=et(this,t),t>=0&&t<this.size){t+=this._origin;let r=kn(this,t);return r&&r.array[t&K]}return e}set(t,e){return Gu(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 Vt()}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=dt(typeof r!=="string"&&cn(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 U(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,Rt(t,r),ie(e,r))}__iterate(t,e){let r=e?this.size:0;return Qu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=tn(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 tn(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Vt();return this.__ownerID=t,this.__altered=!1,this}return _e(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=ts;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&K;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=Ut(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&K;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=Ut(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function tn(t,e){let{_origin:r,_capacity:s}=t,i=Lt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return L(()=>{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 $});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.array,a=_>r?0:r-_,d=s-_;if(d>q)d=q;if(a!==d)h.push({array:l,from:a,to:d,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,d=(s-_>>f)+1;if(d>q)d=q;if(a!==d)h.push({array:l,from:a,to:d,level:f,offset:_,isLeaf:!1})}}}function Qu(t,e,r){let{_origin:s,_capacity:i}=t,n=Lt(i),h=t._tail,u=t._level,o=t._root;return u===0?Fn(o,0,s,i,n,h,e,r):mn(o,u,0,s,i,n,h,e,r)}function Fn(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 mn(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++,d=r+(a<<e);if((l===0?Fn(c?.[a],d,s,i,n,h,u,o):mn(c?.[a],l,d,s,i,n,h,u,o))===!1)return!1}}var _e=(t,e,r,s,i,n,h)=>new Pn(t,e,r,s,i,n,h),Vt=()=>_e(0,0,z);function Gu(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=Cr();if(e>=Lt(t._capacity))s=mr(s,t.__ownerID,0,e,r,n);else i=mr(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 mr(t,e,r,s,i,n){let h=s>>>r&K,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=mr(c,e,r-z,s,i,n);if(f===c)return t;return o=Ut(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)T(n);if(o=Ut(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Ut(t,e){if(e&&e===t?.ownerID)return t;return new _t(t?.array.slice()??[],e)}function kn(t,e){if(e>=Lt(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&K],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 Ze,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 _=Lt(n),l=Lt(u);while(l>=1<<o+z)c=new _t(c?.array.length?[c]:[],s),o+=z;let a=t._tail,d=l<_?kn(t,u-1):l>_?new _t([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Ut(c,s);let y=c;for(let S=o;S>z;S-=z){let O=_>>>S&K;y=y.array[O]=Ut(y.array[O],s)}y.array[_>>>z&K]=a}if(u<n)d=d&&d.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,d=d&&d.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let y=h>>>o&K;if(y!==l>>>o&K)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=d,t.__hash=void 0,t.__altered=!0,t;return _e(h,u,o,c,d)}var Lt=(t)=>t<q?0:t-1>>>z<<z,Y=(t)=>t===void 0||t===null?vt():Be(t)?t:vt().withMutations((e)=>{let r=Z(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});Y.of=(...t)=>Y(t);class Nn extends as{static{wt(this,{[rt]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:H.prototype.keys,values:H.prototype.values,__iterate:H.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 en(this,t,e)}remove(t){return en(this,t,p)}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 Is(e,r,t,this.__hash)}}Y.isOrderedMap=Be;var Is=(t,e,r,s)=>new Nn(t,e,r,s),vt=()=>Is(B(),Vt());function en(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===p){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=Vt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=B().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 Is(u,o)}var Te=(t)=>t===void 0||t===null?Je():rs(t)?t:Je().pushAll(t);Te.of=(...t)=>Te(t);class Vn extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,wasAltered:Os,withMutations:fe,[wn]:!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 Te(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 Gr(this,e,r)}pushAll(t){if(t=dt(t),t.size===0)return this;if(this.size===0&&rs(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Gr(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=Rt(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 Gr(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 As(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 L(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}Te.isStack=rs;function Gr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return As(e,r)}var As=(t,e,r,s)=>new Vn(t,e,r,s),rn,Je=()=>rn||(rn=As(0)),E=(t)=>t===void 0||t===null?te():es(t)&&!F(t)?t:te().withMutations((e)=>{let r=yt(t);A(r.size),r.forEach((s)=>e.add(s))});E.of=(...t)=>E(t);E.fromKeys=(t)=>E(Z(t).keySeq());E.intersect=(t)=>{return t=m(t).toArray(),t.length?E(t.pop()).intersect(...t):te()};E.union=(t)=>{let e=m(t).toArray();return e.length?E(e.pop()).union(...e):te()};class $s extends Qe{static{wt(this,{withMutations:fe,asImmutable:oe,asMutable:ce,[gn]:!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 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 yt(r).forEach((s)=>e.add(s))})}intersect(...t){return nn(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return nn(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 vn(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=es;var vn=(t,e)=>new $s(t,e),sn,te=()=>sn||(sn=vn(B()));function nn(t,e,r){if(e.length===0)return t;return e=e.map((s)=>yt(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 Dt=(t)=>t===void 0||t===null?kr():Sn(t)?t:kr().withMutations((e)=>{let r=yt(t);A(r.size),r.forEach((s)=>e.add(s))});Dt.of=(...t)=>Dt(t);Dt.fromKeys=(t)=>Dt(Z(t).keySeq());class th extends $s{static{wt(this,{[rt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Qr.zip,zipWith:Qr.zipWith,zipAll:Qr.zipAll})}create(t){return Dt(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return kr()}__make(t,e){return eh(t,e)}}Dt.isOrderedSet=Sn;var eh=(t,e)=>new th(t,e),kr=()=>eh(vt());function Yu(t){if(at(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(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;Yu(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 ${Ks(this)} with property "${f}" since that property name is part of the Record API.`);else Pu(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),Z(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Cu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class rh{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,getIn:Bu,hasIn:xu,merge:Fr,mergeWith:Qn,mergeDeep:Yn,mergeDeepWith:Cn,mergeDeepIn:js,mergeIn:qs,setIn:bs,toObject:vi,update:Ms,updateIn:Es,withMutations:fe,removeIn:Kt,toJSON:vi,[zn]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${kt(this.get(e))}`).join(", ");return`${Ks(this)} { ${t} }`}equals(t){return this===t||at(t)&&It(this).equals(It(t))}hashCode(){return It(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 Yr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Yr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return It(this)}toJS(){return Re(this)}entries(){return this.__iterator()}__iterate(t,e){return It(this).__iterate(t,e)}__iterator(t){return It(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 Yr(this,e,t)}}le.isRecord=at;var Ks=(t)=>t.constructor.displayName||t.constructor.name||"Record";class sh extends Wt{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 It=(t)=>new sh(t);le.getDescriptiveName=Ks;var Cu=rh.prototype;function Yr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Pu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){mt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var hn=(t,e,r=1)=>{if(mt(r!==0,"Cannot step a Range by 0"),mt(t!==void 0,"You must define a start value when using Range"),mt(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 Us(t,e,r,s)};class Us extends pt{_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=Rt(t,this.size),e=ie(e,this.size),e<=t)return hn(0,0);return hn(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 L(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Us?this._start===t._start&&this._end===t._end&&this._step===t._step:is(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}class Nr extends pt{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 Nr(this._value,ie(e,r)-Rt(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 L(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof Nr?this.size===t.size&&I(this._value,t._value):is(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var ih=Symbol("BadValue"),oh=(t)=>t;class W{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,ih);if(h===ih)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 Ds{isValid(t){return!0}getMessage(t){return"Invalid"}}class ch extends Ds{}var Fu=new ch;class k extends Ds{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var mu=new k((t)=>Number.isInteger(t),()=>"Integer expected"),ku=new k((t)=>Number.isFinite(t),()=>"Float expected"),Nu=new k((t)=>typeof t==="boolean",()=>"Boolean expected"),Vu=new k((t)=>typeof t==="string",()=>"String expected"),vu=new k((t)=>U.isList(t),()=>"List expected"),to=new k((t)=>x.isMap(t),()=>"Map expected"),eo=new k((t)=>Y.isOrderedMap(t),()=>"OrderedMap expected"),ro=new k((t)=>E.isSet(t),()=>"Set expected"),so=(t)=>!!t;class Rs extends W{constructor(t,e=!1){super("bool",t,Nu,so,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 Ce extends W{constructor(t,e=null){super("any",t,Fu,oh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ls(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var io=(t)=>t?.toString?.()??"";class Ws extends W{constructor(t,e=""){super("text",t,Vu,io,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 no=(t)=>Number.isFinite(t)?Math.trunc(t):null;class fh extends W{constructor(t,e=0){super("int",t,mu,no,e)}}var ho=(t)=>null;class Ts extends W{constructor(t,e=0){super("float",t,ku,ho,e)}}var Ls=(t)=>t?.constructor?.getMetaClass?.()?.name;class _h{constructor(t){this.typeName=t}isValid(t){return Ls(t)===this.typeName}getMessage(t){let e=Ls(t);return`Expected "${this.typeName}", got "${e}"`}}class lh extends W{constructor(t,e,r){super(t,e,new _h(t),oh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var nh=Symbol("NONE");function Xt(t,e,r){dh(t,e,ah),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,nh);if(u!==nh)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 ah=U(),uo=(t)=>Array.isArray(t)?U(t):null;class Js extends W{constructor(t,e=ah){super("list",t,vu,uo,e)}extendProtoForType(t,e){let{name:r}=this;Xt(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 oo=(t)=>x(t);class Xs extends W{constructor(t,e=x()){super("map",t,to,oo,e)}extendProtoForType(t,e){Xt(t,this.name,e)}}var co=(t)=>Y(t);class Hs extends W{constructor(t,e=Y()){super("omap",t,eo,co,e)}extendProtoForType(t,e){Xt(t,this.name,e)}}function dh(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 hh=E(),fo=(t)=>Array.isArray(t)?E(t):t instanceof Set?E(t):null;class Zs extends W{constructor(t,e=hh){super("set",t,ro,fo,e)}extendProtoForType(t,e){let{name:r}=this;dh(t,r,hh),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 uh(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 yh{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]=uh(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]=uh(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 lh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Pe=new Map,_o={text:Ws,int:fh,float:Ts,bool:Rs,list:Js,map:Xs,omap:Hs,set:Zs,any:Ce};function lo(t,{fields:e={},methods:r,statics:s}){let i=new yh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Ws);else if(u==="number")i.addField(n,h,Ts);else if(u==="boolean")i.addField(n,h,Rs);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),Js);else if(E.isSet(h)||h instanceof Set)i.addField(n,E(h),Zs);else if(Y.isOrderedMap(h))i.addField(n,h,Hs);else if(h?.type&&h?.defaultValue!==void 0){let o=_o[h.type]??Ce;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(x.isMap(h)||h?.constructor===Object)i.addField(n,x(h),Xs);else{let o=Pe.get(h?.constructor)??Ce;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var ao=(t)=>new jr(t.name??"Comp",lo(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 yo=["nid","cid","eid","vid","si","sk"];class Bs{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??Oo,this.cache=h??new br}setNullCache(){this.cache=new Or}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 yo)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),d=this.renderIt(a,r,_,s);c.push(this.renderMetadata("Each",{nid:r,[u]:_})),c.push(d)}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,d]of c(i))if(n.call(t.it,a,d,l)){let y={key:a,value:d},S=`${s}-${a}`,O;if(f)u.call(t.it,y,a,d,l),O=this.cache.get2(t.it,d,S);else O=this.cache.get(d,S);if(O){_.push(this.renderMetadata("Each",{nid:s,[o]:a})),_.push(O);continue}let Ot=t.enter(d,y,!1),bt=r.render(Ot,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),f)this.cache.set2(t.it,d,S,bt);else this.cache.set(d,S,bt);_.push(bt)}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*po(t){let e=0;for(let r of t)yield[e++,r]}function*go(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var Fe=new Map,wo=["si",po],zo=["sk",go],So=["si",function*(e){}];function Oo(t){return j(t)?wo:w(t)?zo:Fe.get(t?.constructor)??So}class zt{constructor(t=x(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new zt(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var bo=(t)=>null;class ph{isValid(t){return t instanceof zt}getMessage(t){return"KList expected"}}var Mo=new ph;class gh extends W{constructor(t,e=new zt){super("KList",t,Mo,bo,e)}extendProtoForType(t,e){Xt(t,this.name,e);let{name:r}=this;Xt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}Pe.set(zt,gh);function*Eo(t){for(let e of t.order)yield[e,t.items.get(e)]}Fe.set(zt,["data-sk",Eo]);function xs(t){return t[4]==="-"&&(t[0]==="d"||t[0]==="a")}function wh(t,e){return t[e]}function ae(t,e,r){t[e]=r}function Sh(t,e,r){for(let s in e){let i=e[s];if(i===void 0)qo(t,s,r);else if(xs(s))t.setAttribute(s,i);else if(typeof i==="object"&&i!==null)jo(t,r,s,i);else ae(t,s,i)}}function qo(t,e,r){let s=r[e];if(xs(e))t.removeAttribute(e);else if(typeof s==="string"){ae(t,e,"");let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else ae(t,e,null)}function jo(t,e,r,s){let i=e?.[r];if(i&&typeof i==="object"&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){ae(t,r,s);return}let n=wh(t,r);if(typeof n!=="object"||n===null)ae(t,r,{}),n=wh(t,r);let h=n;for(let u in s)h[u]=s[u]}class Oh{type;message;constructor(t,e){this.type=t,this.message=e}}class bh extends Oh{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 Bt{isEqualTo(t){return this===t}toDom(t){return null}}function Mh(t){return t instanceof Zt?t.key:void 0}function St(t,e){let r=Mh(t);return r&&e?.has(r)?void 0:r}function Io(t){return t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function"}function Qs(t,e){if(e==null)return;if(Io(e))for(let r of e)Qs(t,r);else if(e instanceof Bt)if(e instanceof N)t.push(...e.childs);else t.push(e);else t.push(new de(e))}class de extends Bt{text;constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof de&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Ht extends Bt{text;constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Ht&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class N extends Bt{childs;constructor(t){super();let e=[];Qs(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 Zt extends Bt{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 Zt)||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 Eh(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=Eh(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 Ao(t,e){let r=me(e);if(r.free.length===e.length)return{children:e,moves:null,duplicatedKeys:r.duplicatedKeys};let s=me(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 d=me(e,i);n=d.keys,h=d.free,u=me(t,i).keys}else n=r.keys,h=r.free,u=s.keys;let o=[],c=0,f=h.length,_=0;for(let d=0;d<t.length;d++){let y=t[d],S=St(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 d=0;d<e.length;d++){let y=e[d],S=St(y,i);if(S){if(!Object.hasOwn(u,S))o.push(y)}else if(d>=l)o.push(y)}let a=$o(o,e,n,i,_);return{children:o,moves:a,duplicatedKeys:i}}function $o(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]=St(e[f],s);for(let f=0;f<e.length;){let _=c[f],l=n[h],a=St(l,s);while(l===null&&n.length)n.splice(h,1),u.push({from:h,key:null}),l=n[h],a=St(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=St(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:St(f,s)})}if(u.length===i&&!o.length)return null;return{removes:u,inserts:o}}function me(t,e){let r={},s=[],i=null;for(let n=0;n<t.length;n++){let h=Mh(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 Ko(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}function qh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(e instanceof de&&r instanceof de||e instanceof Ht&&r instanceof Ht)return t.data=r.text,t;if(e instanceof Zt&&r instanceof Zt&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=Eh(e.attrs,r.attrs);if(i)Sh(t,i,e.attrs);return zh(t,e.childs,r.childs,e.tag,s),t}if(e instanceof N&&r instanceof N)return zh(t,e.childs,r.childs,null,s),t;return Ko(t,r,s)}function zh(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=Ao(e,r),h=n.children;if(n.duplicatedKeys&&i.onWarning)i.onWarning(new bh(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],d=h[l];if(!a&&d){let y=d.toDom(i);if(y)t.appendChild(y)}else if(a&&d){let y=u[l];if(y)qh(y,a,d,i)}else if(a&&!d){if(!n.moves&&u[l])_.push(u[l])}}for(let l of _)if(l.parentNode===t)t.removeChild(l);if(n.moves)Uo(t,n.moves)}function Uo(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 ke=new WeakMap;function jh(t,e,r){let s=ke.get(e),i=t instanceof N;if(s){let h=s.vnode instanceof N;if(h===i){let u=h?e:s.dom,o=qh(u,s.vnode,t,r);return ke.set(e,{vnode:t,dom:i?e:o}),o}ke.delete(e)}let n=t.toDom(r);if(n)e.innerHTML="",e.appendChild(n),ke.set(e,{vnode:t,dom:i?e:n});return n}function Ih(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(xs(o))i[o]=String(e[o]);else i[o]=e[o];let u=[];return Qs(u,r),new Zt(s,i,u,n,h)}var{raw:Mc,raw:Ec}=String;function qc(t,e){return new gr(t,e)}var Lo=(t)=>typeof t==="string"?document.querySelector(t):t;function jc(t){let e=Lo(t),r=new je,s=(o)=>new N(o),i=(o)=>new Ht(o),n={document},h=(o,c)=>jh(o,c,n),u=new Bs(r,Ih,s,i,h);return new Tr(e,h,r,u,ot)}async function Rc(t,e,r="margaui-css"){let s=performance.now(),i=await Do(t,e),n=performance.now();return Jr(r,i),n-s}async function Do(t,e,r){t.ParseContext=Ae,t.compile();let s=new Set(r??[]);for(let i of t.comps.byId.values())for(let n in i.views){let h=i.views[n];for(let u of h.ctx.classes)s.add(u)}return await e(Array.from(s))}export{jc as tutuca,Fe as seqInfoByClass,qc as macro,Be as isOrderedMap,Be as isOMap,he as isMap,ts as isList,w as isKeyed,j as isIndexed,he as isIMap,Ec as html,Pe as fieldsByClass,Mc as css,ao as component,Do as compileClassesToStyleText,Rc as compileClassesToStyle,le as Record,ot as ParseContext,Y as OMap,U as List,zt as KList,E as ISet,x as IMap};
1
+ class Bt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Mt extends Bt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Mt({...this.binds,key:t})}withKey(t){return new Mt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class de 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 tr(this.field,t)}withKey(t){return new ve(this.field,t)}}class Ve 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 ve extends Ve{}class tr extends Ve{}var D=Symbol("NONE");class er extends Bt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,D),s=t?.get(this.keyField,D);return s!==D&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,D),s=t?.get(this.keyField,D);return r===D||s===D?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class V{constructor(t=[]){this.steps=t}concat(t){return new V(this.steps.concat(t))}popStep(){return new V(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,D),r===D)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,D),s===D)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,D),r===D)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}=Ys(t.previousSibling),{eid:d,cid:S,vid:O}=t.dataset;if(d!==void 0)o.push(d);if(S!==void 0){let Ot=i.getComponentForId(+S,O);if(_){if(c=Ah(Ot,o,O,e),c===null&&n)return Kh;_=!1}let bt=$h(Ot,f,O);if(bt)h.push(bt);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:p})}u+=1,t=t.parentNode}return[new V(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return V.fromNodeAndEventName(h,n,e,r,s,i)}}var Gs={};function Ys(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Ys(t.previousSibling);if(e!==Gs)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Gs}function Ah(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 $h(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 Kh=[null,null];class rr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new de(t))}index(t,e){return this.add(new tr(t,e))}key(t,e){return this.add(new ve(t,e))}}var Uh=/^[a-zA-Z][a-zA-Z0-9_]*$/,nt=(t)=>Uh.test(t),Lh=/^-?[0-9]+(\.[0-9]+)?$/,Cs=(t,e)=>ir.parse(t,e),Qt=(t,e)=>new Q(t),Dh=(t,e)=>nt(t)?new ht(t):null,Rh=(t,e)=>nt(t)?new Ns(t):null,Wh=(t,e)=>nt(t)?new hr(t):null,Th=(t,e)=>nt(t)?new ti(t):null,Jh=(t,e)=>nt(t)?new ei(t):null,xh=(t,e)=>nt(t)?new ri(t):null,Xh=(t,e)=>nt(t)?new Vs(t):null;class Ps{constructor(){this.allowFieldOnly(),this.bindValIt=new hr("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 si(s,i):null}parse(t,e){switch(Hh(t)){case ii:return this.parseIfOk(t,e,this.okStrTpl,Cs);case hi:return this.parseIfOk(t,e,this.okStrTpl,Qt);case ni:return this._parseSeqAccess(t,e);case ye:return this.parseIfOk(t,e,this.okStrTpl,Cs)}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,Wh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Th);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Jh);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,xh);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,Xh)}let s=Lh.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,Dh);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,Rh);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,Fs)}parseAlter(t,e){return this._parseHandler(t,e,ms)}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 ge{render(t,e){}eval(t){}toPathItem(){return null}}class Q extends ge{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 sr extends ge{}class ir extends sr{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)==="}"?g.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 ir(s)}}class ht extends sr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class Fs extends ht{eval(t){return t.getInputHandler(this.name)??ks("input",this.name)}}class ms extends ht{eval(t){return t.getAlterHandler(this.name)??ks("alter",this.name)}}var ks=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class Ns extends ht{eval(t){return t.lookupType(this.name)}}class Vs extends ht{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class vs extends ht{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class nr extends ge{render(t,e){return this.eval(t)}}class Gt extends nr{constructor(t){super();this.name=t}}class hr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class ti extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ei extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new de(this.name)}toRawFieldVal(){return new vs(this.name)}toString(){return`.${this.name}`}}class ri extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class si extends nr{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new er(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 ii=0,ni=1,ye=2,hi=3;function Hh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return ye;e+=1;break;case 93:if(r>0||e===0)return ye;r+=1;break;case 123:return ii;case 125:return hi}if(e>0||r>0)return e===1&&r===1?ni:ye;return-1}var g=new Ps;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return fr(e).parse(t,r)}isConstant(){return!1}}var Zh="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",Bh=new Set(Zh.split(","));class ui{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?g.parseAll(e,this.px):g.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=g.parseCondValue(e,this.px);if(r)this.ifAttr=new fi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=g.parseAttr(t,this.px)??Yt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=g.parseAttr(t,this.px)??Yt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=_r.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",g.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new ci(g.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,g.const(t));return;case"push-view":this.pushWrapper("push-view",t,g.parseText(t,this.px));return;case"text":this.textChild=g.parseText(t,this.px)??g.const("");return;case"show":this.pushWrapper("show",t,g.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,g.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,g.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=g.parseAlter(t,this.px);else this.pushWrapper("scope",t,g.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=g.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=g.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===""&&Bh.has(n)?!0:h;this.attrs.push(new we(n,g.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new oi(r):or.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class or extends Et{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.value.eval(null);return new or(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 oi extends Et{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 cr{constructor(t){this.name=t}}class ze extends cr{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class we extends ze{}class ci extends ze{constructor(t){super("dangerouslySetInnerHTML",t??g.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var Yt=g.nullConstVal;class fi extends cr{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 ur=null;function fr(t){return ur??=new ui(t),ur.clear(t),ur}class _r{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=g.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);g.allowHandlerArg();for(let h=0;h<s.length;h++){let u=g.parse(s[h],e);n[h]=u!==null?u:g.nullConstVal}return new _r(i,n)}}class lr{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 qt{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 Pt extends qt{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 Ct extends Pt{render(t,e){return e.renderComment(this.v)}}function Qh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Sr(r);else r.optimize()}}function yr(t){if(t.isConstant())return new Sr(t);return t.optimize(),t}class gr extends qt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Qh(this.childs)}}class Se extends gr{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 gr{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 ar=(t)=>t.length===1?t[0]:new Oe(t),Gh=/^[a-zA-Z][a-zA-Z0-9-]*$/,_i=null;class v extends qt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){_i??=e.newDOMParser();let r=_i.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 Pt(t.textContent);else if(e.isCommentNode(t))return new Ct(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 ar(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Me(null,g.const(u),ar(n));case"text":return new dr(null,g.parseText(u,e)??g.const(""));case"render":return e.addNodeIf(wi,g.parseRender(u,e),o);case"render-it":return e.addNodeIf(zi,g.bindValIt,o);case"render-each":return zr.parse(e,g,u,o,s)}return new Ct(`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]??ar(n)}let[u,o]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),li(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(Gh.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new dr(null,o));let c=i!=="PRE"?mh(n):n;return li(new Se(i.toLowerCase(),h,c),e,u)}return new Ct(`Error: InvalidTagName ${i}`)}}function li(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Yh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Yh(t,e){let r=Fh[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 gi extends qt{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 Ct(`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=yr(this.node)}}class wr{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 wi extends be{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class zi extends be{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class zr extends be{constructor(t,e,r){super(t,e,r);this.iterInfo=new Or(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(zr,e.parseEach(r,t),s);if(n!==null){let h=fr(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 dr extends v{render(t,e){return e.renderText(this.val.eval(t))}}class Sr extends qt{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=yr(this.node)}static register=!1}class Si extends ut{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Oi extends ut{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class bi extends ut{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Me extends ut{optimize(){this.node.optimize()}}class Mi 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 Mt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ei extends ut{constructor(t,e){super(t,e);this.iterInfo=new Or(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Mt({})}static register=!0}class Or{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)??Ch,s=this.loopWithVal?.eval(t)??Ph,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var Ch=(t,e,r)=>!0,Ph=(t)=>({seq:t}),Fh={slot:Me,show:Si,hide:Oi,each:Ei,scope:Mi,"push-view":bi};class ot{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 ot(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 qi(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 Pt)||!h.isWhiteSpace())s.push(h);let n=new gi(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 pr=(t)=>t instanceof Pt&&t.isWhiteSpace(),ai=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function mh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(pr(t[0]))r=1,s=!0;if(e>1&&pr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(pr(n)&&ai(t[i-1])&&ai(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=yr(this.anode)}render(t,e){return this.anode.render(t,e)}}class qi{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new ji(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 ji{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=eu(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 kh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,pi=(t)=>qe((e)=>e.e.key===t),di=qe(({e:t})=>kh&&t.metaKey||t.ctrlKey),Nh=qe(({e:t})=>t.metaKey),Vh=qe(({e:t})=>t.altKey),yi={ctrl:di,cmd:di,meta:Nh,alt:Vh},vh={keydown:{send:pi("Enter"),cancel:pi("Escape"),...yi},click:{...yi}},tu=(t,e)=>t;function eu(t,e){if(e.length===0)return tu;let r=vh[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 br{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 Mr{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 Er{getKey(t,e,r){return r.call(t)}}class qr{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 qr}setNullComputedCache(){this.computedCache=new Er}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:Ai}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 lr(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 jr{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 Ii extends jr{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 jt=(t)=>typeof t==="string",ru=0;class Ir{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},p={}){this.id=ru++,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:p?.stackEnter??Ai};for(let d in s){let S=s[d],{view:O,style:Ot}=jt(S)?{view:S}:S;this.views[d]=new Ee(d,O,Ot)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(jt(r)){let s=g.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new jr(e,s,Symbol(e))}else if(jt(r?.default)&&jt(r?.for)){let s=g.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(jt(i)&&jt(n))this.dynamic[e]=new Ii(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 Ai(t){return t}var $i=Symbol("STOP"),Kr=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===$i?e:s===Kr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Ar{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?$i:Kr:e}}class $r{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Kr: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 Ar(e,{it:e},!0),null),i=new Ft(new $r({}),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 Ar(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 $r(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 Ki{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 Ur{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ki(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 Rr(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 Di(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)??su(e),o=s?.onResName??e,c=(f,_,l,a,p)=>{let S=new Li(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 Ui(t,e,r,this,s))}}function su(t){return()=>{throw Error(`Request not found: ${t}`)}}function iu(){return this}class Lr{constructor(t,e){this.path=t,this.transactor=e,this.parentTransaction=null,this._task=null}get task(){return this._task??=new Ri,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 nu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac");function hu(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Ui extends Lr{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 Wr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return hu(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 nu&&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 Tr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Dr extends Lr{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]??iu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Tr(this.path,this.transactor,this)]]}}class Li extends Dr{handlerProp="response"}class Rr extends Dr{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 Di extends Rr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Ri{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 Wr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Wi(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 Tr extends Wr{stopPropagation(){return this.parent.stopPropagation()}}class Wi extends rr{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 Jr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ie(r),this.transactor=new Ur(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]=V.fromEvent(t,i,n,h,u);if(r){let f=uu(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 Ti(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()}),Ae("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 V([]),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 Ae(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 uu(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 Ti{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)}}class $e extends ot{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new $e(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{value:i,thenVal:n,elseVal:h}=s;if(n!==void 0){if(this._addClasses(n.value),h)this._addClasses(h.value)}else if(typeof i?.value==="string")this._addClasses(i.value)}else{let s=t.items.class;if(s)this._addClasses(s)}}}function mt(t,e){if(!t)throw Error(e)}function A(t){mt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ji(t,e,r,s,i,n){return A(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 ou=(t,e)=>e,cu=(t,e)=>[e,t],xr=(t)=>function(...e){return!t.apply(this,e)},xi=(t)=>function(...e){return-t.apply(this,e)};function un(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 Xi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class on{constructor(t){this.next=t}[Symbol.iterator](){return this}}function L(t){return new on(t)}function M(t){let e=[void 0,void 0],r={done:!1,value:void 0};return L(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var fu=L(()=>$),ct=()=>fu;function Xe(t){let e=0,r={done:!1,value:void 0};return L(()=>{if(e===t)return $;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 cn(t){if(Array.isArray(t))return!0;return!!He(t)}var _u=(t)=>!!(t&&typeof t.next==="function");function fn(t){return He(t)?.call(t)}function He(t){let e=t&&t[Symbol.iterator];if(typeof e==="function")return e}function lu(t){let e=He(t);return e&&e===t.entries}function au(t){let e=He(t);return e&&e===t.keys}var re="delete",z=5,q=1<<z,K=q-1,y={},Cr=()=>({value:!1});function T(t){if(t)t.value=!0}class Ze{}function At(t){if(t.size===void 0)t.size=t.__iterate(_n);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 _n=()=>!0,ln=(t)=>t<0||Object.is(t,-0),se=(t,e,r)=>(t===0&&!ln(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),an=(t,e,r)=>t===void 0?r:ln(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Rt=(t,e)=>an(t,e,0),ie=(t,e)=>an(t,e,e),pn="@@__IMMUTABLE_ITERABLE__@@",De="@@__IMMUTABLE_KEYED__@@",Re="@@__IMMUTABLE_INDEXED__@@",rt="@@__IMMUTABLE_ORDERED__@@",ne="@@__IMMUTABLE_SEQ__@@",dn="@@__IMMUTABLE_LIST__@@",yn="@@__IMMUTABLE_MAP__@@",gn="@@__IMMUTABLE_SET__@@",wn="@@__IMMUTABLE_STACK__@@",zn="@@__IMMUTABLE_RECORD__@@";function C(t,e){return typeof t==="object"&&t!==null&&e in t}var R=(t)=>C(t,pn),w=(t)=>C(t,De),j=(t)=>C(t,Re),Vr=(t)=>w(t)||j(t),F=(t)=>C(t,rt),vr=(t)=>C(t,ne),ts=(t)=>C(t,dn),he=(t)=>C(t,yn),es=(t)=>C(t,gn),rs=(t)=>C(t,wn),at=(t)=>C(t,zn),P=(t)=>R(t)||at(t),Be=(t)=>he(t)&&F(t),Sn=(t)=>es(t)&&F(t),Hi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function On(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=Tt,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 bn(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,y);return h===y?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 Mn(t,e){let r=G(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=On(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=Tt,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 En(t,e,r,s){let i=t.size;if(se(e,r,i))return t;if(i===void 0&&(e<0||r<0))return En(t.toSeq().cacheResult(),e,r,s);let n=Rt(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&&vr(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,d)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(p,s?d: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 L(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return $;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 d=_.next();if(d.done)return!1;return a++,p[0]=a-1,p[1]=d.value[1],!0})},c}function Zi(t,e,r){if(!e)e=un;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?us(n):j(t)?lt(n):Nt(n)}function Ke(t,e,r){if(!e)e=un;if(r){let s=t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Bi(e,i[1],n[1])?n:i);return s&&s[0]}return t.reduce((s,i)=>Bi(e,s,i)?i:s)}function Bi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Xr(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=m(_);return fn(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 qn(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 pu(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"&&(P(t)||Array.isArray(t)||pu(t));function jn(t){if(qn(t)&&typeof t!=="string")return t;if(F(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var du=(t,e)=>P(t)?t.has(e):st(t)&&Object.hasOwn(t,e);function In(t,e,r){return P(t)?t.get(e,r):!du(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function ss(t,e,r){let s=jn(e),i=0;while(i!==s.length)if(t=In(t,s[i++],y),t===y)return r;return t}var An=(t,e)=>ss(t,e,y)!==y;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!!(Hi(t)&&Hi(e)&&t.equals(e))}function We(t){if(!t||typeof t!=="object")return t;if(!R(t)){if(!st(t))return t;t=it(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=We(s)}),r}let e=[];return t.__iterate((r)=>{e.push(We(r))}),e}function is(t,e){if(t===e)return!0;if(!R(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=!Vr(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,y)):!I(t.get(u,y),h))return i=!1,!1;return!0});return i&&t.size===n}var Qe=(t)=>t>>>1&1073741824|t&3221225471;function x(t){if(t===null||t===void 0)return Qi(t);if(typeof t.hashCode==="function")return Qe(t.hashCode(t));let e=Su(t);if(e===null||e===void 0)return Qi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return yu(e);case"string":return e.length>Ou?gu(e):Pr(e);case"object":case"function":return zu(e);case"symbol":return wu(e);default:if(typeof e.toString==="function")return Pr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Qi=(t)=>t===null?1108378658:1108378659;function yu(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 Qe(e)}function gu(t){let e=Br[t];if(e===void 0){if(e=Pr(t),Zr===bu)Zr=0,Br={};Zr++,Br[t]=e}return e}function Pr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Qe(e)}function wu(t){let e=Yi[t];if(e!==void 0)return e;return e=$n(),Yi[t]=e,e}function zu(t){let e=Gi.get(t);if(e!==void 0)return e;return e=$n(),Gi.set(t,e),e}var Su=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function $n(){let t=++Hr;if(Hr&1073741824)Hr=0;return t}var Gi=new WeakMap,Yi=Object.create(null),Hr=0,Ou=16,bu=255,Zr=0,Br={};function Mu(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+Ci(x(i),x(n))|0}:(i,n)=>{s=s+Ci(x(i),x(n))|0}:e?(i)=>{s=31*s+x(i)|0}:(i)=>{s=s+x(i)|0}),Eu(t.size,s)}var Ci=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Eu(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=Qe(e^e>>>16),e}function kt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var b=(t,e)=>t===e?t:vr(t)?e:t.create?t.create(e):t.constructor(e),qu=(t,e)=>b(t,(w(t)?H:j(t)?pt:dt)(e)),Pi=(...t)=>t,m=(t)=>R(t)?t:it(t);class X{size=0;static{this.prototype[pn]=!0,this.prototype.__toStringMapper=kt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return is(this,t)}hashCode(){return this.__hash??(this.__hash=Mu(this))}toArray(){A(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 Rn(this)}toJS(){return We(this)}toKeyedSeq(){return new ls(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){A(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 Wn(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(!R(s))s=e?Un(s):Ln(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 Dn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){A(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,y);return h!==y&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,y);return u!==y&&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)=>qu(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return A(this.size),this.__iterate(e?t.bind(e):t)}join(t){A(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 L(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return b(this,bn(this,t,e))}reduce(t,e=y,r){return Ji(this,t,e,r,e===y,!1)}reduceRight(t,e=y,r){return Ji(this,t,e,r,e===y,!0)}reverse(){return b(this,Mn(this,w(this)))}slice(t,e){return b(this,En(this,t,e,w(this)))}some(t,e){A(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,Zi(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return L(()=>{let r=t.next();if(r.done)return $;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(cu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(xr(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(_n,null,t)}flatMap(t,e){return b(this,this.toSeq().map((r,s)=>(w(this)?H:j(this)?pt:dt)(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)&&R(_))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)&&R(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 Tn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return ss(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,y)!==y}hasIn(t){return An(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(ou).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Ke(this,t)}maxBy(t,e){return Ke(this,e,t)}min(t){return Ke(this,t?xi(t):Xi)}minBy(t,e){return Ke(this,e?xi(e):Xi,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(xr(t),e)}sortBy(t,e){return b(this,Zi(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 L(()=>{if(u)return $;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,$;return o})},b(this,s)}takeUntil(t,e){return this.takeWhile(xr(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:us(t);class ns extends X{static{this.prototype[De]=!0,this.prototype.__toStringMapper=(t,e)=>`${kt(e)}: ${kt(t)}`,this.prototype[Symbol.iterator]=X.prototype.entries,this.prototype.toJSON=function(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return b(this,On(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 pt=(t)=>j(t)?t:lt(t);class $t extends X{static{this.prototype[Re]=!0,this.prototype[rt]=!0}toKeyedSeq(){return new ls(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=y,...r){if(t===void 0)return this;let s=e!==y;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Rt(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=Xr(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(Pi,...t)}zipAll(...t){let e=[this,...t];return b(this,Xr(this,Pi,e,!0))}zipWith(t,...e){let r=[this,...e];return b(this,Xr(this,t,r))}}var dt=(t)=>R(t)&&!Vr(t)?t:Nt(t);class Ge extends X{static{this.prototype.has=X.prototype.includes,this.prototype.contains=X.prototype.includes,this.prototype.keys=Ge.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}m.Keyed=H;m.Indexed=pt;m.Set=dt;var Qr=$t.prototype,it=(t)=>t===void 0||t===null?fs():P(t)?t.toSeq():ju(t),G=(t)=>Object.create((w(t)?Wt:j(t)?yt:os).prototype);class ft extends X{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 L(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var hs={cacheResult:ft.prototype.cacheResult,__iterateUncached:ft.prototype.__iterateUncached,__iterate:ft.prototype.__iterate,__iterator:ft.prototype.__iterator},us=(t)=>t===void 0||t===null?fs().toKeyedSeq():R(t)?w(t)?t.toSeq():t.fromEntrySeq():at(t)?t.toSeq():Un(t);class Wt extends ns{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toKeyedSeq(){return this}}var lt=(t)=>t===void 0||t===null?fs():R(t)?w(t)?t.entrySeq():t.toIndexedSeq():at(t)?t.toSeq().entrySeq():Ln(t);lt.of=(...t)=>lt(t);class yt extends $t{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var Nt=(t)=>(R(t)&&!Vr(t)?t:lt(t)).toSetSeq();Nt.of=(...t)=>Nt(t);class os extends Ge{static{this.prototype[ne]=!0,Object.assign(this.prototype,hs)}toSeq(){return this}toSetSeq(){return this}}it.isSeq=vr;it.Keyed=us;it.Set=Nt;it.Indexed=lt;class ue 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 cs extends Wt{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 Kn 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=fn(e);if(!_u(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 fs=()=>new ue([]),_s=(t)=>qn(t)?new ue(t):cn(t)?new Kn(t):void 0;function Un(t){let e=_s(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new cs(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Ln(t){let e=_s(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=_s(t);if(e)return lu(t)?e.fromEntrySeq():au(t)?e.toSetSeq():e;if(typeof t==="object")return new cs(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Dn 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[De])this[De]=!0;if(i[Re])this[Re]=!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 L(()=>n()||$)}}class ls extends Wt{static{this.prototype[rt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Tt.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=Mn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=bn(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 Rn extends yt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 Wn extends os{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 Tn extends Wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){Fi(s),r++;let i=R(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){Fi(i);let n=R(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Tt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return ft.prototype.cacheResult.call(this)}function Fi(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var B=(t)=>t===void 0||t===null?Z():he(t)&&!F(t)?t:Z().withMutations((e)=>{let r=H(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class as extends ns{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,merge:Fr,mergeWith:Qn,mergeDeep:Yn,mergeDeepWith:Cn,mergeDeepIn:js,mergeIn:qs,setIn:bs,update:Ms,updateIn:Es,wasAltered:Os,withMutations:fe,removeIn:Kt,concat:Fr,[yn]:!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 B(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 ki(this,t,e)}remove(t){return ki(this,t,y)}deleteAll(t){let e=m(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 Z()}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 Ue(this._root,!1,0)}values(){if(!this._root)return ct();return Ue(this._root,!1,1)}entries(){if(!this._root)return ct();return Ue(this._root,!1)}__iterator(t){if(!this._root)return ct();return Ue(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 Z();return this.__ownerID=t,this.__altered=!1,this}return ys(this.size,this._root,t,this.__hash)}}B.isMap=he;class ps{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Jn(this.entries,r,s)}iterate(t,e){return xn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===y,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(T(h),u||!_)T(n);if(u&&f===1)return;if(!_&&!u&&f>=Lu)return Iu(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 ps(t,a)}}class Ye{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Xn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&K),n=this.bitmap;return(n&i)===0?s:this.nodes[Vi(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===y)return this;let _=Vi(c&o-1),l=this.nodes,a=f?l[_]:void 0,p=gs(a,t,e+z,r,s,i,n,h);if(p===a)return this;if(!f&&p&&l.length>=Du)return $u(t,l,c,u,p);if(f&&!p&&l.length===2&&Ni(l[_^1]))return l[_^1];if(f&&p&&l.length===1&&Ni(p))return p;let d=t&&t===this.ownerID,S=f?p?c:c^o:c|o,O=f?p?Hn(l,_,p,d):Uu(l,_,d):Ku(l,_,p,d);if(d)return this.bitmap=S,this.nodes=O,this;return new Ye(t,S,O)}}class ds{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Xn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&K,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)&K,o=i===y,c=this.nodes,f=c[u];if(o&&!f)return this;let _=gs(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<Ru)return Au(t,c,l,u)}let a=t&&t===this.ownerID,p=Hn(c,u,_,a);if(a)return this.count=l,this.nodes=p,this;return new ds(t,l,p)}}class Ce{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Jn(this.entries,r,s)}iterate(t,e){return xn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===y)return this;return T(h),T(n),ws(this,t,e,r,[s,i])}let u=i===y,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(T(h),u||!_)T(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 Ce(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===y,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(T(h),u){T(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new gt(t,this.keyHash,[s,i])}return T(n),ws(this,t,e,x(s),[s,i])}}function Jn(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 xn(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 Xn(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 Ue(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 L(()=>{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 $})}var ys=(t,e,r,s)=>new as(t,e,r,s),mi,Z=()=>mi||(mi=ys(0));function ki(t,e,r){let s,i;if(!t._root){if(r===y)return t;i=1,s=new ps(t.__ownerID,[[e,r]])}else{let n=Cr(),h=Cr();if(s=gs(t._root,t.__ownerID,0,x(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===y?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?ys(i,s):Z()}function gs(t,e,r,s,i,n,h,u){if(!t){if(n===y)return t;return T(u),T(h),new gt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var Ni=(t)=>t.constructor===gt||t.constructor===Ce;function ws(t,e,r,s,i){if(t.keyHash===s)return new Ce(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new gt(e,s,i),o=n===h?[ws(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Ye(e,1<<n|1<<h,o)}function Iu(t,e,r,s){if(!t)t=new Ze;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 Au(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 Ye(t,i,h)}function $u(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 ds(t,n+1,h)}function Vi(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 Hn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Ku(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 Uu(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 Lu=q/4,Du=q/2,Ru=q/4;function Te(t){if(Array.isArray(t))return t.slice();return{...t}}var zs=(t,e,r)=>Ss(t,e,Wu(r));function Ss(t,e,r){if(!st(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(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?pt:H,h=s?(u)=>{if(i===t)i=Te(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=Te(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Wu(t){function e(r,s,i){return st(r)&&st(s)&&Tu(r,s)?Ss(r,[s],e):t?t(r,s,i):s}return e}function Tu(t,e){let r=it(t),s=it(e);return j(r)===j(s)&&w(r)===w(s)}function Ju(t,e){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=Te(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function xu(t,e,r){if(!st(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=Te(t);return s[e]=r,s}function Jt(t,e,r,s){if(!s)s=r,r=void 0;let i=Zn(P(t),t,jn(e),0,r,s);return i===y?r:i}function Zn(t,e,r,s,i,n){let h=e===y;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(kt)}]: ${e}`);let u=r[s],o=h?y:In(e,u,y),c=Zn(o===y?t:P(o),o,r,s+1,i,n);if(c===o)return e;if(c===y)return Ju(e,u);let f=h?t?Z():{}:e;return xu(f,u,c)}var Xu=(t,e)=>Jt(t,e,()=>y),Hu=(t,e,r)=>Jt(t,e,y,()=>r);function Bn(t,e,r,s){return Jt(t,[e],r,s)}function oe(){return this.__ensureOwner()}function ce(){return this.__ownerID?this:this.__ensureOwner(new Ze)}function Os(){return this.__altered}function fe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Zu(t,e){return ss(this,t,e)}function Bu(t){return An(this,t)}function Kt(t){return Xu(this,t)}function bs(t,e){return Hu(this,t,e)}function Ms(t,e,r){return typeof t==="function"?t(this):Bn(this,t,e,r)}function Es(t,e,r){return Jt(this,t,e,r)}function vi(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function Fr(...t){return Gn(this,t)}function Qn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Gn(this,e,t)}function Gn(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)=>{Bn(i,u,y,(o)=>o===y?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function Yn(...t){return zs(this,t)}function Cn(t,...e){return zs(this,e,t)}function qs(t,...e){return Jt(this,t,Z(),(r)=>Ss(r,e))}function js(t,...e){return Jt(this,t,Z(),(r)=>zs(r,e))}function wt(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=Vt();if(t===void 0||t===null)return e;if(ts(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(A(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))})};U.of=(...t)=>U(t);class Pn extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,mergeDeepIn:js,mergeIn:qs,setIn:bs,update:Ms,updateIn:Es,wasAltered:Os,withMutations:fe,removeIn:Kt,[dn]:!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 U(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=et(this,t),t>=0&&t<this.size){t+=this._origin;let r=kn(this,t);return r&&r.array[t&K]}return e}set(t,e){return Gu(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 Vt()}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=pt(typeof r!=="string"&&cn(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 U(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,Rt(t,r),ie(e,r))}__iterate(t,e){let r=e?this.size:0;return Qu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=tn(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 tn(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Vt();return this.__ownerID=t,this.__altered=!1,this}return _e(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=ts;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&K;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=Ut(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&K;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=Ut(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function tn(t,e){let{_origin:r,_capacity:s}=t,i=Lt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return L(()=>{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 $});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 Qu(t,e,r){let{_origin:s,_capacity:i}=t,n=Lt(i),h=t._tail,u=t._level,o=t._root;return u===0?Fn(o,0,s,i,n,h,e,r):mn(o,u,0,s,i,n,h,e,r)}function Fn(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 mn(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?Fn(c?.[a],p,s,i,n,h,u,o):mn(c?.[a],l,p,s,i,n,h,u,o))===!1)return!1}}var _e=(t,e,r,s,i,n,h)=>new Pn(t,e,r,s,i,n,h),Vt=()=>_e(0,0,z);function Gu(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=Cr();if(e>=Lt(t._capacity))s=mr(s,t.__ownerID,0,e,r,n);else i=mr(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 mr(t,e,r,s,i,n){let h=s>>>r&K,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=mr(c,e,r-z,s,i,n);if(f===c)return t;return o=Ut(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)T(n);if(o=Ut(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Ut(t,e){if(e&&e===t?.ownerID)return t;return new _t(t?.array.slice()??[],e)}function kn(t,e){if(e>=Lt(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&K],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 Ze,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 _=Lt(n),l=Lt(u);while(l>=1<<o+z)c=new _t(c?.array.length?[c]:[],s),o+=z;let a=t._tail,p=l<_?kn(t,u-1):l>_?new _t([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Ut(c,s);let d=c;for(let S=o;S>z;S-=z){let O=_>>>S&K;d=d.array[O]=Ut(d.array[O],s)}d.array[_>>>z&K]=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 d=h>>>o&K;if(d!==l>>>o&K)break;if(d)f+=(1<<o)*d;o-=z,c=c.array[d]}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 _e(h,u,o,c,p)}var Lt=(t)=>t<q?0:t-1>>>z<<z,Y=(t)=>t===void 0||t===null?vt():Be(t)?t:vt().withMutations((e)=>{let r=H(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});Y.of=(...t)=>Y(t);class Nn extends as{static{wt(this,{[rt]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:X.prototype.keys,values:X.prototype.values,__iterate:X.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 en(this,t,e)}remove(t){return en(this,t,y)}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 Is(e,r,t,this.__hash)}}Y.isOrderedMap=Be;var Is=(t,e,r,s)=>new Nn(t,e,r,s),vt=()=>Is(Z(),Vt());function en(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===y){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=Vt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Z().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 Is(u,o)}var Je=(t)=>t===void 0||t===null?xe():rs(t)?t:xe().pushAll(t);Je.of=(...t)=>Je(t);class Vn extends $t{static{wt(this,{asImmutable:oe,asMutable:ce,wasAltered:Os,withMutations:fe,[wn]:!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 Je(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 Gr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&rs(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Gr(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 xe()}slice(t,e){if(se(t,e,this.size))return this;let r=Rt(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 Gr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return xe();return this.__ownerID=t,this.__altered=!1,this}return As(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 L(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}Je.isStack=rs;function Gr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return As(e,r)}var As=(t,e,r,s)=>new Vn(t,e,r,s),rn,xe=()=>rn||(rn=As(0)),E=(t)=>t===void 0||t===null?te():es(t)&&!F(t)?t:te().withMutations((e)=>{let r=dt(t);A(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=m(t).toArray(),t.length?E(t.pop()).intersect(...t):te()};E.union=(t)=>{let e=m(t).toArray();return e.length?E(e.pop()).union(...e):te()};class $s extends Ge{static{wt(this,{withMutations:fe,asImmutable:oe,asMutable:ce,[gn]:!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 Le(this,this._map.set(t,t))}remove(t){return Le(this,this._map.remove(t))}clear(){return Le(this,this._map.clear())}map(t,e){let r=!1,s=Le(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 dt(r).forEach((s)=>e.add(s))})}intersect(...t){return nn(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return nn(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 vn(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=es;var vn=(t,e)=>new $s(t,e),sn,te=()=>sn||(sn=vn(Z()));function nn(t,e,r){if(e.length===0)return t;return e=e.map((s)=>dt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Le(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 Dt=(t)=>t===void 0||t===null?kr():Sn(t)?t:kr().withMutations((e)=>{let r=dt(t);A(r.size),r.forEach((s)=>e.add(s))});Dt.of=(...t)=>Dt(t);Dt.fromKeys=(t)=>Dt(H(t).keySeq());class th extends $s{static{wt(this,{[rt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Qr.zip,zipWith:Qr.zipWith,zipAll:Qr.zipAll})}create(t){return Dt(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return kr()}__make(t,e){return eh(t,e)}}Dt.isOrderedSet=Sn;var eh=(t,e)=>new th(t,e),kr=()=>eh(vt());function Yu(t){if(at(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(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;Yu(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 ${Ks(this)} with property "${f}" since that property name is part of the Record API.`);else Pu(i,f)}}return this.__ownerID=void 0,this._values=U().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(Cu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class rh{static{wt(this,{asImmutable:oe,asMutable:ce,deleteIn:Kt,getIn:Zu,hasIn:Bu,merge:Fr,mergeWith:Qn,mergeDeep:Yn,mergeDeepWith:Cn,mergeDeepIn:js,mergeIn:qs,setIn:bs,toObject:vi,update:Ms,updateIn:Es,withMutations:fe,removeIn:Kt,toJSON:vi,[zn]:!0,[re]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${kt(this.get(e))}`).join(", ");return`${Ks(this)} { ${t} }`}equals(t){return this===t||at(t)&&It(this).equals(It(t))}hashCode(){return It(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 Yr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Yr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return It(this)}toJS(){return We(this)}entries(){return this.__iterator()}__iterate(t,e){return It(this).__iterate(t,e)}__iterator(t){return It(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 Yr(this,e,t)}}le.isRecord=at;var Ks=(t)=>t.constructor.displayName||t.constructor.name||"Record";class sh extends Wt{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 It=(t)=>new sh(t);le.getDescriptiveName=Ks;var Cu=rh.prototype;function Yr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Pu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){mt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var hn=(t,e,r=1)=>{if(mt(r!==0,"Cannot step a Range by 0"),mt(t!==void 0,"You must define a start value when using Range"),mt(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 Us(t,e,r,s)};class Us 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(se(t,e,this.size))return this;if(t=Rt(t,this.size),e=ie(e,this.size),e<=t)return hn(0,0);return hn(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 L(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Us?this._start===t._start&&this._end===t._end&&this._step===t._step:is(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}class Nr 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 se(t,e,r)?this:new Nr(this._value,ie(e,r)-Rt(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 L(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof Nr?this.size===t.size&&I(this._value,t._value):is(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var ih=Symbol("BadValue"),oh=(t)=>t;class W{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,ih);if(h===ih)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 Ds{isValid(t){return!0}getMessage(t){return"Invalid"}}class ch extends Ds{}var Fu=new ch;class k extends Ds{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var mu=new k((t)=>Number.isInteger(t),()=>"Integer expected"),ku=new k((t)=>Number.isFinite(t),()=>"Float expected"),Nu=new k((t)=>typeof t==="boolean",()=>"Boolean expected"),Vu=new k((t)=>typeof t==="string",()=>"String expected"),vu=new k((t)=>U.isList(t),()=>"List expected"),to=new k((t)=>B.isMap(t),()=>"Map expected"),eo=new k((t)=>Y.isOrderedMap(t),()=>"OrderedMap expected"),ro=new k((t)=>E.isSet(t),()=>"Set expected"),so=(t)=>!!t;class Rs extends W{constructor(t,e=!1){super("bool",t,Nu,so,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 W{constructor(t,e=null){super("any",t,Fu,oh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ls(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var io=(t)=>t?.toString?.()??"";class Ws extends W{constructor(t,e=""){super("text",t,Vu,io,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 no=(t)=>Number.isFinite(t)?Math.trunc(t):null;class fh extends W{constructor(t,e=0){super("int",t,mu,no,e)}}var ho=(t)=>null;class Ts extends W{constructor(t,e=0){super("float",t,ku,ho,e)}}var Ls=(t)=>t?.constructor?.getMetaClass?.()?.name;class _h{constructor(t){this.typeName=t}isValid(t){return Ls(t)===this.typeName}getMessage(t){let e=Ls(t);return`Expected "${this.typeName}", got "${e}"`}}class lh extends W{constructor(t,e,r){super(t,e,new _h(t),oh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var nh=Symbol("NONE");function xt(t,e,r){ph(t,e,ah),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,nh);if(u!==nh)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 ah=U(),uo=(t)=>Array.isArray(t)?U(t):null;class Js extends W{constructor(t,e=ah){super("list",t,vu,uo,e)}extendProtoForType(t,e){let{name:r}=this;xt(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 oo=(t)=>B(t);class xs extends W{constructor(t,e=B()){super("map",t,to,oo,e)}extendProtoForType(t,e){xt(t,this.name,e)}}var co=(t)=>Y(t);class Xs extends W{constructor(t,e=Y()){super("omap",t,eo,co,e)}extendProtoForType(t,e){xt(t,this.name,e)}}function ph(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 hh=E(),fo=(t)=>Array.isArray(t)?E(t):t instanceof Set?E(t):null;class Hs extends W{constructor(t,e=hh){super("set",t,ro,fo,e)}extendProtoForType(t,e){let{name:r}=this;ph(t,r,hh),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 uh(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 dh{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]=uh(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]=uh(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 lh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Fe=new Map,_o={text:Ws,int:fh,float:Ts,bool:Rs,list:Js,map:xs,omap:Xs,set:Hs,any:Pe};function lo(t,{fields:e={},methods:r,statics:s}){let i=new dh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Ws);else if(u==="number")i.addField(n,h,Ts);else if(u==="boolean")i.addField(n,h,Rs);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),Js);else if(E.isSet(h)||h instanceof Set)i.addField(n,E(h),Hs);else if(Y.isOrderedMap(h))i.addField(n,h,Xs);else if(h?.type&&h?.defaultValue!==void 0){let o=_o[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(B.isMap(h)||h?.constructor===Object)i.addField(n,B(h),xs);else{let o=Fe.get(h?.constructor)??Pe;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var ao=(t)=>new Ir(t.name??"Comp",lo(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 po=["nid","cid","eid","vid","si","sk"];class Zs{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??Oo,this.cache=h??new Mr}setNullCache(){this.cache=new br}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 po)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 d={key:a,value:p},S=`${s}-${a}`,O;if(f)u.call(t.it,d,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 Ot=t.enter(p,d,!1),bt=r.render(Ot,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),f)this.cache.set2(t.it,p,S,bt);else this.cache.set(p,S,bt);_.push(bt)}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*yo(t){let e=0;for(let r of t)yield[e++,r]}function*go(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var me=new Map,wo=["si",yo],zo=["sk",go],So=["si",function*(e){}];function Oo(t){return j(t)?wo:w(t)?zo:me.get(t?.constructor)??So}class zt{constructor(t=B(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new zt(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var bo=(t)=>null;class yh{isValid(t){return t instanceof zt}getMessage(t){return"KList expected"}}var Mo=new yh;class gh extends W{constructor(t,e=new zt){super("KList",t,Mo,bo,e)}extendProtoForType(t,e){xt(t,this.name,e);let{name:r}=this;xt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}Fe.set(zt,gh);function*Eo(t){for(let e of t.order)yield[e,t.items.get(e)]}me.set(zt,["data-sk",Eo]);function Bs(t){return t[4]==="-"&&(t[0]==="d"||t[0]==="a")}function wh(t,e){return t[e]}function ae(t,e,r){t[e]=r}function Sh(t,e,r){for(let s in e){let i=e[s];if(i===void 0)qo(t,s,r);else if(Bs(s))t.setAttribute(s,i);else if(typeof i==="object"&&i!==null)jo(t,r,s,i);else ae(t,s,i)}}function qo(t,e,r){let s=r[e];if(Bs(e))t.removeAttribute(e);else if(typeof s==="string"){ae(t,e,"");let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else ae(t,e,null)}function jo(t,e,r,s){let i=e?.[r];if(i&&typeof i==="object"&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){ae(t,r,s);return}let n=wh(t,r);if(typeof n!=="object"||n===null)ae(t,r,{}),n=wh(t,r);let h=n;for(let u in s)h[u]=s[u]}class Oh{constructor(t,e){this.type=t,this.message=e}}class bh extends Oh{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 Mh(t){return t instanceof Ht?t.key:void 0}function St(t,e){let r=Mh(t);return r&&e?.has(r)?void 0:r}function Io(t){return t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function"}function Qs(t,e){if(e==null)return;if(Io(e))for(let r of e)Qs(t,r);else if(e instanceof Zt)if(e instanceof N)t.push(...e.childs);else t.push(e);else t.push(new pe(e))}class pe extends Zt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof pe&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Xt extends Zt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Xt&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class N extends Zt{constructor(t){super();let e=[];Qs(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 Ht 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 Ht)||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 Eh(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=Eh(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 Ao(t,e){let r=ke(e);if(r.free.length===e.length)return{children:e,moves:null,duplicatedKeys:r.duplicatedKeys};let s=ke(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=ke(e,i);n=p.keys,h=p.free,u=ke(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 d=t[p],S=St(d,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 d=e[p],S=St(d,i);if(S){if(!Object.hasOwn(u,S))o.push(d)}else if(p>=l)o.push(d)}let a=$o(o,e,n,i,_);return{children:o,moves:a,duplicatedKeys:i}}function $o(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]=St(e[f],s);for(let f=0;f<e.length;){let _=c[f],l=n[h],a=St(l,s);while(l===null&&n.length)n.splice(h,1),u.push({from:h,key:null}),l=n[h],a=St(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=St(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:St(f,s)})}if(u.length===i&&!o.length)return null;return{removes:u,inserts:o}}function ke(t,e){let r={},s=[],i=null;for(let n=0;n<t.length;n++){let h=Mh(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 Ko(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}function qh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(e instanceof pe&&r instanceof pe||e instanceof Xt&&r instanceof Xt)return t.data=r.text,t;if(e instanceof Ht&&r instanceof Ht&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=Eh(e.attrs,r.attrs);if(i)Sh(t,i,e.attrs);return zh(t,e.childs,r.childs,e.tag,s),t}if(e instanceof N&&r instanceof N)return zh(t,e.childs,r.childs,null,s),t;return Ko(t,r,s)}function zh(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=Ao(e,r),h=n.children;if(n.duplicatedKeys&&i.onWarning)i.onWarning(new bh(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 d=p.toDom(i);if(d)t.appendChild(d)}else if(a&&p){let d=u[l];if(d)qh(d,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)Uo(t,n.moves)}function Uo(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 Ne=new WeakMap;function jh(t,e,r){let s=Ne.get(e),i=t instanceof N;if(s){let h=s.vnode instanceof N;if(h===i){let u=h?e:s.dom,o=qh(u,s.vnode,t,r);return Ne.set(e,{vnode:t,dom:i?e:o}),o}Ne.delete(e)}let n=t.toDom(r);if(n)e.innerHTML="",e.appendChild(n),Ne.set(e,{vnode:t,dom:i?e:n});return n}function Ih(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(Bs(o))i[o]=String(e[o]);else i[o]=e[o];let u=[];return Qs(u,r),new Ht(s,i,u,n,h)}var{raw:Mc,raw:Ec}=String;function qc(t,e){return new wr(t,e)}var Lo=(t)=>typeof t==="string"?document.querySelector(t):t;function jc(t){let e=Lo(t),r=new je,s=(o)=>new N(o),i=(o)=>new Xt(o),n={document},h=(o,c)=>jh(o,c,n),u=new Zs(r,Ih,s,i,h);return new Jr(e,h,r,u,ot)}async function Wc(t,e,r="margaui-css"){let s=performance.now(),i=await Do(t,e),n=performance.now();return Ae(r,i),n-s}async function Do(t,e,r){t.ParseContext=$e,t.compile();let s=new Set(r??[]);for(let i of t.comps.byId.values())for(let n in i.views){let h=i.views[n];for(let u of h.ctx.classes)s.add(u)}return await e(Array.from(s))}export{jc as tutuca,me as seqInfoByClass,qc as macro,Be as isOrderedMap,Be as isOMap,he as isMap,ts as isList,w as isKeyed,j as isIndexed,he as isIMap,Ae as injectCss,Ec as html,Fe as fieldsByClass,Mc as css,ao as component,Do as compileClassesToStyleText,Wc as compileClassesToStyle,le as Record,ot as ParseContext,Y as OMap,U as List,zt as KList,E as ISet,B as IMap};