a;)p==y&&(p=t[--g].from,y=g?t[g-1].to:i),Z[--p]=d;a=h}else s=u,a++}}}function Ws(i,e,t,r,n,s,o){let l=r%2?2:1;if(r%2==n%2)for(let a=e,u=0;aa&&o.push(new it(a,g.from,d));let y=g.direction==Xt!=!(d%2);zs(i,y?r+1:r,n,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==t||(h?Z[p]!=l:Z[p]==l))break;p++}f?Ws(i,a,p,r+1,n,f,o):ae;){let h=!0,c=!1;if(!u||a>s[u-1].to){let g=Z[a-1];g!=l&&(h=!1,c=g==16)}let f=!h&&l==1?[]:null,d=h?r:r+1,p=a;e:for(;;)if(u&&p==s[u-1].to){if(c)break e;let g=s[--u];if(!h)for(let y=g.from,b=u;;){if(y==e)break e;if(b&&s[b-1].to==y)y=s[--b].from;else{if(Z[y-1]==l)break e;break}}if(f)f.push(g);else{g.toZ.length;)Z[Z.length]=256;let r=[],n=e==Xt?0:1;return zs(i,n,n,t,0,i.length,r),r}function ru(i){return[new it(0,i,0)]}var nu="";function kf(i,e,t,r,n){var s;let o=r.head-i.from,l=it.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),a=e[l],u=a.side(n,t);if(o==u){let f=l+=n?1:-1;if(f<0||f>=e.length)return null;a=e[l=f],o=a.side(!n,t),u=a.side(n,t)}let h=Ze(i.text,o,a.forward(n,t));(ha.to)&&(h=u),nu=i.text.slice(Math.min(o,h),Math.max(o,h));let c=l==(n?e.length-1:0)?null:e[l+(n?1:-1)];return c&&h==u&&c.level+(n?0:1)i.some(e=>e)}),Rf=$.define({combine:i=>i.some(e=>e)}),fu=$.define(),ir=class i{constructor(e,t="nearest",r="nearest",n=5,s=5,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},an=se.define({map:(i,e)=>i.map(e)}),du=se.define();function ze(i,e,t){let r=i.facet(au);r.length?r[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Et=$.define({combine:i=>i.length?i[0]:!0}),Nf=0,Xi=$.define(),Jt=class i{constructor(e,t,r,n,s){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=n,this.extension=s(this)}static define(e,t){let{eventHandlers:r,eventObservers:n,provide:s,decorations:o}=t||{};return new i(Nf++,e,r,n,l=>{let a=[Xi.of(l)];return o&&a.push(cr.of(u=>{let h=u.plugin(l);return h?o(h):le.none})),s&&a.push(s(l)),a})}static fromClass(e,t){return i.define(r=>new e(r),t)}},rr=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(ze(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(n){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){ze(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){ze(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=$.define(),mo=$.define(),cr=$.define(),gu=$.define(),yo=$.define(),mu=$.define();function ma(i,e){let t=i.state.facet(mu);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(i):s),n=[];return he.spans(r,e.from,e.to,{point(){},span(s,o,l,a){let u=s-e.from,h=o-e.from,c=n;for(let f=l.length-1;f>=0;f--,a--){let d=l[f].spec.bidiIsolate,p;if(d==null&&(d=Mf(e.text,u,h)),a>0&&c.length&&(p=c[c.length-1]).to==u&&p.direction==d)p.to=h,c=p.inner;else{let g={from:u,to:h,direction:d,inner:[]};c.push(g),c=g.inner}}}}),n}var yu=$.define();function bu(i){let e=0,t=0,r=0,n=0;for(let s of i.state.facet(yu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:e,right:t,top:r,bottom:n}}var Ji=$.define(),nt=class i{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>r.toA)){if(n.toAh)break;s+=2}if(!a)return r;new i(a.fromA,a.toA,a.fromB,a.toB).addToSet(r),o=a.toA,l=a.toB}}},An=class i{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=_e.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let n=[];this.changes.iterChangedRanges((s,o,l,a)=>n.push(new nt(s,o,l,a))),this.changedRanges=n}static create(e,t,r){return new i(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Cn=class extends ee{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=le.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new we],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new nt(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:u,toA:h})=>hthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?n=this.domChanged.newSel.head:!Ff(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let s=n>-1?Bf(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:u,to:h}=this.hasComposition;r=new nt(u,h,e.changes.mapPos(u,-1),e.changes.mapPos(h,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(R.ie||R.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=_f(o,l,e.changes);return r=nt.extendWithRanges(r,a),!(this.flags&7)&&r.length==0?!1:(this.updateInner(r,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=R.chrome||R.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||n.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to=0?n[o]:null;if(!l)break;let{fromA:a,toA:u,fromB:h,toB:c}=l,f,d,p,g;if(r&&r.range.fromBh){let E=tr.build(this.view.state.doc,h,r.range.fromB,this.decorations,this.dynamicDecorationMap),S=tr.build(this.view.state.doc,r.range.toB,c,this.decorations,this.dynamicDecorationMap);d=E.breakAtStart,p=E.openStart,g=S.openEnd;let N=this.compositionView(r);S.breakAtStart?N.breakAfter=1:S.content.length&&N.merge(N.length,N.length,S.content[0],!1,S.openStart,0)&&(N.breakAfter=S.content[0].breakAfter,S.content.shift()),E.content.length&&N.merge(0,0,E.content[E.content.length-1],!0,0,E.openEnd)&&E.content.pop(),f=E.content.concat(N).concat(S.content)}else({content:f,breakAtStart:d,openStart:p,openEnd:g}=tr.build(this.view.state.doc,h,c,this.decorations,this.dynamicDecorationMap));let{i:y,off:b}=s.findPos(u,1),{i:A,off:w}=s.findPos(a,-1);ja(this,A,w,y,b,f,d,p,g)}r&&this.fixCompositionDOM(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(du)&&(this.editContextFormatting=r.value)}compositionView(e){let t=new st(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Tt(n,[t],t.length);let r=new we;return r.append(t,0),r}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=ee.get(s);l&&l!=o&&(l.dom=null),o.setDOM(s)},r=this.childPos(e.range.fromB,1),n=this.children[r.i];t(e.line,n);for(let s=e.marks.length-1;s>=-1;s--)r=n.childPos(r.off,1),n=n.children[r.i],t(s>=0?e.marks[s].node:e.text,n)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,n=r==this.dom,s=!n&&pn(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),u=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(R.gecko&&l.empty&&!this.hasComposition&&Of(a)){let c=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(c,a.node.childNodes[a.offset]||null)),a=u=new xe(c,0),o=!0}let h=this.view.observer.selectionRange;(o||!h.focusNode||(!er(a.node,a.offset,h.anchorNode,h.anchorOffset)||!er(u.node,u.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,l))&&(this.view.observer.ignore(()=>{R.android&&R.chrome&&this.dom.contains(h.focusNode)&&If(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=sr(this.view.root);if(c)if(l.empty){if(R.gecko){let f=Pf(a.node,a.offset);if(f&&f!=3){let d=(f==1?Wa:za)(a.node,a.offset);d&&(a=new xe(d.node,d.offset))}}c.collapse(a.node,a.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(a.node,a.offset);try{c.extend(u.node,u.offset)}catch(f){}}else{let f=document.createRange();l.anchor>l.head&&([a,u]=[u,a]),f.setEnd(u.node,u.offset),f.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(a,u)),this.impreciseAnchor=a.precise?null:new xe(h.anchorNode,h.anchorOffset),this.impreciseHead=u.precise?null:new xe(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&er(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=sr(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let o=we.find(this,t.head);if(!o)return;let l=o.posAtStart;if(t.head==l||t.head==l+o.length)return;let a=this.coordsAt(t.head,-1),u=this.coordsAt(t.head,1);if(!a||!u||a.bottom>u.top)return;let h=this.domAtPos(t.head+t.assoc);r.collapse(h.node,h.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&r.collapse(n,s)}moveToLine(e){let t=this.dom,r;if(e.node!=t)return e;for(let n=e.offset;!r&&n=0;n--){let s=ee.get(t.childNodes[n]);s instanceof we&&(r=s.domAtPos(s.length))}return r?new xe(r.node,r.offset,!0):e}nearest(e){for(let t=e;t;){let r=ee.get(t);if(r&&r.rootView==this)return r;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;t=0;o--){let l=this.children[o],a=s-l.breakAfter,u=a-l.length;if(ae||l.covers(1))&&(!r||l instanceof we&&!(r instanceof we&&t>=0)))r=l,n=u;else if(r&&u==e&&a==e&&l instanceof Gt&&Math.abs(t)<2){if(l.deco.startSide<0)break;o&&(r=null)}s=u}return r?r.coordsAt(e-n,t):null}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),n=this.children[t];if(!(n instanceof we))return null;for(;n.children.length;){let{i:l,off:a}=n.childPos(r,1);for(;;l++){if(l==n.children.length)return null;if((n=n.children[l]).length)break}r=a}if(!(n instanceof st))return null;let s=Ze(n.text,r);if(s==r)return null;let o=Yt(n.dom,r,s).getClientRects();for(let l=0;lMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==me.LTR;for(let u=0,h=0;hn)break;if(u>=r){let d=c.dom.getBoundingClientRect();if(t.push(d.height),o){let p=c.dom.lastChild,g=p?or(p):[];if(g.length){let y=g[g.length-1],b=a?y.right-d.left:d.right-y.left;b>l&&(l=b,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=f)}}}u=f+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?me.RTL:me.LTR}measureTextSize(){for(let s of this.children)if(s instanceof we){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,r,n;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=or(e.firstChild)[0];t=e.getBoundingClientRect().height,r=s?s.width/27:7,n=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:r,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new bn(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let s=n==t.viewports.length?null:t.viewports[n],o=s?s.from-1:this.length;if(o>r){let l=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(le.replace({widget:new hr(l),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return le.set(e)}updateDeco(){let e=1,t=this.view.state.facet(cr).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,n=this.view.state.facet(gu).map((s,o)=>{let l=typeof s=="function";return l&&(r=!0),l?s(this.view):s});for(n.length&&(this.dynamicDecorationMap[e++]=r,t.push(he.join(n))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),n;if(!r)return;!t.empty&&(n=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=bu(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;ff(this.view.scrollDOM,o,t.head{re.from&&(t=!0)}),t}function Hf(i,e,t=1){let r=i.charCategorizer(e),n=i.doc.lineAt(e),s=e-n.from;if(n.length==0)return P.cursor(e);s==0?t=1:s==n.length&&(t=-1);let o=s,l=s;t<0?o=Ze(n.text,s,!1):l=Ze(n.text,s);let a=r(n.text.slice(o,l));for(;o>0;){let u=Ze(n.text,o,!1);if(r(n.text.slice(u,o))!=a)break;o=u}for(;li?e.left-i:Math.max(0,i-e.right)}function Vf(i,e){return e.top>i?e.top-i:Math.max(0,i-e.bottom)}function Os(i,e){return i.tope.top+1}function ya(i,e){return ei.bottom?{top:i.top,left:i.left,right:i.right,bottom:e}:i}function Gs(i,e,t){let r,n,s,o,l=!1,a,u,h,c;for(let p=i.firstChild;p;p=p.nextSibling){let g=or(p);for(let y=0;yw||o==w&&s>A){r=p,n=b,s=A,o=w;let E=w?t0?y0)}A==0?t>b.bottom&&(!h||h.bottomb.top)&&(u=p,c=b):h&&Os(h,b)?h=ba(h,b.bottom):c&&Os(c,b)&&(c=ya(c,b.top))}}if(h&&h.bottom>=t?(r=a,n=h):c&&c.top<=t&&(r=u,n=c),!r)return{node:i,offset:0};let f=Math.max(n.left,Math.min(n.right,e));if(r.nodeType==3)return va(r,f,t);if(l&&r.contentEditable!="false")return Gs(r,f,t);let d=Array.prototype.indexOf.call(i.childNodes,r)+(e>=(n.left+n.right)/2?1:0);return{node:i,offset:d}}function va(i,e,t){let r=i.nodeValue.length,n=-1,s=1e9,o=0;for(let l=0;lt?h.top-t:t-h.bottom)-1;if(h.left-1<=e&&h.right+1>=e&&c=(h.left+h.right)/2,d=f;if((R.chrome||R.gecko)&&Yt(i,l).getBoundingClientRect().left==h.right&&(d=!f),c<=0)return{node:i,offset:l+(d?1:0)};n=l+(d?1:0),s=c}}}return{node:i,offset:n>-1?n:o>0?i.nodeValue.length:0}}function wu(i,e,t,r=-1){var n,s;let o=i.contentDOM.getBoundingClientRect(),l=o.top+i.viewState.paddingTop,a,{docHeight:u}=i.viewState,{x:h,y:c}=e,f=c-l;if(f<0)return 0;if(f>u)return i.state.doc.length;for(let E=i.viewState.heightOracle.textHeight/2,S=!1;a=i.elementAtHeight(f),a.type!=rt.Text;)for(;f=r>0?a.bottom+E:a.top-E,!(f>=0&&f<=u);){if(S)return t?null:0;S=!0,r=-r}c=l+f;let d=a.from;if(di.viewport.to)return i.viewport.to==i.state.doc.length?i.state.doc.length:t?null:wa(i,o,a,h,c);let p=i.dom.ownerDocument,g=i.root.elementFromPoint?i.root:p,y=g.elementFromPoint(h,c);y&&!i.contentDOM.contains(y)&&(y=null),y||(h=Math.max(o.left+1,Math.min(o.right-1,h)),y=g.elementFromPoint(h,c),y&&!i.contentDOM.contains(y)&&(y=null));let b,A=-1;if(y&&((n=i.docView.nearest(y))===null||n===void 0?void 0:n.isEditable)!=!1){if(p.caretPositionFromPoint){let E=p.caretPositionFromPoint(h,c);E&&({offsetNode:b,offset:A}=E)}else if(p.caretRangeFromPoint){let E=p.caretRangeFromPoint(h,c);E&&({startContainer:b,startOffset:A}=E,(!i.contentDOM.contains(b)||R.safari&&qf(b,A,h)||R.chrome&&Uf(b,A,h))&&(b=void 0))}}if(!b||!i.docView.dom.contains(b)){let E=we.find(i.docView,d);if(!E)return f>a.top+a.height/2?a.to:a.from;({node:b,offset:A}=Gs(E.dom,h,c))}let w=i.docView.nearest(b);if(!w)return null;if(w.isWidget&&((s=w.dom)===null||s===void 0?void 0:s.nodeType)==1){let E=w.dom.getBoundingClientRect();return e.yi.defaultLineHeight*1.5){let l=i.viewState.heightOracle.textHeight,a=Math.floor((n-t.top-(i.defaultLineHeight-l)*.5)/l);s+=a*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+sa(o,s,i.state.tabSize)}function qf(i,e,t){let r;if(i.nodeType!=3||e!=(r=i.nodeValue.length))return!1;for(let n=i.nextSibling;n;n=n.nextSibling)if(n.nodeType!=1||n.nodeName!="BR")return!1;return Yt(i,r-1,r).getBoundingClientRect().left>t}function Uf(i,e,t){if(e!=0)return!1;for(let n=i;;){let s=n.parentNode;if(!s||s.nodeType!=1||s.firstChild!=n)return!1;if(s.classList.contains("cm-line"))break;n=s}let r=i.nodeType==1?i.getBoundingClientRect():Yt(i,0,Math.max(i.nodeValue.length,1)).getBoundingClientRect();return t-r.left>5}function Wf(i,e){let t=i.lineBlockAt(e);if(Array.isArray(t.type)){for(let r of t.type)if(r.to>e||r.to==e&&(r.to==t.to||r.type==rt.Text))return r}return t}function zf(i,e,t,r){let n=Wf(i,e.head),s=!r||n.type!=rt.Text||!(i.lineWrapping||n.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),l=i.textDirectionAt(n.from),a=i.posAtCoords({x:t==(l==me.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(a!=null)return P.cursor(a,t?-1:1)}return P.cursor(t?n.to:n.from,t?-1:1)}function Aa(i,e,t,r){let n=i.state.doc.lineAt(e.head),s=i.bidiSpans(n),o=i.textDirectionAt(n.from);for(let l=e,a=null;;){let u=kf(n,s,o,l,t),h=nu;if(!u){if(n.number==(t?i.state.doc.lines:1))return l;h=`\n`,n=i.state.doc.line(n.number+(t?1:-1)),s=i.bidiSpans(n),u=i.visualLineSide(n,!t)}if(a){if(!a(h))return l}else{if(!r)return u;a=r(h)}l=u}}function jf(i,e,t){let r=i.state.charCategorizer(e),n=r(t);return s=>{let o=r(s);return n==Qe.Space&&(n=o),n==o}}function Gf(i,e,t,r){let n=e.head,s=t?1:-1;if(n==(t?i.state.doc.length:0))return P.cursor(n,e.assoc);let o=e.goalColumn,l,a=i.contentDOM.getBoundingClientRect(),u=i.coordsAtPos(n,e.assoc||-1),h=i.documentTop;if(u)o==null&&(o=u.left-a.left),l=s<0?u.top:u.bottom;else{let d=i.viewState.lineBlockAt(n);o==null&&(o=Math.min(a.right-a.left,i.defaultCharacterWidth*(n-d.from))),l=(s<0?d.top:d.bottom)+h}let c=a.left+o,f=r!=null?r:i.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(f+d)*s,g=wu(i,{x:c,y:p},!1,s);if(pa.bottom||(s<0?gn)){let y=i.docView.coordsForChar(g),b=!y||p{if(e>s&&en(i)),t.from,e.head>t.from?-1:1);return r==t.from?t:P.cursor(r,rs)&&this.lineBreak(),n=o}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,n=this.lineSeparator?null:/\\r\\n?|\\n/g;;){let s=-1,o=1,l;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(l=n.exec(t))&&(s=l.index,o=l[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);r=s+o}}readNode(e){if(e.cmIgnore)return;let t=ee.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let n=r.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(Kf(e,r.node,r.offset)?t:0))}};function Kf(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let l=s||o?[]:Jf(e),a=new Ks(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=Qf(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!Ls(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),u=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Ls(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),h=e.viewport;if((R.ios||R.chrome)&&e.state.selection.main.empty&&a!=u&&(h.from>0||h.toDate.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,a=n.from,u=null;(s===8||R.android&&e.text.length=n.from&&t.to<=n.to&&(t.from!=n.from||t.to!=n.to)&&n.to-n.from-(t.to-t.from)<=4?t={from:n.from,to:n.to,insert:i.state.doc.slice(n.from,t.from).append(t.insert).append(i.state.doc.slice(t.to,n.to))}:(R.mac||R.android)&&t&&t.from==t.to&&t.from==n.head-1&&/^\\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=P.single(r.main.anchor-1,r.main.head-1)),t={from:n.from,to:n.to,insert:Y.of([" "])}):R.chrome&&t&&t.from==t.to&&t.from==n.head&&t.insert.toString()==`\n `&&i.lineWrapping&&(r&&(r=P.single(r.main.anchor-1,r.main.head-1)),t={from:n.from,to:n.to,insert:Y.of([" "])}),t)return bo(i,t,r,s);if(r&&!r.main.eq(n)){let o=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(o=!0),l=i.inputState.lastSelectionOrigin),i.dispatch({selection:r,scrollIntoView:o,userEvent:l}),!0}else return!1}function bo(i,e,t,r=-1){if(R.ios&&i.inputState.flushIOSKey(e))return!0;let n=i.state.selection.main;if(R.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&i.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&yi(i.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.lengthn.head)&&yi(i.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&yi(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,l=()=>o||(o=Yf(i,e,t));return i.state.facet(uu).some(a=>a(i,e.from,e.to,s,l))||i.dispatch(l()),!0}function Yf(i,e,t){let r,n=i.state,s=n.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+a))}else{let l=n.changes(e),a=t&&t.main.to<=l.newLength?t.main:void 0;if(n.selection.ranges.length>1&&i.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let u=i.state.sliceDoc(e.from,e.to),h,c=t&&vu(i,t.main.head);if(c){let p=e.insert.length-(e.to-e.from);h={from:c.from,to:c.to-p}}else h=i.state.doc.lineAt(s.head);let f=s.to-e.to,d=s.to-s.from;r=n.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:a||p.map(l)};let g=p.to-f,y=g-u.length;if(p.to-p.from!=d||i.state.sliceDoc(y,g)!=u||p.to>=h.from&&p.from<=h.to)return{range:p};let b=n.changes({from:y,to:g,insert:e.insert}),A=p.to-s.to;return{changes:b,range:a?P.range(Math.max(0,a.anchor+A),Math.max(0,a.head+A)):p.map(b)}})}else r={changes:l,selection:a&&n.selection.replaceRange(a)}}let o="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,o+=".compose",i.inputState.compositionFirstChange&&(o+=".start",i.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:o,scrollIntoView:!0})}function Xf(i,e,t,r){let n=Math.min(i.length,e.length),s=0;for(;s0&&l>0&&i.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(r=="end"){let a=Math.max(0,s-Math.min(o,l));t-=o+a-s}if(o=o?s-t:0;s-=a,l=s+(l-o),o=s}else if(l=l?s-t:0;s-=a,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}function Jf(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new Sn(t,r)),(n!=t||s!=r)&&e.push(new Sn(n,s))),e}function Qf(i,e){if(i.length==0)return null;let t=i[0].pos,r=i.length==2?i[1].pos:t;return t>-1&&r>-1?P.single(t+e,r+e):null}var Xs=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,R.safari&&e.contentDOM.addEventListener("input",()=>null),R.gecko&&pd(e.contentDOM.ownerDocument)}handleEvent(e){!od(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||this.runHandlers(e.type,e)}runHandlers(e,t){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,t);for(let n of r.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Zf(e),r=this.handlers,n=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,l=r[s];l&&o!=!l.handlers.length&&(n.removeEventListener(s,this.handleEvent),l=null),l||n.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&n.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&td.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),R.android&&R.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return R.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Cu.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||ed.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:R.safari&&!R.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Ca(i,e){return(t,r)=>{try{return e.call(i,r,t)}catch(n){ze(t.state,n)}}}function Zf(i){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of i){let n=r.spec;if(n&&n.domEventHandlers)for(let s in n.domEventHandlers){let o=n.domEventHandlers[s];o&&t(s).handlers.push(Ca(r.value,o))}if(n&&n.domEventObservers)for(let s in n.domEventObservers){let o=n.domEventObservers[s];o&&t(s).observers.push(Ca(r.value,o))}}for(let r in je)t(r).handlers.push(je[r]);for(let r in Ve)t(r).observers.push(Ve[r]);return e}var Cu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ed="dthko",td=[16,17,18,20,91,92,224,225],un=6;function hn(i){return Math.max(0,i)*.7+8}function id(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Js=class{constructor(e,t,r,n){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=df(e.contentDOM),this.atoms=e.state.facet(yo).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(oe.allowMultipleSelections)&&rd(e,t),this.dragging=sd(e,t)&&Eu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&id(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,n=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=bu(this.view);e.clientX-a.left<=n+un?t=-hn(n-e.clientX):e.clientX+a.right>=o-un&&(t=hn(e.clientX-o)),e.clientY-a.top<=s+un?r=-hn(s-e.clientY):e.clientY+a.bottom>=l-un&&(r=hn(e.clientY-l)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;rt.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function rd(i,e){let t=i.state.facet(su);return t.length?t[0](e):R.mac?e.metaKey:e.ctrlKey}function nd(i,e){let t=i.state.facet(ou);return t.length?t[0](e):R.mac?!e.altKey:!e.ctrlKey}function sd(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let r=sr(i.root);if(!r||r.rangeCount==0)return!0;let n=r.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function od(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=ee.get(t))&&r.ignoreEvent(e))return!1;return!0}var je=Object.create(null),Ve=Object.create(null),Su=R.ie&&R.ie_version<15||R.ios&&R.webkit_version<604;function ld(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Du(i,t.value)},50)}function Rn(i,e,t){for(let r of i.facet(e))t=r(t,i);return t}function Du(i,e){e=Rn(i.state,po,e);let{state:t}=i,r,n=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Qs!=null&&t.selection.ranges.every(a=>a.empty)&&Qs==s.toString()){let a=-1;r=t.changeByRange(u=>{let h=t.doc.lineAt(u.from);if(h.from==a)return{range:u};a=h.from;let c=t.toText((o?s.line(n++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:c},range:P.cursor(u.from+c.length)}})}else o?r=t.changeByRange(a=>{let u=s.line(n++);return{changes:{from:a.from,to:a.to,insert:u.text},range:P.cursor(a.from+u.length)}}):r=t.replaceSelection(s);i.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Ve.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};je.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Ve.touchstart=(i,e)=>{i.inputState.lastTouchTime=Date.now(),i.inputState.setSelectionOrigin("select.pointer")};Ve.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};je.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of i.state.facet(lu))if(t=r(i,e),t)break;if(!t&&e.button==0&&(t=hd(i,e)),t){let r=!i.hasFocus;i.inputState.startMouseSelection(new Js(i,e,t,r)),r&&i.observer.ignore(()=>{Va(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let n=i.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}return!1};function Sa(i,e,t,r){if(r==1)return P.cursor(e,t);if(r==2)return Hf(i.state,e,t);{let n=we.find(i.docView,e),s=i.state.doc.lineAt(n?n.posAtEnd:e),o=n?n.posAtStart:s.from,l=n?n.posAtEnd:s.to;return le>=t.top&&e<=t.bottom&&i>=t.left&&i<=t.right;function ad(i,e,t,r){let n=we.find(i.docView,e);if(!n)return 1;let s=e-n.posAtStart;if(s==0)return 1;if(s==n.length)return-1;let o=n.coordsAt(s,-1);if(o&&Da(t,r,o))return-1;let l=n.coordsAt(s,1);return l&&Da(t,r,l)?1:o&&o.bottom>=r?-1:1}function Ea(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:ad(i,t,e.clientX,e.clientY)}}var ud=R.ie&&R.ie_version<=11,xa=null,Ta=0,ka=0;function Eu(i){if(!ud)return i.detail;let e=xa,t=ka;return xa=i,ka=Date.now(),Ta=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Ta+1)%3:1}function hd(i,e){let t=Ea(i,e),r=Eu(e),n=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),n=n.map(s.changes))},get(s,o,l){let a=Ea(i,s),u,h=Sa(i,a.pos,a.bias,r);if(t.pos!=a.pos&&!o){let c=Sa(i,t.pos,t.bias,r),f=Math.min(c.from,h.from),d=Math.max(c.to,h.to);h=f1&&(u=cd(n,a.pos))?u:l?n.addRange(h):P.create([h])}}}function cd(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}je.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let n=i.docView.nearest(e.target);if(n&&n.isWidget){let s=n.posAtStart,o=s+n.length;(s>=t.to||o<=t.from)&&(t=P.range(s,o))}}let{inputState:r}=i;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Rn(i.state,go,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};je.dragend=i=>(i.inputState.draggedContent=null,!1);function Ma(i,e,t,r){if(t=Rn(i.state,po,t),!t)return;let n=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=r&&s&&nd(i,e)?{from:s.from,to:s.to}:null,l={from:n,insert:t},a=i.state.changes(o?[o,l]:l);i.focus(),i.dispatch({changes:a,selection:{anchor:a.mapPos(n,-1),head:a.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}je.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),n=0,s=()=>{++n==t.length&&Ma(i,e,r.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(l.result)||(r[o]=l.result),s()},l.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Ma(i,e,r,!0),!0}return!1};je.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Su?null:e.clipboardData;return t?(Du(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(ld(i),!1)};function fd(i,e){let t=i.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),i.focus()},50)}function dd(i){let e=[],t=[],r=!1;for(let n of i.selection.ranges)n.empty||(e.push(i.sliceDoc(n.from,n.to)),t.push(n));if(!e.length){let n=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>n&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),n=o.number}r=!0}return{text:Rn(i,go,e.join(i.lineBreak)),ranges:t,linewise:r}}var Qs=null;je.copy=je.cut=(i,e)=>{let{text:t,ranges:r,linewise:n}=dd(i.state);if(!t&&!n)return!1;Qs=n?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Su?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(fd(i,t),!1)};var xu=mt.define();function Tu(i,e){let t=[];for(let r of i.facet(hu)){let n=r(i,e);n&&t.push(n)}return t?i.update({effects:t,annotations:xu.of(!0)}):null}function ku(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Tu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Ve.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),ku(i)};Ve.blur=i=>{i.observer.clearSelectionRange(),ku(i)};Ve.compositionstart=Ve.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Ve.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,R.chrome&&R.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Ve.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};je.beforeinput=(i,e)=>{var t,r;if(e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let l=o[0],a=i.posAtDOM(l.startContainer,l.startOffset),u=i.posAtDOM(l.endContainer,l.endOffset);return bo(i,{from:a,to:u,insert:i.state.toText(s)},null),!0}}let n;if(R.chrome&&R.android&&(n=Cu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return R.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),R.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Ve.compositionend(i,e),20),!1};var Ra=new Set;function pd(i){Ra.has(i)||(Ra.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Na=["pre-wrap","normal","pre-line","break-spaces"],vi=!1;function Oa(){vi=!1}var Zs=class{constructor(e){this.lineWrapping=e,this.doc=Y.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Na.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=s,a){this.heightSamples={};for(let u=0;u0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>mn&&(vi=!0),this.height=e)}replace(e,t,r){return i.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let s=this,o=r.doc;for(let l=n.length-1;l>=0;l--){let{fromA:a,toA:u,fromB:h,toB:c}=n[l],f=s.lineAt(a,re.ByPosNoHeight,r.setDoc(t),0,0),d=f.to>=u?f:s.lineAt(u,re.ByPosNoHeight,r,0,0);for(c+=d.to-u,u=d.to;l>0&&f.from<=n[l-1].toA;)a=n[l-1].fromA,h=n[l-1].fromB,l--,as*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),r+=1+l.break,n-=l.size}else if(s>n*2){let l=e[r];l.break?e.splice(r,1,l.left,null,l.right):e.splice(r,1,l.left,l.right),r+=2+l.break,s-=l.size}else break;else if(n=s&&o(this.blockAt(0,r,n,s))}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},$e=class i extends En{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,n){return new tt(n,this.length,r,this.height,this.breaks)}replace(e,t,r){let n=r[0];return r.length==1&&(n instanceof i||n instanceof xt&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof xt?n=new i(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Ie.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setHeight(n.heights[n.index++]):(r||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},xt=class i extends Ie{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,s=n-r+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:n,perLine:o,perChar:l}}blockAt(e,t,r,n){let{firstLine:s,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(t,n);if(t.lineWrapping){let u=n+(e0){let s=r[r.length-1];s instanceof i?r[r.length-1]=new i(s.length+n):r.push(null,new i(n-1))}if(e>0){let s=r[0];s instanceof i?r[0]=new i(e+s.length):r.unshift(new i(e-1),null)}return Ie.of(r)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let s=t+this.length;if(n&&n.from<=t+this.length&&n.more){let o=[],l=Math.max(t,n.from),a=-1;for(n.from>t&&o.push(new i(n.from-t-1).updateHeight(e,t));l<=s&&n.more;){let h=e.doc.lineAt(l).length;o.length&&o.push(null);let c=n.heights[n.index++];a==-1?a=c:Math.abs(c-a)>=mn&&(a=-2);let f=new $e(h,c);f.outdated=!1,o.push(f),l+=h+1}l<=s&&o.push(null,new i(s-l).updateHeight(e,l));let u=Ie.of(o);return(a<0||Math.abs(u.height-this.height)>=mn||Math.abs(a-this.heightMetrics(e,t).perLine)>=mn)&&(vi=!0),Dn(this,u)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},to=class extends Ie{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,n){let s=r+this.left.height;return el))return u;let h=t==re.ByPosNoHeight?re.ByPosNoHeight:re.ByPos;return a?u.join(this.right.lineAt(l,h,r,o,l)):this.left.lineAt(l,h,r,n,s).join(u)}forEachLine(e,t,r,n,s,o){let l=n+this.left.height,a=s+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,r,l,a,o);else{let u=this.lineAt(a,re.ByPos,r,n,s);e=e&&u.from<=t&&o(u),t>u.to&&this.right.forEachLine(u.to+1,t,r,l,a,o)}}replace(e,t,r){let n=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let l of r)s.push(l);if(e>0&&Ba(s,o-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e2*t.size||t.size>2*e.size?Ie.of(this.break?[e,null,t]:[e,t]):(this.left=Dn(this.left,e),this.right=Dn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,n){let{left:s,right:o}=this,l=t+s.length+this.break,a=null;return n&&n.from<=t+s.length&&n.more?a=s=s.updateHeight(e,t,r,n):s.updateHeight(e,t,r),n&&n.from<=l+o.length&&n.more?a=o=o.updateHeight(e,l,r,n):o.updateHeight(e,l,r),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Ba(i,e){let t,r;i[e]==null&&(t=i[e-1])instanceof xt&&(r=i[e+1])instanceof xt&&i.splice(e-1,3,new xt(t.length+1+r.length))}var gd=5,io=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof $e?n.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new $e(r-this.pos,-1)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=gd)&&this.addLineDeco(n,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new $e(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new xt(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof $e)return e;let t=new $e(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof $e)&&!this.isCovered?this.nodes.push(new $e(0,-1)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&c.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),l=Math.max(l,f.top),a=Math.min(u==i.parentNode?n.innerHeight:a,f.bottom)}u=c.position=="absolute"||c.position=="fixed"?h.offsetParent:h.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function bd(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var nr=class{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Zs(t),this.stateDeco=e.facet(cr).filter(r=>typeof r!="function"),this.heightMap=Ie.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle.setDoc(e.doc),[new nt(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=le.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let n=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>n>=s&&n<=o)){let{from:s,to:o}=this.lineBlockAt(n);e.push(new mi(s,o))}}return this.viewports=e.sort((r,n)=>r.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Pa:new so(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Zi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(cr).filter(h=>typeof h!="function");let n=e.changedRanges,s=nt.extendWithRanges(n,md(r,this.stateDeco,e?e.changes:_e.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Oa(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||vi)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let u=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Rf)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?me.RTL:me.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),l=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let u=0,h=0;if(l.width&&l.height){let{scaleX:E,scaleY:S}=$a(t,l);(E>.005&&Math.abs(this.scaleX-E)>.005||S>.005&&Math.abs(this.scaleY-S)>.005)&&(this.scaleX=E,this.scaleY=S,u|=8,o=a=!0)}let c=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,u|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=8);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=Ua(e.scrollDOM);let p=(this.printing?bd:yd)(t,this.paddingTop),g=p.top-this.pixelViewport.top,y=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let A=l.width;if((this.contentDOMWidth!=A||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,u|=8),a){let E=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(E)&&(o=!0),o||n.lineWrapping&&Math.abs(A-this.contentDOMWidth)>n.charWidth){let{lineHeight:S,charWidth:N,textHeight:M}=e.docView.measureTextSize();o=S>0&&n.refresh(s,S,N,M,A/N,E),o&&(e.docView.minWidth=0,u|=8)}g>0&&y>0?h=Math.max(g,y):g<0&&y<0&&(h=Math.min(g,y)),Oa();for(let S of this.viewports){let N=S.from==this.viewport.from?E:e.docView.measureVisibleLineHeights(S);this.heightMap=(o?Ie.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle,[new nt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new eo(S.from,N))}vi&&(u|=2)}let w=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return w&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),u|=this.updateForViewport()),(u&2||w)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new mi(n.lineAt(o-r*1e3,re.ByHeight,s,0,0).from,n.lineAt(l+(1-r)*1e3,re.ByHeight,s,0,0).to);if(t){let{head:u}=t.range;if(ua.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=n.lineAt(u,re.ByPos,s,0,0),f;t.y=="center"?f=(c.top+c.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&u=l+Math.max(10,Math.min(r,250)))&&n>o-2*1e3&&s>1,o=n<<1;if(this.defaultTextDirection!=me.LTR&&!r)return[];let l=[],a=(h,c,f,d)=>{if(c-hh&&bb.from>=f.from&&b.to<=f.to&&Math.abs(b.from-h)b.fromA));if(!y){if(cb.from<=c&&b.to>=c)){let b=t.moveToLineBoundary(P.cursor(c),!1,!0).head;b>h&&(c=b)}y=new nr(h,c,this.gapSize(f,h,c,d))}l.push(y)},u=h=>{if(h.lengthh.from&&a(h.from,d,h,c),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];he.spans(e,this.viewport.from,this.viewport.to,{span(n,s){t.push({from:n,to:s})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some((n,s)=>n.from!=t[s].from||n.to!=t[s].to);return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Zi(this.heightMap.lineAt(e,re.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Zi(this.heightMap.lineAt(this.scaler.fromDOM(e),re.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Zi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},mi=class{constructor(e,t){this.from=e,this.to=t}};function vd(i,e,t){let r=[],n=i,s=0;return he.spans(t,i,e,{span(){},point(o,l){o>n&&(r.push({from:n,to:o}),s+=o-n),n=l}},20),n=1)return e[e.length-1].to;let r=Math.floor(i*t);for(let n=0;;n++){let{from:s,to:o}=e[n],l=o-s;if(r<=l)return s+r;r-=l}}function fn(i,e){let t=0;for(let{from:r,to:n}of i.ranges){if(e<=n){t+=e-r;break}t+=n-r}return t/i.total}function wd(i,e){for(let t of i)if(e(t))return t}var Pa={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}},so=class i{constructor(e,t,r){let n=0,s=0,o=0;this.viewports=r.map(({from:l,to:a})=>{let u=t.lineAt(l,re.ByPos,e,0,0).top,h=t.lineAt(a,re.ByPos,e,0,0).bottom;return n+=h-u,{from:l,to:a,top:u,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(t.height-n);for(let l of this.viewports)l.domTop=o+(l.top-s)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let s=tt.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}};function Zi(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),r=e.toDOM(i.bottom);return new tt(i.from,i.length,t,r-t,Array.isArray(i._content)?i._content.map(n=>Zi(n,e)):i._content)}var dn=$.define({combine:i=>i.join(" ")}),oo=$.define({combine:i=>i.indexOf(!0)>-1}),lo=He.newName(),Mu=He.newName(),Ru=He.newName(),Nu={"&light":"."+Mu,"&dark":"."+Ru};function ao(i,e,t){return new He(e,{finish(r){return/&/.test(r)?r.replace(/&\\w*/,n=>{if(n=="&")return i;if(!t||!t[n])throw new RangeError(`Unsupported selector: ${n}`);return t[n]}):i+" "+r}})}var Ad=ao("."+lo,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url(\'data:image/svg+xml,\')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Nu),Cd={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ps=R.ie&&R.ie_version<=11,uo=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new _s,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(R.ie&&R.ie_version<=11||R.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&e.constructor.EDIT_CONTEXT!==!1&&!(R.chrome&&R.chrome_version<126)&&(this.editContext=new ho(e),e.state.facet(Et)&&(e.contentDOM.editContext=this.editContext.editContext)),Ps&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,n=this.selectionRange;if(r.state.facet(Et)?r.root.activeElement!=this.dom:!pn(r.dom,n))return;let s=n.anchorNode&&r.docView.nearest(n.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(R.ie&&R.ie_version<=11||R.android&&R.chrome)&&!r.state.selection.main.empty&&n.focusNode&&er(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=sr(e.root);if(!t)return!1;let r=R.safari&&e.root.nodeType==11&&hf(this.dom.ownerDocument)==this.dom&&Sd(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let n=pn(this.dom,r);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&yi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,n=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(n=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&pn(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ys(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,n=Au(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let r=La(t,e.previousSibling||e.target.previousSibling,-1),n=La(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Et)!=e.state.facet(Et)&&(e.view.contentDOM.editContext=e.state.facet(Et)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function La(i,e,t){for(;e;){let r=ee.get(e);if(r&&r.parent==i)return r;let n=e.parentNode;e=n!=i.dom?n:t>0?e.nextSibling:e.previousSibling}return null}function _a(i,e){let t=e.startContainer,r=e.startOffset,n=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor);return er(o.node,o.offset,n,s)&&([t,r,n,s]=[n,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}}function Sd(i,e){if(e.getComposedRanges){let n=e.getComposedRanges(i.root)[0];if(n)return _a(i,n)}let t=null;function r(n){n.preventDefault(),n.stopImmediatePropagation(),t=n.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",r,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",r,!0),t?_a(i,t):null}var ho=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let{anchor:n}=e.state.selection.main,s={from:this.toEditorPos(r.updateRangeStart),to:this.toEditorPos(r.updateRangeEnd),insert:Y.of(r.text.split(`\n`))};s.from==this.from&&nthis.to&&(s.to=n),!(s.from==s.to&&!s.insert.length)&&(this.pendingContextChange=s,e.state.readOnly||bo(e,s,P.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd))),this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)))},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),l=this.toEditorPos(r.rangeEnd);o{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,l=s.underlineThickness;if(o!="None"&&l!="None"){let a=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${l=="Thin"?1:2}px`;n.push(le.mark({attributes:{style:a}}).range(this.toEditorPos(s.rangeStart),this.toEditorPos(s.rangeEnd)))}}e.dispatch({effects:du.of(le.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{e.inputState.composing=-1,e.inputState.compositionFirstChange=null};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let n=sr(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,l,a,u)=>{if(r)return;let h=u.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(u)){n=this.pendingContextChange=null,t+=h,this.to+=h;return}else n=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+u.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),u.toString()),this.to+=h}t+=h}),n&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange;!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.resetRange(e.state),this.editContext.updateText(0,this.editContext.text.length,e.state.doc.sliceString(this.from,this.to)),this.setSelection(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e){return e+this.from}toContextPos(e){return e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(n=>n.forEach(s=>r(s,this)))||(n=>this.update(n)),this.dispatch=this.dispatch.bind(this),this._root=e.root||pf(e.parent)||document,this.viewState=new xn(e.state||oe.create(e)),e.scrollTo&&e.scrollTo.is(an)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Xi).map(n=>new rr(n));for(let n of this.plugins)n.update(this);this.observer=new uo(this),this.inputState=new Xs(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Cn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof Re?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,n,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn\'t start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(xu))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Tu(s,o),a||(l=1));let u=this.observer.delayedAndroidKey,h=null;if(u?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(oe.phrases)!=this.state.facet(oe.phrases))return this.setState(s);n=An.create(this,s,e),n.flags|=l;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;c=new ir(d.empty?d:P.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(an)&&(c=d.value.clip(this.state))}this.viewState.update(n,c),this.bidiCache=Tn.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),t=this.docView.update(n),this.state.facet(Ji)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(dn)!=n.state.facet(dn)&&(this.viewState.mustMeasureContent=!0),(t||r||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!n.empty)for(let f of this.state.facet(js))try{f(n)}catch(d){ze(this.state,d,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Au(this,h)&&u.force&&yi(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new xn(e),this.plugins=e.facet(Xi).map(r=>new rr(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Cn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Xi),r=e.state.facet(Xi);if(t!=r){let n=[];for(let s of r){let o=t.indexOf(s);if(o<0)n.push(new rr(s));else{let l=this.plugins[o];l.mustUpdate=e,n.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=e;for(let n=0;n-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,n=r.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(Ua(r))s=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(n);s=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];a&4||([this.measureRequests,u]=[u,this.measureRequests]);let h=u.map(d=>{try{return d.read(this)}catch(p){return ze(this.state,p),Ia}}),c=An.create(this,this.state,[]),f=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let d=0;d1||p<-1){n=n+p,r.scrollTop=n/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(js))l(t)}get themeClasses(){return lo+" "+(this.state.facet(oo)?Ru:Mu)+" "+this.state.facet(dn)}updateAttrs(){let e=Fa(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Et)?"true":"false",class:"cm-content",style:`${R.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Fa(this,mo,t);let r=this.observer.ignore(()=>{let n=Vs(this.contentDOM,this.contentAttrs,t),s=Vs(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let n of r.effects)if(n.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(Ji);let e=this.state.facet(i.cspNonce);He.mount(this.root,this.styleModules.concat(Ad).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn\'t allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return Bs(this,e,Aa(this,e,t,r))}moveByGroup(e,t){return Bs(this,e,Aa(this,e,t,r=>jf(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),n=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return P.cursor(s.side(t,n)+e.from,s.forward(!t,n)?1:-1)}moveToLineBoundary(e,t,r=!0){return zf(this,e,t,r)}moveVertically(e,t,r){return Bs(this,e,Gf(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),wu(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n),o=s[it.find(s,e-n.from,-1,t)];return kn(r,o.dir==me.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(cu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Dd)return ru(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||iu(s.isolates,r=ma(this,e))))return s.order;r||(r=ma(this,e));let n=Tf(e.text,t,r);return this.bidiCache.push(new Tn(e.from,e.to,t,r,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||R.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Va(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return an.of(new ir(typeof e=="number"?P.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return an.of(new ir(P.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Jt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Jt.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=He.newName(),n=[dn.of(r),Ji.of(ao(`.${r}`,e))];return t&&t.dark&&n.push(oo.of(!0)),n}static baseTheme(e){return nn.lowest(Ji.of(ao("."+lo,e,Nu)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&ee.get(r)||ee.get(e);return((t=n==null?void 0:n.rootView)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Ji;q.inputHandler=uu;q.clipboardInputFilter=po;q.clipboardOutputFilter=go;q.scrollHandler=fu;q.focusChangeEffect=hu;q.perLineTextDirection=cu;q.exceptionSink=au;q.updateListener=js;q.editable=Et;q.mouseSelectionStyle=lu;q.dragMovesSelection=ou;q.clickAddsSelectionRange=su;q.decorations=cr;q.outerDecorations=gu;q.atomicRanges=yo;q.bidiIsolatedRanges=mu;q.scrollMargins=yu;q.darkTheme=oo;q.cspNonce=$.define({combine:i=>i.length?i[0]:""});q.contentAttributes=mo;q.editorAttributes=pu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=se.define();var Dd=4096,Ia={},Tn=class i{constructor(e,t,r,n,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],n=e.length?e[e.length-1].dir:me.LTR;for(let s=Math.max(0,e.length-10);s=0;n--){let s=r[n],o=typeof s=="function"?s(i):s;o&&$s(o,t)}return t}var Ob=R.mac?"mac":R.windows?"win":R.linux?"linux":"key";var Ed=!R.ios;var Ha={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};Ed&&(Ha[".cm-line"].caretColor=Ha[".cm-content"].caretColor="transparent !important");var Bb=/x/.unicode!=null?"gu":"g";var Pb=q.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"\'\'",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}});var vt=class extends yt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};vt.prototype.elementClass="";vt.prototype.toDOM=void 0;vt.prototype.mapMode=Me.TrackBefore;vt.prototype.startSide=vt.prototype.endSide=-1;vt.prototype.point=!0;var xd=Function.prototype.toString,vo=Object.create,Td=Object.prototype.toString,kd=function(){function i(){this._keys=[],this._values=[]}return i.prototype.has=function(e){return!!~this._keys.indexOf(e)},i.prototype.get=function(e){return this._values[this._keys.indexOf(e)]},i.prototype.set=function(e,t){this._keys.push(e),this._values.push(t)},i}();function Md(){return new kd}function Rd(){return new WeakMap}var Nd=typeof WeakMap!="undefined"?Rd:Md;function Ao(i){if(!i)return vo(null);var e=i.constructor;if(e===Object)return i===Object.prototype?{}:vo(i);if(e&&~xd.call(e).indexOf("[native code]"))try{return new e}catch(t){}return vo(i)}function Od(i){var e="";return i.global&&(e+="g"),i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.unicode&&(e+="u"),i.sticky&&(e+="y"),e}function Bd(i){return i.flags}var Pd=/test/g.flags==="g"?Bd:Od;function Ou(i){var e=Td.call(i);return e.substring(8,e.length-1)}function Ld(i){return i[Symbol.toStringTag]||Ou(i)}var _d=typeof Symbol!="undefined"?Ld:Ou,Id=Object.defineProperty,Fd=Object.getOwnPropertyDescriptor,Bu=Object.getOwnPropertyNames,Co=Object.getOwnPropertySymbols,Pu=Object.prototype,Lu=Pu.hasOwnProperty,Hd=Pu.propertyIsEnumerable,_u=typeof Co=="function";function $d(i){return Bu(i).concat(Co(i))}var Vd=_u?$d:Bu;function On(i,e,t){for(var r=Vd(i),n=0,s=r.length,o=void 0,l=void 0;n{throw new Error("This node type doesn\'t define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can\'t add per-node props to node types");return typeof e!="function"&&(e=Fe.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};J.closedBy=new J({deserialize:i=>i.split(" ")});J.openedBy=new J({deserialize:i=>i.split(" ")});J.group=new J({deserialize:i=>i.split(" ")});J.isolate=new J({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});J.contextHash=new J({perNode:!0});J.lookAhead=new J({perNode:!0});J.mounted=new J({perNode:!0});var wi=class{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[J.mounted.id]}},lp=Object.create(null),Fe=class i{constructor(e,t,r,n=0){this.name=e,this.props=t,this.id=r,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):lp,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new i(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can\'t store a per-node prop on a node type");t[s[0].id]=s[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(J.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let n of r.split(" "))t[n]=e[r];return r=>{for(let n=r.prop(J.group),s=-1;s<(n?n.length:0);s++){let o=t[s<0?r.name:n[s]];if(o)return o}}}};Fe.none=new Fe("",Object.create(null),0,8);var Bn=new WeakMap,qu=new WeakMap,ye;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(ye||(ye={}));var Ee=class i{constructor(e,t,r,n,s){if(this.type=e,this.children=t,this.positions=r,this.length=n,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,l]of s)this.props[typeof o=="number"?o:o.id]=l}}toString(){let e=wi.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let n=r.toString();n&&(t&&(t+=","),t+=n)}return this.type.name?(/\\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new gr(this.topNode,e)}cursorAt(e,t=0,r=0){let n=Bn.get(this)||this.topNode,s=new gr(n);return s.moveTo(e,t),Bn.set(this,s._tree),s}get topNode(){return new ot(this,0,0,null)}resolve(e,t=0){let r=dr(Bn.get(this)||this.topNode,e,t,!1);return Bn.set(this,r),r}resolveInner(e,t=0){let r=dr(qu.get(this)||this.topNode,e,t,!0);return qu.set(this,r),r}resolveStack(e,t=0){return ap(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:s=this.length}=e,o=e.mode||0,l=(o&ye.IncludeAnonymous)>0;for(let a=this.cursor(o|ye.IncludeAnonymous);;){let u=!1;if(a.from<=s&&a.to>=n&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;u=!0}for(;u&&r&&(l||!a.type.isAnonymous)&&r(a),!a.nextSibling();){if(!a.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Ro(Fe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,n)=>new i(this.type,t,r,n,this.propValues),e.makeTree||((t,r,n)=>new i(Fe.none,t,r,n)))}static build(e){return up(e)}};Ee.empty=new Ee(Fe.none,[],[],0);var Do=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Rt=class i{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return Fe.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return l}slice(e,t,r){let n=this.buffer,s=new Uint16Array(t-e),o=0;for(let l=e,a=0;l=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function dr(i,e,t,r){for(var n;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?l.length:-1;e!=u;e+=t){let h=l[e],c=a[e]+o.from;if(zu(n,r,c,c+h.length)){if(h instanceof Rt){if(s&ye.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,r-c,n);if(f>-1)return new pr(new xo(o,h,e,c),null,f)}else if(s&ye.IncludeAnonymous||!h.type.isAnonymous||Mo(h)){let f;if(!(s&ye.IgnoreMounts)&&(f=wi.get(h))&&!f.overlay)return new i(f.tree,c,e,o);let d=new i(h,c,e,o);return s&ye.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?h.children.length-1:0,t,r,n)}}}if(s&ye.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let n;if(!(r&ye.IgnoreOverlays)&&(n=wi.get(this._tree))&&n.overlay){let s=e-this.from;for(let{from:o,to:l}of n.overlay)if((t>0?o<=s:o=s:l>s))return new i(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Uu(i,e,t,r){let n=i.cursor(),s=[];if(!n.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=n.type.is(t),!n.nextSibling())return s}for(;;){if(r!=null&&n.type.is(r))return s;if(n.type.is(e)&&s.push(n.node),!n.nextSibling())return r==null?s:[]}}function Eo(i,e,t=e.length-1){for(let r=i.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}var xo=class{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}},pr=class i extends Ln{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&ye.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,n=this.index+4,s=r.buffer[this.index+3];if(s>n){let o=r.buffer[this.index+1];e.push(r.slice(n,s,o)),t.push(0)}return new Ee(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function ju(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let l=new ot(o.tree,o.overlay[0].from+s.from,-1,s);(n||(n=[r])).push(dr(l,e,t,!1))}}return n?ju(n):r}var gr=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof ot)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return e?e instanceof ot?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&ye.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ye.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ye.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let n=r<0?0:this.stack[r]+4;if(this.index!=n)return this.yieldBuf(t.findChild(n,this.index,-1,0,4))}else{let n=t.buffer[this.index+3];if(n<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(n)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:n}=this;if(n){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let l=r._tree.children[s];if(this.mode&ye.IncludeAnonymous||l instanceof Rt||!l.type.isAnonymous||Mo(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==n){if(n==this.index)return o;t=o,r=s+1;break e}n=this.stack[--s]}for(let n=r;n=0;s--){if(s<0)return Eo(this.node,e,n);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}};function Mo(i){return i.children.some(e=>e instanceof Rt||!e.type.isAnonymous||Mo(e))}function up(i){var e;let{buffer:t,nodeSet:r,maxBufferLength:n=1024,reused:s=[],minRepeatType:o=r.types.length}=i,l=Array.isArray(t)?new Do(t,t.length):t,a=r.types,u=0,h=0;function c(S,N,M,j,D,H){let{id:B,start:O,end:W,size:I}=l,te=h;for(;I<0;)if(l.next(),I==-1){let K=s[B];M.push(K),j.push(O-S);return}else if(I==-3){u=B;return}else if(I==-4){h=B;return}else throw new RangeError(`Unrecognized record size: ${I}`);let Ce=a[B],F,Se,k=O-S;if(W-O<=n&&(Se=y(l.pos-N,D))){let K=new Uint16Array(Se.size-Se.skip),ue=l.pos-Se.size,pe=K.length;for(;l.pos>ue;)pe=b(Se.start,K,pe);F=new Rt(K,W-Se.start,r),k=Se.start-S}else{let K=l.pos-I;l.next();let ue=[],pe=[],Je=B>=o?B:-1,pt=0,Ht=W;for(;l.pos>K;)Je>=0&&l.id==Je&&l.size>=0?(l.end<=Ht-n&&(p(ue,pe,O,pt,l.end,Ht,Je,te),pt=ue.length,Ht=l.end),l.next()):H>2500?f(O,K,ue,pe):c(O,K,ue,pe,Je,H+1);if(Je>=0&&pt>0&&pt-1&&pt>0){let Wi=d(Ce);F=Ro(Ce,ue,pe,0,ue.length,0,W-O,Wi,Wi)}else F=g(Ce,ue,pe,W-O,te-W)}M.push(F),j.push(k)}function f(S,N,M,j){let D=[],H=0,B=-1;for(;l.pos>N;){let{id:O,start:W,end:I,size:te}=l;if(te>4)l.next();else{if(B>-1&&W=0;I-=3)O[te++]=D[I],O[te++]=D[I+1]-W,O[te++]=D[I+2]-W,O[te++]=te;M.push(new Rt(O,D[2]-W,r)),j.push(W-S)}}function d(S){return(N,M,j)=>{let D=0,H=N.length-1,B,O;if(H>=0&&(B=N[H])instanceof Ee){if(!H&&B.type==S&&B.length==j)return B;(O=B.prop(J.lookAhead))&&(D=M[H]+B.length+O)}return g(S,N,M,j,D)}}function p(S,N,M,j,D,H,B,O){let W=[],I=[];for(;S.length>j;)W.push(S.pop()),I.push(N.pop()+M-D);S.push(g(r.types[B],W,I,H-D,O-H)),N.push(D-M)}function g(S,N,M,j,D=0,H){if(u){let B=[J.contextHash,u];H=H?[B].concat(H):[B]}if(D>25){let B=[J.lookAhead,D];H=H?[B].concat(H):[B]}return new Ee(S,N,M,j,H)}function y(S,N){let M=l.fork(),j=0,D=0,H=0,B=M.end-n,O={size:0,start:0,skip:0};e:for(let W=M.pos-S;M.pos>W;){let I=M.size;if(M.id==N&&I>=0){O.size=j,O.start=D,O.skip=H,H+=4,j+=4,M.next();continue}let te=M.pos-I;if(I<0||te=o?4:0,F=M.start;for(M.next();M.pos>te;){if(M.size<0)if(M.size==-3)Ce+=4;else break e;else M.id>=o&&(Ce+=4);M.next()}D=F,j+=I,H+=Ce}return(N<0||j==S)&&(O.size=j,O.start=D,O.skip=H),O.size>4?O:void 0}function b(S,N,M){let{id:j,start:D,end:H,size:B}=l;if(l.next(),B>=0&&j4){let W=l.pos-(B-4);for(;l.pos>W;)M=b(S,N,M)}N[--M]=O,N[--M]=H-S,N[--M]=D-S,N[--M]=j}else B==-3?u=j:B==-4&&(h=j);return M}let A=[],w=[];for(;l.pos>0;)c(i.start||0,i.bufferStart||0,A,w,-1,0);let E=(e=i.length)!==null&&e!==void 0?e:A.length?w[0]+A[0].length:0;return new Ee(a[i.topID],A.reverse(),w.reverse(),E)}var Wu=new WeakMap;function Pn(i,e){if(!i.isAnonymous||e instanceof Rt||e.type!=i)return 1;let t=Wu.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=i||!(r instanceof Ee)){t=1;break}t+=Pn(i,r)}Wu.set(e,t)}return t}function Ro(i,e,t,r,n,s,o,l,a){let u=0;for(let p=r;p=h)break;N+=M}if(w==E+1){if(N>h){let M=p[E];d(M.children,M.positions,0,M.children.length,g[E]+A);continue}c.push(p[E])}else{let M=g[w-1]+p[w-1].length-S;c.push(Ro(i,p,g,E,w,S,M,null,a))}f.push(S+A-s)}}return d(e,t,r,n,0),(l||a)(c,f,o)}var Qt=class i{constructor(e,t,r,n,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let n=[new i(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&n.push(s);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,u=0;;l++){let h=l=r)for(;o&&o.from=f.from||c<=f.to||u){let d=Math.max(f.from,a)-u,p=Math.min(f.to,c)-u;f=d>=p?null:new i(d,p,f.tree,f.offset+u,l>0,!!h)}if(f&&n.push(f),o.to>c)break;o=snew fr(n.from,n.to)):[new fr(0,0)]:[new fr(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let s=n.advance();if(s)return s}}},ko=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};var Fb=new J({perNode:!0});var hp=0,Ge=class i{constructor(e,t,r,n){this.name=e,this.set=t,this.base=r,this.modified=n,this.id=hp++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let n=new i(r,[],null,[]);if(n.set.push(n),t)for(let s of t.set)n.set.push(s);return n}static defineModifier(e){let t=new $n(e);return r=>r.modified.indexOf(t)>-1?r:$n.get(r.base||r,r.modified.concat(t).sort((n,s)=>n.id-s.id))}},cp=0,$n=class i{constructor(e){this.name=e,this.instances=[],this.id=cp++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(l=>l.base==e&&fp(t,l.modified));if(r)return r;let n=[],s=new Ge(e.name,n,e,t);for(let l of t)l.instances.push(s);let o=dp(t);for(let l of e.set)if(!l.modified.length)for(let a of o)n.push(i.get(l,a));return s}};function fp(i,e){return i.length==e.length&&i.every((t,r)=>t==e[r])}function dp(i){let e=[[]];for(let t=0;tr.length-t.length)}function Yu(i){let e=Object.create(null);for(let t in i){let r=i[t];Array.isArray(r)||(r=[r]);for(let n of t.split(" "))if(n){let s=[],o=2,l=n;for(let c=0;;){if(l=="..."&&c>0&&c+3==n.length){o=1;break}let f=/^"(?:[^"\\\\]|\\\\.)*?"|[^\\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+n);if(s.push(f[0]=="*"?"":f[0][0]==\'"\'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==n.length)break;let d=n[c++];if(c==n.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+n);l=n.slice(c)}let a=s.length-1,u=s[a];if(!u)throw new RangeError("Invalid path: "+n);let h=new Ai(r,o,a>0?s.slice(0,a):null);e[u]=h.sort(e[u])}}return Xu.add(e)}var Xu=new J,Ai=class{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=n;for(let l of s)for(let a of l.set){let u=t[a.id];if(u){o=o?o+" "+u:u;break}}return o},scope:r}}function pp(i,e){let t=null;for(let r of i){let n=r.style(e);n&&(t=t?t+" "+n:n)}return t}function Ju(i,e,t,r=0,n=i.length){let s=new Oo(r,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),r,n,"",s.highlighters),s.flush(n)}var Oo=class{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,n,s){let{type:o,from:l,to:a}=e;if(l>=r||a<=t)return;o.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(o)));let u=n,h=gp(e)||Ai.empty,c=pp(s,h.tags);if(c&&(u&&(u+=" "),u+=c,h.mode==1&&(n+=(n?" ":"")+c)),this.startSpan(Math.max(t,l),u),h.opaque)return;let f=e.tree&&e.tree.prop(J.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+l,1),p=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),g=e.firstChild();for(let y=0,b=l;;y++){let A=y=w||!e.nextSibling())););if(!A||w>r)break;b=A.to+l,b>t&&(this.highlightRange(d.cursor(),Math.max(t,A.from+l),Math.min(r,b),"",p),this.startSpan(Math.min(r,b),u))}g&&e.parent()}else if(e.firstChild()){f&&(n="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,s),this.startSpan(Math.min(r,e.to),u)}while(e.nextSibling());e.parent()}}};function gp(i){let e=i.type.prop(Xu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var C=Ge.define,In=C(),Nt=C(),Gu=C(Nt),Ku=C(Nt),Ot=C(),Fn=C(Ot),No=C(Ot),ut=C(),Zt=C(ut),lt=C(),at=C(),Bo=C(),mr=C(Bo),Hn=C(),m={comment:In,lineComment:C(In),blockComment:C(In),docComment:C(In),name:Nt,variableName:C(Nt),typeName:Gu,tagName:C(Gu),propertyName:Ku,attributeName:C(Ku),className:C(Nt),labelName:C(Nt),namespace:C(Nt),macroName:C(Nt),literal:Ot,string:Fn,docString:C(Fn),character:C(Fn),attributeValue:C(Fn),number:No,integer:C(No),float:C(No),bool:C(Ot),regexp:C(Ot),escape:C(Ot),color:C(Ot),url:C(Ot),keyword:lt,self:C(lt),null:C(lt),atom:C(lt),unit:C(lt),modifier:C(lt),operatorKeyword:C(lt),controlKeyword:C(lt),definitionKeyword:C(lt),moduleKeyword:C(lt),operator:at,derefOperator:C(at),arithmeticOperator:C(at),logicOperator:C(at),bitwiseOperator:C(at),compareOperator:C(at),updateOperator:C(at),definitionOperator:C(at),typeOperator:C(at),controlOperator:C(at),punctuation:Bo,separator:C(Bo),bracket:mr,angleBracket:C(mr),squareBracket:C(mr),paren:C(mr),brace:C(mr),content:ut,heading:Zt,heading1:C(Zt),heading2:C(Zt),heading3:C(Zt),heading4:C(Zt),heading5:C(Zt),heading6:C(Zt),contentSeparator:C(ut),list:C(ut),quote:C(ut),emphasis:C(ut),strong:C(ut),link:C(ut),monospace:C(ut),strikethrough:C(ut),inserted:C(),deleted:C(),changed:C(),invalid:C(),meta:Hn,documentMeta:C(Hn),annotation:C(Hn),processingInstruction:C(Hn),definition:Ge.defineModifier("definition"),constant:Ge.defineModifier("constant"),function:Ge.defineModifier("function"),standard:Ge.defineModifier("standard"),local:Ge.defineModifier("local"),special:Ge.defineModifier("special")};for(let i in m){let e=m[i];e instanceof Ge&&(e.name=i)}var Vb=Po([{tag:m.link,class:"tok-link"},{tag:m.heading,class:"tok-heading"},{tag:m.emphasis,class:"tok-emphasis"},{tag:m.strong,class:"tok-strong"},{tag:m.keyword,class:"tok-keyword"},{tag:m.atom,class:"tok-atom"},{tag:m.bool,class:"tok-bool"},{tag:m.url,class:"tok-url"},{tag:m.labelName,class:"tok-labelName"},{tag:m.inserted,class:"tok-inserted"},{tag:m.deleted,class:"tok-deleted"},{tag:m.literal,class:"tok-literal"},{tag:m.string,class:"tok-string"},{tag:m.number,class:"tok-number"},{tag:[m.regexp,m.escape,m.special(m.string)],class:"tok-string2"},{tag:m.variableName,class:"tok-variableName"},{tag:m.local(m.variableName),class:"tok-variableName tok-local"},{tag:m.definition(m.variableName),class:"tok-variableName tok-definition"},{tag:m.special(m.variableName),class:"tok-variableName2"},{tag:m.definition(m.propertyName),class:"tok-propertyName tok-definition"},{tag:m.typeName,class:"tok-typeName"},{tag:m.namespace,class:"tok-namespace"},{tag:m.className,class:"tok-className"},{tag:m.macroName,class:"tok-macroName"},{tag:m.propertyName,class:"tok-propertyName"},{tag:m.operator,class:"tok-operator"},{tag:m.comment,class:"tok-comment"},{tag:m.meta,class:"tok-meta"},{tag:m.invalid,class:"tok-invalid"},{tag:m.punctuation,class:"tok-punctuation"}]);var Lo,br=new J;var mp=new J,qe=class{constructor(e,t,r=[],n=""){this.data=e,this.name=n,oe.prototype.hasOwnProperty("tree")||Object.defineProperty(oe.prototype,"tree",{get(){return vr(this)}}),this.parser=t,this.extension=[Ci.of(this),oe.languageData.of((s,o,l)=>{let a=Qu(s,o,l),u=a.type.prop(br);if(!u)return[];let h=s.facet(u),c=a.type.prop(mp);if(c){let f=a.resolve(o-a.from,l);for(let d of c)if(d.test(f,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(h)}}return h})].concat(r)}isActiveAt(e,t,r=-1){return Qu(e,t,r).type.prop(br)==this.data}findRegions(e){let t=e.facet(Ci);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(s,o)=>{if(s.prop(br)==this.data){r.push({from:o,to:o+s.length});return}let l=s.prop(J.mounted);if(l){if(l.tree.prop(br)==this.data){if(l.overlay)for(let a of l.overlay)r.push({from:a.from+o,to:a.to+o});else r.push({from:o,to:o+s.length});return}else if(l.overlay){let a=r.length;if(n(l.tree,l.overlay[0].from+o),r.length>a)return}}for(let a=0;a=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}},yr=null,$o=class i{constructor(e,t,r=[],n,s,o,l,a){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=s,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new i(e,t,[],Ee.empty,0,r,[],null)}startParse(){return this.parser.startParse(new Ho(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ee.empty&&this.isDone(t!=null?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Qt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=yr;yr=this;try{return e()}finally{yr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Zu(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((u,h,c,f)=>a.push({fromA:u,toA:h,fromB:c,toB:f})),r=Qt.applyChanges(r,a),n=Ee.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let u of this.skipped){let h=e.mapPos(u.from,1),c=e.mapPos(u.to,-1);he.from&&(this.fragments=Zu(this.fragments,n,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends _n{createParse(t,r,n){let s=n[0].from,o=n[n.length-1].to;return{parsedPos:s,advance(){let a=yr;if(a){for(let u of n)a.tempSkipped.push(u);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new Ee(Fe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return yr}};function Zu(i,e,t){return Qt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var wr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=$o.create(e.facet(Ci).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new i(r)}};qe.state=gt.define({create:wr.init,update(i,e){for(let t of e.effects)if(t.is(qe.setState))return t.value;return e.startState.facet(Ci)!=e.state.facet(Ci)?wr.init(e.state):i.apply(e)}});var rh=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback!="undefined"&&(rh=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var _o=typeof navigator!="undefined"&&(!((Lo=navigator.scheduling)===null||Lo===void 0)&&Lo.isInputPending)?()=>navigator.scheduling.isInputPending():null,yp=Jt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(qe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(qe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rh(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndn+1e3,a=s.context.work(()=>_o&&_o()||Date.now()>o,n+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:qe.setState.of(new wr(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ze(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ci=$.define({combine(i){return i.length?i[0]:null},enables:i=>[qe.state,yp,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]});var Bt=class i{constructor(e,t){this.specs=e;let r;function n(l){let a=He.newName();return(r||(r=Object.create(null)))["."+a]=l,a}let s=typeof t.all=="string"?t.all:t.all?n(t.all):void 0,o=t.scope;this.scope=o instanceof qe?l=>l.prop(br)==o.data:o?l=>l==o:void 0,this.style=Po(e.map(l=>({tag:l.tag,class:l.class||n(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=r?new He(r):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Vo=$.define(),nh=$.define({combine(i){return i.length?[i[0]]:null}});function Io(i){let e=i.facet(Vo);return e.length?e:i.facet(nh)}function Vn(i,e){let t=[bp],r;return i instanceof Bt&&(i.module&&t.push(q.styleModule.of(i.module)),r=i.themeType),e!=null&&e.fallback?t.push(nh.of(i)):r?t.push(Vo.computeN([q.darkTheme],n=>n.facet(q.darkTheme)==(r=="dark")?[i]:[])):t.push(Vo.of(i)),t}var qo=class{constructor(e){this.markCache=Object.create(null),this.tree=vr(e.state),this.decorations=this.buildDeco(e,Io(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=vr(e.state),r=Io(e.state),n=r!=Io(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return le.none;let r=new zt;for(let{from:n,to:s}of e.visibleRanges)Ju(this.tree,t,(o,l,a)=>{r.add(o,l,this.markCache[a]||(this.markCache[a]=le.mark({class:a})))},n,s);return r.finish()}},bp=nn.high(Jt.fromClass(qo,{decorations:i=>i.decorations})),Jb=Bt.define([{tag:m.meta,color:"#404740"},{tag:m.link,textDecoration:"underline"},{tag:m.heading,textDecoration:"underline",fontWeight:"bold"},{tag:m.emphasis,fontStyle:"italic"},{tag:m.strong,fontWeight:"bold"},{tag:m.strikethrough,textDecoration:"line-through"},{tag:m.keyword,color:"#708"},{tag:[m.atom,m.bool,m.url,m.contentSeparator,m.labelName],color:"#219"},{tag:[m.literal,m.inserted],color:"#164"},{tag:[m.string,m.deleted],color:"#a11"},{tag:[m.regexp,m.escape,m.special(m.string)],color:"#e40"},{tag:m.definition(m.variableName),color:"#00f"},{tag:m.local(m.variableName),color:"#30a"},{tag:[m.typeName,m.namespace],color:"#085"},{tag:m.className,color:"#167"},{tag:[m.special(m.variableName),m.macroName],color:"#256"},{tag:m.definition(m.propertyName),color:"#00c"},{tag:m.comment,color:"#940"},{tag:m.invalid,color:"#f00"}]);var vp=Object.create(null),eh=[Fe.none];var th=[],ih=Object.create(null),wp=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])wp[i]=Ap(vp,e);function Fo(i,e){th.indexOf(i)>-1||(th.push(i),console.warn(e))}function Ap(i,e){let t=[];for(let l of e.split(" ")){let a=[];for(let u of l.split(".")){let h=i[u]||m[u];h?typeof h=="function"?a.length?a=a.map(h):Fo(u,`Modifier ${u} used at start of tag`):a.length?Fo(u,`Tag ${u} used as modifier`):a=Array.isArray(h)?h:[h]:Fo(u,`Unknown highlighting tag ${u}`)}for(let u of a)t.push(u)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+t.map(l=>l.id),s=ih[n];if(s)return s.id;let o=ih[n]=Fe.define({id:eh.length,name:r,props:[Yu({[r]:t})]});return eh.push(o),o.id}var Qb={rtl:le.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:me.RTL}),ltr:le.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:me.LTR}),auto:le.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Cp="#abb2bf",Sp="#7d8799",Dp="#ffffff",Ep="#21252b",Uo="rgba(0, 0, 0, 0.5)",xp="#292d3e",Wo="#353a42",Tp="rgba(128, 203, 196, 0.2)",sh="#ffcc00",kp=q.theme({"&":{color:"#ffffff",backgroundColor:xp},".cm-content":{caretColor:sh},"&.cm-focused .cm-cursor":{borderLeftColor:sh},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Tp},".cm-panels":{backgroundColor:Ep,color:"#ffffff"},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:Uo},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847",outline:"1px solid #515a6b"},".cm-gutters":{background:"#292d3e",color:"#676e95",border:"none"},".cm-activeLineGutter":{backgroundColor:Uo},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Wo},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Wo,borderBottomColor:Wo},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Uo,color:Cp}}},{dark:!0}),Mp=Bt.define([{tag:m.keyword,color:"#c792ea"},{tag:m.operator,color:"#89ddff"},{tag:m.special(m.variableName),color:"#eeffff"},{tag:m.typeName,color:"#f07178"},{tag:m.atom,color:"#f78c6c"},{tag:m.number,color:"#ff5370"},{tag:m.definition(m.variableName),color:"#82aaff"},{tag:m.string,color:"#c3e88d"},{tag:m.special(m.string),color:"#f07178"},{tag:m.comment,color:Sp},{tag:m.variableName,color:"#f07178"},{tag:m.tagName,color:"#ff5370"},{tag:m.bracket,color:"#a2a1a4"},{tag:m.meta,color:"#ffcb6b"},{tag:m.attributeName,color:"#c792ea"},{tag:m.propertyName,color:"#c792ea"},{tag:m.className,color:"#decb6b"},{tag:m.invalid,color:Dp}]),Rp=[kp,Vn(Mp)];var oh="#2e3440",Xo="#3b4252",lh="#434c5e",qn="#4c566a";var ah="#e5e9f0",Yo="#eceff4",zo="#8fbcbb",uh="#88c0d0",Np="#81a1c1",Ke="#5e81ac",Op="#bf616a",Si="#d08770",jo="#ebcb8b",hh="#a3be8c",Bp="#b48ead",ch="#d30102",Jo=Yo,Go=Jo,Pp="#ffffff",Ko=Xo,Lp=Jo,fh=Xo,dh=q.theme({"&":{color:oh,backgroundColor:Pp},".cm-content":{caretColor:fh},".cm-cursor, .cm-dropCursor":{borderLeftColor:fh},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Lp},".cm-panels":{backgroundColor:Jo,color:qn},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:`1px solid ${qn}`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:ah},".cm-activeLine":{backgroundColor:Go},".cm-selectionMatch":{backgroundColor:ah},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{outline:`1px solid ${qn}`},"&.cm-focused .cm-matchingBracket":{backgroundColor:Yo},".cm-gutters":{backgroundColor:Yo,color:oh,border:"none"},".cm-activeLineGutter":{backgroundColor:Go},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ko},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ko,borderBottomColor:Ko},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Go,color:qn}}},{dark:!1}),_p=Bt.define([{tag:m.keyword,color:Ke},{tag:[m.name,m.deleted,m.character,m.propertyName,m.macroName],color:Si},{tag:[m.variableName],color:Si},{tag:[m.function(m.variableName)],color:Ke},{tag:[m.labelName],color:Np},{tag:[m.color,m.constant(m.name),m.standard(m.name)],color:Ke},{tag:[m.definition(m.name),m.separator],color:hh},{tag:[m.brace],color:zo},{tag:[m.annotation],color:ch},{tag:[m.number,m.changed,m.annotation,m.modifier,m.self,m.namespace],color:uh},{tag:[m.typeName,m.className],color:jo},{tag:[m.operator,m.operatorKeyword],color:hh},{tag:[m.tagName],color:Bp},{tag:[m.squareBracket],color:Op},{tag:[m.angleBracket],color:Si},{tag:[m.attributeName],color:jo},{tag:[m.regexp],color:Ke},{tag:[m.quote],color:Xo},{tag:[m.string],color:Si},{tag:m.link,color:zo,textDecoration:"underline",textUnderlinePosition:"under"},{tag:[m.url,m.escape,m.special(m.string)],color:Si},{tag:[m.meta],color:uh},{tag:[m.comment],color:lh,fontStyle:"italic"},{tag:m.strong,fontWeight:"bold",color:Ke},{tag:m.emphasis,fontStyle:"italic",color:Ke},{tag:m.strikethrough,textDecoration:"line-through"},{tag:m.heading,fontWeight:"bold",color:Ke},{tag:m.special(m.heading1),fontWeight:"bold",color:Ke},{tag:m.heading1,fontWeight:"bold",color:Ke},{tag:[m.heading2,m.heading3,m.heading4],fontWeight:"bold",color:Ke},{tag:[m.heading5,m.heading6],color:Ke},{tag:[m.atom,m.bool,m.special(m.variableName)],color:Si},{tag:[m.processingInstruction,m.inserted],color:zo},{tag:[m.contentSeparator],color:jo},{tag:m.invalid,color:lh,borderBottom:`1px dotted ${ch}`}]),u1=[dh,Vn(_p)];function Ar(i,e=0,t=" ",r=!0){let n=[];if(e==5||i==null)return"";if(typeof i=="string")return i;if(typeof i=="number")return`${i}`;if(Array.isArray(i))n.push(`${r?"(":""}${i.map(s=>Ar(s,e+1)).join(t)}${r?")":""}`);else if(typeof i=="object")for(let s of Object.values(i))n.push(Ar(s,e+1));return n.join(" ")}var Ip={str:"strength",dex:"dexterity",con:"constitution",wis:"wisdom",int:"intelligence",cha:"charisma"};function ht(i){return i?i.replace(/{@condition (.+?)(?:\\|.+)?}/g,"$1").replace(/{@item (.+?)(?:\\|.+)?}/g,"$1").replace(/{@spell ([\\s\\S]+?)(?:\\|.+)?}/g,"$1").replace(/{@recharge (.+?)(?:\\|.+)?}/g,"(Recharge $1-6)").replace(/{@recharge}/g,"(Recharge 6)").replace(/{@h}/g,"").replace(/{@damage (.+?)}/g,"$1").replace(/{@atk ms}/g,"Melee Spell Attack").replace(/{@atk rs}/g,"Ranged Spell Attack").replace(/{@atk mw}/g,"Melee Weapon Attack").replace(/{@atk rw}/g,"Ranged Weapon Attack").replace(/{@atk mw,rw}/g,"Melee / Ranged Weapon Attack").replace(/{@creature (.+?)(?:\\|.+)?}/g,"$1").replace(/{@skill (.+?)(?:\\|.+)?}/g,"$1").replace(/{@dice (.+?)(?:\\|.+)?}/g,"$1").replace(/{@hit (\\d+?)(?:\\|.+)?}/g,"+$1").replace(/{@dc (\\d+?)(?:\\|.+)?}/g,"$1").replace(/{@quickref (.+?)\\|\\|.+?}/,"$1"):""}async function ph(i){return new Promise((e,t)=>{let r=new FileReader;r.onload=async n=>{var s,o,l,a,u,h,c,f,d,p,g,y,b,A,w,E,S;try{let N=JSON.parse(n.target.result),M;"monster"in N?M=N.monster:Array.isArray(N)?M=N:typeof N=="object"?M=[N]:t("Invalid monster JSON provided.");let j=[];for(let D of M)try{let H={image:null,bestiary:!0,name:D.name,source:Xp(D),type:Fp(D.type),subtype:Hp(D.type),size:lg[(s=D.size)==null?void 0:s[0]],alignment:Gp(D),hp:D.hp&&"average"in D.hp?(o=D.hp)==null?void 0:o.average:null,hit_dice:D.hp&&"formula"in D.hp?(l=D.hp)==null?void 0:l.formula:"",ac:qp(D.ac),speed:Kp(D),stats:[D.str,D.dex,D.con,D.int,D.wis,D.cha],damage_immunities:ht(Di(D.immune)),damage_resistances:ht(Di(D.resist)),damage_vulnerabilities:ht(Di(D.vulnerable)),condition_immunities:ht(Di(D.conditionImmune)),saves:Object.entries((a=D.save)!=null?a:{}).map(B=>{var W,I;if(!B||!B[1])return;let[,O]=(I=(W=B[1])==null?void 0:W.match(/.*?(\\d+)/))!=null?I:[];if(O)return{[Ip[B[0]]]:O}}).filter(B=>B),skillsaves:X0(D),senses:Yp(D),languages:Ar(D.languages,0,", ",!1),cr:$p(D.cr),traits:(h=(u=D.trait)==null?void 0:u.flatMap(ei))!=null?h:[],actions:(f=(c=D.action)==null?void 0:c.flatMap(ei))!=null?f:[],bonus_actions:(p=(d=D.bonus)==null?void 0:d.flatMap(ei))!=null?p:[],reactions:(y=(g=D.reaction)==null?void 0:g.flatMap(ei))!=null?y:[],legendary_actions:(A=(b=D.legendary)==null?void 0:b.flatMap(ei))!=null?A:[],mythic_actions:[...(w=(D.mythicHeader?[{name:"",entries:D.mythicHeader}]:[]).flatMap(ei))!=null?w:[],...(S=(E=D.mythic)==null?void 0:E.flatMap(ei))!=null?S:[]],spells:jp(D),spellsNotes:Vp(D).join(" ")};j.push(H)}catch(H){console.error(H);continue}e(j)}catch(N){console.error("reject!!!",N),t(N)}},r.readAsText(i)})}function Fp(i){if(i)return typeof i=="string"?i:i.type}function Hp(i){if(!i||typeof i=="string"||!i.tags)return;let e=[];for(var t of i.tags)typeof t=="string"?e.push(t):e.push(t.tag);return e.join(", ")}function $p(i){if(i)return typeof i=="string"?i:i.cr}function Vp(i){let e=[];for(let t in i.spellcasting)e.push(Ar(i.spellcasting[t].footerEntries,0,", ",!1));return e}function Di(i){if(!i)return"";let e=[];for(let t of i){if(typeof t=="string"){e.push(t);continue}if("special"in t){e.push(t.special);continue}if("immune"in t){e.push(`${Di(t.immune)}${t.note?" ":""}${t.note?t.note:""}`);continue}if("resist"in t){e.push(`${Di(t.resist)}${t.note?" ":""}${t.note?t.note:""}`);continue}}return e.join(", ")}function qp(i=[]){var t;let[e]=i;if(e){if(typeof e=="number")return e;if(typeof e=="string"){let[r,n]=(t=e.match(/(\\d+)/))!=null?t:[];return n?Number(n):null}if(typeof e=="object")return"special"in e?e.special:"ac"in e?"from"in e?`${e.ac} (${ht(e.from.join(", "))})`:`${e.ac}`:null}}var Up={0:"Cantrips (at will)",1:"1st level",2:"2nd level",3:"3rd level",4:"4th level",5:"5th level",6:"6th level",7:"7th level",8:"8th level",9:"9th level"};function Qo(i){let e=[];for(let t of i){if(typeof t=="string"){e.push(t);continue}!t.hidden&&t.entry&&t.entry.length&&e.push(t.entry)}return ht(e.join(", "))}function Wp(i){let e=[];for(let t of Object.keys(i)){let r=i[t],n=Number(t.replace(/[^0-9]/,""));e.push([n,Qo(r)])}return e}function zp(i){var n,s;let e=[ht(((n=i.headerEntries)!=null?n:[]).join(`\n`))];if("spells"in i)try{for(let o in(s=i.spells)!=null?s:{}){let l=i.spells[o],{spells:a}=l,u=`${Up[o]}`;u+="slots"in l?` (${l.slots} slots)`:"";let h=ht(a.join(", "));e.push({[u]:h})}}catch(o){throw new Error("There was an error parsing the spells.")}if("will"in i&&i.will.length>0)try{e.push({"At will":Qo(i.will)})}catch(o){throw new Error("There was an error parsing the at-will spells.")}if("ritual"in i&&i.ritual.length>0)try{e.push({Rituals:Qo(i.ritual)})}catch(o){throw new Error("There was an error parsing the ritual spells.")}let t=["rest","daily","weekly","yearly","charges"],r={rest:"/rest each",daily:"/day each",weekly:"/week each",yearly:"/year each",charges:" charges"};for(let o of t)if(o in i){let l=Wp(i[o]);for(let a of l.sort((u,h)=>h[0]-u[0]))e.push({[`${a[0]}${r[o]}`]:a[1]})}return e}function jp(i){return!i.spellcasting||!i.spellcasting.length?[]:i.spellcasting.flatMap(zp)}function Gp(i){return i.alignment?Un(i.alignment):null}function Un(i){var t;if(!i)return null;let e=[];if(Array.isArray(i)){let r=[];for(let n of i)typeof n=="string"?r.push(Un(n)):e.push(Un(n));r.length>0&&e.push(r.join(" "))}else if(typeof i=="object"){if("special"in i&&i.special!=null)return i.special;if("alignment"in i)return`${((t=i.alignment)!=null?t:[]).map(r=>Un(r)).join(" ")}${i.chance?` (${i.chance}%)`:""}${i.note?` (${i.note})`:""}`}else{switch(i.toUpperCase()){case"L":return"lawful";case"N":return"neutral";case"NX":return"neutral (law/chaos axis)";case"NY":return"neutral (good/evil axis)";case"C":return"chaotic";case"G":return"good";case"E":return"evil";case"U":return"unaligned";case"A":return"any alignment"}return i}return e.join(" or ")}function Kp(i){var l,a;let e=i.speed;if(!e)return"\\u2014";if(typeof e=="number")return`${e}`;function t(u){return typeof u=="number"?u:u.number!=null?u.number:u}function r(u){var h;return typeof u=="number"?"":(h=u==null?void 0:u.condition)!=null?h:""}let n=[],s=["walk","burrow","climb","fly","swim"];for(let u of s){if(u!="walk"&&!(u in e)&&!(u in((l=e.alternate)!=null?l:{})))continue;let h=[];n.push(`${u==="walk"?"":`${u} `}${t((a=e[u])!=null?a:0)} ft. ${r(e[u])}`.trim()),e.alternate&&e.alternate[u]&&e.alternate[u].forEach(c=>{n.push(`${u==="walk"?"":`${u} `}${t(c!=null?c:0)} ft. ${r(c)}`.trim())})}let o=", ";if(e.choose){o="; ";let u=e.choose.from.sort();u.length>1?(`${u.slice(0,u.length-1).join(", ")}${u[u.length-1]}${e.choose.amount}`,e.choose.note&&`${e.choose.note}`):n.push(`${u} ${e.choose.amount} ft.${e.choose.note?` ${e.choose.note}`:""}`)}return n.join(o)}function Yp(i){if(typeof i.senses=="string")return i.senses;let e=[];return Array.isArray(i.senses)&&i.senses.length>0&&(e=[i.senses.join(", ").trim()]),i.passive&&e.push(`passive Perception ${i.passive}`),e.join(", ")}function Xp(i){var t,r,n;let e=[];return(t=i.source)!=null&&t.length&&e.push((r=v[i.source])!=null?r:i.source),(n=i.otherSources)!=null&&n.length&&e.push(...i.otherSources.map(s=>{var o;return(o=v[s.source])!=null?o:s.source})),e}function ei(i){return i.entries.reduce((t,r)=>{var s;if(typeof r!="string"){let o=(s=r.items)==null?void 0:s.map(l=>typeof l=="string"?{name:l,entries:[]}:"entry"in l?{name:l.name,entries:[l.entry]}:{name:l.name,entries:l.entries});return t.concat(o!=null?o:[])}return t.length>1||t[0].entries.push(r),t},[{name:i.name,entries:[]}]).map(({name:t,entries:r})=>({name:ht(t),desc:ht(r.join(`\n`))}))}var Jp="F",Qp="D",Zp="T",eg="S",tg="M",ig="L",rg="H",ng="G",sg="C",og="V",lg={[Jp]:"Fine",[Qp]:"Diminutive",[Zp]:"Tiny",[eg]:"Small",[tg]:"Medium",[ig]:"Large",[rg]:"Huge",[ng]:"Gargantuan",[sg]:"Colossal",[og]:"Varies"},ag="CoS",ug="DMG",hg="EEPC",cg="EET",fg="HotDQ",dg="LMoP",pg="Mag",gg="MM",mg="OotA",yg="PHB",bg="PotA",vg="RoT",wg="RoTOS",Ag="SCAG",Cg="SKT",Sg="ToA",Dg="ToD",Eg="TTP",xg="TftYP",Tg="TftYP-AtG",kg="TftYP-DiT",Mg="TftYP-TFoF",Rg="TftYP-THSoT",Ng="TftYP-TSC",Og="TftYP-ToH",Bg="TftYP-WPM",Pg="VGM",Lg="XGE",_g="OGA",Ig="MTF",Fg="WDH",Hg="WDMM",$g="GGR",Vg="KKW",qg="LLK",Ug="GoS",Wg="AI",zg="OoW",jg="ESK",Gg="DIP",Kg="HftT",Yg="DC",Xg="SLW",Jg="SDW",Qg="BGDIA",Zg="LR",em="AL",tm="SAC",im="ERLW",rm="EFR",nm="RMBRE",sm="RMR",om="MFF",lm="AWM",am="IMR",um="SADS",hm="EGW",cm="ToR",fm="DD",dm="FS",pm="US",gm="MOT",mm="IDRotF",ym="TCE",bm="VRGR",vm="HoL",wm="Screen",Am="ScreenWildernessKit",Cm="HF",Sm="CM",Dm="WBtW",Em="CRCotN",Zo="AL",xm=`${Zo}CurseOfStrahd`,Tm=`${Zo}ElementalEvil`,km=`${Zo}RageOfDemons`,Ei="PS",Mm=`${Ei}A`,Rm=`${Ei}I`,Nm=`${Ei}K`,Om=`${Ei}Z`,Bm=`${Ei}X`,Pm=`${Ei}D`,x="UA",Lm=`${x}Artificer`,_m=`${x}EladrinAndGith`,Im=`${x}Eberron`,Fm=`${x}FeatsForRaces`,Hm=`${x}FeatsForSkills`,$m=`${x}FiendishOptions`,Vm=`${x}Feats`,qm=`${x}GothicHeroes`,Um=`${x}ModernMagic`,Wm=`${x}StarterSpells`,zm=`${x}TheMysticClass`,jm=`${x}ThatOldBlackMagic`,Gm=`${x}TheRangerRevised`,Km=`${x}WaterborneAdventures`,Ym=`${x}VariantRules`,Xm=`${x}LightDarkUnderdark`,Jm=`${x}RangerAndRogue`,Qm=`${x}ATrioOfSubclasses`,Zm=`${x}BarbarianPrimalPaths`,e0=`${x}RevisedSubclasses`,t0=`${x}KitsOfOld`,i0=`${x}BardBardColleges`,r0=`${x}ClericDivineDomains`,n0=`${x}Druid`,s0=`${x}RevisedClassOptions`,o0=`${x}Fighter`,l0=`${x}Monk`,a0=`${x}Paladin`,u0=`${x}ModifyingClasses`,h0=`${x}Sorcerer`,c0=`${x}WarlockAndWizard`,f0=`${x}TheFaithful`,d0=`${x}WizardRevisited`,p0=`${x}ElfSubraces`,g0=`${x}MassCombat`,m0=`${x}ThreePillarExperience`,y0=`${x}GreyhawkInitiative`,b0=`${x}ThreeSubclasses`,v0=`${x}OrderDomain`,w0=`${x}CentaursMinotaurs`,A0=`${x}GiantSoulSorcerer`,C0=`${x}RacesOfEberron`,S0=`${x}RacesOfRavnica`,D0=`${x}WGE`,E0=`${x}OfShipsAndSea`,x0=`${x}Sidekicks`,T0=`${x}ArtificerRevisited`,k0=`${x}BarbarianAndMonk`,M0=`${x}SorcererAndWarlock`,R0=`${x}BardAndPaladin`,N0=`${x}ClericDruidWizard`,O0=`${x}FighterRangerRogue`,B0=`${x}ClassFeatureVariants`,P0=`${x}FighterRogueWizard`,L0=`${x}PrestigeClassesRunMagic`,_0=`${x}Ranger`,I0=`${x}2020SubclassesPt1`,F0=`${x}2020SubclassesPt2`,H0=`${x}2020SubclassesPt3`,$0=`${x}2020SubclassesPt4`,V0=`${x}2020SubclassesPt5`,q0=`${x}2020SpellsAndMagicTattoos`,U0=`${x}2020PsionicOptionsRevisited`,W0=`${x}2020SubclassesRevisited`,z0=`${x}2020Feats`,j0=`${x}2021GothicLineages`,G0=`${x}2021FolkOfTheFeywild`,K0=`${x}2021DraconicOptions`,Y0=`${x}2021MagesOfStrixhaven`,el="Adventurers League: ",xi="Plane Shift: ",T="Unearthed Arcana: ",Pt="Tales from the Yawning Portal",v={};v[ag]="Curse of Strahd";v[ug]="Dungeon Master\'s Guide";v[hg]="Elemental Evil Player\'s Companion";v[cg]="Elemental Evil: Trinkets";v[fg]="Hoard of the Dragon Queen";v[dg]="Lost Mine of Phandelver";v[pg]="Dragon Magazine";v[gg]="Monster Manual";v[mg]="Out of the Abyss";v[yg]="Player\'s Handbook";v[bg]="Princes of the Apocalypse";v[vg]="The Rise of Tiamat";v[wg]="The Rise of Tiamat Online Supplement";v[Ag]="Sword Coast Adventurer\'s Guide";v[Cg]="Storm King\'s Thunder";v[Sg]="Tomb of Annihilation";v[Dg]="Tyranny of Dragons";v[Eg]="The Tortle Package";v[xg]=Pt;v[Tg]=`${Pt}: Against the Giants`;v[kg]=`${Pt}: Dead in Thay`;v[Mg]=`${Pt}: The Forge of Fury`;v[Rg]=`${Pt}: The Hidden Shrine of Tamoachan`;v[Ng]=`${Pt}: The Sunless Citadel`;v[Og]=`${Pt}: Tomb of Horrors`;v[Bg]=`${Pt}: White Plume Mountain`;v[Pg]="Volo\'s Guide to Monsters";v[Lg]="Xanathar\'s Guide to Everything";v[_g]="One Grung Above";v[Ig]="Mordenkainen\'s Tome of Foes";v[Fg]="Waterdeep: Dragon Heist";v[Hg]="Waterdeep: Dungeon of the Mad Mage";v[$g]="Guildmasters\' Guide to Ravnica";v[Vg]="Krenko\'s Way";v[qg]="Lost Laboratory of Kwalish";v[Ug]="Ghosts of Saltmarsh";v[Wg]="Acquisitions Incorporated";v[zg]="The Orrery of the Wanderer";v[jg]="Essentials Kit";v[Gg]="Dragon of Icespire Peak";v[Kg]="Hunt for the Thessalhydra";v[Yg]="Divine Contention";v[Xg]="Storm Lord\'s Wrath";v[Jg]="Sleeping Dragon\'s Wake";v[Qg]="Baldur\'s Gate: Descent Into Avernus";v[Zg]="Locathah Rising";v[em]="Adventurers\' League";v[tm]="Sage Advice Compendium";v[im]="Eberron: Rising from the Last War";v[rm]="Eberron: Forgotten Relics";v[nm]="The Lost Dungeon of Rickedness: Big Rick Energy";v[sm]="Dungeons & Dragons vs. Rick and Morty: Basic Rules";v[om]="Mordenkainen\'s Fiendish Folio";v[lm]="Adventure with Muk";v[am]="Infernal Machine Rebuild";v[um]="Sapphire Anniversary Dice Set";v[hm]="Explorer\'s Guide to Wildemount";v[cm]="Tide of Retribution";v[fm]="Dangerous Designs";v[dm]="Frozen Sick";v[pm]="Unwelcome Spirits";v[gm]="Mythic Odysseys of Theros";v[mm]="Icewind Dale: Rime of the Frostmaiden";v[ym]="Tasha\'s Cauldron of Everything";v[bm]="Van Richten\'s Guide to Ravenloft";v[vm]="The House of Lament";v[wm]="Dungeon Master\'s Screen";v[Am]="Dungeon Master\'s Screen: Wilderness Kit";v[Cm]="Heroes\' Feast";v[Sm]="Candlekeep Mysteries";v[xm]=`${el}Curse of Strahd`;v[Tm]=`${el}Elemental Evil`;v[km]=`${el}Rage of Demons`;v[Mm]=`${xi}Amonkhet`;v[Rm]=`${xi}Innistrad`;v[Nm]=`${xi}Kaladesh`;v[Om]=`${xi}Zendikar`;v[Bm]=`${xi}Ixalan`;v[Pm]=`${xi}Dominaria`;v[Lm]=`${T}Artificer`;v[_m]=`${T}Eladrin and Gith`;v[Im]=`${T}Eberron`;v[Fm]=`${T}Feats for Races`;v[Hm]=`${T}Feats for Skills`;v[$m]=`${T}Fiendish Options`;v[Vm]=`${T}Feats`;v[qm]=`${T}Gothic Heroes`;v[Um]=`${T}Modern Magic`;v[Wm]=`${T}Starter Spells`;v[zm]=`${T}The Mystic Class`;v[jm]=`${T}That Old Black Magic`;v[Gm]=`${T}The Ranger, Revised`;v[Km]=`${T}Waterborne Adventures`;v[Ym]=`${T}Variant Rules`;v[Xm]=`${T}Light, Dark, Underdark!`;v[Jm]=`${T}Ranger and Rogue`;v[Qm]=`${T}A Trio of Subclasses`;v[Zm]=`${T}Barbarian Primal Paths`;v[e0]=`${T}Revised Subclasses`;v[t0]=`${T}Kits of Old`;v[i0]=`${T}Bard: Bard Colleges`;v[r0]=`${T}Cleric: Divine Domains`;v[n0]=`${T}Druid`;v[s0]=`${T}Revised Class Options`;v[o0]=`${T}Fighter`;v[l0]=`${T}Monk`;v[a0]=`${T}Paladin`;v[u0]=`${T}Modifying Classes`;v[h0]=`${T}Sorcerer`;v[c0]=`${T}Warlock and Wizard`;v[f0]=`${T}The Faithful`;v[d0]=`${T}Wizard Revisited`;v[p0]=`${T}Elf Subraces`;v[g0]=`${T}Mass Combat`;v[m0]=`${T}Three-Pillar Experience`;v[y0]=`${T}Greyhawk Initiative`;v[b0]=`${T}Three Subclasses`;v[v0]=`${T}Order Domain`;v[w0]=`${T}Centaurs and Minotaurs`;v[A0]=`${T}Giant Soul Sorcerer`;v[C0]=`${T}Races of Eberron`;v[S0]=`${T}Races of Ravnica`;v[D0]="Wayfinder\'s Guide to Eberron";v[E0]=`${T}Of Ships and the Sea`;v[x0]=`${T}Sidekicks`;v[T0]=`${T}Artificer Revisited`;v[k0]=`${T}Barbarian and Monk`;v[M0]=`${T}Sorcerer and Warlock`;v[R0]=`${T}Bard and Paladin`;v[N0]=`${T}Cleric, Druid, and Wizard`;v[O0]=`${T}Fighter, Ranger, and Rogue`;v[B0]=`${T}Class Feature Variants`;v[P0]=`${T}Fighter, Rogue, and Wizard`;v[L0]=`${T}Prestige Classes and Rune Magic`;v[_0]=`${T}Ranger`;v[I0]=`${T}2020 Subclasses, Part 1`;v[F0]=`${T}2020 Subclasses, Part 2`;v[H0]=`${T}2020 Subclasses, Part 3`;v[$0]=`${T}2020 Subclasses, Part 4`;v[V0]=`${T}2020 Subclasses, Part 5`;v[q0]=`${T}2020 Spells and Magic Tattoos`;v[U0]=`${T}2020 Psionic Options Revisited`;v[W0]=`${T}2020 Subclasses Revisited`;v[z0]=`${T}2020 Feats`;v[j0]=`${T}2021 Gothic Lineages`;v[G0]=`${T}2021 Folk of the Feywild`;v[K0]=`${T}2021 Draconic Options`;v[Y0]=`${T}2021 Mages of Strixhaven`;v[Dm]="The Wild Beyond the Witchlight";v[Em]="Critical Role: Call of the Netherdeep";function X0(i){var n,s,o;let e=i.skill;if(!e)return[];let t=[],r=[];for(let l of Object.keys(e)){if(l=="other"){let h=e[l];for(let c of h){let f=c.oneOf;if(!f)continue;let d=Object.keys(f).sort(),p=d.shift(),g=f[p],[,y]=(n=g==null?void 0:g.match(/.*?(\\d+)/))!=null?n:[];r.push({[`plus one of the following: ${p.charAt(0).toUpperCase()+p.slice(1)}`]:y});for(let b of d.slice(1)){let A=f[b],[,w]=(s=A==null?void 0:A.match(/.*?(\\d+)/))!=null?s:[];w&&r.push({[b]:w})}}continue}let a=e[l],[,u]=(o=a==null?void 0:a.match(/.*?(\\d+)/))!=null?o:[];u&&t.push({[l]:u})}return[...t.filter(l=>l),...r.filter(l=>l)]}async function gh(i){return new Promise((e,t)=>{let r=new FileReader;r.onload=async n=>{var o,l,a,u,h,c,f,d,p,g,y,b,A,w,E,S,N,M,j,D,H,B,O,W,I;let s=[];try{let te=JSON.parse(n.target.result),Ce=[];te.creatures?Ce=te.creatures:Ce=[te];for(let F of Ce)try{let Se={image:null,name:F.name,source:"CritterDB",type:F.stats.race,subtype:"",size:F.stats.size,alignment:F.stats.alignment,hp:F.stats.hitPoints,hit_dice:`${Math.floor(F.stats.extraHealthFromConstitution/F.stats.abilityScoreModifiers.constitution)}d${F.stats.hitDieSize} + ${F.stats.extraHealthFromConstitution}`,ac:F.stats.armorClass,speed:F.stats.speed,stats:[F.stats.abilityScores.strength,F.stats.abilityScores.dexterity,F.stats.abilityScores.constitution,F.stats.abilityScores.intelligence,F.stats.abilityScores.wisdom,F.stats.abilityScores.charisma],damage_immunities:(l=(o=F.stats.damageImmunities)==null?void 0:o.join("; ").toLowerCase().trim())!=null?l:"",damage_resistances:(u=(a=F.stats.damageResistances)==null?void 0:a.join(", ").toLowerCase().trim())!=null?u:"",damage_vulnerabilities:(c=(h=F.stats.damageVulnerabilities)==null?void 0:h.join(", ").toLowerCase().trim())!=null?c:"",condition_immunities:(d=(f=F.stats.conditionImmunities)==null?void 0:f.join(", ").toLowerCase().trim())!=null?d:"",saves:(g=(p=F.stats.savingThrows)==null?void 0:p.map(k=>{var K;if(!(!("value"in k)&&!("modifier"in k)))return{[k.ability]:(K=k.value)!=null?K:k.modifier}}).filter(k=>k))!=null?g:[],skillsaves:(b=(y=F.stats.skills)==null?void 0:y.map(k=>{var K;if(!(!("value"in k)&&!("modifier"in k)))return{[k.name]:(K=k.value)!=null?K:k.modifier}}).filter(k=>k))!=null?b:[],senses:(w=(A=F.stats.senses)==null?void 0:A.join(", ").trim())!=null?w:"",languages:(S=(E=F.stats.languages)==null?void 0:E.join(", ").trim())!=null?S:"",cr:(N=F.stats.challengeRating)!=null?N:"",traits:(j=(M=F.stats.additionalAbilities)==null?void 0:M.map(k=>({name:k.name,desc:k.description.replace(/<[^>]*>/g,"")})))!=null?j:[],actions:(H=(D=F.stats.actions)==null?void 0:D.map(k=>({name:k.name,desc:k.description.replace(/<[^>]*>/g,"")})))!=null?H:[],reactions:(O=(B=F.stats.reactions)==null?void 0:B.map(k=>({name:k.name,desc:k.description.replace(/<[^>]*>/g,"")})))!=null?O:[],legendary_actions:(I=(W=F.stats.legendaryActions)==null?void 0:W.map(k=>({name:k.name,desc:k.description.replace(/<[^>]*>/g,"")})))!=null?I:[]};s.push(Se)}catch(Se){continue}e(s)}catch(te){t()}},r.readAsText(i)})}var kc=Gc(xc());async function Mc(i){return new Promise((e,t)=>{let r=new FileReader;r.onload=async n=>{let s=n.target.result,l=new kc.DOMParser().parseFromString(s,"application/xml").getElementsByTagName("monster"),a=[];if(l.length){for(let u of Array.from(l))try{let h={image:null,name:ve(u,"name"),size:Uy(u),type:ve(u,"type"),subtype:ve(u,"subtype"),alignment:ve(u,"alignment"),ac:Wy(u),hp:Number(Tc(u,"hp")),hit_dice:Tc(u,"hit_dice"),speed:ve(u,"speed"),stats:[Number(ve(u,"str")),Number(ve(u,"dex")),Number(ve(u,"con")),Number(ve(u,"int")),Number(ve(u,"wis")),Number(ve(u,"cha"))],saves:Vy(u),skillsaves:Hy(u),damage_vulnerabilities:ve(u,"vulnerable"),damage_resistances:ve(u,"resist"),damage_immunities:ve(u,"immune"),condition_immunities:ve(u,"conditionImmune"),senses:ve(u,"senses"),languages:ve(u,"languages"),cr:ve(u,"cr"),traits:os(u,"trait"),spells:Fy(u),actions:os(u,"action"),legendary_actions:os(u,"legendary"),reactions:os(u,"reaction"),source:zy(u)};a.push(h)}catch(h){console.error(h);continue}e(a)}},r.readAsText(i)})}function ve(i,e){let t=i.getElementsByTagName(e);if(t&&t.length)return t[0].textContent}function os(i,e){var n;if(!((n=i.getElementsByTagName(e))!=null&&n.length))return[];let t=i.getElementsByTagName(e),r=[];for(let s of Array.from(t)){let o=s.getElementsByTagName("name");if(!o||!o.length||!o[0].textContent||o[0].textContent.includes("Spellcasting"))continue;let l=[],a=s.getElementsByTagName("text");for(let u of Array.from(a))l.push(u.textContent);r.push({name:o[0].textContent,desc:l.join(" ")})}return r}function Fy(i){var r;if(!((r=i.getElementsByTagName("trait"))!=null&&r.length))return[];let t=Array.from(i.getElementsByTagName("trait")).find(n=>{var s;return(s=n.getElementsByTagName("name")[0])==null?void 0:s.textContent.includes("Spellcasting")});return t?Array.from(t.getElementsByTagName("text")).map(n=>n.textContent.replace(/(•|\u2022)/u,"").trim()).filter(n=>n.length):[]}function Hy(i){var r;if(!((r=i.getElementsByTagName("skill"))!=null&&r.length))return[];let e=i.getElementsByTagName("skill")[0].textContent.split(", "),t=[];return e.forEach(n=>{let s=n.split(/\\s[\\+\\-]/);t.push({[s[0]]:Number(s[1])})}),t}var $y={Str:"strength",Dex:"dexterity",Con:"constitution",Int:"intelligence",Wis:"wisdom",Cha:"charisma"};function Vy(i){var r;if(!((r=i.getElementsByTagName("save"))!=null&&r.length))return[];let e=i.getElementsByTagName("save")[0].textContent.split(", "),t=[];return e.forEach(n=>{let s=n.split(/\\s[\\+\\-]/);t.push({[$y[s[0]]]:Number(s[1])})}),t}function Tc(i,e){var s,o;if(!((s=i.getElementsByTagName("hp"))!=null&&s.length))return"";let t=i.getElementsByTagName("hp")[0].textContent,[,r,n]=(o=t.match(/(\\d+) \\(([\\s\\S]+)\\)/))!=null?o:[,"",""];return{hp:r,hit_dice:n}[e]}var qy={T:"tiny",S:"small",M:"medium",L:"large",H:"huge",G:"gargantuan"};function Uy(i){var e;return i.getElementsByTagName("size")&&(e=qy[i.getElementsByTagName("size")[0].textContent])!=null?e:""}function Wy(i){var e;if(i.getElementsByTagName("ac")){let[,t]=(e=i.getElementsByTagName("ac")[0])==null?void 0:e.textContent.match(/(\\d+)/);return Number(t)}return 0}function zy(i){var t,r,n,s,o,l;let e="Unknown";if((t=i.getElementsByTagName("source"))!=null&&t.length)e=i.getElementsByTagName("source")[0].textContent;else if((r=i.getElementsByTagName("trait"))!=null&&r.length&&Array.from(i.getElementsByTagName("trait")).find(a=>{var u;return((u=a.getElementsByTagName("name"))==null?void 0:u[0].textContent)=="Source"})){let a=Array.from(i.getElementsByTagName("trait")).find(u=>{var h,c;return((c=(h=u.getElementsByTagName("name"))==null?void 0:h[0])==null?void 0:c.textContent)=="Source"});e=(o=(s=(n=a==null?void 0:a.getElementsByTagName("text"))==null?void 0:n[0])==null?void 0:s.textContent)==null?void 0:o.replace(/p. \\d+/,"").trim()}else if((l=i.getElementsByTagName("description"))!=null&&l.length){let a=i.getElementsByTagName("description"),u="Source: ";if(a[0].textContent.includes(u)){let h=a[0].textContent.lastIndexOf(u);e=a[0].textContent.slice(h+u.length).split(/, ?/)[0]}}return e}var jy={STR:"strength",DEX:"dexterity",CON:"constitution",INT:"intelligence",WIS:"wisdom",CHA:"charisma"};async function Rc(i){return new Promise((e,t)=>{let r=new FileReader,n=[];r.onload=async s=>{var o,l,a,u,h,c,f,d,p,g,y,b,A,w,E,S,N,M,j,D,H,B,O,W,I,te,Ce,F,Se,k,K,ue,pe,Je,pt,Ht,Wi,Al,Cl,Sl,Dl,El,xl,Tl,kl,Ml,Rl,Nl,Ol,Bl,Pl,Ll,_l;try{let as=JSON.parse(s.target.result),Hc=Object.keys(as).filter(us=>/^Creatures\\./.test(us));for(let us of Hc)try{let ie=as[us],$c={name:ie.Name,source:(o=ie.Source)!=null&&o.trim().length?(l=ie.Source)==null?void 0:l.trim():"Unknown",type:(h=(u=(a=ie.Type)==null?void 0:a.split(/,\\s?/))==null?void 0:u[0])==null?void 0:h.trim(),subtype:"",size:"",alignment:(d=(f=(c=ie.Type)==null?void 0:c.split(/,\\s?/))==null?void 0:f[1])==null?void 0:d.trim(),hp:(p=ie.HP)==null?void 0:p.Value,hit_dice:(b=(y=(g=ie.HP)==null?void 0:g.Notes)==null?void 0:y.replace(/([()])/g,""))==null?void 0:b.trim(),ac:ie.AC.Value,speed:(w=(A=ie.Speed)==null?void 0:A.join(", "))==null?void 0:w.trim(),stats:Object.values((E=ie.Abilities)!=null?E:{}),damage_immunities:(j=(M=(N=(S=ie.DamageImmunities)==null?void 0:S.join("; "))==null?void 0:N.toLowerCase())==null?void 0:M.trim())!=null?j:"",damage_resistances:(O=(B=(H=(D=ie.DamageResistances)==null?void 0:D.join(", "))==null?void 0:H.toLowerCase())==null?void 0:B.trim())!=null?O:"",damage_vulnerabilities:(Ce=(te=(I=(W=ie.DamageVulnerabilities)==null?void 0:W.join(", "))==null?void 0:I.toLowerCase())==null?void 0:te.trim())!=null?Ce:"",condition_immunities:(K=(k=(Se=(F=ie.ConditionImmunities)==null?void 0:F.join(", "))==null?void 0:Se.toLowerCase())==null?void 0:k.trim())!=null?K:"",saves:(pe=(ue=ie.Saves)==null?void 0:ue.map(({Name:ge,Modifier:hs})=>({[jy[ge]]:hs})))!=null?pe:[],skillsaves:(pt=(Je=ie.Skills)==null?void 0:Je.map(({Name:ge,Modifier:hs})=>({[ge]:hs})))!=null?pt:[],senses:(Al=(Wi=(Ht=ie.Senses)==null?void 0:Ht.join(", "))==null?void 0:Wi.trim())!=null?Al:"",languages:(Dl=(Sl=(Cl=ie.Languages)==null?void 0:Cl.join(", "))==null?void 0:Sl.trim())!=null?Dl:"",cr:(xl=(El=ie.Challenge)==null?void 0:El.trim())!=null?xl:"",traits:(kl=(Tl=ie.Traits)==null?void 0:Tl.map(ge=>({name:ge.Name,desc:ge.Content})))!=null?kl:[],actions:(Rl=(Ml=ie.Actions)==null?void 0:Ml.map(ge=>({name:ge.Name,desc:ge.Content})))!=null?Rl:[],bonus_actions:(Ol=(Nl=ie.BonusActions)==null?void 0:Nl.map(ge=>({name:ge.Name,desc:ge.Content})))!=null?Ol:[],reactions:(Pl=(Bl=ie.Reactions)==null?void 0:Bl.map(ge=>({name:ge.Name,desc:ge.Content})))!=null?Pl:[],legendary_actions:(_l=(Ll=ie.LegendaryActions)==null?void 0:Ll.map(ge=>({name:ge.Name,desc:ge.Content})))!=null?_l:[],image:null};n.push($c)}catch(ie){continue}e(n)}catch(as){t()}},r.readAsText(i)})}async function Oc(i){return new Promise((e,t)=>{let r=new FileReader;r.onload=async n=>{try{let s=JSON.parse(n.target.result),o=[fe(s.strength),fe(s.dexterity),fe(s.constitution),fe(s.intelligence),fe(s.wisdom),fe(s.charisma)],l=fe(s.ac),a=tb(s.specials),u=ob(s.spelltype,s.focuspoints,s.cantriplevel,s.spelldc,s.spellattack,s.spells,s.constant),h=s.creature||"Creature",c={layout:"Basic Pathfinder 2e Layout",name:s.name,level:h+" "+s.level.toString(),size:s.size,trait_03:s.type,modifier:fe(s.perception),perception:ib(s.perception),abilities_top:a.filter(d=>d.type===Qy).map(d=>({name:d.name,desc:d.desc})),abilities_mid:a.filter(d=>d.type===Zy).map(d=>({name:d.name,desc:d.desc})),abilities_bot:a.filter(d=>d.type===eb).map(d=>({name:d.name,desc:d.desc})),type:s.type,subtype:"",alignment:s.alignment,ac:l,armorclass:bl(l,fe(s.fortitude),fe(s.reflex),fe(s.will)),hp:fe(s.hp)||1,health:nb(s.hp,s.immunity,s.resistance,s.weakness),attacks:sb(s.strikes),spellcasting:u,speed:s.speed||"5 feet",stats:o,abilityMods:o,damage_vulnerabilities:s.weakness,damage_resistances:s.resistance,damage_immunities:"",condition_immunities:s.immunity,senses:s.perception.note,languages:s.languages,cr:s.level,bestiary:!1,skills:lb(s)},f=ab(s.traits);for(let d=0;d{let t=rb(e.actions),r=Bc(ub(e.description));return{name:e.name,desc:t+r,type:e.type}})}function ib(i){let e=ke(fe(i)),t=i.note?` ${i.note};`:"";return[{name:"Perception",desc:`Perception ${e};${t}`}]}function qi(i){return i<0?`${i} (1d20${i})`:`+${i} (1d20+${i})`}function ke(i){return i>=0?`+${i}`:i.toString()}function bl(i,e,t,r){let n=qi(e),s=qi(t),o=qi(r);return[{name:"AC",desc:`${i}; __Fort__: ${n}; __Ref__: ${s}; __Will__: ${o};`}]}function rb(i){let t={reaction:Gy,one:ls,two:Ky,three:Yy,free:Xy,none:Jy}[i];return t||i}function nb(i,e,t,r){let n=fe(i)||1,s=fe(e),o=fe(t),l=fe(r),a=i.note?` (${i.note});`:"",u=s?` __Immunities__ ${s};`:"",h=o?` __Resistances__ ${o};`:"",c=l?` __Weaknesses__ ${l};`:"";return[{name:"HP",desc:`${n};${a}${u}${h}${c}`}]}function sb(i){return i.map(e=>{let t=e.traits?` (${e.traits});`:"",r=e.damage?` __Damage__ ${Bc(e.damage)}`:"",n=ke(parseInt(e.attack));return{name:e.type,desc:ls+` ${e.name} ${n}${t}${r}`}})}function ob(i,e,t,r,n,s,o){if(s.join(",").split(",").map(c=>c.trim()).filter(c=>c!=="").length===0)return[];let a=e?`${e} Focus Points, `:"",u=10;var h="";for(let c=0;c({skill:n,value:fe(i[n]),note:i[n].note})).filter(n=>n.value!==0).map(n=>`__${zr(n.skill)}__: ${qi(n.value)}`+(n.note?` (${n.note})`:""),"").join(" ");return r.length===0?[]:[{name:"Skills",desc:r}]}function ab(i){let e=i.split(",");return e.forEach(t=>t.trim()),e}function Bc(i){return i.replace(/ ?(\\d+d\\d+( ?[+-] ?\\d+)?)/g," $1 ($1)")}function ub(i){return i.replace(/((Trigger)|(Requirements)|(Effect))/g,"__$1__")}function Nc(i){let e=["th","st","nd","rd"],t=i%100;return i+(e[(t-20)%10]||e[t]||e[0])}function zr(i){return i.replace(/\\w\\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())}var hb={acrobatics:"dex",arcana:"int",athletics:"str",crafting:"int",deception:"cha",diplomacy:"cha",intimidation:"cha",medicine:"wis",nature:"wis",occultism:"int",performance:"cha",religion:"wis",society:"int",stealth:"dex",survival:"wis",thievery:"dex",lore:"int"},cb=["Tiny","Small","Medium","Large","Huge"];async function Lc(i){return new Promise((e,t)=>{let r=new FileReader;r.onload=()=>{try{let s=JSON.parse(r.result).build,o=s.attributes,l=s.abilities,a=s.proficiencies,u=s.acTotal.acTotal,h=ai(l.str),c=ai(l.dex),f=ai(l.con),d=ai(l.int),p=ai(l.wis),g=ai(l.cha),y=p+a.perception+s.level,b=o.ancestryhp+(o.classhp+o.bonushp+f+o.bonushpPerLevel)*s.level,A=Ui(l.con,a.fortitude,s.level),w=Ui(l.dex,a.reflex,s.level),E=Ui(l.wis,a.will,s.level),S={layout:"Basic Pathfinder 2e Layout",source:"Pathbuilder",sourcebook:i.name,columns:2,name:s.name,player:!0,level:s.level,rare_01:"unique",trait_01:s.ancestry,trait_02:s.heritage,trait_03:s.background,alignment:s.alignment,size:cb[s.size],modifier:y,perception:mb(y),type:s.class,subtype:"",ac:u,armorclass:bl(u,A,w,E),hp:b,health:pb(b,s.resistances),attacks:gb(s.weapons),abilities_top:[{name:"Class DC",desc:String(10+Ui(l[s.keyability],a.classDC,s.level))},bb(s.equipment),vb(s.armor)],abilities_bot:[Pc("Feats",s.feats.map(N=>N[0])),Pc("Specials",s.specials)],abilityMods:[ke(h),ke(c),ke(f),ke(d),ke(p),ke(g)],skills:[yb(l,a,s.level),{name:"Lore",desc:s.lores.map(N=>`[[${N[0]}]] ${qi(Ui(l.int,Number(N[1]),s.level))}`).join(", ")}],speed:`${o.speed+o.speedBonus} feet`,spellcasting:fb(s),damage_vulnerabilities:"",damage_resistances:s.resistances.join(", "),damage_immunities:"",condition_immunities:"",senses:"",languages:s.languages.join(", "),cr:s.level,bestiary:!1,stats:null};e([S])}catch(n){console.error("Error importing Pathbuilder file",n),t(n)}},r.readAsText(i)})}function fb(i){let e=i.spellCasters.map(r=>r.spells.map(n=>n.list.length===0?{}:{name:`${r.name} ${n.spellLevel===0?"Cantrips":`Rank ${n.spellLevel} (${r.perDay[n.spellLevel]})`}`,desc:`[[${n.list.join("]], [[")}]]`})).flat();console.log("getSpells - spells",e);let t=db(i.focus,i.level);return console.log("getSpells - focusSpells",t),[e,t].flat()}function db(i,e){let t=[];return Object.keys(i).forEach(r=>{let n=i[r];Object.keys(n).forEach(s=>{let o=n[s],l=o.focusCantrips;(l==null?void 0:l.length)>0&&t.push({name:`${zr(r)} Focus Cantrips ${ke(o.abilityBonus+o.proficiency+e)}`,desc:`[[${l.join("]], [[")}]]`});let a=o.focusSpells;(a==null?void 0:a.length)>0&&t.push({name:`${zr(r)} Focus Spells ${ke(o.abilityBonus+o.proficiency+e)}`,desc:`[[${a.join("]], [[")}]]`})})}),t}function pb(i,e){let t=e.join(", ");return[{name:"HP",desc:`${i} ${t?`__Resistances__ (${t})`:""}`}]}function gb(i){return i.map(e=>{let t=e.damageBonus?ke(e.damageBonus):"",r="1";return e.str=="striking"?r="2":e.str=="greater striking"&&(r="3"),{name:"Melee",desc:ls+`[[${e.name}|${e.display}]] ${ke(e.attack)} __Damage__ ${r}${e.die}${t} _(${e.damageType})_`}})}function mb(i){let e=ke(i);return[{name:"Perception",desc:`${e} (1d20${e});`}]}function yb(i,e,t){return{name:"Skills",desc:["acrobatics","arcana","athletics","crafting","deception","diplomacy","intimidation","medicine","nature","occultism","performance","religion","society","stealth","survival","thievery"].filter(o=>e[o]>0).map(o=>{let l=o,u=i[hb[o]],h=e[l],c=Ui(u,h,t);return`${zr(l)} ${ke(c)}`}).join(", ")}}function bb(i){let e=[{prefix:"Scroll of ",length:10},{prefix:"Potion of ",length:9},{prefix:"Wand of ",length:7}];function t(o){for(let{prefix:a,length:u}of e)if(o.startsWith(a))return`${a}[[${o.slice(u)}]]`;let l=o.match(/ \\+(\\d)$/);return l&&(o=o.slice(0,-3)+` (+${l[1]})`),`[[${o}]]`}function r(o){return o.map(([l,a])=>[t(l),a])}function n(o){return o.map(([l,a])=>`${a>1?`${a}x `:""}${l}`).join(", ")}let s=r(i);return{name:"Items",desc:n(s)}}function vb(i){return{name:"Armor",desc:i.map(e=>`${e.qty>1?String(e.qty)+"x ":""}[[${e.name}${e.display?"|"+e.display:""}]]`).join(", ")}}function Pc(i,e){return{name:i,desc:"[["+e.join("]], [[")+"]]"}}function ai(i){return Math.floor((i-10)/2)}function Ui(i,e,t){return ai(i)+e+t}var _c={0:{cr:"0",value:0,xp:0},"1/8":{cr:"1/8",value:.125,xp:25},"1/4":{cr:"1/4",value:.25,xp:50},"1/2":{cr:"1/2",value:.5,xp:100},"0.125":{cr:"1/8",value:.125,xp:25},"0.25":{cr:"1/4",value:.25,xp:50},"0.5":{cr:"1/2",value:.5,xp:100},1:{cr:"1",value:1,xp:200},2:{cr:"2",value:2,xp:450},3:{cr:"3",value:3,xp:700},4:{cr:"4",value:4,xp:1100},5:{cr:"5",value:5,xp:1800},6:{cr:"6",value:6,xp:2300},7:{cr:"7",value:7,xp:2900},8:{cr:"8",value:8,xp:3900},9:{cr:"9",value:9,xp:5e3},10:{cr:"10",value:10,xp:5900},11:{cr:"11",value:11,xp:7200},12:{cr:"12",value:12,xp:8400},13:{cr:"13",value:13,xp:1e4},14:{cr:"14",value:14,xp:11500},15:{cr:"15",value:15,xp:13e3},16:{cr:"16",value:16,xp:15e3},17:{cr:"17",value:17,xp:18e3},18:{cr:"18",value:18,xp:2e4},19:{cr:"19",value:19,xp:22e3},20:{cr:"20",value:20,xp:25e3},21:{cr:"21",value:21,xp:33e3},22:{cr:"22",value:22,xp:41e3},23:{cr:"23",value:23,xp:5e4},24:{cr:"24",value:24,xp:62e3},25:{cr:"25",value:25,xp:75e3},26:{cr:"26",value:26,xp:9e4},27:{cr:"27",value:27,xp:105e3},28:{cr:"28",value:28,xp:12e4},29:{cr:"29",value:29,xp:135e3},30:{cr:"30",value:30,xp:155e3}};function Ct(i){return Math.floor(((i!=null?i:10)-10)/2)}var Ic={tiny:4,small:6,medium:8,large:10,huge:12,gargantuan:20},wb={str:"strength",dex:"dexterity",con:"constitution",int:"intelligence",wis:"wisdom",cha:"charisma"},vl=class i{constructor(e){this.monster=e;this.proficiency=this.getProf(this.monster);this.stats={str:this.monster.strPoints,dex:this.monster.dexPoints,con:this.monster.conPoints,int:this.monster.intPoints,wis:this.monster.wisPoints,cha:this.monster.chaPoints};this.modifiers={str:Ct(this.stats.str),dex:Ct(this.stats.dex),con:Ct(this.stats.con),int:Ct(this.stats.int),wis:Ct(this.stats.wis),cha:Ct(this.stats.cha)}}static parse(e){var n,s,o,l,a,u,h,c,f,d,p,g,y,b,A,w;let t=new i(e);return{image:null,name:e.name,source:"TetraCube",type:e.type,subtype:e.tag,size:e.size,alignment:e.alignment,hp:(n=t.getHP(e))==null?void 0:n.hp,hit_dice:(s=t.getHP(e))==null?void 0:s.dice,ac:(a=(l=((o=e.ac)!=null?o:[])[0])==null?void 0:l.ac)!=null?a:"",speed:t.getSpeedString(e),stats:[e.strPoints,e.dexPoints,e.conPoints,e.intPoints,e.wisPoints,e.chaPoints],damage_immunities:t.parseImmune(e,"i"),damage_resistances:t.parseImmune(e,"r"),damage_vulnerabilities:t.parseImmune(e,"v"),condition_immunities:t.parseConditions(e),saves:t.getSaves(e),skillsaves:t.getSkills(e),senses:t.getSenses(e),languages:t.getLanguages(e),cr:(u=e.cr)!=null?u:"",traits:t.getTraits(e.abilities),actions:t.getTraits(e.actions),bonus_actions:t.getTraits(e.bonusActions),reactions:t.getTraits(e.reactions),legendary_description:(h=e.isLegendary)!=null&&h?e.legendariesDescription:null,legendary_actions:(c=e.isLegendary)!=null&&c?t.getTraits(e.legendaries):null,mythic_description:(f=e.isMythic)!=null&&f?e.mythicDescription:null,mythic_actions:(d=e.isMythic)!=null&&d?t.getTraits(e.mythics):null,lair_description:(p=e.isLair)!=null&&p?e.lairDescription:null,lair_actions:(g=e.isLair)!=null&&g?t.getTraits(e.lairs):null,lair_description_end:(y=e.isLair)!=null&&y?e.lairDescriptionEnd:null,regional_description:(b=e.isRegional)!=null&&b?e.regionalDescription:null,regional_actions:(A=e.isRegional)!=null&&A?t.getTraits(e.regionals):null,regional_description_end:(w=e.isRegional)!=null&&w?e.regionalDescriptionEnd:null,spells:t.getSpells(e.abilities)}}getHP(e){var t,r;if(e.customHP||e.hitDice&&/(\\d+) \\((.+)\\)/.test(e.hpText)){let[n,s,o]=(t=e.hpText.match(/(\\d+) \\((.+)\\)/))!=null?t:[];return{hp:s,dice:o}}if(e.hitDice){let n=Number(e.hitDice),s=(r=Ic[e.size])!=null?r:Ic.medium,o=this.modifiers.con,l=n*s/(2+.5)+o*n,a=o>0?"+":"-",u=o==0?"":` ${a} ${o*n}`;return{hp:l,dice:`${n}d${s}${u}`}}}getSpeedString(e){if(e.customSpeed)return e.speedDesc;let t=[e.speed+" ft."];return e.burrowSpeed>0&&t.push("burrow "+e.burrowSpeed+" ft."),e.climbSpeed>0&&t.push("climb "+e.climbSpeed+" ft."),e.flySpeed>0&&t.push("fly "+e.flySpeed+" ft."+(e.hover?" (hover)":"")),e.swimSpeed>0&&t.push("swim "+e.swimSpeed+" ft."),t.join(", ")}parseImmune(e,t){let r=[];"damagetypes"in e&&Array.isArray(e.damagetypes)&&r.push(...e.damagetypes.filter(s=>s.type==t).map(s=>s.name));let n=[];return"specialdamage"in e&&Array.isArray(e.specialdamage)&&n.push(...e.specialdamage.filter(s=>s.type==t).map(s=>s.name)),[r.join(", "),n.join(", ")].filter(s=>s&&s.length).join("; ")}getLanguages(e){let t=[],r=[],n=[];for(let s=0;s0&&t.push([r.slice(0,r.length-2).map(s=>s.name).join(", "),r.slice(-1).map(s=>s.name)].filter(s=>s).join(" and ")),n.length>0&&t.push([n.slice(0,n.length-2).map(s=>s.name).join(", "),n.slice(-1).map(s=>s.name)].filter(s=>s).join(" and ")),e.telepathy>0&&t.push("telepathy "+e.telepathy+" ft."),t.length==0&&t.push("—"),t.join("; ")}getSenses(e){let t=[];e.blindsight>0&&t.push("blindsight "+e.blindsight+" ft."+(e.blind?" (blind beyond this radius)":"")),e.darkvision>0&&t.push("darkvision "+e.darkvision+" ft."),e.tremorsense>0&&t.push("tremorsense "+e.tremorsense+" ft."),e.truesight>0&&t.push("truesight "+e.truesight+" ft.");let r=e.skills.find(s=>s.name=="perception"),n=10+Ct(e.wisPoints);return r!=null&&(n+=this.proficiency*("note"in r?2:1)),t.push("passive Perception "+n),t.join(", ")}transformString(e){return e.replace(/(_|\\*|\\s*>\\s*)/g,"").replace(/\\[MON(S)?\\]/g,`${this.monster.shortName&&this.monster.shortName.length?this.monster.shortName:this.monster.name}$1`).replace(/\\[(\\w+)\\]/g,(t,r)=>{if(r=r.toLowerCase(),!(r in this.modifiers))return t;let n=this.modifiers[r];return`${n>=0?"+":""}${n}`}).replace(/\\[(\\w+) (ATK|SAVE)\\s?(?:([+-])\\s?(\\d+))?\\]/g,(t,r,n="ATK",s="+",o=0)=>{if(r=r.toLowerCase(),!(r in this.modifiers))return t;o=s=="+"?Number(o):-Number(o);let l=(n=="ATK"?0:8)+this.modifiers[r]+this.proficiency+o;return`${l>=0?"+":""}${l}`}).replace(/\\[(\\w+)?\\s?(\\d*[dD]\\d+)\\s?(?:([+-])\\s?(\\d+))?\\]/g,(t,r,n,s="+",o=0)=>{var c;r=r.toLowerCase();let[,l=1,a]=(c=n.match(/(\\d*)[dD](\\d+)/))!=null?c:[];if(l||(l=1),!a)return t;o=s=="+"?Number(o):-Number(o),r in this.modifiers&&(o+=this.modifiers[r]);let u=Math.floor((a/2+.5)*l)+o,h=[`${l}d${a}`];return o&&o!=0&&(h.push(o>=0?"+":"-"),h.push(o)),`${u} (${h.join(" ")})`})}getTraits(e){return!e||!e.length?void 0:e.filter(r=>r.name!="Spellcasting").map(r=>({name:r.name,desc:this.transformString(r.desc)}))}getSpells(e){var n;if(!e.abilities||!e.abilities.length)return;let{desc:t}=(n=e.abilities.find(s=>s.name=="Spellcasting"))!=null?n:{};return t?this.transformString(t).trim().split(`\n`).filter(s=>s.length):void 0}getSaves(e){if(!("sthrows"in e)||!Array.isArray(e.sthrows)||!e.sthrows.length)return[];let t=this.proficiency,r=[];for(let n of e.sthrows){let s=n.name,o=Ct(Number(e[`${s}Points`]));isNaN(o)||r.push({[wb[s]]:o+t})}return r}getSkills(e){if(!("skills"in e)||!Array.isArray(e.skills)||!e.skills.length)return[];let t=[],r=this.proficiency;for(let n of e.skills){let s=n.stat,o=Ct(Number(e[`${s}Points`]));if(isNaN(o))continue;let l="note"in n;t.push({[n.name]:r+o+o*Number(l)})}return t}getProf(e){var r,n;let t=0;return e.cr=="*"&&(t=e.customProf),"cr"in e&&e.cr in _c&&(t=Math.max(Math.floor(2+(((n=(r=_c[e.cr])==null?void 0:r.value)!=null?n:0)-1)/4),2)),isNaN(Number(t))?0:Number(t)}parseConditions(e){if("conditions"in e&&Array.isArray(e.conditions))return e.conditions.map(t=>t.name).join(", ")}};async function Fc(i){return new Promise((e,t)=>{let r=new FileReader,n=[];r.onload=async s=>{try{let o=JSON.parse(s.target.result),l;"monster"in o?l=o.monster:Array.isArray(o)?l=o:typeof o=="object"?l=[o]:t("Invalid monster JSON provided.");let a=[];for(let u of l)try{let h=vl.parse(u);a.push(h)}catch(h){console.error(h);continue}e(a)}catch(o){console.error("reject!!!",o),t(o)}},r.readAsText(i)})}var wl=self;wl.onmessage=async i=>{if(!i.data)return;let{files:e,source:t}=i.data,r=[];for(let n of e)switch(t){case"5e":{let s=await ph(n);r.push(...s!=null?s:[]);break}case"critter":{let s=await gh(n);r.push(...s!=null?s:[]);break}case"improved":{let s=await Rc(n);r.push(...s!=null?s:[]);break}case"appfile":{let s=await Mc(n);r.push(...s!=null?s:[]);break}case"tetra":{let s=await Fc(n);r.push(...s!=null?s:[]);break}case"PF2eMonsterTool":{let s=await Oc(n);r.push(...s!=null?s:[]);break}case"pathbuilder":{let s=await Lc(n);r.push(...s!=null?s:[]);break}case"generic":{let s=await new Promise((o,l)=>{let a=new FileReader;a.onload=async u=>{try{let h=JSON.parse(u.target.result),c=[];if(Array.isArray(h))c=h;else if(typeof h=="object")if("name"in h)c=[h];else for(let d in h)Array.isArray(h[d])&&c.push(...h[d]);else l("Invalid monster JSON provided. Must be array or object.");let f=[];for(let d of c)"name"in d&&f.push(d);o(f)}catch(h){console.error("reject!!!",h),l(h)}},a.readAsText(n)});r.push(...s!=null?s:[])}default:console.error(`Unknown source: ${t}`)}wl.postMessage({monsters:r})};wl.addEventListener("unhandledrejection",function(i){throw i.reason});\n')}var Wi=require("obsidian");var wl=class extends _t{constructor(){super(...arguments);this.saved=!1}display(){this.titleEl.createSpan({text:"Set Sources"}),new Wi.Setting(this.contentEl).setName("A source could not be found for some imported monsters. Do you wish to manually add one?").addText(t=>{t.setPlaceholder("Unknown").onChange(i=>{this.source=i})}),this.buildButtons(this.contentEl)}buildButtons(t){new Wi.Setting(t).addButton(i=>i.setCta().setIcon("checkmark").setTooltip("Save").onClick(()=>{this.saved=!0,this.close()})).addExtraButton(i=>i.setIcon("cross").setTooltip("Cancel").onClick(()=>{this.close()}))}onOpen(){this.display()}},ey=async n=>new Promise(e=>{let t=new wl(n);t.onClose=()=>{t.saved||e(null),e(t.source)},t.open()}),Sa=class{constructor(e){this.plugin=e;this.workers=new Map}async import(e,t){return new Promise(i=>{let a=new kl,s=Q();this.workers.set(s,a),a.onmessage=async r=>{let{monsters:o}=r.data??{monsters:[]};if(o){new Wi.Notice(`Successfully imported ${o.length} Monsters`);let l=o.filter(d=>d.source=="Unknown"||!d.source),c;l.length&&(c=await ey(this.plugin))&&l.forEach(d=>d.source=c)}a.terminate(),this.workers.delete(s),i(o)},a.onerror=r=>{new Wi.Notice(`There was an error importing the file.
+ `)&&e.p(t),s.p(u,h)},i(u){o||(E(s),o=!0)},o(u){I(s),o=!1},d(u){u&&(e.d(),x(i),x(r)),c[a].d(u)}}}function Z0(n,e,t){let i,a,{layout:s}=e,{plugin:r}=e,o=Le(s);Se(n,o,C=>t(14,i=C)),li("plugin",r),li("layout",o);let l="",c=["General","Appearance","Advanced","Previewer"],d=c[0],u=!1,h=C=>{if(C.empty(),u){let M=i.name;new nn.TextComponent(C).setValue(M).onChange(k=>{M=k});let w=C.createDiv("buttons");new nn.ExtraButtonComponent(w).setIcon("checkmark").setTooltip("Save").onClick(()=>{u=!1,Ae(o,i.name=M,i),h(C)}),new nn.ExtraButtonComponent(w).setIcon("cross-in-box").setTooltip("Cancel").onClick(()=>{u=!1,h(C)})}else C.createEl("h5",{text:i.name}),new nn.ExtraButtonComponent(C.createDiv("buttons")).setIcon("pencil").setTooltip("Edit Name").onClick(()=>{u=!0,h(C)})},f=Me(),m=C=>{new nn.ButtonComponent(C).setIcon("checkmark").setCta().setTooltip("Save").onClick(()=>{f("saved")})},p=C=>{new nn.ExtraButtonComponent(C).setIcon("cross").setTooltip("Cancel").onClick(()=>{f("cancel")})},b=kt(o,C=>r.manager.getSheetRules(C));Se(n,b,C=>t(2,a=C));let _=C=>t(1,d=C),S=C=>t(0,l=C.detail);return n.$$set=C=>{"layout"in C&&t(9,s=C.layout),"plugin"in C&&t(10,r=C.plugin)},[l,d,a,o,c,h,m,p,b,s,r,_,S]}var vl=class extends U{constructor(e){super(),G(this,e,Z0,Q0,j,{layout:9,plugin:10},Y0)}},Eh=vl;var Fi=(n=>(n.None="None",n.Average="Average",n.Roll="Roll",n))(Fi||{});var Cf=Ba(Ts());function kl(){return na('var Vc=Object.create;var Il=Object.defineProperty;var qc=Object.getOwnPropertyDescriptor;var Uc=Object.getOwnPropertyNames;var Wc=Object.getPrototypeOf,zc=Object.prototype.hasOwnProperty;var St=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var jc=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Uc(e))!zc.call(i,n)&&n!==t&&Il(i,n,{get:()=>e[n],enumerable:!(r=qc(e,n))||r.enumerable});return i};var Gc=(i,e,t)=>(t=i!=null?Vc(Wc(i)):{},jc(e||!i||!i.__esModule?Il(t,"default",{value:i,enumerable:!0}):t,i));var ii=St(Ae=>{"use strict";function J0(i,e,t){if(t===void 0&&(t=Array.prototype),i&&typeof t.find=="function")return t.find.call(i,e);for(var r=0;r-1}var o2=Ti({HTML:"http://www.w3.org/1999/xhtml",SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});Ae.assign=Q0;Ae.find=J0;Ae.freeze=Ti;Ae.HTML_BOOLEAN_ATTRIBUTES=mh;Ae.HTML_RAW_TEXT_ELEMENTS=Cr;Ae.HTML_VOID_ELEMENTS=yh;Ae.hasDefaultHTMLNamespace=r2;Ae.hasOwn=ti;Ae.isHTMLBooleanAttribute=Z0;Ae.isHTMLRawTextElement=t2;Ae.isHTMLEscapableRawTextElement=i2;Ae.isHTMLMimeType=bh;Ae.isHTMLVoidElement=e2;Ae.isValidMimeType=s2;Ae.MIME_TYPE=Sr;Ae.NAMESPACE=o2});var kr=St(Tr=>{"use strict";var l2=ii();function wh(i,e){i.prototype=Object.create(Error.prototype,{constructor:{value:i},name:{value:i.name,enumerable:!0,writable:e}})}var Er=l2.freeze({Error:"Error",IndexSizeError:"IndexSizeError",DomstringSizeError:"DomstringSizeError",HierarchyRequestError:"HierarchyRequestError",WrongDocumentError:"WrongDocumentError",InvalidCharacterError:"InvalidCharacterError",NoDataAllowedError:"NoDataAllowedError",NoModificationAllowedError:"NoModificationAllowedError",NotFoundError:"NotFoundError",NotSupportedError:"NotSupportedError",InUseAttributeError:"InUseAttributeError",InvalidStateError:"InvalidStateError",SyntaxError:"SyntaxError",InvalidModificationError:"InvalidModificationError",NamespaceError:"NamespaceError",InvalidAccessError:"InvalidAccessError",ValidationError:"ValidationError",TypeMismatchError:"TypeMismatchError",SecurityError:"SecurityError",NetworkError:"NetworkError",AbortError:"AbortError",URLMismatchError:"URLMismatchError",QuotaExceededError:"QuotaExceededError",TimeoutError:"TimeoutError",InvalidNodeTypeError:"InvalidNodeTypeError",DataCloneError:"DataCloneError",EncodingError:"EncodingError",NotReadableError:"NotReadableError",UnknownError:"UnknownError",ConstraintError:"ConstraintError",DataError:"DataError",TransactionInactiveError:"TransactionInactiveError",ReadOnlyError:"ReadOnlyError",VersionError:"VersionError",OperationError:"OperationError",NotAllowedError:"NotAllowedError",OptOutError:"OptOutError"}),Ah=Object.keys(Er);function Ch(i){return typeof i=="number"&&i>=1&&i<=25}function a2(i){return typeof i=="string"&&i.substring(i.length-Er.Error.length)===Er.Error}function xr(i,e){Ch(i)?(this.name=Ah[i],this.message=e||""):(this.message=i,this.name=a2(e)?e:Er.Error),Error.captureStackTrace&&Error.captureStackTrace(this,xr)}wh(xr,!0);Object.defineProperties(xr.prototype,{code:{enumerable:!0,get:function(){var i=Ah.indexOf(this.name);return Ch(i)?i:0}}});var Sh={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25},tl=Object.entries(Sh);for(Dr=0;Dr{"use strict";function Rh(i){try{typeof i!="function"&&(i=RegExp);var e=new i("\\u{1D306}","u").exec("\\u{1D306}");return!!e&&e[0].length===2}catch(t){}return!1}var Br=Rh();function ri(i){if(i.source[0]!=="[")throw new Error(i+" can not be used with chars");return i.source.slice(1,i.source.lastIndexOf("]"))}function ki(i,e){if(i.source[0]!=="[")throw new Error("/"+i.source+"/ can not be used with chars_without");if(!e||typeof e!="string")throw new Error(JSON.stringify(e)+" is not a valid search");if(i.source.indexOf(e)===-1)throw new Error(\'"\'+e+\'" is not is /\'+i.source+"/");if(e==="-"&&i.source.indexOf(e)!==1)throw new Error(\'"\'+e+\'" is not at the first postion of /\'+i.source+"/");return new RegExp(i.source.replace(e,""),Br?"u":"")}function U(i){var e=this;return new RegExp(Array.prototype.slice.call(arguments).map(function(t){var r=typeof t=="string";if(r&&e===void 0&&t==="|")throw new Error("use regg instead of reg to wrap expressions with `|`!");return r?t:t.source}).join(""),Br?"mu":"m")}function _(i){if(arguments.length===0)throw new Error("no parameters provided");return U.apply(_,["(?:"].concat(Array.prototype.slice.call(arguments),[")"]))}var u2="\\uFFFD",ni=/[-\\x09\\x0A\\x0D\\x20-\\x2C\\x2E-\\uD7FF\\uE000-\\uFFFD]/;Br&&(ni=U("[",ri(ni),"\\\\u{10000}-\\\\u{10FFFF}","]"));var rl=/[\\x20\\x09\\x0D\\x0A]/,h2=ri(rl),Q=U(rl,"+"),ne=U(rl,"*"),Mr=/[:_a-zA-Z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;Br&&(Mr=U("[",ri(Mr),"\\\\u{10000}-\\\\u{10FFFF}","]"));var c2=ri(Mr),nl=U("[",c2,ri(/[-.0-9\\xB7]/),ri(/[\\u0300-\\u036F\\u203F-\\u2040]/),"]"),Ue=U(Mr,nl,"*"),Dh=U(nl,"+"),f2=U("&",Ue,";"),d2=_(/[0-9]+;|[0-9a-fA-F]+;/),Rr=_(f2,"|",d2),Nr=U("%",Ue,";"),sl=_(U(\'"\',_(/[^%&"]/,"|",Nr,"|",Rr),"*",\'"\'),"|",U("\'",_(/[^%&\']/,"|",Nr,"|",Rr),"*","\'")),p2=_(\'"\',_(/[^<&"]/,"|",Rr),"*",\'"\',"|","\'",_(/[^<&\']/,"|",Rr),"*","\'"),g2=ki(Mr,":"),m2=ki(nl,":"),Eh=U(g2,m2,"*"),Pr=U(Eh,_(":",Eh),"?"),y2=U("^",Pr,"$"),b2=U("(",Pr,")"),Or=_(/"[^"]*"|\'[^\']*\'/),v2=U(/^<\\?/,"(",Ue,")",_(Q,"(",ni,"*?)"),"?",/\\?>/),xh=/[\\x20\\x0D\\x0Aa-zA-Z0-9-\'()+,./:=?;!*#@$_%]/,Wn=_(\'"\',xh,\'*"\',"|","\'",ki(xh,"\'"),"*\'"),Nh="",w2=U(Nh,_(ki(ni,"-"),"|",U("-",ki(ni,"-"))),"*",Oh),Th="#PCDATA",A2=_(U(/\\(/,ne,Th,_(ne,/\\|/,ne,Pr),"*",ne,/\\)\\*/),"|",U(/\\(/,ne,Th,ne,/\\)/)),C2=/[?*+]?/,S2=U(/\\([^>]+\\)/,C2),D2=_("EMPTY","|","ANY","|",A2,"|",S2),E2=""),T2=U("NOTATION",Q,/\\(/,ne,Ue,_(ne,/\\|/,ne,Ue),"*",ne,/\\)/),k2=U(/\\(/,ne,Dh,_(ne,/\\|/,ne,Dh),"*",ne,/\\)/),M2=_(T2,"|",k2),R2=_(/CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS/,"|",M2),N2=_(/#REQUIRED|#IMPLIED/,"|",_(_("#FIXED",Q),"?",p2)),O2=_(Q,Ue,Q,R2,Q,N2),B2=""),ol="SYSTEM",zn="PUBLIC",jn=_(_(ol,Q,Or),"|",_(zn,Q,Wn,Q,Or)),L2=U("^",_(_(ol,Q,"(?",Or,")"),"|",_(zn,Q,"(?",Wn,")",Q,"(?",Or,")"))),_2=_(Q,"NDATA",Q,Ue),I2=_(sl,"|",_(jn,_2,"?")),Bh=""),H2=_(sl,"|",jn),$2=U(Bh,Q,"%",Q,Ue,Q,H2,ne,">"),V2=_(F2,"|",$2),q2=U(zn,Q,Wn),U2=U(""),ll=U(ne,"=",ne),kh=/1[.]\\d+/,W2=U(Q,"version",ll,_("\'",kh,"\'","|",\'"\',kh,\'"\')),Mh=/[A-Za-z][-A-Za-z0-9._]*/,z2=_(Q,"encoding",ll,_(\'"\',Mh,\'"\',"|","\'",Mh,"\'")),j2=_(Q,"standalone",ll,_("\'",_("yes","|","no"),"\'","|",\'"\',_("yes","|","no"),\'"\')),G2=U(/^<\\?xml/,W2,z2,"?",j2,"?",ne,/\\?>/),K2="",J2=//,Z2=U(ni,"*?",Q2),ey=U(J2,Z2);V.chars=ri;V.chars_without=ki;V.detectUnicodeSupport=Rh;V.reg=U;V.regg=_;V.AttlistDecl=P2;V.CDATA_START=Y2;V.CDATA_END=X2;V.CDSect=ey;V.Char=ni;V.Comment=w2;V.COMMENT_START=Nh;V.COMMENT_END=Oh;V.DOCTYPE_DECL_START=K2;V.elementdecl=x2;V.EntityDecl=V2;V.EntityValue=sl;V.ExternalID=jn;V.ExternalID_match=L2;V.Name=Ue;V.NotationDecl=U2;V.Reference=Rr;V.PEReference=Nr;V.PI=v2;V.PUBLIC=zn;V.PubidLiteral=Wn;V.QName=Pr;V.QName_exact=y2;V.QName_group=b2;V.S=Q;V.SChar_s=h2;V.S_OPT=ne;V.SYSTEM=ol;V.SystemLiteral=Or;V.UNICODE_REPLACEMENT_CHARACTER=u2;V.UNICODE_SUPPORT=Br;V.XMLDecl=G2});var pl=St(ae=>{"use strict";var We=ii(),ct=We.find,ty=We.hasDefaultHTMLNamespace,Ri=We.hasOwn,iy=We.isHTMLMimeType,ry=We.isHTMLRawTextElement,ny=We.isHTMLVoidElement,Lr=We.MIME_TYPE,dt=We.NAMESPACE,Te=Symbol(),sy=kr(),L=sy.DOMException,wt=al();function Oe(i){if(i!==Te)throw new TypeError("Illegal constructor")}function oy(i){return i!==""}function ly(i){return i?i.split(/[\\t\\n\\f\\r ]+/).filter(oy):[]}function ay(i,e){return Ri(i,e)||(i[e]=!0),i}function Ph(i){if(!i)return[];var e=ly(i);return Object.keys(e.reduce(ay,{}))}function uy(i){return function(e){return i&&i.indexOf(e)!==-1}}function Vh(i){if(!wt.QName_exact.test(i))throw new L(L.INVALID_CHARACTER_ERR,\'invalid character in qualified name "\'+i+\'"\')}function hl(i,e){Vh(e),i=i||null;var t=null,r=e;if(e.indexOf(":")>=0){var n=e.split(":");t=n[0],r=n[1]}if(t!==null&&i===null)throw new L(L.NAMESPACE_ERR,"prefix is non-null and namespace is null");if(t==="xml"&&i!==We.NAMESPACE.XML)throw new L(L.NAMESPACE_ERR,\'prefix is "xml" and namespace is not the XML namespace\');if((t==="xmlns"||e==="xmlns")&&i!==We.NAMESPACE.XMLNS)throw new L(L.NAMESPACE_ERR,\'either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace\');if(i===We.NAMESPACE.XMLNS&&t!=="xmlns"&&e!=="xmlns")throw new L(L.NAMESPACE_ERR,\'namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns"\');return[i,t,r]}function Bi(i,e){for(var t in i)Ri(i,t)&&(e[t]=i[t])}function Be(i,e){var t=i.prototype;if(!(t instanceof e)){let r=function(){};r.prototype=e.prototype,r=new r,Bi(t,r),i.prototype=t=r}t.constructor!=i&&(typeof i!="function"&&console.error("unknown Class:"+i),t.constructor=i)}var Pe={},Ye=Pe.ELEMENT_NODE=1,Ni=Pe.ATTRIBUTE_NODE=2,Gn=Pe.TEXT_NODE=3,qh=Pe.CDATA_SECTION_NODE=4,Uh=Pe.ENTITY_REFERENCE_NODE=5,hy=Pe.ENTITY_NODE=6,Wh=Pe.PROCESSING_INSTRUCTION_NODE=7,zh=Pe.COMMENT_NODE=8,Ir=Pe.DOCUMENT_NODE=9,jh=Pe.DOCUMENT_TYPE_NODE=10,Lt=Pe.DOCUMENT_FRAGMENT_NODE=11,cy=Pe.NOTATION_NODE=12,be=We.freeze({DOCUMENT_POSITION_DISCONNECTED:1,DOCUMENT_POSITION_PRECEDING:2,DOCUMENT_POSITION_FOLLOWING:4,DOCUMENT_POSITION_CONTAINS:8,DOCUMENT_POSITION_CONTAINED_BY:16,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:32});function Lh(i){for(var e=[];i.parentNode||i.ownerElement;)i=i.parentNode||i.ownerElement,e.unshift(i);return e}function Gh(i,e){if(e.length=0&&i=0){for(var n=e.length-1;r<=n;)e[r]=e[++r];if(e.length=n,i){var s=i.ownerDocument;s&&Jh(s,i,t),t.ownerElement=null}}}Oi.prototype={length:0,item:Xe.prototype.item,getNamedItem:function(i){this._ownerElement&&this._ownerElement._isInHTMLDocumentAndNamespace()&&(i=i.toLowerCase());for(var e=0;e_h(e.ownerDocument)?be.DOCUMENT_POSITION_FOLLOWING:be.DOCUMENT_POSITION_PRECEDING);var l=Lh(e),a=Lh(t);if(!r&&a.indexOf(e)>=0||n&&e===t)return be.DOCUMENT_POSITION_CONTAINS+be.DOCUMENT_POSITION_PRECEDING;if(!n&&l.indexOf(t)>=0||r&&e===t)return be.DOCUMENT_POSITION_CONTAINED_BY+be.DOCUMENT_POSITION_FOLLOWING;var u=Gh(a,l);for(var h in u.childNodes){var c=u.childNodes[h];if(c===t)return be.DOCUMENT_POSITION_FOLLOWING;if(c===e)return be.DOCUMENT_POSITION_PRECEDING;if(a.indexOf(c)>=0)return be.DOCUMENT_POSITION_FOLLOWING;if(l.indexOf(c)>=0)return be.DOCUMENT_POSITION_PRECEDING}return 0}};function Xh(i){return i=="<"&&"<"||i==">"&&">"||i=="&"&&"&"||i==\'"\'&&"""||""+i.charCodeAt()+";"}Bi(Pe,X);Bi(Pe,X.prototype);Bi(be,X);Bi(be,X.prototype);function _r(i,e){if(e(i))return!0;if(i=i.firstChild)do if(_r(i,e))return!0;while(i=i.nextSibling)}function _t(i,e){Oe(i);var t=e||{};this.ownerDocument=this,this.contentType=t.contentType||Lr.XML_APPLICATION,this.type=iy(this.contentType)?"html":"xml"}function dy(i,e,t){i&&i._inc++;var r=t.namespaceURI;r===dt.XMLNS&&(e._nsMap[t.prefix?t.localName:""]=t.value)}function Jh(i,e,t,r){i&&i._inc++;var n=t.namespaceURI;n===dt.XMLNS&&delete e._nsMap[t.prefix?t.localName:""]}function Qh(i,e,t){if(i&&i._inc){i._inc++;var r=e.childNodes;if(t)r[r.length++]=t;else{for(var n=e.firstChild,s=0;n;)r[s++]=n,n=n.nextSibling;r.length=s,delete r[r.length]}}}function Zh(i,e){if(i!==e.parentNode)throw new L(L.NOT_FOUND_ERR,"child\'s parent is not parent");var t=e.previousSibling,r=e.nextSibling;return t?t.nextSibling=r:i.firstChild=r,r?r.previousSibling=t:i.lastChild=t,Qh(i.ownerDocument,i),e.parentNode=null,e.previousSibling=null,e.nextSibling=null,e}function py(i){return i&&(i.nodeType===X.DOCUMENT_NODE||i.nodeType===X.DOCUMENT_FRAGMENT_NODE||i.nodeType===X.ELEMENT_NODE)}function gy(i){return i&&(ft(i)||i instanceof Pi||At(i)||i.nodeType===X.DOCUMENT_FRAGMENT_NODE||i.nodeType===X.COMMENT_NODE||i.nodeType===X.PROCESSING_INSTRUCTION_NODE)}function At(i){return i&&i.nodeType===X.DOCUMENT_TYPE_NODE}function ft(i){return i&&i.nodeType===X.ELEMENT_NODE}function ec(i){return i&&i.nodeType===X.TEXT_NODE}function Fh(i,e){var t=i.childNodes||[];if(ct(t,ft)||At(e))return!1;var r=ct(t,At);return!(e&&r&&t.indexOf(r)>t.indexOf(e))}function Hh(i,e){var t=i.childNodes||[];function r(s){return ft(s)&&s!==e}if(ct(t,r))return!1;var n=ct(t,At);return!(e&&n&&t.indexOf(n)>t.indexOf(e))}function my(i,e,t){if(!py(i))throw new L(L.HIERARCHY_REQUEST_ERR,"Unexpected parent node type "+i.nodeType);if(t&&t.parentNode!==i)throw new L(L.NOT_FOUND_ERR,"child not in parent");if(!gy(e)||At(e)&&i.nodeType!==X.DOCUMENT_NODE)throw new L(L.HIERARCHY_REQUEST_ERR,"Unexpected node type "+e.nodeType+" for parent node type "+i.nodeType)}function yy(i,e,t){var r=i.childNodes||[],n=e.childNodes||[];if(e.nodeType===X.DOCUMENT_FRAGMENT_NODE){var s=n.filter(ft);if(s.length>1||ct(n,ec))throw new L(L.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(s.length===1&&!Fh(i,t))throw new L(L.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(ft(e)&&!Fh(i,t))throw new L(L.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(At(e)){if(ct(r,At))throw new L(L.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var o=ct(r,ft);if(t&&r.indexOf(o)1||ct(n,ec))throw new L(L.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(s.length===1&&!Hh(i,t))throw new L(L.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(ft(e)&&!Hh(i,t))throw new L(L.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(At(e)){if(ct(r,function(a){return At(a)&&a!==t}))throw new L(L.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var o=ct(r,ft);if(t&&r.indexOf(o)0&&_r(t,function(n){if(n!==t&&n.nodeType===Ye){var s=n.getAttribute("class");if(s){var o=i===s;if(!o){var l=Ph(s);o=e.every(uy(l))}o&&r.push(n)}}}),r})},getElementsByTagName:function(i){var e=(this.nodeType===Ir?this:this.ownerDocument).type==="html",t=i.toLowerCase();return new si(this,function(r){var n=[];return _r(r,function(s){if(!(s===r||s.nodeType!==Ye))if(i==="*")n.push(s);else{var o=s.getQualifiedName(),l=e&&s.namespaceURI===dt.HTML?t:i;o===l&&n.push(s)}}),n})},getElementsByTagNameNS:function(i,e){return new si(this,function(t){var r=[];return _r(t,function(n){n!==t&&n.nodeType===Ye&&(i==="*"||n.namespaceURI===i)&&(e==="*"||n.localName==e)&&r.push(n)}),r})}};_t.prototype.getElementsByClassName=It.prototype.getElementsByClassName;_t.prototype.getElementsByTagName=It.prototype.getElementsByTagName;_t.prototype.getElementsByTagNameNS=It.prototype.getElementsByTagNameNS;Be(It,X);function oi(i){Oe(i),this.namespaceURI=null,this.prefix=null,this.ownerElement=null}oi.prototype.nodeType=Ni;Be(oi,X);function Pi(i){Oe(i)}Pi.prototype={data:"",substringData:function(i,e){return this.data.substring(i,i+e)},appendData:function(i){i=this.data+i,this.nodeValue=this.data=i,this.length=i.length},insertData:function(i,e){this.replaceData(i,0,e)},deleteData:function(i,e){this.replaceData(i,e,"")},replaceData:function(i,e,t){var r=this.data.substring(0,i),n=this.data.substring(i+e);t=r+t+n,this.nodeValue=this.data=t,this.length=t.length}};Be(Pi,X);function Fr(i){Oe(i)}Fr.prototype={nodeName:"#text",nodeType:Gn,splitText:function(i){var e=this.data,t=e.substring(i);e=e.substring(0,i),this.data=this.nodeValue=e,this.length=e.length;var r=this.ownerDocument.createTextNode(t);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}};Be(Fr,Pi);function Xn(i){Oe(i)}Xn.prototype={nodeName:"#comment",nodeType:zh};Be(Xn,Pi);function Jn(i){Oe(i)}Jn.prototype={nodeName:"#cdata-section",nodeType:qh};Be(Jn,Fr);function Qn(i){Oe(i)}Qn.prototype.nodeType=jh;Be(Qn,X);function fl(i){Oe(i)}fl.prototype.nodeType=cy;Be(fl,X);function dl(i){Oe(i)}dl.prototype.nodeType=hy;Be(dl,X);function Zn(i){Oe(i)}Zn.prototype.nodeType=Uh;Be(Zn,X);function Hr(i){Oe(i)}Hr.prototype.nodeName="#document-fragment";Hr.prototype.nodeType=Lt;Be(Hr,X);function es(i){Oe(i)}es.prototype.nodeType=Wh;Be(es,X);function ic(){}ic.prototype.serializeToString=function(i,e){return rc.call(i,e)};X.prototype.toString=rc;function rc(i){var e=[],t=this.nodeType===Ir&&this.documentElement||this,r=t.prefix,n=t.namespaceURI;if(n&&r==null){var r=t.lookupPrefix(n);if(r==null)var s=[{namespace:n,prefix:null}]}return Mi(this,e,i,s),e.join("")}function $h(i,e,t){var r=i.prefix||"",n=i.namespaceURI;if(!n||r==="xml"&&n===dt.XML||n===dt.XMLNS)return!1;for(var s=t.length;s--;){var o=t[s];if(o.prefix===r)return o.namespace!==n}return!0}function ul(i,e,t){i.push(" ",e,\'="\',t.replace(/[<>&"\\t\\n\\r]/g,Xh),\'"\')}function Mi(i,e,t,r){r||(r=[]);var n=i.nodeType===Ir?i:i.ownerDocument,s=n.type==="html";if(t)if(i=t(i),i){if(typeof i=="string"){e.push(i);return}}else return;switch(i.nodeType){case Ye:var o=i.attributes,l=o.length,w=i.firstChild,a=i.tagName,u=a;if(!s&&!i.prefix&&i.namespaceURI){for(var h,c=0;c=0;f--){var d=r[f];if(d.prefix===""&&d.namespace===i.namespaceURI){h=d.namespace;break}}if(h!==i.namespaceURI)for(var f=r.length-1;f>=0;f--){var d=r[f];if(d.namespace===i.namespaceURI){d.prefix&&(u=d.prefix+":"+a);break}}}e.push("<",u);for(var p=0;p");else{if(e.push(">"),s&&ry(a))for(;w;)w.data?e.push(w.data):Mi(w,e,t,r.slice()),w=w.nextSibling;else for(;w;)Mi(w,e,t,r.slice()),w=w.nextSibling;e.push("",u,">")}return;case Ir:case Lt:for(var w=i.firstChild;w;)Mi(w,e,t,r.slice()),w=w.nextSibling;return;case Ni:return ul(e,i.name,i.value);case Gn:return e.push(i.data.replace(/[<&>]/g,Xh));case qh:return e.push(wt.CDATA_START,i.data,wt.CDATA_END);case zh:return e.push(wt.COMMENT_START,i.data,wt.COMMENT_END);case jh:var E=i.publicId,S=i.systemId;e.push(wt.DOCTYPE_DECL_START," ",i.name),E?(e.push(" ",wt.PUBLIC," ",E),S&&S!=="."&&e.push(" ",S)):S&&S!=="."&&e.push(" ",wt.SYSTEM," ",S),i.internalSubset&&e.push(" [",i.internalSubset,"]"),e.push(">");return;case Wh:return e.push("",i.target," ",i.data,"?>");case Uh:return e.push("&",i.nodeName,";");default:e.push("??",i.nodeName)}}function nc(i,e,t){var r;switch(e.nodeType){case Ye:r=e.cloneNode(!1),r.ownerDocument=i;case Lt:break;case Ni:t=!0;break}if(r||(r=e.cloneNode(!1)),r.ownerDocument=i,r.parentNode=null,t)for(var n=e.firstChild;n;)r.appendChild(nc(i,n,t)),n=n.nextSibling;return r}function cl(i,e,t){var r=new e.constructor(Te);for(var n in e)if(Ri(e,n)){var s=e[n];typeof s!="object"&&s!=r[n]&&(r[n]=s)}switch(e.childNodes&&(r.childNodes=new Xe),r.ownerDocument=i,r.nodeType){case Ye:var o=e.attributes,l=r.attributes=new Oi,a=o.length;l._ownerElement=r;for(var u=0;u{"use strict";var oc=ii().freeze;$r.XML_ENTITIES=oc({amp:"&",apos:"\'",gt:">",lt:"<",quot:\'"\'});$r.HTML_ENTITIES=oc({Aacute:"\\xC1",aacute:"\\xE1",Abreve:"\\u0102",abreve:"\\u0103",ac:"\\u223E",acd:"\\u223F",acE:"\\u223E\\u0333",Acirc:"\\xC2",acirc:"\\xE2",acute:"\\xB4",Acy:"\\u0410",acy:"\\u0430",AElig:"\\xC6",aelig:"\\xE6",af:"\\u2061",Afr:"\\u{1D504}",afr:"\\u{1D51E}",Agrave:"\\xC0",agrave:"\\xE0",alefsym:"\\u2135",aleph:"\\u2135",Alpha:"\\u0391",alpha:"\\u03B1",Amacr:"\\u0100",amacr:"\\u0101",amalg:"\\u2A3F",AMP:"&",amp:"&",And:"\\u2A53",and:"\\u2227",andand:"\\u2A55",andd:"\\u2A5C",andslope:"\\u2A58",andv:"\\u2A5A",ang:"\\u2220",ange:"\\u29A4",angle:"\\u2220",angmsd:"\\u2221",angmsdaa:"\\u29A8",angmsdab:"\\u29A9",angmsdac:"\\u29AA",angmsdad:"\\u29AB",angmsdae:"\\u29AC",angmsdaf:"\\u29AD",angmsdag:"\\u29AE",angmsdah:"\\u29AF",angrt:"\\u221F",angrtvb:"\\u22BE",angrtvbd:"\\u299D",angsph:"\\u2222",angst:"\\xC5",angzarr:"\\u237C",Aogon:"\\u0104",aogon:"\\u0105",Aopf:"\\u{1D538}",aopf:"\\u{1D552}",ap:"\\u2248",apacir:"\\u2A6F",apE:"\\u2A70",ape:"\\u224A",apid:"\\u224B",apos:"\'",ApplyFunction:"\\u2061",approx:"\\u2248",approxeq:"\\u224A",Aring:"\\xC5",aring:"\\xE5",Ascr:"\\u{1D49C}",ascr:"\\u{1D4B6}",Assign:"\\u2254",ast:"*",asymp:"\\u2248",asympeq:"\\u224D",Atilde:"\\xC3",atilde:"\\xE3",Auml:"\\xC4",auml:"\\xE4",awconint:"\\u2233",awint:"\\u2A11",backcong:"\\u224C",backepsilon:"\\u03F6",backprime:"\\u2035",backsim:"\\u223D",backsimeq:"\\u22CD",Backslash:"\\u2216",Barv:"\\u2AE7",barvee:"\\u22BD",Barwed:"\\u2306",barwed:"\\u2305",barwedge:"\\u2305",bbrk:"\\u23B5",bbrktbrk:"\\u23B6",bcong:"\\u224C",Bcy:"\\u0411",bcy:"\\u0431",bdquo:"\\u201E",becaus:"\\u2235",Because:"\\u2235",because:"\\u2235",bemptyv:"\\u29B0",bepsi:"\\u03F6",bernou:"\\u212C",Bernoullis:"\\u212C",Beta:"\\u0392",beta:"\\u03B2",beth:"\\u2136",between:"\\u226C",Bfr:"\\u{1D505}",bfr:"\\u{1D51F}",bigcap:"\\u22C2",bigcirc:"\\u25EF",bigcup:"\\u22C3",bigodot:"\\u2A00",bigoplus:"\\u2A01",bigotimes:"\\u2A02",bigsqcup:"\\u2A06",bigstar:"\\u2605",bigtriangledown:"\\u25BD",bigtriangleup:"\\u25B3",biguplus:"\\u2A04",bigvee:"\\u22C1",bigwedge:"\\u22C0",bkarow:"\\u290D",blacklozenge:"\\u29EB",blacksquare:"\\u25AA",blacktriangle:"\\u25B4",blacktriangledown:"\\u25BE",blacktriangleleft:"\\u25C2",blacktriangleright:"\\u25B8",blank:"\\u2423",blk12:"\\u2592",blk14:"\\u2591",blk34:"\\u2593",block:"\\u2588",bne:"=\\u20E5",bnequiv:"\\u2261\\u20E5",bNot:"\\u2AED",bnot:"\\u2310",Bopf:"\\u{1D539}",bopf:"\\u{1D553}",bot:"\\u22A5",bottom:"\\u22A5",bowtie:"\\u22C8",boxbox:"\\u29C9",boxDL:"\\u2557",boxDl:"\\u2556",boxdL:"\\u2555",boxdl:"\\u2510",boxDR:"\\u2554",boxDr:"\\u2553",boxdR:"\\u2552",boxdr:"\\u250C",boxH:"\\u2550",boxh:"\\u2500",boxHD:"\\u2566",boxHd:"\\u2564",boxhD:"\\u2565",boxhd:"\\u252C",boxHU:"\\u2569",boxHu:"\\u2567",boxhU:"\\u2568",boxhu:"\\u2534",boxminus:"\\u229F",boxplus:"\\u229E",boxtimes:"\\u22A0",boxUL:"\\u255D",boxUl:"\\u255C",boxuL:"\\u255B",boxul:"\\u2518",boxUR:"\\u255A",boxUr:"\\u2559",boxuR:"\\u2558",boxur:"\\u2514",boxV:"\\u2551",boxv:"\\u2502",boxVH:"\\u256C",boxVh:"\\u256B",boxvH:"\\u256A",boxvh:"\\u253C",boxVL:"\\u2563",boxVl:"\\u2562",boxvL:"\\u2561",boxvl:"\\u2524",boxVR:"\\u2560",boxVr:"\\u255F",boxvR:"\\u255E",boxvr:"\\u251C",bprime:"\\u2035",Breve:"\\u02D8",breve:"\\u02D8",brvbar:"\\xA6",Bscr:"\\u212C",bscr:"\\u{1D4B7}",bsemi:"\\u204F",bsim:"\\u223D",bsime:"\\u22CD",bsol:"\\\\",bsolb:"\\u29C5",bsolhsub:"\\u27C8",bull:"\\u2022",bullet:"\\u2022",bump:"\\u224E",bumpE:"\\u2AAE",bumpe:"\\u224F",Bumpeq:"\\u224E",bumpeq:"\\u224F",Cacute:"\\u0106",cacute:"\\u0107",Cap:"\\u22D2",cap:"\\u2229",capand:"\\u2A44",capbrcup:"\\u2A49",capcap:"\\u2A4B",capcup:"\\u2A47",capdot:"\\u2A40",CapitalDifferentialD:"\\u2145",caps:"\\u2229\\uFE00",caret:"\\u2041",caron:"\\u02C7",Cayleys:"\\u212D",ccaps:"\\u2A4D",Ccaron:"\\u010C",ccaron:"\\u010D",Ccedil:"\\xC7",ccedil:"\\xE7",Ccirc:"\\u0108",ccirc:"\\u0109",Cconint:"\\u2230",ccups:"\\u2A4C",ccupssm:"\\u2A50",Cdot:"\\u010A",cdot:"\\u010B",cedil:"\\xB8",Cedilla:"\\xB8",cemptyv:"\\u29B2",cent:"\\xA2",CenterDot:"\\xB7",centerdot:"\\xB7",Cfr:"\\u212D",cfr:"\\u{1D520}",CHcy:"\\u0427",chcy:"\\u0447",check:"\\u2713",checkmark:"\\u2713",Chi:"\\u03A7",chi:"\\u03C7",cir:"\\u25CB",circ:"\\u02C6",circeq:"\\u2257",circlearrowleft:"\\u21BA",circlearrowright:"\\u21BB",circledast:"\\u229B",circledcirc:"\\u229A",circleddash:"\\u229D",CircleDot:"\\u2299",circledR:"\\xAE",circledS:"\\u24C8",CircleMinus:"\\u2296",CirclePlus:"\\u2295",CircleTimes:"\\u2297",cirE:"\\u29C3",cire:"\\u2257",cirfnint:"\\u2A10",cirmid:"\\u2AEF",cirscir:"\\u29C2",ClockwiseContourIntegral:"\\u2232",CloseCurlyDoubleQuote:"\\u201D",CloseCurlyQuote:"\\u2019",clubs:"\\u2663",clubsuit:"\\u2663",Colon:"\\u2237",colon:":",Colone:"\\u2A74",colone:"\\u2254",coloneq:"\\u2254",comma:",",commat:"@",comp:"\\u2201",compfn:"\\u2218",complement:"\\u2201",complexes:"\\u2102",cong:"\\u2245",congdot:"\\u2A6D",Congruent:"\\u2261",Conint:"\\u222F",conint:"\\u222E",ContourIntegral:"\\u222E",Copf:"\\u2102",copf:"\\u{1D554}",coprod:"\\u2210",Coproduct:"\\u2210",COPY:"\\xA9",copy:"\\xA9",copysr:"\\u2117",CounterClockwiseContourIntegral:"\\u2233",crarr:"\\u21B5",Cross:"\\u2A2F",cross:"\\u2717",Cscr:"\\u{1D49E}",cscr:"\\u{1D4B8}",csub:"\\u2ACF",csube:"\\u2AD1",csup:"\\u2AD0",csupe:"\\u2AD2",ctdot:"\\u22EF",cudarrl:"\\u2938",cudarrr:"\\u2935",cuepr:"\\u22DE",cuesc:"\\u22DF",cularr:"\\u21B6",cularrp:"\\u293D",Cup:"\\u22D3",cup:"\\u222A",cupbrcap:"\\u2A48",CupCap:"\\u224D",cupcap:"\\u2A46",cupcup:"\\u2A4A",cupdot:"\\u228D",cupor:"\\u2A45",cups:"\\u222A\\uFE00",curarr:"\\u21B7",curarrm:"\\u293C",curlyeqprec:"\\u22DE",curlyeqsucc:"\\u22DF",curlyvee:"\\u22CE",curlywedge:"\\u22CF",curren:"\\xA4",curvearrowleft:"\\u21B6",curvearrowright:"\\u21B7",cuvee:"\\u22CE",cuwed:"\\u22CF",cwconint:"\\u2232",cwint:"\\u2231",cylcty:"\\u232D",Dagger:"\\u2021",dagger:"\\u2020",daleth:"\\u2138",Darr:"\\u21A1",dArr:"\\u21D3",darr:"\\u2193",dash:"\\u2010",Dashv:"\\u2AE4",dashv:"\\u22A3",dbkarow:"\\u290F",dblac:"\\u02DD",Dcaron:"\\u010E",dcaron:"\\u010F",Dcy:"\\u0414",dcy:"\\u0434",DD:"\\u2145",dd:"\\u2146",ddagger:"\\u2021",ddarr:"\\u21CA",DDotrahd:"\\u2911",ddotseq:"\\u2A77",deg:"\\xB0",Del:"\\u2207",Delta:"\\u0394",delta:"\\u03B4",demptyv:"\\u29B1",dfisht:"\\u297F",Dfr:"\\u{1D507}",dfr:"\\u{1D521}",dHar:"\\u2965",dharl:"\\u21C3",dharr:"\\u21C2",DiacriticalAcute:"\\xB4",DiacriticalDot:"\\u02D9",DiacriticalDoubleAcute:"\\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\\u02DC",diam:"\\u22C4",Diamond:"\\u22C4",diamond:"\\u22C4",diamondsuit:"\\u2666",diams:"\\u2666",die:"\\xA8",DifferentialD:"\\u2146",digamma:"\\u03DD",disin:"\\u22F2",div:"\\xF7",divide:"\\xF7",divideontimes:"\\u22C7",divonx:"\\u22C7",DJcy:"\\u0402",djcy:"\\u0452",dlcorn:"\\u231E",dlcrop:"\\u230D",dollar:"$",Dopf:"\\u{1D53B}",dopf:"\\u{1D555}",Dot:"\\xA8",dot:"\\u02D9",DotDot:"\\u20DC",doteq:"\\u2250",doteqdot:"\\u2251",DotEqual:"\\u2250",dotminus:"\\u2238",dotplus:"\\u2214",dotsquare:"\\u22A1",doublebarwedge:"\\u2306",DoubleContourIntegral:"\\u222F",DoubleDot:"\\xA8",DoubleDownArrow:"\\u21D3",DoubleLeftArrow:"\\u21D0",DoubleLeftRightArrow:"\\u21D4",DoubleLeftTee:"\\u2AE4",DoubleLongLeftArrow:"\\u27F8",DoubleLongLeftRightArrow:"\\u27FA",DoubleLongRightArrow:"\\u27F9",DoubleRightArrow:"\\u21D2",DoubleRightTee:"\\u22A8",DoubleUpArrow:"\\u21D1",DoubleUpDownArrow:"\\u21D5",DoubleVerticalBar:"\\u2225",DownArrow:"\\u2193",Downarrow:"\\u21D3",downarrow:"\\u2193",DownArrowBar:"\\u2913",DownArrowUpArrow:"\\u21F5",DownBreve:"\\u0311",downdownarrows:"\\u21CA",downharpoonleft:"\\u21C3",downharpoonright:"\\u21C2",DownLeftRightVector:"\\u2950",DownLeftTeeVector:"\\u295E",DownLeftVector:"\\u21BD",DownLeftVectorBar:"\\u2956",DownRightTeeVector:"\\u295F",DownRightVector:"\\u21C1",DownRightVectorBar:"\\u2957",DownTee:"\\u22A4",DownTeeArrow:"\\u21A7",drbkarow:"\\u2910",drcorn:"\\u231F",drcrop:"\\u230C",Dscr:"\\u{1D49F}",dscr:"\\u{1D4B9}",DScy:"\\u0405",dscy:"\\u0455",dsol:"\\u29F6",Dstrok:"\\u0110",dstrok:"\\u0111",dtdot:"\\u22F1",dtri:"\\u25BF",dtrif:"\\u25BE",duarr:"\\u21F5",duhar:"\\u296F",dwangle:"\\u29A6",DZcy:"\\u040F",dzcy:"\\u045F",dzigrarr:"\\u27FF",Eacute:"\\xC9",eacute:"\\xE9",easter:"\\u2A6E",Ecaron:"\\u011A",ecaron:"\\u011B",ecir:"\\u2256",Ecirc:"\\xCA",ecirc:"\\xEA",ecolon:"\\u2255",Ecy:"\\u042D",ecy:"\\u044D",eDDot:"\\u2A77",Edot:"\\u0116",eDot:"\\u2251",edot:"\\u0117",ee:"\\u2147",efDot:"\\u2252",Efr:"\\u{1D508}",efr:"\\u{1D522}",eg:"\\u2A9A",Egrave:"\\xC8",egrave:"\\xE8",egs:"\\u2A96",egsdot:"\\u2A98",el:"\\u2A99",Element:"\\u2208",elinters:"\\u23E7",ell:"\\u2113",els:"\\u2A95",elsdot:"\\u2A97",Emacr:"\\u0112",emacr:"\\u0113",empty:"\\u2205",emptyset:"\\u2205",EmptySmallSquare:"\\u25FB",emptyv:"\\u2205",EmptyVerySmallSquare:"\\u25AB",emsp:"\\u2003",emsp13:"\\u2004",emsp14:"\\u2005",ENG:"\\u014A",eng:"\\u014B",ensp:"\\u2002",Eogon:"\\u0118",eogon:"\\u0119",Eopf:"\\u{1D53C}",eopf:"\\u{1D556}",epar:"\\u22D5",eparsl:"\\u29E3",eplus:"\\u2A71",epsi:"\\u03B5",Epsilon:"\\u0395",epsilon:"\\u03B5",epsiv:"\\u03F5",eqcirc:"\\u2256",eqcolon:"\\u2255",eqsim:"\\u2242",eqslantgtr:"\\u2A96",eqslantless:"\\u2A95",Equal:"\\u2A75",equals:"=",EqualTilde:"\\u2242",equest:"\\u225F",Equilibrium:"\\u21CC",equiv:"\\u2261",equivDD:"\\u2A78",eqvparsl:"\\u29E5",erarr:"\\u2971",erDot:"\\u2253",Escr:"\\u2130",escr:"\\u212F",esdot:"\\u2250",Esim:"\\u2A73",esim:"\\u2242",Eta:"\\u0397",eta:"\\u03B7",ETH:"\\xD0",eth:"\\xF0",Euml:"\\xCB",euml:"\\xEB",euro:"\\u20AC",excl:"!",exist:"\\u2203",Exists:"\\u2203",expectation:"\\u2130",ExponentialE:"\\u2147",exponentiale:"\\u2147",fallingdotseq:"\\u2252",Fcy:"\\u0424",fcy:"\\u0444",female:"\\u2640",ffilig:"\\uFB03",fflig:"\\uFB00",ffllig:"\\uFB04",Ffr:"\\u{1D509}",ffr:"\\u{1D523}",filig:"\\uFB01",FilledSmallSquare:"\\u25FC",FilledVerySmallSquare:"\\u25AA",fjlig:"fj",flat:"\\u266D",fllig:"\\uFB02",fltns:"\\u25B1",fnof:"\\u0192",Fopf:"\\u{1D53D}",fopf:"\\u{1D557}",ForAll:"\\u2200",forall:"\\u2200",fork:"\\u22D4",forkv:"\\u2AD9",Fouriertrf:"\\u2131",fpartint:"\\u2A0D",frac12:"\\xBD",frac13:"\\u2153",frac14:"\\xBC",frac15:"\\u2155",frac16:"\\u2159",frac18:"\\u215B",frac23:"\\u2154",frac25:"\\u2156",frac34:"\\xBE",frac35:"\\u2157",frac38:"\\u215C",frac45:"\\u2158",frac56:"\\u215A",frac58:"\\u215D",frac78:"\\u215E",frasl:"\\u2044",frown:"\\u2322",Fscr:"\\u2131",fscr:"\\u{1D4BB}",gacute:"\\u01F5",Gamma:"\\u0393",gamma:"\\u03B3",Gammad:"\\u03DC",gammad:"\\u03DD",gap:"\\u2A86",Gbreve:"\\u011E",gbreve:"\\u011F",Gcedil:"\\u0122",Gcirc:"\\u011C",gcirc:"\\u011D",Gcy:"\\u0413",gcy:"\\u0433",Gdot:"\\u0120",gdot:"\\u0121",gE:"\\u2267",ge:"\\u2265",gEl:"\\u2A8C",gel:"\\u22DB",geq:"\\u2265",geqq:"\\u2267",geqslant:"\\u2A7E",ges:"\\u2A7E",gescc:"\\u2AA9",gesdot:"\\u2A80",gesdoto:"\\u2A82",gesdotol:"\\u2A84",gesl:"\\u22DB\\uFE00",gesles:"\\u2A94",Gfr:"\\u{1D50A}",gfr:"\\u{1D524}",Gg:"\\u22D9",gg:"\\u226B",ggg:"\\u22D9",gimel:"\\u2137",GJcy:"\\u0403",gjcy:"\\u0453",gl:"\\u2277",gla:"\\u2AA5",glE:"\\u2A92",glj:"\\u2AA4",gnap:"\\u2A8A",gnapprox:"\\u2A8A",gnE:"\\u2269",gne:"\\u2A88",gneq:"\\u2A88",gneqq:"\\u2269",gnsim:"\\u22E7",Gopf:"\\u{1D53E}",gopf:"\\u{1D558}",grave:"`",GreaterEqual:"\\u2265",GreaterEqualLess:"\\u22DB",GreaterFullEqual:"\\u2267",GreaterGreater:"\\u2AA2",GreaterLess:"\\u2277",GreaterSlantEqual:"\\u2A7E",GreaterTilde:"\\u2273",Gscr:"\\u{1D4A2}",gscr:"\\u210A",gsim:"\\u2273",gsime:"\\u2A8E",gsiml:"\\u2A90",Gt:"\\u226B",GT:">",gt:">",gtcc:"\\u2AA7",gtcir:"\\u2A7A",gtdot:"\\u22D7",gtlPar:"\\u2995",gtquest:"\\u2A7C",gtrapprox:"\\u2A86",gtrarr:"\\u2978",gtrdot:"\\u22D7",gtreqless:"\\u22DB",gtreqqless:"\\u2A8C",gtrless:"\\u2277",gtrsim:"\\u2273",gvertneqq:"\\u2269\\uFE00",gvnE:"\\u2269\\uFE00",Hacek:"\\u02C7",hairsp:"\\u200A",half:"\\xBD",hamilt:"\\u210B",HARDcy:"\\u042A",hardcy:"\\u044A",hArr:"\\u21D4",harr:"\\u2194",harrcir:"\\u2948",harrw:"\\u21AD",Hat:"^",hbar:"\\u210F",Hcirc:"\\u0124",hcirc:"\\u0125",hearts:"\\u2665",heartsuit:"\\u2665",hellip:"\\u2026",hercon:"\\u22B9",Hfr:"\\u210C",hfr:"\\u{1D525}",HilbertSpace:"\\u210B",hksearow:"\\u2925",hkswarow:"\\u2926",hoarr:"\\u21FF",homtht:"\\u223B",hookleftarrow:"\\u21A9",hookrightarrow:"\\u21AA",Hopf:"\\u210D",hopf:"\\u{1D559}",horbar:"\\u2015",HorizontalLine:"\\u2500",Hscr:"\\u210B",hscr:"\\u{1D4BD}",hslash:"\\u210F",Hstrok:"\\u0126",hstrok:"\\u0127",HumpDownHump:"\\u224E",HumpEqual:"\\u224F",hybull:"\\u2043",hyphen:"\\u2010",Iacute:"\\xCD",iacute:"\\xED",ic:"\\u2063",Icirc:"\\xCE",icirc:"\\xEE",Icy:"\\u0418",icy:"\\u0438",Idot:"\\u0130",IEcy:"\\u0415",iecy:"\\u0435",iexcl:"\\xA1",iff:"\\u21D4",Ifr:"\\u2111",ifr:"\\u{1D526}",Igrave:"\\xCC",igrave:"\\xEC",ii:"\\u2148",iiiint:"\\u2A0C",iiint:"\\u222D",iinfin:"\\u29DC",iiota:"\\u2129",IJlig:"\\u0132",ijlig:"\\u0133",Im:"\\u2111",Imacr:"\\u012A",imacr:"\\u012B",image:"\\u2111",ImaginaryI:"\\u2148",imagline:"\\u2110",imagpart:"\\u2111",imath:"\\u0131",imof:"\\u22B7",imped:"\\u01B5",Implies:"\\u21D2",in:"\\u2208",incare:"\\u2105",infin:"\\u221E",infintie:"\\u29DD",inodot:"\\u0131",Int:"\\u222C",int:"\\u222B",intcal:"\\u22BA",integers:"\\u2124",Integral:"\\u222B",intercal:"\\u22BA",Intersection:"\\u22C2",intlarhk:"\\u2A17",intprod:"\\u2A3C",InvisibleComma:"\\u2063",InvisibleTimes:"\\u2062",IOcy:"\\u0401",iocy:"\\u0451",Iogon:"\\u012E",iogon:"\\u012F",Iopf:"\\u{1D540}",iopf:"\\u{1D55A}",Iota:"\\u0399",iota:"\\u03B9",iprod:"\\u2A3C",iquest:"\\xBF",Iscr:"\\u2110",iscr:"\\u{1D4BE}",isin:"\\u2208",isindot:"\\u22F5",isinE:"\\u22F9",isins:"\\u22F4",isinsv:"\\u22F3",isinv:"\\u2208",it:"\\u2062",Itilde:"\\u0128",itilde:"\\u0129",Iukcy:"\\u0406",iukcy:"\\u0456",Iuml:"\\xCF",iuml:"\\xEF",Jcirc:"\\u0134",jcirc:"\\u0135",Jcy:"\\u0419",jcy:"\\u0439",Jfr:"\\u{1D50D}",jfr:"\\u{1D527}",jmath:"\\u0237",Jopf:"\\u{1D541}",jopf:"\\u{1D55B}",Jscr:"\\u{1D4A5}",jscr:"\\u{1D4BF}",Jsercy:"\\u0408",jsercy:"\\u0458",Jukcy:"\\u0404",jukcy:"\\u0454",Kappa:"\\u039A",kappa:"\\u03BA",kappav:"\\u03F0",Kcedil:"\\u0136",kcedil:"\\u0137",Kcy:"\\u041A",kcy:"\\u043A",Kfr:"\\u{1D50E}",kfr:"\\u{1D528}",kgreen:"\\u0138",KHcy:"\\u0425",khcy:"\\u0445",KJcy:"\\u040C",kjcy:"\\u045C",Kopf:"\\u{1D542}",kopf:"\\u{1D55C}",Kscr:"\\u{1D4A6}",kscr:"\\u{1D4C0}",lAarr:"\\u21DA",Lacute:"\\u0139",lacute:"\\u013A",laemptyv:"\\u29B4",lagran:"\\u2112",Lambda:"\\u039B",lambda:"\\u03BB",Lang:"\\u27EA",lang:"\\u27E8",langd:"\\u2991",langle:"\\u27E8",lap:"\\u2A85",Laplacetrf:"\\u2112",laquo:"\\xAB",Larr:"\\u219E",lArr:"\\u21D0",larr:"\\u2190",larrb:"\\u21E4",larrbfs:"\\u291F",larrfs:"\\u291D",larrhk:"\\u21A9",larrlp:"\\u21AB",larrpl:"\\u2939",larrsim:"\\u2973",larrtl:"\\u21A2",lat:"\\u2AAB",lAtail:"\\u291B",latail:"\\u2919",late:"\\u2AAD",lates:"\\u2AAD\\uFE00",lBarr:"\\u290E",lbarr:"\\u290C",lbbrk:"\\u2772",lbrace:"{",lbrack:"[",lbrke:"\\u298B",lbrksld:"\\u298F",lbrkslu:"\\u298D",Lcaron:"\\u013D",lcaron:"\\u013E",Lcedil:"\\u013B",lcedil:"\\u013C",lceil:"\\u2308",lcub:"{",Lcy:"\\u041B",lcy:"\\u043B",ldca:"\\u2936",ldquo:"\\u201C",ldquor:"\\u201E",ldrdhar:"\\u2967",ldrushar:"\\u294B",ldsh:"\\u21B2",lE:"\\u2266",le:"\\u2264",LeftAngleBracket:"\\u27E8",LeftArrow:"\\u2190",Leftarrow:"\\u21D0",leftarrow:"\\u2190",LeftArrowBar:"\\u21E4",LeftArrowRightArrow:"\\u21C6",leftarrowtail:"\\u21A2",LeftCeiling:"\\u2308",LeftDoubleBracket:"\\u27E6",LeftDownTeeVector:"\\u2961",LeftDownVector:"\\u21C3",LeftDownVectorBar:"\\u2959",LeftFloor:"\\u230A",leftharpoondown:"\\u21BD",leftharpoonup:"\\u21BC",leftleftarrows:"\\u21C7",LeftRightArrow:"\\u2194",Leftrightarrow:"\\u21D4",leftrightarrow:"\\u2194",leftrightarrows:"\\u21C6",leftrightharpoons:"\\u21CB",leftrightsquigarrow:"\\u21AD",LeftRightVector:"\\u294E",LeftTee:"\\u22A3",LeftTeeArrow:"\\u21A4",LeftTeeVector:"\\u295A",leftthreetimes:"\\u22CB",LeftTriangle:"\\u22B2",LeftTriangleBar:"\\u29CF",LeftTriangleEqual:"\\u22B4",LeftUpDownVector:"\\u2951",LeftUpTeeVector:"\\u2960",LeftUpVector:"\\u21BF",LeftUpVectorBar:"\\u2958",LeftVector:"\\u21BC",LeftVectorBar:"\\u2952",lEg:"\\u2A8B",leg:"\\u22DA",leq:"\\u2264",leqq:"\\u2266",leqslant:"\\u2A7D",les:"\\u2A7D",lescc:"\\u2AA8",lesdot:"\\u2A7F",lesdoto:"\\u2A81",lesdotor:"\\u2A83",lesg:"\\u22DA\\uFE00",lesges:"\\u2A93",lessapprox:"\\u2A85",lessdot:"\\u22D6",lesseqgtr:"\\u22DA",lesseqqgtr:"\\u2A8B",LessEqualGreater:"\\u22DA",LessFullEqual:"\\u2266",LessGreater:"\\u2276",lessgtr:"\\u2276",LessLess:"\\u2AA1",lesssim:"\\u2272",LessSlantEqual:"\\u2A7D",LessTilde:"\\u2272",lfisht:"\\u297C",lfloor:"\\u230A",Lfr:"\\u{1D50F}",lfr:"\\u{1D529}",lg:"\\u2276",lgE:"\\u2A91",lHar:"\\u2962",lhard:"\\u21BD",lharu:"\\u21BC",lharul:"\\u296A",lhblk:"\\u2584",LJcy:"\\u0409",ljcy:"\\u0459",Ll:"\\u22D8",ll:"\\u226A",llarr:"\\u21C7",llcorner:"\\u231E",Lleftarrow:"\\u21DA",llhard:"\\u296B",lltri:"\\u25FA",Lmidot:"\\u013F",lmidot:"\\u0140",lmoust:"\\u23B0",lmoustache:"\\u23B0",lnap:"\\u2A89",lnapprox:"\\u2A89",lnE:"\\u2268",lne:"\\u2A87",lneq:"\\u2A87",lneqq:"\\u2268",lnsim:"\\u22E6",loang:"\\u27EC",loarr:"\\u21FD",lobrk:"\\u27E6",LongLeftArrow:"\\u27F5",Longleftarrow:"\\u27F8",longleftarrow:"\\u27F5",LongLeftRightArrow:"\\u27F7",Longleftrightarrow:"\\u27FA",longleftrightarrow:"\\u27F7",longmapsto:"\\u27FC",LongRightArrow:"\\u27F6",Longrightarrow:"\\u27F9",longrightarrow:"\\u27F6",looparrowleft:"\\u21AB",looparrowright:"\\u21AC",lopar:"\\u2985",Lopf:"\\u{1D543}",lopf:"\\u{1D55D}",loplus:"\\u2A2D",lotimes:"\\u2A34",lowast:"\\u2217",lowbar:"_",LowerLeftArrow:"\\u2199",LowerRightArrow:"\\u2198",loz:"\\u25CA",lozenge:"\\u25CA",lozf:"\\u29EB",lpar:"(",lparlt:"\\u2993",lrarr:"\\u21C6",lrcorner:"\\u231F",lrhar:"\\u21CB",lrhard:"\\u296D",lrm:"\\u200E",lrtri:"\\u22BF",lsaquo:"\\u2039",Lscr:"\\u2112",lscr:"\\u{1D4C1}",Lsh:"\\u21B0",lsh:"\\u21B0",lsim:"\\u2272",lsime:"\\u2A8D",lsimg:"\\u2A8F",lsqb:"[",lsquo:"\\u2018",lsquor:"\\u201A",Lstrok:"\\u0141",lstrok:"\\u0142",Lt:"\\u226A",LT:"<",lt:"<",ltcc:"\\u2AA6",ltcir:"\\u2A79",ltdot:"\\u22D6",lthree:"\\u22CB",ltimes:"\\u22C9",ltlarr:"\\u2976",ltquest:"\\u2A7B",ltri:"\\u25C3",ltrie:"\\u22B4",ltrif:"\\u25C2",ltrPar:"\\u2996",lurdshar:"\\u294A",luruhar:"\\u2966",lvertneqq:"\\u2268\\uFE00",lvnE:"\\u2268\\uFE00",macr:"\\xAF",male:"\\u2642",malt:"\\u2720",maltese:"\\u2720",Map:"\\u2905",map:"\\u21A6",mapsto:"\\u21A6",mapstodown:"\\u21A7",mapstoleft:"\\u21A4",mapstoup:"\\u21A5",marker:"\\u25AE",mcomma:"\\u2A29",Mcy:"\\u041C",mcy:"\\u043C",mdash:"\\u2014",mDDot:"\\u223A",measuredangle:"\\u2221",MediumSpace:"\\u205F",Mellintrf:"\\u2133",Mfr:"\\u{1D510}",mfr:"\\u{1D52A}",mho:"\\u2127",micro:"\\xB5",mid:"\\u2223",midast:"*",midcir:"\\u2AF0",middot:"\\xB7",minus:"\\u2212",minusb:"\\u229F",minusd:"\\u2238",minusdu:"\\u2A2A",MinusPlus:"\\u2213",mlcp:"\\u2ADB",mldr:"\\u2026",mnplus:"\\u2213",models:"\\u22A7",Mopf:"\\u{1D544}",mopf:"\\u{1D55E}",mp:"\\u2213",Mscr:"\\u2133",mscr:"\\u{1D4C2}",mstpos:"\\u223E",Mu:"\\u039C",mu:"\\u03BC",multimap:"\\u22B8",mumap:"\\u22B8",nabla:"\\u2207",Nacute:"\\u0143",nacute:"\\u0144",nang:"\\u2220\\u20D2",nap:"\\u2249",napE:"\\u2A70\\u0338",napid:"\\u224B\\u0338",napos:"\\u0149",napprox:"\\u2249",natur:"\\u266E",natural:"\\u266E",naturals:"\\u2115",nbsp:"\\xA0",nbump:"\\u224E\\u0338",nbumpe:"\\u224F\\u0338",ncap:"\\u2A43",Ncaron:"\\u0147",ncaron:"\\u0148",Ncedil:"\\u0145",ncedil:"\\u0146",ncong:"\\u2247",ncongdot:"\\u2A6D\\u0338",ncup:"\\u2A42",Ncy:"\\u041D",ncy:"\\u043D",ndash:"\\u2013",ne:"\\u2260",nearhk:"\\u2924",neArr:"\\u21D7",nearr:"\\u2197",nearrow:"\\u2197",nedot:"\\u2250\\u0338",NegativeMediumSpace:"\\u200B",NegativeThickSpace:"\\u200B",NegativeThinSpace:"\\u200B",NegativeVeryThinSpace:"\\u200B",nequiv:"\\u2262",nesear:"\\u2928",nesim:"\\u2242\\u0338",NestedGreaterGreater:"\\u226B",NestedLessLess:"\\u226A",NewLine:`\n`,nexist:"\\u2204",nexists:"\\u2204",Nfr:"\\u{1D511}",nfr:"\\u{1D52B}",ngE:"\\u2267\\u0338",nge:"\\u2271",ngeq:"\\u2271",ngeqq:"\\u2267\\u0338",ngeqslant:"\\u2A7E\\u0338",nges:"\\u2A7E\\u0338",nGg:"\\u22D9\\u0338",ngsim:"\\u2275",nGt:"\\u226B\\u20D2",ngt:"\\u226F",ngtr:"\\u226F",nGtv:"\\u226B\\u0338",nhArr:"\\u21CE",nharr:"\\u21AE",nhpar:"\\u2AF2",ni:"\\u220B",nis:"\\u22FC",nisd:"\\u22FA",niv:"\\u220B",NJcy:"\\u040A",njcy:"\\u045A",nlArr:"\\u21CD",nlarr:"\\u219A",nldr:"\\u2025",nlE:"\\u2266\\u0338",nle:"\\u2270",nLeftarrow:"\\u21CD",nleftarrow:"\\u219A",nLeftrightarrow:"\\u21CE",nleftrightarrow:"\\u21AE",nleq:"\\u2270",nleqq:"\\u2266\\u0338",nleqslant:"\\u2A7D\\u0338",nles:"\\u2A7D\\u0338",nless:"\\u226E",nLl:"\\u22D8\\u0338",nlsim:"\\u2274",nLt:"\\u226A\\u20D2",nlt:"\\u226E",nltri:"\\u22EA",nltrie:"\\u22EC",nLtv:"\\u226A\\u0338",nmid:"\\u2224",NoBreak:"\\u2060",NonBreakingSpace:"\\xA0",Nopf:"\\u2115",nopf:"\\u{1D55F}",Not:"\\u2AEC",not:"\\xAC",NotCongruent:"\\u2262",NotCupCap:"\\u226D",NotDoubleVerticalBar:"\\u2226",NotElement:"\\u2209",NotEqual:"\\u2260",NotEqualTilde:"\\u2242\\u0338",NotExists:"\\u2204",NotGreater:"\\u226F",NotGreaterEqual:"\\u2271",NotGreaterFullEqual:"\\u2267\\u0338",NotGreaterGreater:"\\u226B\\u0338",NotGreaterLess:"\\u2279",NotGreaterSlantEqual:"\\u2A7E\\u0338",NotGreaterTilde:"\\u2275",NotHumpDownHump:"\\u224E\\u0338",NotHumpEqual:"\\u224F\\u0338",notin:"\\u2209",notindot:"\\u22F5\\u0338",notinE:"\\u22F9\\u0338",notinva:"\\u2209",notinvb:"\\u22F7",notinvc:"\\u22F6",NotLeftTriangle:"\\u22EA",NotLeftTriangleBar:"\\u29CF\\u0338",NotLeftTriangleEqual:"\\u22EC",NotLess:"\\u226E",NotLessEqual:"\\u2270",NotLessGreater:"\\u2278",NotLessLess:"\\u226A\\u0338",NotLessSlantEqual:"\\u2A7D\\u0338",NotLessTilde:"\\u2274",NotNestedGreaterGreater:"\\u2AA2\\u0338",NotNestedLessLess:"\\u2AA1\\u0338",notni:"\\u220C",notniva:"\\u220C",notnivb:"\\u22FE",notnivc:"\\u22FD",NotPrecedes:"\\u2280",NotPrecedesEqual:"\\u2AAF\\u0338",NotPrecedesSlantEqual:"\\u22E0",NotReverseElement:"\\u220C",NotRightTriangle:"\\u22EB",NotRightTriangleBar:"\\u29D0\\u0338",NotRightTriangleEqual:"\\u22ED",NotSquareSubset:"\\u228F\\u0338",NotSquareSubsetEqual:"\\u22E2",NotSquareSuperset:"\\u2290\\u0338",NotSquareSupersetEqual:"\\u22E3",NotSubset:"\\u2282\\u20D2",NotSubsetEqual:"\\u2288",NotSucceeds:"\\u2281",NotSucceedsEqual:"\\u2AB0\\u0338",NotSucceedsSlantEqual:"\\u22E1",NotSucceedsTilde:"\\u227F\\u0338",NotSuperset:"\\u2283\\u20D2",NotSupersetEqual:"\\u2289",NotTilde:"\\u2241",NotTildeEqual:"\\u2244",NotTildeFullEqual:"\\u2247",NotTildeTilde:"\\u2249",NotVerticalBar:"\\u2224",npar:"\\u2226",nparallel:"\\u2226",nparsl:"\\u2AFD\\u20E5",npart:"\\u2202\\u0338",npolint:"\\u2A14",npr:"\\u2280",nprcue:"\\u22E0",npre:"\\u2AAF\\u0338",nprec:"\\u2280",npreceq:"\\u2AAF\\u0338",nrArr:"\\u21CF",nrarr:"\\u219B",nrarrc:"\\u2933\\u0338",nrarrw:"\\u219D\\u0338",nRightarrow:"\\u21CF",nrightarrow:"\\u219B",nrtri:"\\u22EB",nrtrie:"\\u22ED",nsc:"\\u2281",nsccue:"\\u22E1",nsce:"\\u2AB0\\u0338",Nscr:"\\u{1D4A9}",nscr:"\\u{1D4C3}",nshortmid:"\\u2224",nshortparallel:"\\u2226",nsim:"\\u2241",nsime:"\\u2244",nsimeq:"\\u2244",nsmid:"\\u2224",nspar:"\\u2226",nsqsube:"\\u22E2",nsqsupe:"\\u22E3",nsub:"\\u2284",nsubE:"\\u2AC5\\u0338",nsube:"\\u2288",nsubset:"\\u2282\\u20D2",nsubseteq:"\\u2288",nsubseteqq:"\\u2AC5\\u0338",nsucc:"\\u2281",nsucceq:"\\u2AB0\\u0338",nsup:"\\u2285",nsupE:"\\u2AC6\\u0338",nsupe:"\\u2289",nsupset:"\\u2283\\u20D2",nsupseteq:"\\u2289",nsupseteqq:"\\u2AC6\\u0338",ntgl:"\\u2279",Ntilde:"\\xD1",ntilde:"\\xF1",ntlg:"\\u2278",ntriangleleft:"\\u22EA",ntrianglelefteq:"\\u22EC",ntriangleright:"\\u22EB",ntrianglerighteq:"\\u22ED",Nu:"\\u039D",nu:"\\u03BD",num:"#",numero:"\\u2116",numsp:"\\u2007",nvap:"\\u224D\\u20D2",nVDash:"\\u22AF",nVdash:"\\u22AE",nvDash:"\\u22AD",nvdash:"\\u22AC",nvge:"\\u2265\\u20D2",nvgt:">\\u20D2",nvHarr:"\\u2904",nvinfin:"\\u29DE",nvlArr:"\\u2902",nvle:"\\u2264\\u20D2",nvlt:"<\\u20D2",nvltrie:"\\u22B4\\u20D2",nvrArr:"\\u2903",nvrtrie:"\\u22B5\\u20D2",nvsim:"\\u223C\\u20D2",nwarhk:"\\u2923",nwArr:"\\u21D6",nwarr:"\\u2196",nwarrow:"\\u2196",nwnear:"\\u2927",Oacute:"\\xD3",oacute:"\\xF3",oast:"\\u229B",ocir:"\\u229A",Ocirc:"\\xD4",ocirc:"\\xF4",Ocy:"\\u041E",ocy:"\\u043E",odash:"\\u229D",Odblac:"\\u0150",odblac:"\\u0151",odiv:"\\u2A38",odot:"\\u2299",odsold:"\\u29BC",OElig:"\\u0152",oelig:"\\u0153",ofcir:"\\u29BF",Ofr:"\\u{1D512}",ofr:"\\u{1D52C}",ogon:"\\u02DB",Ograve:"\\xD2",ograve:"\\xF2",ogt:"\\u29C1",ohbar:"\\u29B5",ohm:"\\u03A9",oint:"\\u222E",olarr:"\\u21BA",olcir:"\\u29BE",olcross:"\\u29BB",oline:"\\u203E",olt:"\\u29C0",Omacr:"\\u014C",omacr:"\\u014D",Omega:"\\u03A9",omega:"\\u03C9",Omicron:"\\u039F",omicron:"\\u03BF",omid:"\\u29B6",ominus:"\\u2296",Oopf:"\\u{1D546}",oopf:"\\u{1D560}",opar:"\\u29B7",OpenCurlyDoubleQuote:"\\u201C",OpenCurlyQuote:"\\u2018",operp:"\\u29B9",oplus:"\\u2295",Or:"\\u2A54",or:"\\u2228",orarr:"\\u21BB",ord:"\\u2A5D",order:"\\u2134",orderof:"\\u2134",ordf:"\\xAA",ordm:"\\xBA",origof:"\\u22B6",oror:"\\u2A56",orslope:"\\u2A57",orv:"\\u2A5B",oS:"\\u24C8",Oscr:"\\u{1D4AA}",oscr:"\\u2134",Oslash:"\\xD8",oslash:"\\xF8",osol:"\\u2298",Otilde:"\\xD5",otilde:"\\xF5",Otimes:"\\u2A37",otimes:"\\u2297",otimesas:"\\u2A36",Ouml:"\\xD6",ouml:"\\xF6",ovbar:"\\u233D",OverBar:"\\u203E",OverBrace:"\\u23DE",OverBracket:"\\u23B4",OverParenthesis:"\\u23DC",par:"\\u2225",para:"\\xB6",parallel:"\\u2225",parsim:"\\u2AF3",parsl:"\\u2AFD",part:"\\u2202",PartialD:"\\u2202",Pcy:"\\u041F",pcy:"\\u043F",percnt:"%",period:".",permil:"\\u2030",perp:"\\u22A5",pertenk:"\\u2031",Pfr:"\\u{1D513}",pfr:"\\u{1D52D}",Phi:"\\u03A6",phi:"\\u03C6",phiv:"\\u03D5",phmmat:"\\u2133",phone:"\\u260E",Pi:"\\u03A0",pi:"\\u03C0",pitchfork:"\\u22D4",piv:"\\u03D6",planck:"\\u210F",planckh:"\\u210E",plankv:"\\u210F",plus:"+",plusacir:"\\u2A23",plusb:"\\u229E",pluscir:"\\u2A22",plusdo:"\\u2214",plusdu:"\\u2A25",pluse:"\\u2A72",PlusMinus:"\\xB1",plusmn:"\\xB1",plussim:"\\u2A26",plustwo:"\\u2A27",pm:"\\xB1",Poincareplane:"\\u210C",pointint:"\\u2A15",Popf:"\\u2119",popf:"\\u{1D561}",pound:"\\xA3",Pr:"\\u2ABB",pr:"\\u227A",prap:"\\u2AB7",prcue:"\\u227C",prE:"\\u2AB3",pre:"\\u2AAF",prec:"\\u227A",precapprox:"\\u2AB7",preccurlyeq:"\\u227C",Precedes:"\\u227A",PrecedesEqual:"\\u2AAF",PrecedesSlantEqual:"\\u227C",PrecedesTilde:"\\u227E",preceq:"\\u2AAF",precnapprox:"\\u2AB9",precneqq:"\\u2AB5",precnsim:"\\u22E8",precsim:"\\u227E",Prime:"\\u2033",prime:"\\u2032",primes:"\\u2119",prnap:"\\u2AB9",prnE:"\\u2AB5",prnsim:"\\u22E8",prod:"\\u220F",Product:"\\u220F",profalar:"\\u232E",profline:"\\u2312",profsurf:"\\u2313",prop:"\\u221D",Proportion:"\\u2237",Proportional:"\\u221D",propto:"\\u221D",prsim:"\\u227E",prurel:"\\u22B0",Pscr:"\\u{1D4AB}",pscr:"\\u{1D4C5}",Psi:"\\u03A8",psi:"\\u03C8",puncsp:"\\u2008",Qfr:"\\u{1D514}",qfr:"\\u{1D52E}",qint:"\\u2A0C",Qopf:"\\u211A",qopf:"\\u{1D562}",qprime:"\\u2057",Qscr:"\\u{1D4AC}",qscr:"\\u{1D4C6}",quaternions:"\\u210D",quatint:"\\u2A16",quest:"?",questeq:"\\u225F",QUOT:\'"\',quot:\'"\',rAarr:"\\u21DB",race:"\\u223D\\u0331",Racute:"\\u0154",racute:"\\u0155",radic:"\\u221A",raemptyv:"\\u29B3",Rang:"\\u27EB",rang:"\\u27E9",rangd:"\\u2992",range:"\\u29A5",rangle:"\\u27E9",raquo:"\\xBB",Rarr:"\\u21A0",rArr:"\\u21D2",rarr:"\\u2192",rarrap:"\\u2975",rarrb:"\\u21E5",rarrbfs:"\\u2920",rarrc:"\\u2933",rarrfs:"\\u291E",rarrhk:"\\u21AA",rarrlp:"\\u21AC",rarrpl:"\\u2945",rarrsim:"\\u2974",Rarrtl:"\\u2916",rarrtl:"\\u21A3",rarrw:"\\u219D",rAtail:"\\u291C",ratail:"\\u291A",ratio:"\\u2236",rationals:"\\u211A",RBarr:"\\u2910",rBarr:"\\u290F",rbarr:"\\u290D",rbbrk:"\\u2773",rbrace:"}",rbrack:"]",rbrke:"\\u298C",rbrksld:"\\u298E",rbrkslu:"\\u2990",Rcaron:"\\u0158",rcaron:"\\u0159",Rcedil:"\\u0156",rcedil:"\\u0157",rceil:"\\u2309",rcub:"}",Rcy:"\\u0420",rcy:"\\u0440",rdca:"\\u2937",rdldhar:"\\u2969",rdquo:"\\u201D",rdquor:"\\u201D",rdsh:"\\u21B3",Re:"\\u211C",real:"\\u211C",realine:"\\u211B",realpart:"\\u211C",reals:"\\u211D",rect:"\\u25AD",REG:"\\xAE",reg:"\\xAE",ReverseElement:"\\u220B",ReverseEquilibrium:"\\u21CB",ReverseUpEquilibrium:"\\u296F",rfisht:"\\u297D",rfloor:"\\u230B",Rfr:"\\u211C",rfr:"\\u{1D52F}",rHar:"\\u2964",rhard:"\\u21C1",rharu:"\\u21C0",rharul:"\\u296C",Rho:"\\u03A1",rho:"\\u03C1",rhov:"\\u03F1",RightAngleBracket:"\\u27E9",RightArrow:"\\u2192",Rightarrow:"\\u21D2",rightarrow:"\\u2192",RightArrowBar:"\\u21E5",RightArrowLeftArrow:"\\u21C4",rightarrowtail:"\\u21A3",RightCeiling:"\\u2309",RightDoubleBracket:"\\u27E7",RightDownTeeVector:"\\u295D",RightDownVector:"\\u21C2",RightDownVectorBar:"\\u2955",RightFloor:"\\u230B",rightharpoondown:"\\u21C1",rightharpoonup:"\\u21C0",rightleftarrows:"\\u21C4",rightleftharpoons:"\\u21CC",rightrightarrows:"\\u21C9",rightsquigarrow:"\\u219D",RightTee:"\\u22A2",RightTeeArrow:"\\u21A6",RightTeeVector:"\\u295B",rightthreetimes:"\\u22CC",RightTriangle:"\\u22B3",RightTriangleBar:"\\u29D0",RightTriangleEqual:"\\u22B5",RightUpDownVector:"\\u294F",RightUpTeeVector:"\\u295C",RightUpVector:"\\u21BE",RightUpVectorBar:"\\u2954",RightVector:"\\u21C0",RightVectorBar:"\\u2953",ring:"\\u02DA",risingdotseq:"\\u2253",rlarr:"\\u21C4",rlhar:"\\u21CC",rlm:"\\u200F",rmoust:"\\u23B1",rmoustache:"\\u23B1",rnmid:"\\u2AEE",roang:"\\u27ED",roarr:"\\u21FE",robrk:"\\u27E7",ropar:"\\u2986",Ropf:"\\u211D",ropf:"\\u{1D563}",roplus:"\\u2A2E",rotimes:"\\u2A35",RoundImplies:"\\u2970",rpar:")",rpargt:"\\u2994",rppolint:"\\u2A12",rrarr:"\\u21C9",Rrightarrow:"\\u21DB",rsaquo:"\\u203A",Rscr:"\\u211B",rscr:"\\u{1D4C7}",Rsh:"\\u21B1",rsh:"\\u21B1",rsqb:"]",rsquo:"\\u2019",rsquor:"\\u2019",rthree:"\\u22CC",rtimes:"\\u22CA",rtri:"\\u25B9",rtrie:"\\u22B5",rtrif:"\\u25B8",rtriltri:"\\u29CE",RuleDelayed:"\\u29F4",ruluhar:"\\u2968",rx:"\\u211E",Sacute:"\\u015A",sacute:"\\u015B",sbquo:"\\u201A",Sc:"\\u2ABC",sc:"\\u227B",scap:"\\u2AB8",Scaron:"\\u0160",scaron:"\\u0161",sccue:"\\u227D",scE:"\\u2AB4",sce:"\\u2AB0",Scedil:"\\u015E",scedil:"\\u015F",Scirc:"\\u015C",scirc:"\\u015D",scnap:"\\u2ABA",scnE:"\\u2AB6",scnsim:"\\u22E9",scpolint:"\\u2A13",scsim:"\\u227F",Scy:"\\u0421",scy:"\\u0441",sdot:"\\u22C5",sdotb:"\\u22A1",sdote:"\\u2A66",searhk:"\\u2925",seArr:"\\u21D8",searr:"\\u2198",searrow:"\\u2198",sect:"\\xA7",semi:";",seswar:"\\u2929",setminus:"\\u2216",setmn:"\\u2216",sext:"\\u2736",Sfr:"\\u{1D516}",sfr:"\\u{1D530}",sfrown:"\\u2322",sharp:"\\u266F",SHCHcy:"\\u0429",shchcy:"\\u0449",SHcy:"\\u0428",shcy:"\\u0448",ShortDownArrow:"\\u2193",ShortLeftArrow:"\\u2190",shortmid:"\\u2223",shortparallel:"\\u2225",ShortRightArrow:"\\u2192",ShortUpArrow:"\\u2191",shy:"\\xAD",Sigma:"\\u03A3",sigma:"\\u03C3",sigmaf:"\\u03C2",sigmav:"\\u03C2",sim:"\\u223C",simdot:"\\u2A6A",sime:"\\u2243",simeq:"\\u2243",simg:"\\u2A9E",simgE:"\\u2AA0",siml:"\\u2A9D",simlE:"\\u2A9F",simne:"\\u2246",simplus:"\\u2A24",simrarr:"\\u2972",slarr:"\\u2190",SmallCircle:"\\u2218",smallsetminus:"\\u2216",smashp:"\\u2A33",smeparsl:"\\u29E4",smid:"\\u2223",smile:"\\u2323",smt:"\\u2AAA",smte:"\\u2AAC",smtes:"\\u2AAC\\uFE00",SOFTcy:"\\u042C",softcy:"\\u044C",sol:"/",solb:"\\u29C4",solbar:"\\u233F",Sopf:"\\u{1D54A}",sopf:"\\u{1D564}",spades:"\\u2660",spadesuit:"\\u2660",spar:"\\u2225",sqcap:"\\u2293",sqcaps:"\\u2293\\uFE00",sqcup:"\\u2294",sqcups:"\\u2294\\uFE00",Sqrt:"\\u221A",sqsub:"\\u228F",sqsube:"\\u2291",sqsubset:"\\u228F",sqsubseteq:"\\u2291",sqsup:"\\u2290",sqsupe:"\\u2292",sqsupset:"\\u2290",sqsupseteq:"\\u2292",squ:"\\u25A1",Square:"\\u25A1",square:"\\u25A1",SquareIntersection:"\\u2293",SquareSubset:"\\u228F",SquareSubsetEqual:"\\u2291",SquareSuperset:"\\u2290",SquareSupersetEqual:"\\u2292",SquareUnion:"\\u2294",squarf:"\\u25AA",squf:"\\u25AA",srarr:"\\u2192",Sscr:"\\u{1D4AE}",sscr:"\\u{1D4C8}",ssetmn:"\\u2216",ssmile:"\\u2323",sstarf:"\\u22C6",Star:"\\u22C6",star:"\\u2606",starf:"\\u2605",straightepsilon:"\\u03F5",straightphi:"\\u03D5",strns:"\\xAF",Sub:"\\u22D0",sub:"\\u2282",subdot:"\\u2ABD",subE:"\\u2AC5",sube:"\\u2286",subedot:"\\u2AC3",submult:"\\u2AC1",subnE:"\\u2ACB",subne:"\\u228A",subplus:"\\u2ABF",subrarr:"\\u2979",Subset:"\\u22D0",subset:"\\u2282",subseteq:"\\u2286",subseteqq:"\\u2AC5",SubsetEqual:"\\u2286",subsetneq:"\\u228A",subsetneqq:"\\u2ACB",subsim:"\\u2AC7",subsub:"\\u2AD5",subsup:"\\u2AD3",succ:"\\u227B",succapprox:"\\u2AB8",succcurlyeq:"\\u227D",Succeeds:"\\u227B",SucceedsEqual:"\\u2AB0",SucceedsSlantEqual:"\\u227D",SucceedsTilde:"\\u227F",succeq:"\\u2AB0",succnapprox:"\\u2ABA",succneqq:"\\u2AB6",succnsim:"\\u22E9",succsim:"\\u227F",SuchThat:"\\u220B",Sum:"\\u2211",sum:"\\u2211",sung:"\\u266A",Sup:"\\u22D1",sup:"\\u2283",sup1:"\\xB9",sup2:"\\xB2",sup3:"\\xB3",supdot:"\\u2ABE",supdsub:"\\u2AD8",supE:"\\u2AC6",supe:"\\u2287",supedot:"\\u2AC4",Superset:"\\u2283",SupersetEqual:"\\u2287",suphsol:"\\u27C9",suphsub:"\\u2AD7",suplarr:"\\u297B",supmult:"\\u2AC2",supnE:"\\u2ACC",supne:"\\u228B",supplus:"\\u2AC0",Supset:"\\u22D1",supset:"\\u2283",supseteq:"\\u2287",supseteqq:"\\u2AC6",supsetneq:"\\u228B",supsetneqq:"\\u2ACC",supsim:"\\u2AC8",supsub:"\\u2AD4",supsup:"\\u2AD6",swarhk:"\\u2926",swArr:"\\u21D9",swarr:"\\u2199",swarrow:"\\u2199",swnwar:"\\u292A",szlig:"\\xDF",Tab:" ",target:"\\u2316",Tau:"\\u03A4",tau:"\\u03C4",tbrk:"\\u23B4",Tcaron:"\\u0164",tcaron:"\\u0165",Tcedil:"\\u0162",tcedil:"\\u0163",Tcy:"\\u0422",tcy:"\\u0442",tdot:"\\u20DB",telrec:"\\u2315",Tfr:"\\u{1D517}",tfr:"\\u{1D531}",there4:"\\u2234",Therefore:"\\u2234",therefore:"\\u2234",Theta:"\\u0398",theta:"\\u03B8",thetasym:"\\u03D1",thetav:"\\u03D1",thickapprox:"\\u2248",thicksim:"\\u223C",ThickSpace:"\\u205F\\u200A",thinsp:"\\u2009",ThinSpace:"\\u2009",thkap:"\\u2248",thksim:"\\u223C",THORN:"\\xDE",thorn:"\\xFE",Tilde:"\\u223C",tilde:"\\u02DC",TildeEqual:"\\u2243",TildeFullEqual:"\\u2245",TildeTilde:"\\u2248",times:"\\xD7",timesb:"\\u22A0",timesbar:"\\u2A31",timesd:"\\u2A30",tint:"\\u222D",toea:"\\u2928",top:"\\u22A4",topbot:"\\u2336",topcir:"\\u2AF1",Topf:"\\u{1D54B}",topf:"\\u{1D565}",topfork:"\\u2ADA",tosa:"\\u2929",tprime:"\\u2034",TRADE:"\\u2122",trade:"\\u2122",triangle:"\\u25B5",triangledown:"\\u25BF",triangleleft:"\\u25C3",trianglelefteq:"\\u22B4",triangleq:"\\u225C",triangleright:"\\u25B9",trianglerighteq:"\\u22B5",tridot:"\\u25EC",trie:"\\u225C",triminus:"\\u2A3A",TripleDot:"\\u20DB",triplus:"\\u2A39",trisb:"\\u29CD",tritime:"\\u2A3B",trpezium:"\\u23E2",Tscr:"\\u{1D4AF}",tscr:"\\u{1D4C9}",TScy:"\\u0426",tscy:"\\u0446",TSHcy:"\\u040B",tshcy:"\\u045B",Tstrok:"\\u0166",tstrok:"\\u0167",twixt:"\\u226C",twoheadleftarrow:"\\u219E",twoheadrightarrow:"\\u21A0",Uacute:"\\xDA",uacute:"\\xFA",Uarr:"\\u219F",uArr:"\\u21D1",uarr:"\\u2191",Uarrocir:"\\u2949",Ubrcy:"\\u040E",ubrcy:"\\u045E",Ubreve:"\\u016C",ubreve:"\\u016D",Ucirc:"\\xDB",ucirc:"\\xFB",Ucy:"\\u0423",ucy:"\\u0443",udarr:"\\u21C5",Udblac:"\\u0170",udblac:"\\u0171",udhar:"\\u296E",ufisht:"\\u297E",Ufr:"\\u{1D518}",ufr:"\\u{1D532}",Ugrave:"\\xD9",ugrave:"\\xF9",uHar:"\\u2963",uharl:"\\u21BF",uharr:"\\u21BE",uhblk:"\\u2580",ulcorn:"\\u231C",ulcorner:"\\u231C",ulcrop:"\\u230F",ultri:"\\u25F8",Umacr:"\\u016A",umacr:"\\u016B",uml:"\\xA8",UnderBar:"_",UnderBrace:"\\u23DF",UnderBracket:"\\u23B5",UnderParenthesis:"\\u23DD",Union:"\\u22C3",UnionPlus:"\\u228E",Uogon:"\\u0172",uogon:"\\u0173",Uopf:"\\u{1D54C}",uopf:"\\u{1D566}",UpArrow:"\\u2191",Uparrow:"\\u21D1",uparrow:"\\u2191",UpArrowBar:"\\u2912",UpArrowDownArrow:"\\u21C5",UpDownArrow:"\\u2195",Updownarrow:"\\u21D5",updownarrow:"\\u2195",UpEquilibrium:"\\u296E",upharpoonleft:"\\u21BF",upharpoonright:"\\u21BE",uplus:"\\u228E",UpperLeftArrow:"\\u2196",UpperRightArrow:"\\u2197",Upsi:"\\u03D2",upsi:"\\u03C5",upsih:"\\u03D2",Upsilon:"\\u03A5",upsilon:"\\u03C5",UpTee:"\\u22A5",UpTeeArrow:"\\u21A5",upuparrows:"\\u21C8",urcorn:"\\u231D",urcorner:"\\u231D",urcrop:"\\u230E",Uring:"\\u016E",uring:"\\u016F",urtri:"\\u25F9",Uscr:"\\u{1D4B0}",uscr:"\\u{1D4CA}",utdot:"\\u22F0",Utilde:"\\u0168",utilde:"\\u0169",utri:"\\u25B5",utrif:"\\u25B4",uuarr:"\\u21C8",Uuml:"\\xDC",uuml:"\\xFC",uwangle:"\\u29A7",vangrt:"\\u299C",varepsilon:"\\u03F5",varkappa:"\\u03F0",varnothing:"\\u2205",varphi:"\\u03D5",varpi:"\\u03D6",varpropto:"\\u221D",vArr:"\\u21D5",varr:"\\u2195",varrho:"\\u03F1",varsigma:"\\u03C2",varsubsetneq:"\\u228A\\uFE00",varsubsetneqq:"\\u2ACB\\uFE00",varsupsetneq:"\\u228B\\uFE00",varsupsetneqq:"\\u2ACC\\uFE00",vartheta:"\\u03D1",vartriangleleft:"\\u22B2",vartriangleright:"\\u22B3",Vbar:"\\u2AEB",vBar:"\\u2AE8",vBarv:"\\u2AE9",Vcy:"\\u0412",vcy:"\\u0432",VDash:"\\u22AB",Vdash:"\\u22A9",vDash:"\\u22A8",vdash:"\\u22A2",Vdashl:"\\u2AE6",Vee:"\\u22C1",vee:"\\u2228",veebar:"\\u22BB",veeeq:"\\u225A",vellip:"\\u22EE",Verbar:"\\u2016",verbar:"|",Vert:"\\u2016",vert:"|",VerticalBar:"\\u2223",VerticalLine:"|",VerticalSeparator:"\\u2758",VerticalTilde:"\\u2240",VeryThinSpace:"\\u200A",Vfr:"\\u{1D519}",vfr:"\\u{1D533}",vltri:"\\u22B2",vnsub:"\\u2282\\u20D2",vnsup:"\\u2283\\u20D2",Vopf:"\\u{1D54D}",vopf:"\\u{1D567}",vprop:"\\u221D",vrtri:"\\u22B3",Vscr:"\\u{1D4B1}",vscr:"\\u{1D4CB}",vsubnE:"\\u2ACB\\uFE00",vsubne:"\\u228A\\uFE00",vsupnE:"\\u2ACC\\uFE00",vsupne:"\\u228B\\uFE00",Vvdash:"\\u22AA",vzigzag:"\\u299A",Wcirc:"\\u0174",wcirc:"\\u0175",wedbar:"\\u2A5F",Wedge:"\\u22C0",wedge:"\\u2227",wedgeq:"\\u2259",weierp:"\\u2118",Wfr:"\\u{1D51A}",wfr:"\\u{1D534}",Wopf:"\\u{1D54E}",wopf:"\\u{1D568}",wp:"\\u2118",wr:"\\u2240",wreath:"\\u2240",Wscr:"\\u{1D4B2}",wscr:"\\u{1D4CC}",xcap:"\\u22C2",xcirc:"\\u25EF",xcup:"\\u22C3",xdtri:"\\u25BD",Xfr:"\\u{1D51B}",xfr:"\\u{1D535}",xhArr:"\\u27FA",xharr:"\\u27F7",Xi:"\\u039E",xi:"\\u03BE",xlArr:"\\u27F8",xlarr:"\\u27F5",xmap:"\\u27FC",xnis:"\\u22FB",xodot:"\\u2A00",Xopf:"\\u{1D54F}",xopf:"\\u{1D569}",xoplus:"\\u2A01",xotime:"\\u2A02",xrArr:"\\u27F9",xrarr:"\\u27F6",Xscr:"\\u{1D4B3}",xscr:"\\u{1D4CD}",xsqcup:"\\u2A06",xuplus:"\\u2A04",xutri:"\\u25B3",xvee:"\\u22C1",xwedge:"\\u22C0",Yacute:"\\xDD",yacute:"\\xFD",YAcy:"\\u042F",yacy:"\\u044F",Ycirc:"\\u0176",ycirc:"\\u0177",Ycy:"\\u042B",ycy:"\\u044B",yen:"\\xA5",Yfr:"\\u{1D51C}",yfr:"\\u{1D536}",YIcy:"\\u0407",yicy:"\\u0457",Yopf:"\\u{1D550}",yopf:"\\u{1D56A}",Yscr:"\\u{1D4B4}",yscr:"\\u{1D4CE}",YUcy:"\\u042E",yucy:"\\u044E",Yuml:"\\u0178",yuml:"\\xFF",Zacute:"\\u0179",zacute:"\\u017A",Zcaron:"\\u017D",zcaron:"\\u017E",Zcy:"\\u0417",zcy:"\\u0437",Zdot:"\\u017B",zdot:"\\u017C",zeetrf:"\\u2128",ZeroWidthSpace:"\\u200B",Zeta:"\\u0396",zeta:"\\u03B6",Zfr:"\\u2128",zfr:"\\u{1D537}",ZHcy:"\\u0416",zhcy:"\\u0436",zigrarr:"\\u21DD",Zopf:"\\u2124",zopf:"\\u{1D56B}",Zscr:"\\u{1D4B5}",zscr:"\\u{1D4CF}",zwj:"\\u200D",zwnj:"\\u200C"});$r.entityMap=$r.HTML_ENTITIES});var bc=St(is=>{"use strict";var Fi=ii(),z=al(),fc=kr(),by=Fi.isHTMLEscapableRawTextElement,vy=Fi.isHTMLMimeType,wy=Fi.isHTMLRawTextElement,Wr=Fi.hasOwn,ac=Fi.NAMESPACE,uc=fc.ParseError,Ay=fc.DOMException,Vr=0,Ft=1,Li=2,qr=3,_i=4,Ii=5,Ur=6,ts=7;function dc(){}dc.prototype={parse:function(i,e,t){var r=this.domBuilder;r.startDocument(),pc(e,e=Object.create(null)),Cy(i,e,t,r,this.errorHandler),r.endDocument()}};var gl=/?\\w+;?/g;function Cy(i,e,t,r,n){var s=vy(r.mimeType);if(i.indexOf(z.UNICODE_REPLACEMENT_CHARACTER)>=0)return n.fatalError("Unicode replacement character detected, source encoding issues?");function o(k){if(k>65535){k-=65536;var K=55296+(k>>10),ue=56320+(k&1023);return String.fromCharCode(K,ue)}else return String.fromCharCode(k)}function l(k){var K=k[k.length-1]===";"?k:k+";";if(!s&&K!==k)return n.error("EntityRef: expecting ;"),k;var ue=z.Reference.exec(K);if(!ue||ue[0].length!==K.length)return n.error("entity not matching Reference production: "+k),k;var pe=K.slice(1,-1);return Wr(t,pe)?t[pe]:pe.charAt(0)==="#"?o(parseInt(pe.substr(1).replace("x","0x"))):(n.error("entity not found:"+k),k)}function a(k){if(k>y){var K=i.substring(y,k).replace(gl,l);d&&u(y),r.characters(K,0,k-y),y=k}}function u(k,K){for(;k>=c&&(K=f.exec(i));)h=K.index,c=h+K[0].length,d.lineNumber++;d.columnNumber=k-h+1}for(var h=0,c=0,f=/.*(?:\\r\\n?|\\n)|.*$/g,d=r.locator,p=[{currentNSMap:e}],g=[],y=0;;){try{var b=i.indexOf("<",y);if(b<0){if(!s&&g.length>0)return n.fatalError("unclosed xml tag(s): "+g.join(", "));if(!i.substring(y).match(/^\\s*$/)){var A=r.doc,w=A.createTextNode(i.substr(y));if(A.documentElement)return n.error("Extra content at the end of the document");A.appendChild(w),r.currentElement=w}return}if(b>y){var E=i.substring(y,b);!s&&g.length===0&&(E=E.replace(new RegExp(z.S_OPT.source,"g"),""),E&&n.error("Unexpected content outside root element: \'"+E+"\'")),a(b)}switch(i.charAt(b+1)){case"/":var I=i.indexOf(">",b+2),S=i.substring(b+2,I>0?I:void 0);if(!S)return n.fatalError("end tag name missing");var N=I>0&&z.reg("^",z.QName_group,z.S_OPT,"$").exec(S);if(!N)return n.fatalError(\'end tag name contains invalid characters: "\'+S+\'"\');if(!r.currentElement&&!r.doc.documentElement)return;var M=g[g.length-1]||r.currentElement.tagName||r.doc.documentElement.tagName||"";if(M!==N[1]){var j=N[1].toLowerCase();if(!s||M.toLowerCase()!==j)return n.fatalError(\'Opening and ending tag mismatch: "\'+M+\'" != "\'+S+\'"\')}var D=p.pop();g.pop();var H=D.localNSMap;if(r.endElement(D.uri,D.localName,M),H)for(var B in H)Wr(H,B)&&r.endPrefixMapping(B);I++;break;case"?":d&&u(b),I=xy(i,b,r,n);break;case"!":d&&u(b),I=mc(i,b,r,n,s);break;default:d&&u(b);var O=new yc,W=p[p.length-1].currentNSMap,I=Sy(i,b,O,W,l,n,s),te=O.length;if(O.closed||(s&&Fi.isHTMLVoidElement(O.tagName)?O.closed=!0:g.push(O.tagName)),d&&te){for(var Ce=hc(d,{}),F=0;Fy?y=I:a(Math.max(b,y)+1)}}function hc(i,e){return e.lineNumber=i.lineNumber,e.columnNumber=i.columnNumber,e}function Sy(i,e,t,r,n,s,o){function l(d,p,g){if(Wr(t.attributeNames,d))return s.fatalError("Attribute "+d+" redefined");if(!o&&p.indexOf("<")>=0)return s.fatalError("Unescaped \'<\' not allowed in attributes values");t.addValue(d,p.replace(/[\\t\\n\\r]/g," ").replace(gl,n),g)}for(var a,u,h=++e,c=Vr;;){var f=i.charAt(h);switch(f){case"=":if(c===Ft)a=i.slice(e,h),c=qr;else if(c===Li)c=qr;else throw new Error("attribute equal must after attrName");break;case"\'":case\'"\':if(c===qr||c===Ft)if(c===Ft&&(s.warning(\'attribute value must after "="\'),a=i.slice(e,h)),e=h+1,h=i.indexOf(f,e),h>0)u=i.slice(e,h),l(a,u,e-1),c=Ii;else throw new Error("attribute value no end \'"+f+"\' match");else if(c==_i)u=i.slice(e,h),l(a,u,e),s.warning(\'attribute "\'+a+\'" missed start quot(\'+f+")!!"),e=h+1,c=Ii;else throw new Error(\'attribute value must after "="\');break;case"/":switch(c){case Vr:t.setTagName(i.slice(e,h));case Ii:case Ur:case ts:c=ts,t.closed=!0;case _i:case Ft:break;case Li:t.closed=!0;break;default:throw new Error("attribute invalid close char(\'/\')")}break;case"":return s.error("unexpected end of input"),c==Vr&&t.setTagName(i.slice(e,h)),h;case">":switch(c){case Vr:t.setTagName(i.slice(e,h));case Ii:case Ur:case ts:break;case _i:case Ft:u=i.slice(e,h),u.slice(-1)==="/"&&(t.closed=!0,u=u.slice(0,-1));case Li:c===Li&&(u=a),c==_i?(s.warning(\'attribute "\'+u+\'" missed quot(")!\'),l(a,u,e)):(o||s.warning(\'attribute "\'+u+\'" missed value!! "\'+u+\'" instead!!\'),l(u,u,e));break;case qr:if(!o)return s.fatalError(`AttValue: \' or " expected`)}return h;case"\\x80":f=" ";default:if(f<=" ")switch(c){case Vr:t.setTagName(i.slice(e,h)),c=Ur;break;case Ft:a=i.slice(e,h),c=Li;break;case _i:var u=i.slice(e,h);s.warning(\'attribute "\'+u+\'" missed quot(")!!\'),l(a,u,e);case Ii:c=Ur;break}else switch(c){case Li:o||s.warning(\'attribute "\'+a+\'" missed value!! "\'+a+\'" instead2!!\'),l(a,a,e),e=h,c=Ft;break;case Ii:s.warning(\'attribute space is required"\'+a+\'"!!\');case Ur:c=Ft,e=h;break;case qr:c=_i,e=h;break;case ts:throw new Error("elements closed character \'/\' and \'>\' must be connected to")}}h++}}function cc(i,e,t){for(var r=i.tagName,n=null,c=i.length;c--;){var s=i[c],o=s.qName,l=s.value,f=o.indexOf(":");if(f>0)var a=s.prefix=o.slice(0,f),u=o.slice(f+1),h=a==="xmlns"&&u;else u=o,a=null,h=o==="xmlns"&&"";s.localName=u,h!==!1&&(n==null&&(n=Object.create(null),pc(t,t=Object.create(null))),t[h]=n[h]=l,s.uri=ac.XMLNS,e.startPrefixMapping(h,l))}for(var c=i.length;c--;)s=i[c],s.prefix&&(s.prefix==="xml"&&(s.uri=ac.XML),s.prefix!=="xmlns"&&(s.uri=t[s.prefix]));var f=r.indexOf(":");f>0?(a=i.prefix=r.slice(0,f),u=i.localName=r.slice(f+1)):(a=null,u=i.localName=r);var d=i.uri=t[a||""];if(e.startElement(d,u,r,i),i.closed){if(e.endElement(d,u,r),n)for(a in n)Wr(n,a)&&e.endPrefixMapping(a)}else return i.currentNSMap=t,i.localNSMap=n,!0}function Dy(i,e,t,r,n){var s=by(t);if(s||wy(t)){var o=i.indexOf(""+t+">",e),l=i.substring(e+1,o);return s&&(l=l.replace(gl,r)),n.characters(l,0,l.length),o}return e+1}function pc(i,e){for(var t in i)Wr(i,t)&&(e[t]=i[t])}function gc(i,e){var t=e;function r(u){return u=u||0,i.charAt(t+u)}function n(u){u=u||1,t+=u}function s(){for(var u=0;t"?r.fatalError("doctype not terminated with > at position "+s.getIndex()):(s.skip(1),t.startDTD(a.name,a.publicId,a.systemId,a.internalSubset),t.endDTD(),s.getIndex())}default:return r.fatalError(\'Not well-formed XML starting with "0)return r.fatalError("processing instruction at position "+e+" is an xml declaration which is only at the start of the document");if(!z.XMLDecl.test(i.substring(e)))return r.fatalError("xml declaration is not well-formed")}return t.processingInstruction(n[1],n[2]),e+n[0].length}function yc(){this.attributeNames=Object.create(null)}yc.prototype={setTagName:function(i){if(!z.QName_exact.test(i))throw new Error("invalid tagName:"+i);this.tagName=i},addValue:function(i,e,t){if(!z.QName_exact.test(i))throw new Error("invalid attribute:"+i);this.attributeNames[i]=this.length,this[this.length++]={qName:i,value:e,offset:t}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}};is.XMLReader=dc;is.parseUtils=gc;is.parseDoctypeCommentOrCData=mc});var Ec=St($i=>{"use strict";var li=ii(),Ty=pl(),ky=kr(),vc=lc(),My=bc(),Ry=Ty.DOMImplementation,Ny=li.hasDefaultHTMLNamespace,Oy=li.isHTMLMimeType,By=li.isValidMimeType,Cc=li.MIME_TYPE,ml=li.NAMESPACE,wc=ky.ParseError,Py=My.XMLReader;function Sc(i){return i.replace(/\\r[\\n\\u0085]/g,`\n`).replace(/[\\r\\u0085\\u2028]/g,`\n`)}function Dc(i){if(i=i||{locator:!0},this.assign=i.assign||li.assign,this.domHandler=i.domHandler||ns,this.onError=i.onError||i.errorHandler,i.errorHandler&&typeof i.errorHandler!="function")throw new TypeError("errorHandler object is no longer supported, switch to onError!");i.errorHandler&&i.errorHandler("warning","The `errorHandler` option has been deprecated, use `onError` instead!",this),this.normalizeLineEndings=i.normalizeLineEndings||Sc,this.locator=!!i.locator,this.xmlns=this.assign(Object.create(null),i.xmlns)}Dc.prototype.parseFromString=function(i,e){if(!By(e))throw new TypeError(\'DOMParser.parseFromString: the provided mimeType "\'+e+\'" is not valid.\');var t=this.assign(Object.create(null),this.xmlns),r=vc.XML_ENTITIES,n=t[""]||null;Ny(e)?(r=vc.HTML_ENTITIES,n=ml.HTML):e===Cc.XML_SVG_IMAGE&&(n=ml.SVG),t[""]=n,t.xml=t.xml||ml.XML;var s=new this.domHandler({mimeType:e,defaultNamespace:n,onError:this.onError}),o=this.locator?{}:void 0;this.locator&&s.setDocumentLocator(o);var l=new Py;l.errorHandler=s,l.domBuilder=s;var a=!li.isHTMLMimeType(e);return a&&typeof i!="string"&&l.errorHandler.fatalError("source is not a string"),l.parse(this.normalizeLineEndings(String(i)),t,r),s.doc.documentElement||l.errorHandler.fatalError("missing root element"),s.doc};function ns(i){var e=i||{};this.mimeType=e.mimeType||Cc.XML_APPLICATION,this.defaultNamespace=e.defaultNamespace||null,this.cdata=!1,this.currentElement=void 0,this.doc=void 0,this.locator=void 0,this.onError=e.onError}function Hi(i,e){e.lineNumber=i.lineNumber,e.columnNumber=i.columnNumber}ns.prototype={startDocument:function(){var i=new Ry;this.doc=Oy(this.mimeType)?i.createHTMLDocument(!1):i.createDocument(this.defaultNamespace,"")},startElement:function(i,e,t,r){var n=this.doc,s=n.createElementNS(i,t||e),o=r.length;rs(this,s),this.currentElement=s,this.locator&&Hi(this.locator,s);for(var l=0;l=e+t||e?new java.lang.String(i,e,t)+"":i}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\\w+/g,function(i){ns.prototype[i]=function(){return null}});function rs(i,e){i.currentElement?i.currentElement.appendChild(e):i.doc.appendChild(e)}function _y(i){if(i==="error")throw"onErrorStopParsing"}function Iy(){throw"onWarningStopParsing"}$i.__DOMHandler=ns;$i.DOMParser=Dc;$i.normalizeLineEndings=Sc;$i.onErrorStopParsing=_y;$i.onWarningStopParsing=Iy});var xc=St(G=>{"use strict";var Vi=ii();G.assign=Vi.assign;G.hasDefaultHTMLNamespace=Vi.hasDefaultHTMLNamespace;G.isHTMLMimeType=Vi.isHTMLMimeType;G.isValidMimeType=Vi.isValidMimeType;G.MIME_TYPE=Vi.MIME_TYPE;G.NAMESPACE=Vi.NAMESPACE;var ss=kr();G.DOMException=ss.DOMException;G.DOMExceptionName=ss.DOMExceptionName;G.ExceptionCode=ss.ExceptionCode;G.ParseError=ss.ParseError;var de=pl();G.Attr=de.Attr;G.CDATASection=de.CDATASection;G.CharacterData=de.CharacterData;G.Comment=de.Comment;G.Document=de.Document;G.DocumentFragment=de.DocumentFragment;G.DocumentType=de.DocumentType;G.DOMImplementation=de.DOMImplementation;G.Element=de.Element;G.Entity=de.Entity;G.EntityReference=de.EntityReference;G.LiveNodeList=de.LiveNodeList;G.NamedNodeMap=de.NamedNodeMap;G.Node=de.Node;G.NodeList=de.NodeList;G.Notation=de.Notation;G.ProcessingInstruction=de.ProcessingInstruction;G.Text=de.Text;G.XMLSerializer=de.XMLSerializer;var yl=Ec();G.DOMParser=yl.DOMParser;G.onErrorStopParsing=yl.onErrorStopParsing;G.onWarningStopParsing=yl.onWarningStopParsing});var Y=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=pi(this,e,t);let n=[];return this.decompose(0,e,n,2),r.length&&r.decompose(0,r.length,n,3),this.decompose(t,this.length,n,1),hi.from(n,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=pi(this,e,t);let r=[];return this.decompose(e,t,r,0),hi.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),n=new qt(this),s=new qt(e);for(let o=t,l=t;;){if(n.next(o),s.next(o),o=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(l+=n.value.length,n.done||l>=r)return!0}}iter(e=1){return new qt(this,e)}iterRange(e,t=this.length){return new Xr(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;r=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Jr(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Le(e):hi.from(Le.split(e,[]))}},Le=class i extends Y{constructor(e,t=Kc(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.text[s],l=n+o.length;if((t?r:l)>=e)return new fs(n,l,r,o);n=l+1,r++}}decompose(e,t,r,n){let s=e<=0&&t>=this.length?this:new i(Fl(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(n&1){let o=r.pop(),l=Kr(s.text,o.text.slice(),0,s.length);if(l.length<=32)r.push(new i(l,o.length+s.length));else{let a=l.length>>1;r.push(new i(l.slice(0,a)),new i(l.slice(a)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof i))return super.replace(e,t,r);[e,t]=pi(this,e,t);let n=Kr(this.text,Kr(r.text,Fl(this.text,0,e)),t),s=this.length+r.length-(t-e);return n.length<=32?new i(n,s):hi.from(i.split(n,[]),s)}sliceString(e,t=this.length,r=`\n`){[e,t]=pi(this,e,t);let n="";for(let s=0,o=0;s<=t&&oe&&o&&(n+=r),es&&(n+=l.slice(Math.max(0,e-s),t-s)),s=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let s of e)r.push(s),n+=s.length+1,r.length==32&&(t.push(new i(r,n)),r=[],n=-1);return n>-1&&t.push(new i(r,n)),t}},hi=class i extends Y{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.children[s],l=n+o.length,a=r+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,r,n);n=l+1,r=a+1}}decompose(e,t,r,n){for(let s=0,o=0;o<=t&&s=o){let u=n&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!u?r.push(l):l.decompose(e-o,t-o,r,u)}o=a+1}}replace(e,t,r){if([e,t]=pi(this,e,t),r.lines=s&&t<=l){let a=o.replace(e-s,t-s,r),u=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>u>>6){let h=this.children.slice();return h[n]=a,new i(h,this.length-(t-e)+r.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`\n`){[e,t]=pi(this,e,t);let n="";for(let s=0,o=0;se&&s&&(n+=r),eo&&(n+=l.sliceString(e-o,t-o,r)),o=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let r=0,[n,s,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,s+=t){if(n==o||s==l)return r;let a=this.children[n],u=e.children[s];if(a!=u)return r+a.scanIdentical(u,t);r+=a.length+1}}static from(e,t=e.reduce((r,n)=>r+n.length+1,-1)){let r=0;for(let d of e)r+=d.lines;if(r<32){let d=[];for(let p of e)p.flatten(d);return new Le(d,t)}let n=Math.max(32,r>>5),s=n<<1,o=n>>1,l=[],a=0,u=-1,h=[];function c(d){let p;if(d.lines>s&&d instanceof i)for(let g of d.children)c(g);else d.lines>o&&(a>o||!a)?(f(),l.push(d)):d instanceof Le&&a&&(p=h[h.length-1])instanceof Le&&d.lines+p.lines<=32?(a+=d.lines,u+=d.length+1,h[h.length-1]=new Le(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>n&&f(),a+=d.lines,u+=d.length+1,h.push(d))}function f(){a!=0&&(l.push(h.length==1?h[0]:i.from(h,u)),u=-1,a=h.length=0)}for(let d of e)c(d);return f(),l.length==1?l[0]:new i(l,t)}};Y.empty=new Le([""],0);function Kc(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Kr(i,e,t=0,r=1e9){for(let n=0,s=0,o=!0;s=t&&(a>r&&(l=l.slice(0,r-n)),n0?1:(e instanceof Le?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],s=this.offsets[r],o=s>>1,l=n instanceof Le?n.text.length:n.children.length;if(o==(t>0?l:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`\n`,this;e--}else if(n instanceof Le){let a=n.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=n.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof Le?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Xr=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new qt(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Jr=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},qt.prototype[Symbol.iterator]=Xr.prototype[Symbol.iterator]=Jr.prototype[Symbol.iterator]=function(){return this});var fs=class{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}};function pi(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}var ci="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(i=>i?parseInt(i,36):1);for(let i=1;ii)return ci[e-1]<=i;return!1}function Hl(i){return i>=127462&&i<=127487}var $l=8205;function Ze(i,e,t=!0,r=!0){return(t?jl:Xc)(i,e,r)}function jl(i,e,t){if(e==i.length)return e;e&&Gl(i.charCodeAt(e))&&Kl(i.charCodeAt(e-1))&&e--;let r=Yr(i,e);for(e+=ds(r);e=0&&Hl(Yr(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Xc(i,e,t){for(;e>0;){let r=jl(i,e-2,t);if(r=56320&&i<57344}function Kl(i){return i>=55296&&i<56320}function Yr(i,e){let t=i.charCodeAt(e);if(!Kl(t)||e+1==i.length)return t;let r=i.charCodeAt(e+1);return Gl(r)?(t-55296<<10)+(r-56320)+65536:t}function ds(i){return i<65536?1:2}var ps=/\\r\\n?|\\n/,Me=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(Me||(Me={})),Ut=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t