tutuca 0.9.11 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tutuca-dev.js +180 -224
- package/dist/tutuca-dev.min.js +3 -3
- package/dist/tutuca-extra.js +158 -200
- package/dist/tutuca-extra.min.js +3 -3
- package/dist/tutuca.js +152 -194
- package/dist/tutuca.min.js +3 -3
- package/package.json +1 -1
package/dist/tutuca-extra.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
class Xt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class qt extends Xt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new qt({...this.binds,key:t})}withKey(t){return new qt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class de 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 hr(this.field,t)}withKey(t){return new nr(this.field,t)}}class ir 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 nr extends ir{}class hr extends ir{}var T=Symbol("NONE");class ur extends Xt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,T),s=t?.get(this.keyField,T);return s!==T&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,T),s=t?.get(this.keyField,T);return r===T||s===T?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,T),r===T)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,T),s===T)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,T),r===T)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=[],f=null,c=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=vs(t.previousSibling),{eid:w,cid:S,vid:j}=t.dataset;if(w!==void 0)o.push(w);if(S!==void 0){let Mt=i.getComponentForId(+S,j);if(_){if(f=Kh(Mt,o,j,e),f===null&&n)return Dh;_=!1}let bt=Lh(Mt,c,j);if(bt)h.push(bt);o=[],c=[]}if(l!==void 0)c.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new v(h.reverse()),f]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return v.fromNodeAndEventName(h,n,e,r,s,i)}}var ms={};function vs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=vs(t.previousSibling);if(e!==ms)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return ms}function Kh(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 Lh(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],f=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(f!==null)return h!==void 0?f.withIndex(+h):u?f.withKey(u):f}return null}var Dh=[null,null];class or{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 hr(t,e))}key(t,e){return this.add(new nr(t,e))}}var Wh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Wh.test(t),Rh=/^-?[0-9]+(\.[0-9]+)?$/,ti=(t,e)=>cr.parse(t,e),Qt=(t,e)=>new H(t),Th=(t,e)=>ht(t)?new ut(t):null,Jh=(t,e)=>ht(t)?new ni(t):null,Zh=(t,e)=>ht(t)?new lr(t):null,Hh=(t,e)=>ht(t)?new oi(t):null,Xh=(t,e)=>ht(t)?new fi(t):null,Qh=(t,e)=>ht(t)?new ci(t):null,Gh=(t,e)=>ht(t)?new hi(t):null;class ei{constructor(){this.allowFieldOnly(),this.bindValIt=new lr("it"),this.nullConstVal=new H(null)}const(t){return new H(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 _i(s,i):null}parse(t,e){switch(Yh(t)){case li:return this.parseIfOk(t,e,this.okStrTpl,ti);case yi:return this.parseIfOk(t,e,this.okStrTpl,Qt);case ai:return this._parseSeqAccess(t,e);case ze:return this.parseIfOk(t,e,this.okStrTpl,ti)}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,Zh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Hh);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Xh);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,Qh);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,Gh)}let s=Rh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.parseIfOk(s,e,this.okConst,Qt);else if(t==="true"||t==="false")return this.parseIfOk(t==="true",e,this.okConst,Qt);else if(r>=97&&r<=122)return this.parseIfOk(t,e,this.okName,Th);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,Jh);return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,ri)}parseAlter(t,e){return this._parseHandler(t,e,si)}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 Se{render(t,e){}eval(t){}toPathItem(){return null}}class H extends Se{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 fr extends Se{}class cr extends fr{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)==="}"?p.parseText(h.slice(1,-1),e):new H(h);s[n]=o,i&&=o instanceof H}return i?new H(s.map((n)=>n.value).join("")):new cr(s)}}class ut extends fr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class ri extends ut{eval(t){return t.getInputHandler(this.name)??ii("input",this.name)}}class si extends ut{eval(t){return t.getAlterHandler(this.name)??ii("alter",this.name)}}var ii=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ni extends ut{eval(t){return t.lookupType(this.name)}}class hi extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ui extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class _r extends Se{render(t,e){return this.eval(t)}}class Gt extends _r{constructor(t){super();this.name=t}}class lr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class oi extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class fi extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new de(this.name)}toRawFieldVal(){return new ui(this.name)}toString(){return`.${this.name}`}}class ci extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class _i extends _r{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ur(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 li=0,ai=1,ze=2,yi=3;function Yh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return ze;e+=1;break;case 93:if(r>0||e===0)return ze;r+=1;break;case 123:return li;case 125:return yi}if(e>0||r>0)return e===1&&r===1?ai:ze;return-1}var p=new ei;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return pr(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",Ch=new Set(Bh.split(","));class gi{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?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new Me(t,s)),this.hasDynamic||=!(s instanceof H)}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=p.parseCondValue(e,this.px);if(r)this.ifAttr=new di(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Yt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Yt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=wr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new Oe("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new wi(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.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=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.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===""&&Ch.has(n)?!0:h;this.attrs.push(new Oe(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new pi(r):yr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class yr 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 yr(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 pi 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 Oe(t,new H(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.value.toString();return t}}class gr{constructor(t){this.name=t}}class Me extends gr{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class Oe extends Me{}class wi extends Me{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var Yt=p.nullConstVal;class di extends gr{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 ar=null;function pr(t){return ar??=new gi(t),ar.clear(t),ar}class wr{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=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new wr(i,n)}}class dr{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class jt{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Pt extends jt{constructor(t){super();this.v=t}render(t,e){return e.renderText(this.v)}isWhiteSpace(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.v=""}isConstant(){return!0}setDataAttr(t,e){}}class Ct extends Pt{render(t,e){return e.renderComment(this.v)}}function Ph(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Er(r);else r.optimize()}}function Or(t){if(t.isConstant())return new Er(t);return t.optimize(),t}class Mr extends jt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Ph(this.childs)}}class be extends Mr{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 qe extends Mr{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 Bt=(t)=>t.length===1?t[0]:new qe(t),xh=/^[a-zA-Z][a-zA-Z0-9-]*$/,zi=null;class tt extends jt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){zi??=e.newDOMParser();let r=zi.parseFromString(t,"text/html").body.childNodes;return tt.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]=tt.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Bt(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new je(null,p.const(u),Bt(n));case"text":{let f=p.parseText(u,e);return f!==null?new Sr(null,f):null}case"render":return e.addNodeIf(ji,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(Ai,p.bindValIt,o);case"render-each":return qr.parse(e,p,u,o,s);case"show":return e.addNodeIf(jr,p.parseCondValue(u,e),Bt(n));case"hide":return e.addNodeIf(Ar,p.parseCondValue(u,e),Bt(n))}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 f=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[f]??Bt(n)}let[u,o]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),Si(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(xh.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new Sr(null,o));let f=i!=="PRE"?mh(n):n;return Si(new be(i.toLowerCase(),h,f),e,u)}return new Ct(`Error: InvalidTagName ${i}`)}}function Si(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Fh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Fh(t,e){let r=Nh[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class Ei extends jt{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new 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=Or(this.node)}}class br{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return tt.parse(this.rawView,t)}}class Ee extends tt{constructor(t,e,r){super(t,e);this.viewId=r}}class ji extends Ee{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Ai extends Ee{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class qr extends Ee{constructor(t,e,r){super(t,e,r);this.iterInfo=new $r(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(qr,e.parseEach(r,t),s);if(n!==null){let h=pr(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 Sr extends tt{render(t,e){return e.renderText(this.val.eval(t))}}class Er extends jt{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ot extends tt{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=Or(this.node)}static register=!1}class jr extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Ar extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class $i extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class je extends ot{optimize(){this.node.optimize()}}class Ui extends ot{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new qt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ii extends ot{constructor(t,e){super(t,e);this.iterInfo=new $r(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new qt({})}static register=!0}class $r{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)??Vh,s=this.loopWithVal?.eval(t)??kh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var Vh=(t,e,r)=>!0,kh=(t)=>({seq:t}),Nh={slot:je,show:jr,hide:Ar,each:Ii,scope:Ui,"push-view":$i};class ft{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 ft(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 Ki(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new qe(s)};for(let h of r)if(h instanceof je)i[h.val.value]=h.node;else if(!(h instanceof Pt)||!h.isWhiteSpace())s.push(h);let n=new Ei(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 zr=(t)=>t instanceof Pt&&t.isWhiteSpace(),Oi=(t)=>t instanceof be||t instanceof qe&&t.childs[0]instanceof be;function mh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(zr(t[0]))r=1,s=!0;if(e>1&&zr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(zr(n)&&Oi(t[i-1])&&Oi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Ae{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=tt.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=Or(this.anode)}render(t,e){return this.anode.render(t,e)}}class Ki{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Li(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 Li{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=iu(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 vh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),$e=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,Mi=(t)=>$e((e)=>e.e.key===t),bi=$e(({e:t})=>vh&&t.metaKey||t.ctrlKey),tu=$e(({e:t})=>t.metaKey),eu=$e(({e:t})=>t.altKey),qi={ctrl:bi,cmd:bi,meta:tu,alt:eu},ru={keydown:{send:Mi("Enter"),cancel:Mi("Escape"),...qi},click:{...qi}},su=(t,e)=>t;function iu(t,e){if(e.length===0)return su;let r=ru[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 Ur{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 Ir{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 Kr{getKey(t,e,r){return r.call(t)}}class Lr{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 Ue{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Lr}setNullComputedCache(){this.computedCache=new Kr}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:Wi}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
|
|
3
|
-
`)}}function Wi(t){return t}var Ri=Symbol("STOP"),Jr=Symbol("NEXT");class xt{constructor(t,e){this.head=t,this.tail=e}push(t){return new xt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ri?e:s===Jr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Rr{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Ri:Jr:e}}class Tr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Jr:e}}class Q{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 Q(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new xt(new Rr(e,{it:e},!0),null),i=new xt(new Tr({}),null),n=new xt("main",null);return new Q(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 Rr(t,e,r));return new Q(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 Q(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let f of t)r.dynamic[f].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Tr(e));return new Q(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){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.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 Ji{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 Hr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ji(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 Gr(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 Xi(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)??hu(e),o=s?.onResName??e,f=(c,_,l,a,y)=>{let S=new Hi(t,this,c??_,c?[l]:[a,y],i);return this.pushTransaction(S)};try{let c=await u.fn.apply(null,r);return f(s?.onOkName,o,c,c,null)}catch(c){return f(s?.onErrorName,o,c,null,c)}}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 Zi(t,e,r,this,s))}}function hu(t){return()=>{throw Error(`Request not found: ${t}`)}}function uu(){return this}class Xr{constructor(t,e){this.path=t,this.transactor=e,this.parentTransaction=null,this._task=null}get task(){return this._task??=new Qi,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 Q.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 ou=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ti=(t)=>Number.isNaN(t)?null:t;function Zr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Zi extends Xr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return Q.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 Yr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Zr(e);case"valueAsInt":return Ti(parseInt(Zr(e),10));case"valueAsFloat":return Ti(parseFloat(Zr(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 ou&&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 Br(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Qr extends Xr{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]??uu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Br(this.path,this.transactor,this)]]}}class Hi extends Qr{handlerProp="response"}class Gr extends Qr{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 Xi extends Gr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Qi{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 Yr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Gi(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 Br extends Yr{stopPropagation(){return this.parent.stopPropagation()}}class Gi extends or{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 Cr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ie(r),this.transactor=new Hr(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,f]=v.fromEvent(t,i,n,h,u);if(r){let c=fu(t.target,this.rootNode,50);if(c!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=c,c.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let c=this.state.value,_=o.lookup(c),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(c));this.dragInfo=new Yi(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&f!==null)for(let c of f)this.transactor.transactInputNow(o,t,c,this.dragInfo)}makeStack(t){return Q.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()}),Ke("tutuca-app",this.comps.compileStyles(),t?.head??document.head),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 Ke(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function fu(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Yi{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 Le extends ft{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,c=new Le(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return c.classes=this.classes,c}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)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.value==="string")this._addClasses(t.value)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof H&&e.value!=="")this._addClasses(e.value);return!0}return!1}}function Ft(t,e){if(!t)throw Error(e)}function U(t){Ft(t!==1/0,"Cannot perform this action with an infinite size.")}function Bi(t,e,r,s,i,n){return U(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var cu=(t,e)=>e,_u=(t,e)=>[e,t],Pr=(t)=>function(...e){return!t.apply(this,e)},Ci=(t)=>function(...e){return-t.apply(this,e)};function ln(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Pi=(t,e)=>t<e?1:t>e?-1:0,I={done:!0,value:void 0};class an{constructor(t){this.next=t}[Symbol.iterator](){return this}}function W(t){return new an(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return W(()=>{if(t(e))return r.value=[e[0],e[1]],r;return I})}var lu=W(()=>I),ct=()=>lu;function Ye(t){let e=0,r={done:!1,value:void 0};return W(()=>{if(e===t)return I;return r.value=e++,r})}function se(t,e){return q((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function hs(t){if(Array.isArray(t))return!0;return!!Be(t)}var au=(t)=>typeof t?.next==="function";function yn(t){return Be(t)?.call(t)}function Be(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function yu(t){let e=Be(t);return e&&e===t.entries}function gu(t){let e=Be(t);return e&&e===t.keys}var ie="delete",z=5,E=1<<z,K=E-1,g={},ts=()=>({value:!1});function X(t){if(t)t.value=!0}class Ce{}function It(t){if(t.size===void 0)t.size=t.__iterate(gn);return t.size}function rt(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?It(t)+e:e}var gn=()=>!0,pn=(t)=>t<0||Object.is(t,-0),ne=(t,e,r)=>(t===0&&!pn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),wn=(t,e,r)=>t===void 0?r:pn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Wt=(t,e)=>wn(t,e,0),he=(t,e)=>wn(t,e,e),dn="@@__IMMUTABLE_ITERABLE__@@",Je="@@__IMMUTABLE_KEYED__@@",Ze="@@__IMMUTABLE_INDEXED__@@",st="@@__IMMUTABLE_ORDERED__@@",ue="@@__IMMUTABLE_SEQ__@@",zn="@@__IMMUTABLE_LIST__@@",Sn="@@__IMMUTABLE_MAP__@@",On="@@__IMMUTABLE_SET__@@",Mn="@@__IMMUTABLE_STACK__@@",bn="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var J=(t)=>F(t,dn),d=(t)=>F(t,Je),A=(t)=>F(t,Ze),us=(t)=>d(t)||A(t),x=(t)=>F(t,st),os=(t)=>F(t,ue),qn=(t)=>F(t,zn),Pe=(t)=>F(t,Sn),fs=(t)=>F(t,On),cs=(t)=>F(t,Mn),gt=(t)=>F(t,bn),C=(t)=>J(t)||gt(t),_s=(t)=>Pe(t)&&x(t),En=(t)=>fs(t)&&x(t),xi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function jn(t){let e=P(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=(r)=>se(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function An(t,e,r){let s=P(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=(i)=>se(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function $n(t,e){let r=P(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=jn(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Tt,r.__iterate=function(s,i){let n=0;if(i)It(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)It(t);let n=this.size;return se(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Un(t,e,r,s){let i=t.size;if(ne(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Un(t.toSeq().cacheResult(),e,r,s);let n=Wt(e,i),u=he(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let f=P(t);if(f.size=o===0?o:t.size&&o||void 0,!s&&os(t)&&o>=0)f.get=function(c,_){return c=rt(this,c),c>=0&&c<o?t.get(c+n,_):_};return f.__iterateUncached=function(c,_){if(o!==0&&_)return this.cacheResult().__iterate(c,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,w)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,c(y,s?w:a-1,this)===!1)return!1},_),a},f.__iteratorUncached=function(c){if(o!==0&&c)return this.cacheResult().__iterator(c);if(o===0)return ct();let _=t.__iterator(c),l=0,a=0;if(s)return W(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return I;let y=_.next();if(y.done)return y;return a++,y});return q((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let w=_.next();if(w.done)return!1;return a++,y[0]=a-1,y[1]=w.value[1],!0})},f}function Ut(t,e,r){if(!e)e=ln;let s=d(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?ws(n):A(t)?yt(n):kt(n)}function De(t,e,r){if(!e)e=ln;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Fi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Fi(e,s,i)?i:s)}function Fi(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=P(t),n=new oe(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),f=0,c;while(!(c=o.next()).done)if(h(c.value[1],f++,this)===!1)break;return f},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=k(_);return yn(h?l.reverse():l)}),o=0,f=Array(u.length),c=Array(u.length);return q((_)=>{let l=s;for(let a=0;a<u.length;a++)f[a]=u[a].next(),l=s?l&&f[a].done:l||f[a].done;if(l)return!1;for(let a=0;a<f.length;a++)c[a]=f[a].value;return _[0]=o++,_[1]=e(...c),!0})},i}function ls(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 In(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 it=(t)=>typeof t==="object"&&(C(t)||Array.isArray(t)||In(t));function Kn(t){if(ls(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var pu=(t,e)=>C(t)?t.has(e):it(t)&&Object.hasOwn(t,e);function Ln(t,e,r){return C(t)?t.get(e,r):!pu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function as(t,e,r){let s=Kn(e),i=0;while(i!==s.length)if(t=Ln(t,s[i++],g),t===g)return r;return t}var Dn=(t,e)=>as(t,e,g)!==g;function $(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!!(xi(t)&&xi(e)&&t.equals(e))}function He(t){if(!t||typeof t!=="object")return t;if(!J(t)){if(!it(t))return t;t=N(t)}if(d(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=He(s)}),r}let e=[];return t.__iterate((r)=>{e.push(He(r))}),e}function ys(t,e){if(t===e)return!0;if(!J(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||d(t)!==d(e)||A(t)!==A(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!us(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let f=h.next().value;return f&&$(f[1],u)&&(r||$(f[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?!$(h,t.get(u,g)):!$(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var xe=(t)=>t>>>1&1073741824|t&3221225471;function G(t){if(t===null||t===void 0)return Vi(t);if(typeof t.hashCode==="function")return xe(t.hashCode(t));let e=Ou(t);if(e===null||e===void 0)return Vi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return wu(e);case"string":return e.length>Mu?du(e):es(e);case"object":case"function":return Su(e);case"symbol":return zu(e);default:if(typeof e.toString==="function")return es(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Vi=(t)=>t===null?1108378658:1108378659;function wu(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 du(t){let e=kr[t];if(e===void 0){if(e=es(t),Vr===bu)Vr=0,kr={};Vr++,kr[t]=e}return e}function es(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return xe(e)}function zu(t){let e=Ni[t];if(e!==void 0)return e;return e=Wn(),Ni[t]=e,e}function Su(t){let e=ki.get(t);if(e!==void 0)return e;return e=Wn(),ki.set(t,e),e}var Ou=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Wn(){let t=++Fr;if(Fr&1073741824)Fr=0;return t}var ki=new WeakMap,Ni=Object.create(null),Fr=0,Mu=16,bu=255,Vr=0,kr={};function qu(t){if(t.size===1/0)return 0;let e=x(t),r=d(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+mi(G(i),G(n))|0}:(i,n)=>{s=s+mi(G(i),G(n))|0}:e?(i)=>{s=31*s+G(i)|0}:(i)=>{s=s+G(i)|0}),Eu(t.size,s)}var mi=(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 Vt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:os(t)?e:t.create?t.create(e):t.constructor(e),Rn=(t,e)=>O(t,(d(t)?Y:A(t)?pt:wt)(e)),vi=(...t)=>t,k=(t)=>J(t)?t:N(t);class b{size=0;static{this.prototype[dn]=!0,this.prototype.__toStringMapper=Vt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return ys(this,t)}hashCode(){return this.__hash??(this.__hash=qu(this))}toArray(){U(this.size);let t=Array(this.size||0),e=d(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Xn(this)}toJS(){return He(this)}toKeyedSeq(){return new Ms(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Qn(this)}toSeq(){return A(this)?this.toIndexedSeq():d(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=d(this),r=[this,...t].map((s)=>{if(!J(s))s=e?Jn(s):Zn(Array.isArray(s)?s:[s]);else if(e)s=Y(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&&d(s)||A(this)&&A(s))return s}return O(this,new Hn(r))}includes(t){return this.some((e)=>$(e,t))}every(t,e){U(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=d(this),i=P(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,f)=>{if(t.call(e,o,f,r))return u++,n(o,s?f:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return q((o)=>{while(!0){let f=h.next();if(f.done)return!1;let c=f.value[0],_=f.value[1];if(t.call(e,_,c,r))return o[0]=s?c:u++,o[1]=_,!0}})},O(this,i)}partition(t,e){let r=d(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Rn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return U(this.size),this.__iterate(e?t.bind(e):t)}join(t){U(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return I;return e.value=r.value[0],e})}map(t,e){return O(this,An(this,t,e))}reduce(t,e=g,r){return Bi(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Bi(this,t,e,r,e===g,!0)}reverse(){return O(this,$n(this,d(this)))}slice(t,e){return O(this,Un(this,t,e,d(this)))}some(t,e){U(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return O(this,Ut(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return I;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 It(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 oe(t._cache);let e=t.toSeq().map(_u).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Pr(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){return this.findEntry(t,e)?.[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(gn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(d(this)?Y:A(this)?pt:wt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=d(this),s=P(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(f,c){f.__iterate((_,l)=>{if((!t||c<t)&&J(_))o(_,c+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 q((u)=>{while(h.length>0){let o=h[h.length-1],f=o.iterator.next();if(f.done){h.pop();continue}let c=f.value[1];if((!t||o.depth<t)&&J(c)){h.push({iterator:c.__iterator(i),depth:o.depth+1});continue}return u[0]=r?f.value[0]:n++,u[1]=c,!0}return!1})},O(this,s)}fromEntrySeq(){return new Gn(this)}get(t,e){return this.find((r,s)=>$(s,t),void 0,e)}getIn(t,e){return as(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Dn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:k(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:k(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>$(e,t))}keySeq(){return this.toSeq().map(cu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return De(this,t)}maxBy(t,e){return De(this,e,t)}min(t){return De(this,t?Ci(t):Pi)}minBy(t,e){return De(this,e?Ci(e):Pi,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=d(this),i=P(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((f,c)=>{if(u&&t.call(e,f,c,this))return;return u=!1,o++,n(f,s?c: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,f=!0;return q((c)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(f&&t.call(e,a,l,o))continue;return f=!1,c[0]=s?l:u++,c[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Pr(t),e)}sortBy(t,e){return O(this,Ut(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=P(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 W(()=>{if(u)return I;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,I;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(Pr(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 Y=(t)=>d(t)?t:ws(t);class gs extends b{static{this.prototype[Je]=!0,this.prototype.__toStringMapper=(t,e)=>`${Vt(e)}: ${Vt(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,jn(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var pt=(t)=>A(t)?t:yt(t);class at extends b{static{this.prototype[Ze]=!0,this.prototype[st]=!0}toKeyedSeq(){return new Ms(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Wt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(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=rt(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=rt(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=P(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 q((f)=>{if(o)return o=!1,f[0]=n++,f[1]=u,!0;let c=i.next();if(c.done)return!1;let _=c.value[1];if(!h)return u=_,o=!0,f[0]=n++,f[1]=t,!0;return h=!1,f[0]=n++,f[1]=_,!0})},O(this,r)}interleave(...t){let e=[this,...t],r=xr(this.toSeq(),yt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(vi,...t)}zipAll(...t){let e=[this,...t];return O(this,xr(this,vi,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,xr(this,t,r))}}var wt=(t)=>J(t)&&!us(t)?t:kt(t);class Fe extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=Fe.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}k.Keyed=Y;k.Indexed=pt;k.Set=wt;var Nr=at.prototype,N=(t)=>t===void 0||t===null?Ss():C(t)?t.toSeq():ju(t),P=(t)=>Object.create((d(t)?Rt:A(t)?dt:ds).prototype);class _t extends b{static{this.prototype[ue]=!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 W(()=>{if(s===r)return I;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var ps={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},ws=(t)=>t===void 0||t===null?Ss().toKeyedSeq():J(t)?d(t)?t.toSeq():t.fromEntrySeq():gt(t)?t.toSeq():Jn(t);class Rt extends gs{static{this.prototype[ue]=!0,Object.assign(this.prototype,ps)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?Ss():J(t)?d(t)?t.entrySeq():t.toIndexedSeq():gt(t)?t.toSeq().entrySeq():Zn(t);yt.of=(...t)=>yt(t);class dt extends at{static{this.prototype[ue]=!0,Object.assign(this.prototype,ps)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(J(t)&&!us(t)?t:yt(t)).toSetSeq();kt.of=(...t)=>kt(t);class ds extends Fe{static{this.prototype[ue]=!0,Object.assign(this.prototype,ps)}toSeq(){return this}toSetSeq(){return this}}N.isSeq=os;N.Keyed=ws;N.Set=kt;N.Indexed=yt;class oe extends dt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[rt(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 q((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class zs extends Rt{static{this.prototype[st]=!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 q((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Tn extends dt{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=yn(e);if(!au(r))return ct();let s=0;return q((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var Ss=()=>new oe([]),Os=(t)=>ls(t)?new oe(t):hs(t)?new Tn(t):void 0;function Jn(t){let e=Os(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new zs(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Zn(t){let e=Os(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=Os(t);if(e)return yu(t)?e.fromEntrySeq():gu(t)?e.toSetSeq():e;if(typeof t==="object")return new zs(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Hn extends _t{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[Je])this[Je]=!0;if(i[Ze])this[Ze]=!0;if(i[st])this[st]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!d(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=!d(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 q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return W(()=>n()||I)}}class Ms extends Rt{static{this.prototype[st]=!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=$n(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=An(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 Xn extends dt{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)It(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)It(this);let r=this.size;return se(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Qn extends ds{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 se(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Gn extends Rt{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){tn(s),r++;let i=J(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 q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){tn(i);let n=J(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 _t.prototype.cacheResult.call(this)}function tn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var R=(t)=>t===void 0||t===null?B():Pe(t)&&!x(t)?t:B().withMutations((e)=>{let r=Y(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});class Nt extends gs{static{St(this,{asImmutable:_e,asMutable:le,deleteIn:Kt,merge:rs,mergeWith:Vn,mergeDeep:Nn,mergeDeepWith:mn,mergeDeepIn:Ds,mergeIn:Ls,setIn:Us,update:Is,updateIn:Ks,wasAltered:$s,withMutations:ae,removeIn:Kt,concat:rs,[Sn]:!0,[ie]: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 R(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,G(t),t,e):e}set(t,e){return rn(this,t,e)}remove(t){return rn(this,t,g)}deleteAll(t){let e=k(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return 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 We(this._root,!1,0)}values(){if(!this._root)return ct();return We(this._root,!1,1)}entries(){if(!this._root)return ct();return We(this._root,!1)}__iterator(t){if(!this._root)return ct();return We(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 Es(this.size,this._root,t,this.__hash)}}R.isMap=Pe;class bs{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Yn(this.entries,r,s)}iterate(t,e){return Bn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,f=0,c=o.length;for(;f<c;f++)if($(s,o[f][0]))break;let _=f<c;if(_?o[f][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&c===1)return;if(!_&&!u&&c>=Lu)return Au(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(f===c-1)a.pop();else a[f]=a.pop();else a[f]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new bs(t,a)}}class Ve{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Cn(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[nn(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,f=this.bitmap,c=(f&o)!==0;if(!c&&i===g)return this;let _=nn(f&o-1),l=this.nodes,a=c?l[_]:void 0,y=js(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!c&&y&&l.length>=Du)return Uu(t,l,f,u,y);if(c&&!y&&l.length===2&&sn(l[_^1]))return l[_^1];if(c&&y&&l.length===1&&sn(y))return y;let w=t&&t===this.ownerID,S=c?y?f:f^o:f|o,j=c?y?Pn(l,_,y,w):Ku(l,_,w):Iu(l,_,y,w);if(w)return this.bitmap=S,this.nodes=j,this;return new Ve(t,S,j)}}class qs{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Cn(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===g,f=this.nodes,c=f[u];if(o&&!c)return this;let _=js(c,t,e+z,r,s,i,n,h);if(_===c)return this;let l=this.count;if(!c)l++;else if(!_){if(l--,l<Wu)return $u(t,f,l,u)}let a=t&&t===this.ownerID,y=Pn(f,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new qs(t,l,y)}}class ke{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Yn(this.entries,r,s)}iterate(t,e){return Bn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return X(h),X(n),As(this,t,e,r,[s,i])}let u=i===g,o=this.entries,f=0,c=o.length;for(;f<c;f++)if($(s,o[f][0]))break;let _=f<c;if(_?o[f][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&c===2)return new zt(t,this.keyHash,o[f^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(f===c-1)a.pop();else a[f]=a.pop();else a[f]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new ke(t,this.keyHash,a)}}class zt{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 $(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=$(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(X(h),u){X(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return X(n),As(this,t,e,G(s),[s,i])}}function Yn(t,e,r){for(let s=0,i=t.length;s<i;s++)if($(e,t[s][0]))return t[s][1];return r}function Bn(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 Cn(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 We(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 W(()=>{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 f=h.nodes[e?o-u:u];if(f){if(f.entry)return n.value=i(f.entry),n;s={node:f,index:0,__prev:s}}continue}s=s.__prev}return I})}var Es=(t,e,r,s)=>new Nt(t,e,r,s),en,B=()=>en||(en=Es(0));function rn(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new bs(t.__ownerID,[[e,r]])}else{let n=ts(),h=ts();if(s=js(t._root,t.__ownerID,0,G(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Es(i,s):B()}function js(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return X(u),X(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var sn=(t)=>t.constructor===zt||t.constructor===ke;function As(t,e,r,s,i){if(t.keyHash===s)return new ke(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new zt(e,s,i),o=n===h?[As(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Ve(e,1<<n|1<<h,o)}function Au(t,e,r,s){if(!t)t=new Ce;let i=new zt(t,G(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,G(n),n,h);return i}function $u(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,f=e.length;u<f;u++,o<<=1){let c=e[u];if(c!==void 0&&u!==s)i|=o,h[n++]=c}return new Ve(t,i,h)}function Uu(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new qs(t,n+1,h)}function nn(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Pn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Iu(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 Ku(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=E/4,Du=E/2,Wu=E/4;function Xe(t){if(Array.isArray(t))return t.slice();return{...t}}var ff=(t,...e)=>ce(t,e),cf=(t,e,...r)=>ce(e,r,t),fe=(t,e,r)=>ce(t,e,Ru(r)),_f=(t,...e)=>fe(t,e),lf=(t,e,...r)=>fe(e,r,t);function ce(t,e,r){if(!it(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(C(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:Y,h=s?(u)=>{if(i===t)i=Xe(i);i.push(u)}:(u,o)=>{let f=Object.hasOwn(i,o),c=f&&r?r(i[o],u,o):u;if(!f||c!==i[o]){if(i===t)i=Xe(i);i[o]=c}};for(let u of e)n(u).forEach(h);return i}function Ru(t){function e(r,s,i){return it(r)&&it(s)&&Tu(r,s)?ce(r,[s],e):t?t(r,s,i):s}return e}function Tu(t,e){let r=N(t),s=N(e);return A(r)===A(s)&&d(r)===d(s)}function Ju(t,e){if(!it(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(C(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=Xe(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Zu(t,e,r){if(!it(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(C(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=Xe(t);return s[e]=r,s}function Jt(t,e,r,s){if(!s)s=r,r=void 0;let i=xn(C(t),t,Kn(e),0,r,s);return i===g?r:i}function xn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!it(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Vt)}]: ${e}`);let u=r[s],o=h?g:Ln(e,u,g),f=xn(o===g?t:C(o),o,r,s+1,i,n);if(f===o)return e;if(f===g)return Ju(e,u);let c=h?t?B():{}:e;return Zu(c,u,f)}var Hu=(t,e)=>Jt(t,e,()=>g),Xu=(t,e,r)=>Jt(t,e,g,()=>r);function Fn(t,e,r,s){return Jt(t,[e],r,s)}function _e(){return this.__ensureOwner()}function le(){return this.__ownerID?this:this.__ensureOwner(new Ce)}function $s(){return this.__altered}function ae(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Qu(t,e){return as(this,t,e)}function Gu(t){return Dn(this,t)}function Kt(t){return Hu(this,t)}function Us(t,e){return Xu(this,t,e)}function Is(t,e,r){return typeof t==="function"?t(this):Fn(this,t,e,r)}function Ks(t,e,r){return Jt(this,t,e,r)}function hn(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function rs(...t){return kn(this,t)}function Vn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return kn(this,e,t)}function kn(t,e,r){let s=[];for(let i of e){let n=Y(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 gt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Fn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function Nn(...t){return fe(this,t)}function mn(t,...e){return fe(this,e,t)}function Ls(t,...e){return Jt(this,t,B(),(r)=>ce(r,e))}function Ds(t,...e){return Jt(this,t,B(),(r)=>fe(r,e))}function St(t,e){Object.assign(t.prototype,e)}var L=(t)=>{let e=mt();if(t===void 0||t===null)return e;if(qn(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(U(s),s>0&&s<E)return ye(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};L.of=(...t)=>L(t);class vn extends at{static{St(this,{asImmutable:_e,asMutable:le,deleteIn:Kt,mergeDeepIn:Ds,mergeIn:Ls,setIn:Us,update:Is,updateIn:Ks,wasAltered:$s,withMutations:ae,removeIn:Kt,[zn]:!0,[ie]: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 L(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=rt(this,t),t>=0&&t<this.size)return t+=this._origin,rh(this,t)?.array[t&K];return e}set(t,e){return Bu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return mt()}push(...t){let e=this.size;return this.withMutations((r)=>{et(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return et(this,0,-1)}unshift(...t){return this.withMutations((e)=>{et(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return et(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"&&hs(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 L(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return et(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(ne(t,e,r))return this;return et(this,Wt(t,r),he(e,r))}__iterate(t,e){let r=e?this.size:0;return Yu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=un(this,t);return q((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return un(this,!1)}keys(){return Ye(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this}return ye(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}L.isList=qn;class lt{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 lt([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Lt(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:E)||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=Lt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function un(t,e){let{_origin:r,_capacity:s}=t,i=Dt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return W(()=>{while(h.length>0){let f=h[h.length-1];if(f.from===f.to){h.pop();continue}let c=e?--f.to:f.from++;if(f.isLeaf)return u.value=f.array?.[c],u;let _=f.array?.[c],l=f.level-z,a=f.offset+(c<<f.level);o(_,l,a)}return I});function o(f,c,_){if(c===0){let l=_===i?n?.array:f?.array,a=_>r?0:r-_,y=s-_;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=f?.array,a=_>r?0:r-_>>c,y=(s-_>>c)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:c,offset:_,isLeaf:!1})}}}function Yu(t,e,r){let{_origin:s,_capacity:i}=t,n=Dt(i),h=t._tail,u=t._level,o=t._root;return u===0?th(o,0,s,i,n,h,e,r):eh(o,u,0,s,i,n,h,e,r)}function th(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,f=e>r?0:r-e,c=s-e;if(c>E)c=E;while(f!==c){let _=u?--c:f++;if(h(o?.[_])===!1)return!1}}function eh(t,e,r,s,i,n,h,u,o){let f=t?.array,c=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>E)_=E;let l=e-z;while(c!==_){let a=o?--_:c++,y=r+(a<<e);if((l===0?th(f?.[a],y,s,i,n,h,u,o):eh(f?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var ye=(t,e,r,s,i,n,h)=>new vn(t,e,r,s,i,n,h),mt=()=>ye(0,0,z);function Bu(t,e,r){if(e=rt(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)et(h,e).set(0,r);else et(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=ts();if(e>=Dt(t._capacity))s=ss(s,t.__ownerID,0,e,r,n);else i=ss(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 ye(t._origin,t._capacity,t._level,i,s)}function ss(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 f=t?.array[h],c=ss(f,e,r-z,s,i,n);if(c===f)return t;return o=Lt(t,e),o.array[h]=c,o}if(u&&t.array[h]===i)return t;if(n)X(n);if(o=Lt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Lt(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function rh(t,e){if(e>=Dt(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&K],s-=z;return r}}function et(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Ce,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:f}=t,c=0;while(h+c<0)f=new lt(f?.array.length?[void 0,f]:[],s),o+=z,c+=1<<o;if(c)h+=c,i+=c,u+=c,n+=c;let _=Dt(n),l=Dt(u);while(l>=1<<o+z)f=new lt(f?.array.length?[f]:[],s),o+=z;let a=t._tail,y=l<_?rh(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){f=Lt(f,s);let w=f;for(let S=o;S>z;S-=z){let j=_>>>S&K;w=w.array[j]=Lt(w.array[j],s)}w.array[_>>>z&K]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,f=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){c=0;while(f){let w=h>>>o&K;if(w!==l>>>o&K)break;if(w)c+=(1<<o)*w;o-=z,f=f.array[w]}if(f&&h>i)f=f.removeBefore(s,o,h-c);if(f&&l<_)f=f.removeAfter(s,o,l-c);if(c)h-=c,u-=c}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=f,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return ye(h,u,o,f,y)}var Dt=(t)=>t<E?0:t-1>>>z<<z,D=(t)=>t===void 0||t===null?vt():_s(t)?t:vt().withMutations((e)=>{let r=Y(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});D.of=(...t)=>D(t);class sh extends Nt{static{St(this,{[st]:!0,[ie]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:b.prototype.keys,values:b.prototype.values,__iterate:b.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 D(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 on(this,t,e)}remove(t){return on(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return q((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 Ws(e,r,t,this.__hash)}}D.isOrderedMap=_s;var Ws=(t,e,r,s)=>new sh(t,e,r,s),vt=()=>Ws(B(),mt());function on(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let f=[];if(i.forEach((c,_)=>{if(c!==void 0&&n!==_)f.push(c)}),o=mt().withMutations((c)=>{for(let _=0;_<f.length;_++)c.set(_,f[_])}),u=B().withMutations((c)=>{for(let _=0;_<f.length;_++)c.set(f[_][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 f=i.size;u=s.set(e,f),o=i.set(f,[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 Ws(u,o)}var te=(t)=>t===void 0||t===null?Qe():cs(t)?t:Qe().pushAll(t);te.of=(...t)=>te(t);class ih extends at{static{St(this,{asImmutable:_e,asMutable:le,wasAltered:$s,withMutations:ae,[Mn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return te(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=rt(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 mr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&cs(t))return t;U(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),mr(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 Qe()}slice(t,e){if(ne(t,e,this.size))return this;let r=Wt(t,this.size);if(he(e,this.size)!==this.size)return at.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return mr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Qe();return this.__ownerID=t,this.__altered=!1,this}return Rs(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 q((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 q((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 W(()=>{if(!t)return I;return e.value=t.value,t=t.next,e})}keys(){return Ye(this.size)}}te.isStack=cs;function mr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Rs(e,r)}var Rs=(t,e,r,s)=>new ih(t,e,r,s),fn,Qe=()=>fn||(fn=Rs(0)),M=(t)=>t===void 0||t===null?re():fs(t)&&!x(t)?t:re().withMutations((e)=>{let r=wt(t);U(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(Y(t).keySeq());M.intersect=(t)=>{return t=k(t).toArray(),t.length?M(t.pop()).intersect(...t):re()};M.union=(t)=>{let e=k(t).toArray();return e.length?M(e.pop()).union(...e):re()};class ee extends Fe{static{St(this,{withMutations:ae,asImmutable:_e,asMutable:le,[On]:!0,[ie]: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 M(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return Re(this,this._map.set(t,t))}remove(t){return Re(this,this._map.remove(t))}clear(){return Re(this,this._map.clear())}map(t,e){let r=!1,s=Re(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 M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else wt(r).forEach((s)=>e.add(s))})}intersect(...t){return _n(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return _n(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return re()}__make(t,e){return nh(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)}}M.isSet=fs;var nh=(t,e)=>new ee(t,e),cn,re=()=>cn||(cn=nh(B()));function _n(t,e,r){if(e.length===0)return t;return e=e.map((s)=>wt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Re(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 V=(t)=>t===void 0||t===null?is():En(t)?t:is().withMutations((e)=>{let r=wt(t);U(r.size),r.forEach((s)=>e.add(s))});V.of=(...t)=>V(t);V.fromKeys=(t)=>V(Y(t).keySeq());class hh extends ee{static{St(this,{[st]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Nr.zip,zipWith:Nr.zipWith,zipAll:Nr.zipAll})}create(t){return V(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return is()}__make(t,e){return uh(t,e)}}V.isOrderedSet=En;var uh=(t,e)=>new hh(t,e),is=()=>uh(vt()),af={LeftThenRight:-1,RightThenLeft:1};function Cu(t){if(gt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(C(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 Ne=(t,e)=>{let r;Cu(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._name=e,i._keys=u,i._defaultValues=t;for(let f=0;f<u.length;f++){let c=u[f];if(o[c]=f,i[c])console.warn(`Cannot define ${Ts(this)} with property "${c}" since that property name is part of the Record API.`);else xu(i,c)}}return this.__ownerID=void 0,this._values=L().withMutations((u)=>{u.setSize(this._keys.length),Y(h).forEach((o,f)=>{u.set(this._indices[f],o===this._defaultValues[f]?void 0:o)})}),this},i=s.prototype=Object.create(Pu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class oh{static{St(this,{asImmutable:_e,asMutable:le,deleteIn:Kt,getIn:Qu,hasIn:Gu,merge:rs,mergeWith:Vn,mergeDeep:Nn,mergeDeepWith:mn,mergeDeepIn:Ds,mergeIn:Ls,setIn:Us,toObject:hn,update:Is,updateIn:Ks,withMutations:ae,removeIn:Kt,toJSON:hn,[bn]:!0,[ie]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Vt(this.get(e))}`).join(", ");return`${Ts(this)} { ${t} }`}equals(t){return this===t||gt(t)&&$t(this).equals($t(t))}hashCode(){return $t(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 vr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:vr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return $t(this)}toJS(){return He(this)}entries(){return this.__iterator()}__iterate(t,e){return $t(this).__iterate(t,e)}__iterator(t){return $t(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 vr(this,e,t)}}Ne.isRecord=gt;var Ts=(t)=>t.constructor.displayName||t.constructor.name||"Record";class fh extends Rt{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 q((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 $t=(t)=>new fh(t);Ne.getDescriptiveName=Ts;var Pu=oh.prototype;function vr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function xu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Ft(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var ns=(t,e,r=1)=>{if(Ft(r!==0,"Cannot step a Range by 0"),Ft(t!==void 0,"You must define a start value when using Range"),Ft(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 Js(t,e,r,s)};class Js extends dt{_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+rt(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(ne(t,e,this.size))return this;if(t=Wt(t,this.size),e=he(e,this.size),e<=t)return ns(0,0);return ns(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 q((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 W(()=>{if(s===t)return I;return i.value=r,r+=e,s++,i})}keys(){return Ye(this.size)}equals(t){return t instanceof Js?this._start===t._start&&this._end===t._end&&this._step===t._step:ys(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var yf=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new Ge(t,r)};class Ge extends dt{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 $(this._value,t)}slice(t,e){let r=this.size;return ne(t,e,r)?this:new Ge(this._value,he(e,r)-Wt(t,r))}reverse(){return this}indexOf(t){if($(this._value,t))return 0;return-1}lastIndexOf(t){if($(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 q((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 W(()=>{if(r===t)return I;return r++,s.value=e,s})}keys(){return Ye(this.size)}equals(t){return t instanceof Ge?this.size===t.size&&$(this._value,t._value):ys(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var gf=(t,e)=>ch([],e??Fu,t,"",e?.length>2?[]:void 0,{"":t});function ch(t,e,r,s,i,n){if(typeof r!=="string"&&!C(r)&&(ls(r)||hs(r)||In(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,N(r).map((u,o)=>ch(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var Fu=(t,e)=>A(e)?e.toList():d(e)?e.toMap():e.toSet(),Te=(t)=>d(t)?t.valueSeq():t;function Vu(){b.prototype.toMap=function(){return R(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return D(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return V(Te(this))},b.prototype.toSet=function(){return M(Te(this))},b.prototype.toStack=function(){return te(Te(this))},b.prototype.toList=function(){return L(Te(this))},b.prototype.countBy=function(e,r){let s=R().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},b.prototype.groupBy=function(e,r){let s=d(this),i=(x(this)?D():R()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Rn(this,n)).asImmutable()},at.prototype.keySeq=function(){return ns(0,this.size)},Nt.prototype.sort=function(e){return D(Ut(this,e))},Nt.prototype.sortBy=function(e,r){return D(Ut(this,r,e))},ee.prototype.sort=function(e){return V(Ut(this,e))},ee.prototype.sortBy=function(e,r){return V(Ut(this,r,e))}}var ku="7.0.0",Nu={version:ku};Vu();var{version:pf}=Nu;var _h=Symbol("BadValue"),gh=(t)=>t;class Z{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,_h);if(h===_h)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Hs{isValid(t){return!0}getMessage(t){return"Invalid"}}class ph extends Hs{}var mu=new ph;class m extends Hs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var vu=new m((t)=>Number.isInteger(t),()=>"Integer expected"),to=new m((t)=>Number.isFinite(t),()=>"Float expected"),eo=new m((t)=>typeof t==="boolean",()=>"Boolean expected"),ro=new m((t)=>typeof t==="string",()=>"String expected"),so=new m((t)=>L.isList(t),()=>"List expected"),io=new m((t)=>R.isMap(t),()=>"Map expected"),no=new m((t)=>D.isOrderedMap(t),()=>"OrderedMap expected"),ho=new m((t)=>M.isSet(t),()=>"Set expected"),uo=(t)=>!!t;class Xs extends Z{constructor(t,e=!1){super("bool",t,eo,uo,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 me extends Z{constructor(t,e=null){super("any",t,mu,gh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Zs(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var oo=(t)=>t?.toString?.()??"";class Qs extends Z{constructor(t,e=""){super("text",t,ro,oo,e)}extendProtoForType(t,e){Ps(t,this.name,e,"","length")}}var fo=(t)=>Number.isFinite(t)?Math.trunc(t):null;class wh extends Z{constructor(t,e=0){super("int",t,vu,fo,e)}}var co=(t)=>null;class Gs extends Z{constructor(t,e=0){super("float",t,to,co,e)}}var Zs=(t)=>t?.constructor?.getMetaClass?.()?.name;class dh{constructor(t){this.typeName=t}isValid(t){return Zs(t)===this.typeName}getMessage(t){let e=Zs(t);return`Expected "${this.typeName}", got "${e}"`}}class zh extends Z{constructor(t,e,r){super(t,e,new dh(t),gh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var lh=Symbol("NONE");function Zt(t,e,r){Ps(t,e,r,Oh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,lh);if(h!==lh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Sh(t,e,`${r}At`)}function Sh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var Oh=L(),_o=(t)=>Array.isArray(t)?L(t):null;class Ys extends Z{constructor(t,e=Oh){super("list",t,so,_o,e)}extendProtoForType(t,e){let{name:r}=this;Zt(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 lo=(t)=>R(t);class Bs extends Z{constructor(t,e=R()){super("map",t,io,lo,e)}extendProtoForType(t,e){Zt(t,this.name,e)}}var ao=(t)=>D(t);class Cs extends Z{constructor(t,e=D()){super("omap",t,no,ao,e)}extendProtoForType(t,e){Zt(t,this.name,e)}}function Ps(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var ah=M(),yo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class xs extends Z{constructor(t,e=ah){super("set",t,ho,yo,e)}extendProtoForType(t,e){let{name:r}=this;Ps(t,r,e,ah),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Sh(t,r,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 yh(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 Mh{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]=yh(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]=yh(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]:Ne(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new zh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var ve=new Map,go={text:Qs,int:wh,float:Gs,bool:Xs,list:Ys,map:Bs,omap:Cs,set:xs,any:me};function po(t,{fields:e={},methods:r,statics:s}){let i=new Mh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Qs);else if(u==="number")i.addField(n,h,Gs);else if(u==="boolean")i.addField(n,h,Xs);else if(L.isList(h)||Array.isArray(h))i.addField(n,L(h),Ys);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),xs);else if(D.isOrderedMap(h))i.addField(n,h,Cs);else if(h?.type&&h?.defaultValue!==void 0){let o=go[h.type]??me;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(R.isMap(h)||h?.constructor===Object)i.addField(n,R(h),Bs);else{let o=ve.get(h?.constructor)??me;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var wo=(t)=>new Wr(t.name??"Comp",po(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 zo=["nid","cid","eid","vid","si","sk"];class Fs{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??Eo,this.cache=h??new Ir}setNullCache(){this.cache=new Ur}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 zo)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"),f=this.renderMetadata("Comp",{nid:s}),c=this.renderFragment([f,o.render(t,this)]);return this.cache.set(e,h,c),c}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),f=[],c=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,c)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);f.push(this.renderMetadata("Each",{nid:r,[u]:_})),f.push(y)}return f}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,f]=this.getSeqInfo(i),c=!!u,_=[],l=h.call(t.it,i);for(let[a,y]of f(i))if(n.call(t.it,a,y,l)){let w={key:a,value:y},S=`${s}-${a}`,j;if(c)u.call(t.it,w,a,y,l),j=this.cache.get2(t.it,y,S);else j=this.cache.get(y,S);if(j){_.push(this.renderMetadata("Each",{nid:s,[o]:a})),_.push(j);continue}let Mt=t.enter(y,w,!1),bt=r.render(Mt,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),c)this.cache.set2(t.it,y,S,bt);else this.cache.set(y,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*So(t){let e=0;for(let r of t)yield[e++,r]}function*Oo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var tr=new Map,Mo=["si",So],bo=["sk",Oo],qo=["si",function*(e){}];function Eo(t){return A(t)?Mo:d(t)?bo:tr.get(t?.constructor)??qo}class Ot{constructor(t=R(),e=L()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Ot(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 jo=(t)=>null;class bh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var Ao=new bh;class qh extends Z{constructor(t,e=new Ot){super("KList",t,Ao,jo,e)}extendProtoForType(t,e){Zt(t,this.name,e);let{name:r}=this;Zt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}ve.set(Ot,qh);function*$o(t){for(let e of t.order)yield[e,t.items.get(e)]}tr.set(Ot,["data-sk",$o]);var ks=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ge=(t)=>t!==null&&typeof t==="object";function jh(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Uo(t,s,r);else if(ks(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ge(i))Io(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Uo(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.innerHTML="";else if(typeof s==="string"||ks(e)){let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else t[e]=null}function Io(t,e,r,s){let i=e?.[r];if(ge(i)&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){t[r]=s;return}let n=t[r];if(!ge(n))t[r]={},n=t[r];let h=n;for(let u in s)h[u]=s[u]}class Ht{isEqualTo(t){return this===t}toDom(t){return null}}var Vs=(t)=>t instanceof we?t.key:void 0,Ko=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function Ns(t,e){if(e==null)return;if(Ko(e))for(let r of e)Ns(t,r);else if(e instanceof Ht)if(e instanceof nt)t.push(...e.childs);else t.push(e);else t.push(new sr(e))}class sr extends Ht{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof sr&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class pe extends Ht{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof pe&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class nt extends Ht{constructor(t){super();this.childs=[],Ns(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof nt)||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 we extends Ht{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}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof we)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||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 in t.attrs)if(!Object.hasOwn(this.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);jh(r,this.attrs,{});for(let s of this.childs){let i=s.toDom(t);if(i)r.appendChild(i)}return r}}function Ah(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(ge(i)&&ge(n))if(Object.getPrototypeOf(n)!==Object.getPrototypeOf(i))r??={},r[s]=n;else{let h=Ah(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 Lo(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}var er=(t,e,r)=>t instanceof r&&e instanceof r;function $h(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(er(e,r,sr)||er(e,r,pe))return t.data=r.text,t;if(er(e,r,we)&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=Ah(e.attrs,r.attrs);if(i)jh(t,i,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Eh(t,e.childs,r.childs,e.tag,s);return t}if(er(e,r,nt))return Eh(t,e.childs,r.childs,null,s),t;return Lo(t,r,s)}function Eh(t,e,r,s,i){if(e.length===0){for(let f of r){let c=f.toDom(i);if(c)t.appendChild(c)}return}if(r.length===0){while(t.firstChild)t.removeChild(t.firstChild);return}let n=Array.from(t.childNodes),h={};for(let f=0;f<e.length;f++){let c=Vs(e[f]);if(c!=null)h[c]=f}let u=new Uint8Array(e.length),o=0;for(let f=0;f<r.length;f++){let c=r[f],_=Vs(c),l=-1;if(_!=null){if(_ in h&&!u[h[_]])l=h[_]}else while(o<e.length){if(!u[o]&&Vs(e[o])==null){l=o++;break}o++}if(l>=0){u[l]=1;let a=n[l],y=$h(a,e[l],c,i),w=t.childNodes[f]??null;if(y!==w)t.insertBefore(y,w)}else{let a=c.toDom(i);if(a){let y=t.childNodes[f]??null;t.insertBefore(a,y)}}}for(let f=e.length-1;f>=0;f--)if(!u[f]&&n[f].parentNode===t)t.removeChild(n[f])}var rr=new WeakMap;function Uh(t,e,r){let s=rr.get(e),i=t instanceof nt;if(s){let h=s.vnode instanceof nt;if(h===i){let u=h?e:s.dom,o=$h(u,s.vnode,t,r),f=i?e:o;return rr.set(e,{vnode:t,dom:f}),o}rr.delete(e)}let n=t.toDom(r);if(n){e.innerHTML="",e.appendChild(n);let h=i?e:n;rr.set(e,{vnode:t,dom:h})}return n}function Ih(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let f=e[o];switch(o){case"key":n=f;break;case"namespace":h=f;break;case"class":i.className=f;break;case"for":i.htmlFor=f;break;default:i[o]=ks(o)?String(f):f}}let u=[];return Ns(u,r),new we(s,i,u,n,h)}var{raw:Wf,raw:Rf}=String;function Tf(t,e){return new br(t,e)}var Do=(t)=>typeof t==="string"?document.querySelector(t):t;function Jf(t){let e=Do(t),r=new Ue,s=(o)=>new nt(o),i=(o)=>new pe(o),n={document},h=(o,f)=>Uh(o,f,n),u=new Fs(r,Ih,s,i,h);return new Cr(e,h,r,u,ft)}async function xf(t,e,r="margaui-css"){let s=performance.now(),i=await Wo(t,e),n=performance.now();return Ke(r,i),n-s}async function Wo(t,e,r,s=Le){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}export{pf as version,Jt as updateIn,Fn as update,Jf as tutuca,Xu as setIn,Zu as set,tr as seqInfoByClass,Hu as removeIn,Ju as remove,cf as mergeWith,lf as mergeDeepWith,_f as mergeDeep,ff as merge,Tf as macro,xi as isValueObject,cs as isStack,fs as isSet,os as isSeq,gt as isRecord,In as isPlainObject,En as isOrderedSet,_s as isOrderedMap,x as isOrdered,_s as isOMap,Pe as isMap,qn as isList,d as isKeyed,A as isIndexed,C as isImmutable,Pe as isIMap,J as isCollection,us as isAssociative,$ as is,Ke as injectCss,Rf as html,G as hash,Dn as hasIn,pu as has,as as getIn,Ln as get,gf as fromJS,ve as fieldsByClass,Wf as css,wo as component,Wo as compileClassesToStyleText,xf as compileClassesToStyle,te as Stack,M as Set,N as Seq,yf as Repeat,Ne as Record,ns as Range,ft as ParseContext,af as PairSorting,V as OrderedSet,D as OrderedMap,D as OMap,R as Map,L as List,Ot as KList,M as ISet,R as IMap,k as Collection};
|
|
1
|
+
class Ht{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class bt extends Ht{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new bt({...this.binds,key:t})}withKey(t){return new bt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class de extends Ht{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new sr(this.field,t)}withKey(t){return new rr(this.field,t)}}class er extends Ht{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class rr extends er{}class sr extends er{}var R=Symbol("NONE");class ir extends Ht{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return s!==R&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return r===R||s===R?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class tt{constructor(t=[]){this.steps=t}concat(t){return new tt(this.steps.concat(t))}popStep(){return new tt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,R),r===R)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,R),s===R)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,R),r===R)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=vs(t.previousSibling),{eid:g,cid:S,vid:T}=t.dataset;if(g!==void 0)o.push(g);if(S!==void 0){let v=i.getComponentForId(+S,T);if(_){if(c=Dh(v,o,T,e),c===null&&n)return Th;_=!1}let ms=Wh(v,f,T);if(ms)h.push(ms);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new tt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return tt.fromNodeAndEventName(h,n,e,r,s,i)}}var Ns={};function vs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=vs(t.previousSibling);if(e!==Ns)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Ns}function Dh(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 Wh(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 Th=[null,null];class nr{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 sr(t,e))}key(t,e){return this.add(new rr(t,e))}}var Rh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Rh.test(t),Jh=/^-?[0-9]+(\.[0-9]+)?$/,ti=(t,e)=>ur.parse(t,e),Xt=(t,e)=>new H(t),Zh=(t,e)=>ht(t)?new ut(t):null,Hh=(t,e)=>ht(t)?new ni(t):null,Xh=(t,e)=>ht(t)?new cr(t):null,Gh=(t,e)=>ht(t)?new oi(t):null,Qh=(t,e)=>ht(t)?new ci(t):null,Ch=(t,e)=>ht(t)?new fi(t):null,Yh=(t,e)=>ht(t)?new hi(t):null;class ei{constructor(){this.allowFieldOnly(),this.bindValIt=new cr("it"),this.nullConstVal=new H(null)}const(t){return new H(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}_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 _i(s,i):null}parse(t,e){switch(Bh(t)){case li:return this.okStrTpl?ti(t,e):null;case yi:return this.okStrTpl?Xt(t,e):null;case ai:return this._parseSeqAccess(t,e);case pe:return this.okStrTpl?ti(t,e):null}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.okStrTpl?Xt(t.slice(1),e):null;case 39:return this.okStrTpl?Xt(t.slice(1,-1),e):null;case 64:return this.okBind?Xh(t.slice(1),e):null;case 42:return this.okDyn?Gh(t.slice(1),e):null;case 46:return this.okField?Qh(t.slice(1),e):null;case 36:return this.okComputed?Ch(t.slice(1),e):null;case 33:return this.okRequest?Yh(t.slice(1),e):null}let s=Jh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Xt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Xt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Zh(t,e):null;else if(r>=65&&r<=90)return this.okType?Hh(t,e):null;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&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,ri)}parseAlter(t,e){return this._parseHandler(t,e,si)}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 H extends ge{constructor(t){super();this.val=t}render(t,e){return this.val}eval(t){return this.val}toString(){let t=this.val;return typeof t==="string"?`'${t}'`:`${t}`}}class hr extends ge{}class ur extends hr{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)==="}"?p.parseText(h.slice(1,-1),e):new H(h);s[n]=o,i&&=o instanceof H}return i?new H(s.map((n)=>n.val).join("")):new ur(s)}}class ut extends hr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class ri extends ut{eval(t){return t.getHandlerFor(this.name,"input")??ii("input",this.name)}}class si extends ut{eval(t){return t.getHandlerFor(this.name,"alter")??ii("alter",this.name)}}var ii=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ni extends ut{eval(t){return t.lookupType(this.name)}}class hi extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ui extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class or extends ge{render(t,e){return this.eval(t)}}class Gt extends or{constructor(t){super();this.name=t}}class cr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class oi extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ci extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new de(this.name)}toRawFieldVal(){return new ui(this.name)}toString(){return`.${this.name}`}}class fi extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class _i extends or{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ir(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 li=0,ai=1,pe=2,yi=3;function Bh(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 li;case 125:return yi}if(e>0||r>0)return e===1&&r===1?ai:pe;return-1}var p=new ei;class qt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return ar(e).parse(t,r)}isConstant(){return!1}}var xh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Ph=new Set(xh.split(","));class di{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?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new ze(t,s)),this.hasDynamic||=!(s instanceof H)}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=p.parseCondValue(e,this.px);if(r)this.ifAttr=new wi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Qt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Qt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=yr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new gi(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.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=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.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===""&&Ph.has(n)?!0:h;this.attrs.push(new we(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new pi(r):_r.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class _r extends qt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new _r(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 pi extends qt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new we(t,new H(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class lr{constructor(t){this.name=t}}class ze extends lr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class we extends ze{}class gi extends ze{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Qt=p.nullConstVal;class wi extends lr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Qt}get anyBranchIsSet(){return this.thenVal!==Qt||this.elseVal!==Qt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var fr=null;function ar(t){return fr??=new di(t),fr.clear(t),fr}class yr{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=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new yr(i,n)}}class dr{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 Et{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 Bt extends Et{constructor(t){super();this.val=t}render(t,e){return e.renderText(this.val)}isWhiteSpace(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.val=""}isConstant(){return!0}setDataAttr(t,e){}}class Yt extends Bt{render(t,e){return e.renderComment(this.val)}}function Fh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Mr(r);else r.optimize()}}function wr(t){if(t.isConstant())return new Mr(t);return t.optimize(),t}class zr extends Et{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Fh(this.childs)}}class Se extends zr{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 zr{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 Ct=(t)=>t.length===1?t[0]:new Oe(t),kh=/^[a-zA-Z][a-zA-Z0-9-]*$/,zi=null;class et extends Et{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){zi??=e.newDOMParser();let r=zi.parseFromString(t,"text/html").body.childNodes;return et.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Bt(t.textContent);else if(e.isCommentNode(t))return new Yt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=et.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Ct(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new be(null,p.const(u),Ct(n));case"text":{let c=p.parseText(u,e);return c!==null?new gr(null,c):null}case"render":return e.addNodeIf(Ii,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(Ai,p.bindValIt,o);case"render-each":return Or.parse(e,p,u,o,s);case"show":return e.addNodeIf(br,p.parseCondValue(u,e),Ct(n));case"hide":return e.addNodeIf(qr,p.parseCondValue(u,e),Ct(n))}return new Yt(`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]??Ct(n)}let[u,o]=qt.parse(s,e,!0);return e.onAttributes(u,o,null),Si(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(kh.test(i)){let[h,u,o]=qt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new gr(null,o));let c=i!=="PRE"?tu(n):n;return Si(new Se(i.toLowerCase(),h,c),e,u)}return new Yt(`Error: InvalidTagName ${i}`)}}function Si(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Vh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Vh(t,e){let r=vh[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class Ei extends Et{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 Yt(`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=wr(this.node)}}class Sr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return et.parse(this.rawView,t)}}class Me extends et{constructor(t,e,r){super(t,e);this.viewId=r}}class Ii extends Me{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Ai extends Me{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Or extends Me{constructor(t,e,r){super(t,e,r);this.iterInfo=new Er(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(Or,e.parseEach(r,t),s);if(n!==null){let h=ar(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 gr extends et{render(t,e){return e.renderText(this.val.eval(t))}}class Mr extends Et{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ot extends et{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=wr(this.node)}static register=!1}class br extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class qr extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class ji extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class be extends ot{optimize(){this.node.optimize()}}class $i extends ot{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new bt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ki extends ot{constructor(t,e){super(t,e);this.iterInfo=new Er(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new bt({})}static register=!0}class Er{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)??mh,s=this.loopWithVal?.eval(t)??Nh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var mh=(t,e,r)=>!0,Nh=(t)=>({seq:t}),vh={slot:be,show:br,hide:qr,each:Ki,scope:$i,"push-view":ji};class ct{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new ct(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new Ui(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 be)i[h.val.val]=h.node;else if(!(h instanceof Bt)||!h.isWhiteSpace())s.push(h);let n=new Ei(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 Bt&&t.isWhiteSpace(),Oi=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function tu(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)&&Oi(t[i-1])&&Oi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class qe{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=et.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=wr(this.anode)}render(t,e){return this.anode.render(t,e)}}class Ui{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Li(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 Li{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=hu(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 eu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ee=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,Mi=(t)=>Ee((e)=>e.e.key===t),bi=Ee(({e:t})=>eu&&t.metaKey||t.ctrlKey),ru=Ee(({e:t})=>t.metaKey),su=Ee(({e:t})=>t.altKey),qi={ctrl:bi,cmd:bi,meta:ru,alt:su},iu={keydown:{send:Mi("Enter"),cancel:Mi("Escape"),...qi},click:{...qi}},nu=(t,e)=>t;function hu(t,e){if(e.length===0)return nu;let r=iu[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 Ir{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 Ar{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 jr{getKey(t,e,r){return r.call(t)}}class $r{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 Ie{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new $r}setNullComputedCache(){this.computedCache=new jr}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:Wi}getHandlerFor(t,e,r){return this.getCompFor(t)?.[r][e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getHandlerFor(t,e,"computed");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 Ae{constructor(t=new Ie,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ae(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 dr(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 Kr{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 Di extends Kr{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var It=(t)=>typeof t==="string",uu=0;class Ur{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},y={}){this.id=uu++,this.name=t,this.Class=e,this.views={main:new qe("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=c,this.bubble=f,this.response=_,this.alter=l,this.on={stackEnter:y?.stackEnter??Wi};for(let g in s){let S=s[g],{view:T,style:v}=It(S)?{view:S}:S;this.views[g]=new qe(g,T,v)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(It(r)){let s=p.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Kr(e,s,Symbol(e))}else if(It(r?.default)&&It(r?.for)){let s=p.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(It(i)&&It(n))this.dynamic[e]=new Di(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 Wi(t){return t}var Ti=Symbol("STOP"),Wr=Symbol("NEXT");class xt{constructor(t,e){this.head=t,this.tail=e}push(t){return new xt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ti?e:s===Wr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Lr{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?Ti:Wr:e}}class Dr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Wr:e}}class G{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 G(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new xt(new Lr(e,{it:e},!0),null),i=new xt(new Dr({}),null),n=new xt("main",null);return new G(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 Lr(t,e,r));return new G(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 G(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 Dr(e));return new G(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){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.it,t)}getHandlerFor(t,e){return this.comps.getHandlerFor(this.it,t,e)}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 Ji{constructor(t){this.val=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.val;this.val=t;for(let s of this.changeSubs)s({val:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.val),e)}}class Rr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ji(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 Hr(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 Xi(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.val,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??ou(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Hi(t,this,f??_,f?[l]:[a,y],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.val,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 Zi(t,e,r,this,s))}}function ou(t){return()=>{throw Error(`Request not found: ${t}`)}}function cu(){return this}class Jr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Gi,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 G.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 fu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ri=(t)=>Number.isNaN(t)?null:t;function Tr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Zi extends Jr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return G.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 Xr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Tr(e);case"valueAsInt":return Ri(parseInt(Tr(e),10));case"valueAsFloat":return Ri(parseFloat(Tr(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 fu&&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 Gr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Zr extends Jr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??cu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Gr(this.path,this.transactor,this)]]}}class Hi extends Zr{handlerProp="response"}class Hr extends Zr{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 Xi extends Hr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Gi{constructor(t){this.info=t,this.deps=[],this.val=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.val=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class Xr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Qi(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 Gr extends Xr{stopPropagation(){return this.parent.stopPropagation()}}class Qi extends nr{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 Qr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ae(r),this.transactor=new Rr(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]=tt.fromEvent(t,i,n,h,u);if(r){let f=_u(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.val,_=o.lookup(f),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Ci(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 G.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.val,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.val!==e.old)this.render()}),je("tutuca-app",this.comps.compileStyles(),t?.head??document.head),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 tt([]),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 je(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function _u(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 Ci{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.val=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}class $e extends ct{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{val:i,thenVal:n,elseVal:h}=s;if(n!==void 0)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.val==="string")this._addClasses(t.val)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof H&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function Pt(t,e){if(!t)throw Error(e)}function j(t){Pt(t!==1/0,"Cannot perform this action with an infinite size.")}function Yi(t,e,r,s,i,n){return j(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 lu=(t,e)=>e,au=(t,e)=>[e,t],Cr=(t)=>function(...e){return!t.apply(this,e)},Bi=(t)=>function(...e){return-t.apply(this,e)};function ln(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var xi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class an{constructor(t){this.next=t}[Symbol.iterator](){return this}}function D(t){return new an(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return D(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var yu=D(()=>$),ft=()=>yu;function Xe(t){let e=0,r={done:!1,value:void 0};return D(()=>{if(e===t)return $;return r.value=e++,r})}function re(t,e){return q((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function ss(t){if(Array.isArray(t))return!0;return!!Ge(t)}var du=(t)=>typeof t?.next==="function";function yn(t){return Ge(t)?.call(t)}function Ge(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function pu(t){let e=Ge(t);return e&&e===t.entries}function gu(t){let e=Ge(t);return e&&e===t.keys}var se="delete",z=5,E=1<<z,K=E-1,d={},mr=()=>({value:!1});function X(t){if(t)t.value=!0}class Qe{}function $t(t){if(t.size===void 0)t.size=t.__iterate(dn);return t.size}function st(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?$t(t)+e:e}var dn=()=>!0,pn=(t)=>t<0||Object.is(t,-0),ie=(t,e,r)=>(t===0&&!pn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),gn=(t,e,r)=>t===void 0?r:pn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Dt=(t,e)=>gn(t,e,0),ne=(t,e)=>gn(t,e,e),wn="@@__IMMUTABLE_ITERABLE__@@",We="@@__IMMUTABLE_KEYED__@@",Te="@@__IMMUTABLE_INDEXED__@@",it="@@__IMMUTABLE_ORDERED__@@",he="@@__IMMUTABLE_SEQ__@@",zn="@@__IMMUTABLE_LIST__@@",Sn="@@__IMMUTABLE_MAP__@@",On="@@__IMMUTABLE_SET__@@",Mn="@@__IMMUTABLE_STACK__@@",bn="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var J=(t)=>F(t,wn),w=(t)=>F(t,We),I=(t)=>F(t,Te),is=(t)=>w(t)||I(t),P=(t)=>F(t,it),ns=(t)=>F(t,he),qn=(t)=>F(t,zn),Ce=(t)=>F(t,Sn),hs=(t)=>F(t,On),us=(t)=>F(t,Mn),dt=(t)=>F(t,bn),B=(t)=>J(t)||dt(t),os=(t)=>Ce(t)&&P(t),En=(t)=>hs(t)&&P(t),Pi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function In(t){let e=x(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=(r)=>re(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function An(t,e,r){let s=x(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,d);return h===d?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=(i)=>re(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function jn(t,e){let r=x(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=In(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)$t(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)$t(t);let n=this.size;return re(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function $n(t,e,r,s){let i=t.size;if(ie(e,r,i))return t;if(i===void 0&&(e<0||r<0))return $n(t.toSeq().cacheResult(),e,r,s);let n=Dt(e,i),u=ne(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=x(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&ns(t)&&o>=0)c.get=function(f,_){return f=st(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,g)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?g:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),l=0,a=0;if(s)return D(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return $;let y=_.next();if(y.done)return y;return a++,y});return q((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let g=_.next();if(g.done)return!1;return a++,y[0]=a-1,y[1]=g.value[1],!0})},c}function jt(t,e,r){if(!e)e=ln;let s=w(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?ys(n):I(t)?yt(n):kt(n)}function Ke(t,e,r){if(!e)e=ln;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Fi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Fi(e,s,i)?i:s)}function Fi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Yr(t,e,r,s){let i=x(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=V(_);return yn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{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 cs(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 Kn(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 nt=(t)=>typeof t==="object"&&(B(t)||Array.isArray(t)||Kn(t));function Un(t){if(cs(t)&&typeof t!=="string")return t;if(P(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var wu=(t,e)=>B(t)?t.has(e):nt(t)&&Object.hasOwn(t,e);function Ln(t,e,r){return B(t)?t.get(e,r):!wu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function fs(t,e,r){let s=Un(e),i=0;while(i!==s.length)if(t=Ln(t,s[i++],d),t===d)return r;return t}var Dn=(t,e)=>fs(t,e,d)!==d;function A(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(Pi(t)&&Pi(e)&&t.equals(e))}function Re(t){if(!t||typeof t!=="object")return t;if(!J(t)){if(!nt(t))return t;t=m(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 _s(t,e){if(t===e)return!0;if(!J(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)||I(t)!==I(e)||P(t)!==P(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!is(t);if(P(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&A(c[1],u)&&(r||A(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?!A(h,t.get(u,d)):!A(t.get(u,d),h))return i=!1,!1;return!0});return i&&t.size===n}var Ye=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return ki(t);if(typeof t.hashCode==="function")return Ye(t.hashCode(t));let e=bu(t);if(e===null||e===void 0)return ki(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return zu(e);case"string":return e.length>qu?Su(e):Nr(e);case"object":case"function":return Mu(e);case"symbol":return Ou(e);default:if(typeof e.toString==="function")return Nr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var ki=(t)=>t===null?1108378658:1108378659;function zu(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return Ye(e)}function Su(t){let e=Pr[t];if(e===void 0){if(e=Nr(t),xr===Eu)xr=0,Pr={};xr++,Pr[t]=e}return e}function Nr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Ye(e)}function Ou(t){let e=mi[t];if(e!==void 0)return e;return e=Wn(),mi[t]=e,e}function Mu(t){let e=Vi.get(t);if(e!==void 0)return e;return e=Wn(),Vi.set(t,e),e}var bu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Wn(){let t=++Br;if(Br&1073741824)Br=0;return t}var Vi=new WeakMap,mi=Object.create(null),Br=0,qu=16,Eu=255,xr=0,Pr={};function Iu(t){if(t.size===1/0)return 0;let e=P(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Ni(Q(i),Q(n))|0}:(i,n)=>{s=s+Ni(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Au(t.size,s)}var Ni=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Au(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=Ye(e^e>>>16),e}function Ft(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ns(t)?e:t.create?t.create(e):t.constructor(e),Tn=(t,e)=>O(t,(w(t)?C:I(t)?pt:gt)(e)),vi=(...t)=>t,V=(t)=>J(t)?t:m(t);class b{size=0;static{this.prototype[wn]=!0,this.prototype.__toStringMapper=Ft,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return _s(this,t)}hashCode(){return this.__hash??(this.__hash=Iu(this))}toArray(){j(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 Xn(this)}toJS(){return Re(this)}toKeyedSeq(){return new zs(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){j(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 Gn(this)}toSeq(){return I(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(!J(s))s=e?Jn(s):Zn(Array.isArray(s)?s:[s]);else if(e)s=C(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)||I(this)&&I(s))return s}return O(this,new Hn(r))}includes(t){return this.some((e)=>A(e,t))}every(t,e){j(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=x(r);if(s)i.has=(n)=>{let h=r.get(n,d);return h!==d&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,d);return u!==d&&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 q((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}})},O(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)=>Tn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return j(this.size),this.__iterate(e?t.bind(e):t)}join(t){j(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 D(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return O(this,An(this,t,e))}reduce(t,e=d,r){return Yi(this,t,e,r,e===d,!1)}reduceRight(t,e=d,r){return Yi(this,t,e,r,e===d,!0)}reverse(){return O(this,jn(this,w(this)))}slice(t,e){return O(this,$n(this,t,e,w(this)))}some(t,e){j(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 O(this,jt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{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 $t(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(au).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Cr(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){return this.findEntry(t,e)?.[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(dn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?C:I(this)?pt:gt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=x(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)&&J(_))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 q((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)&&J(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})},O(this,s)}fromEntrySeq(){return new Qn(this)}get(t,e){return this.find((r,s)=>A(s,t),void 0,e)}getIn(t,e){return fs(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,d)!==d}hasIn(t){return Dn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:V(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:V(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>A(e,t))}keySeq(){return this.toSeq().map(lu).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?Bi(t):xi)}minBy(t,e){return Ke(this,e?Bi(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=x(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 q((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}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Cr(t),e)}sortBy(t,e){return O(this,jt(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=x(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 D(()=>{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})},O(this,s)}takeUntil(t,e){return this.takeWhile(Cr(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 C=(t)=>w(t)?t:ys(t);class ls extends b{static{this.prototype[We]=!0,this.prototype.__toStringMapper=(t,e)=>`${Ft(e)}: ${Ft(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,In(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var pt=(t)=>I(t)?t:yt(t);class at extends b{static{this.prototype[Te]=!0,this.prototype[it]=!0}toKeyedSeq(){return new zs(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=d,...r){if(t===void 0)return this;let s=e!==d;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Dt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(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=st(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=st(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=x(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 q((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})},O(this,r)}interleave(...t){let e=[this,...t],r=Yr(this.toSeq(),yt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(vi,...t)}zipAll(...t){let e=[this,...t];return O(this,Yr(this,vi,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,Yr(this,t,r))}}var gt=(t)=>J(t)&&!is(t)?t:kt(t);class Be extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=Be.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}V.Keyed=C;V.Indexed=pt;V.Set=gt;var Fr=at.prototype,m=(t)=>t===void 0||t===null?gs():B(t)?t.toSeq():ju(t),x=(t)=>Object.create((w(t)?Wt:I(t)?wt:ds).prototype);class _t extends b{static{this.prototype[he]=!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 D(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var as={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},ys=(t)=>t===void 0||t===null?gs().toKeyedSeq():J(t)?w(t)?t.toSeq():t.fromEntrySeq():dt(t)?t.toSeq():Jn(t);class Wt extends ls{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?gs():J(t)?w(t)?t.entrySeq():t.toIndexedSeq():dt(t)?t.toSeq().entrySeq():Zn(t);yt.of=(...t)=>yt(t);class wt extends at{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(J(t)&&!is(t)?t:yt(t)).toSetSeq();kt.of=(...t)=>kt(t);class ds extends Be{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toSetSeq(){return this}}m.isSeq=ns;m.Keyed=ys;m.Set=kt;m.Indexed=yt;class ue extends wt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[st(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 q((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class ps extends Wt{static{this.prototype[it]=!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 q((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Rn extends wt{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=yn(e);if(!du(r))return ft();let s=0;return q((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var gs=()=>new ue([]),ws=(t)=>cs(t)?new ue(t):ss(t)?new Rn(t):void 0;function Jn(t){let e=ws(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ps(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Zn(t){let e=ws(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=ws(t);if(e)return pu(t)?e.fromEntrySeq():gu(t)?e.toSetSeq():e;if(typeof t==="object")return new ps(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Hn extends _t{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[We])this[We]=!0;if(i[Te])this[Te]=!0;if(i[it])this[it]=!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 ft();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 q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return D(()=>n()||$)}}class zs extends Wt{static{this.prototype[it]=!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=jn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=An(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 Xn extends wt{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)$t(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)$t(this);let r=this.size;return re(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Gn extends ds{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 re(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Qn 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){tn(s),r++;let i=J(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 q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){tn(i);let n=J(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 _t.prototype.cacheResult.call(this)}function tn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var W=(t)=>t===void 0||t===null?Y():Ce(t)&&!P(t)?t:Y().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});class Vt extends ls{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Kt,concat:vr,[Sn]:!0,[se]: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 W(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,Q(t),t,e):e}set(t,e){return rn(this,t,e)}remove(t){return rn(this,t,d)}deleteAll(t){let e=V(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 Y()}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 ft();return Ue(this._root,!1,0)}values(){if(!this._root)return ft();return Ue(this._root,!1,1)}entries(){if(!this._root)return ft();return Ue(this._root,!1)}__iterator(t){if(!this._root)return ft();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 Y();return this.__ownerID=t,this.__altered=!1,this}return Ms(this.size,this._root,t,this.__hash)}}W.isMap=Ce;class Ss{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===1)return;if(!_&&!u&&f>=Wu)return $u(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ss(t,a)}}class xe{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Bn(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[nn(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===d)return this;let _=nn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=bs(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Tu)return Uu(t,l,c,u,y);if(f&&!y&&l.length===2&&sn(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&sn(y))return y;let g=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?xn(l,_,y,g):Du(l,_,g):Lu(l,_,y,g);if(g)return this.bitmap=S,this.nodes=T,this;return new xe(t,S,T)}}class Os{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Bn(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===d,c=this.nodes,f=c[u];if(o&&!f)return this;let _=bs(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 Ku(t,c,l,u)}let a=t&&t===this.ownerID,y=xn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new Os(t,l,y)}}class Pe{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===d)return this;return X(h),X(n),qs(this,t,e,r,[s,i])}let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===2)return new zt(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 Pe(t,this.keyHash,a)}}class zt{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 A(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===d,o=A(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(X(h),u){X(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return X(n),qs(this,t,e,Q(s),[s,i])}}function Cn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(A(e,t[s][0]))return t[s][1];return r}function Yn(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 Bn(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 D(()=>{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 Ms=(t,e,r,s)=>new Vt(t,e,r,s),en,Y=()=>en||(en=Ms(0));function rn(t,e,r){let s,i;if(!t._root){if(r===d)return t;i=1,s=new Ss(t.__ownerID,[[e,r]])}else{let n=mr(),h=mr();if(s=bs(t._root,t.__ownerID,0,Q(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===d?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Ms(i,s):Y()}function bs(t,e,r,s,i,n,h,u){if(!t){if(n===d)return t;return X(u),X(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var sn=(t)=>t.constructor===zt||t.constructor===Pe;function qs(t,e,r,s,i){if(t.keyHash===s)return new Pe(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new zt(e,s,i),o=n===h?[qs(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new xe(e,1<<n|1<<h,o)}function $u(t,e,r,s){if(!t)t=new Qe;let i=new zt(t,Q(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,Q(n),n,h);return i}function Ku(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new xe(t,i,h)}function Uu(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new Os(t,n+1,h)}function nn(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 xn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Lu(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 Du(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Wu=E/4,Tu=E/2,Ru=E/4;function Je(t){if(Array.isArray(t))return t.slice();return{...t}}var cc=(t,...e)=>ce(t,e),fc=(t,e,...r)=>ce(e,r,t),oe=(t,e,r)=>ce(t,e,Ju(r)),_c=(t,...e)=>oe(t,e),lc=(t,e,...r)=>oe(e,r,t);function ce(t,e,r){if(!nt(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(B(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:C,h=s?(u)=>{if(i===t)i=Je(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=Je(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Ju(t){function e(r,s,i){return nt(r)&&nt(s)&&Zu(r,s)?ce(r,[s],e):t?t(r,s,i):s}return e}function Zu(t,e){let r=m(t),s=m(e);return I(r)===I(s)&&w(r)===w(s)}function Hu(t,e){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Xu(t,e,r){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);return s[e]=r,s}function Rt(t,e,r,s){if(!s)s=r,r=void 0;let i=Pn(B(t),t,Un(e),0,r,s);return i===d?r:i}function Pn(t,e,r,s,i,n){let h=e===d;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!nt(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Ft)}]: ${e}`);let u=r[s],o=h?d:Ln(e,u,d),c=Pn(o===d?t:B(o),o,r,s+1,i,n);if(c===o)return e;if(c===d)return Hu(e,u);let f=h?t?Y():{}:e;return Xu(f,u,c)}var Gu=(t,e)=>Rt(t,e,()=>d),Qu=(t,e,r)=>Rt(t,e,d,()=>r);function Fn(t,e,r,s){return Rt(t,[e],r,s)}function fe(){return this.__ensureOwner()}function _e(){return this.__ownerID?this:this.__ensureOwner(new Qe)}function Es(){return this.__altered}function le(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Cu(t,e){return fs(this,t,e)}function Yu(t){return Dn(this,t)}function Kt(t){return Gu(this,t)}function Is(t,e){return Qu(this,t,e)}function As(t,e,r){return typeof t==="function"?t(this):Fn(this,t,e,r)}function js(t,e,r){return Rt(this,t,e,r)}function hn(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function vr(...t){return Vn(this,t)}function kn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Vn(this,e,t)}function Vn(t,e,r){let s=[];for(let i of e){let n=C(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 dt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Fn(i,u,d,(o)=>o===d?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function mn(...t){return oe(this,t)}function Nn(t,...e){return oe(this,e,t)}function $s(t,...e){return Rt(this,t,Y(),(r)=>ce(r,e))}function Ks(t,...e){return Rt(this,t,Y(),(r)=>oe(r,e))}function St(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=mt();if(t===void 0||t===null)return e;if(qn(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(j(s),s>0&&s<E)return ae(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};U.of=(...t)=>U(t);class vn extends at{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Kt,[zn]:!0,[se]: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=st(this,t),t>=0&&t<this.size)return t+=this._origin,rh(this,t)?.array[t&K];return e}set(t,e){return xu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return mt()}push(...t){let e=this.size;return this.withMutations((r)=>{rt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return rt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{rt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return rt(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"&&ss(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 rt(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(ie(t,e,r))return this;return rt(this,Dt(t,r),ne(e,r))}__iterate(t,e){let r=e?this.size:0;return Bu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=un(this,t);return q((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return un(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this}return ae(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=qn;class lt{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 lt([],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:E)||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 un(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 D(()=>{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-_,y=s-_;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function Bu(t,e,r){let{_origin:s,_capacity:i}=t,n=Lt(i),h=t._tail,u=t._level,o=t._root;return u===0?th(o,0,s,i,n,h,e,r):eh(o,u,0,s,i,n,h,e,r)}function th(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>E)f=E;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function eh(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(_>E)_=E;let l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?th(c?.[a],y,s,i,n,h,u,o):eh(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var ae=(t,e,r,s,i,n,h)=>new vn(t,e,r,s,i,n,h),mt=()=>ae(0,0,z);function xu(t,e,r){if(e=st(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)rt(h,e).set(0,r);else rt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=mr();if(e>=Lt(t._capacity))s=ts(s,t.__ownerID,0,e,r,n);else i=ts(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 ae(t._origin,t._capacity,t._level,i,s)}function ts(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?.array[h],f=ts(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)X(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 lt(t?.array.slice()??[],e)}function rh(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 rt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Qe,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 lt(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 lt(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?rh(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Ut(c,s);let g=c;for(let S=o;S>z;S-=z){let T=_>>>S&K;g=g.array[T]=Ut(g.array[T],s)}g.array[_>>>z&K]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let g=h>>>o&K;if(g!==l>>>o&K)break;if(g)f+=(1<<o)*g;o-=z,c=c.array[g]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return ae(h,u,o,c,y)}var Lt=(t)=>t<E?0:t-1>>>z<<z,L=(t)=>t===void 0||t===null?Nt():os(t)?t:Nt().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});L.of=(...t)=>L(t);class sh extends Vt{static{St(this,{[it]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:b.prototype.keys,values:b.prototype.values,__iterate:b.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 L(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 Nt()}set(t,e){return on(this,t,e)}remove(t){return on(this,t,d)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return q((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 Nt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Us(e,r,t,this.__hash)}}L.isOrderedMap=os;var Us=(t,e,r,s)=>new sh(t,e,r,s),Nt=()=>Us(Y(),mt());function on(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===d){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=mt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Y().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 Us(u,o)}var vt=(t)=>t===void 0||t===null?Ze():us(t)?t:Ze().pushAll(t);vt.of=(...t)=>vt(t);class ih extends at{static{St(this,{asImmutable:fe,asMutable:_e,wasAltered:Es,withMutations:le,[Mn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return vt(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=st(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 kr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&us(t))return t;j(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),kr(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 Ze()}slice(t,e){if(ie(t,e,this.size))return this;let r=Dt(t,this.size);if(ne(e,this.size)!==this.size)return at.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return kr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ze();return this.__ownerID=t,this.__altered=!1,this}return Ls(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 q((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 q((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 D(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}vt.isStack=us;function kr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Ls(e,r)}var Ls=(t,e,r,s)=>new ih(t,e,r,s),cn,Ze=()=>cn||(cn=Ls(0)),M=(t)=>t===void 0||t===null?ee():hs(t)&&!P(t)?t:ee().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(C(t).keySeq());M.intersect=(t)=>{return t=V(t).toArray(),t.length?M(t.pop()).intersect(...t):ee()};M.union=(t)=>{let e=V(t).toArray();return e.length?M(e.pop()).union(...e):ee()};class te extends Be{static{St(this,{withMutations:le,asImmutable:fe,asMutable:_e,[On]:!0,[se]: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 M(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 M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else gt(r).forEach((s)=>e.add(s))})}intersect(...t){return _n(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return _n(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return ee()}__make(t,e){return nh(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)}}M.isSet=hs;var nh=(t,e)=>new te(t,e),fn,ee=()=>fn||(fn=nh(Y()));function _n(t,e,r){if(e.length===0)return t;return e=e.map((s)=>gt(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 k=(t)=>t===void 0||t===null?es():En(t)?t:es().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});k.of=(...t)=>k(t);k.fromKeys=(t)=>k(C(t).keySeq());class hh extends te{static{St(this,{[it]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Fr.zip,zipWith:Fr.zipWith,zipAll:Fr.zipAll})}create(t){return k(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return es()}__make(t,e){return uh(t,e)}}k.isOrderedSet=En;var uh=(t,e)=>new hh(t,e),es=()=>uh(Nt()),ac={LeftThenRight:-1,RightThenLeft:1};function Pu(t){if(dt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(B(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var Fe=(t,e)=>{let r;Pu(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._name=e,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 ${Ds(this)} with property "${f}" since that property name is part of the Record API.`);else ku(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),C(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Fu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class oh{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,getIn:Cu,hasIn:Yu,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,toObject:hn,update:As,updateIn:js,withMutations:le,removeIn:Kt,toJSON:hn,[bn]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Ft(this.get(e))}`).join(", ");return`${Ds(this)} { ${t} }`}equals(t){return this===t||dt(t)&&At(this).equals(At(t))}hashCode(){return At(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 Vr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Vr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return At(this)}toJS(){return Re(this)}entries(){return this.__iterator()}__iterate(t,e){return At(this).__iterate(t,e)}__iterator(t){return At(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 Vr(this,e,t)}}Fe.isRecord=dt;var Ds=(t)=>t.constructor.displayName||t.constructor.name||"Record";class ch 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 q((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 At=(t)=>new ch(t);Fe.getDescriptiveName=Ds;var Fu=oh.prototype;function Vr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function ku(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Pt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var rs=(t,e,r=1)=>{if(Pt(r!==0,"Cannot step a Range by 0"),Pt(t!==void 0,"You must define a start value when using Range"),Pt(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 Ws(t,e,r,s)};class Ws extends wt{_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+st(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(ie(t,e,this.size))return this;if(t=Dt(t,this.size),e=ne(e,this.size),e<=t)return rs(0,0);return rs(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 q((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 D(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Ws?this._start===t._start&&this._end===t._end&&this._step===t._step:_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var yc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new He(t,r)};class He extends wt{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 A(this._value,t)}slice(t,e){let r=this.size;return ie(t,e,r)?this:new He(this._value,ne(e,r)-Dt(t,r))}reverse(){return this}indexOf(t){if(A(this._value,t))return 0;return-1}lastIndexOf(t){if(A(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 q((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 D(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof He?this.size===t.size&&A(this._value,t._value):_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var dc=(t,e)=>fh([],e??Vu,t,"",e?.length>2?[]:void 0,{"":t});function fh(t,e,r,s,i,n){if(typeof r!=="string"&&!B(r)&&(cs(r)||ss(r)||Kn(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,m(r).map((u,o)=>fh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var Vu=(t,e)=>I(e)?e.toList():w(e)?e.toMap():e.toSet(),De=(t)=>w(t)?t.valueSeq():t;function mu(){b.prototype.toMap=function(){return W(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return L(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return k(De(this))},b.prototype.toSet=function(){return M(De(this))},b.prototype.toStack=function(){return vt(De(this))},b.prototype.toList=function(){return U(De(this))},b.prototype.countBy=function(e,r){let s=W().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},b.prototype.groupBy=function(e,r){let s=w(this),i=(P(this)?L():W()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Tn(this,n)).asImmutable()},at.prototype.keySeq=function(){return rs(0,this.size)},Vt.prototype.sort=function(e){return L(jt(this,e))},Vt.prototype.sortBy=function(e,r){return L(jt(this,r,e))},te.prototype.sort=function(e){return k(jt(this,e))},te.prototype.sortBy=function(e,r){return k(jt(this,r,e))}}var Nu="7.0.0",vu={version:Nu};mu();var{version:pc}=vu;var _h=Symbol("BadValue"),dh=(t)=>t;class Z{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,_h);if(h===_h)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Rs{isValid(t){return!0}getMessage(t){return"Invalid"}}class ph extends Rs{}var to=new ph;class N extends Rs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var eo=new N((t)=>Number.isInteger(t),()=>"Integer expected"),ro=new N((t)=>Number.isFinite(t),()=>"Float expected"),so=new N((t)=>typeof t==="boolean",()=>"Boolean expected"),io=new N((t)=>typeof t==="string",()=>"String expected"),no=new N((t)=>U.isList(t),()=>"List expected"),ho=new N((t)=>W.isMap(t),()=>"Map expected"),uo=new N((t)=>L.isOrderedMap(t),()=>"OrderedMap expected"),oo=new N((t)=>M.isSet(t),()=>"Set expected"),co=(t)=>!!t;class Js extends Z{constructor(t,e=!1){super("bool",t,so,co,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 ke extends Z{constructor(t,e=null){super("any",t,to,dh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ts(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var fo=(t)=>t?.toString?.()??"";class Zs extends Z{constructor(t,e=""){super("text",t,io,fo,e)}extendProtoForType(t,e){Cs(t,this.name,e,"","length")}}var _o=(t)=>Number.isFinite(t)?Math.trunc(t):null;class gh extends Z{constructor(t,e=0){super("int",t,eo,_o,e)}}var lo=(t)=>null;class Hs extends Z{constructor(t,e=0){super("float",t,ro,lo,e)}}var Ts=(t)=>t?.constructor?.getMetaClass?.()?.name;class wh{constructor(t){this.typeName=t}isValid(t){return Ts(t)===this.typeName}getMessage(t){let e=Ts(t);return`Expected "${this.typeName}", got "${e}"`}}class zh extends Z{constructor(t,e,r){super(t,e,new wh(t),dh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var lh=Symbol("NONE");function Jt(t,e,r){Cs(t,e,r,Oh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,lh);if(h!==lh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Sh(t,e,`${r}At`)}function Sh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var Oh=U(),ao=(t)=>Array.isArray(t)?U(t):null;class Xs extends Z{constructor(t,e=Oh){super("list",t,no,ao,e)}extendProtoForType(t,e){let{name:r}=this;Jt(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 yo=(t)=>W(t);class Gs extends Z{constructor(t,e=W()){super("map",t,ho,yo,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}var po=(t)=>L(t);class Qs extends Z{constructor(t,e=L()){super("omap",t,uo,po,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}function Cs(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var ah=M(),go=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class Ys extends Z{constructor(t,e=ah){super("set",t,oo,go,e)}extendProtoForType(t,e){let{name:r}=this;Cs(t,r,e,ah),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Sh(t,r,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 yh(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 Mh{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]=yh(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]=yh(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:Fe(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new zh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Ve=new Map,wo={text:Zs,int:gh,float:Hs,bool:Js,list:Xs,map:Gs,omap:Qs,set:Ys,any:ke};function zo(t,{fields:e={},methods:r,statics:s}){let i=new Mh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Zs);else if(u==="number")i.addField(n,h,Hs);else if(u==="boolean")i.addField(n,h,Js);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),Xs);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),Ys);else if(L.isOrderedMap(h))i.addField(n,h,Qs);else if(h?.type&&h?.defaultValue!==void 0){let o=wo[h.type]??ke;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(W.isMap(h)||h?.constructor===Object)i.addField(n,W(h),Gs);else{let o=Ve.get(h?.constructor)??ke;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var So=(t)=>new Ur(t.name??"Comp",zo(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 Oo=["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.renderComment=s,this.renderFn=i,this.getSeqInfo=n??Ao,this.cache=h??new Ar}setNullCache(){this.cache=new Ir}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 Oo)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,this.renderView(o,t)]);return this.cache.set(e,h,f),f}pushEachEntry(t,e,r,s,i){t.push(this.renderMetadata("Each",{nid:e,[r]:s}),i)}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);this.pushEachEntry(c,r,u,_,y)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=[],_=h.call(t.it,i);for(let[l,a]of c(i))if(n.call(t.it,l,a,_)){let y={key:l,value:a},g=`${s}-${l}`,S;if(u)u.call(t.it,y,l,a,_),S=this.cache.get2(t.it,a,g);else S=this.cache.get(a,g);if(S){this.pushEachEntry(f,s,o,l,S);continue}let T=t.enter(a,y,!1),v=this.renderView(r,T);if(this.pushEachEntry(f,s,o,l,v),u)this.cache.set2(t.it,a,g,v);else this.cache.set(a,g,v)}return f}renderView(t,e){return t.render(e,this)}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderEmpty(){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*Mo(t){let e=0;for(let r of t)yield[e++,r]}function*bo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var me=new Map,qo=["si",Mo],Eo=["sk",bo],Io=["si",function*(e){}];function Ao(t){return I(t)?qo:w(t)?Eo:me.get(t?.constructor)??Io}class Ot{constructor(t=W(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Ot(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 jo=(t)=>null;class bh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var $o=new bh;class qh extends Z{constructor(t,e=new Ot){super("KList",t,$o,jo,e)}extendProtoForType(t,e){Jt(t,this.name,e);let{name:r}=this;Jt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}Ve.set(Ot,qh);function*Ko(t){for(let e of t.order)yield[e,t.items.get(e)]}me.set(Ot,["data-sk",Ko]);var Ps=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ye=(t)=>t!==null&&typeof t==="object",Ih=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function Ah(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Uo(t,s,r);else if(Ps(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ye(i))Lo(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Uo(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.replaceChildren();else if(e==="className")t.removeAttribute("class");else if(e==="htmlFor")t.removeAttribute("for");else if(typeof s==="string"||Ps(e))t.removeAttribute(e);else t[e]=null}function Lo(t,e,r,s){let i=e?.[r];if(ye(i)&&Ih(i,s)){t[r]=s;return}if(!ye(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Zt{}var xs=(t)=>t instanceof tr?t.key:void 0,Do=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function jh(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function Fs(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function ks(t,e){if(e==null)return;if(Do(e))for(let r of e)ks(t,r);else if(e instanceof Zt)if(e instanceof Mt)t.push(...e.childs);else t.push(e);else t.push(new Vs(e))}class Vs extends Zt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Vs&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class ve extends Zt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof ve&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class Mt extends Zt{constructor(t){super();this.childs=[],ks(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof Mt)||this.childs.length!==t.childs.length)return!1;return jh(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return Fs(e,this.childs,t),e}}class tr 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}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof tr)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||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 in t.attrs)if(!Object.hasOwn(this.attrs,e))return!1;return jh(this.childs,t.childs)}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);return Ah(r,this.attrs,{}),Fs(r,this.childs,t),r}}function $h(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)continue;if(ye(i)&&ye(n))if(Ih(n,i))r??={},r[s]=n;else{let h=$h(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 Kh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;let i=e.nodeType;if(i===r.nodeType){if(i===3||i===8)return t.data=r.text,t;if(i===1&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let h=$h(e.attrs,r.attrs);if(h)Ah(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Eh(t,e.childs,r.childs,s);return t}if(i===11)return Eh(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Eh(t,e,r,s){if(e.length===0){Fs(t,r,s);return}if(r.length===0){t.replaceChildren();return}let i=Array.from(t.childNodes),n=Object.create(null);for(let o=0;o<e.length;o++){let c=xs(e[o]);if(c!=null)n[c]=o}let h=new Uint8Array(e.length),u=0;for(let o=0;o<r.length;o++){let c=r[o],f=xs(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&xs(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let l=Kh(i[_],e[_],c,s),a=t.childNodes[o]??null;if(l!==a)t.insertBefore(l,a)}else{let l=t.childNodes[o]??null;t.insertBefore(c.toDom(s),l)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Ne=new WeakMap;function Uh(t,e,r){let s=Ne.get(e),i=t instanceof Mt;if(s&&s.vnode instanceof Mt===i){let h=i?e:s.dom,u=Kh(h,s.vnode,t,r);return Ne.set(e,{vnode:t,dom:i?e:u}),u}Ne.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Ne.set(e,{vnode:t,dom:i?e:n}),n}function Lh(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let c=e[o];switch(o){case"key":n=c;break;case"namespace":h=c;break;case"class":i.className=c;break;case"for":i.htmlFor=c;break;default:i[o]=Ps(o)?String(c):c}}let u=[];return ks(u,r),new tr(s,i,u,n,h)}var{raw:Wc,raw:Tc}=String;function Rc(t,e){return new Sr(t,e)}var Wo=(t)=>typeof t==="string"?document.querySelector(t):t;function Jc(t){let e=Wo(t),r=new Ie,s=(o)=>new Mt(o),i=(o)=>new ve(o),n={document},h=(o,c)=>Uh(o,c,n),u=new Bs(r,Lh,s,i,h);return new Qr(e,h,r,u,ct)}async function Pc(t,e,r="margaui-css"){let s=performance.now(),i=await To(t,e),n=performance.now();return je(r,i),n-s}async function To(t,e,r,s=$e){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}export{pc as version,Rt as updateIn,Fn as update,Jc as tutuca,Qu as setIn,Xu as set,me as seqInfoByClass,Gu as removeIn,Hu as remove,fc as mergeWith,lc as mergeDeepWith,_c as mergeDeep,cc as merge,Rc as macro,Pi as isValueObject,us as isStack,hs as isSet,ns as isSeq,dt as isRecord,Kn as isPlainObject,En as isOrderedSet,os as isOrderedMap,P as isOrdered,os as isOMap,Ce as isMap,qn as isList,w as isKeyed,I as isIndexed,B as isImmutable,Ce as isIMap,J as isCollection,is as isAssociative,A as is,je as injectCss,Tc as html,Q as hash,Dn as hasIn,wu as has,fs as getIn,Ln as get,dc as fromJS,Ve as fieldsByClass,Wc as css,So as component,To as compileClassesToStyleText,Pc as compileClassesToStyle,vt as Stack,M as Set,m as Seq,yc as Repeat,Fe as Record,rs as Range,ct as ParseContext,ac as PairSorting,k as OrderedSet,L as OrderedMap,L as OMap,W as Map,U as List,Ot as KList,M as ISet,W as IMap,V as Collection};
|