@micromerce/formbuilder-react 1.0.536 → 1.0.538
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/formbuilder.js +1 -1
- package/dist/formbuilder.js.map +1 -1
- package/package.json +1 -1
package/dist/formbuilder.js
CHANGED
@@ -652,7 +652,7 @@ ${e=>e["data-disabled"]&&Ob`pointer-events: none;`}
|
|
652
652
|
border: none;
|
653
653
|
color: white;
|
654
654
|
cursor: pointer;
|
655
|
-
`,LS=({onBack:e,onRetry:t})=>n().createElement(TS,null,n().createElement(jS,null,n().createElement(RS,null,n().createElement(qS,null)),n().createElement(ZS,null,n().createElement("p",null,"Sorry, but the request has encountered",n().createElement("br",null)," an issue. We're working on fixing it.",n().createElement("br",null)," Please try again later."),n().createElement($S,null,n().createElement(NS,{onClick:e},n().createElement("p",null,"Back"),n().createElement(ES.W,{size:16,style:{transform:"scaleX(-1)"}})),n().createElement(DS,{onClick:t},n().createElement("p",null,"Retry"),n().createElement(ES.W,{size:16}))))),n().createElement(MS,null,n().createElement(PS,null))),IS=()=>n().createElement("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n().createElement("g",{id:"Vector"},n().createElement("path",{d:"M2.00001 1.38288L4.00438 0.223145V2.53387L2.00001 3.68923V1.38288Z",fill:"white"}),n().createElement("path",{d:"M4.00438 2.53387V0.223145L6.00437 1.38288V3.68923L4.00438 2.53387Z",fill:"white"}),n().createElement("path",{d:"M4.00438 9.47487V7.15977L2.00001 8.31513V10.6259L4.00438 9.47487Z",fill:"white"}),n().createElement("path",{d:"M6.00438 10.6258L4.00438 9.47487L2.00001 10.6259L4.00438 11.7768L6.00438 10.6258Z",fill:"white"}),n().createElement("path",{d:"M5.99563 10.6257L7.99563 11.7767V9.47468L5.99563 8.31495V10.6257Z",fill:"white"}),n().createElement("path",{d:"M7.99563 9.47468V11.7767L10 10.6257V8.31495L7.99563 9.47468Z",fill:"white"}),n().createElement("path",{d:"M2 6.00857L2.00001 8.31513L0 7.15955V4.84883L2 6.00857Z",fill:"white"}),n().createElement("path",{d:"M4.00438 4.84903L2 6.00857L0 4.84883L2 3.69805L4.00438 4.84903Z",fill:"white"}),n().createElement("path",{d:"M10 3.68932L7.99563 4.84906V2.53396L10 1.37422V3.68932Z",fill:"white"}),n().createElement("path",{d:"M10 1.37422L7.99563 2.53396L5.99563 1.37413L7.99563 0.223145L10 1.37422Z",fill:"white"}),n().createElement("path",{d:"M12 4.849L10 3.68932L10 5.99998L12 7.15534V4.849Z",fill:"white"}),n().createElement("path",{d:"M12 7.15534L10 5.99998L7.99563 7.15527L10 8.31495L12 7.15534Z",fill:"white"}))),BS=({action:e,objectPathId:t,isLoading:r,isDisabled:o,index:i,onClick:a})=>{const{resolvedQuery:s}=(0,Jo.Z)({query:e.promptTemplate,objectPathId:t});return n().createElement("button",{onClick:()=>{r||a(s,e.profile,i)},className:`${pS.actionButton} ${r?pS.actionButtonLoading:""}`,disabled:o,"data-testid":"textarea-ai-wrapper-action-button",type:"button"},n().createElement("p",null,e.displayValue),r&&n().createElement(IS,null))},QS=({AiResponseControl:e,aiActions:t,inputControl:r,objectPathId:o,aiResponse:i,isError:a,isLoading:s,loadingActionIndex:l,modalOpen:c,onModalToggle:u,handleAccept:d,handleAiActionClick:p,handleDiscard:h,handleBack:f,handleRetry:m})=>n().createElement("div",{className:v()(pS.aiWrapperContainer,{[pS.expanded]:c}),"data-testid":"textarea-ai-wrapper"},n().createElement("div",{className:pS.aiWrapperContentContainer},n().createElement("div",{className:`${pS.aiWrapperContentWrapper} aiWrapperContentWrapper`},a.state?n().createElement(LS,{onBack:f,onRetry:m}):n().createElement(n().Fragment,null,r,i&&n().createElement("div",{className:pS.aiResponseInputControlContainer,"data-testid":"textarea-ai-response-container"},n().createElement(e,{value:i.message,readonly:!0})))),i&&n().createElement("div",{className:pS.aiWrapperActionsContainer,"data-testid":"textarea-ai-wrapper-response-actions"},n().createElement("button",{onClick:h,className:pS.discardButton,"data-testid":"textarea-ai-wrapper-discard-button",type:"button"},n().createElement("p",null,"Discard Changes"),n().createElement("i",{className:"fas fa-times"})),n().createElement("button",{onClick:d,className:pS.acceptButton,"data-testid":"textarea-ai-wrapper-accept-button",type:"button"},n().createElement("p",null,"Accept Changes"),n().createElement("i",{className:"fas fa-check"})))),n().createElement("div",{className:pS.aiWrapperFooterContainer,"data-testid":"textarea-ai-wrapper-footer"},n().createElement("div",{className:pS.footerAiIcon},t?.length>0&&n().createElement(SS,{title:"Powered by Artificial Intelligence",arrow:!0,componentsProps:{arrow:{sx:{color:"#333"}},tooltip:{sx:{backgroundColor:"#333",color:"white"}}}},n().createElement("i",{className:"fas fa-sparkles fa-lg"}))),n().createElement("div",{className:pS.aiActionsContainer,"data-testid":"textarea-ai-wrapper-actions"},t?.map(((e,t)=>n().createElement(BS,{key:t,onClick:p,action:e,objectPathId:o,isLoading:s&&l===t,isDisabled:s&&l!==t,index:t}))),!c&&n().createElement(_S.U,{size:18,className:pS.expandButton,"data-testid":"textarea-ai-wrapper-expand-button",onClick:u}),c&&n().createElement(CS.o,{size:18,className:pS.expandButton,"data-testid":"textarea-ai-wrapper-close-button",onClick:u})))),zS={position:"fixed",display:"flex",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 32px)",height:"calc(100% - 32px)",bgcolor:"background.paper",borderRadius:"4px"},US=({...e})=>{const{onAcceptAiResponse:t}=e,o={...sS({onAcceptAiResponse:t}),...e},[i,a]=(0,r.useState)(!1),s=()=>a((e=>!e));return n().createElement(n().Fragment,null,!i&&n().createElement(QS,{...o,modalOpen:i,onModalToggle:s}),n().createElement(So,{open:i},n().createElement(Mv,{sx:zS},n().createElement(QS,{...o,modalOpen:i,onModalToggle:s}))))},FS=({value:e,onChange:t,id:r,readOnly:o,control:i,errorClass:a,textColor:s})=>{const{"custom-attributes":l,error:c,...u}=i??{};return n().createElement(jA,{role:"textbox","data-testid":`textarea-control-${r}`,className:`${Gr["form-control"]} ${aS[a]}`,id:r,name:r,style:{flex:"1",maxHeight:400,resize:"vertical",overflow:"auto",color:s,width:"100%"},value:e,readOnly:o,onChange:e=>{t?.({value:e.target.value,hasEdited:"edited"})},...Vr()(l,["defaultValue"]),...Vr()(u,["displayName","control","error","defaultValue"])})},WS=1024;let YS=0;class VS{constructor(e,t){this.from=e,this.to=t}}class XS{constructor(e={}){this.id=YS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{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"function"!=typeof e&&(e=KS.match(e)),t=>{let r=e(t);return void 0===r?null:[this,r]}}}XS.closedBy=new XS({deserialize:e=>e.split(" ")}),XS.openedBy=new XS({deserialize:e=>e.split(" ")}),XS.group=new XS({deserialize:e=>e.split(" ")}),XS.contextHash=new XS({perNode:!0}),XS.lookAhead=new XS({perNode:!0}),XS.mounted=new XS({perNode:!0});class HS{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[XS.mounted.id]}}const GS=Object.create(null);class KS{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):GS,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new KS(e.name||"",t,e.id,r);if(e.props)for(let r of e.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(XS.group);return!!t&&t.indexOf(e)>-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 e=>{for(let r=e.prop(XS.group),n=-1;n<(r?r.length:0);n++){let o=t[n<0?e.name:r[n]];if(o)return o}}}}KS.none=new KS("",Object.create(null),0,8);class JS{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let n=null;for(let t of e){let e=t(r);e&&(n||(n=Object.assign({},r.props)),n[e[0].id]=e[1])}t.push(n?new KS(r.name,n,r.id,r.flags):r)}return new JS(t)}}const eC=new WeakMap,tC=new WeakMap;var rC;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(rC||(rC={}));class nC{constructor(e,t,r,n,o){if(this.type=e,this.children=t,this.positions=r,this.length=n,this.props=null,o&&o.length){this.props=Object.create(null);for(let[e,t]of o)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=HS.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let r=e.toString();r&&(t&&(t+=","),t+=r)}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 gC(this.topNode,e)}cursorAt(e,t=0,r=0){let n=eC.get(this)||this.topNode,o=new gC(n);return o.moveTo(e,t),eC.set(this,o._tree),o}get topNode(){return new cC(this,0,0,null)}resolve(e,t=0){let r=sC(eC.get(this)||this.topNode,e,t,!1);return eC.set(this,r),r}resolveInner(e,t=0){let r=sC(tC.get(this)||this.topNode,e,t,!0);return tC.set(this,r),r}resolveStack(e,t=0){return function(e,t,r){let n=e.resolveInner(t,r),o=null;for(let e=n instanceof cC?n:n.context.parent;e;e=e.parent)if(e.index<0){let i=e.parent;(o||(o=[n])).push(i.resolve(t,r)),e=i}else{let i=HS.get(e.tree);if(i&&i.overlay&&i.overlay[0].from<=t&&i.overlay[i.overlay.length-1].to>=t){let a=new cC(i.tree,i.overlay[0].from+e.from,-1,e);(o||(o=[n])).push(sC(a,t,r,!1))}}return o?fC(o):n}(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:o=this.length}=e,i=e.mode||0,a=(i&rC.IncludeAnonymous)>0;for(let e=this.cursor(i|rC.IncludeAnonymous);;){let i=!1;if(e.from<=o&&e.to>=n&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;i=!0}for(;i&&r&&(a||!e.type.isAnonymous)&&r(e),!e.nextSibling();){if(!e.parent())return;i=!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:OC(KS.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,r)=>new nC(this.type,e,t,r,this.propValues)),e.makeTree||((e,t,r)=>new nC(KS.none,e,t,r)))}static build(e){return function(e){var t;let{buffer:r,nodeSet:n,maxBufferLength:o=WS,reused:i=[],minRepeatType:a=n.types.length}=e,s=Array.isArray(r)?new oC(r,r.length):r,l=n.types,c=0,u=0;function d(e,t,r,g,b,y){let{id:v,start:O,end:w,size:A}=s,x=u;for(;A<0;){if(s.next(),-1==A){let t=i[v];return r.push(t),void g.push(O-e)}if(-3==A)return void(c=v);if(-4==A)return void(u=v);throw new RangeError(`Unrecognized record size: ${A}`)}let k,S,C=l[v],_=O-e;if(w-O<=o&&(S=function(e,t){let r=s.fork(),n=0,i=0,l=0,c=r.end-o,u={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){u.size=n,u.start=i,u.skip=l,l+=4,n+=4,r.next();continue}let s=r.pos-e;if(e<0||s<o||r.start<c)break;let d=r.id>=a?4:0,p=r.start;for(r.next();r.pos>s;){if(r.size<0){if(-3!=r.size)break e;d+=4}else r.id>=a&&(d+=4);r.next()}i=p,n+=e,l+=d}return(t<0||n==e)&&(u.size=n,u.start=i,u.skip=l),u.size>4?u:void 0}(s.pos-t,b))){let t=new Uint16Array(S.size-S.skip),r=s.pos-S.size,o=t.length;for(;s.pos>r;)o=m(S.start,t,o);k=new iC(t,w-S.start,n),_=S.start-e}else{let e=s.pos-A;s.next();let t=[],r=[],n=v>=a?v:-1,i=0,l=w;for(;s.pos>e;)n>=0&&s.id==n&&s.size>=0?(s.end<=l-o&&(h(t,r,O,i,s.end,l,n,x),i=t.length,l=s.end),s.next()):y>2500?p(O,e,t,r):d(O,e,t,r,n,y+1);if(n>=0&&i>0&&i<t.length&&h(t,r,O,i,O,l,n,x),t.reverse(),r.reverse(),n>-1&&i>0){let e=function(e){return(t,r,n)=>{let o,i,a=0,s=t.length-1;if(s>=0&&(o=t[s])instanceof nC){if(!s&&o.type==e&&o.length==n)return o;(i=o.prop(XS.lookAhead))&&(a=r[s]+o.length+i)}return f(e,t,r,n,a)}}(C);k=OC(C,t,r,0,t.length,0,w-O,e,e)}else k=f(C,t,r,w-O,x-w)}r.push(k),g.push(_)}function p(e,t,r,i){let a=[],l=0,c=-1;for(;s.pos>t;){let{id:e,start:t,end:r,size:n}=s;if(n>4)s.next();else{if(c>-1&&t<c)break;c<0&&(c=r-o),a.push(e,t,r),l++,s.next()}}if(l){let t=new Uint16Array(4*l),o=a[a.length-2];for(let e=a.length-3,r=0;e>=0;e-=3)t[r++]=a[e],t[r++]=a[e+1]-o,t[r++]=a[e+2]-o,t[r++]=r;r.push(new iC(t,a[2]-o,n)),i.push(o-e)}}function h(e,t,r,o,i,a,s,l){let c=[],u=[];for(;e.length>o;)c.push(e.pop()),u.push(t.pop()+r-i);e.push(f(n.types[s],c,u,a-i,l-a)),t.push(i-r)}function f(e,t,r,n,o=0,i){if(c){let e=[XS.contextHash,c];i=i?[e].concat(i):[e]}if(o>25){let e=[XS.lookAhead,o];i=i?[e].concat(i):[e]}return new nC(e,t,r,n,i)}function m(e,t,r){let{id:n,start:o,end:i,size:l}=s;if(s.next(),l>=0&&n<a){let a=r;if(l>4){let n=s.pos-(l-4);for(;s.pos>n;)r=m(e,t,r)}t[--r]=a,t[--r]=i-e,t[--r]=o-e,t[--r]=n}else-3==l?c=n:-4==l&&(u=n);return r}let g=[],b=[];for(;s.pos>0;)d(e.start||0,e.bufferStart||0,g,b,-1,0);let y=null!==(t=e.length)&&void 0!==t?t:g.length?b[0]+g[0].length:0;return new nC(l[e.topID],g.reverse(),b.reverse(),y)}(e)}}nC.empty=new nC(KS.none,[],[],0);class oC{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 oC(this.buffer,this.index)}}class iC{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return KS.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],n=this.set.types[t],o=n.name;if(/\W/.test(o)&&!n.isError&&(o=JSON.stringify(o)),r==(e+=4))return o;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return o+"("+i.join(",")+")"}findChild(e,t,r,n,o){let{buffer:i}=this,a=-1;for(let s=e;s!=t&&!(aC(o,n,i[s+1],i[s+2])&&(a=s,r>0));s=i[s+3]);return a}slice(e,t,r){let n=this.buffer,o=new Uint16Array(t-e),i=0;for(let a=e,s=0;a<t;){o[s++]=n[a++],o[s++]=n[a++]-r;let t=o[s++]=n[a++]-r;o[s++]=n[a++]-e,i=Math.max(i,t)}return new iC(o,i,this.set)}}function aC(e,t,r,n){switch(e){case-2:return r<t;case-1:return n>=t&&r<t;case 0:return r<t&&n>t;case 1:return r<=t&&n>t;case 2:return n>t;case 4:return!0}}function sC(e,t,r,n){for(var o;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof cC&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=n?0:rC.IgnoreOverlays;if(n)for(let n=e,a=n.parent;a;n=a,a=n.parent)n instanceof cC&&n.index<0&&(null===(o=a.enter(t,r,i))||void 0===o?void 0:o.from)!=n.from&&(e=a);for(;;){let n=e.enter(t,r,i);if(!n)return e;e=n}}class lC{cursor(e=0){return new gC(this,e)}getChild(e,t=null,r=null){let n=uC(this,e,t,r);return n.length?n[0]:null}getChildren(e,t=null,r=null){return uC(this,e,t,r)}resolve(e,t=0){return sC(this,e,t,!1)}resolveInner(e,t=0){return sC(this,e,t,!0)}matchContext(e){return dC(this,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}}class cC extends lC{constructor(e,t,r,n){super(),this._tree=e,this.from=t,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,n,o=0){for(let i=this;;){for(let{children:a,positions:s}=i._tree,l=t>0?a.length:-1;e!=l;e+=t){let l=a[e],c=s[e]+i.from;if(aC(n,r,c,c+l.length))if(l instanceof iC){if(o&rC.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,r-c,n);if(a>-1)return new hC(new pC(i,l,e,c),null,a)}else if(o&rC.IncludeAnonymous||!l.type.isAnonymous||bC(l)){let a;if(!(o&rC.IgnoreMounts)&&(a=HS.get(l))&&!a.overlay)return new cC(a.tree,c,e,i);let s=new cC(l,c,e,i);return o&rC.IncludeAnonymous||!s.type.isAnonymous?s:s.nextChild(t<0?l.children.length-1:0,t,r,n)}}if(o&rC.IncludeAnonymous||!i.type.isAnonymous)return null;if(e=i.index>=0?i.index+t:t<0?-1:i._parent._tree.children.length,i=i._parent,!i)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&rC.IgnoreOverlays)&&(n=HS.get(this._tree))&&n.overlay){let r=e-this.from;for(let{from:e,to:o}of n.overlay)if((t>0?e<=r:e<r)&&(t<0?o>=r:o>r))return new cC(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 uC(e,t,r,n){let o=e.cursor(),i=[];if(!o.firstChild())return i;if(null!=r)for(;!o.type.is(r);)if(!o.nextSibling())return i;for(;;){if(null!=n&&o.type.is(n))return i;if(o.type.is(t)&&i.push(o.node),!o.nextSibling())return null==n?i:[]}}function dC(e,t,r=t.length-1){for(let n=e.parent;r>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[r]&&t[r]!=n.name)return!1;r--}}return!0}class pC{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}}class hC extends lC{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,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return o<0?null:new hC(this.context,this,o)}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&rC.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new hC(this.context,this,o)}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 hC(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 hC(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,o=r.buffer[this.index+3];if(o>n){let i=r.buffer[this.index+1];e.push(r.slice(n,o,i)),t.push(0)}return new nC(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function fC(e){if(!e.length)return null;let t=0,r=e[0];for(let n=1;n<e.length;n++){let o=e[n];(o.from>r.from||o.to<r.to)&&(r=o,t=n)}let n=r instanceof cC&&r.index<0?null:r.parent,o=e.slice();return n?o[t]=n:o.splice(t,1),new mC(o,r)}class mC{constructor(e,t){this.heads=e,this.node=t}get next(){return fC(this.heads)}}class gC{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 cC)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.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)}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 cC?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}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,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return!(o<0)&&(this.stack.push(this.index),this.yieldBuf(o))}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&rC.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&rC.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&rC.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));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}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<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=n)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let n=t+e,o=e<0?-1:r._tree.children.length;n!=o;n+=e){let e=r._tree.children[n];if(this.mode&rC.IncludeAnonymous||e instanceof iC||!e.type.isAnonymous||bC(e))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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,o=this.stack.length;o>=0;){for(let i=e;i;i=i._parent)if(i.index==n){if(n==this.index)return i;t=i,r=o+1;break e}n=this.stack[--o]}for(let e=r;e<this.stack.length;e++)t=new hC(this.buffer,t,this.stack[e]);return this.bufferNode=new hC(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return dC(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let n=e.length-1,o=this.stack.length-1;n>=0;o--){if(o<0)return dC(this.node,e,n);let i=r[t.buffer[this.stack[o]]];if(!i.isAnonymous){if(e[n]&&e[n]!=i.name)return!1;n--}}return!0}}function bC(e){return e.children.some((e=>e instanceof iC||!e.type.isAnonymous||bC(e)))}const yC=new WeakMap;function vC(e,t){if(!e.isAnonymous||t instanceof iC||t.type!=e)return 1;let r=yC.get(t);if(null==r){r=1;for(let n of t.children){if(n.type!=e||!(n instanceof nC)){r=1;break}r+=vC(e,n)}yC.set(t,r)}return r}function OC(e,t,r,n,o,i,a,s,l){let c=0;for(let r=n;r<o;r++)c+=vC(e,t[r]);let u=Math.ceil(1.5*c/8),d=[],p=[];return function t(r,n,o,a,s){for(let c=o;c<a;){let o=c,h=n[c],f=vC(e,r[c]);for(c++;c<a;c++){let t=vC(e,r[c]);if(f+t>=u)break;f+=t}if(c==o+1){if(f>u){let e=r[o];t(e.children,e.positions,0,e.children.length,n[o]+s);continue}d.push(r[o])}else{let t=n[c-1]+r[c-1].length-h;d.push(OC(e,r,n,o,c,h,t,null,l))}p.push(h+s-i)}}(t,r,n,o,0),(s||l)(d,p,a)}class wC{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof hC?this.setBuffer(e.context.buffer,e.index,t):e instanceof cC&&this.map.set(e.tree,t)}get(e){return e instanceof hC?this.getBuffer(e.context.buffer,e.index):e instanceof cC?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class AC{constructor(e,t,r,n,o=!1,i=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(o?1:0)|(i?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],r=!1){let n=[new AC(0,e.length,e,0,!1,r)];for(let r of t)r.to>e.length&&n.push(r);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],o=1,i=e.length?e[0]:null;for(let a=0,s=0,l=0;;a++){let c=a<t.length?t[a]:null,u=c?c.fromA:1e9;if(u-s>=r)for(;i&&i.from<u;){let t=i;if(s>=t.from||u<=t.to||l){let e=Math.max(t.from,s)-l,r=Math.min(t.to,u)-l;t=e>=r?null:new AC(e,r,t.tree,t.offset+l,a>0,!!c)}if(t&&n.push(t),i.to>u)break;i=o<e.length?e[o++]:null}if(!c)break;s=c.toA,l=c.toA-c.toB}return n}}class xC{startParse(e,t,r){return"string"==typeof e&&(e=new kC(e)),r=r?r.length?r.map((e=>new VS(e.from,e.to))):[new VS(0,0)]:[new VS(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let e=n.advance();if(e)return e}}}class kC{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)}}function SC(e){return(t,r,n,o)=>new qC(t,e,r,n,o)}class CC{constructor(e,t,r,n,o){this.parser=e,this.parse=t,this.overlay=r,this.target=n,this.from=o}}function _C(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class EC{constructor(e,t,r,n,o,i,a){this.parser=e,this.predicate=t,this.mounts=r,this.index=n,this.start=o,this.target=i,this.prev=a,this.depth=0,this.ranges=[]}}const PC=new XS({perNode:!0});class qC{constructor(e,t,r,n,o){this.nest=t,this.input=r,this.fragments=n,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new nC(e.type,e.children,e.positions,e.length,e.propValues.concat([[PC,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[XS.mounted.id]=new HS(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new $C(this.fragments),t=null,r=null,n=new gC(new cC(this.baseTree,this.ranges[0].from,0,null),rC.IncludeAnonymous|rC.IgnoreMounts);e:for(let o,i;;){let a,s=!0;if(null!=this.stoppedAt&&n.from>=this.stoppedAt)s=!1;else if(e.hasNode(n)){if(t){let e=t.mounts.find((e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay));if(e)for(let r of e.mount.overlay){let o=r.from+e.pos,i=r.to+e.pos;o>=n.from&&i<=n.to&&!t.ranges.some((e=>e.from<i&&e.to>o))&&t.ranges.push({from:o,to:i})}}s=!1}else if(r&&(i=TC(r.ranges,n.from,n.to)))s=2!=i;else if(!n.type.isAnonymous&&(o=this.nest(n,this.input))&&(n.from<n.to||!o.overlay)){n.tree||RC(n);let i=e.findMounts(n.from,o.parser);if("function"==typeof o.overlay)t=new EC(o.parser,o.overlay,i,this.inner.length,n.from,n.tree,t);else{let e=MC(this.ranges,o.overlay||(n.from<n.to?[new VS(n.from,n.to)]:[]));e.length&&_C(e),!e.length&&o.overlay||this.inner.push(new CC(o.parser,e.length?o.parser.startParse(this.input,DC(i,e),e):o.parser.startParse(""),o.overlay?o.overlay.map((e=>new VS(e.from-n.from,e.to-n.from))):null,n.tree,e.length?e[0].from:n.from)),o.overlay?e.length&&(r={ranges:e,depth:0,prev:r}):s=!1}}else t&&(a=t.predicate(n))&&(!0===a&&(a=new VS(n.from,n.to)),a.from<a.to&&t.ranges.push(a));if(s&&n.firstChild())t&&t.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&! --t.depth){let e=MC(this.ranges,t.ranges);e.length&&(_C(e),this.inner.splice(t.index,0,new CC(t.parser,t.parser.startParse(this.input,DC(t.mounts,e),e),t.ranges.map((e=>new VS(e.from-t.start,e.to-t.start))),t.target,e[0].from))),t=t.prev}r&&! --r.depth&&(r=r.prev)}}}}function TC(e,t,r){for(let n of e){if(n.from>=r)break;if(n.to>t)return n.from<=t&&n.to>=r?2:1}return 0}function jC(e,t,r,n,o,i){if(t<r){let a=e.buffer[t+1];n.push(e.slice(t,r,a)),o.push(a-i)}}function RC(e){let{node:t}=e,r=[];do{r.push(e.index),e.parent()}while(!e.tree);let n=0,o=e.tree,i=0;for(;i=o.positions[n]+e.from,!(i<=t.from&&i+o.children[n].length>=t.to);n++);let a=o.children[n],s=a.buffer,l=[n];o.children[n]=function e(n,o,i,c,u,d){let p=r[d],h=[],f=[];jC(a,n,p,h,f,c);let m=s[p+1],g=s[p+2];l.push(h.length);let b=d?e(p+4,s[p+3],a.set.types[s[p]],m,g-m,d-1):t.toTree();return h.push(b),f.push(m-c),jC(a,s[p+3],o,h,f,c),new nC(i,h,f,u)}(0,s.length,KS.none,0,a.length,r.length-1);for(let t of l){let r=e.tree.children[t],n=e.tree.positions[t];e.yield(new cC(r,n+e.from,t,e._tree))}}class ZC{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(rC.IncludeAnonymous|rC.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from<r;)t.to>=e&&t.enter(r,1,rC.IgnoreOverlays|rC.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof nC))break;t=t.children[0]}return!1}}class $C{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=null!==(t=r.tree.prop(PC))&&void 0!==t?t:r.to,this.inner=new ZC(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(PC))&&void 0!==e?e:t.to,this.inner=new ZC(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let o=null===(r=e.tree)||void 0===r?void 0:r.prop(XS.mounted);if(o&&o.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let r=this.fragments[t];if(r.from>=e.to)break;r.tree==this.curFrag.tree&&n.push({frag:r,pos:e.from-r.offset,mount:o})}}}return n}}function MC(e,t){let r=null,n=t;for(let o=1,i=0;o<e.length;o++){let a=e[o-1].to,s=e[o].from;for(;i<n.length;i++){let e=n[i];if(e.from>=s)break;e.to<=a||(r||(n=r=t.slice()),e.from<a?(r[i]=new VS(e.from,a),e.to>s&&r.splice(i+1,0,new VS(s,e.to))):e.to>s?r[i--]=new VS(s,e.to):r.splice(i--,1))}}return n}function NC(e,t,r,n){let o=0,i=0,a=!1,s=!1,l=-1e9,c=[];for(;;){let u=o==e.length?1e9:a?e[o].to:e[o].from,d=i==t.length?1e9:s?t[i].to:t[i].from;if(a!=s){let e=Math.max(l,r),t=Math.min(u,d,n);e<t&&c.push(new VS(e,t))}if(l=Math.min(u,d),1e9==l)break;u==l&&(a?(a=!1,o++):a=!0),d==l&&(s?(s=!1,i++):s=!0)}return c}function DC(e,t){let r=[];for(let{pos:n,mount:o,frag:i}of e){let e=n+(o.overlay?o.overlay[0].from:0),a=e+o.tree.length,s=Math.max(i.from,e),l=Math.min(i.to,a);if(o.overlay){let a=NC(t,o.overlay.map((e=>new VS(e.from+n,e.to+n))),s,l);for(let t=0,n=s;;t++){let s=t==a.length,c=s?l:a[t].from;if(c>n&&r.push(new AC(n,c,o.tree,-e,i.from>=n||i.openStart,i.to<=c||i.openEnd)),s)break;n=a[t].to}}else r.push(new AC(s,l,o.tree,-e,i.from>=e||i.openStart,i.to<=a||i.openEnd))}return r}class LC{constructor(e,t,r,n,o,i,a,s,l,c=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=o,this.score=i,this.buffer=a,this.bufferBase=s,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new LC(e,[],t,r,r,0,[],0,n?new IC(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,n=65535&e,{parser:o}=this.p,i=o.dynamicPrecedence(n);if(i&&(this.score+=i),0==r)return this.pushState(o.getGoto(this.state,n,!0),this.reducePos),n<o.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let a=this.stack.length-3*(r-1)-(262144&e?6:0),s=a?this.stack[a-2]:this.p.ranges[0].from,l=this.reducePos-s;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=l));let c=a?this.stack[a-1]:0,u=this.bufferBase+this.buffer.length-c;if(n<o.minRepeatTerm||131072&e){let e=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(262144&e)this.state=this.stack[a];else{let e=this.stack[a-3];this.state=o.getGoto(e,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,r,n=4,o=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==r)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=r)}}if(o&&this.pos!=r){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4])for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=n}else this.buffer.push(e,t,r,n)}shift(e,t,r,n){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let o=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,r),this.shiftContext(t,r),t<=i.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,n,4)}apply(e,t,r,n){65536&e?this.reduce(e):this.shift(e,t,r,n)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(r,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new LC(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new BC(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==r)return!1;if(0==(65536&r))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n,o=0;o<t.length;o+=2)(n=t[o+1])!=this.state&&this.p.parser.hasAction(n,e)&&r.push(t[o],n);if(this.stack.length<120)for(let e=0;r.length<8&&e<t.length;e+=2){let n=t[e+1];r.some(((e,t)=>1&t&&e==n))||r.push(t[e],n)}t=r}let r=[];for(let e=0;e<t.length&&r.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let o=this.split();o.pushState(n,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[e],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(0==(65536&t))return!1;if(!e.validAction(this.state,t)){let r=t>>19,n=65535&t,o=this.stack.length-3*r;if(o<0||e.getGoto(this.stack[o],n,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(n,o)=>{if(!t.includes(n))return t.push(n),e.allActions(n,(t=>{if(393216&t);else if(65536&t){let r=(t>>19)-o;if(r>1){let n=65535&t,o=this.stack.length-3*r;if(o>=0&&e.getGoto(this.stack[o],n,!1)>=0)return r<<19|65536|n}}else{let e=r(t,o+1);if(null!=e)return e}}))};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new IC(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class IC{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class BC{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,r=e>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(r-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class QC{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new QC(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new QC(this.stack,this.pos,this.index)}}function zC(e,t=Uint16Array){if("string"!=typeof e)return e;let r=null;for(let n=0,o=0;n<e.length;){let i=0;for(;;){let t=e.charCodeAt(n++),r=!1;if(126==t){i=65535;break}t>=92&&t--,t>=34&&t--;let o=t-32;if(o>=46&&(o-=46,r=!0),i+=o,r)break;i*=46}r?r[o++]=i:r=new t(i)}return r}class UC{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const FC=new UC;class WC{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=FC,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,n=this.rangeIndex,o=this.pos+e;for(;o<r.from;){if(!n)return null;let e=this.ranges[--n];o-=r.from-e.to,r=e}for(;t<0?o>r.to:o>=r.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];o+=e.from-r.to,r=e}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,r,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,r=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(null==r||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=FC,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return r}}class YC{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;HC(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}YC.prototype.contextual=YC.prototype.fallback=YC.prototype.extend=!1;class VC{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data="string"==typeof e?zC(e):e}token(e,t){let r=e.pos,n=0;for(;;){let r=e.next<0,o=e.resolveOffset(1,1);if(HC(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(r||n++,null==o)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}VC.prototype.contextual=YC.prototype.fallback=YC.prototype.extend=!1;class XC{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function HC(e,t,r,n,o,i){let a=0,s=1<<n,{dialect:l}=r.p.parser;e:for(;0!=(s&e[a]);){let r=e[a+1];for(let n=a+3;n<r;n+=2)if((e[n+1]&s)>0){let r=e[n];if(l.allows(r)&&(-1==t.token.value||t.token.value==r||KC(r,t.token.value,o,i))){t.acceptToken(r);break}}let n=t.next,c=0,u=e[a+2];if(!(t.next<0&&u>c&&65535==e[r+3*u-3])){for(;c<u;){let o=c+u>>1,i=r+o+(o<<1),s=e[i],l=e[i+1]||65536;if(n<s)u=o;else{if(!(n>=l)){a=e[i+2],t.advance();continue e}c=o+1}}break}a=e[r+3*u-1]}}function GC(e,t,r){for(let n,o=t;65535!=(n=e[o]);o++)if(n==r)return o-t;return-1}function KC(e,t,r,n){let o=GC(r,n,t);return o<0||GC(r,n,e)<o}const JC="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let e_=null;function t_(e,t,r){let n=e.cursor(rC.IncludeAnonymous);for(n.moveTo(t);;)if(!(r<0?n.childBefore(t):n.childAfter(t)))for(;;){if((r<0?n.to<t:n.from>t)&&!n.type.isError)return r<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(r<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return r<0?0:e.length}}class r_{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?t_(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?t_(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],n=this.index[t];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=r.children[n],i=this.start[t]+r.positions[n];if(i>e)return this.nextStart=i,null;if(o instanceof nC){if(i==e){if(i<this.safeFrom)return null;let e=i+o.length;if(e<=this.safeTo){let t=o.prop(XS.lookAhead);if(!t||e+t<this.fragment.to)return o}}this.index[t]++,i+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+o.length}}}class n_{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new UC))}getActions(e){let t=0,r=null,{parser:n}=e.p,{tokenizers:o}=n,i=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0;for(let n=0;n<o.length;n++){if(0==(1<<n&i))continue;let l=o[n],c=this.tokens[n];if((!r||l.fallback)&&((l.contextual||c.start!=e.pos||c.mask!=i||c.context!=a)&&(this.updateCachedToken(c,l,e),c.mask=i,c.context=a),c.lookAhead>c.end+25&&(s=Math.max(c.lookAhead,s)),0!=c.value)){let n=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!l.extend&&(r=c,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),r||e.pos!=this.stream.end||(r=new UC,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new UC,{pos:r,p:n}=e;return t.start=r,t.end=Math.min(r+1,n.stream.end),t.value=r==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,r){let n=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(n,e),r),e.value>-1){let{parser:t}=r.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let o=t.specializers[n](this.stream.read(e.start,e.end),r);if(o>=0&&r.p.parser.dialect.allows(o>>1)){0==(1&o)?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,r,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=r,n}addActions(e,t,r,n){let{state:o}=e,{parser:i}=e.p,{data:a}=i;for(let e=0;e<2;e++)for(let s=i.stateSlot(o,e?2:1);;s+=3){if(65535==a[s]){if(1!=a[s+1]){0==n&&2==a[s+1]&&(n=this.putAction(u_(a,s+2),t,r,n));break}s=u_(a,s+2)}a[s]==t&&(n=this.putAction(u_(a,s+1),t,r,n))}return n}}class o_{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new WC(t,n),this.tokens=new n_(e,this.stream),this.topTerm=e.top[1];let{from:o}=n[0];this.stacks=[LC.start(this,e.top[0],o)],this.fragments=r.length&&this.stream.end-o>4*e.bufferLength?new r_(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,r=this.stacks,n=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==r.length){let[e]=r;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<r.length;i++){let a=r[i];for(;;){if(this.tokens.mainToken=null,a.pos>n)o.push(a);else{if(this.advanceStack(a,o,r))continue;{e||(e=[],t=[]),e.push(a);let r=this.tokens.getMainToken(a);t.push(r.value,r.end)}}break}}if(!o.length){let t=e&&function(e){let t=null;for(let r of e){let e=r.p.stoppedAt;(r.pos==r.p.stream.end||null!=e&&r.pos>e)&&r.p.parser.stateFlag(r.state,2)&&(!t||t.score<r.score)&&(t=r)}return t}(e);if(t)return JC&&console.log("Finish with "+this.stackID(t)),this.stackToTree(t);if(this.parser.strict)throw JC&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let r=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,o);if(r)return JC&&console.log("Force-finish "+this.stackID(r)),this.stackToTree(r.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(o.length>e)for(o.sort(((e,t)=>t.score-e.score));o.length>e;)o.pop();o.some((e=>e.reducePos>n))&&this.recovering--}else if(o.length>1){e:for(let e=0;e<o.length-1;e++){let t=o[e];for(let r=e+1;r<o.length;r++){let n=o[r];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){o.splice(e--,1);continue e}o.splice(r--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let e=1;e<o.length;e++)o[e].pos<this.minStackPos&&(this.minStackPos=o[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let n=e.pos,{parser:o}=this,i=JC?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,r=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(n);a;){let n=this.parser.nodeSet.types[a.type.id]==a.type?o.getGoto(e.state,a.type.id):-1;if(n>-1&&a.length&&(!t||(a.prop(XS.contextHash)||0)==r))return e.useNode(a,n),JC&&console.log(i+this.stackID(e)+` (via reuse of ${o.getName(a.type.id)})`),!0;if(!(a instanceof nC)||0==a.children.length||a.positions[0]>0)break;let s=a.children[0];if(!(s instanceof nC&&0==a.positions[0]))break;a=s}}let a=o.stateSlot(e.state,4);if(a>0)return e.reduce(a),JC&&console.log(i+this.stackID(e)+` (via always-reduce ${o.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let a=0;a<s.length;){let l=s[a++],c=s[a++],u=s[a++],d=a==s.length||!r,p=d?e:e.split(),h=this.tokens.mainToken;if(p.apply(l,c,h?h.start:p.pos,u),JC&&console.log(i+this.stackID(p)+` (via ${0==(65536&l)?"shift":`reduce of ${o.getName(65535&l)}`} for ${o.getName(c)} @ ${n}${p==e?"":", split"})`),d)return!0;p.pos>n?t.push(p):r.push(p)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return i_(e,t),!0}}runRecovery(e,t,r){let n=null,o=!1;for(let i=0;i<e.length;i++){let a=e[i],s=t[i<<1],l=t[1+(i<<1)],c=JC?this.stackID(a)+" -> ":"";if(a.deadEnd){if(o)continue;if(o=!0,a.restart(),JC&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))continue}let u=a.split(),d=c;for(let e=0;u.forceReduce()&&e<10&&(JC&&console.log(d+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));e++)JC&&(d=this.stackID(u)+" -> ");for(let e of a.recoverByInsert(s))JC&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,r);this.stream.end>a.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),JC&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(s)})`),i_(a,r)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),nC.build({buffer:QC.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(e_||(e_=new WeakMap)).get(e);return t||e_.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function i_(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.pos==e.pos&&n.sameState(e))return void(t[r].score<e.score&&(t[r]=e))}t.push(e)}class a_{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||0==this.disabled[e]}}const s_=e=>e;class l_{constructor(e){this.start=e.start,this.shift=e.shift||s_,this.reduce=e.reduce||s_,this.reuse=e.reuse||s_,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class c_ extends xC{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let r=0;r<e.repeatNodeCount;r++)t.push("");let r=Object.keys(e.topRules).map((t=>e.topRules[t][1])),n=[];for(let e=0;e<t.length;e++)n.push([]);function o(e,t,r){n[e].push([t,t.deserialize(String(r))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=XS[e]);for(let r=1;r<t.length;){let n=t[r++];if(n>=0)o(n,e,t[r++]);else{let i=t[r+-n];for(let a=-n;a>0;a--)o(t[r++],e,i);r++}}}this.nodeSet=new JS(t.map(((t,o)=>KS.define({name:o>=this.minRepeatTerm?void 0:t,id:o,props:n[o],top:r.indexOf(o)>-1,error:0==o,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=WS;let i=zC(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(d_),this.states=zC(e.states,Uint32Array),this.data=zC(e.stateData),this.goto=zC(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map((e=>"number"==typeof e?new YC(i,e):e)),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let n=new o_(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}getGoto(e,t,r=!1){let n=this.goto;if(t>=n[0])return-1;for(let o=n[t+1];;){let t=n[o++],i=1&t,a=n[o++];if(i&&r)return a;for(let r=o+(t>>1);o<r;o++)if(n[o]==e)return a;if(i)return-1}}hasAction(e,t){let r=this.data;for(let n=0;n<2;n++)for(let o,i=this.stateSlot(e,n?2:1);;i+=3){if(65535==(o=r[i])){if(1!=r[i+1]){if(2==r[i+1])return u_(r,i+2);break}o=r[i=u_(r,i+2)]}if(o==t||0==o)return u_(r,i+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let r=this.stateSlot(e,4),n=r?t(r):void 0;for(let r=this.stateSlot(e,1);null==n;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=u_(this.data,r+2)}n=t(u_(this.data,r+1))}return n}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=u_(this.data,r+2)}if(0==(1&this.data[r+2])){let e=this.data[r+1];t.some(((t,r)=>1&r&&t==e))||t.push(this.data[r],e)}}return t}configure(e){let t=Object.assign(Object.create(c_.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let r=e.tokenizers.find((e=>e.from==t));return r?r.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((r,n)=>{let o=e.specializers.find((e=>e.from==r.external));if(!o)return r;let i=Object.assign(Object.assign({},r),{external:o.to});return t.specializers[n]=d_(i),i}))),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map((()=>!1));if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(r[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!r[e])for(let r,o=this.dialects[t[e]];65535!=(r=this.data[o++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[r]=1;return new a_(e,r,n)}static deserialize(e){return new c_(e)}}function u_(e,t){return e[t]|e[t+1]<<16}function d_(e){if(e.external){let t=e.extend?1:0;return(r,n)=>e.external(r,n)<<1|t}return e.get}let p_=0;class h_{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=p_++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new h_([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new m_;return t=>t.modified.indexOf(e)>-1?t:m_.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let f_=0;class m_{constructor(){this.instances=[],this.id=f_++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find((r=>r.base==e&&function(e,t){return e.length==t.length&&e.every(((e,r)=>e==t[r]))}(t,r.modified)));if(r)return r;let n=[],o=new h_(n,e,t);for(let e of t)e.instances.push(o);let i=function(e){let t=[[]];for(let r=0;r<e.length;r++)for(let n=0,o=t.length;n<o;n++)t.push(t[n].concat(e[r]));return t.sort(((e,t)=>t.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of i)n.push(m_.get(t,e));return o}}function g_(e){let t=Object.create(null);for(let r in e){let n=e[r];Array.isArray(n)||(n=[n]);for(let e of r.split(" "))if(e){let r=[],o=2,i=e;for(let t=0;;){if("..."==i&&t>0&&t+3==e.length){o=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!n)throw new RangeError("Invalid path: "+e);if(r.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){o=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);i=e.slice(t)}let a=r.length-1,s=r[a];if(!s)throw new RangeError("Invalid path: "+e);let l=new y_(n,o,a>0?r.slice(0,a):null);t[s]=l.sort(t[s])}}return b_.add(t)}const b_=new XS;class y_{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function v_(e,t){let r=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)r[e.id]=t.class;else r[t.tag.id]=t.class;let{scope:n,all:o=null}=t||{};return{style:e=>{let t=o;for(let n of e)for(let e of n.set){let n=r[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function O_(e,t,r,n=0,o=e.length){let i=new w_(n,Array.isArray(t)?t:[t],r);i.highlightRange(e.cursor(),n,o,"",i.highlighters),i.flush(o)}y_.empty=new y_([],2,null);class w_{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,o){let{type:i,from:a,to:s}=e;if(a>=r||s<=t)return;i.isTop&&(o=this.highlighters.filter((e=>!e.scope||e.scope(i))));let l=n,c=function(e){let t=e.type.prop(b_);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||y_.empty,u=function(e,t){let r=null;for(let n of e){let e=n.style(t);e&&(r=r?r+" "+e:e)}return r}(o,c.tags);if(u&&(l&&(l+=" "),l+=u,1==c.mode&&(n+=(n?" ":"")+u)),this.startSpan(Math.max(t,a),l),c.opaque)return;let d=e.tree&&e.tree.prop(XS.mounted);if(d&&d.overlay){let i=e.node.enter(d.overlay[0].from+a,1),c=this.highlighters.filter((e=>!e.scope||e.scope(d.tree.type))),u=e.firstChild();for(let p=0,h=a;;p++){let f=p<d.overlay.length?d.overlay[p]:null,m=f?f.from+a:s,g=Math.max(t,h),b=Math.min(r,m);if(g<b&&u)for(;e.from<b&&(this.highlightRange(e,g,b,n,o),this.startSpan(Math.min(b,e.to),l),!(e.to>=m)&&e.nextSibling()););if(!f||m>r)break;h=f.to+a,h>t&&(this.highlightRange(i.cursor(),Math.max(t,f.from+a),Math.min(r,h),"",c),this.startSpan(Math.min(r,h),l))}u&&e.parent()}else if(e.firstChild()){d&&(n="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,o),this.startSpan(Math.min(r,e.to),l)}}while(e.nextSibling());e.parent()}}}const A_=h_.define,x_=A_(),k_=A_(),S_=A_(k_),C_=A_(k_),__=A_(),E_=A_(__),P_=A_(__),q_=A_(),T_=A_(q_),j_=A_(),R_=A_(),Z_=A_(),$_=A_(Z_),M_=A_(),N_={comment:x_,lineComment:A_(x_),blockComment:A_(x_),docComment:A_(x_),name:k_,variableName:A_(k_),typeName:S_,tagName:A_(S_),propertyName:C_,attributeName:A_(C_),className:A_(k_),labelName:A_(k_),namespace:A_(k_),macroName:A_(k_),literal:__,string:E_,docString:A_(E_),character:A_(E_),attributeValue:A_(E_),number:P_,integer:A_(P_),float:A_(P_),bool:A_(__),regexp:A_(__),escape:A_(__),color:A_(__),url:A_(__),keyword:j_,self:A_(j_),null:A_(j_),atom:A_(j_),unit:A_(j_),modifier:A_(j_),operatorKeyword:A_(j_),controlKeyword:A_(j_),definitionKeyword:A_(j_),moduleKeyword:A_(j_),operator:R_,derefOperator:A_(R_),arithmeticOperator:A_(R_),logicOperator:A_(R_),bitwiseOperator:A_(R_),compareOperator:A_(R_),updateOperator:A_(R_),definitionOperator:A_(R_),typeOperator:A_(R_),controlOperator:A_(R_),punctuation:Z_,separator:A_(Z_),bracket:$_,angleBracket:A_($_),squareBracket:A_($_),paren:A_($_),brace:A_($_),content:q_,heading:T_,heading1:A_(T_),heading2:A_(T_),heading3:A_(T_),heading4:A_(T_),heading5:A_(T_),heading6:A_(T_),contentSeparator:A_(q_),list:A_(q_),quote:A_(q_),emphasis:A_(q_),strong:A_(q_),link:A_(q_),monospace:A_(q_),strikethrough:A_(q_),inserted:A_(),deleted:A_(),changed:A_(),invalid:A_(),meta:M_,documentMeta:A_(M_),annotation:A_(M_),processingInstruction:A_(M_),definition:h_.defineModifier(),constant:h_.defineModifier(),function:h_.defineModifier(),standard:h_.defineModifier(),local:h_.defineModifier(),special:h_.defineModifier()},D_=(v_([{tag:N_.link,class:"tok-link"},{tag:N_.heading,class:"tok-heading"},{tag:N_.emphasis,class:"tok-emphasis"},{tag:N_.strong,class:"tok-strong"},{tag:N_.keyword,class:"tok-keyword"},{tag:N_.atom,class:"tok-atom"},{tag:N_.bool,class:"tok-bool"},{tag:N_.url,class:"tok-url"},{tag:N_.labelName,class:"tok-labelName"},{tag:N_.inserted,class:"tok-inserted"},{tag:N_.deleted,class:"tok-deleted"},{tag:N_.literal,class:"tok-literal"},{tag:N_.string,class:"tok-string"},{tag:N_.number,class:"tok-number"},{tag:[N_.regexp,N_.escape,N_.special(N_.string)],class:"tok-string2"},{tag:N_.variableName,class:"tok-variableName"},{tag:N_.local(N_.variableName),class:"tok-variableName tok-local"},{tag:N_.definition(N_.variableName),class:"tok-variableName tok-definition"},{tag:N_.special(N_.variableName),class:"tok-variableName2"},{tag:N_.definition(N_.propertyName),class:"tok-propertyName tok-definition"},{tag:N_.typeName,class:"tok-typeName"},{tag:N_.namespace,class:"tok-namespace"},{tag:N_.className,class:"tok-className"},{tag:N_.macroName,class:"tok-macroName"},{tag:N_.propertyName,class:"tok-propertyName"},{tag:N_.operator,class:"tok-operator"},{tag:N_.comment,class:"tok-comment"},{tag:N_.meta,class:"tok-meta"},{tag:N_.invalid,class:"tok-invalid"},{tag:N_.punctuation,class:"tok-punctuation"}]),20),L_=22,I_=23,B_=24,Q_=26,z_=27,U_=28,F_=31,W_=34,Y_=37,V_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},X_={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},H_={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function G_(e){return 9==e||10==e||13==e||32==e}let K_=null,J_=null,eE=0;function tE(e,t){let r=e.pos+t;if(eE==r&&J_==e)return K_;let n=e.peek(t);for(;G_(n);)n=e.peek(++t);let o="";for(;45==(i=n)||46==i||58==i||i>=65&&i<=90||95==i||i>=97&&i<=122||i>=161;)o+=String.fromCharCode(n),n=e.peek(++t);var i;return J_=e,eE=r,K_=o?o.toLowerCase():n==rE||n==nE?void 0:null}const rE=63,nE=33;function oE(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const iE=[6,10,7,8,9],aE=new l_({start:null,shift:(e,t,r,n)=>iE.indexOf(t)>-1?new oE(tE(n,1)||"",e):e,reduce:(e,t)=>t==D_&&e?e.parent:e,reuse(e,t,r,n){let o=t.type.id;return 6==o||36==o?new oE(tE(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),sE=new XC(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let r=47==e.next;r&&e.advance();let n=tE(e,0);if(void 0===n)return;if(!n)return e.acceptToken(r?14:6);let o=t.context?t.context.name:null;if(r){if(n==o)return e.acceptToken(11);if(o&&X_[o])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(13)}else{if("script"==n)return e.acceptToken(7);if("style"==n)return e.acceptToken(8);if("textarea"==n)return e.acceptToken(9);if(V_.hasOwnProperty(n))return e.acceptToken(10);o&&H_[o]&&H_[o][n]?e.acceptToken(57,-1):e.acceptToken(6)}}),{contextual:!0}),lE=new XC((e=>{for(let t=0,r=0;;r++){if(e.next<0){r&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){r>=3&&e.acceptToken(58,-2);break}t=0}e.advance()}})),cE=new XC(((e,t)=>{if(47==e.next&&62==e.peek(1)){let r=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(r?5:4,2)}else 62==e.next&&e.acceptToken(4,1)}));function uE(e,t,r){let n=2+e.length;return new XC((o=>{for(let i=0,a=0,s=0;;s++){if(o.next<0){s&&o.acceptToken(t);break}if(0==i&&60==o.next||1==i&&47==o.next||i>=2&&i<n&&o.next==e.charCodeAt(i-2))i++,a++;else if(2!=i&&i!=n||!G_(o.next)){if(i==n&&62==o.next){s>a?o.acceptToken(t,-a):o.acceptToken(r,-(a-2));break}if((10==o.next||13==o.next)&&s){o.acceptToken(t,1);break}i=a=0}else a++;o.advance()}}))}const dE=uE("script",54,1),pE=uE("style",55,2),hE=uE("textarea",56,3),fE=g_({"Text RawText":N_.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":N_.angleBracket,TagName:N_.tagName,"MismatchedCloseTag/TagName":[N_.tagName,N_.invalid],AttributeName:N_.attributeName,"AttributeValue UnquotedAttributeValue":N_.attributeValue,Is:N_.definitionOperator,"EntityReference CharacterReference":N_.character,Comment:N_.blockComment,ProcessingInst:N_.processingInstruction,DoctypeDecl:N_.documentMeta}),mE=c_.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:aE,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[fE],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[dE,pE,hE,cE,sE,lE,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function gE(e,t){let r=Object.create(null);for(let n of e.getChildren(I_)){let e=n.getChild(B_),o=n.getChild(Q_)||n.getChild(z_);e&&(r[t.read(e.from,e.to)]=o?o.type.id==Q_?t.read(o.from+1,o.to-1):t.read(o.from,o.to):"")}return r}function bE(e,t){let r=e.getChild(L_);return r?t.read(r.from,r.to):" "}function yE(e,t,r){let n;for(let o of r)if(!o.attrs||o.attrs(n||(n=gE(e.node.parent.firstChild,t))))return{parser:o.parser};return null}function vE(e=[],t=[]){let r=[],n=[],o=[],i=[];for(let t of e)("script"==t.tag?r:"style"==t.tag?n:"textarea"==t.tag?o:i).push(t);let a=t.length?Object.create(null):null;for(let e of t)(a[e.name]||(a[e.name]=[])).push(e);return SC(((e,t)=>{let s=e.type.id;if(s==U_)return yE(e,t,r);if(s==F_)return yE(e,t,n);if(s==W_)return yE(e,t,o);if(s==D_&&i.length){let r,n=e.node,o=n.firstChild,a=o&&bE(o,t);if(a)for(let e of i)if(e.tag==a&&(!e.attrs||e.attrs(r||(r=gE(n,t))))){let t=n.lastChild,r=t.type.id==Y_?t.from:n.to;if(r>o.to)return{parser:e.parser,overlay:[{from:o.to,to:r}]}}}if(a&&s==I_){let r,n=e.node;if(r=n.firstChild){let e=a[t.read(r.from,r.to)];if(e)for(let r of e){if(r.tagName&&r.tagName!=bE(n.parent,t))continue;let e=n.lastChild;if(e.type.id==Q_){let t=e.from+1,n=e.lastChild,o=e.to-(n&&n.isError?0:1);if(o>t)return{parser:r.parser,overlay:[{from:t,to:o}]}}else if(e.type.id==z_)return{parser:r.parser,overlay:[{from:e.from,to:e.to}]}}}}return null}))}const OE=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function wE(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const AE=new XC(((e,t)=>{for(let n=!1,o=0,i=0;;i++){let{next:a}=e;if(wE(a)||45==a||95==a||n&&(r=a)>=48&&r<=57)!n&&(45!=a||i>0)&&(n=!0),o===i&&45==a&&o++,e.advance();else{if(92!=a||10==e.peek(1)){n&&e.acceptToken(40==a?97:2==o&&t.canShift(2)?2:98);break}e.advance(),e.next>-1&&e.advance(),n=!0}}var r})),xE=new XC((e=>{if(OE.includes(e.peek(-1))){let{next:t}=e;(wE(t)||95==t||35==t||46==t||91==t||58==t||45==t||38==t)&&e.acceptToken(96)}})),kE=new XC((e=>{if(!OE.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),wE(t)){do{e.advance()}while(wE(e.next));e.acceptToken(1)}}})),SE=g_({"AtKeyword import charset namespace keyframes media supports":N_.definitionKeyword,"from to selector":N_.keyword,NamespaceName:N_.namespace,KeyframeName:N_.labelName,KeyframeRangeName:N_.operatorKeyword,TagName:N_.tagName,ClassName:N_.className,PseudoClassName:N_.constant(N_.className),IdName:N_.labelName,"FeatureName PropertyName":N_.propertyName,AttributeName:N_.attributeName,NumberLiteral:N_.number,KeywordQuery:N_.keyword,UnaryQueryOp:N_.operatorKeyword,"CallTag ValueName":N_.atom,VariableName:N_.variableName,Callee:N_.operatorKeyword,Unit:N_.unit,"UniversalSelector NestingSelector":N_.definitionOperator,MatchOp:N_.compareOperator,"ChildOp SiblingOp, LogicOp":N_.logicOperator,BinOp:N_.arithmeticOperator,Important:N_.modifier,Comment:N_.blockComment,ColorLiteral:N_.color,"ParenthesizedContent StringLiteral":N_.string,":":N_.punctuation,"PseudoOp #":N_.derefOperator,"; ,":N_.separator,"( )":N_.paren,"[ ]":N_.squareBracket,"{ }":N_.brace}),CE={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},_E={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},EE={__proto__:null,not:128,only:128},PE=c_.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[SE],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[xE,kE,AE,1,2,3,4,new VC("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>CE[e]||-1},{term:56,get:e=>_E[e]||-1},{term:98,get:e=>EE[e]||-1}],tokenPrec:1169});class qE{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]=LE(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),jE.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]=LE(this,e,t);let r=[];return this.decompose(e,t,r,0),jE.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 $E(this),o=new $E(e);for(let e=t,i=t;;){if(n.next(e),o.next(e),e=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(i+=n.value.length,n.done||i>=r)return!0}}iter(e=1){return new $E(this,e)}iterRange(e,t=this.length){return new ME(this,e,t)}iterLines(e,t){let r;if(null==e)r=this.iter();else{null==t&&(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 NE(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new TE(e):jE.from(TE.split(e,[])):qE.empty}}class TE extends qE{constructor(e,t=function(e){let t=-1;for(let r of e)t+=r.length+1;return t}(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 o=0;;o++){let i=this.text[o],a=n+i.length;if((t?r:a)>=e)return new DE(n,a,r,i);n=a+1,r++}}decompose(e,t,r,n){let o=e<=0&&t>=this.length?this:new TE(ZE(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&n){let e=r.pop(),t=RE(o.text,e.text.slice(),0,o.length);if(t.length<=32)r.push(new TE(t,e.length+o.length));else{let e=t.length>>1;r.push(new TE(t.slice(0,e)),new TE(t.slice(e)))}}else r.push(o)}replace(e,t,r){if(!(r instanceof TE))return super.replace(e,t,r);[e,t]=LE(this,e,t);let n=RE(this.text,RE(r.text,ZE(this.text,0,e)),t),o=this.length+r.length-(t-e);return n.length<=32?new TE(n,o):jE.from(TE.split(n,[]),o)}sliceString(e,t=this.length,r="\n"){[e,t]=LE(this,e,t);let n="";for(let o=0,i=0;o<=t&&i<this.text.length;i++){let a=this.text[i],s=o+a.length;o>e&&i&&(n+=r),e<s&&t>o&&(n+=a.slice(Math.max(0,e-o),t-o)),o=s+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 o of e)r.push(o),n+=o.length+1,32==r.length&&(t.push(new TE(r,n)),r=[],n=-1);return n>-1&&t.push(new TE(r,n)),t}}class jE extends qE{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,r,n){for(let o=0;;o++){let i=this.children[o],a=n+i.length,s=r+i.lines-1;if((t?s:a)>=e)return i.lineInner(e,t,r,n);n=a+1,r=s+1}}decompose(e,t,r,n){for(let o=0,i=0;i<=t&&o<this.children.length;o++){let a=this.children[o],s=i+a.length;if(e<=s&&t>=i){let o=n&((i<=e?1:0)|(s>=t?2:0));i>=e&&s<=t&&!o?r.push(a):a.decompose(e-i,t-i,r,o)}i=s+1}}replace(e,t,r){if([e,t]=LE(this,e,t),r.lines<this.lines)for(let n=0,o=0;n<this.children.length;n++){let i=this.children[n],a=o+i.length;if(e>=o&&t<=a){let s=i.replace(e-o,t-o,r),l=this.lines-i.lines+s.lines;if(s.lines<l>>4&&s.lines>l>>6){let o=this.children.slice();return o[n]=s,new jE(o,this.length-(t-e)+r.length)}return super.replace(o,a,s)}o=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r="\n"){[e,t]=LE(this,e,t);let n="";for(let o=0,i=0;o<this.children.length&&i<=t;o++){let a=this.children[o],s=i+a.length;i>e&&o&&(n+=r),e<s&&t>i&&(n+=a.sliceString(e-i,t-i,r)),i=s+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof jE))return 0;let r=0,[n,o,i,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,o+=t){if(n==i||o==a)return r;let s=this.children[n],l=e.children[o];if(s!=l)return r+s.scanIdentical(l,t);r+=s.length+1}}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let r=[];for(let t of e)t.flatten(r);return new TE(r,t)}let n=Math.max(32,r>>5),o=n<<1,i=n>>1,a=[],s=0,l=-1,c=[];function u(e){let t;if(e.lines>o&&e instanceof jE)for(let t of e.children)u(t);else e.lines>i&&(s>i||!s)?(d(),a.push(e)):e instanceof TE&&s&&(t=c[c.length-1])instanceof TE&&e.lines+t.lines<=32?(s+=e.lines,l+=e.length+1,c[c.length-1]=new TE(t.text.concat(e.text),t.length+1+e.length)):(s+e.lines>n&&d(),s+=e.lines,l+=e.length+1,c.push(e))}function d(){0!=s&&(a.push(1==c.length?c[0]:jE.from(c,l)),l=-1,s=c.length=0)}for(let t of e)u(t);return d(),1==a.length?a[0]:new jE(a,t)}}function RE(e,t,r=0,n=1e9){for(let o=0,i=0,a=!0;i<e.length&&o<=n;i++){let s=e[i],l=o+s.length;l>=r&&(l>n&&(s=s.slice(0,n-o)),o<r&&(s=s.slice(r-o)),a?(t[t.length-1]+=s,a=!1):t.push(s)),o=l+1}return t}function ZE(e,t,r){return RE(e,[""],t,r)}qE.empty=new TE([""],0);class $E{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof TE?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],o=this.offsets[r],i=o>>1,a=n instanceof TE?n.text.length:n.children.length;if(i==(t>0?a:0)){if(0==r)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[r]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(n instanceof TE){let o=n.text[i+(t<0?-1:0)];if(this.offsets[r]+=t,o.length>Math.max(0,e))return this.value=0==e?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=n.children[i+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof TE?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class ME{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new $E(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}}class NE{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}}"undefined"!=typeof Symbol&&(qE.prototype[Symbol.iterator]=function(){return this.iter()},$E.prototype[Symbol.iterator]=ME.prototype[Symbol.iterator]=NE.prototype[Symbol.iterator]=function(){return this});class DE{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 LE(e,t,r){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,r))]}let IE="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((e=>e?parseInt(e,36):1));for(let e=1;e<IE.length;e++)IE[e]+=IE[e-1];function BE(e){for(let t=1;t<IE.length;t+=2)if(IE[t]>e)return IE[t-1]<=e;return!1}function QE(e){return e>=127462&&e<=127487}const zE=8205;function UE(e,t,r=!0,n=!0){return(r?FE:WE)(e,t,n)}function FE(e,t,r){if(t==e.length)return t;t&&YE(e.charCodeAt(t))&&VE(e.charCodeAt(t-1))&&t--;let n=XE(e,t);for(t+=GE(n);t<e.length;){let o=XE(e,t);if(n==zE||o==zE||r&&BE(o))t+=GE(o),n=o;else{if(!QE(o))break;{let r=0,n=t-2;for(;n>=0&&QE(XE(e,n));)r++,n-=2;if(r%2==0)break;t+=2}}}return t}function WE(e,t,r){for(;t>0;){let n=FE(e,t-2,r);if(n<t)return n;t--}return 0}function YE(e){return e>=56320&&e<57344}function VE(e){return e>=55296&&e<56320}function XE(e,t){let r=e.charCodeAt(t);if(!VE(r)||t+1==e.length)return r;let n=e.charCodeAt(t+1);return YE(n)?n-56320+(r-55296<<10)+65536:r}function HE(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function GE(e){return e<65536?1:2}const KE=/\r\n?|\n/;var JE=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(JE||(JE={}));class eP{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let o=this.sections[t++],i=this.sections[t++];i<0?(e(r,n,o),n+=o):n+=i,r+=o}}iterChangedRanges(e,t=!1){oP(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new eP(e)}composeDesc(e){return this.empty?e:e.empty?this:aP(this,e)}mapDesc(e,t=!1){return e.empty?this:iP(this,e,t)}mapPos(e,t=-1,r=JE.Simple){let n=0,o=0;for(let i=0;i<this.sections.length;){let a=this.sections[i++],s=this.sections[i++],l=n+a;if(s<0){if(l>e)return o+(e-n);o+=a}else{if(r!=JE.Simple&&l>=e&&(r==JE.TrackDel&&n<e&&l>e||r==JE.TrackBefore&&n<e||r==JE.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!a)return e==n||t<0?o:o+s;o+=s}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let o=n+this.sections[r++];if(this.sections[r++]>=0&&n<=t&&o>=e)return!(n<e&&o>t)||"cover";n=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new eP(e)}static create(e){return new eP(e)}}class tP extends eP{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return oP(this,((t,r,n,o,i)=>e=e.replace(n,n+(r-t),i)),!1),e}mapDesc(e,t=!1){return iP(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,o=0;n<t.length;n+=2){let i=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=i;let s=n>>1;for(;r.length<s;)r.push(qE.empty);r.push(i?e.slice(o,o+i):qE.empty)}o+=i}return new tP(t,r)}compose(e){return this.empty?e:e.empty?this:aP(this,e,!0)}map(e,t=!1){return e.empty?this:iP(this,e,t,!0)}iterChanges(e,t=!1){oP(this,e,t)}get desc(){return eP.create(this.sections)}filter(e){let t=[],r=[],n=[],o=new sP(this);e:for(let i=0,a=0;;){let s=i==e.length?1e9:e[i++];for(;a<s||a==s&&0==o.len;){if(o.done)break e;let e=Math.min(o.len,s-a);rP(n,e,-1);let i=-1==o.ins?-1:0==o.off?o.ins:0;rP(t,e,i),i>0&&nP(r,t,o.text),o.forward(e),a+=e}let l=e[i++];for(;a<l;){if(o.done)break e;let e=Math.min(o.len,l-a);rP(t,e,-1),rP(n,e,-1==o.ins?-1:0==o.off?o.ins:0),o.forward(e),a+=e}}return{changes:new tP(t,r),filtered:eP.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],n=this.sections[t+1];n<0?e.push(r):0==n?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let n=[],o=[],i=0,a=null;function s(e=!1){if(!e&&!n.length)return;i<t&&rP(n,t-i,-1);let r=new tP(n,o);a=a?a.compose(r.map(a)):r,n=[],o=[],i=0}return function e(l){if(Array.isArray(l))for(let t of l)e(t);else if(l instanceof tP){if(l.length!=t)throw new RangeError(`Mismatched change set length (got ${l.length}, expected ${t})`);s(),a=a?a.compose(l.map(a)):l}else{let{from:e,to:a=e,insert:c}=l;if(e>a||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let u=c?"string"==typeof c?qE.of(c.split(r||KE)):c:qE.empty,d=u.length;if(e==a&&0==d)return;e<i&&s(),e>i&&rP(n,e-i,-1),rP(n,a-e,d),nP(o,n,u),i=a}}(e),s(!a),a}static empty(e){return new tP(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let n=0;n<e.length;n++){let o=e[n];if("number"==typeof o)t.push(o,-1);else{if(!Array.isArray(o)||"number"!=typeof o[0]||o.some(((e,t)=>t&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;r.length<n;)r.push(qE.empty);r[n]=qE.of(o.slice(1)),t.push(o[0],r[n].length)}}}return new tP(t,r)}static createSet(e,t){return new tP(e,t)}}function rP(e,t,r,n=!1){if(0==t&&r<=0)return;let o=e.length-2;o>=0&&r<=0&&r==e[o+1]?e[o]+=t:0==t&&0==e[o]?e[o+1]+=r:n?(e[o]+=t,e[o+1]+=r):e.push(t,r)}function nP(e,t,r){if(0==r.length)return;let n=t.length-2>>1;if(n<e.length)e[e.length-1]=e[e.length-1].append(r);else{for(;e.length<n;)e.push(qE.empty);e.push(r)}}function oP(e,t,r){let n=e.inserted;for(let o=0,i=0,a=0;a<e.sections.length;){let s=e.sections[a++],l=e.sections[a++];if(l<0)o+=s,i+=s;else{let c=o,u=i,d=qE.empty;for(;c+=s,u+=l,l&&n&&(d=d.append(n[a-2>>1])),!(r||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(o,c,i,u,d),o=c,i=u}}}function iP(e,t,r,n=!1){let o=[],i=n?[]:null,a=new sP(e),s=new sP(t);for(let e=-1;;)if(-1==a.ins&&-1==s.ins){let e=Math.min(a.len,s.len);rP(o,e,-1),a.forward(e),s.forward(e)}else if(s.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(s.len<a.len||s.len==a.len&&!r))){let t=s.len;for(rP(o,s.ins,-1);t;){let r=Math.min(a.len,t);a.ins>=0&&e<a.i&&a.len<=r&&(rP(o,0,a.ins),i&&nP(i,o,a.text),e=a.i),a.forward(r),t-=r}s.next()}else{if(!(a.ins>=0)){if(a.done&&s.done)return i?tP.createSet(o,i):eP.create(o);throw new Error("Mismatched change set lengths")}{let t=0,r=a.len;for(;r;)if(-1==s.ins){let e=Math.min(r,s.len);t+=e,r-=e,s.forward(e)}else{if(!(0==s.ins&&s.len<r))break;r-=s.len,s.next()}rP(o,t,e<a.i?a.ins:0),i&&e<a.i&&nP(i,o,a.text),e=a.i,a.forward(a.len-r)}}}function aP(e,t,r=!1){let n=[],o=r?[]:null,i=new sP(e),a=new sP(t);for(let e=!1;;){if(i.done&&a.done)return o?tP.createSet(n,o):eP.create(n);if(0==i.ins)rP(n,i.len,0,e),i.next();else if(0!=a.len||a.done){if(i.done||a.done)throw new Error("Mismatched change set lengths");{let t=Math.min(i.len2,a.len),r=n.length;if(-1==i.ins){let r=-1==a.ins?-1:a.off?0:a.ins;rP(n,t,r,e),o&&r&&nP(o,n,a.text)}else-1==a.ins?(rP(n,i.off?0:i.len,t,e),o&&nP(o,n,i.textBit(t))):(rP(n,i.off?0:i.len,a.off?0:a.ins,e),o&&!a.off&&nP(o,n,a.text));e=(i.ins>t||a.ins>=0&&a.len>t)&&(e||n.length>r),i.forward2(t),a.forward(t)}}else rP(n,0,a.ins,e),o&&nP(o,n,a.text),a.next()}}class sP{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?qE.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?qE.empty:t[r].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class lP{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let r,n;return this.empty?r=n=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new lP(r,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return cP.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return cP.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return cP.range(e.anchor,e.head)}static create(e,t,r){return new lP(e,t,r)}}class cP{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:cP.create(this.ranges.map((r=>r.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new cP([this.main],0)}addRange(e,t=!0){return cP.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,cP.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((e=>e.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new cP(e.ranges.map((e=>lP.fromJSON(e))),e.main)}static single(e,t=e){return new cP([cP.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let r=0,n=0;n<e.length;n++){let o=e[n];if(o.empty?o.from<=r:o.from<r)return cP.normalized(e.slice(),t);r=o.to}return new cP(e,t)}static cursor(e,t=0,r,n){return lP.create(e,e,(0==t?0:t<0?8:16)|(null==r?7:Math.min(6,r))|(null!=n?n:16777215)<<6)}static range(e,t,r,n){let o=(null!=r?r:16777215)<<6|(null==n?7:Math.min(6,n));return t<e?lP.create(t,e,48|o):lP.create(e,t,(t>e?8:0)|o)}static normalized(e,t=0){let r=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(r);for(let r=1;r<e.length;r++){let n=e[r],o=e[r-1];if(n.empty?n.from<=o.to:n.from<o.to){let i=o.from,a=Math.max(n.to,o.to);r<=t&&t--,e.splice(--r,2,n.anchor>n.head?cP.range(a,i):cP.range(i,a))}}return new cP(e,t)}}function uP(e,t){for(let r of e.ranges)if(r.to>t)throw new RangeError("Selection points outside of document")}let dP=0;class pP{constructor(e,t,r,n,o){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=n,this.id=dP++,this.default=e([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(e={}){return new pP(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:hP),!!e.static,e.enables)}of(e){return new fP([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new fP(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new fP(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(r=>t(r.field(e))))}}function hP(e,t){return e==t||e.length==t.length&&e.every(((e,r)=>e===t[r]))}class fP{constructor(e,t,r,n){this.dependencies=e,this.facet=t,this.type=r,this.value=n,this.id=dP++}dynamicSlot(e){var t;let r=this.value,n=this.facet.compareInput,o=this.id,i=e[o]>>1,a=2==this.type,s=!1,l=!1,c=[];for(let r of this.dependencies)"doc"==r?s=!0:"selection"==r?l=!0:0==(1&(null!==(t=e[r.id])&&void 0!==t?t:1))&&c.push(e[r.id]);return{create:e=>(e.values[i]=r(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||gP(e,c)){let t=r(e);if(a?!mP(t,e.values[i],n):!n(t,e.values[i]))return e.values[i]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[o];if(null!=l){let o=_P(t,l);if(this.dependencies.every((r=>r instanceof pP?t.facet(r)===e.facet(r):!(r instanceof vP)||t.field(r,!1)==e.field(r,!1)))||(a?mP(s=r(e),o,n):n(s=r(e),o)))return e.values[i]=o,0}else s=r(e);return e.values[i]=s,1}}}}function mP(e,t,r){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1;return!0}function gP(e,t){let r=!1;for(let n of t)1&CP(e,n)&&(r=!0);return r}function bP(e,t,r){let n=r.map((t=>e[t.id])),o=r.map((e=>e.type)),i=n.filter((e=>!(1&e))),a=e[t.id]>>1;function s(e){let r=[];for(let t=0;t<n.length;t++){let i=_P(e,n[t]);if(2==o[t])for(let e of i)r.push(e);else r.push(i)}return t.combine(r)}return{create(e){for(let t of n)CP(e,t);return e.values[a]=s(e),1},update(e,r){if(!gP(e,i))return 0;let n=s(e);return t.compare(n,e.values[a])?0:(e.values[a]=n,1)},reconfigure(e,o){let i=gP(e,n),l=o.config.facets[t.id],c=o.facet(t);if(l&&!i&&hP(r,l))return e.values[a]=c,0;let u=s(e);return t.compare(u,c)?(e.values[a]=c,0):(e.values[a]=u,1)}}}const yP=pP.define({static:!0});class vP{constructor(e,t,r,n,o){this.id=e,this.createF=t,this.updateF=r,this.compareF=n,this.spec=o,this.provides=void 0}static define(e){let t=new vP(dP++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(yP).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,r)=>{let n=e.values[t],o=this.updateF(n,r);return this.compareF(n,o)?0:(e.values[t]=o,1)},reconfigure:(e,r)=>null!=r.config.address[this.id]?(e.values[t]=r.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,yP.of({field:this,create:e})]}get extension(){return this}}function OP(e){return t=>new AP(t,e)}const wP={highest:OP(0),high:OP(1),default:OP(2),low:OP(3),lowest:OP(4)};class AP{constructor(e,t){this.inner=e,this.prec=t}}class xP{of(e){return new kP(this,e)}reconfigure(e){return xP.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class kP{constructor(e,t){this.compartment=e,this.inner=t}}class SP{constructor(e,t,r,n,o,i){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=n,this.staticValues=o,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let n=[],o=Object.create(null),i=new Map;for(let r of function(e,t,r){let n=[[],[],[],[],[]],o=new Map;return function e(i,a){let s=o.get(i);if(null!=s){if(s<=a)return;let e=n[s].indexOf(i);e>-1&&n[s].splice(e,1),i instanceof kP&&r.delete(i.compartment)}if(o.set(i,a),Array.isArray(i))for(let t of i)e(t,a);else if(i instanceof kP){if(r.has(i.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(i.compartment)||i.inner;r.set(i.compartment,n),e(n,a)}else if(i instanceof AP)e(i.inner,i.prec);else if(i instanceof vP)n[a].push(i),i.provides&&e(i.provides,a);else if(i instanceof fP)n[a].push(i),i.facet.extensions&&e(i.facet.extensions,2);else{let t=i.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,a)}}(e,2),n.reduce(((e,t)=>e.concat(t)))}(e,t,i))r instanceof vP?n.push(r):(o[r.facet.id]||(o[r.facet.id]=[])).push(r);let a=Object.create(null),s=[],l=[];for(let e of n)a[e.id]=l.length<<1,l.push((t=>e.slot(t)));let c=null==r?void 0:r.config.facets;for(let e in o){let t=o[e],n=t[0].facet,i=c&&c[e]||[];if(t.every((e=>0==e.type)))if(a[n.id]=s.length<<1|1,hP(i,t))s.push(r.facet(n));else{let e=n.combine(t.map((e=>e.value)));s.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)0==e.type?(a[e.id]=s.length<<1|1,s.push(e.value)):(a[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));a[n.id]=l.length<<1,l.push((e=>bP(e,n,t)))}}let u=l.map((e=>e(a)));return new SP(e,i,u,a,s,o)}}function CP(e,t){if(1&t)return 2;let r=t>>1,n=e.status[r];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[r]=4;let o=e.computeSlot(e,e.config.dynamicSlots[r]);return e.status[r]=2|o}function _P(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const EP=pP.define(),PP=pP.define({combine:e=>e.some((e=>e)),static:!0}),qP=pP.define({combine:e=>e.length?e[0]:void 0,static:!0}),TP=pP.define(),jP=pP.define(),RP=pP.define(),ZP=pP.define({combine:e=>!!e.length&&e[0]});class $P{constructor(e,t){this.type=e,this.value=t}static define(){return new MP}}class MP{of(e){return new $P(this,e)}}class NP{constructor(e){this.map=e}of(e){return new DP(this,e)}}class DP{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new DP(this.type,t)}is(e){return this.type==e}static define(e={}){return new NP(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let n of e){let e=n.map(t);e&&r.push(e)}return r}}DP.reconfigure=DP.define(),DP.appendConfig=DP.define();class LP{constructor(e,t,r,n,o,i){this.startState=e,this.changes=t,this.selection=r,this.effects=n,this.annotations=o,this.scrollIntoView=i,this._doc=null,this._state=null,r&&uP(r,t.newLength),o.some((e=>e.type==LP.time))||(this.annotations=o.concat(LP.time.of(Date.now())))}static create(e,t,r,n,o,i){return new LP(e,t,r,n,o,i)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(LP.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function IP(e,t){let r=[];for(let n=0,o=0;;){let i,a;if(n<e.length&&(o==t.length||t[o]>=e[n]))i=e[n++],a=e[n++];else{if(!(o<t.length))return r;i=t[o++],a=t[o++]}!r.length||r[r.length-1]<i?r.push(i,a):r[r.length-1]<a&&(r[r.length-1]=a)}}function BP(e,t,r){var n;let o,i,a;return r?(o=t.changes,i=tP.empty(t.changes.length),a=e.changes.compose(t.changes)):(o=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(o)),{changes:a,selection:t.selection?t.selection.map(i):null===(n=e.selection)||void 0===n?void 0:n.map(o),effects:DP.mapEffects(e.effects,o).concat(DP.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function QP(e,t,r){let n=t.selection,o=FP(t.annotations);return t.userEvent&&(o=o.concat(LP.userEvent.of(t.userEvent))),{changes:t.changes instanceof tP?t.changes:tP.of(t.changes||[],r,e.facet(qP)),selection:n&&(n instanceof cP?n:cP.single(n.anchor,n.head)),effects:FP(t.effects),annotations:o,scrollIntoView:!!t.scrollIntoView}}function zP(e,t,r){let n=QP(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(r=!1);for(let o=1;o<t.length;o++){!1===t[o].filter&&(r=!1);let i=!!t[o].sequential;n=BP(n,QP(e,t[o],i?n.changes.newLength:e.doc.length),i)}let o=LP.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(e){let t=e.startState,r=t.facet(RP),n=e;for(let o=r.length-1;o>=0;o--){let i=r[o](e);i&&Object.keys(i).length&&(n=BP(n,QP(t,i,e.changes.newLength),!0))}return n==e?e:LP.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}(r?function(e){let t=e.startState,r=!0;for(let n of t.facet(TP)){let t=n(e);if(!1===t){r=!1;break}Array.isArray(t)&&(r=!0===r?t:IP(r,t))}if(!0!==r){let n,o;if(!1===r)o=e.changes.invertedDesc,n=tP.empty(t.doc.length);else{let t=e.changes.filter(r);n=t.changes,o=t.filtered.mapDesc(t.changes).invertedDesc}e=LP.create(t,n,e.selection&&e.selection.map(o),DP.mapEffects(e.effects,o),e.annotations,e.scrollIntoView)}let n=t.facet(jP);for(let r=n.length-1;r>=0;r--){let o=n[r](e);e=o instanceof LP?o:Array.isArray(o)&&1==o.length&&o[0]instanceof LP?o[0]:zP(t,FP(o),!1)}return e}(o):o)}LP.time=$P.define(),LP.userEvent=$P.define(),LP.addToHistory=$P.define(),LP.remote=$P.define();const UP=[];function FP(e){return null==e?UP:Array.isArray(e)?e:[e]}var WP=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(WP||(WP={}));const YP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let VP;try{VP=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(Me){}class XP{constructor(e,t,r,n,o,i){this.config=e,this.doc=t,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=o,i&&(i._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)CP(this,e<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(null!=r)return CP(this,r),_P(this,r);if(t)throw new RangeError("Field is not present in this state")}update(...e){return zP(this,e,!0)}applyTransaction(e){let t,r=this.config,{base:n,compartments:o}=r;for(let t of e.effects)t.is(xP.reconfigure)?(r&&(o=new Map,r.compartments.forEach(((e,t)=>o.set(t,e))),r=null),o.set(t.value.compartment,t.value.extension)):t.is(DP.reconfigure)?(r=null,n=t.value):t.is(DP.appendConfig)&&(r=null,n=FP(n).concat(t.value));r?t=e.startState.values.slice():(r=SP.resolve(n,o,this),t=new XP(r,this.doc,this.selection,r.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values);let i=e.startState.facet(PP)?e.newSelection:e.newSelection.asSingle();new XP(r,e.newDoc,i,t,((t,r)=>r.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:cP.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),n=this.changes(r.changes),o=[r.range],i=FP(r.effects);for(let r=1;r<t.ranges.length;r++){let a=e(t.ranges[r]),s=this.changes(a.changes),l=s.map(n);for(let e=0;e<r;e++)o[e]=o[e].map(l);let c=n.mapDesc(s,!0);o.push(a.range.map(c)),n=n.compose(l),i=DP.mapEffects(i,l).concat(DP.mapEffects(FP(a.effects),c))}return{changes:n,selection:cP.create(o,t.mainIndex),effects:i}}changes(e=[]){return e instanceof tP?e:tP.of(e,this.doc.length,this.facet(XP.lineSeparator))}toText(e){return qE.of(e.split(this.facet(XP.lineSeparator)||KE))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(CP(this,t),_P(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let n=e[r];n instanceof vP&&null!=this.config.address[n.id]&&(t[r]=n.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(r)for(let t in r)if(Object.prototype.hasOwnProperty.call(e,t)){let o=r[t],i=e[t];n.push(o.init((e=>o.spec.fromJSON(i,e))))}return XP.create({doc:e.doc,selection:cP.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=SP.resolve(e.extensions||[],new Map),r=e.doc instanceof qE?e.doc:qE.of((e.doc||"").split(t.staticFacet(XP.lineSeparator)||KE)),n=e.selection?e.selection instanceof cP?e.selection:cP.single(e.selection.anchor,e.selection.head):cP.single(0);return uP(n,r.length),t.staticFacet(PP)||(n=n.asSingle()),new XP(t,r,n,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(XP.tabSize)}get lineBreak(){return this.facet(XP.lineSeparator)||"\n"}get readOnly(){return this.facet(ZP)}phrase(e,...t){for(let t of this.facet(XP.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,r)=>{if("$"==r)return"$";let n=+(r||1);return!n||n>t.length?e:t[n-1]}))),e}languageDataAt(e,t,r=-1){let n=[];for(let o of this.facet(EP))for(let i of o(this,t,r))Object.prototype.hasOwnProperty.call(i,e)&&n.push(i[e]);return n}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return WP.Space;if(function(e){if(VP)return VP.test(e);for(let t=0;t<e.length;t++){let r=e[t];if(/\w/.test(r)||r>""&&(r.toUpperCase()!=r.toLowerCase()||YP.test(r)))return!0}return!1}(e))return WP.Word;for(let r=0;r<t.length;r++)if(e.indexOf(t[r])>-1)return WP.Word;return WP.Other};var t}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),o=this.charCategorizer(e),i=e-r,a=e-r;for(;i>0;){let e=UE(t,i,!1);if(o(t.slice(e,i))!=WP.Word)break;i=e}for(;a<n;){let e=UE(t,a);if(o(t.slice(a,e))!=WP.Word)break;a=e}return i==a?null:cP.range(i+r,a+r)}}function HP(e,t,r={}){let n={};for(let t of e)for(let e of Object.keys(t)){let o=t[e],i=n[e];if(void 0===i)n[e]=o;else if(i===o||void 0===o);else{if(!Object.hasOwnProperty.call(r,e))throw new Error("Config merge conflict for field "+e);n[e]=r[e](i,o)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}XP.allowMultipleSelections=PP,XP.tabSize=pP.define({combine:e=>e.length?e[0]:4}),XP.lineSeparator=qP,XP.readOnly=ZP,XP.phrases=pP.define({compare(e,t){let r=Object.keys(e),n=Object.keys(t);return r.length==n.length&&r.every((r=>e[r]==t[r]))}}),XP.languageData=EP,XP.changeFilter=TP,XP.transactionFilter=jP,XP.transactionExtender=RP,xP.reconfigure=DP.define();class GP{eq(e){return this==e}range(e,t=e){return KP.create(e,t,this)}}GP.prototype.startSide=GP.prototype.endSide=0,GP.prototype.point=!1,GP.prototype.mapMode=JE.TrackDel;class KP{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new KP(e,t,r)}}function JP(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class eq{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let o=r?this.to:this.from;for(let i=n,a=o.length;;){if(i==a)return i;let n=i+a>>1,s=o[n]-e||(r?this.value[n].endSide:this.value[n].startSide)-t;if(n==i)return s>=0?i:a;s>=0?a=n:i=n+1}}between(e,t,r,n){for(let o=this.findIndex(t,-1e9,!0),i=this.findIndex(r,1e9,!1,o);o<i;o++)if(!1===n(this.from[o]+e,this.to[o]+e,this.value[o]))return!1}map(e,t){let r=[],n=[],o=[],i=-1,a=-1;for(let s=0;s<this.value.length;s++){let l,c,u=this.value[s],d=this.from[s]+e,p=this.to[s]+e;if(d==p){let e=t.mapPos(d,u.startSide,u.mapMode);if(null==e)continue;if(l=c=e,u.startSide!=u.endSide&&(c=t.mapPos(d,u.endSide),c<l))continue}else if(l=t.mapPos(d,u.startSide),c=t.mapPos(p,u.endSide),l>c||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(i<0&&(i=l),u.point&&(a=Math.max(a,c-l)),r.push(u),n.push(l-i),o.push(c-i))}return{mapped:r.length?new eq(n,o,r,a):null,pos:i}}}class tq{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new tq(e,t,r,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:n=0,filterTo:o=this.length}=e,i=e.filter;if(0==t.length&&!i)return this;if(r&&(t=t.slice().sort(JP)),this.isEmpty)return t.length?tq.of(t):this;let a=new oq(this,null,-1).goto(0),s=0,l=[],c=new rq;for(;a.value||s<t.length;)if(s<t.length&&(a.from-t[s].from||a.startSide-t[s].value.startSide)>=0){let e=t[s++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndex<this.chunk.length&&(s==t.length||this.chunkEnd(a.chunkIndex)<t[s].from)&&(!i||n>this.chunkEnd(a.chunkIndex)||o<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!i||n>a.to||o<a.from||i(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||l.push(KP.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?tq.empty:this.nextLayer.update({add:l,filter:i,filterFrom:n,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],a=this.chunk[o],s=e.touchesRange(i,i+a.length);if(!1===s)n=Math.max(n,a.maxPoint),t.push(a),r.push(e.mapPos(i));else if(!0===s){let{mapped:o,pos:s}=a.map(i,e);o&&(n=Math.max(n,o.maxPoint),t.push(o),r.push(s))}}let o=this.nextLayer.map(e);return 0==t.length?o:new tq(r,t,o||tq.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],i=this.chunk[n];if(t>=o&&e<=o+i.length&&!1===i.between(o,e-o,t-o,r))return}this.nextLayer.between(e,t,r)}}iter(e=0){return iq.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return iq.from(e).goto(t)}static compare(e,t,r,n,o=-1){let i=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),a=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),s=nq(i,a,r),l=new sq(i,s,o),c=new sq(a,s,o);r.iterGaps(((e,t,r)=>lq(l,e,c,t,r,n))),r.empty&&0==r.length&&lq(l,0,c,0,0,n)}static eq(e,t,r=0,n){null==n&&(n=999999999);let o=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),i=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(o.length!=i.length)return!1;if(!o.length)return!0;let a=nq(o,i),s=new sq(o,a,0).goto(r),l=new sq(i,a,0).goto(r);for(;;){if(s.to!=l.to||!cq(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>n)return!0;s.next(),l.next()}}static spans(e,t,r,n,o=-1){let i=new sq(e,null,o).goto(t),a=t,s=i.openStart;for(;;){let e=Math.min(i.to,r);if(i.point){let r=i.activeForPoint(i.to),o=i.pointFrom<t?r.length+1:Math.min(r.length,s);n.point(a,e,i.point,r,o,i.pointRank),s=Math.min(i.openEnd(e),r.length)}else e>a&&(n.span(a,e,i.active,s),s=i.openEnd(e));if(i.to>r)return s+(i.point&&i.to>r?1:0);a=i.to,i.next()}}static of(e,t=!1){let r=new rq;for(let n of e instanceof KP?[e]:t?function(e){if(e.length>1)for(let t=e[0],r=1;r<e.length;r++){let n=e[r];if(JP(t,n)>0)return e.slice().sort(JP);t=n}return e}(e):e)r.add(n.from,n.to,n.value);return r.finish()}}tq.empty=new tq([],[],null,-1),tq.empty.nextLayer=tq.empty;class rq{finishChunk(e){this.chunks.push(new eq(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new rq)).add(e,t,r)}addInner(e,t,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(tq.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=tq.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function nq(e,t,r){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let o=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let i=n.get(e.chunk[t]);null==i||(r?r.mapPos(i):i)!=e.chunkPos[t]||(null==r?void 0:r.touchesRange(i,i+e.chunk[t].length))||o.add(e.chunk[t])}return o}class oq{constructor(e,t,r,n=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class iq{constructor(e){this.heap=e}static from(e,t=null,r=-1){let n=[];for(let o=0;o<e.length;o++)for(let i=e[o];!i.isEmpty;i=i.nextLayer)i.maxPoint>=r&&n.push(new oq(i,t,r,o));return 1==n.length?n[0]:new iq(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)aq(this.heap,e);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)aq(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),aq(this.heap,0)}}}function aq(e,t){for(let r=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let o=e[n];if(n+1<e.length&&o.compare(e[n+1])>=0&&(o=e[n+1],n++),r.compare(o)<0)break;e[n]=r,e[t]=o,t=n}}class sq{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=iq.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){uq(this.active,e),uq(this.activeTo,e),uq(this.activeRank,e),this.minActive=pq(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:n,rank:o}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=o;)t++;dq(this.active,t,r),dq(this.activeTo,t,n),dq(this.activeRank,t,o),e&&dq(e,t,this.cursor.from),this.minActive=pq(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&uq(r,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(r),this.cursor.next()}}}if(r){this.openStart=0;for(let t=r.length-1;t>=0&&r[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function lq(e,t,r,n,o,i){e.goto(t),r.goto(n);let a=n+o,s=n,l=n-t;for(;;){let t=e.to+l-r.to||e.endSide-r.endSide,n=t<0?e.to+l:r.to,o=Math.min(n,a);if(e.point||r.point?e.point&&r.point&&(e.point==r.point||e.point.eq(r.point))&&cq(e.activeForPoint(e.to),r.activeForPoint(r.to))||i.comparePoint(s,o,e.point,r.point):o>s&&!cq(e.active,r.active)&&i.compareRange(s,o,e.active,r.active),n>a)break;s=n,t<=0&&e.next(),t>=0&&r.next()}}function cq(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!=t[r]&&!e[r].eq(t[r]))return!1;return!0}function uq(e,t){for(let r=t,n=e.length-1;r<n;r++)e[r]=e[r+1];e.pop()}function dq(e,t,r){for(let r=e.length-1;r>=t;r--)e[r+1]=e[r];e[t]=r}function pq(e,t){let r=-1,n=1e9;for(let o=0;o<t.length;o++)(t[o]-n||e[o].endSide-e[r].endSide)<0&&(r=o,n=t[o]);return r}function hq(e,t,r=e.length){let n=0;for(let o=0;o<r;)9==e.charCodeAt(o)?(n+=t-n%t,o++):(n++,o=UE(e,o));return n}function fq(e,t,r,n){for(let n=0,o=0;;){if(o>=t)return n;if(n==e.length)break;o+=9==e.charCodeAt(n)?r-o%r:1,n=UE(e,n)}return!0===n?-1:e.length}const mq="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),gq="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),bq="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class yq{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function o(e,t,i,a){let s=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return i.push(e[0]+";");for(let r in t){let a=t[r];if(/&/.test(r))o(r.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),a,i);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+r+") should be a primitive value.");o(n(r),a,s,c)}else null!=a&&s.push(r.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+a+";")}(s.length||c)&&i.push((!r||l||a?e:e.map(r)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)o(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=bq[mq]||1;return bq[mq]=e+1,"ͼ"+e.toString(36)}static mount(e,t,r){let n=e[gq],o=r&&r.nonce;n?o&&n.setNonce(o):n=new Oq(e,o),n.mount(Array.isArray(t)?t:[t])}}let vq=new Map;class Oq{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=vq.get(r);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[gq]=t;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],vq.set(r,this)}else{this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[gq]=this}mount(e){let t=this.sheet,r=0,n=0;for(let o=0;o<e.length;o++){let i=e[o],a=this.modules.indexOf(i);if(a<n&&a>-1&&(this.modules.splice(a,1),n--,a=-1),-1==a){if(this.modules.splice(n++,0,i),t)for(let e=0;e<i.rules.length;e++)t.insertRule(i.rules[e],r++)}else{for(;n<a;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}for(var wq={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Aq={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},xq="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),kq="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Sq=0;Sq<10;Sq++)wq[48+Sq]=wq[96+Sq]=String(Sq);for(Sq=1;Sq<=24;Sq++)wq[Sq+111]="F"+Sq;for(Sq=65;Sq<=90;Sq++)wq[Sq]=String.fromCharCode(Sq+32),Aq[Sq]=String.fromCharCode(Sq);for(var Cq in wq)Aq.hasOwnProperty(Cq)||(Aq[Cq]=wq[Cq]);function _q(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function Eq(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Pq(e,t){if(!t.anchorNode)return!1;try{return Eq(e,t.anchorNode)}catch(e){return!1}}function qq(e){return 3==e.nodeType?Bq(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function Tq(e,t,r,n){return!!r&&(Rq(e,t,r,n,-1)||Rq(e,t,r,n,1))}function jq(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Rq(e,t,r,n,o){for(;;){if(e==r&&t==n)return!0;if(t==(o<0?0:Zq(e))){if("DIV"==e.nodeName)return!1;let r=e.parentNode;if(!r||1!=r.nodeType)return!1;t=jq(e)+(o<0?0:1),e=r}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(o<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=o<0?Zq(e):0}}}function Zq(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function $q(e,t){let r=t?e.left:e.right;return{left:r,right:r,top:e.top,bottom:e.bottom}}function Mq(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class Nq{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?Zq(t):0),r,Math.min(e.focusOffset,r?Zq(r):0))}set(e,t,r,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=n}}let Dq,Lq=null;function Iq(e){if(e.setActive)return e.setActive();if(Lq)return e.focus(Lq);let t=[];for(let r=e;r&&(t.push(r,r.scrollTop,r.scrollLeft),r!=r.ownerDocument);r=r.parentNode);if(e.focus(null==Lq?{get preventScroll(){return Lq={preventScroll:!0},!0}}:void 0),!Lq){Lq=!1;for(let e=0;e<t.length;){let r=t[e++],n=t[e++],o=t[e++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=o&&(r.scrollLeft=o)}}}function Bq(e,t,r=t){let n=Dq||(Dq=document.createRange());return n.setEnd(e,r),n.setStart(e,t),n}function Qq(e,t,r){let n={key:t,code:t,keyCode:r,which:r,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,e.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,e.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function zq(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Uq(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class Fq{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Fq(e.parentNode,jq(e),t)}static after(e,t){return new Fq(e.parentNode,jq(e)+1,t)}}const Wq=[];class Yq{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let r,n=this.dom,o=null;for(let i of this.children){if(7&i.flags){if(!i.dom&&(r=o?o.nextSibling:n.firstChild)){let e=Yq.get(r);(!e||!e.parent&&e.canReuseDOM(i))&&i.reuseDOM(r)}i.sync(e,t),i.flags&=-8}if(r=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&r!=i.dom&&(t.written=!0),i.dom.parentNode==n)for(;r&&r!=i.dom;)r=Vq(r);else n.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:n.firstChild,r&&t&&t.node==n&&(t.written=!0);r;)r=Vq(r)}else if(1&this.flags)for(let r of this.children)7&r.flags&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let n=0==Zq(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}r=n<0?e:e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!Yq.get(r);)r=r.nextSibling;if(!r)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==r)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,r=0){let n=-1,o=-1,i=-1,a=-1;for(let s=0,l=r,c=r;s<this.children.length;s++){let r=this.children[s],u=l+r.length;if(l<e&&u>t)return r.domBoundsAround(e,t,l);if(u>=e&&-1==n&&(n=s,o=l),l>t&&r.dom.parentNode==this.dom){i=s,a=c;break}c=u,l=u+r.breakAfter}return{from:o,to:a<0?r+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:i<this.children.length&&i>=0?this.children[i].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=Wq){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&r.indexOf(e)<0&&e.destroy()}this.children.splice(e,t-e,...r);for(let e=0;e<r.length;e++)r[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Xq(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,r,n,o,i){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){for(let e of this.children)e.destroy();this.parent=null}}function Vq(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Yq.prototype.breakAfter=0;class Xq{constructor(e,t,r){this.children=e,this.pos=t,this.i=r,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function Hq(e,t,r,n,o,i,a,s,l){let{children:c}=e,u=c.length?c[t]:null,d=i.length?i[i.length-1]:null,p=d?d.breakAfter:a;if(!(t==n&&u&&!a&&!p&&i.length<2&&u.merge(r,o,i.length?d:null,0==r,s,l))){if(n<c.length){let e=c[n];e&&(o<e.length||e.breakAfter&&(null==d?void 0:d.breakAfter))?(t==n&&(e=e.split(o),o=0),!p&&d&&e.merge(0,o,d,!0,0,l)?i[i.length-1]=e:((o||e.children.length&&!e.children[0].length)&&e.merge(0,o,null,!1,0,l),i.push(e))):(null==e?void 0:e.breakAfter)&&(d?d.breakAfter=1:a=1),n++}for(u&&(u.breakAfter=a,r>0&&(!a&&i.length&&u.merge(r,u.length,i[0],!1,s,0)?u.breakAfter=i.shift().breakAfter:(r<u.length||u.children.length&&0==u.children[u.children.length-1].length)&&u.merge(r,u.length,null,!1,s,0),t++));t<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),l=i.length?0:s;else{if(!c[t].become(i[0]))break;t++,i.shift(),s=i.length?0:l}!i.length&&t&&n<c.length&&!c[t-1].breakAfter&&c[n].merge(0,0,c[t-1],!1,s,l)&&t--,(t<n||i.length)&&e.replaceChildren(t,n,i)}}function Gq(e,t,r,n,o,i){let a=e.childCursor(),{i:s,off:l}=a.findPos(r,1),{i:c,off:u}=a.findPos(t,-1),d=t-r;for(let e of n)d+=e.length;e.length+=d,Hq(e,c,u,s,l,n,0,o,i)}let Kq="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Jq="undefined"!=typeof document?document:{documentElement:{style:{}}};const eT=/Edge\/(\d+)/.exec(Kq.userAgent),tT=/MSIE \d/.test(Kq.userAgent),rT=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Kq.userAgent),nT=!!(tT||rT||eT),oT=!nT&&/gecko\/(\d+)/i.test(Kq.userAgent),iT=!nT&&/Chrome\/(\d+)/.exec(Kq.userAgent),aT="webkitFontSmoothing"in Jq.documentElement.style,sT=!nT&&/Apple Computer/.test(Kq.vendor),lT=sT&&(/Mobile\/\w+/.test(Kq.userAgent)||Kq.maxTouchPoints>2);var cT={mac:lT||/Mac/.test(Kq.platform),windows:/Win/.test(Kq.platform),linux:/Linux|X11/.test(Kq.platform),ie:nT,ie_version:tT?Jq.documentMode||6:rT?+rT[1]:eT?+eT[1]:0,gecko:oT,gecko_version:oT?+(/Firefox\/(\d+)/.exec(Kq.userAgent)||[0,0])[1]:0,chrome:!!iT,chrome_version:iT?+iT[1]:0,ios:lT,android:/Android\b/.test(Kq.userAgent),webkit:aT,safari:sT,webkit_version:aT?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Jq.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class uT extends Yq{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,r){return!(8&this.flags||r&&(!(r instanceof uT)||this.length-(t-e)+r.length>256||8&r.flags)||(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new uT(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Fq(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,r){let n=e.nodeValue.length;t>n&&(t=n);let o=t,i=t,a=0;0==t&&r<0||t==n&&r>=0?cT.chrome||cT.gecko||(t?(o--,a=1):i<n&&(i++,a=-1)):r<0?o--:i<n&&i++;let s=Bq(e,o,i).getClientRects();if(!s.length)return null;let l=s[(a?a<0:r>=0)?0:s.length-1];return cT.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l),a?$q(l,a<0):l||null}(this.dom,e,t)}}class dT extends Yq{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let e of t)e.setParent(this)}setAttrs(e){if(zq(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof dT&&r.mark.eq(this.mark))||e&&o<=0||t<this.length&&i<=0)||(Gq(this,e,t,r?r.children:[],o-1,i-1),this.markDirty(),0))}split(e){let t=[],r=0,n=-1,o=0;for(let i of this.children){let a=r+i.length;a>e&&t.push(r<e?i.split(e-r):i),n<0&&r>=e&&(n=o),r=a,o++}let i=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new dT(this.mark,t,i)}domAtPos(e){return fT(this,e)}coordsAt(e,t){return gT(this,e,t)}}class pT extends Yq{static create(e,t,r){return new pT(e,t,r)}constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}split(e){let t=pT.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof pT&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}become(e){return e instanceof pT&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return qE.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,r=t&&t.state.doc,n=this.posAtStart;return r?r.slice(n,n+this.length):qE.empty}domAtPos(e){return(this.length?0==e:this.side>0)?Fq.before(this.dom):Fq.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let i=this.side?this.side<0:e>0;for(let t=i?n.length-1:0;o=n[t],!(e>0?0==t:t==n.length-1||o.top<o.bottom);t+=i?-1:1);return $q(o,!i)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class hT extends Yq{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof hT&&e.side==this.side}split(){return new hT(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Fq.before(this.dom):Fq.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return qE.empty}get isHidden(){return!0}}function fT(e,t){let r=e.dom,{children:n}=e,o=0;for(let e=0;o<n.length;o++){let i=n[o],a=e+i.length;if(!(a==e&&i.getSide()<=0)){if(t>e&&t<a&&i.dom.parentNode==r)return i.domAtPos(t-e);if(t<=e)break;e=a}}for(let e=o;e>0;e--){let t=n[e-1];if(t.dom.parentNode==r)return t.domAtPos(t.length)}for(let e=o;e<n.length;e++){let t=n[e];if(t.dom.parentNode==r)return t.domAtPos(0)}return new Fq(r,0)}function mT(e,t,r){let n,{children:o}=e;r>0&&t instanceof dT&&o.length&&(n=o[o.length-1])instanceof dT&&n.mark.eq(t.mark)?mT(n,t.children[0],r-1):(o.push(t),t.setParent(e)),e.length+=t.length}function gT(e,t,r){let n=null,o=-1,i=null,a=-1;!function e(t,s){for(let l=0,c=0;l<t.children.length&&c<=s;l++){let u=t.children[l],d=c+u.length;d>=s&&(u.children.length?e(u,s-c):(!i||i.isHidden&&r>0)&&(d>s||c==d&&u.getSide()>0)?(i=u,a=s-c):(c<s||c==d&&u.getSide()<0&&!u.isHidden)&&(n=u,o=s-c)),c=d}}(e,t);let s=(r<0?n:i)||n||i;return s?s.coordsAt(Math.max(0,s==n?o:a),r):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let r=qq(t);return r[r.length-1]||null}(e)}function bT(e,t){for(let r in e)"class"==r&&t.class?t.class+=" "+e.class:"style"==r&&t.style?t.style+=";"+e.style:t[r]=e[r];return t}uT.prototype.children=pT.prototype.children=hT.prototype.children=Wq;const yT=Object.create(null);function vT(e,t,r){if(e==t)return!0;e||(e=yT),t||(t=yT);let n=Object.keys(e),o=Object.keys(t);if(n.length-(r&&n.indexOf(r)>-1?1:0)!=o.length-(r&&o.indexOf(r)>-1?1:0))return!1;for(let i of n)if(i!=r&&(-1==o.indexOf(i)||e[i]!==t[i]))return!1;return!0}function OT(e,t,r){let n=!1;if(t)for(let o in t)r&&o in r||(n=!0,"style"==o?e.style.cssText="":e.removeAttribute(o));if(r)for(let o in r)t&&t[o]==r[o]||(n=!0,"style"==o?e.style.cssText=r[o]:e.setAttribute(o,r[o]));return n}function wT(e){let t=Object.create(null);for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r];t[n.name]=n.value}return t}class AT extends Yq{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,n,o,i){if(r){if(!(r instanceof AT))return!1;this.dom||r.transferDOM(this)}return n&&this.setDeco(r?r.attrs:null),Gq(this,e,t,r?r.children:[],o,i),!0}split(e){let t=new AT;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:r,off:n}=this.childPos(e);n&&(t.append(this.children[r].split(n),0),this.children[r].merge(n,this.children[r].length,null,!1,0,0),r++);for(let e=r;e<this.children.length;e++)t.append(this.children[e],0);for(;r>0&&0==this.children[r-1].length;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){vT(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){mT(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=bT(t,this.attrs||{})),r&&(this.attrs=bT({class:r},this.attrs||{}))}domAtPos(e){return fT(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?4&this.flags&&(zq(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(OT(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&Yq.get(n)instanceof dT;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(r=Yq.get(n))||void 0===r?void 0:r.isEditable)||cT.ios&&this.children.some((e=>e instanceof uT))))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let r of this.children){if(!(r instanceof uT)||/[^ -~]/.test(r.text))return null;let n=qq(r.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let r=gT(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=r.bottom-r.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let n=(t-e.textHeight)/2;return{top:r.top+n,bottom:r.bottom-n,left:r.left,right:r.left}}}return r}become(e){return!1}covers(){return!0}static find(e,t){for(let r=0,n=0;r<e.children.length;r++){let o=e.children[r],i=n+o.length;if(i>=t){if(o instanceof AT)return o;if(i>t)break}n=i+o.breakAfter}return null}}class xT extends Yq{constructor(e,t,r){super(),this.widget=e,this.length=t,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof xT&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}domAtPos(e){return 0==e?Fq.before(this.dom):Fq.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let r=new xT(this.widget,t,this.deco);return r.breakAfter=this.breakAfter,r}get children(){return Wq}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):qE.empty}domBoundsAround(){return null}become(e){return e instanceof xT&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:r}=this.deco;return t!=r&&(e<0?t<0:r>0)}}class kT{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}destroy(e){}}var ST=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(ST||(ST={}));class CT extends GP{constructor(e,t,r,n){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new _T(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new PT(e,t,t,r,e.widget||null,!1)}static replace(e){let t,r,n=!!e.block;if(e.isBlockGap)t=-5e8,r=4e8;else{let{start:o,end:i}=qT(e,n);t=(o?n?-3e8:-1:5e8)-1,r=1+(i?n?2e8:1:-6e8)}return new PT(e,t,r,n,e.widget||null,!0)}static line(e){return new ET(e)}static set(e,t=!1){return tq.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}CT.none=tq.empty;class _T extends CT{constructor(e){let{start:t,end:r}=qT(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof _T&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(r=e.attrs)||void 0===r?void 0:r.class))&&vT(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}_T.prototype.point=!1;class ET extends CT{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ET&&this.spec.class==e.spec.class&&vT(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}ET.prototype.mapMode=JE.TrackBefore,ET.prototype.point=!0;class PT extends CT{constructor(e,t,r,n,o,i){super(t,r,o,e),this.block=n,this.isReplace=i,this.mapMode=n?t<=0?JE.TrackBefore:JE.TrackAfter:JE.TrackDel}get type(){return this.startSide!=this.endSide?ST.WidgetRange:this.startSide<=0?ST.WidgetBefore:ST.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof PT&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function qT(e,t=!1){let{inclusiveStart:r,inclusiveEnd:n}=e;return null==r&&(r=e.inclusive),null==n&&(n=e.inclusive),{start:null!=r?r:t,end:null!=n?n:t}}function TT(e,t,r,n=0){let o=r.length-1;o>=0&&r[o]+n>=e?r[o]=Math.max(r[o],t):r.push(e,t)}PT.prototype.point=!0;class jT{constructor(e,t,r,n){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof xT&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new AT),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(RT(new hT(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof xT||this.getLine()}buildText(e,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:r,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(r){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(RT(new uT(this.text.slice(this.textOff,this.textOff+n)),t),r),this.atCursorPos=!0,this.textOff+=n,e-=n,r=0}}span(e,t,r,n){this.buildText(t-e,r,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,r,n,o,i){if(this.disallowBlockEffectsFor[i]&&r instanceof PT){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(r instanceof PT)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new xT(r.widget||new ZT("div"),a,r));else{let i=pT.create(r.widget||new ZT("span"),a,a?0:r.startSide),s=this.atCursorPos&&!i.isEditable&&o<=n.length&&(e<t||r.startSide>0),l=!i.isEditable&&(e<t||o>n.length||r.startSide<=0),c=this.getLine();2!=this.pendingBuffer||s||i.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),s&&(c.append(RT(new hT(1),n),o),o=n.length+Math.max(0,o-n.length)),c.append(RT(i,n),o),this.atCursorPos=l,this.pendingBuffer=l?e<t||o>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=o)}static build(e,t,r,n,o){let i=new jT(e,t,r,o);return i.openEnd=tq.spans(n,t,r,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}}function RT(e,t){for(let r of t)e=new dT(r,[e],e.length);return e}class ZT extends kT{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const $T=pP.define(),MT=pP.define(),NT=pP.define(),DT=pP.define(),LT=pP.define(),IT=pP.define(),BT=pP.define(),QT=pP.define({combine:e=>e.some((e=>e))}),zT=pP.define({combine:e=>e.some((e=>e))});class UT{constructor(e,t="nearest",r="nearest",n=5,o=5,i=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=o,this.isSnapshot=i}map(e){return e.empty?this:new UT(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 UT(cP.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const FT=DP.define({map:(e,t)=>e.map(t)});function WT(e,t,r){let n=e.facet(DT);n.length?n[0](t):window.onerror?window.onerror(String(t),r,void 0,void 0,t):r?console.error(r+":",t):console.error(t)}const YT=pP.define({combine:e=>!e.length||e[0]});let VT=0;const XT=pP.define();class HT{constructor(e,t,r,n,o){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=n,this.extension=o(this)}static define(e,t){const{eventHandlers:r,eventObservers:n,provide:o,decorations:i}=t||{};return new HT(VT++,e,r,n,(e=>{let t=[XT.of(e)];return i&&t.push(ej.of((t=>{let r=t.plugin(e);return r?i(r):CT.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return HT.define((t=>new e(t)),t)}}class GT{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(WT(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){WT(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){WT(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const KT=pP.define(),JT=pP.define(),ej=pP.define(),tj=pP.define(),rj=pP.define();function nj(e,t,r){let n=e.state.facet(rj);if(!n.length)return n;let o=n.map((t=>t instanceof Function?t(e):t)),i=[];return tq.spans(o,t,r,{point(){},span(e,t,r,n){let o=i;for(let i=r.length-1;i>=0;i--,n--){let a,s=r[i].spec.bidiIsolate;if(null!=s)if(n>0&&o.length&&(a=o[o.length-1]).to==e&&a.direction==s)a.to=t,o=a.inner;else{let r={from:e,to:t,direction:s,inner:[]};o.push(r),o=r.inner}}}}),i}const oj=pP.define();function ij(e){let t=0,r=0,n=0,o=0;for(let i of e.state.facet(oj)){let a=i(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(r=Math.max(r,a.right)),null!=a.top&&(n=Math.max(n,a.top)),null!=a.bottom&&(o=Math.max(o,a.bottom)))}return{left:t,right:r,top:n,bottom:o}}const aj=pP.define();class sj{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new sj(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.toA<r.fromA)break;r=r.join(n),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(0==t.length)return e;let r=[];for(let n=0,o=0,i=0,a=0;;n++){let s=n==e.length?null:e[n],l=i-a,c=s?s.fromB:1e9;for(;o<t.length&&t[o]<c;){let e=t[o],n=t[o+1],i=Math.max(a,e),s=Math.min(c,n);if(i<=s&&new sj(i+l,s+l,i,s).addToSet(r),n>c)break;o+=2}if(!s)return r;new sj(s.fromA,s.toA,s.fromB,s.toB).addToSet(r),i=s.toA,a=s.toB}}}class lj{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=tP.empty(this.startState.doc.length);for(let e of r)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges(((e,t,r,o)=>n.push(new sj(e,t,r,o)))),this.changedRanges=n}static create(e,t,r){return new lj(e,t,r)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var cj=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(cj||(cj={}));const uj=cj.LTR,dj=cj.RTL;function pj(e){let t=[];for(let r=0;r<e.length;r++)t.push(1<<+e[r]);return t}const hj=pj("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),fj=pj("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),mj=Object.create(null),gj=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),r=e.charCodeAt(1);mj[t]=r,mj[r]=-t}const bj=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class yj{get dir(){return this.level%2?dj:uj}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,r,n){let o=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.from<=t&&a.to>=t){if(a.level==r)return i;(o<0||(0!=n?n<0?a.from<t:a.to>t:e[o].level>a.level))&&(o=i)}}if(o<0)throw new RangeError("Index out of range");return o}}function vj(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!vj(n.inner,o.inner))return!1}return!0}const Oj=[];function wj(e,t,r,n,o,i,a){let s=n%2?2:1;if(n%2==o%2)for(let l=t,c=0;l<r;){let t=!0,u=!1;if(c==i.length||l<i[c].from){let e=Oj[l];e!=s&&(t=!1,u=16==e)}let d=t||1!=s?null:[],p=t?n:n+1,h=l;e:for(;;)if(c<i.length&&h==i[c].from){if(u)break e;let f=i[c];if(!t)for(let e=f.to,t=c+1;;){if(e==r)break e;if(!(t<i.length&&i[t].from==e)){if(Oj[e]==s)break e;break}e=i[t++].to}c++,d?d.push(f):(f.from>l&&a.push(new yj(l,f.from,p)),Aj(e,f.direction==uj!=!(p%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.to),h=f.to}else{if(h==r||(t?Oj[h]!=s:Oj[h]==s))break;h++}d?wj(e,l,h,n+1,o,d,a):l<h&&a.push(new yj(l,h,p)),l=h}else for(let l=r,c=i.length;l>t;){let r=!0,u=!1;if(!c||l>i[c-1].to){let e=Oj[l-1];e!=s&&(r=!1,u=16==e)}let d=r||1!=s?null:[],p=r?n:n+1,h=l;e:for(;;)if(c&&h==i[c-1].to){if(u)break e;let f=i[--c];if(!r)for(let e=f.from,r=c;;){if(e==t)break e;if(!r||i[r-1].to!=e){if(Oj[e-1]==s)break e;break}e=i[--r].from}d?d.push(f):(f.to<l&&a.push(new yj(f.to,l,p)),Aj(e,f.direction==uj!=!(p%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.from),h=f.from}else{if(h==t||(r?Oj[h-1]!=s:Oj[h-1]==s))break;h--}d?wj(e,h,l,n+1,o,d,a):h<l&&a.push(new yj(h,l,p)),l=h}}function Aj(e,t,r,n,o,i,a){let s=t%2?2:1;!function(e,t,r,n,o){for(let a=0;a<=n.length;a++){let s=a?n[a-1].to:t,l=a<n.length?n[a].from:r,c=a?256:o;for(let t=s,r=c,n=c;t<l;t++){let o=(i=e.charCodeAt(t))<=247?hj[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?fj[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8203?256:64336<=i&&i<=65023?4:8204==i?256:1;512==o?o=r:8==o&&4==n&&(o=16),Oj[t]=4==o?2:o,7&o&&(n=o),r=o}for(let e=s,t=c,n=c;e<l;e++){let o=Oj[e];if(128==o)e<l-1&&t==Oj[e+1]&&24&t?o=Oj[e]=t:Oj[e]=256;else if(64==o){let o=e+1;for(;o<l&&64==Oj[o];)o++;let i=e&&8==t||o<r&&8==Oj[o]?1==n?1:8:256;for(let t=e;t<o;t++)Oj[t]=i;e=o-1}else 8==o&&1==n&&(Oj[e]=1);t=o,7&o&&(n=o)}}var i}(e,o,i,n,s),function(e,t,r,n,o){let i=1==o?2:1;for(let a=0,s=0,l=0;a<=n.length;a++){let c=a?n[a-1].to:t,u=a<n.length?n[a].from:r;for(let t,r,n,a=c;a<u;a++)if(r=mj[t=e.charCodeAt(a)])if(r<0){for(let e=s-3;e>=0;e-=3)if(gj[e+1]==-r){let t=gj[e+2],r=2&t?o:4&t?1&t?i:o:0;r&&(Oj[a]=Oj[gj[e]]=r),s=e;break}}else{if(189==gj.length)break;gj[s++]=a,gj[s++]=t,gj[s++]=l}else if(2==(n=Oj[a])||1==n){let e=n==o;l=e?0:1;for(let t=s-3;t>=0;t-=3){let r=gj[t+2];if(2&r)break;if(e)gj[t+2]|=2;else{if(4&r)break;gj[t+2]|=4}}}}}(e,o,i,n,s),function(e,t,r,n){for(let o=0,i=n;o<=r.length;o++){let a=o?r[o-1].to:e,s=o<r.length?r[o].from:t;for(let l=a;l<s;){let a=Oj[l];if(256==a){let a=l+1;for(;;)if(a==s){if(o==r.length)break;a=r[o++].to,s=o<r.length?r[o].from:t}else{if(256!=Oj[a])break;a++}let c=1==i,u=c==(1==(a<t?Oj[a]:n))?c?1:2:n;for(let t=a,n=o,i=n?r[n-1].to:e;t>l;)t==i&&(t=r[--n].from,i=n?r[n-1].to:e),Oj[--t]=u;l=a}else i=a,l++}}}(o,i,n,s),wj(e,o,i,t,r,n,a)}function xj(e){return[new yj(0,e,0)]}let kj="";function Sj(e,t,r,n,o){var i;let a=n.head-e.from,s=-1;if(0==a){if(!o||!e.length)return null;t[0].level!=r&&(a=t[0].side(!1,r),s=0)}else if(a==e.length){if(o)return null;let e=t[t.length-1];e.level!=r&&(a=e.side(!0,r),s=t.length-1)}s<0&&(s=yj.find(t,a,null!==(i=n.bidiLevel)&&void 0!==i?i:-1,n.assoc));let l=t[s];a==l.side(o,r)&&(l=t[s+=o?1:-1],a=l.side(!o,r));let c=o==(l.dir==r),u=UE(e.text,a,c);if(kj=e.text.slice(Math.min(a,u),Math.max(a,u)),u!=l.side(o,r))return cP.cursor(u+e.from,c?-1:1,l.level);let d=s==(o?t.length-1:0)?null:t[s+(o?1:-1)];return d||l.level==r?d&&d.level<l.level?cP.cursor(d.side(!o,r)+e.from,o?1:-1,d.level):cP.cursor(u+e.from,o?-1:1,l.level):cP.cursor(o?e.to:e.from,o?-1:1,r)}class Cj extends Yq{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 AT],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new sj(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:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?n=this.domChanged.newSel.head:function(e,t){let r=!1;return t&&e.iterChangedRanges(((e,n)=>{e<t.to&&n>t.from&&(r=!0)})),r}(e.changes,this.hasComposition)||e.selectionSet||(n=e.state.selection.main.head));let o=n>-1?function(e,t,r){let n=Ej(e,r);if(!n)return null;let{node:o,from:i,to:a}=n,s=o.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(n.from,n.to)!=s)return null;let l=t.invertedDesc,c=new sj(l.mapPos(i),l.mapPos(a),i,a),u=[];for(let t=o.parentNode;;t=t.parentNode){let r=Yq.get(t);if(r instanceof dT)u.push({node:t,deco:r.mark});else{if(r instanceof AT||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:o,marks:u,line:t};if(t==e.contentDOM)return null;u.push({node:t,deco:new _T({inclusive:!0,attributes:wT(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;r=new sj(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(r.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(cT.ie||cT.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=function(e,t,r){let n=new qj;return tq.compare(e,t,r,n),n.changes}(this.decorations,this.updateDeco(),e.changes);return r=sj.extendWithRanges(r,i),!!(7&this.flags||0!=r.length)&&(this.updateInner(r,e.startState.doc.length,o),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 e=cT.chrome||cT.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof xT&&e.widget instanceof _j&&o.push(e.dom);n.updateGaps(o)}updateChildren(e,t,r){let n=r?r.range.addToSet(e.slice()):e,o=this.childCursor(t);for(let e=n.length-1;;e--){let t=e>=0?n[e]:null;if(!t)break;let i,a,s,l,{fromA:c,toA:u,fromB:d,toB:p}=t;if(r&&r.range.fromB<p&&r.range.toB>d){let e=jT.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),t=jT.build(this.view.state.doc,r.range.toB,p,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,s=e.openStart,l=t.openEnd;let n=this.compositionView(r);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),i=e.content.concat(n).concat(t.content)}else({content:i,breakAtStart:a,openStart:s,openEnd:l}=jT.build(this.view.state.doc,d,p,this.decorations,this.dynamicDecorationMap));let{i:h,off:f}=o.findPos(u,1),{i:m,off:g}=o.findPos(c,-1);Hq(this,m,g,h,f,i,a,s,l)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new uT(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new dT(r,[t],t.length);let r=new AT;return r.append(t,0),r}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let r=Yq.get(e);r&&r!=t&&(r.dom=null),t.setDOM(e)},r=this.childPos(e.range.fromB,1),n=this.children[r.i];t(e.line,n);for(let o=e.marks.length-1;o>=-1;o--)r=n.childPos(r.off,1),n=n.children[r.i],t(o>=0?e.marks[o].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,o=!n&&Pq(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||o))return;let i=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?s:this.moveToLine(this.domAtPos(a.head));if(cT.gecko&&a.empty&&!this.hasComposition&&1==(c=s).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=l=new Fq(e,0),i=!0}var c;let u=this.view.observer.selectionRange;!i&&u.focusNode&&Tq(s.node,s.offset,u.anchorNode,u.anchorOffset)&&Tq(l.node,l.offset,u.focusNode,u.focusOffset)||(this.view.observer.ignore((()=>{cT.android&&cT.chrome&&this.dom.contains(u.focusNode)&&function(e,t){for(let r=e;r&&r!=t;r=r.assignedSlot||r.parentNode)if(1==r.nodeType&&"false"==r.contentEditable)return!0;return!1}(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=_q(this.view.root);if(e)if(a.empty){if(cT.gecko){let e=(t=s.node,n=s.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable?2:0));if(e&&3!=e){let t=Pj(s.node,s.offset,1==e?1:-1);t&&(s=new Fq(t.node,t.offset))}}e.collapse(s.node,s.offset),null!=a.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=a.bidiLevel)}else if(e.extend){e.collapse(s.node,s.offset);try{e.extend(l.node,l.offset)}catch(e){}}else{let t=document.createRange();a.anchor>a.head&&([s,l]=[l,s]),t.setEnd(l.node,l.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}var t,n;o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())})),this.view.observer.setSelectionRange(s,l)),this.impreciseAnchor=s.precise?null:new Fq(u.anchorNode,u.anchorOffset),this.impreciseHead=l.precise?null:new Fq(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=_q(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!(r&&t.empty&&t.assoc&&r.modify))return;let i=AT.find(this,t.head);if(!i)return;let a=i.posAtStart;if(t.head==a||t.head==a+i.length)return;let s=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!s||!l||s.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);r.collapse(c.node,c.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(n,o)}moveToLine(e){let t,r=this.dom;if(e.node!=r)return e;for(let n=e.offset;!t&&n<r.childNodes.length;n++){let e=Yq.get(r.childNodes[n]);e instanceof AT&&(t=e.domAtPos(0))}for(let n=e.offset-1;!t&&n>=0;n--){let e=Yq.get(r.childNodes[n]);e instanceof AT&&(t=e.domAtPos(e.length))}return t?new Fq(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=Yq.get(t);if(e&&e.rootView==this)return e;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<this.children.length-1;){let e=this.children[t];if(r<e.length||e instanceof AT)break;t++,r=0}return this.children[t].domAtPos(r)}coordsAt(e,t){let r=null,n=0;for(let o=this.length,i=this.children.length-1;i>=0;i--){let a=this.children[i],s=o-a.breakAfter,l=s-a.length;if(s<e)break;l<=e&&(l<e||a.covers(-1))&&(s>e||a.covers(1))&&(!r||a instanceof AT&&!(r instanceof AT&&t>=0))&&(r=a,n=l),o=l}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 AT))return null;for(;n.children.length;){let{i:e,off:t}=n.childPos(r,1);for(;;e++){if(e==n.children.length)return null;if((n=n.children[e]).length)break}r=t}if(!(n instanceof uT))return null;let o=UE(n.text,r);if(o==r)return null;let i=Bq(n.dom,r,o).getClientRects();for(let e=0;e<i.length;e++){let t=i[e];if(e==i.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:r,to:n}=e,o=this.view.contentDOM.clientWidth,i=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==cj.LTR;for(let e=0,l=0;l<this.children.length;l++){let c=this.children[l],u=e+c.length;if(u>n)break;if(e>=r){let r=c.dom.getBoundingClientRect();if(t.push(r.height),i){let t=c.dom.lastChild,n=t?qq(t):[];if(n.length){let t=n[n.length-1],i=s?t.right-r.left:r.right-t.left;i>a&&(a=i,this.minWidth=o,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?cj.RTL:cj.LTR}measureTextSize(){for(let e of this.children)if(e instanceof AT){let t=e.measureTextSize();if(t)return t}let e,t,r,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let o=qq(n.firstChild)[0];e=n.getBoundingClientRect().height,t=o?o.width/27:7,r=o?o.height:e,n.remove()})),{lineHeight:e,charWidth:t,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Xq(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let o=n==t.viewports.length?null:t.viewports[n],i=o?o.from-1:this.length;if(i>r){let n=(t.lineBlockAt(i).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(CT.replace({widget:new _j(n),block:!0,inclusive:!0,isBlockGap:!0}).range(r,i))}if(!o)break;r=o.to+1}return CT.set(e)}updateDeco(){let e=this.view.state.facet(ej).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}let t,{range:r}=e,n=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1);if(!n)return;!r.empty&&(t=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let o=ij(this.view),i={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:a,offsetHeight:s}=this.view.scrollDOM;!function(e,t,r,n,o,i,a,s){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,d=!1;u&&!d;)if(1==u.nodeType){let e,p=u==l.body,h=1,f=1;if(p)e=Mq(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();h=t.width/u.offsetWidth,f=t.height/u.offsetHeight,e={left:t.left,right:t.left+u.clientWidth*h,top:t.top,bottom:t.top+u.clientHeight*f}}let m=0,g=0;if("nearest"==o)t.top<e.top?(g=-(e.top-t.top+a),r>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+a)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+a,r<0&&t.top-g<e.top&&(g=-(e.top+g-t.top+a)));else{let n=t.bottom-t.top,i=e.bottom-e.top;g=("center"==o&&n<=i?t.top+n/2-i/2:"start"==o||"center"==o&&r<0?t.top-a:t.bottom-i+a)-e.top}if("nearest"==n?t.left<e.left?(m=-(e.left-t.left+i),r>0&&t.right>e.right+m&&(m=t.right-e.right+m+i)):t.right>e.right&&(m=t.right-e.right+i,r<0&&t.left<e.left+m&&(m=-(e.left+m-t.left+i))):m=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==s?t.left-i:t.right-(e.right-e.left)+i)-e.left,m||g)if(p)c.scrollBy(m,g);else{let e=0,r=0;if(g){let e=u.scrollTop;u.scrollTop+=g/f,r=(u.scrollTop-e)*f}if(m){let t=u.scrollLeft;u.scrollLeft+=m/h,e=(u.scrollLeft-t)*h}t={left:t.left-e,top:t.top-r,right:t.right-e,bottom:t.bottom-r},e&&Math.abs(e-m)<1&&(n="nearest"),r&&Math.abs(r-g)<1&&(o="nearest")}if(p)break;u=u.assignedSlot||u.parentNode}else{if(11!=u.nodeType)break;u=u.host}}(this.view.scrollDOM,i,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,s),-s),this.view.textDirection==cj.LTR)}}class _j extends kT{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function Ej(e,t){let r=e.observer.selectionRange,n=r.focusNode&&Pj(r.focusNode,r.focusOffset,0);if(!n)return null;let o=t-n.offset;return{from:o,to:o+n.node.nodeValue.length,node:n.node}}function Pj(e,t,r){if(r<=0)for(let r=e,n=t;;){if(3==r.nodeType)return{node:r,offset:n};if(!(1==r.nodeType&&n>0))break;r=r.childNodes[n-1],n=Zq(r)}if(r>=0)for(let n=e,o=t;;){if(3==n.nodeType)return{node:n,offset:o};if(!(1==n.nodeType&&o<n.childNodes.length&&r>=0))break;n=n.childNodes[o],o=0}return null}let qj=class{constructor(){this.changes=[]}compareRange(e,t){TT(e,t,this.changes)}comparePoint(e,t){TT(e,t,this.changes)}};function Tj(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function jj(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Rj(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Zj(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function $j(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Mj(e,t,r){let n,o,i,a,s,l,c,u,d=!1;for(let p=e.firstChild;p;p=p.nextSibling){let e=qq(p);for(let h=0;h<e.length;h++){let f=e[h];o&&Rj(o,f)&&(f=Zj($j(f,o.bottom),o.top));let m=Tj(t,f),g=jj(r,f);if(0==m&&0==g)return 3==p.nodeType?Nj(p,t,r):Mj(p,t,r);if(!n||a>g||a==g&&i>m){n=p,o=f,i=m,a=g;let s=g?r<f.top?-1:1:m?t<f.left?-1:1:0;d=!s||(s>0?h<e.length-1:h>0)}0==m?r>f.bottom&&(!c||c.bottom<f.bottom)?(s=p,c=f):r<f.top&&(!u||u.top>f.top)&&(l=p,u=f):c&&Rj(c,f)?c=$j(c,f.bottom):u&&Rj(u,f)&&(u=Zj(u,f.top))}}if(c&&c.bottom>=r?(n=s,o=c):u&&u.top<=r&&(n=l,o=u),!n)return{node:e,offset:0};let p=Math.max(o.left,Math.min(o.right,t));return 3==n.nodeType?Nj(n,p,r):d&&"false"!=n.contentEditable?Mj(n,p,r):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(o.left+o.right)/2?1:0)}}function Nj(e,t,r){let n=e.nodeValue.length,o=-1,i=1e9,a=0;for(let s=0;s<n;s++){let n=Bq(e,s,s+1).getClientRects();for(let l=0;l<n.length;l++){let c=n[l];if(c.top==c.bottom)continue;a||(a=t-c.left);let u=(c.top>r?c.top-r:r-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u<i){let r=t>=(c.left+c.right)/2,n=r;if((cT.chrome||cT.gecko)&&Bq(e,s).getBoundingClientRect().left==c.right&&(n=!r),u<=0)return{node:e,offset:s+(n?1:0)};o=s+(n?1:0),i=u}}}return{node:e,offset:o>-1?o:a>0?e.nodeValue.length:0}}function Dj(e,t,r,n=-1){var o,i;let a,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:d}=t,p=d-l;if(p<0)return 0;if(p>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,o=!1;a=e.elementAtHeight(p),a.type!=ST.Text;)for(;p=n>0?a.bottom+t:a.top-t,!(p>=0&&p<=c);){if(o)return r?null:0;o=!0,n=-n}d=l+p;let h=a.from;if(h<e.viewport.from)return 0==e.viewport.from?0:r?null:Lj(e,s,a,u,d);if(h>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:r?null:Lj(e,s,a,u,d);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(u,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=m.elementFromPoint(u,d),g&&!e.contentDOM.contains(g)&&(g=null));let b,y=-1;if(g&&0!=(null===(o=e.docView.nearest(g))||void 0===o?void 0:o.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(u,d);e&&({offsetNode:b,offset:y}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(u,d);t&&(({startContainer:b,startOffset:y}=t),(!e.contentDOM.contains(b)||cT.safari&&function(e,t,r){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return Bq(e,n-1,n).getBoundingClientRect().left>r}(b,y,u)||cT.chrome&&function(e,t,r){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return r-(1==e.nodeType?e.getBoundingClientRect():Bq(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(b,y,u))&&(b=void 0))}if(!b||!e.docView.dom.contains(b)){let t=AT.find(e.docView,h);if(!t)return p>a.top+a.height/2?a.to:a.from;({node:b,offset:y}=Mj(t.dom,u,d))}let v=e.docView.nearest(b);if(!v)return null;if(v.isWidget&&1==(null===(i=v.dom)||void 0===i?void 0:i.nodeType)){let e=v.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?v.posAtStart:v.posAtEnd}return v.localPosFromDOM(b,y)+v.posAtStart}function Lj(e,t,r,n,o){let i=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&r.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;i+=Math.floor((o-r.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(r.from,r.to);return r.from+fq(a,i,e.state.tabSize)}function Ij(e,t){let r=e.lineBlockAt(t);if(Array.isArray(r.type))for(let e of r.type)if(e.to>t||e.to==t&&(e.to==r.to||e.type==ST.Text))return e;return r}function Bj(e,t,r,n){let o=e.state.doc.lineAt(t.head),i=e.bidiSpans(o),a=e.textDirectionAt(o.from);for(let s=t,l=null;;){let t=Sj(o,i,a,s,r),c=kj;if(!t){if(o.number==(r?e.state.doc.lines:1))return s;c="\n",o=e.state.doc.line(o.number+(r?1:-1)),i=e.bidiSpans(o),t=cP.cursor(r?o.from:o.to)}if(l){if(!l(c))return s}else{if(!n)return t;l=n(c)}s=t}}function Qj(e,t,r){for(;;){let n=0;for(let o of e)o.between(t-1,t+1,((e,o,i)=>{if(t>e&&t<o){let i=n||r||(t-e<o-t?-1:1);t=i<0?e:o,n=i}}));if(!n)return t}}function zj(e,t,r){let n=Qj(e.state.facet(tj).map((t=>t(e))),r.from,t.head>r.from?-1:1);return n==r.from?r:cP.cursor(n,n<r.from?1:-1)}class Uj{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=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,cT.safari&&e.contentDOM.addEventListener("input",(()=>null)),cT.gecko&&function(e){bR.has(e)||(bR.add(e),e.addEventListener("copy",(()=>{})),e.addEventListener("cut",(()=>{})))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let r,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=Yq.get(n))&&r.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let e of r.observers)e(this.view,t);for(let e of r.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Wj(e),r=this.handlers,n=this.view.contentDOM;for(let e in t)if("scroll"!=e){let o=!t[e].handlers.length,i=r[e];i&&o!=!i.handlers.length&&(n.removeEventListener(e,this.handleEvent),i=null),i||n.addEventListener(e,this.handleEvent,{passive:o})}for(let e in r)"scroll"==e||t[e]||n.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=e.keyCode&&Xj.indexOf(e.keyCode)<0&&(this.view.inputState.lastEscPress=0),cT.android&&cT.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!cT.ios||e.synthetic||e.altKey||e.metaKey||!((t=Yj.find((t=>t.keyCode==e.keyCode)))&&!e.ctrlKey||Vj.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,Qq(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(cT.safari&&!cT.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}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 Fj(e,t){return(r,n)=>{try{return t.call(e,n,r)}catch(e){WT(r.state,e)}}}function Wj(e){let t=Object.create(null);function r(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let n in e.domEventHandlers){let o=e.domEventHandlers[n];o&&r(n).handlers.push(Fj(t.value,o))}if(e&&e.domEventObservers)for(let n in e.domEventObservers){let o=e.domEventObservers[n];o&&r(n).observers.push(Fj(t.value,o))}}for(let e in Kj)r(e).handlers.push(Kj[e]);for(let e in Jj)r(e).observers.push(Jj[e]);return t}const Yj=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Vj="dthko",Xj=[16,17,18,20,91,92,224,225];function Hj(e){return.7*Math.max(0,e)+8}class Gj{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.scrollParent=function(e){let t=e.ownerDocument;for(let r=e.parentNode;r&&r!=t.body;)if(1==r.nodeType){if(r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)return r;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}return null}(e.contentDOM),this.atoms=e.state.facet(tj).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(XP.allowMultipleSelections)&&function(e,t){let r=e.state.facet($T);return r.length?r[0](t):cT.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:r}=e.state.selection;if(r.empty)return!1;let n=_q(e.root);if(!n||0==n.rangeCount)return!0;let o=n.getRangeAt(0).getClientRects();for(let e=0;e<o.length;e++){let r=o[e];if(r.left<=t.clientX&&r.right>=t.clientX&&r.top<=t.clientY&&r.bottom>=t.clientY)return!0}return!1}(e,t)||1!=dR(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,n=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},i=ij(this.view);e.clientX-i.left<=o.left+6?r=-Hj(o.left-e.clientX):e.clientX+i.right>=o.right-6&&(r=Hj(e.clientX-o.right)),e.clientY-i.top<=o.top+6?n=-Hj(o.top-e.clientY):e.clientY+i.bottom>=o.bottom-6&&(n=Hj(e.clientY-o.bottom)),this.setScrollSpeed(r,n)}up(e){null==this.dragging&&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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],o=null;if(n.empty){let e=Qj(this.atoms,n.from,0);e!=n.from&&(o=cP.cursor(e,-1))}else{let e=Qj(this.atoms,n.from,-1),t=Qj(this.atoms,n.to,1);e==n.from&&t==n.to||(o=cP.range(n.from==n.anchor?e:t,n.from==n.head?e:t))}o&&(t||(t=e.ranges.slice()),t[r]=o)}return t?cP.create(t,e.mainIndex):e}select(e){let{view:t}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection)||r.main.assoc!=t.state.selection.main.assoc&&!1===this.dragging)&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Kj=Object.create(null),Jj=Object.create(null),eR=cT.ie&&cT.ie_version<15||cT.ios&&cT.webkit_version<604;function tR(e,t){let r,{state:n}=e,o=1,i=n.toText(t),a=i.lines==n.selection.ranges.length;if(null!=hR&&n.selection.ranges.every((e=>e.empty))&&hR==i.toString()){let e=-1;r=n.changeByRange((r=>{let s=n.doc.lineAt(r.from);if(s.from==e)return{range:r};e=s.from;let l=n.toText((a?i.line(o++).text:t)+n.lineBreak);return{changes:{from:s.from,insert:l},range:cP.cursor(r.from+l.length)}}))}else r=a?n.changeByRange((e=>{let t=i.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:cP.cursor(e.from+t.length)}})):n.replaceSelection(i);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function rR(e,t,r,n){if(1==n)return cP.cursor(t,r);if(2==n)return function(e,t,r=1){let n=e.charCategorizer(t),o=e.doc.lineAt(t),i=t-o.from;if(0==o.length)return cP.cursor(t);0==i?r=1:i==o.length&&(r=-1);let a=i,s=i;r<0?a=UE(o.text,i,!1):s=UE(o.text,i);let l=n(o.text.slice(a,s));for(;a>0;){let e=UE(o.text,a,!1);if(n(o.text.slice(e,a))!=l)break;a=e}for(;s<o.length;){let e=UE(o.text,s);if(n(o.text.slice(s,e))!=l)break;s=e}return cP.range(a+o.from,s+o.from)}(e.state,t,r);{let r=AT.find(e.docView,t),n=e.state.doc.lineAt(r?r.posAtEnd:t),o=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<e.state.doc.length&&i==n.to&&i++,cP.range(o,i)}}Jj.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Kj.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),Jj.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Jj.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Kj.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let r=null;for(let n of e.state.facet(NT))if(r=n(e,t),r)break;if(r||0!=t.button||(r=function(e,t){let r=aR(e,t),n=dR(t),o=e.state.selection;return{update(e){e.docChanged&&(r.pos=e.changes.mapPos(r.pos),o=o.map(e.changes))},get(t,i,a){let s,l=aR(e,t),c=rR(e,l.pos,l.bias,n);if(r.pos!=l.pos&&!i){let t=rR(e,r.pos,r.bias,n),o=Math.min(t.from,c.from),i=Math.max(t.to,c.to);c=o<c.from?cP.range(o,i):cP.range(i,o)}return i?o.replaceRange(o.main.extend(c.from,c.to)):a&&1==n&&o.ranges.length>1&&(s=function(e,t){for(let r=0;r<e.ranges.length;r++){let{from:n,to:o}=e.ranges[r];if(n<=t&&o>=t)return cP.create(e.ranges.slice(0,r).concat(e.ranges.slice(r+1)),e.mainIndex==r?0:e.mainIndex-(e.mainIndex>r?1:0))}return null}(o,l.pos))?s:a?o.addRange(c):cP.create([c])}}}(e,t)),r){let n=!e.hasFocus;e.inputState.startMouseSelection(new Gj(e,t,r,n)),n&&e.observer.ignore((()=>Iq(e.contentDOM)));let o=e.inputState.mouseSelection;if(o)return o.start(t),!1===o.dragging}return!1};let nR=(e,t)=>e>=t.top&&e<=t.bottom,oR=(e,t,r)=>nR(t,r)&&e>=r.left&&e<=r.right;function iR(e,t,r,n){let o=AT.find(e.docView,t);if(!o)return 1;let i=t-o.posAtStart;if(0==i)return 1;if(i==o.length)return-1;let a=o.coordsAt(i,-1);if(a&&oR(r,n,a))return-1;let s=o.coordsAt(i,1);return s&&oR(r,n,s)?1:a&&nR(n,a)?-1:1}function aR(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:r,bias:iR(e,r,t.clientX,t.clientY)}}const sR=cT.ie&&cT.ie_version<=11;let lR=null,cR=0,uR=0;function dR(e){if(!sR)return e.detail;let t=lR,r=uR;return lR=e,uR=Date.now(),cR=!t||r>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(cR+1)%3:1}function pR(e,t,r,n){if(!r)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:i}=e.inputState,a=n&&i&&function(e,t){let r=e.state.facet(MT);return r.length?r[0](t):cT.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:i.from,to:i.to}:null,s={from:o,insert:r},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Kj.dragstart=(e,t)=>{let{selection:{main:r}}=e.state;if(t.target.draggable){let n=e.docView.nearest(t.target);if(n&&n.isWidget){let e=n.posAtStart,t=e+n.length;(e>=r.to||t<=r.from)&&(r=cP.range(e,t))}}let{inputState:n}=e;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=r,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(r.from,r.to)),t.dataTransfer.effectAllowed="copyMove"),!1},Kj.dragend=e=>(e.inputState.draggedContent=null,!1),Kj.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let r=t.dataTransfer.files;if(r&&r.length){let n=Array(r.length),o=0,i=()=>{++o==r.length&&pR(e,t,n.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e<r.length;e++){let t=new FileReader;t.onerror=i,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),i()},t.readAsText(r[e])}return!0}{let r=t.dataTransfer.getData("Text");if(r)return pR(e,t,r,!0),!0}return!1},Kj.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let r=eR?null:t.clipboardData;return r?(tR(e,r.getData("text/plain")||r.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus(),setTimeout((()=>{e.focus(),r.remove(),tR(e,r.value)}),50)}(e),!1)};let hR=null;Kj.copy=Kj.cut=(e,t)=>{let{text:r,ranges:n,linewise:o}=function(e){let t=[],r=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),r.push(n));if(!t.length){let o=-1;for(let{from:n}of e.selection.ranges){let i=e.doc.lineAt(n);i.number>o&&(t.push(i.text),r.push({from:i.from,to:Math.min(e.doc.length,i.to+1)})),o=i.number}n=!0}return{text:t.join(e.lineBreak),ranges:r,linewise:n}}(e.state);if(!r&&!o)return!1;hR=o?r:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let i=eR?null:t.clipboardData;return i?(i.clearData(),i.setData("text/plain",r),!0):(function(e,t){let r=e.dom.parentNode;if(!r)return;let n=r.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout((()=>{n.remove(),e.focus()}),50)}(e,r),!1)};const fR=$P.define();function mR(e,t){let r=[];for(let n of e.facet(BT)){let o=n(e,t);o&&r.push(o)}return r?e.update({effects:r,annotations:fR.of(!0)}):null}function gR(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let r=mR(e.state,t);r?e.dispatch(r):e.update([])}}),10)}Jj.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),gR(e)},Jj.blur=e=>{e.observer.clearSelectionRange(),gR(e)},Jj.compositionstart=Jj.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},Jj.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,cT.chrome&&cT.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},Jj.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Kj.beforeinput=(e,t)=>{var r;let n;if(cT.chrome&&cT.android&&(n=Yj.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0;setTimeout((()=>{var r;((null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const bR=new Set,yR=["pre-wrap","normal","pre-line","break-spaces"];class vR{constructor(e){this.lineWrapping=e,this.doc=qE.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}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 yR.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,r,n,o,i){let a=yR.indexOf(e)>-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let e=0;e<i.length;e++){let t=i[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return s}}class OR{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class wR{constructor(e,t,r,n,o){this.from=e,this.length=t,this.top=r,this.height=n,this._content=o}get type(){return"number"==typeof this._content?ST.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof PT?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new wR(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var AR=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(AR||(AR={}));const xR=.001;class kR{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>xR&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return kR.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let o=this,i=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:s,toA:l,fromB:c,toB:u}=n[a],d=o.lineAt(s,AR.ByPosNoHeight,r.setDoc(t),0,0),p=d.to>=l?d:o.lineAt(l,AR.ByPosNoHeight,r,0,0);for(u+=p.to-l,l=p.to;a>0&&d.from<=n[a-1].toA;)s=n[a-1].fromA,c=n[a-1].fromB,a--,s<d.from&&(d=o.lineAt(s,AR.ByPosNoHeight,r,0,0));c+=d.from-s,s=d.from;let h=qR.build(r.setDoc(i),e,c,u);o=o.replace(s,l,h)}return o.updateHeight(r,0)}static empty(){return new CR(0,0)}static of(e){if(1==e.length)return e[0];let t=0,r=e.length,n=0,o=0;for(;;)if(t==r)if(n>2*o){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,n-=o.size}else{if(!(o>2*n))break;{let t=e[r];t.break?e.splice(r,1,t.left,null,t.right):e.splice(r,1,t.left,t.right),r+=2+t.break,o-=t.size}}else if(n<o){let r=e[t++];r&&(n+=r.size)}else{let t=e[--r];t&&(o+=t.size)}let i=0;return null==e[t-1]?(i=1,t--):null==e[t]&&(i=1,r++),new ER(kR.of(e.slice(0,t)),i,kR.of(e.slice(r)))}}kR.prototype.size=1;class SR extends kR{constructor(e,t,r){super(e,t),this.deco=r}blockAt(e,t,r,n){return new wR(n,this.length,r,this.height,this.deco||0)}lineAt(e,t,r,n,o){return this.blockAt(0,r,n,o)}forEachLine(e,t,r,n,o,i){e<=o+this.length&&t>=o&&i(this.blockAt(0,r,n,o))}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class CR extends SR{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,n){return new wR(n,this.length,r,this.height,this.breaks)}replace(e,t,r){let n=r[0];return 1==r.length&&(n instanceof CR||n instanceof _R&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof _R?n=new CR(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):kR.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(r||this.outdated)&&this.setHeight(e,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:""})`}}class _R extends kR{constructor(e){super(e,0)}heightMetrics(e,t){let r,n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);r=t/i,this.length>i+1&&(a=(this.height-t)/(this.length-i-1))}else r=this.height/i;return{firstLine:n,lastLine:o,perLine:r,perChar:a}}blockAt(e,t,r,n){let{firstLine:o,lastLine:i,perLine:a,perChar:s}=this.heightMetrics(t,n);if(t.lineWrapping){let o=n+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),i=t.doc.lineAt(o),l=a+i.length*s,c=Math.max(r,e-l/2);return new wR(i.from,i.length,c,l,0)}{let n=Math.max(0,Math.min(i-o,Math.floor((e-r)/a))),{from:s,length:l}=t.doc.line(o+n);return new wR(s,l,r+a*n,a,0)}}lineAt(e,t,r,n,o){if(t==AR.ByHeight)return this.blockAt(e,r,n,o);if(t==AR.ByPosNoHeight){let{from:t,to:n}=r.doc.lineAt(e);return new wR(t,n-t,0,0,0)}let{firstLine:i,perLine:a,perChar:s}=this.heightMetrics(r,o),l=r.doc.lineAt(e),c=a+l.length*s,u=l.number-i,d=n+a*u+s*(l.from-o-u);return new wR(l.from,l.length,Math.max(n,Math.min(d,n+this.height-c)),c,0)}forEachLine(e,t,r,n,o,i){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:a,perLine:s,perChar:l}=this.heightMetrics(r,o);for(let c=e,u=n;c<=t;){let t=r.doc.lineAt(c);if(c==e){let r=t.number-a;u+=s*r+l*(e-o-r)}let n=s+l*t.length;i(new wR(t.from,t.length,u,n,0)),u+=n,c=t.to+1}}replace(e,t,r){let n=this.length-t;if(n>0){let e=r[r.length-1];e instanceof _R?r[r.length-1]=new _R(e.length+n):r.push(null,new _R(n-1))}if(e>0){let t=r[0];t instanceof _R?r[0]=new _R(e+t.length):r.unshift(new _R(e-1),null)}return kR.of(r)}decomposeLeft(e,t){t.push(new _R(e-1),null)}decomposeRight(e,t){t.push(null,new _R(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let o=t+this.length;if(n&&n.from<=t+this.length&&n.more){let r=[],i=Math.max(t,n.from),a=-1;for(n.from>t&&r.push(new _R(n.from-t-1).updateHeight(e,t));i<=o&&n.more;){let t=e.doc.lineAt(i).length;r.length&&r.push(null);let o=n.heights[n.index++];-1==a?a=o:Math.abs(o-a)>=xR&&(a=-2);let s=new CR(t,o);s.outdated=!1,r.push(s),i+=t+1}i<=o&&r.push(null,new _R(o-i).updateHeight(e,i));let s=kR.of(r);return(a<0||Math.abs(s.height-this.height)>=xR||Math.abs(a-this.heightMetrics(e,t).perLine)>=xR)&&(e.heightChanged=!0),s}return(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ER extends kR{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 1&this.flags}blockAt(e,t,r,n){let o=r+this.left.height;return e<o?this.left.blockAt(e,t,r,n):this.right.blockAt(e,t,o,n+this.left.length+this.break)}lineAt(e,t,r,n,o){let i=n+this.left.height,a=o+this.left.length+this.break,s=t==AR.ByHeight?e<i:e<a,l=s?this.left.lineAt(e,t,r,n,o):this.right.lineAt(e,t,r,i,a);if(this.break||(s?l.to<a:l.from>a))return l;let c=t==AR.ByPosNoHeight?AR.ByPosNoHeight:AR.ByPos;return s?l.join(this.right.lineAt(a,c,r,i,a)):this.left.lineAt(a,c,r,n,o).join(l)}forEachLine(e,t,r,n,o,i){let a=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,t,r,n,o,i),t>=s&&this.right.forEachLine(e,t,r,a,s,i);else{let l=this.lineAt(s,AR.ByPos,r,n,o);e<l.from&&this.left.forEachLine(e,l.from-1,r,n,o,i),l.to>=e&&l.from<=t&&i(l),t>l.to&&this.right.forEachLine(l.to+1,t,r,a,s,i)}}replace(e,t,r){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let o=[];e>0&&this.decomposeLeft(e,o);let i=o.length;for(let e of r)o.push(e);if(e>0&&PR(o,i-1),t<this.length){let e=o.length;this.decomposeRight(t,o),PR(o,e)}return kR.of(o)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=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);e<r&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?kR.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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:o,right:i}=this,a=t+o.length+this.break,s=null;return n&&n.from<=t+o.length&&n.more?s=o=o.updateHeight(e,t,r,n):o.updateHeight(e,t,r),n&&n.from<=a+i.length&&n.more?s=i=i.updateHeight(e,a,r,n):i.updateHeight(e,a,r),s?this.balanced(o,i):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function PR(e,t){let r,n;null==e[t]&&(r=e[t-1])instanceof _R&&(n=e[t+1])instanceof _R&&e.splice(t-1,3,new _R(r.length+1+n.length))}class qR{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 e=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof CR?r.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new CR(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,o=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let i=t-e;r.block?this.addBlock(new SR(i,n,r)):(i||o||n>=5)&&this.addLineDeco(n,o,i)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new CR(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new _R(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 CR)return e;let t=new CR(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=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof CR||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new CR(0,-1));let r=e;for(let e of this.nodes)e instanceof CR&&e.updateHeight(this.oracle,r),r+=e?e.length:1;return this.nodes}static build(e,t,r,n){let o=new qR(r,e);return tq.spans(t,r,n,o,0),o.finish(r)}}class TR{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,n){(e<t||r&&r.heightRelevant||n&&n.heightRelevant)&&TT(e,t,this.changes,5)}}function jR(e,t){let r=e.getBoundingClientRect(),n=e.ownerDocument,o=n.defaultView||window,i=Math.max(0,r.left),a=Math.min(o.innerWidth,r.right),s=Math.max(0,r.top),l=Math.min(o.innerHeight,r.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let r=t,n=window.getComputedStyle(r);if((r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)&&"visible"!=n.overflow){let n=r.getBoundingClientRect();i=Math.max(i,n.left),a=Math.min(a,n.right),s=Math.max(s,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?r.offsetParent:r.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:i-r.left,right:Math.max(i,a)-r.left,top:s-(r.top+t),bottom:Math.max(s,l)-(r.top+t)}}function RR(e,t){let r=e.getBoundingClientRect();return{left:0,right:r.right-r.left,top:t,bottom:r.bottom-(r.top+t)}}class ZR{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;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.size!=o.size)return!1}return!0}draw(e,t){return CT.replace({widget:new $R(this.size*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class $R extends kT{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class MR{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=BR,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=cj.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(JT).some((e=>"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new vR(t),this.stateDeco=e.facet(ej).filter((e=>"function"!=typeof e)),this.heightMap=kR.empty().applyChanges(this.stateDeco,qE.empty,this.heightOracle.setDoc(e.doc),[new sj(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=CT.set(this.lineGaps.map((e=>e.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:e,to:t})=>n>=e&&n<=t))){let{from:t,to:r}=this.lineBlockAt(n);e.push(new NR(t,r))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?BR:new QR(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:zR(e,this.scaler))}))}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(ej).filter((e=>"function"!=typeof e));let n=e.changedRanges,o=sj.extendWithRanges(n,function(e,t,r){let n=new TR;return tq.compare(e,t,r,n,0),n.changes}(r,this.stateDeco,e?e.changes:tP.empty(this.state.doc.length))),i=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),this.heightMap.height!=i&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<s.from||t.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,this.updateForViewport(),l&&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(zT)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,o=r.whiteSpace;this.defaultTextDirection="rtl"==r.direction?cj.RTL:cj.LTR;let i=this.heightOracle.mustRefreshForWrapping(o),a=t.getBoundingClientRect(),s=i||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let e=a.width/t.offsetWidth,r=a.height/t.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(a.width-t.offsetWidth)<1)&&(e=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(a.height-t.offsetHeight)<1)&&(r=1),this.scaleX==e&&this.scaleY==r||(this.scaleX=e,this.scaleY=r,l|=8,i=s=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,d=(parseInt(r.paddingBottom)||0)*this.scaleY;this.paddingTop==u&&this.paddingBottom==d||(this.paddingTop=u,this.paddingBottom=d,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=Uq(e.scrollDOM);let h=(this.printing?RR:jR)(t,this.paddingTop),f=h.top-this.pixelViewport.top,m=h.bottom-this.pixelViewport.bottom;this.pixelViewport=h;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(s=!0)),!this.inView&&!this.scrollTarget)return 0;let b=a.width;if(this.contentDOMWidth==b&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),s){let t=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(t)&&(i=!0),i||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:r,charWidth:a,textHeight:s}=e.docView.measureTextSize();i=r>0&&n.refresh(o,r,a,s,b/a,t),i&&(e.docView.minWidth=0,l|=8)}f>0&&m>0?c=Math.max(f,m):f<0&&m<0&&(c=Math.min(f,m)),n.heightChanged=!1;for(let r of this.viewports){let o=r.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(r);this.heightMap=(i?kR.empty().applyChanges(this.stateDeco,qE.empty,this.heightOracle,[new sj(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,i,new OR(r.from,o))}n.heightChanged&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&l||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(i?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}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,o=this.heightOracle,{visibleTop:i,visibleBottom:a}=this,s=new NR(n.lineAt(i-1e3*r,AR.ByHeight,o,0,0).from,n.lineAt(a+1e3*(1-r),AR.ByHeight,o,0,0).to);if(t){let{head:e}=t.range;if(e<s.from||e>s.to){let r,i=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=n.lineAt(e,AR.ByPos,o,0,0);r="center"==t.y?(a.top+a.bottom)/2-i/2:"start"==t.y||"nearest"==t.y&&e<s.from?a.top:a.bottom-i,s=new NR(n.lineAt(r-500,AR.ByHeight,o,0,0).from,n.lineAt(r+i+500,AR.ByHeight,o,0,0).to)}}return s}mapViewport(e,t){let r=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new NR(this.heightMap.lineAt(r,AR.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,AR.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,AR.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,AR.ByPos,this.heightOracle,0,0),{visibleTop:i,visibleBottom:a}=this;return(0==e||n<=i-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||o>=a+Math.max(10,Math.min(r,250)))&&n>i-2e3&&o<a+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let n of e)t.touchesRange(n.from,n.to)||r.push(new ZR(t.mapPos(n.from),t.mapPos(n.to),n.size));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,o=n>>1,i=n<<1;if(this.defaultTextDirection!=cj.LTR&&!r)return[];let a=[],s=(n,i,l,c)=>{if(i-n<o)return;let u=this.state.selection.main,d=[u.from];u.empty||d.push(u.to);for(let e of d)if(e>n&&e<i)return s(n,e-10,l,c),void s(e+10,i,l,c);let p=function(e,t){for(let r of e)if(t(r))return r}(e,(e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<o&&Math.abs(e.to-i)<o&&!d.some((t=>e.from<t&&e.to>t))));if(!p){if(i<l.to&&t&&r&&t.visibleRanges.some((e=>e.from<=i&&e.to>=i))){let e=t.moveToLineBoundary(cP.cursor(i),!1,!0).head;e>n&&(i=e)}p=new ZR(n,i,this.gapSize(l,n,i,c))}a.push(p)};for(let e of this.viewportLines){if(e.length<i)continue;let t=DR(e.from,e.to,this.stateDeco);if(t.total<i)continue;let o,a,l=this.scrollTarget?this.scrollTarget.range.head:null;if(r){let r,i,s=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=IR(t,l),o=((this.visibleBottom-this.visibleTop)/2+s)/e.height;r=n-o,i=n+o}else r=(this.visibleTop-e.top-s)/e.height,i=(this.visibleBottom-e.top+s)/e.height;o=LR(t,r),a=LR(t,i)}else{let e,r,i=t.total*this.heightOracle.charWidth,s=n*this.heightOracle.charWidth;if(null!=l){let n=IR(t,l),o=((this.pixelViewport.right-this.pixelViewport.left)/2+s)/i;e=n-o,r=n+o}else e=(this.pixelViewport.left-s)/i,r=(this.pixelViewport.right+s)/i;o=LR(t,e),a=LR(t,r)}o>e.from&&s(e.from,o,e,t),a<e.to&&s(a,e.to,e,t)}return a}gapSize(e,t,r,n){let o=IR(n,r)-IR(n,t);return this.heightOracle.lineWrapping?e.height*o:n.total*this.heightOracle.charWidth*o}updateLineGaps(e){ZR.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=CT.set(e.map((e=>e.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];tq.spans(e,this.viewport.from,this.viewport.to,{span(e,r){t.push({from:e,to:r})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,r)=>e.from!=t[r].from||e.to!=t[r].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))||zR(this.heightMap.lineAt(e,AR.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return zR(this.heightMap.lineAt(this.scaler.fromDOM(e),AR.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 zR(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}}class NR{constructor(e,t){this.from=e,this.to=t}}function DR(e,t,r){let n=[],o=e,i=0;return tq.spans(r,e,t,{span(){},point(e,t){e>o&&(n.push({from:o,to:e}),i+=e-o),o=t}},20),o<t&&(n.push({from:o,to:t}),i+=t-o),{total:i,ranges:n}}function LR({total:e,ranges:t},r){if(r<=0)return t[0].from;if(r>=1)return t[t.length-1].to;let n=Math.floor(e*r);for(let e=0;;e++){let{from:r,to:o}=t[e],i=o-r;if(n<=i)return r+n;n-=i}}function IR(e,t){let r=0;for(let{from:n,to:o}of e.ranges){if(t<=o){r+=t-n;break}r+=o-n}return r/e.total}const BR={toDOM:e=>e,fromDOM:e=>e,scale:1};class QR{constructor(e,t,r){let n=0,o=0,i=0;this.viewports=r.map((({from:r,to:o})=>{let i=t.lineAt(r,AR.ByPos,e,0,0).top,a=t.lineAt(o,AR.ByPos,e,0,0).bottom;return n+=a-i,{from:r,to:o,top:i,bottom:a,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=i+(e.top-o)*this.scale,i=e.domBottom=e.domTop+(e.bottom-e.top),o=e.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return n+(e-r)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);r=o.bottom,n=o.domBottom}}fromDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return r+(e-n)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);r=o.bottom,n=o.domBottom}}}function zR(e,t){if(1==t.scale)return e;let r=t.toDOM(e.top),n=t.toDOM(e.bottom);return new wR(e.from,e.length,r,n-r,Array.isArray(e._content)?e._content.map((e=>zR(e,t))):e._content)}const UR=pP.define({combine:e=>e.join(" ")}),FR=pP.define({combine:e=>e.indexOf(!0)>-1}),WR=yq.newName(),YR=yq.newName(),VR=yq.newName(),XR={"&light":"."+YR,"&dark":"."+VR};function HR(e,t,r){return new yq(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!r||!r[t])throw new RangeError(`Unsupported selector: ${t}`);return r[t]})):e+" "+t})}const GR=HR("."+WR,{"&":{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},".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-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},"&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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',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"}},XR),KR="";class JR{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(XP.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=KR}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let e=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==t)break;let i=Yq.get(n),a=Yq.get(o);(i&&a?i.breakAfter:(i?i.breakAfter:tZ(n))||tZ(o)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&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 o,i=-1,a=1;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=n.exec(t))&&(i=o.index,a=o[0].length),this.append(t.slice(r,i<0?t.length:i)),i<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);r=i+a}}readNode(e){if(e.cmIgnore)return;let t=Yq.get(e),r=t&&t.overrideDOMText;if(null!=r){this.findPointInside(e,r.length);for(let e=r.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&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)(3==e.nodeType?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(eZ(e,r.node,r.offset)?t:0))}}function eZ(e,t,r){for(;;){if(!t||r<Zq(t))return!1;if(t==e)return!0;r=jq(t)+1,t=t.parentNode}}function tZ(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class rZ{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class nZ{constructor(e,t,r,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:o,impreciseAnchor:i}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let t=o||i?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:r,anchorOffset:n,focusNode:o,focusOffset:i}=e.observer.selectionRange;return r&&(t.push(new rZ(r,n)),o==r&&i==n||t.push(new rZ(o,i))),t}(e),r=new JR(t,e.state);r.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=r.text,this.newSel=function(e,t){if(0==e.length)return null;let r=e[0].pos,n=2==e.length?e[1].pos:r;return r>-1&&n>-1?cP.single(r+t,n+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,r=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!Eq(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=i&&i.node==t.anchorNode&&i.offset==t.anchorOffset||!Eq(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=cP.single(n,r)}}}function oZ(e,t){let r,{newSel:n}=t,o=e.state.selection.main,i=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:n,to:a}=t.bounds,s=o.from,l=null;(8===i||cT.android&&t.text.length<a-n)&&(s=o.to,l="end");let c=function(e,t,r,n){let o=Math.min(e.length,t.length),i=0;for(;i<o&&e.charCodeAt(i)==t.charCodeAt(i);)i++;if(i==o&&e.length==t.length)return null;let a=e.length,s=t.length;for(;a>0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;return"end"==n&&(r-=a+Math.max(0,i-Math.min(a,s))-i),a<i&&e.length<t.length?(i-=r<=i&&r>=a?i-r:0,s=i+(s-a),a=i):s<i&&(i-=r<=i&&r>=s?i-r:0,a=i+(a-s),s=i),{from:i,toA:a,toB:s}}(e.state.doc.sliceString(n,a,KR),t.text,s-n,l);c&&(cT.chrome&&13==i&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==KR+KR&&c.toB--,r={from:n+c.from,to:n+c.toA,insert:qE.of(t.text.slice(c.from,c.toB).split(KR))})}else n&&(!e.hasFocus&&e.state.facet(YT)||n.main.eq(o))&&(n=null);if(!r&&!n)return!1;if(!r&&t.typeOver&&!o.empty&&n&&n.main.empty?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:r&&r.from>=o.from&&r.to<=o.to&&(r.from!=o.from||r.to!=o.to)&&o.to-o.from-(r.to-r.from)<=4?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,r.from).append(r.insert).append(e.state.doc.slice(r.to,o.to))}:(cT.mac||cT.android)&&r&&r.from==r.to&&r.from==o.head-1&&/^\. ?$/.test(r.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(n&&2==r.insert.length&&(n=cP.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:qE.of([" "])}):cT.chrome&&r&&r.from==r.to&&r.from==o.head&&"\n "==r.insert.toString()&&e.lineWrapping&&(n&&(n=cP.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:qE.of([" "])}),r){if(cT.ios&&e.inputState.flushIOSKey())return!0;if(cT.android&&(r.from==o.from&&r.to==o.to&&1==r.insert.length&&2==r.insert.lines&&Qq(e.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==i&&r.insert.length<r.to-r.from&&r.to>o.head)&&Qq(e.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&Qq(e.contentDOM,"Delete",46)))return!0;let t,a=r.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let s=()=>t||(t=function(e,t,r){let n,o=e.state,i=o.selection.main;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let r=i.from<t.from?o.sliceDoc(i.from,t.from):"",a=i.to>t.to?o.sliceDoc(t.to,i.to):"";n=o.replaceSelection(e.state.toText(r+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=o.changes(t),s=r&&r.main.to<=a.newLength?r.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let l,c=e.state.sliceDoc(t.from,t.to),u=r&&Ej(e,r.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(i.head);let d=i.to-t.to,p=i.to-i.from;n=o.changeByRange((r=>{if(r.from==i.from&&r.to==i.to)return{changes:a,range:s||r.map(a)};let n=r.to-d,u=n-c.length;if(r.to-r.from!=p||e.state.sliceDoc(u,n)!=c||r.to>=l.from&&r.from<=l.to)return{range:r};let h=o.changes({from:u,to:n,insert:t.insert}),f=r.to-i.to;return{changes:h,range:s?cP.range(Math.max(0,s.anchor+f),Math.max(0,s.head+f)):r.map(h)}}))}else n={changes:a,selection:s&&o.selection.replaceRange(s)}}let a="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1)),o.update(n,{userEvent:a,scrollIntoView:!0})}(e,r,n));return e.state.facet(IT).some((t=>t(e,r.from,r.to,a,s)))||e.dispatch(s()),!0}if(n&&!n.main.eq(o)){let t=!1,r="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),r=e.inputState.lastSelectionOrigin),e.dispatch({selection:n,scrollIntoView:t,userEvent:r}),!0}return!1}const iZ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aZ=cT.ie&&cT.ie_version<=11;class sZ{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Nq,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.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(cT.ie&&cT.ie_version<=11||cT.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),aZ&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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((e=>{e.length>0&&e[e.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.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){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(YT)?r.root.activeElement!=this.dom:!Pq(r.dom,n))return;let o=n.anchorNode&&r.docView.nearest(n.anchorNode);o&&o.ignoreEvent(e)?t||(this.selectionChanged=!1):(cT.ie&&cT.ie_version<=11||cT.android&&cT.chrome)&&!r.state.selection.main.empty&&n.focusNode&&Tq(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=cT.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),!t)return null;let n=t.startContainer,o=t.startOffset,i=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return Tq(s.node,s.offset,i,a)&&([n,o,i,a]=[i,a,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:a}}(this.view)||_q(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=Pq(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let r=t.focusNode,n=t.focusOffset;if(!r||t.anchorNode!=r||t.anchorOffset!=n)return!1;for(n=Math.min(n,Zq(r));;)if(n){if(1!=r.nodeType)return!1;let e=r.childNodes[n-1];"false"==e.contentEditable?n--:(r=e,n=Zq(r))}else{if(r==e)return!0;n=jq(r),r=r.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(1==r.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,iZ),aZ&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),aZ&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&Qq(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null===(r=this.delayedAndroidKey)||void 0===r?void 0:r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{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 o of e){let e=this.readMutation(o);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:r}=e):(t=Math.min(e.from,t),r=Math.max(e.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&Pq(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 o=new nZ(this.view,e,t,r);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}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=oZ(this.view,t);return this.view.state==r&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let r=lZ(t,e.previousSibling||e.target.previousSibling,-1),n=lZ(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(r=this.resizeScroll)||void 0===r||r.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function lZ(e,t,r){for(;t;){let n=Yq.get(t);if(n&&n.parent==e)return n;let o=t.parentNode;t=o!=e.dom?o:r>0?t.nextSibling:t.previousSibling}return null}class cZ{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={}){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);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(e,this))))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new MR(e.state||XP.create(e)),e.scrollTo&&e.scrollTo.is(FT)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(XT).map((e=>new GT(e)));for(let e of this.plugins)e.update(this);this.observer=new sZ(this),this.inputState=new Uj(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Cj(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(...e){let t=1==e.length&&e[0]instanceof LP?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,r=!1,n=!1,o=this.state;for(let t of e){if(t.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=t.state}if(this.destroyed)return void(this.viewState.state=o);let i=this.hasFocus,a=0,s=null;e.some((e=>e.annotation(fR)))?(this.inputState.notifiedFocused=i,a=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,s=mR(o,i),s||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(c=null)):this.observer.clear(),o.facet(XP.phrases)!=this.state.facet(XP.phrases))return this.setState(o);t=lj.create(this,o,e),t.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new UT(e.empty?e:cP.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(FT)&&(u=e.value.clip(this.state))}this.viewState.update(t,u),this.bidiCache=pZ.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),r=this.docView.update(t),this.state.facet(aj)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(r,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(UR)!=t.state.facet(UR)&&(this.viewState.mustMeasureContent=!0),(r||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(LT))try{e(t)}catch(e){WT(this.state,e,"update listener")}(s||c)&&Promise.resolve().then((()=>{s&&this.state==s.startState&&this.dispatch(s),c&&!oZ(this,c)&&l.force&&Qq(this.contentDOM,l.key,l.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new MR(e),this.plugins=e.facet(XT).map((e=>new GT(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new Cj(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(XT),r=e.state.facet(XT);if(t!=r){let n=[];for(let o of r){let r=t.indexOf(o);if(r<0)n.push(new GT(o));else{let t=this.plugins[r];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,n=r.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:i}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(i=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(i<0)if(Uq(r))o=-1,i=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);o=e.from,i=e.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let s=[];4&a||([this.measureRequests,s]=[s,this.measureRequests]);let l=s.map((e=>{try{return e.read(this)}catch(e){return WT(this.state,e),dZ}})),c=lj.create(this,this.state,[]),u=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c));for(let e=0;e<s.length;e++)if(l[e]!=dZ)try{let t=s[e];t.write&&t.write(l[e],this)}catch(e){WT(this.state,e)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}{let e=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-i;if(e>1||e<-1){n+=e,r.scrollTop=n/this.scaleY,i=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(LT))e(t)}get themeClasses(){return WR+" "+(this.state.facet(FR)?VR:YR)+" "+this.state.facet(UR)}updateAttrs(){let e=hZ(this,KT,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(YT)?"true":"false",class:"cm-content",style:`${cT.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),hZ(this,JT,t);let r=this.observer.ignore((()=>{let r=OT(this.contentDOM,this.contentAttrs,t),n=OT(this.dom,this.editorAttrs,e);return r||n}));return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let e of r.effects)e.is(cZ.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(aj);let e=this.state.facet(cZ.cspNonce);yq.mount(this.root,this.styleModules.concat(GR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&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(null!=e.key)for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find((t=>t.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 zj(this,e,Bj(this,e,t,r))}moveByGroup(e,t){return zj(this,e,Bj(this,e,t,(t=>function(e,t,r){let n=e.state.charCategorizer(t),o=n(r);return e=>{let t=n(e);return o==WP.Space&&(o=t),o==t}}(this,e.head,t))))}moveToLineBoundary(e,t,r=!0){return function(e,t,r,n){let o=Ij(e,t.head),i=n&&o.type==ST.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(i){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(o.from),a=e.posAtCoords({x:r==(n==cj.LTR)?t.right-1:t.left+1,y:(i.top+i.bottom)/2});if(null!=a)return cP.cursor(a,r?-1:1)}return cP.cursor(r?o.to:o.from,r?-1:1)}(this,e,t,r)}moveVertically(e,t,r){return zj(this,e,function(e,t,r,n){let o=t.head,i=r?1:-1;if(o==(r?e.state.doc.length:0))return cP.cursor(o,t.assoc);let a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(o,t.assoc||-1),u=e.documentTop;if(c)null==s&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(o);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(o-t.from))),a=(i<0?t.top:t.bottom)+u}let d=l.left+s,p=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let r=a+(p+t)*i,n=Dj(e,{x:d,y:r},!1,i);if(r<l.top||r>l.bottom||(i<0?n<o:n>o)){let t=e.docView.coordsForChar(n),o=!t||r<t.top?-1:1;return cP.cursor(n,o,void 0,s)}}}(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(),Dj(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),o=this.bidiSpans(n);return $q(r,o[yj.find(o,e-n.from,-1,t)].dir==cj.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(QT)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>uZ)return xj(e.length);let t,r=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==r&&(n.fresh||vj(n.isolates,t=nj(this,e.from,e.to))))return n.order;t||(t=nj(this,e.from,e.to));let n=function(e,t,r){if(!e)return[new yj(0,0,t==dj?1:0)];if(t==uj&&!r.length&&!bj.test(e))return xj(e.length);if(r.length)for(;e.length>Oj.length;)Oj[Oj.length]=256;let n=[],o=t==uj?0:1;return Aj(e,o,o,r,0,e.length,n),n}(e.text,r,t);return this.bidiCache.push(new pZ(e.from,e.to,r,t,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||cT.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{Iq(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){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 FT.of(new UT("number"==typeof e?cP.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 FT.of(new UT(cP.cursor(r.from),"start","start",r.top-e,t,!0))}static domEventHandlers(e){return HT.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return HT.define((()=>({})),{eventObservers:e})}static theme(e,t){let r=yq.newName(),n=[UR.of(r),aj.of(HR(`.${r}`,e))];return t&&t.dark&&n.push(FR.of(!0)),n}static baseTheme(e){return wP.lowest(aj.of(HR("."+WR,e,XR)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&Yq.get(r)||Yq.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}cZ.styleModule=aj,cZ.inputHandler=IT,cZ.focusChangeEffect=BT,cZ.perLineTextDirection=QT,cZ.exceptionSink=DT,cZ.updateListener=LT,cZ.editable=YT,cZ.mouseSelectionStyle=NT,cZ.dragMovesSelection=MT,cZ.clickAddsSelectionRange=$T,cZ.decorations=ej,cZ.atomicRanges=tj,cZ.bidiIsolatedRanges=rj,cZ.scrollMargins=oj,cZ.darkTheme=FR,cZ.cspNonce=pP.define({combine:e=>e.length?e[0]:""}),cZ.contentAttributes=JT,cZ.editorAttributes=KT,cZ.lineWrapping=cZ.contentAttributes.of({class:"cm-lineWrapping"}),cZ.announce=DP.define();const uZ=4096,dZ={};class pZ{constructor(e,t,r,n,o,i){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=o,this.order=i}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let r=[],n=e.length?e[e.length-1].dir:cj.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let i=e[o];i.dir!=n||t.touchesRange(i.from,i.to)||r.push(new pZ(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.isolates,!1,i.order))}return r}}function hZ(e,t,r){for(let n=e.state.facet(t),o=n.length-1;o>=0;o--){let t=n[o],i="function"==typeof t?t(e):t;i&&bT(i,r)}return r}const fZ=cT.mac?"mac":cT.windows?"win":cT.linux?"linux":"key";function mZ(e,t,r){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==r&&t.shiftKey&&(e="Shift-"+e),e}const gZ=wP.default(cZ.domEventHandlers({keydown:(e,t)=>AZ(vZ(t.state),e,t,"editor")})),bZ=pP.define({enables:gZ}),yZ=new WeakMap;function vZ(e){let t=e.facet(bZ),r=yZ.get(t);return r||yZ.set(t,r=function(e,t=fZ){let r=Object.create(null),n=Object.create(null),o=(e,t)=>{let r=n[e];if(null==r)n[e]=t;else if(r!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},i=(e,n,i,a,s)=>{var l,c;let u=r[e]||(r[e]=Object.create(null)),d=n.split(/ (?!$)/).map((e=>function(e,t){const r=e.split(/-(?!$)/);let n,o,i,a,s=r[r.length-1];"Space"==s&&(s=" ");for(let e=0;e<r.length-1;++e){const s=r[e];if(/^(cmd|meta|m)$/i.test(s))a=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))o=!0;else if(/^s(hift)?$/i.test(s))i=!0;else{if(!/^mod$/i.test(s))throw new Error("Unrecognized modifier name: "+s);"mac"==t?a=!0:o=!0}}return n&&(s="Alt-"+s),o&&(s="Ctrl-"+s),a&&(s="Meta-"+s),i&&(s="Shift-"+s),s}(e,t)));for(let t=1;t<d.length;t++){let r=d.slice(0,t).join(" ");o(r,!0),u[r]||(u[r]={preventDefault:!0,stopPropagation:!1,run:[t=>{let n=OZ={view:t,prefix:r,scope:e};return setTimeout((()=>{OZ==n&&(OZ=null)}),wZ),!0}]})}let p=d.join(" ");o(p,!1);let h=u[p]||(u[p]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});i&&h.run.push(i),a&&(h.preventDefault=!0),s&&(h.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=r[t]||(r[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let o=n[t]||n.key;if(o)for(let t of e)i(t,o,n.run,n.preventDefault,n.stopPropagation),n.shift&&i(t,"Shift-"+o,n.shift,n.preventDefault,n.stopPropagation)}return r}(t.reduce(((e,t)=>e.concat(t)),[]))),r}let OZ=null;const wZ=4e3;function AZ(e,t,r,n){let o=function(e){var t=!(xq&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||kq&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Aq:wq)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),i=GE(XE(o,0))==o.length&&" "!=o,a="",s=!1,l=!1,c=!1;OZ&&OZ.view==r&&OZ.scope==n&&(a=OZ.prefix+" ",Xj.indexOf(t.keyCode)<0&&(l=!0,OZ=null));let u,d,p=new Set,h=e=>{if(e){for(let n of e.run)if(!p.has(n)&&(p.add(n),n(r,t)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},f=e[n];return f&&(h(f[a+mZ(o,t,!i)])?s=!0:i&&(t.altKey||t.metaKey||t.ctrlKey)&&!(cT.windows&&t.ctrlKey&&t.altKey)&&(u=wq[t.keyCode])&&u!=o?(h(f[a+mZ(u,t,!0)])||t.shiftKey&&(d=Aq[t.keyCode])!=o&&d!=u&&h(f[a+mZ(d,t,!1)]))&&(s=!0):i&&t.shiftKey&&h(f[a+mZ(o,t,!0)])&&(s=!0),!s&&h(f._any)&&(s=!0)),l&&(s=!0),s&&c&&t.stopPropagation(),s}class xZ{constructor(e,t,r,n,o){this.className=e,this.left=t,this.top=r,this.width=n,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let o=kZ(e);return[new xZ(t,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}return function(e,t,r){if(r.to<=e.viewport.from||r.from>=e.viewport.to)return[];let n=Math.max(r.from,e.viewport.from),o=Math.min(r.to,e.viewport.to),i=e.textDirection==cj.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=kZ(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),p=s.right-(u?parseInt(u.paddingRight):0),h=Ij(e,n),f=Ij(e,o),m=h.type==ST.Text?h:null,g=f.type==ST.Text?f:null;if(m&&(e.lineWrapping||h.widgetLineBreaks)&&(m=SZ(e,n,m)),g&&(e.lineWrapping||f.widgetLineBreaks)&&(g=SZ(e,o,g)),m&&g&&m.from==g.from)return y(v(r.from,r.to,m));{let t=m?v(r.from,null,m):O(h,!1),n=g?v(null,r.to,g):O(f,!0),o=[];return(m||h).to<(g||f).from-(m&&g?1:0)||h.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<n.top?o.push(b(d,t.bottom,p,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==ST.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),y(t).concat(o).concat(y(n))}function b(e,r,n,o){return new xZ(t,e-l.left,r-l.top-.01,n-e,o-r+.01)}function y({top:e,bottom:t,horizontal:r}){let n=[];for(let o=0;o<r.length;o+=2)n.push(b(r[o],e,r[o+1],t));return n}function v(t,r,n){let o=1e9,a=-1e9,s=[];function l(t,r,l,c,u){let h=e.coordsAtPos(t,t==n.to?-2:2),f=e.coordsAtPos(l,l==n.from?2:-2);h&&f&&(o=Math.min(h.top,f.top,o),a=Math.max(h.bottom,f.bottom,a),u==cj.LTR?s.push(i&&r?d:h.left,i&&c?p:f.right):s.push(!i&&c?d:f.left,!i&&r?p:h.right))}let c=null!=t?t:n.from,u=null!=r?r:n.to;for(let n of e.visibleRanges)if(n.to>c&&n.from<u)for(let o=Math.max(n.from,c),i=Math.min(n.to,u);;){let n=e.state.doc.lineAt(o);for(let a of e.bidiSpans(n)){let e=a.from+n.from,s=a.to+n.from;if(e>=i)break;s>o&&l(Math.max(e,o),null==t&&e<=c,Math.min(s,i),null==r&&s>=u,a.dir)}if(o=n.to+1,o>=i)break}return 0==s.length&&l(c,null==t,u,null==r,e.textDirection),{top:o,bottom:a,horizontal:s}}function O(e,t){let r=s.top+(t?e.top:e.bottom);return{top:r,bottom:r,horizontal:[]}}}(e,t,r)}}function kZ(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==cj.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function SZ(e,t,r){let n=cP.cursor(t);return{from:Math.max(r.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(r.to,e.moveToLineBoundary(n,!0,!0).from),type:ST.Text}}class CZ{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(_Z)!=e.state.facet(_Z)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,r=e.facet(_Z);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;e==this.scaleX&&t==this.scaleY||(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some(((e,t)=>!function(e,t){return e.constructor==t.constructor&&e.eq(t)}(e,this.drawn[t])))){let t=this.dom.firstChild,r=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[r].constructor&&n.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(n.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const _Z=pP.define();function EZ(e){return[HT.define((t=>new CZ(t,e))),_Z.of(e)]}const PZ=!cT.ios,qZ=pP.define({combine:e=>HP(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function TZ(e){return e.startState.facet(qZ)!=e.state.facet(qZ)}const jZ=EZ({above:!0,markers(e){let{state:t}=e,r=t.facet(qZ),n=[];for(let o of t.selection.ranges){let i=o==t.selection.main;if(o.empty?!i||PZ:r.drawRangeCursor){let t=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=o.empty?o:cP.cursor(o.head,o.head>o.anchor?-1:1);for(let o of xZ.forRange(e,t,r))n.push(o)}}return n},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let r=TZ(e);return r&&RZ(e.state,t),e.docChanged||e.selectionSet||r},mount(e,t){RZ(t.state,e)},class:"cm-cursorLayer"});function RZ(e,t){t.style.animationDuration=e.facet(qZ).cursorBlinkRate+"ms"}const ZZ=EZ({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:xZ.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||TZ(e),class:"cm-selectionLayer"}),$Z={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};PZ&&($Z[".cm-line"].caretColor="transparent !important",$Z[".cm-content"]={caretColor:"transparent !important"});const MZ=wP.highest(cZ.theme($Z)),NZ=DP.define({map:(e,t)=>null==e?null:t.mapPos(e)}),DZ=vP.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(NZ)?t.value:e),e))}),LZ=HT.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let r=e.state.field(DZ);null==r?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(DZ)!=r||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(DZ),r=null!=t&&e.coordsAtPos(t);if(!r)return null;let n=e.scrollDOM.getBoundingClientRect();return{left:r.left-n.left+e.scrollDOM.scrollLeft*e.scaleX,top:r.top-n.top+e.scrollDOM.scrollTop*e.scaleY,height:r.bottom-r.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:r}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/r+"px",this.cursor.style.height=e.height/r+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(DZ)!=e&&this.view.dispatch({effects:NZ.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function IZ(e,t,r,n,o){t.lastIndex=0;for(let i,a=e.iterRange(r,n),s=r;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;i=t.exec(a.value);)o(s+i.index,i)}class BZ{constructor(e){const{regexp:t,decoration:r,decorate:n,boundary:o,maxLength:i=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,r,o)=>n(o,r,r+e[0].length,e,t);else if("function"==typeof r)this.addMatch=(e,t,n,o)=>{let i=r(e,t,n);i&&o(n,n+e[0].length,i)};else{if(!r)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,o)=>o(n,n+e[0].length,r)}this.boundary=o,this.maxLength=i}createDeco(e){let t=new rq,r=t.add.bind(t);for(let{from:t,to:n}of function(e,t){let r=e.visibleRanges;if(1==r.length&&r[0].from==e.viewport.from&&r[0].to==e.viewport.to)return r;let n=[];for(let{from:o,to:i}of r)o=Math.max(e.state.doc.lineAt(o).from,o-t),i=Math.min(e.state.doc.lineAt(i).to,i+t),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}(e,this.maxLength))IZ(e.state.doc,this.regexp,t,n,((t,n)=>this.addMatch(n,e,t,r)));return t.finish()}updateDeco(e,t){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges(((t,o,i,a)=>{a>e.view.viewport.from&&i<e.view.viewport.to&&(r=Math.min(i,r),n=Math.max(a,n))})),e.viewportChanged||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),r,n):t}updateRange(e,t,r,n){for(let o of e.visibleRanges){let i=Math.max(o.from,r),a=Math.min(o.to,n);if(a>i){let r=e.state.doc.lineAt(i),n=r.to<a?e.state.doc.lineAt(a):r,s=Math.max(o.from,r.from),l=Math.min(o.to,n.to);if(this.boundary){for(;i>r.from;i--)if(this.boundary.test(r.text[i-1-r.from])){s=i;break}for(;a<n.to;a++)if(this.boundary.test(n.text[a-n.from])){l=a;break}}let c,u=[],d=(e,t,r)=>u.push(r.range(e,t));if(r==n)for(this.regexp.lastIndex=s-r.from;(c=this.regexp.exec(r.text))&&c.index<l-r.from;)this.addMatch(c,e,c.index+r.from,d);else IZ(e.state.doc,this.regexp,s,l,((t,r)=>this.addMatch(r,e,t,d)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>e<s||t>l,add:u})}}return t}}const QZ=null!=/x/.unicode?"gu":"g",zZ=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",QZ),UZ={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let FZ=null;const WZ=pP.define({combine(e){let t=HP(e,{render:null,specialChars:zZ,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==FZ&&"undefined"!=typeof document&&document.body){let t=document.body.style;FZ=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return FZ||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,QZ)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,QZ)),t}});let YZ=null;class VZ extends kT{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"":String.fromCharCode(9216+e)}(this.code),r=e.state.phrase("Control character")+" "+(UZ[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let o=document.createElement("span");return o.textContent=t,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class XZ extends kT{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const HZ=CT.line({class:"cm-activeLine"}),GZ=HT.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,r=[];for(let n of e.state.selection.ranges){let o=e.lineBlockAt(n.head);o.from>t&&(r.push(HZ.range(o.from)),t=o.from)}return CT.set(r)}},{decorations:e=>e.decorations});class KZ extends kT{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?qq(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),n=$q(t[0],"rtl"!=r.direction),o=parseInt(r.lineHeight);return n.bottom-n.top>1.5*o?{left:n.left,right:n.right,top:n.top,bottom:n.top+o}:n}ignoreEvent(){return!1}}const JZ=2e3;function e$(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(r),o=r-n.from,i=o>JZ?-1:o==n.length?function(e,t){let r=e.coordsAtPos(e.viewport.from);return r?Math.round(Math.abs((r.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):hq(n.text,e.state.tabSize,r-n.from);return{line:n.number,col:i,off:o}}const t$={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},r$={style:"cursor: crosshair"},n$="-10000px";class o${constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(r)}update(e,t){var r;let n=e.state.facet(this.facet),o=n.filter((e=>e));if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let i=[],a=t?[]:null;for(let r=0;r<o.length;r++){let n=o[r],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)i[r]=this.createTooltipView(n),a&&(a[r]=!!n.above);else{let n=i[r]=this.tooltipViews[s];a&&(a[r]=t[s]),n.update&&n.update(e)}}}for(let e of this.tooltipViews)i.indexOf(e)<0&&(e.dom.remove(),null===(r=e.destroy)||void 0===r||r.call(e));return t&&(a.forEach(((e,r)=>t[r]=e)),t.length=a.length),this.input=n,this.tooltips=o,this.tooltipViews=i,!0}}function i$(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const a$=pP.define({combine:e=>{var t,r,n;return{position:cT.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(r=e.find((e=>e.parent)))||void 0===r?void 0:r.parent)||null,tooltipSpace:(null===(n=e.find((e=>e.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||i$}}}),s$=new WeakMap,l$=HT.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(a$);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new o$(e,d$,(e=>this.createTooltip(e))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let r=t||e.geometryChanged,n=e.state.facet(a$);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;r=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);r=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);r&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=n$,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,r=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(cT.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)n=!0;else if(e.style.top==n$&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,r=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(a$).tooltipSpace(this.view),scaleX:t,scaleY:r,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{editor:r,space:n,scaleX:o,scaleY:i}=e,a=[];for(let s=0;s<this.manager.tooltips.length;s++){let l=this.manager.tooltips[s],c=this.manager.tooltipViews[s],{dom:u}=c,d=e.pos[s],p=e.size[s];if(!d||d.bottom<=Math.max(r.top,n.top)||d.top>=Math.min(r.bottom,n.bottom)||d.right<Math.max(r.left,n.left)-.1||d.left>Math.min(r.right,n.right)+.1){u.style.top=n$;continue}let h=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=h?7:0,m=p.right-p.left,g=null!==(t=s$.get(c))&&void 0!==t?t:p.bottom-p.top,b=c.offset||u$,y=this.view.textDirection==cj.LTR,v=p.width>n.right-n.left?y?n.left:n.right-p.width:y?Math.min(d.left-(h?14:0)+b.x,n.right-m):Math.max(n.left,d.left-m+(h?14:0)-b.x),O=this.above[s];!l.strictSide&&(O?d.top-(p.bottom-p.top)-b.y<n.top:d.bottom+(p.bottom-p.top)+b.y>n.bottom)&&O==n.bottom-d.bottom>d.top-n.top&&(O=this.above[s]=!O);let w=(O?d.top-n.top:n.bottom-d.bottom)-f;if(w<g&&!1!==c.resize){if(w<this.view.defaultLineHeight){u.style.top=n$;continue}s$.set(c,g),u.style.height=(g=w)/i+"px"}else u.style.height&&(u.style.height="");let A=O?d.top-g-f-b.y:d.bottom+f+b.y,x=v+m;if(!0!==c.overlap)for(let e of a)e.left<x&&e.right>v&&e.top<A+g&&e.bottom>A&&(A=O?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(u.style.top=(A-e.parent.top)/i+"px",u.style.left=(v-e.parent.left)/o+"px"):(u.style.top=A/i+"px",u.style.left=v/o+"px"),h){let e=d.left+(y?b.x:-b.x)-(v+14-7);h.style.left=e/o+"px"}!0!==c.overlap&&a.push({left:v,top:A,right:x,bottom:A+g}),u.classList.toggle("cm-tooltip-above",O),u.classList.toggle("cm-tooltip-below",!O),c.positioned&&c.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=n$}},{eventObservers:{scroll(){this.maybeMeasure()}}}),c$=cZ.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:"14px",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"}}}),u$={x:0,y:0},d$=pP.define({enables:[l$,c$]}),p$=pP.define();class h${static create(e){return new h$(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new o$(e,p$,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let n=r[e];if(void 0!==n)if(void 0===t)t=n;else if(t!==n)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const f$=d$.compute([p$],(e=>{let t=e.facet(p$).filter((e=>e));return 0===t.length?null:{pos:Math.min(...t.map((e=>e.pos))),end:Math.max(...t.map((e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos}))),create:h$.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class m${constructor(e,t,r,n,o){this.view=e,this.source=t,this.field=r,this.setHover=n,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.nearest(t.target);if(!r)return;let n,o=1;if(r instanceof pT)n=r.posAtStart;else{if(n=e.posAtCoords(t),null==n)return;let r=e.coordsAtPos(n);if(!r||t.y<r.top||t.y>r.bottom||t.x<r.left-e.defaultCharacterWidth||t.x>r.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(n)).find((e=>e.from<=n&&e.to>=n)),a=i&&i.dir==cj.RTL?-1:1;o=t.x<r.left?-a:a}let i=this.source(e,n,o);if(null==i?void 0:i.then){let t=this.pending={pos:n};i.then((r=>{this.pending==t&&(this.pending=null,r&&e.dispatch({effects:this.setHover.of(r)}))}),(t=>WT(e.state,t,"hover tooltip")))}else i&&e.dispatch({effects:this.setHover.of(i)})}get tooltip(){let e=this.view.plugin(l$),t=e?e.manager.tooltips.findIndex((e=>e.create==h$.create)):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r&&n&&!function(e,t){let r=e.getBoundingClientRect();return t.clientX>=r.left-g$&&t.clientX<=r.right+g$&&t.clientY>=r.top-g$&&t.clientY<=r.bottom+g$}(n.dom,e)||this.pending){let{pos:n}=r||this.pending,o=null!==(t=null==r?void 0:r.end)&&void 0!==t?t:n;(n==o?this.view.posAtCoords(this.lastMove)==n:function(e,t,r,n,o,i){let a=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>n||a.right<n||a.top>o||Math.min(a.bottom,s)<o)return!1;let l=e.posAtCoords({x:n,y:o},!1);return l>=t&&l<=r}(this.view,n,o,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of(null)})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const g$=4;function b$(e,t={}){let r=DP.define(),n=vP.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,JE.TrackDel);if(null==t)return null;let r=Object.assign(Object.create(null),e);r.pos=t,null!=e.end&&(r.end=n.changes.mapPos(e.end)),e=r}for(let t of n.effects)t.is(r)&&(e=t.value),t.is(v$)&&(e=null);return e},provide:e=>p$.from(e)});return[n,HT.define((o=>new m$(o,e,n,r,t.hoverTime||300))),f$]}function y$(e,t){let r=e.plugin(l$);if(!r)return null;let n=r.manager.tooltips.indexOf(t);return n<0?null:r.manager.tooltipViews[n]}const v$=DP.define(),O$=pP.define({combine(e){let t,r;for(let n of e)t=t||n.topContainer,r=r||n.bottomContainer;return{topContainer:t,bottomContainer:r}}});function w$(e,t){let r=e.plugin(A$),n=r?r.specs.indexOf(t):-1;return n>-1?r.panels[n]:null}const A$=HT.fromClass(class{constructor(e){this.input=e.state.facet(S$),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(O$);this.top=new x$(e,!0,t.topContainer),this.bottom=new x$(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((e=>e.top))),this.bottom.sync(this.panels.filter((e=>!e.top)));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(O$);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new x$(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new x$(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let r=e.state.facet(S$);if(r!=this.input){let t=r.filter((e=>e)),n=[],o=[],i=[],a=[];for(let r of t){let t,s=this.specs.indexOf(r);s<0?(t=r(e.view),a.push(t)):(t=this.panels[s],t.update&&t.update(e)),n.push(t),(t.top?o:i).push(t)}this.specs=t,this.panels=n,this.top.sync(o),this.bottom.sync(i);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>cZ.scrollMargins.of((t=>{let r=t.plugin(e);return r&&{top:r.top.scrollMargin(),bottom:r.bottom.scrollMargin()}}))});class x${constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=k$(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=k$(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function k$(e){let t=e.nextSibling;return e.remove(),t}const S$=pP.define({enables:A$});class C$ extends GP{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}C$.prototype.elementClass="",C$.prototype.toDOM=void 0,C$.prototype.mapMode=JE.TrackBefore,C$.prototype.startSide=C$.prototype.endSide=-1,C$.prototype.point=!0;const _$=pP.define(),E$={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>tq.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},P$=pP.define();function q$(e){return[j$(),P$.of(Object.assign(Object.assign({},E$),e))]}const T$=pP.define({combine:e=>e.some((e=>e))});function j$(e){let t=[R$];return e&&!1===e.fixed&&t.push(T$.of(!0)),t}const R$=HT.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(P$).map((t=>new N$(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(T$),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,r=e.view.viewport,n=Math.min(t.to,r.to)-Math.max(t.from,r.from);this.syncGutters(n<.8*(r.to-r.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(T$)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let r=tq.iter(this.view.state.facet(_$),this.view.viewport.from),n=[],o=this.gutters.map((e=>new M$(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let i of e.type)if(i.type==ST.Text&&t){$$(r,n,i.from);for(let e of o)e.line(this.view,i,n);t=!1}else if(i.widget)for(let e of o)e.widget(this.view,i)}else if(e.type==ST.Text){$$(r,n,e.from);for(let t of o)t.line(this.view,e,n)}else if(e.widget)for(let t of o)t.widget(this.view,e);for(let e of o)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(P$),r=e.state.facet(P$),n=e.docChanged||e.heightChanged||e.viewportChanged||!tq.eq(e.startState.facet(_$),e.state.facet(_$),e.view.viewport.from,e.view.viewport.to);if(t==r)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let o=[];for(let n of r){let r=t.indexOf(n);r<0?o.push(new N$(this.view,n)):(this.gutters[r].update(e),o.push(this.gutters[r]))}for(let e of this.gutters)e.dom.remove(),o.indexOf(e)<0&&e.destroy();for(let e of o)this.dom.appendChild(e.dom);this.gutters=o}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>cZ.scrollMargins.of((t=>{let r=t.plugin(e);return r&&0!=r.gutters.length&&r.fixed?t.textDirection==cj.LTR?{left:r.dom.offsetWidth*t.scaleX}:{right:r.dom.offsetWidth*t.scaleX}:null}))});function Z$(e){return Array.isArray(e)?e:[e]}function $$(e,t,r){for(;e.value&&e.from<=r;)e.from==r&&t.push(e.value),e.next()}class M${constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=tq.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:n}=this,o=(t.top-this.height)/e.scaleY,i=t.height/e.scaleY;if(this.i==n.elements.length){let t=new D$(e,i,o,r);n.elements.push(t),n.dom.appendChild(t.dom)}else n.elements[this.i].update(e,i,o,r);this.height=t.bottom,this.i++}line(e,t,r){let n=[];$$(this.cursor,n,t.from),r.length&&(n=n.concat(r));let o=this.gutter.config.lineMarker(e,t,n);o&&n.unshift(o);let i=this.gutter;(0!=n.length||i.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class N${constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,(n=>{let o,i=n.target;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();o=(e.top+e.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,n)&&n.preventDefault()}));this.markers=Z$(t.markers(e)),t.initialSpacer&&(this.spacer=new D$(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Z$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let r=e.view.viewport;return!tq.eq(this.markers,t,r.from,r.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class D${constructor(e,t,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,n)}update(e,t,r,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].compare(t[r]))return!1;return!0}(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let r="cm-gutterElement",n=this.dom.firstChild;for(let o=0,i=0;;){let a=i,s=o<t.length?t[o++]:null,l=!1;if(s){let e=s.elementClass;e&&(r+=" "+e);for(let e=i;e<this.markers.length;e++)if(this.markers[e].compare(s)){a=e,l=!0;break}}else a=this.markers.length;for(;i<a;){let e=this.markers[i++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!s)break;s.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(s.toDOM(e),n)),l&&i++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}const L$=pP.define(),I$=pP.define({combine:e=>HP(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let e in t){let n=r[e],o=t[e];r[e]=n?(e,t,r)=>n(e,t,r)||o(e,t,r):o}return r}})});class B$ extends C${constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Q$(e,t){return e.state.facet(I$).formatNumber(t,e.state)}const z$=P$.compute([I$],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(L$),lineMarker:(e,t,r)=>r.some((e=>e.toDOM))?null:new B$(Q$(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(I$)!=e.state.facet(I$),initialSpacer:e=>new B$(Q$(e,U$(e.state.doc.lines))),updateSpacer(e,t){let r=Q$(t.view,U$(t.view.state.doc.lines));return r==e.number?e:new B$(r)},domEventHandlers:e.facet(I$).domEventHandlers})));function U$(e){let t=9;for(;t<e;)t=10*t+9;return t}const F$=new class extends C${constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},W$=_$.compute(["selection"],(e=>{let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.head).from;o>r&&(r=o,t.push(F$.range(o)))}return tq.of(t)}));var Y$;const V$=new XS;function X$(e){return pP.define({combine:e?t=>t.concat(e):void 0})}const H$=new XS;class G${constructor(e,t,r=[],n=""){this.data=e,this.name=n,XP.prototype.hasOwnProperty("tree")||Object.defineProperty(XP.prototype,"tree",{get(){return eM(this)}}),this.parser=t,this.extension=[cM.of(this),XP.languageData.of(((e,t,r)=>{let n=K$(e,t,r),o=n.type.prop(V$);if(!o)return[];let i=e.facet(o),a=n.type.prop(H$);if(a){let o=n.resolve(t-n.from,r);for(let t of a)if(t.test(o,e)){let r=e.facet(t.facet);return"replace"==t.type?r:r.concat(i)}}return i}))].concat(r)}isActiveAt(e,t,r=-1){return K$(e,t,r).type.prop(V$)==this.data}findRegions(e){let t=e.facet(cM);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(e,t)=>{if(e.prop(V$)==this.data)return void r.push({from:t,to:t+e.length});let o=e.prop(XS.mounted);if(o){if(o.tree.prop(V$)==this.data){if(o.overlay)for(let e of o.overlay)r.push({from:e.from+t,to:e.to+t});else r.push({from:t,to:t+e.length});return}if(o.overlay){let e=r.length;if(n(o.tree,o.overlay[0].from+t),r.length>e)return}}for(let r=0;r<e.children.length;r++){let o=e.children[r];o instanceof nC&&n(o,e.positions[r]+t)}};return n(eM(e),0),r}get allowsNesting(){return!0}}function K$(e,t,r){let n=e.facet(cM),o=eM(e).topNode;if(!n||n.allowsNesting)for(let e=o;e;e=e.enter(t,r,rC.ExcludeBuffers))e.type.isTop&&(o=e);return o}G$.setState=DP.define();class J$ extends G${constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=X$(e.languageData);return new J$(t,e.parser.configure({props:[V$.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new J$(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function eM(e){let t=e.field(G$.state,!1);return t?t.tree:nC.empty}class tM{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let rM=null;class nM{constructor(e,t,r=[],n,o,i,a,s){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=o,this.viewport=i,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new nM(e,t,[],nC.empty,0,r,[],null)}startParse(){return this.parser.startParse(new tM(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=nC.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var r;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(AC.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(r=this.parse.stoppedAt)&&void 0!==r?r:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}}))}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||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(AC.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=rM;rM=this;try{return e()}finally{rM=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=oM(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:o,viewport:i,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,r,n,o)=>t.push({fromA:e,toA:r,fromB:n,toB:o}))),r=AC.applyChanges(r,t),n=nC.empty,o=0,i={from:e.mapPos(i.from,-1),to:e.mapPos(i.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let r=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);r<n&&a.push({from:r,to:n})}}}return new nM(this.parser,t,r,n,o,i,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:r,to:n}=this.skipped[t];r<e.to&&n>e.from&&(this.fragments=oM(this.fragments,r,n),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(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 xC{createParse(t,r,n){let o=n[0].from,i=n[n.length-1].to;return{parsedPos:o,advance(){let t=rM;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=i,new nC(KS.none,[],[],i-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return rM}}function oM(e,t,r){return AC.applyChanges(e,[{fromA:t,toA:r,fromB:t,toB:r}])}class iM{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 iM(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=nM.create(e.facet(cM).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new iM(r)}}G$.state=vP.define({create:iM.init,update(e,t){for(let e of t.effects)if(e.is(G$.setState))return e.value;return t.startState.facet(cM)!=t.state.facet(cM)?iM.init(t.state):e.apply(t)}});let aM=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(aM=e=>{let t=-1,r=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(r):cancelIdleCallback(t)});const sM="undefined"!=typeof navigator&&(null===(Y$=navigator.scheduling)||void 0===Y$?void 0:Y$.isInputPending)?()=>navigator.scheduling.isInputPending():null,lM=HT.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(G$.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(G$.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=aM(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,o=r.field(G$.state);if(o.tree==o.context.tree&&o.context.isDone(n+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!sM?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<n&&r.doc.length>n+1e3,s=o.context.work((()=>sM&&sM()||Date.now()>i),n+(a?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:G$.setState.of(new iM(o.context))})),this.chunkBudget>0&&(!s||a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>WT(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),cM=pP.define({combine:e=>e.length?e[0]:null,enables:e=>[G$.state,lM,cZ.contentAttributes.compute([e],(t=>{let r=t.facet(e);return r&&r.name?{"data-language":r.name}:{}}))]});class uM{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class dM{constructor(e,t,r,n,o,i=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=n,this.loadFunc=o,this.support=i,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((e=>this.support=e),(e=>{throw this.loading=null,e})))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new dM(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let r=/\.([^.]+)$/.exec(t);if(r)for(let t of e)if(t.extensions.indexOf(r[1])>-1)return t;return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some((e=>e==t)))return r;if(r)for(let r of e)for(let e of r.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return r}return null}}const pM=pP.define(),hM=pP.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function fM(e){let t=e.facet(hM);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function mM(e,t){let r="",n=e.tabSize,o=e.facet(hM)[0];if("\t"==o){for(;t>=n;)r+="\t",t-=n;o=" "}for(let e=0;e<t;e++)r+=o;return r}function gM(e,t){e instanceof XP&&(e=new bM(e));for(let r of e.state.facet(pM)){let n=r(e,t);if(void 0!==n)return n}let r=eM(e.state);return r.length>=t?function(e,t,r){let n=t.resolveStack(r),o=n.node.enterUnfinishedNodesBefore(r);if(o!=n.node){let e=[];for(let t=o;t!=n.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)n={node:e[t],next:n}}return vM(n,e,r)}(e,r,t):null}class bM{constructor(e,t={}){this.state=e,this.options=t,this.unit=fM(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return null!=n&&n>=r.from&&n<=r.to?o&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,t);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.countColumn(r,e-n),i=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return i>-1&&(o+=i-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,t=e.length){return hq(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let e=o(n);if(e>-1)return e}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const yM=new XS;function vM(e,t,r){for(let n=e;n;n=n.next){let e=OM(n.node);if(e)return e(AM.create(t,r,n))}return 0}function OM(e){let t=e.type.prop(yM);if(t)return t;let r,n=e.firstChild;if(n&&(r=n.type.prop(XS.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>SM(e,!0,1,void 0,n&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?wM:null}function wM(){return 0}class AM extends bM{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new AM(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(xM(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return vM(this.context.next,this.base,this.pos)}}function xM(e,t){for(let r=t;r;r=r.parent)if(e==r)return!0;return!1}function kM({closing:e,align:t=!0,units:r=1}){return n=>SM(n,t,r,e)}function SM(e,t,r,n,o){let i=e.textAfter,a=i.match(/^\s*/)[0].length,s=n&&i.slice(a,a+n.length)==n||o==e.pos+a,l=t?function(e){let t=e.node,r=t.childAfter(t.from),n=t.lastChild;if(!r)return null;let o=e.options.simulateBreak,i=e.state.doc.lineAt(r.from),a=null==o||o<=i.from?i.to:Math.min(i.to,o);for(let e=r.to;;){let o=t.childAfter(e);if(!o||o==n)return null;if(!o.type.isSkipped)return o.from<a?r:null;e=o.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*r)}function CM({except:e,units:t=1}={}){return r=>{let n=e&&e.test(r.textAfter);return r.baseIndent+(n?0:t*r.unit)}}const _M=pP.define(),EM=new XS;function PM(e){let t=e.firstChild,r=e.lastChild;return t&&t.to<r.from?{from:t.to,to:r.type.isError?e.to:r.from}:null}function qM(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function TM(e,t,r){for(let n of e.facet(_M)){let o=n(e,t,r);if(o)return o}return function(e,t,r){let n=eM(e);if(n.length<r)return null;let o=null;for(let i=n.resolveStack(r,1);i;i=i.next){let a=i.node;if(a.to<=r||a.from>r)continue;if(o&&a.from<t)break;let s=a.type.prop(EM);if(s&&(a.to<n.length-50||n.length==e.doc.length||!qM(a))){let n=s(a,e);n&&n.from<=r&&n.from>=t&&n.to>r&&(o=n)}}return o}(e,t,r)}function jM(e,t){let r=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return r>=n?void 0:{from:r,to:n}}const RM=DP.define({map:jM}),ZM=DP.define({map:jM});function $M(e){let t=[];for(let{head:r}of e.state.selection.ranges)t.some((e=>e.from<=r&&e.to>=r))||t.push(e.lineBlockAt(r));return t}const MM=vP.define({create:()=>CT.none,update(e,t){e=e.map(t.changes);for(let r of t.effects)if(r.is(RM)&&!DM(e,r.value.from,r.value.to)){let{preparePlaceholder:n}=t.state.facet(zM),o=n?CT.replace({widget:new YM(n(t.state,r.value))}):WM;e=e.update({add:[o.range(r.value.from,r.value.to)]})}else r.is(ZM)&&(e=e.update({filter:(e,t)=>r.value.from!=e||r.value.to!=t,filterFrom:r.value.from,filterTo:r.value.to}));if(t.selection){let r=!1,{head:n}=t.selection.main;e.between(n,n,((e,t)=>{e<n&&t>n&&(r=!0)})),r&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>cZ.decorations.from(e),toJSON(e,t){let r=[];return e.between(0,t.doc.length,((e,t)=>{r.push(e,t)})),r},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let r=0;r<e.length;){let n=e[r++],o=e[r++];if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid JSON for fold state");t.push(WM.range(n,o))}return CT.set(t,!0)}});function NM(e,t,r){var n;let o=null;return null===(n=e.field(MM,!1))||void 0===n||n.between(t,r,((e,t)=>{(!o||o.from>e)&&(o={from:e,to:t})})),o}function DM(e,t,r){let n=!1;return e.between(t,t,((e,o)=>{e==t&&o==r&&(n=!0)})),n}function LM(e,t){return e.field(MM,!1)?t:t.concat(DP.appendConfig.of(UM()))}function IM(e,t,r=!0){let n=e.state.doc.lineAt(t.from).number,o=e.state.doc.lineAt(t.to).number;return cZ.announce.of(`${e.state.phrase(r?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${o}.`)}const BM=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of $M(e)){let r=TM(e.state,t.from,t.to);if(r)return e.dispatch({effects:LM(e.state,[RM.of(r),IM(e,r)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(MM,!1))return!1;let t=[];for(let r of $M(e)){let n=NM(e.state,r.from,r.to);n&&t.push(ZM.of(n),IM(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,r=[];for(let n=0;n<t.doc.length;){let o=e.lineBlockAt(n),i=TM(t,o.from,o.to);i&&r.push(RM.of(i)),n=(i?e.lineBlockAt(i.to):o).to+1}return r.length&&e.dispatch({effects:LM(e.state,r)}),!!r.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(MM,!1);if(!t||!t.size)return!1;let r=[];return t.between(0,e.state.doc.length,((e,t)=>{r.push(ZM.of({from:e,to:t}))})),e.dispatch({effects:r}),!0}}],QM={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},zM=pP.define({combine:e=>HP(e,QM)});function UM(e){let t=[MM,HM];return e&&t.push(zM.of(e)),t}function FM(e,t){let{state:r}=e,n=r.facet(zM),o=t=>{let r=e.lineBlockAt(e.posAtDOM(t.target)),n=NM(e.state,r.from,r.to);n&&e.dispatch({effects:ZM.of(n)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,o,t);let i=document.createElement("span");return i.textContent=n.placeholderText,i.setAttribute("aria-label",r.phrase("folded code")),i.title=r.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const WM=CT.replace({widget:new class extends kT{toDOM(e){return FM(e,null)}}});class YM extends kT{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return FM(e,this.value)}}const VM={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class XM extends C${constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}const HM=cZ.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class GM{constructor(e,t){let r;function n(e){let t=yq.newName();return(r||(r=Object.create(null)))["."+t]=e,t}this.specs=e;const o="string"==typeof t.all?t.all:t.all?n(t.all):void 0,i=t.scope;this.scope=i instanceof G$?e=>e.prop(V$)==i.data:i?e=>e==i:void 0,this.style=v_(e.map((e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}))),{all:o}).style,this.module=r?new yq(r):null,this.themeType=t.themeType}static define(e,t){return new GM(e,t||{})}}const KM=pP.define(),JM=pP.define({combine:e=>e.length?[e[0]]:null});function eN(e){let t=e.facet(KM);return t.length?t:e.facet(JM)}function tN(e,t){let r,n=[nN];return e instanceof GM&&(e.module&&n.push(cZ.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(JM.of(e)):r?n.push(KM.computeN([cZ.darkTheme],(t=>t.facet(cZ.darkTheme)==("dark"==r)?[e]:[]))):n.push(KM.of(e)),n}class rN{constructor(e){this.markCache=Object.create(null),this.tree=eM(e.state),this.decorations=this.buildDeco(e,eN(e.state))}update(e){let t=eM(e.state),r=eN(e.state),n=r!=eN(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r))}buildDeco(e,t){if(!t||!this.tree.length)return CT.none;let r=new rq;for(let{from:n,to:o}of e.visibleRanges)O_(this.tree,t,((e,t,n)=>{r.add(e,t,this.markCache[n]||(this.markCache[n]=CT.mark({class:n})))}),n,o);return r.finish()}}const nN=wP.high(HT.fromClass(rN,{decorations:e=>e.decorations})),oN=GM.define([{tag:N_.meta,color:"#404740"},{tag:N_.link,textDecoration:"underline"},{tag:N_.heading,textDecoration:"underline",fontWeight:"bold"},{tag:N_.emphasis,fontStyle:"italic"},{tag:N_.strong,fontWeight:"bold"},{tag:N_.strikethrough,textDecoration:"line-through"},{tag:N_.keyword,color:"#708"},{tag:[N_.atom,N_.bool,N_.url,N_.contentSeparator,N_.labelName],color:"#219"},{tag:[N_.literal,N_.inserted],color:"#164"},{tag:[N_.string,N_.deleted],color:"#a11"},{tag:[N_.regexp,N_.escape,N_.special(N_.string)],color:"#e40"},{tag:N_.definition(N_.variableName),color:"#00f"},{tag:N_.local(N_.variableName),color:"#30a"},{tag:[N_.typeName,N_.namespace],color:"#085"},{tag:N_.className,color:"#167"},{tag:[N_.special(N_.variableName),N_.macroName],color:"#256"},{tag:N_.definition(N_.propertyName),color:"#00c"},{tag:N_.comment,color:"#940"},{tag:N_.invalid,color:"#f00"}]),iN=cZ.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),aN=1e4,sN="()[]{}",lN=pP.define({combine:e=>HP(e,{afterCursor:!0,brackets:sN,maxScanDistance:aN,renderMatch:dN})}),cN=CT.mark({class:"cm-matchingBracket"}),uN=CT.mark({class:"cm-nonmatchingBracket"});function dN(e){let t=[],r=e.matched?cN:uN;return t.push(r.range(e.start.from,e.start.to)),e.end&&t.push(r.range(e.end.from,e.end.to)),t}const pN=vP.define({create:()=>CT.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let r=[],n=t.state.facet(lN);for(let e of t.state.selection.ranges){if(!e.empty)continue;let o=bN(t.state,e.head,-1,n)||e.head>0&&bN(t.state,e.head-1,1,n)||n.afterCursor&&(bN(t.state,e.head,1,n)||e.head<t.state.doc.length&&bN(t.state,e.head+1,-1,n));o&&(r=r.concat(n.renderMatch(o,t.state)))}return CT.set(r,!0)},provide:e=>cZ.decorations.from(e)}),hN=[pN,iN],fN=new XS;function mN(e,t,r){let n=e.prop(t<0?XS.openedBy:XS.closedBy);if(n)return n;if(1==e.name.length){let n=r.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[r[n+t]]}return null}function gN(e){let t=e.type.prop(fN);return t?t(e.node):e}function bN(e,t,r,n={}){let o=n.maxScanDistance||aN,i=n.brackets||sN,a=eM(e),s=a.resolveInner(t,r);for(let e=s;e;e=e.parent){let n=mN(e.type,r,i);if(n&&e.from<e.to){let o=gN(e);if(o&&(r>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return yN(0,0,r,e,o,n,i)}}return function(e,t,r,n,o,i,a){let s=r<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=r>0)return null;let c={from:r<0?t-1:t,to:r>0?t+1:t},u=e.doc.iterRange(t,r>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=i;){let i=u.value;r<0&&(e+=i.length);let s=t+e*r;for(let e=r>0?0:i.length-1,t=r>0?i.length:-1;e!=t;e+=r){let t=a.indexOf(i[e]);if(!(t<0||n.resolveInner(s+e,1).type!=o))if(t%2==0==r>0)d++;else{if(1==d)return{start:c,end:{from:s+e,to:s+e+1},matched:t>>1==l>>1};d--}}r>0&&(e+=i.length)}return u.done?{start:c,matched:!1}:null}(e,t,r,a,s.type,o,i)}function yN(e,t,r,n,o,i,a){let s=n.parent,l={from:o.from,to:o.to},c=0,u=null==s?void 0:s.cursor();if(u&&(r<0?u.childBefore(n.from):u.childAfter(n.to)))do{if(r<0?u.to<=n.from:u.from>=n.to){if(0==c&&i.indexOf(u.type.name)>-1&&u.from<u.to){let e=gN(u);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(mN(u.type,r,a))c++;else if(mN(u.type,-r,a)){if(0==c){let e=gN(u);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}c--}}}while(r<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}const vN=Object.create(null),ON=[KS.none],wN=[],AN=Object.create(null),xN=Object.create(null);for(let[e,t]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"]])xN[e]=SN(vN,t);function kN(e,t){wN.indexOf(e)>-1||(wN.push(e),console.warn(t))}function SN(e,t){let r=[];for(let n of t.split(" ")){let t=[];for(let r of n.split(".")){let n=e[r]||N_[r];n?"function"==typeof n?t.length?t=t.map(n):kN(r,`Modifier ${r} used at start of tag`):t.length?kN(r,`Tag ${r} used as modifier`):t=Array.isArray(n)?n:[n]:kN(r,`Unknown highlighting tag ${r}`)}for(let e of t)r.push(e)}if(!r.length)return 0;let n=t.replace(/ /g,"_"),o=n+" "+r.map((e=>e.id)),i=AN[o];if(i)return i.id;let a=AN[o]=KS.define({id:ON.length,name:n,props:[g_({[n]:r})]});return ON.push(a),a.id}let CN=null;function _N(){if(!CN&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],r=new Set;for(let n in e)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof e[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),r.has(n)||(t.push(n),r.add(n)));CN=t.sort().map((e=>({type:"property",label:e})))}return CN||[]}const EN=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((e=>({type:"class",label:e}))),PN=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((e=>({type:"keyword",label:e}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((e=>({type:"constant",label:e})))),qN=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((e=>({type:"type",label:e}))),TN=/^(\w[\w-]*|-\w[\w-]*|)$/,jN=/^-(-[\w-]*)?$/,RN=new wC,ZN=["Declaration"];function $N(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function MN(e,t,r){if(t.to-t.from>4096){let n=RN.get(t);if(n)return n;let o=[],i=new Set,a=t.cursor(rC.IncludeAnonymous);if(a.firstChild())do{for(let t of MN(e,a.node,r))i.has(t.label)||(i.add(t.label),o.push(t))}while(a.nextSibling());return RN.set(t,o),o}{let n=[],o=new Set;return t.cursor().iterate((t=>{var i;if(r(t)&&t.matchContext(ZN)&&":"==(null===(i=t.node.nextSibling)||void 0===i?void 0:i.name)){let r=e.sliceString(t.from,t.to);o.has(r)||(o.add(r),n.push({label:r,type:"variable"}))}})),n}}const NN=e=>t=>{let{state:r,pos:n}=t,o=eM(r).resolveInner(n,-1),i=o.type.isError&&o.from==o.to-1&&"-"==r.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(i||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:_N(),validFor:TN};if("ValueName"==o.name)return{from:o.from,options:PN,validFor:TN};if("PseudoClassName"==o.name)return{from:o.from,options:EN,validFor:TN};if(e(o)||(t.explicit||i)&&function(e,t){var r;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let n=null===(r=e.parent)||void 0===r?void 0:r.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==t.sliceString(n.from,n.to)}(o,r.doc))return{from:e(o)||i?o.from:n,options:MN(r.doc,$N(o),e),validFor:jN};if("TagName"==o.name){for(let{parent:e}=o;e;e=e.parent)if("Block"==e.name)return{from:o.from,options:_N(),validFor:TN};return{from:o.from,options:qN,validFor:TN}}if(!t.explicit)return null;let a=o.resolve(n),s=a.childBefore(n);return s&&":"==s.name&&"PseudoClassSelector"==a.name?{from:n,options:EN,validFor:TN}:s&&":"==s.name&&"Declaration"==a.name||"ArgList"==a.name?{from:n,options:PN,validFor:TN}:"Block"==a.name||"Styles"==a.name?{from:n,options:_N(),validFor:TN}:null},DN=NN((e=>"VariableName"==e.name)),LN=J$.define({name:"css",parser:PE.configure({props:[yM.add({Declaration:CM()}),EM.add({"Block KeyframeList":PM})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),IN=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],BN=new l_({start:!1,shift:(e,t)=>3==t||4==t||311==t?e:312==t,strict:!1}),QN=new XC(((e,t)=>{let{next:r}=e;(125==r||-1==r||t.context)&&e.acceptToken(309)}),{contextual:!0,fallback:!0}),zN=new XC(((e,t)=>{let r,{next:n}=e;IN.indexOf(n)>-1||(47!=n||47!=(r=e.peek(1))&&42!=r)&&(125==n||59==n||-1==n||t.context||e.acceptToken(308))}),{contextual:!0}),UN=new XC(((e,t)=>{let{next:r}=e;if((43==r||45==r)&&(e.advance(),r==e.next)){e.advance();let r=!t.context&&t.canShift(1);e.acceptToken(r?1:2)}}),{contextual:!0}),FN=g_({"get set async static":N_.modifier,"for while do if else switch try catch finally return throw break continue default case":N_.controlKeyword,"in of await yield void typeof delete instanceof":N_.operatorKeyword,"let var const using function class extends":N_.definitionKeyword,"import export from":N_.moduleKeyword,"with debugger as new":N_.keyword,TemplateString:N_.special(N_.string),super:N_.atom,BooleanLiteral:N_.bool,this:N_.self,null:N_.null,Star:N_.modifier,VariableName:N_.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":N_.function(N_.variableName),VariableDefinition:N_.definition(N_.variableName),Label:N_.labelName,PropertyName:N_.propertyName,PrivatePropertyName:N_.special(N_.propertyName),"CallExpression/MemberExpression/PropertyName":N_.function(N_.propertyName),"FunctionDeclaration/VariableDefinition":N_.function(N_.definition(N_.variableName)),"ClassDeclaration/VariableDefinition":N_.definition(N_.className),PropertyDefinition:N_.definition(N_.propertyName),PrivatePropertyDefinition:N_.definition(N_.special(N_.propertyName)),UpdateOp:N_.updateOperator,"LineComment Hashbang":N_.lineComment,BlockComment:N_.blockComment,Number:N_.number,String:N_.string,Escape:N_.escape,ArithOp:N_.arithmeticOperator,LogicOp:N_.logicOperator,BitOp:N_.bitwiseOperator,CompareOp:N_.compareOperator,RegExp:N_.regexp,Equals:N_.definitionOperator,Arrow:N_.function(N_.punctuation),": Spread":N_.punctuation,"( )":N_.paren,"[ ]":N_.squareBracket,"{ }":N_.brace,"InterpolationStart InterpolationEnd":N_.special(N_.brace),".":N_.derefOperator,", ;":N_.separator,"@":N_.meta,TypeName:N_.typeName,TypeDefinition:N_.definition(N_.typeName),"type enum interface implements namespace module declare":N_.definitionKeyword,"abstract global Privacy readonly override":N_.modifier,"is keyof unique infer":N_.operatorKeyword,JSXAttributeValue:N_.attributeValue,JSXText:N_.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":N_.angleBracket,"JSXIdentifier JSXNameSpacedName":N_.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":N_.attributeName,"JSXBuiltin/JSXIdentifier":N_.standard(N_.tagName)}),WN={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},YN={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},VN={__proto__:null,"<":139},XN=c_.deserialize({version:14,states:"$<UO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JiO6[Q(CjO'#JjO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9UQSO'#FvOOQ(CY'#Jj'#JjOOQ(CW'#Ji'#JiO9ZQSO'#GpOOQQ'#KU'#KUO9fQSO'#IQO9kQ(C[O'#IROOQQ'#JV'#JVOOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9sQUO'#D{O9zQUO'#D}O9aQSO'#GlO:RQ,UO'#CmO:aQSO'#EhO:lQSO'#EsO:qQ,UO'#F`O;`QSO'#GlOOQO'#KV'#KVO;eQSO'#KVO;sQSO'#GtO;sQSO'#GuO;sQSO'#GwO9aQSO'#GzO<jQSO'#G}O>RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-E<b-E<bO9aQSO,5=WO!$[QSO,5=WO!$aQUO,5;TO!&dQ,UO'#EeO!'}QSO,5;TO!)mQ,UO'#DqO!)tQUO'#DvO!*OQWO,5;^O!*WQWO,5;^O%[QUO,5;^OOQQ'#FP'#FPOOQQ'#FR'#FRO%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_OOQQ'#FV'#FVO!*fQUO,5;pOOQ(CY,5;u,5;uOOQ(CY,5;v,5;vO!,iQSO,5;vOOQ(CY,5;w,5;wO%[QUO'#IhO!,qQ(C[O,5<dO!&dQ,UO,5;_O!-`Q,UO,5;_O%[QUO,5;sO!-gQ#tO'#FfO!.dQ#tO'#J}O!.OQ#tO'#J}O!.kQ#tO'#J}OOQO'#J}'#J}O!/PQ#tO,5<OOOOO,5<[,5<[O!/bQUO'#FrOOOO'#Ig'#IgO7YO&jO,5;{O!/iQ#tO'#FtOOQ(CY,5;{,5;{O!0YQ7[O'#CsOOQ(CY'#Cw'#CwO!0mQSO'#CwO!0rO07`O'#C{O!1`Q,UO,5<aO!1gQSO,5<cO!3SQMhO'#GRO!3aQSO'#GSO!3fQSO'#GSO!3kQMhO'#GWO!4jQWO'#G[OOQO'#Gg'#GgO!(SQ,UO'#GfOOQO'#Gi'#GiO!(SQ,UO'#GhO!5]Q7[O'#JdOOQ(CY'#Jd'#JdO!5gQSO'#JcO!5uQSO'#JbO!5}QSO'#CrOOQ(CY'#Cu'#CuOOQ(CY'#DP'#DPOOQ(CY'#DR'#DRO1SQSO'#DTO!(SQ,UO'#FyO!(SQ,UO'#F{O!6VQSO'#F}O!6[QSO'#GOO!3fQSO'#GUO!(SQ,UO'#GZO!6aQSO'#EkO!7OQSO,5<bOOQ(CW'#Cp'#CpO!7WQSO'#ElO!8QQWO'#EmOOQ(CW'#Jw'#JwO!8XQ(C[O'#KWO9kQ(C[O,5=[O`QUO,5>lOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-E<T-E<TO!:ZQ(CjO,5:ZO!<wQ(CjO,5:gO%[QUO,5:gO!?bQ(CjO,5:iOOQO,5@q,5@qO!@RQ,UO,5=WO!@aQ(C[O'#J`O9UQSO'#J`O!@rQ(C[O,59XO!@}QWO,59XO!AVQ,UO,59XO:RQ,UO,59XO!AbQSO,5;TO!AjQSO'#HYO!BOQSO'#KZO%[QUO,5;xO!7{QWO,5;zO!BWQSO,5=sO!B]QSO,5=sO!BbQSO,5=sO9kQ(C[O,5=sO;sQSO,5=cOOQO'#Cs'#CsO!BpQWO,5=`O!BxQ,UO,5=aO!CTQSO,5=cO!CYQ`O,5=fO!CbQSO'#KVO>pQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-E<U-E<UOOQ(CY1G.n1G.nOOOO-E<V-E<VO#(vQ`O,59xOOOO-E<X-E<XOOQ(CY1G/b1G/bO#({QbO,5>vO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-E<Y-E<YO#)dQSO,5@VO#)lQbO,5@VO#)sQSO,5@dOOQ(CY1G/h1G/hO%[QUO,5@eO#){QSO'#IbOOQO-E<`-E<`O#)sQSO,5@dOOQ(CW1G0r1G0rOOQ(CY1G/s1G/sOOQ(CY1G0V1G0VO%[QUO,5@bO#*aQ(C[O,5@bO#*rQ(C[O,5@bO#*yQSO,5@aO9ZQSO,5@aO#+RQSO,5@aO#+aQSO'#IeO#*yQSO,5@aOOQ(CW1G0q1G0qO!*OQWO,5:rO!*ZQWO,5:rOOQO,5:t,5:tO#,RQSO,5:tO#,ZQ,UO1G2rO9aQSO1G2rOOQ(CY1G0o1G0oO#,iQ(CjO1G0oO#-nQ(ChO,5;POOQ(CY'#GQ'#GQO#.[Q(CjO'#JdO!$aQUO1G0oO#0dQ,UO'#JnO#0nQSO,5:]O#0sQbO'#JoO%[QUO'#JoO#0}QSO,5:bOOQ(CY'#DY'#DYOOQ(CY1G0x1G0xO%[QUO1G0xOOQ(CY1G1b1G1bO#1SQSO1G0xO#3kQ(CjO1G0yO#3rQ(CjO1G0yO#6]Q(CjO1G0yO#6dQ(CjO1G0yO#8nQ(CjO1G0yO#9UQ(CjO1G0yO#<OQ(CjO1G0yO#<VQ(CjO1G0yO#>pQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-E<f-E<fO#FxQ(CjO1G0yOOQ(CY1G0y1G0yO#ITQ(CjO1G1_O#IwQ#tO,5<SO#JPQ#tO,5<TO#JXQ#tO'#FkO#JpQSO'#FjOOQO'#KO'#KOOOQO'#If'#IfO#JuQ#tO1G1jOOQ(CY1G1j1G1jOOOO1G1u1G1uO#KWQ$IUO'#JiO#KbQSO,5<^O!*fQUO,5<^OOOO-E<e-E<eOOQ(CY1G1g1G1gO#KgQWO'#J}OOQ(CY,5<`,5<`O#KoQWO,5<`OOQ(CY,59c,59cO!&dQ,UO'#C}OOOO'#IY'#IYO#KtO07`O,59gOOQ(CY,59g,59gO%[QUO1G1{O!6[QSO'#IjO#LPQ,UO,5<tOOQ(CY,5<q,5<qO!(SQ,UO'#ImO#LoQ,UO,5=QO!(SQ,UO'#IoO#MbQ,UO,5=SO!&dQ,UO,5=UOOQO1G1}1G1}O#MlQ`O'#CpO#NPQ`O,5<mO#NWQSO'#KRO9aQSO'#KRO#NfQSO,5<oO!(SQ,UO,5<nO#NkQSO'#GTO#NvQSO,5<nO#N{Q`O'#GQO$ YQ`O'#KSO$ dQSO'#KSO!&dQ,UO'#KSO$ iQSO,5<rO$ nQWO'#G]O!4eQWO'#G]O$!PQSO'#G_O$!UQSO'#GaO!3fQSO'#GdO$!ZQ(C[O'#IlO$!fQWO,5<vOOQ(CY,5<v,5<vO$!mQWO'#G]O$!{QWO'#G^O$#TQWO'#G^O$#YQ,UO,5=QO$#jQ,UO,5=SOOQ(CY,5=V,5=VO!(SQ,UO,5?}O!(SQ,UO,5?}O$#zQSO'#IqO$$VQSO,5?|O$$_QSO,59^O$%OQ,UO,59oOOQ(CY,59o,59oO$%qQ,UO,5<eO$&dQ,UO,5<gO@bQSO,5<iOOQ(CY,5<j,5<jO$&nQSO,5<pO$&sQ,UO,5<uO$'TQSO'#JuO!$aQUO1G1|O$'YQSO1G1|O9ZQSO'#JxO9ZQSO'#EnO%[QUO'#EnO9ZQSO'#IsO$'_Q(C[O,5@rOOQQ1G2v1G2vOOQQ1G4W1G4WOOQ(CY1G/u1G/uO!,iQSO1G/uO$)dQ(CjO1G0ROOQQ1G2r1G2rO!&dQ,UO1G2rO%[QUO1G2rO$*TQSO1G2rO$*`Q,UO'#EeOOQ(CW,5?z,5?zO$*jQ(C[O,5?zOOQQ1G.s1G.sO!@rQ(C[O1G.sO!@}QWO1G.sO!AVQ,UO1G.sO$*{QSO1G0oO$+QQSO'#CgO$+]QSO'#K[O$+eQSO,5=tO$+jQSO'#K[O$+oQSO'#K[O$+}QSO'#IyO$,]QSO,5@uO$,eQbO1G1dOOQ(CY1G1f1G1fO9aQSO1G3_O@bQSO1G3_O$,lQSO1G3_O$,qQSO1G3_OOQQ1G3_1G3_O!CTQSO1G2}O!&dQ,UO1G2zO$,vQSO1G2zOOQQ1G2{1G2{O!&dQ,UO1G2{O$,{QSO1G2{O$-TQWO'#GyOOQQ1G2}1G2}O!4eQWO'#IuO!CYQ`O1G3QOOQQ1G3Q1G3QOOQQ,5=k,5=kO$-]Q,UO,5=mO9aQSO,5=mO$!UQSO,5=oO9UQSO,5=oO!@}QWO,5=oO!AVQ,UO,5=oO:RQ,UO,5=oO$-kQSO'#KYO$-vQSO,5=pOOQQ1G.i1G.iO$-{Q(C[O1G.iO@bQSO1G.iO$.WQSO1G.iO9kQ(C[O1G.iO$0]QbO,5@wO$0mQSO,5@wO9ZQSO,5@wO$0xQUO,5=wO$1PQSO,5=wOOQQ1G3a1G3aO`QUO1G3aOOQQ1G3g1G3gOOQQ1G3i1G3iO>kQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-E<S-E<SPOOO1G.f1G.fOOOO1G/d1G/dO$<iQ`O,5<dO$<qQbO1G4bOOQO1G4h1G4hO%[QUO,5>vO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-E<c-E<cOOQO1G0^1G0^OOQO1G0`1G0`O!,lQSO1G0`OOQQ7+(^7+(^O!&dQ,UO7+(^O%[QUO7+(^O$?UQSO7+(^O$?aQ,UO7+(^O$?oQ(CjO,5=QO$AzQ(CjO,5=SO$DVQ(CjO,5=QO$FhQ(CjO,5=SO$HyQ(CjO,59oO$KRQ(CjO,5<eO$M^Q(CjO,5<gO% iQ(CjO,5<uOOQ(CY7+&Z7+&ZO%#zQ(CjO7+&ZO%$nQ,UO'#I^O%$xQSO,5@YOOQ(CY1G/w1G/wO%%QQUO'#I_O%%_QSO,5@ZO%%gQbO,5@ZOOQ(CY1G/|1G/|O%%qQSO7+&dOOQ(CY7+&d7+&dO%%vQ$IUO,5:cO%[QUO7+&vO%&QQ$IUO,5:ZO%&_Q$IUO,5:gO%&iQ$IUO,5:iOOQ(CY7+&|7+&|OOQO1G1n1G1nOOQO1G1o1G1oO%&sQ#tO,5<VO!*fQUO,5<UOOQO-E<d-E<dOOQ(CY7+'U7+'UOOOO7+'a7+'aOOOO1G1x1G1xO%'OQSO1G1xOOQ(CY1G1z1G1zO%'TQ`O,59iOOOO-E<W-E<WOOQ(CY1G/R1G/RO%'[Q(CjO7+'gOOQ(CY,5?U,5?UO%(OQ`O,5?UOOQ(CY1G2`1G2`P!&dQ,UO'#IjPOQ(CY-E<h-E<hO%(nQ,UO,5?XOOQ(CY-E<k-E<kO%)aQ,UO,5?ZOOQ(CY-E<m-E<mO%)kQ`O1G2pOOQ(CY1G2X1G2XO%)rQSO'#IiO%*QQSO,5@mO%*QQSO,5@mO%*YQSO,5@mO%*eQSO,5@mOOQO1G2Z1G2ZO%*sQ,UO1G2YO!(SQ,UO1G2YO%+TQMhO'#IkO%+eQSO,5@nO!&dQ,UO,5@nO%+mQ`O,5@nOOQ(CY1G2^1G2^OOQ(CW,5<w,5<wOOQ(CW,5<x,5<xO$'TQSO,5<xOC_QSO,5<xO!@}QWO,5<wOOQO'#G`'#G`O%+wQSO,5<yOOQ(CW,5<{,5<{O$'TQSO,5=OOOQO,5?W,5?WOOQO-E<j-E<jOOQ(CY1G2b1G2bO!4eQWO,5<wO%,PQSO,5<xO$!PQSO,5<yO!4eQWO,5<xO!(SQ,UO'#ImO%,sQ,UO1G2lO!(SQ,UO'#IoO%-fQ,UO1G2nO%-pQ,UO1G5iO%-zQ,UO1G5iOOQO,5?],5?]OOQO-E<o-E<oOOQO1G.x1G.xO!7{QWO,59qO%[QUO,59qO%.XQSO1G2TO!(SQ,UO1G2[O%.^Q(CjO7+'hOOQ(CY7+'h7+'hO!$aQUO7+'hO%/QQSO,5;YOOQ(CW,5?_,5?_OOQ(CW-E<q-E<qOOQ(CY7+%a7+%aO%/VQ`O'#KTO#%sQSO7+(^O%/aQbO7+(^O$?XQSO7+(^O%/hQ(ChO'#CgO%/{Q(ChO,5<|O%0mQSO,5<|OOQ(CW1G5f1G5fOOQQ7+$_7+$_O!@rQ(C[O7+$_O!@}QWO7+$_O!$aQUO7+&ZO%0rQSO'#IxO%1ZQSO,5@vOOQO1G3`1G3`O9aQSO,5@vO%1ZQSO,5@vO%1cQSO,5@vOOQO,5?e,5?eOOQO-E<w-E<wOOQ(CY7+'O7+'OO%1hQSO7+(yO9kQ(C[O7+(yO9aQSO7+(yO@bQSO7+(yOOQQ7+(i7+(iO%1mQ(ChO7+(fO!&dQ,UO7+(fO%1wQ`O7+(gOOQQ7+(g7+(gO!&dQ,UO7+(gO%2OQSO'#KXO%2ZQSO,5=eOOQO,5?a,5?aOOQO-E<s-E<sOOQQ7+(l7+(lO%3jQWO'#HSOOQQ1G3X1G3XO!&dQ,UO1G3XO%[QUO1G3XO%3qQSO1G3XO%3|Q,UO1G3XO9kQ(C[O1G3ZO$!UQSO1G3ZO9UQSO1G3ZO!@}QWO1G3ZO!AVQ,UO1G3ZO%4[QSO'#IwO%4pQSO,5@tO%4xQWO,5@tOOQ(CW1G3[1G3[OOQQ7+$T7+$TO@bQSO7+$TO9kQ(C[O7+$TO%5TQSO7+$TO%[QUO1G6cO%[QUO1G6dO%5YQ(C[O1G6cO%5dQUO1G3cO%5kQSO1G3cO%5pQUO1G3cOOQQ7+({7+({O9kQ(C[O7+)VO`QUO7+)XOOQQ'#K_'#K_OOQQ'#Iz'#IzO%5wQUO,5>WOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E<Z-E<ZOOQO,5>},5>}OOQO-E<a-E<aO!@}QWO1G/nOOQO-E<^-E<^OOQ(CY1G0Y1G0YOOQ(CY7+%r7+%rO#%sQSO7+%rOOQ(CY7+&Y7+&YO>pQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<<KxO%/aQbO<<KxO%8qQSO<<KxOOQQ<<Kx<<KxO!&dQ,UO<<KxO%[QUO<<KxO%8yQSO<<KxO%9UQ(CjO,5?XO%;aQ(CjO,5?ZO%=lQ(CjO1G2YO%?}Q(CjO1G2lO%BYQ(CjO1G2nO%DeQ,UO,5>xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<<JO<<JOO%ERQ$IUO1G0oO%G]Q$IUO1G0yO%GdQ$IUO1G0yO%IhQ$IUO1G0yO%IoQ$IUO1G0yO%KdQ$IUO1G0yO%KzQ$IUO1G0yO%N_Q$IUO1G0yO%NfQ$IUO1G0yO&!jQ$IUO1G0yO&!qQ$IUO1G0yO&$iQ$IUO1G0yO&$|Q(CjO<<JbO&&RQ$IUO1G0yO&'wQ$IUO'#JdO&)zQ$IUO1G1_O&*XQ$IUO1G0RO!*fQUO'#FmOOQO'#KP'#KPOOQO1G1q1G1qO&*cQSO1G1pO&*hQ$IUO,5?SOOOO7+'d7+'dOOOO1G/T1G/TOOQ(CY1G4p1G4pO!(SQ,UO7+([O&*rQSO,5?TO9aQSO,5?TOOQO-E<g-E<gO&+QQSO1G6XO&+QQSO1G6XO&+YQSO1G6XO&+eQ,UO7+'tO&+uQ`O,5?VO&,PQSO,5?VO!&dQ,UO,5?VOOQO-E<i-E<iO&,UQ`O1G6YO&,`QSO1G6YOOQ(CW1G2d1G2dO$'TQSO1G2dOOQ(CW1G2c1G2cO&,hQSO1G2eO!&dQ,UO1G2eOOQ(CW1G2j1G2jO!@}QWO1G2cOC_QSO1G2dO&,mQSO1G2eO&,uQSO1G2dO&-iQ,UO,5?XOOQ(CY-E<l-E<lO&.[Q,UO,5?ZOOQ(CY-E<n-E<nO!(SQ,UO7++TOOQ(CY1G/]1G/]O&.fQSO1G/]OOQ(CY7+'o7+'oO&.kQ,UO7+'vO&.{Q(CjO<<KSOOQ(CY<<KS<<KSO&/oQSO1G0tO!&dQ,UO'#IrO&/tQSO,5@oO!&dQ,UO1G2hOOQQ<<Gy<<GyO!@rQ(C[O<<GyO&/|Q(CjO<<IuOOQ(CY<<Iu<<IuOOQO,5?d,5?dO&0pQSO,5?dO&0uQSO,5?dOOQO-E<v-E<vO&1TQSO1G6bO&1TQSO1G6bO9aQSO1G6bO@bQSO<<LeOOQQ<<Le<<LeO&1]QSO<<LeO9kQ(C[O<<LeOOQQ<<LQ<<LQO%1mQ(ChO<<LQOOQQ<<LR<<LRO%1wQ`O<<LRO&1bQWO'#ItO&1mQSO,5@sO!*fQUO,5@sOOQQ1G3P1G3PO&1uQUO'#JmOOQO'#Iv'#IvO9kQ(C[O'#IvO&2PQWO,5=nOOQQ,5=n,5=nO&2WQWO'#EaO&2lQSO7+(sO&2qQSO7+(sOOQQ7+(s7+(sO!&dQ,UO7+(sO%[QUO7+(sO&2yQSO7+(sOOQQ7+(u7+(uO9kQ(C[O7+(uO$!UQSO7+(uO9UQSO7+(uO!@}QWO7+(uO&3UQSO,5?cOOQO-E<u-E<uOOQO'#HV'#HVO&3aQSO1G6`O9kQ(C[O<<GoOOQQ<<Go<<GoO@bQSO<<GoO&3iQSO7++}O&3nQSO7+,OO%[QUO7++}O%[QUO7+,OOOQQ7+(}7+(}O&3sQSO7+(}O&3xQUO7+(}O&4PQSO7+(}OOQQ<<Lq<<LqOOQQ<<Ls<<LsOOQQ-E<x-E<xOOQQ1G3r1G3rO&4UQSO,5>XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<<I^<<I^OOQ(CY<<It<<ItO>pQSO<<ItOOQO<<Im<<ImO$<_Q(CjO<<ImO%[QUO<<ImOOQO<<Ia<<IaO!@rQ(C[O<<IaO&4jQ(C[O<<ImO&4uQ(CjO<= SO&5VQSO<= ROOQO7+*V7+*VO9ZQSO7+*VOOQQANAdANAdO&5_QSOANAdO!&dQ,UOANAdO#%sQSOANAdO%/aQbOANAdO%[QUOANAdO&5gQ(CjO7+'tO&7xQ(CjO,5?XO&:TQ(CjO,5?ZO&<`Q(CjO7+'vO&>qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5<eO&H`Q$IUO,5<gO&JcQ$IUO,5<uO&LXQ$IUO7+'gO&LfQ$IUO7+'hO&LsQSO,5<XOOQO7+'[7+'[O&LxQ,UO<<KvOOQO1G4o1G4oO&MPQSO1G4oO&M[QSO1G4oO&MjQSO7++sO&MjQSO7++sO!&dQ,UO1G4qO&MrQ`O1G4qO&M|QSO7++tOOQ(CW7+(O7+(OO$'TQSO7+(PO&NUQ`O7+(POOQ(CW7+'}7+'}O$'TQSO7+(OO&N]QSO7+(PO!&dQ,UO7+(POC_QSO7+(OO&NbQ,UO<<NoOOQ(CY7+$w7+$wO&NlQ`O,5?^OOQO-E<p-E<pO&NvQ(ChO7+(SOOQQAN=eAN=eO9aQSO1G5OOOQO1G5O1G5OO' WQSO1G5OO' ]QSO7++|O' ]QSO7++|O9kQ(C[OANBPO@bQSOANBPOOQQANBPANBPOOQQANAlANAlOOQQANAmANAmO' eQSO,5?`OOQO-E<r-E<rO' pQ$IUO1G6_O'$QQbO'#CgOOQO,5?b,5?bOOQO-E<t-E<tOOQQ1G3Y1G3YO&1uQUO,5<yOOQQ<<L_<<L_O!&dQ,UO<<L_O&2lQSO<<L_O'$[QSO<<L_O%[QUO<<L_OOQQ<<La<<LaO9kQ(C[O<<LaO$!UQSO<<LaO9UQSO<<LaO'$dQWO1G4}O'$oQSO7++zOOQQAN=ZAN=ZO9kQ(C[OAN=ZOOQQ<= i<= iOOQQ<= j<= jO'$wQSO<= iO'$|QSO<= jOOQQ<<Li<<LiO'%RQSO<<LiO'%WQUO<<LiOOQQ1G3s1G3sO>pQSO7+)dO'%_QSO<<IzO'%jQ$IUO<<IzOOQO<<Ht<<HtOOQ(CYAN?`AN?`OOQOAN?XAN?XO$<_Q(CjOAN?XOOQOAN>{AN>{O%[QUOAN?XOOQO<<Mq<<MqOOQQG27OG27OO!&dQ,UOG27OO#%sQSOG27OO'%tQSOG27OO%/aQbOG27OO'%|Q$IUO<<JbO'&ZQ$IUO1G2YO'(PQ$IUO,5?XO'*SQ$IUO,5?ZO',VQ$IUO1G2lO'.YQ$IUO1G2nO'0]Q$IUO<<KSO'0jQ$IUO<<IuOOQO1G1s1G1sO!(SQ,UOANAbOOQO7+*Z7+*ZO'0wQSO7+*ZO'1SQSO<= _O'1[Q`O7+*]OOQ(CW<<Kk<<KkO$'TQSO<<KkOOQ(CW<<Kj<<KjO'1fQ`O<<KkO$'TQSO<<KjOOQO7+*j7+*jO9aQSO7+*jO'1mQSO<= hOOQQG27kG27kO9kQ(C[OG27kO!*fQUO1G4zO'1uQSO7++yO&2lQSOANAyOOQQANAyANAyO!&dQ,UOANAyO'1}QSOANAyOOQQANA{ANA{O9kQ(C[OANA{O$!UQSOANA{OOQO'#HW'#HWOOQO7+*i7+*iOOQQG22uG22uOOQQANETANETOOQQANEUANEUOOQQANBTANBTO'2VQSOANBTOOQQ<<MO<<MOO!*fQUOAN?fOOQOG24sG24sO$<_Q(CjOG24sO#%sQSOLD,jOOQQLD,jLD,jO!&dQ,UOLD,jO'2[QSOLD,jO'2dQ$IUO7+'tO'4YQ$IUO,5?XO'6]Q$IUO,5?ZO'8`Q$IUO7+'vO':UQ,UOG26|OOQO<<Mu<<MuOOQ(CWANAVANAVO$'TQSOANAVOOQ(CWANAUANAUOOQO<<NU<<NUOOQQLD-VLD-VO':fQ$IUO7+*fOOQQG27eG27eO&2lQSOG27eO!&dQ,UOG27eOOQQG27gG27gO9kQ(C[OG27gOOQQG27oG27oO':pQ$IUOG25QOOQOLD*_LD*_OOQQ!$(!U!$(!UO#%sQSO!$(!UO!&dQ,UO!$(!UO':zQ(CjOG26|OOQ(CWG26qG26qOOQQLD-PLD-PO&2lQSOLD-POOQQLD-RLD-ROOQQ!)9Ep!)9EpO#%sQSO!)9EpOOQQ!$(!k!$(!kOOQQ!.K;[!.K;[O'=]Q$IUOG26|O!*fQUO'#DwO1PQSO'#EUO'?RQbO'#JiO!*fQUO'#DoO'?YQUO'#D{O'?aQbO'#CgO'AwQbO'#CgO!*fQUO'#D}O'BXQUO,5;TO!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO'#IhO'D[QSO,5<dO'DdQ,UO,5;_O'E}Q,UO,5;_O!*fQUO,5;sO!&dQ,UO'#GfO'DdQ,UO'#GfO!&dQ,UO'#GhO'DdQ,UO'#GhO1SQSO'#DTO1SQSO'#DTO!&dQ,UO'#FyO'DdQ,UO'#FyO!&dQ,UO'#F{O'DdQ,UO'#F{O!&dQ,UO'#GZO'DdQ,UO'#GZO!*fQUO,5:gO!*fQUO,5@eO'BXQUO1G0oO'FUQ$IUO'#CgO!*fQUO1G1{O!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO,5<nO'DdQ,UO,5<nO'BXQUO1G1|O!*fQUO7+&vO!&dQ,UO1G2YO'DdQ,UO1G2YO!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO1G2[O'DdQ,UO1G2[O'BXQUO7+'hO'BXQUO7+&ZO!&dQ,UOANAbO'DdQ,UOANAbO'F`QSO'#EiO'FeQSO'#EiO'FmQSO'#FXO'FrQSO'#EsO'FwQSO'#JyO'GSQSO'#JwO'G_QSO,5;TO'GdQ,UO,5<aO'GkQSO'#GSO'GpQSO'#GSO'GuQSO,5<bO'G}QSO,5;TO'HVQ$IUO1G1[O'H^QSO,5<nO'HcQSO,5<nO'HhQSO,5<pO'HmQSO,5<pO'HrQSO1G1|O'HwQSO1G0oO'H|Q,UO<<KvO'ITQ,UO<<KvO7hQ,UO'#FwO9UQSO'#FvOA]QSO'#EhO!*fQUO,5;pO!3fQSO'#GSO!3fQSO'#GSO!3fQSO'#GUO!3fQSO'#GUO!(SQ,UO7+([O!(SQ,UO7+([O%)kQ`O1G2pO%)kQ`O1G2pO!&dQ,UO,5=UO!&dQ,UO,5=U",stateData:"'J^~O'sOS'tOSROS'uRQ~OPYOQYOW!VO_qObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#q!PO$R|O$VfO%a}O%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO&O!WO&U!XO&W!YO&Y!ZO&[![O&_!]O&e!^O&k!_O&m!`O&o!aO&q!bO&s!cO'zSO'|TO(PUO(XVO(g[O(tiO~OUtO~P`OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_!vOm!nO}!oO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!wO#Q!pO#R!pO#U!yO#V!yO'{!lO'|TO(PUO([!mO(g!sO~O'u!zO~OPZXYZX_ZXlZXzZX{ZX}ZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX'qZX(XZX(hZX(oZX(pZX~O!b${X~P(qO]!|O'|#OO'}!|O(O#OO~O]#PO(O#OO(P#OO(Q#PO~Or#RO!P#SO(Y#SO(Z#UO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z:hO'|TO(PUO(XVO(g[O(tiO~O!V#YO!W#VO!T(_P!T(lP~P+}O!X#bO~P`OPYOQYOb!jOc!iOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(tiO~Oj#lO!V#hO!y]O#c#kO#d#hO'z:iO!h(iP~P.iO!i#nO'z#mO~O!u#rO!y]O%a#sO~O#e#tO~O!b#uO#e#tO~OP$]OY$dOl$QOz#yO{#zO}#{O!W$aO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_(]X'q(]X'o(]X!h(]X!T(]X!Y(]X%b(]X!b(]X~P1qO#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X!Y(^X%b(^X~O_(^X!g(^X'q(^X'o(^X!T(^X!h(^Xp(^X!b(^X~P4XO#Y$eO~O$X$gO$Z$fO$b$lO~O!Y$mO$VfO$e$nO$g$pO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z$rO'|TO(PUO(T%VO(X$uO(o$}O(p%POe(UP~O!i%bO~O}%eO!Y%fO'z%dO~O!b%jO~O_%kO'q%kO~O'{!lO~P%[O%g%rO~P%[O!i%bO'z%dO'{!lO(T%VO~Oc%yO!i%bO'z%dO~O#p$SO~Oz&OO!Y%{O!i%}O%c&RO'z%dO'{!lO'|TO(PUO^(}P~O!u#rO~O%l&TO}(yX!Y(yX'z(yX~O'z&UO~O!r&ZO#q!PO%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO~Ob&`Oc&_O!u&]O%a&^O%t&[O~P;xOb&cOcyO!Y&bO!r&ZO!uxO!y]O#q!PO%a}O%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO~O`&fO#Y&iO%c&dO'{!lO~P<}O!i&jO!r&nO~O!i#nO~O!YXO~O_%kO'p&vO'q%kO~O_%kO'p&yO'q%kO~O_%kO'p&{O'q%kO~O'oZX!TZXpZX!hZX&SZX!YZX%bZX!bZX~P(qO!]'YO!^'RO!_'RO'{!lO'|TO(PUO~Om'PO}'OO!V'SO([&}O!X(`P!X(nP~P@UOh']O!Y'ZO'z%dO~Oc'bO!i%bO'z%dO~Oz&OO!i%}O~Om!nO}!oO!y:dO!}!pO#O!pO#Q!pO#R!pO'{!lO'|TO(PUO([!mO(g!sO~O!]'hO!^'gO!_'gO#P!pO#U'iO#V'iO~PApO_%kO!b#uO!i%bO'q%kO(T%VO(h'kO~O!m'oO#Y'mO~PCOOm!nO}!oO'|TO(PUO([!mO(g!sO~O!YXOm(eX}(eX!](eX!^(eX!_(eX!y(eX!}(eX#O(eX#P(eX#Q(eX#R(eX#U(eX#V(eX'{(eX'|(eX(P(eX([(eX(g(eX~O!^'gO!_'gO'{!lO~PCnO'v'sO'w'sO'x'uO~O]!|O'|'wO'}!|O(O'wO~O]#PO(O'wO(P'wO(Q#PO~Or#RO!P#SO(Y#SO(Z'{O~O!V'}O!T'OX!T'UX!W'OX!W'UX~P+}O!W(PO!T(_X~OP$]OY$dOl$QOz#yO{#zO}#{O!W(PO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O!T(_X~PGbO!T(UO~O!T(kX!W(kX!b(kX!h(kX(h(kX~O#Y(kX#e#^X!X(kX~PIhO#Y(VO!T(mX!W(mX~O!W(WO!T(lX~O!T(ZO~O#Y$eO~PIhO!X([O~P`Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!kaY!kal!ka!W!ka!f!ka!m!ka#h!ka#i!ka#j!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#r!ka#t!ka#v!ka#w!ka(h!ka(o!ka(p!ka~O_!ka'q!ka'o!ka!T!ka!h!kap!ka!Y!ka%b!ka!b!ka~PKOO!h(]O~O!b#uO#Y(^O(h'kO!W(jX_(jX'q(jX~O!h(jX~PMnO}%eO!Y%fO!y]O#c(cO#d(bO'z%dO~O!W(dO!h(iX~O!h(fO~O}%eO!Y%fO#d(bO'z%dO~OP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!g(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O!b#uO!h(^X~P! [Oz(gO{(hO!g#wO!i#xO!y!xa}!xa~O!u!xa%a!xa!Y!xa#c!xa#d!xa'z!xa~P!#`O!u(lO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#e(rO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~Oe(bP~P!(SO!V(vO!h(cP~P%[O([(xO(g[O~O}(zO!i#xO([(xO(g[O~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O{)]O!i#xO~O!W$aO_$la'q$la'o$la!h$la!T$la!Y$la%b$la!b$la~O#q)aO~P!&dOz)dO!b)cO!Y$YX$U$YX$X$YX$Z$YX$b$YX~O!b)cO!Y(qX$U(qX$X(qX$Z(qX$b(qX~Oz)dO~P!.OOz)dO!Y(qX$U(qX$X(qX$Z(qX$b(qX~O!Y)fO$U)jO$X)eO$Z)eO$b)kO~O!V)nO~P!*fO$X$gO$Z$fO$b)rO~Oh$tXz$tX}$tX!g$tX(o$tX(p$tX~OegXe$tXhgX!WgX#YgX~P!/tOm)tO~Or)uO(Y)vO(Z)xO~Oh*ROz)zO}){O(o$}O(p%PO~Oe)yO~P!0}Oe*SO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O!V*WO'z*TO!h(uP~P!1lO#e*YO~O!i*ZO~O!V*`O'z*]O!T(vP~P!1lOl*lO}*dO!]*jO!^*cO!_*cO!i*ZO#U*kO%X*fO'{!lO([!mO~O!X*iO~P!3xO!g#wOh(WXz(WX}(WX(o(WX(p(WX!W(WX#Y(WX~Oe(WX#z(WX~P!4qOh*qO#Y*pOe(VX!W(VX~O!W*rOe(UX~O'z&UOe(UP~O!i*yO~O'z(pO~Oj*}O}%eO!V#hO!Y%fO!y]O#c#kO#d#hO'z%dO!h(iP~O!b#uO#e+OO~O}%eO!V+QO!W(WO!Y%fO'z%dO!T(lP~Om'VO}+SO!V+RO'|TO(PUO([(xO~O!X(nP~P!7lO!W+TO_(zX'q(zX~OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_!ca!W!ca'q!ca'o!ca!T!ca!h!cap!ca!Y!ca%b!ca!b!ca~P!8dOz#yO{#zO}#{O!g#wO!i#xO(XVOP!oaY!oal!oa!W!oa!f!oa!m!oa#h!oa#i!oa#j!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#r!oa#t!oa#v!oa#w!oa(h!oa(o!oa(p!oa~O_!oa'q!oa'o!oa!T!oa!h!oap!oa!Y!oa%b!oa!b!oa~P!:}Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!qaY!qal!qa!W!qa!f!qa!m!qa#h!qa#i!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#r!qa#t!qa#v!qa#w!qa(h!qa(o!qa(p!qa~O_!qa'q!qa'o!qa!T!qa!h!qap!qa!Y!qa%b!qa!b!qa~P!=hOh+^O!Y'ZO%b+]O(T%VO~O!b+`O_(SX!Y(SX'q(SX!W(SX~O_%kO!YXO'q%kO~O!i%bO(T%VO~O!i%bO'z%dO(T%VO~O!b#uO#e(rO~O`+kO%c+lO'z+hO'|TO(PUO!X)OP~O!W+mO^(}X~OY+qO~O^+rO~O!Y%{O'z%dO'{!lO^(}P~O#Y+wO(T%VO~Oh+zO!Y$|O(T%VO~O!Y+|O~Oz,OO!YXO~O%g%rO~O!u,TO~Oc,YO~O`,ZO'z#mO'|TO(PUO!X(|P~Oc%yO~O%c!QO'z&UO~P<}OY,`O^,_O~OPYOQYObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!duO!iZO!lYO!mYO!nYO!pvO!uxO!y]O$VfO%a}O'|TO(PUO(XVO(g[O(tiO~O!Y!eO!r!gO$R!kO'z!dO~P!DkO^,_O_%kO'q%kO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_,eO!rwO#q!OO%e!OO%f!OO%g!OO~P!GTO!i&jO~O&U,kO~O!Y,mO~O&g,oO&i,pOP&daQ&daW&da_&dab&dac&daj&dal&dam&dan&dat&dav&dax&da}&da!R&da!S&da!Y&da!d&da!i&da!l&da!m&da!n&da!p&da!r&da!u&da!y&da#q&da$R&da$V&da%a&da%c&da%e&da%f&da%g&da%j&da%l&da%o&da%p&da%r&da&O&da&U&da&W&da&Y&da&[&da&_&da&e&da&k&da&m&da&o&da&q&da&s&da'o&da'z&da'|&da(P&da(X&da(g&da(t&da!X&da&]&da`&da&b&da~O'z,uO~O!W|X!W!`X!X|X!X!`X!b|X!b!`X!i!`X#Y|X(T!`X~O!b,zO#Y,yO!W#bX!W(aX!X#bX!X(aX!b(aX!i(aX(T(aX~O!b,|O!i%bO(T%VO!W![X!X![X~Om!nO}!oO'|TO(PUO([!mO~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(t<YO~O'z;]O~P#!ZO!W-QO!X(`X~O!X-SO~O!b,zO#Y,yO!W#bX!X#bX~O!W-TO!X(nX~O!X-VO~O!^-WO!_-WO'{!lO~P# xO!X-ZO~P'_Oh-^O!Y'ZO~O!T-cO~Om!xa!]!xa!^!xa!_!xa!}!xa#O!xa#P!xa#Q!xa#R!xa#U!xa#V!xa'{!xa'|!xa(P!xa([!xa(g!xa~P!#`O!m-hO#Y-fO~PCOO!^-jO!_-jO'{!lO~PCnO_%kO#Y-fO'q%kO~O_%kO!b#uO#Y-fO'q%kO~O_%kO!b#uO!m-hO#Y-fO'q%kO(h'kO~O'v'sO'w'sO'x-oO~Op-pO~O!T'Oa!W'Oa~P!8dO!V-tO!T'OX!W'OX~P%[O!W(PO!T(_a~O!T(_a~PGbO!W(WO!T(la~O}%eO!V-xO!Y%fO'z%dO!T'UX!W'UX~O#Y-zO!W(ja!h(ja_(ja'q(ja~O!b#uO~P#*aO!W(dO!h(ia~O}%eO!Y%fO#d.OO'z%dO~Oj.TO}%eO!V.QO!Y%fO!y]O#c.SO#d.QO'z%dO!W'XX!h'XX~O{.XO!i#xO~Oh.[O!Y'ZO%b.ZO(T%VO~O_#]i!W#]i'q#]i'o#]i!T#]i!h#]ip#]i!Y#]i%b#]i!b#]i~P!8dOh<fOz)zO}){O(o$}O(p%PO~O#e#Xa_#Xa#Y#Xa'q#Xa!W#Xa!h#Xa!Y#Xa!T#Xa~P#-]O#e(WXP(WXY(WX_(WXl(WX{(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX'q(WX(X(WX(h(WX!h(WX!T(WX'o(WXp(WX!Y(WX%b(WX!b(WX~P!4qO!W.iOe(bX~P!0}Oe.kO~O!W.lO!h(cX~P!8dO!h.oO~O!T.qO~OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gi_#gil#gi!W#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O#h#gi~P#1XO#h$OO~P#1XOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO(XVOY#gi_#gi!W#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~Ol#gi~P#3yOl$QO~P#3yOP$]Ol$QOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO(XVO_#gi!W#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P#6kOY$dO!f$SO#m$SO#n$SO#o$cO#p$SO~P#6kOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO(XVO_#gi!W#gi#t#gi#v#gi#w#gi'q#gi(h#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(o#gi~P#9lO(o#|O~P#9lOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO(XVO(o#|O_#gi!W#gi#v#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(p#gi~P#<^O(p#}O~P#<^OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO(XVO(o#|O(p#}O~O_#gi!W#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#?OOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX!WZX!XZX~O#zZX~P#AiOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO#w:vO(XVO(h$ZO(o#|O(p#}O~O#z.sO~P#CvO#Y:{O#|:{O#z(^X!X(^X~P! [O_'[a!W'[a'q'[a'o'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!8dOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(X#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#-]O_#{i!W#{i'q#{i'o#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!8dO$X.xO$Z.xO~O$X.yO$Z.yO~O!b)cO#Y.zO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.{O~O!Y)fO$U.}O$X)eO$Z)eO$b/OO~O!W:wO!X(]X~P#CvO!X/PO~O!b)cO$b(qX~O$b/RO~Or)uO(Y)vO(Z/UO~O!T/YO~P!&dO(o$}Oh%Yaz%Ya}%Ya(p%Ya!W%Ya#Y%Ya~Oe%Ya#z%Ya~P#LWO(p%POh%[az%[a}%[a(o%[a!W%[a#Y%[a~Oe%[a#z%[a~P#LyO!WdX!bdX!hdX!h$tX(hdX~P!/tO!h/bO~P#-]O!W/cO!b#uO(h'kO!h(uX~O!h/hO~O!V*WO'z%dO!h(uP~O#e/jO~O!T$tX!W$tX!b${X~P!/tO!W/kO!T(vX~P#-]O!b/mO~O!T/oO~Ol/sO!b#uO!i%bO(T%VO(h'kO~O'z/uO~O!b+`O~O_%kO!W/yO'q%kO~O!X/{O~P!3xO!^/|O!_/|O'{!lO([!mO~O}0OO([!mO~O#U0PO~Oe%Ya!W%Ya#Y%Ya#z%Ya~P!0}Oe%[a!W%[a#Y%[a#z%[a~P!0}O'z&UOe'eX!W'eX~O!W*rOe(Ua~Oe0YO~Oz0ZO{0ZO}0[Ohwa(owa(pwa!Wwa#Ywa~Oewa#zwa~P$$dOz)zO}){Oh$ma(o$ma(p$ma!W$ma#Y$ma~Oe$ma#z$ma~P$%YOz)zO}){Oh$oa(o$oa(p$oa!W$oa#Y$oa~Oe$oa#z$oa~P$%{O#e0^O~Oe$}a!W$}a#Y$}a#z$}a~P!0}O!b#uO~O#e0aO~O!W+TO_(za'q(za~Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(h!oi(o!oi(p!oi~O_!oi'q!oi'o!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$'jOh.[O!Y'ZO%b.ZO~Oj0kO'z0jO~P!1oO!b+`O_(Sa!Y(Sa'q(Sa!W(Sa~O#e0qO~OYZX!WdX!XdX~O!W0rO!X)OX~O!X0tO~OY0uO~O`0wO'z+hO'|TO(PUO~O!Y%{O'z%dO^'mX!W'mX~O!W+mO^(}a~O!h0zO~P!8dOY0}O~O^1OO~O#Y1RO~Oh1UO!Y$|O~O([(xO!X({P~Oh1_O!Y1[O%b1^O(T%VO~OY1iO!W1gO!X(|X~O!X1jO~O^1lO_%kO'q%kO~O'z#mO'|TO(PUO~O#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O#p1oO&S1pO_(^X!g(^X~P$.cO#Y$eO#p1oO&S1pO~O_1rO~P%[O_1tO~O&]1wOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'o&Zi'z&Zi'|&Zi(P&Zi(X&Zi(g&Zi(t&Zi!X&Zi`&Zi&b&Zi~O`1}O!X1{O&b1|O~P`O!YXO!i2PO~O&i,pOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'o&di'z&di'|&di(P&di(X&di(g&di(t&di!X&di&]&di`&di&b&di~O!T2VO~O!W![a!X![a~P#CvOm!nO}!oO!V2]O([!mO!W'PX!X'PX~P@UO!W-QO!X(`a~O!W'VX!X'VX~P!7lO!W-TO!X(na~O!X2dO~P'_O_%kO#Y2mO'q%kO~O_%kO!b#uO#Y2mO'q%kO~O_%kO!b#uO!m2qO#Y2mO'q%kO(h'kO~O_%kO'q%kO~P!8dO!W$aOp$la~O!T'Oi!W'Oi~P!8dO!W(PO!T(_i~O!W(WO!T(li~O!T(mi!W(mi~P!8dO!W(ji!h(ji_(ji'q(ji~P!8dO#Y2sO!W(ji!h(ji_(ji'q(ji~O!W(dO!h(ii~O}%eO!Y%fO!y]O#c2xO#d2wO'z%dO~O}%eO!Y%fO#d2wO'z%dO~Oh3PO!Y'ZO%b3OO~Oh3PO!Y'ZO%b3OO(T%VO~O#e%YaP%YaY%Ya_%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#LWO#e%[aP%[aY%[a_%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[ap%[a!Y%[a%b%[a!b%[a~P#LyO#e%YaP%YaY%Ya_%Yal%Ya{%Ya!W%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Ya#Y%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#-]O#e%[aP%[aY%[a_%[al%[a{%[a!W%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[a#Y%[ap%[a!Y%[a%b%[a!b%[a~P#-]O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'qwa(Xwa(hwa!hwa!Twa'owapwa!Ywa%bwa!bwa~P$$dO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'q$ma(X$ma(h$ma!h$ma!T$ma'o$map$ma!Y$ma%b$ma!b$ma~P$%YO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'q$oa(X$oa(h$oa!h$oa!T$oa'o$oap$oa!Y$oa%b$oa!b$oa~P$%{O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'q$}a(X$}a(h$}a!h$}a!T$}a'o$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#-]O_#]q!W#]q'q#]q'o#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!8dOe'QX!W'QX~P!(SO!W.iOe(ba~O!V3ZO!W'RX!h'RX~P%[O!W.lO!h(ca~O!W.lO!h(ca~P!8dO!T3^O~O#z!ka!X!ka~PKOO#z!ca!W!ca!X!ca~P#CvO#z!oa!X!oa~P!:}O#z!qa!X!qa~P!=hO!Y3pO$VfO$`3qO~O!X3uO~Op3vO~P#-]O_$iq!W$iq'q$iq'o$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!8dO!T3wO~P#-]Oz)zO}){O(p%POh'aa(o'aa!W'aa#Y'aa~Oe'aa#z'aa~P%(VOz)zO}){Oh'ca(o'ca(p'ca!W'ca#Y'ca~Oe'ca#z'ca~P%(xO(h$ZO~P#-]O!V3zO'z%dO!W']X!h']X~O!W/cO!h(ua~O!W/cO!b#uO!h(ua~O!W/cO!b#uO(h'kO!h(ua~Oe$vi!W$vi#Y$vi#z$vi~P!0}O!V4SO'z*]O!T'_X!W'_X~P!1lO!W/kO!T(va~O!W/kO!T(va~P#-]O!b#uO#p4[O~Ol4_O!b#uO(h'kO~O(o$}Oh%Yiz%Yi}%Yi(p%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P%,[O(p%POh%[iz%[i}%[i(o%[i!W%[i#Y%[i~Oe%[i#z%[i~P%,}Oe(Vi!W(Vi~P!0}O#Y4fOe(Vi!W(Vi~P!0}O!h4iO~O_$jq!W$jq'q$jq'o$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!8dO!T4mO~O!W4nO!Y(wX~P#-]O!g#wO~P4XO_$tX!Y$tX%VZX'q$tX!W$tX~P!/tO%V4pO_iXhiXziX}iX!YiX'qiX(oiX(piX!WiX~O%V4pO~O`4vO%c4wO'z+hO'|TO(PUO!W'lX!X'lX~O!W0rO!X)Oa~OY4{O~O^4|O~O_%kO'q%kO~P#-]O!Y$|O~P#-]O!W5UO#Y5WO!X({X~O!X5XO~Om!nO}5YO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!pO#Q!pO#R!pO#U5_O#V!yO'{!lO'|TO(PUO([!mO(g!sO~O!X5^O~P%2`Oh5dO!Y1[O%b5cO~Oh5dO!Y1[O%b5cO(T%VO~O`5kO'z#mO'|TO(PUO!W'kX!X'kX~O!W1gO!X(|a~O'|TO(PUO([5mO~O^5qO~O#p5tO&S5uO~PMnO!h5vO~P%[O_5xO~O_5xO~P%[O`1}O!X5}O&b1|O~P`O!b6PO~O!b6RO!W(ai!X(ai!b(ai!i(ai(T(ai~O!W#bi!X#bi~P#CvO#Y6SO!W#bi!X#bi~O!W![i!X![i~P#CvO_%kO#Y6]O'q%kO~O_%kO!b#uO#Y6]O'q%kO~O!W(jq!h(jq_(jq'q(jq~P!8dO!W(dO!h(iq~O}%eO!Y%fO#d6dO'z%dO~O!Y'ZO%b6gO~Oh6jO!Y'ZO%b6gO~O#e'aaP'aaY'aa_'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa'q'aa(X'aa(h'aa!h'aa!T'aa'o'aap'aa!Y'aa%b'aa!b'aa~P%(VO#e'caP'caY'ca_'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca'q'ca(X'ca(h'ca!h'ca!T'ca'o'cap'ca!Y'ca%b'ca!b'ca~P%(xO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'q$vi(X$vi(h$vi!h$vi!T$vi'o$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#-]O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'q%Yi(X%Yi(h%Yi!h%Yi!T%Yi'o%Yip%Yi!Y%Yi%b%Yi!b%Yi~P%,[O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'q%[i(X%[i(h%[i!h%[i!T%[i'o%[ip%[i!Y%[i%b%[i!b%[i~P%,}Oe'Qa!W'Qa~P!0}O!W'Ra!h'Ra~P!8dO!W.lO!h(ci~O#z#]i!W#]i!X#]i~P#CvOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~O#h#gi~P%E`O#h:lO~P%E`OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO(XVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~Ol#gi~P%GkOl:nO~P%GkOP$]Ol:nOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO(XVO#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%IvOY:zO!f:pO#m:pO#n:pO#o:yO#p:pO~P%IvOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO(XVO#t#gi#v#gi#w#gi#z#gi(h#gi(p#gi!W#gi!X#gi~O(o#gi~P%LbO(o#|O~P%LbOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO(XVO(o#|O#v#gi#w#gi#z#gi(h#gi!W#gi!X#gi~O(p#gi~P%NmO(p#}O~P%NmOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO(XVO(o#|O(p#}O~O#w#gi#z#gi(h#gi!W#gi!X#gi~P&!xO_#xy!W#xy'q#xy'o#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!8dOh<gOz)zO}){O(o$}O(p%PO~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(X#gi(h#gi!W#gi!X#gi~P&%pO!g#wOP(WXY(WXh(WXl(WXz(WX{(WX}(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX#z(WX(X(WX(h(WX(o(WX(p(WX!W(WX!X(WX~O#z#{i!W#{i!X#{i~P#CvO#z!oi!X!oi~P$'jO!X6|O~O!W'[a!X'[a~P#CvO!b#uO(h'kO!W']a!h']a~O!W/cO!h(ui~O!W/cO!b#uO!h(ui~Oe$vq!W$vq#Y$vq#z$vq~P!0}O!T'_a!W'_a~P#-]O!b7TO~O!W/kO!T(vi~P#-]O!W/kO!T(vi~O!T7XO~O!b#uO#p7^O~Ol7_O!b#uO(h'kO~Oz)zO}){O(p%POh'ba(o'ba!W'ba#Y'ba~Oe'ba#z'ba~P&-QOz)zO}){Oh'da(o'da(p'da!W'da#Y'da~Oe'da#z'da~P&-sO!T7aO~Oe$xq!W$xq#Y$xq#z$xq~P!0}O_$jy!W$jy'q$jy'o$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!8dO!b6RO~O!W4nO!Y(wa~O_#]y!W#]y'q#]y'o#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!8dOY7fO~O`7hO'z+hO'|TO(PUO~O!W0rO!X)Oi~O^7lO~O([(xO!W'hX!X'hX~O!W5UO!X({a~OjkO'z7sO~P.iO!X7vO~P%2`Om!nO}7wO'|TO(PUO([!mO(g!sO~O!Y1[O~O!Y1[O%b7yO~Oh7|O!Y1[O%b7yO~OY8RO!W'ka!X'ka~O!W1gO!X(|i~O!h8VO~O!h8WO~O!h8ZO~O!h8ZO~P%[O_8]O~O!b8^O~O!h8_O~O!W(mi!X(mi~P#CvO_%kO#Y8gO'q%kO~O!W(jy!h(jy_(jy'q(jy~P!8dO!W(dO!h(iy~O!Y'ZO%b8jO~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'q$vq(X$vq(h$vq!h$vq!T$vq'o$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#-]O#e'baP'baY'ba_'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba'q'ba(X'ba(h'ba!h'ba!T'ba'o'bap'ba!Y'ba%b'ba!b'ba~P&-QO#e'daP'daY'da_'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da'q'da(X'da(h'da!h'da!T'da'o'dap'da!Y'da%b'da!b'da~P&-sO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'q$xq(X$xq(h$xq!h$xq!T$xq'o$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#-]O!W'Ri!h'Ri~P!8dO#z#]q!W#]q!X#]q~P#CvO(o$}OP%YaY%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya#z%Ya(X%Ya(h%Ya!W%Ya!X%Ya~Oh%Yaz%Ya}%Ya(p%Ya~P&?YO(p%POP%[aY%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a#z%[a(X%[a(h%[a!W%[a!X%[a~Oh%[az%[a}%[a(o%[a~P&AaOh<gOz)zO}){O(p%PO~P&?YOh<gOz)zO}){O(o$}O~P&AaOz0ZO{0ZO}0[OPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Xwa(hwa(owa(pwa!Wwa!Xwa~Oz)zO}){OP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(X$ma(h$ma(o$ma(p$ma!W$ma!X$ma~Oz)zO}){OP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(X$oa(h$oa(o$oa(p$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(X$}a(h$}a!W$}a!X$}a~P&%pO#z$iq!W$iq!X$iq~P#CvO#z$jq!W$jq!X$jq~P#CvO!X8vO~O#z8wO~P!0}O!b#uO!W']i!h']i~O!b#uO(h'kO!W']i!h']i~O!W/cO!h(uq~O!T'_i!W'_i~P#-]O!W/kO!T(vq~O!T8}O~P#-]O!T8}O~Oe(Vy!W(Vy~P!0}O!W'fa!Y'fa~P#-]O_%Uq!Y%Uq'q%Uq!W%Uq~P#-]OY9SO~O!W0rO!X)Oq~O#Y9WO!W'ha!X'ha~O!W5UO!X({i~P#CvOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!b%SX#p%SX~P' zO!Y1[O%b9[O~O'|TO(PUO([9aO~O!W1gO!X(|q~O!h9dO~O!h9eO~O!h9fO~O!h9fO~P%[O#Y9iO!W#by!X#by~O!W#by!X#by~P#CvO!Y'ZO%b9nO~O#z#xy!W#xy!X#xy~P#CvOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(X$vi(h$vi!W$vi!X$vi~P&%pOz)zO}){O(p%POP'aaY'aah'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa#z'aa(X'aa(h'aa(o'aa!W'aa!X'aa~Oz)zO}){OP'caY'cah'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca#z'ca(X'ca(h'ca(o'ca(p'ca!W'ca!X'ca~O(o$}OP%YiY%Yih%Yil%Yiz%Yi{%Yi}%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(X%Yi(h%Yi(p%Yi!W%Yi!X%Yi~O(p%POP%[iY%[ih%[il%[iz%[i{%[i}%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(X%[i(h%[i(o%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CvO#z#]y!W#]y!X#]y~P#CvO!b#uO!W']q!h']q~O!W/cO!h(uy~O!T'_q!W'_q~P#-]O!T9wO~P#-]O!W0rO!X)Oy~O!W5UO!X({q~O!Y1[O%b:OO~O!h:RO~O!Y'ZO%b:WO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(X$vq(h$vq!W$vq!X$vq~P&%pOz)zO}){O(p%POP'baY'bah'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba#z'ba(X'ba(h'ba(o'ba!W'ba!X'ba~Oz)zO}){OP'daY'dah'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da#z'da(X'da(h'da(o'da(p'da!W'da!X'da~OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(X$xq(h$xq!W$xq!X$xq~P&%pOe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0}O!W'hq!X'hq~P#CvO!W#b!Z!X#b!Z~P#CvO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'q%^!Z(X%^!Z(h%^!Z!h%^!Z!T%^!Z'o%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#-]OP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(X%^!Z(h%^!Z!W%^!Z!X%^!Z~P&%pOp(]X~P1qO'{!lO~P!*fO!TdX!WdX#YdX~P' zOPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!bdX!hZX!hdX(hdX~P'?nOP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!YXO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O!W:wO!X$la~Oj%WOl$tOm$sOn$sOt%XOv%YOx;RO}${O!Y$|O!d<aO!i$xO#d;XO$R%^O$n;TO$p;VO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#q)aO~P'DdO!XZX!XdX~P'?nO#e:kO~O!b#uO#e:kO~O#Y:{O~O#p:pO~O#Y;ZO!W(mX!X(mX~O#Y:{O!W(kX!X(kX~O#e;[O~Oe;^O~P!0}O#e;cO~O#e;dO~O!b#uO#e;eO~O!b#uO#e;[O~O#z;fO~P#CvO#e;gO~O#e;hO~O#e;mO~O#e;nO~O#e;oO~O#e;pO~O#z;qO~P!0}O#z;rO~P!0}O$V~!g!}#O#Q#R#U#c#d#o(t$n$p$s%V%a%b%c%j%l%o%p%r%t~'uR$V(t#i!S's'{#jm#h#klz't(['t'z$X$Z$X~",goto:"$2p)SPPPP)TPP)WP)iP*x.|PPPP5pPP6WP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AuPPGh!CSPGhPGhGhGhGhPGh!DfPP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!f$Uc#X%n'|(S(n(u)U)V)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:r)Z)l-O.t2W2Z3_3g3h3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!b$Wc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:t)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:BN,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[FN],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$<m#p#q$=c#q#r$>s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__US$e&j'}p(Q!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]US$e&j(Q!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$e&j(g!L^'}p(Q!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$e&j'}p(Q!b([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$e&j'}p(Q!b$X#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$e&j'}p(Q!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$e&j#|$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$e&j#v$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b! c_(P$)`$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b*Q!!i_$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b)`!#mX$e&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h#t!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y#t!$oP;=`<%l!$Y)`!$uP;=`<%l!#h*Q!%R]$`#t$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$f!&PZ'}pOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z$f!&yU$`#t'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$f!'`P;=`<%l!%z*Q!'fP;=`<%l!!b(*Q!'t_!i(!b$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!hM|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$e&j'}p(Q!b'{#)d#k$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$e&j'}p(Q!b#h$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$e&j'}p(Q!bl&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!W&;l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$e&j'}p(Q!bz'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!VMt$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$e&j'}p(Q!b#i$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$e&j(Q!b!SSOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$e&j'}p!SSOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$e&j'}p!SSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ'}p!SSOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb'}p!SSOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX'}pOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$e&j'}pOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$e&j'}p(Q!b!SSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d]'}p(Q!b!SSOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe'}p(Q!b!SSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ'}p(Q!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$e&j'}p(Q!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$e&j'}p(Q!b'u(;d!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$e&j'}p(Q!bR(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$e&j(Q!bR(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$e&jR(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSR(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(Q!bR(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$e&j'}pR(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW'}pR(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY'}p(Q!bR(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$e&j#|$Id'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$U#t$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!b$b$e&j#z%<f'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I___l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Jm^(T!*v!f'.r'}p(Q!b$V)d(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Ki!Q!^*g!^!_#L_!_!`#NP!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KrX$g&j'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LhZ#l$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MZ!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MdX#|$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NYX#m$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Qa#Y%?x$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!V!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!b_#e$Ih$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#paeBf#m$Id$b#|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$u!`!a$&P!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%Q_#m$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&[a#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'a!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'l`#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(yc(h$Ip$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*U!P!^%Z!^!_*g!_!a%Z!a!b$+`!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*a_{'#p$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+k`$e&j#w$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,x_!y!Ln$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.S_}(8n$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/WZ$e&jO!^$/y!^!_$0a!_#i$/y#i#j$0f#j#l$/y#l#m$2X#m#o$/y#o#p$0a#p;'S$/y;'S;=`$4d<%lO$/y(n$0QT]#S$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0fO]#S(n$0k[$e&jO!Q&c!Q![$1a![!^&c!_!c&c!c!i$1a!i#T&c#T#Z$1a#Z#o&c#o#p$3w#p;'S&c;'S;=`&w<%lO&c(n$1fZ$e&jO!Q&c!Q![$2X![!^&c!_!c&c!c!i$2X!i#T&c#T#Z$2X#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2^Z$e&jO!Q&c!Q![$3P![!^&c!_!c&c!c!i$3P!i#T&c#T#Z$3P#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3UZ$e&jO!Q&c!Q![$/y![!^&c!_!c&c!c!i$/y!i#T&c#T#Z$/y#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3zR!Q![$4T!c!i$4T#T#Z$4T#S$4WS!Q![$4T!c!i$4T#T#Z$4T#q#r$0a(n$4gP;=`<%l$/y!2r$4u_!T!+S$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$6P`#t$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7^_$e&j'}p(Q!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8lk$e&j'}p(Q!b([!LY'z&;d$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$8]uw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$8]![!^%Z!^!_*g!_!c%Z!c!}$8]!}#O%Z#O#P&c#P#R%Z#R#S$8]#S#T%Z#T#o$8]#o#p*g#p$g%Z$g;'S$8];'S;=`$<g<%lO$8]+d$:lk$e&j'}p(Q!b$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$:auw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$:a![!^%Z!^!_*g!_!c%Z!c!}$:a!}#O%Z#O#P&c#P#R%Z#R#S$:a#S#T%Z#T#o$:a#o#p*g#p$g%Z$g;'S$:a;'S;=`$<a<%lO$:a+d$<dP;=`<%l$:a(CS$<jP;=`<%l$8]!5p$<vX!Y!3l'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=na(o&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+`#q;'S%Z;'S;=`+a<%lO%Z%#`$?Q_!X$I`p`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@[_!nS$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Al|$e&j'}p(Q!b's(;d([!LY'z&;d$X#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(CS$Dwk$e&j'}p(Q!b't(;d([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[zN,UN,2,3,4,5,6,7,8,9,10,11,12,13,QN,new VC("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOr~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!P~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~",141,332),new VC("j~RQYZXz{^~^O'w~~aP!P!Qd~iO'x~~",25,314)],topRules:{Script:[0,5],SingleExpression:[1,268],SingleClassItem:[2,269]},dialects:{jsx:14548,ts:14550},dynamicPrecedences:{67:1,77:1,79:1,164:1,192:1},specialized:[{term:318,get:e=>WN[e]||-1},{term:334,get:e=>YN[e]||-1},{term:68,get:e=>VN[e]||-1}],tokenPrec:14574});class HN{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=eM(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),o=n.search(tD(e,!1));return o<0?null:{from:r+o,to:this.pos,text:n.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function GN(e){let t=Object.keys(e).join(""),r=/\w/.test(t);return r&&(t=t.replace(/\w/g,"")),`[${r?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function KN(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[r,n]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),r=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)r[n[e]]=!0}let n=GN(t)+GN(r)+"*$";return[new RegExp("^"+n),new RegExp(n)]}(t);return e=>{let o=e.matchBefore(n);return o||e.explicit?{from:o?o.from:e.pos,options:t,validFor:r}:null}}class JN{constructor(e,t,r,n){this.completion=e,this.source=t,this.match=r,this.score=n}}function eD(e){return e.selection.main.from}function tD(e,t){var r;let{source:n}=e,o=t&&"^"!=n[0],i="$"!=n[n.length-1];return o||i?new RegExp(`${o?"^":""}(?:${n})${i?"$":""}`,null!==(r=e.flags)&&void 0!==r?r:e.ignoreCase?"i":""):e}const rD=$P.define(),nD=new WeakMap;function oD(e){if(!Array.isArray(e))return e;let t=nD.get(e);return t||nD.set(e,t=KN(e)),t}const iD=DP.define(),aD=DP.define();class sD{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=XE(e,t),n=GE(r);this.chars.push(r);let o=e.slice(t,t+n),i=o.toUpperCase();this.folded.push(XE(i==o?o.toLowerCase():i,0)),t+=n}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,!0}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:t,folded:r,any:n,precise:o,byWord:i}=this;if(1==t.length){let n=XE(e,0),o=GE(n),i=o==e.length?0:-100;if(n==t[0]);else{if(n!=r[0])return!1;i+=-200}return this.ret(i,[0,o])}let a=e.indexOf(this.pattern);if(0==a)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,l=0;if(a<0){for(let o=0,i=Math.min(e.length,200);o<i&&l<s;){let i=XE(e,o);i!=t[l]&&i!=r[l]||(n[l++]=o),o+=GE(i)}if(l<s)return!1}let c=0,u=0,d=!1,p=0,h=-1,f=-1,m=/[a-z]/.test(e),g=!0;for(let n=0,l=Math.min(e.length,200),b=0;n<l&&u<s;){let l=XE(e,n);a<0&&(c<s&&l==t[c]&&(o[c++]=n),p<s&&(l==t[p]||l==r[p]?(0==p&&(h=n),f=n+1,p++):p=0));let y,v=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=HE(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!n||1==v&&m||0==b&&0!=v)&&(t[u]==l||r[u]==l&&(d=!0)?i[u++]=n:i.length&&(g=!1)),b=v,n+=GE(l)}return u==s&&0==i[0]&&g?this.result((d?-200:0)-100,i,e):p==s&&0==h?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==s?this.ret(-900-e.length,[h,f]):u==s?this.result((d?-200:0)-100-700+(g?0:-1100),i,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,r){let n=[],o=0;for(let e of t){let t=e+(this.astral?GE(XE(r,e)):1);o&&n[o-1]==e?n[o-1]=t:(n[o++]=e,n[o++]=t)}return this.ret(e-r.length,n)}}const lD=pP.define({combine:e=>HP(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:uD,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>cD(e(r),t(r)),optionClass:(e,t)=>r=>cD(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})});function cD(e,t){return e?t?e+" "+t:e:t}function uD(e,t,r,n,o,i){let a,s,l=e.textDirection==cj.RTL,c=l,u=!1,d="top",p=t.left-o.left,h=o.right-t.right,f=n.right-n.left,m=n.bottom-n.top;if(c&&p<Math.min(f,h)?c=!1:!c&&h<Math.min(f,p)&&(c=!0),f<=(c?p:h))a=Math.max(o.top,Math.min(r.top,o.bottom-m))-t.top,s=Math.min(400,c?p:h);else{u=!0,s=Math.min(400,(l?t.right:o.right-t.left)-30);let e=o.bottom-t.bottom;e>=m||e>t.top?a=r.bottom-t.top:(d="bottom",a=t.bottom-r.top)}return{style:`${d}: ${a/((t.bottom-t.top)/i.offsetHeight)}px; max-width: ${s/((t.right-t.left)/i.offsetWidth)}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function dD(e,t,r){if(e<=r)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/r);return{from:e*r,to:(e+1)*r}}let n=Math.floor((e-t)/r);return{from:e-(n+1)*r,to:e-n*r}}class pD{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:o,selected:i}=n.open,a=e.state.facet(lD);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,r,n){let o=document.createElement("span");o.className="cm-completionLabel";let i=e.displayLabel||e.label,a=0;for(let e=0;e<n.length;){let t=n[e++],r=n[e++];t>a&&o.appendChild(document.createTextNode(i.slice(a,t)));let s=o.appendChild(document.createElement("span"));s.appendChild(document.createTextNode(i.slice(t,r))),s.className="cm-completionMatchedText",a=r}return a<i.length&&o.appendChild(document.createTextNode(i.slice(a))),o},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort(((e,t)=>e.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=dD(o.length,i,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(r=>{let{options:n}=e.state.field(t).open;for(let t,o=r.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(t=/-(\d+)$/.exec(o.id))&&+t[1]<n.length)return this.applyCompletion(e,n[+t[1]]),void r.preventDefault()})),this.dom.addEventListener("focusout",(t=>{let r=e.state.field(this.stateField,!1);r&&r.tooltip&&e.state.facet(lD).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:aD.of(null)})})),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(e){var t;let r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:o,selected:i,disabled:a}=r.open;n.open&&n.open.options==o||(this.range=dD(o.length,i,e.state.facet(lD).maxRenderedOptions),this.showOptions(o,r.id)),this.updateSel(),a!=(null===(t=n.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=dD(t.options.length,t.selected,this.view.state.facet(lD).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(r);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)})).catch((e=>WT(this.view.state,e,"completion info"))):this.addInfoPane(o,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",null!=e.nodeType)r.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;r.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)"LI"==r.nodeName&&r.id?n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected"):n--;return t&&function(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=r.height/e.offsetHeight;n.top<r.top?e.scrollTop-=(r.top-n.top)/o:n.bottom>r.bottom&&(e.scrollTop+=(n.bottom-r.bottom)/o)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let e=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(o.bottom,t.bottom)-10||n.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(lD).positionInfo(this.view,t,n,r,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let i=r.from;i<r.to;i++){let{completion:a,match:s}=e[i],{section:l}=a;if(l){let e="string"==typeof l?l:l.name;e!=o&&(i>r.from||0==r.from)&&(o=e,"string"!=typeof l&&l.header?n.appendChild(l.header(l)):n.appendChild(document.createElement("completion-section")).textContent=e)}const c=n.appendChild(document.createElement("li"));c.id=t+"-"+i,c.setAttribute("role","option");let u=this.optionClass(a);u&&(c.className=u);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,s);t&&c.appendChild(t)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function hD(e,t){return r=>new pD(r,e,t)}function fD(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class mD{constructor(e,t,r,n,o,i){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=n,this.selected=o,this.disabled=i}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new mD(this.options,yD(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,n,o){let i=function(e,t){let r=[],n=null,o=e=>{r.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some((t=>t.name==e))||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)o(new JN(t,n.source,e?e(t):[],1e9-r.length));else{let r=new sD(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(r.match(t.label)){let i=t.displayLabel?e?e(t,r.matched):[]:r.matched;o(new JN(t,n.source,i,r.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,o=(e,t)=>{var r,n;return(null!==(r=e.rank)&&void 0!==r?r:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.name<t.name?-1:1)};for(let r of n.sort(o))t-=1e5,e[r.name]=t;for(let t of r){let{section:r}=t.completion;r&&(t.score+=e["string"==typeof r?r:r.name])}}let i=[],a=null,s=t.facet(lD).compareCompletions;for(let e of r.sort(((e,t)=>t.score-e.score||s(e.completion,t.completion)))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?i.push(e):fD(e.completion)>fD(a)&&(i[i.length-1]=e),a=e.completion}return i}(e,t);if(!i.length)return n&&e.some((e=>1==e.state))?new mD(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=t.facet(lD).selectOnOpen?0:-1;if(n&&n.selected!=a&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<i.length;t++)if(i[t].completion==e){a=t;break}}return new mD(i,yD(r,a),{pos:e.reduce(((e,t)=>t.hasResult()?Math.min(e,t.from):e),1e8),create:_D,above:o.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(e){return new mD(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class gD{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new gD(vD,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,r=t.facet(lD),n=(r.override||t.languageDataAt("autocomplete",eD(t)).map(oD)).map((t=>(this.active.find((e=>e.source==t))||new wD(t,this.active.some((e=>0!=e.state))?1:0)).update(e,r)));n.length==this.active.length&&n.every(((e,t)=>e==this.active[t]))&&(n=this.active);let o=this.open;o&&e.docChanged&&(o=o.map(e.changes)),e.selection||n.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let r=0,n=0;;){for(;r<e.length&&!e[r].hasResult;)r++;for(;n<t.length&&!t[n].hasResult;)n++;let o=r==e.length,i=n==t.length;if(o||i)return o==i;if(e[r++].result!=t[n++].result)return!1}}(n,this.active)?o=mD.build(n,t,this.id,o,r):o&&o.disabled&&!n.some((e=>1==e.state))&&(o=null),!o&&n.every((e=>1!=e.state))&&n.some((e=>e.hasResult()))&&(n=n.map((e=>e.hasResult()?new wD(e.source,0):e)));for(let t of e.effects)t.is(kD)&&(o=o&&o.setSelected(t.value,this.id));return n==this.active&&o==this.open?this:new gD(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:bD}}const bD={"aria-autocomplete":"list"};function yD(e,t){let r={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(r["aria-activedescendant"]=e+"-"+t),r}const vD=[];function OD(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class wD{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=OD(e),n=this;r?n=n.handleUserEvent(e,r,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new wD(n.source,0));for(let t of e.effects)if(t.is(iD))n=new wD(n.source,1,t.value?eD(e.state):-1);else if(t.is(aD))n=new wD(n.source,0);else if(t.is(xD))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,r){return"delete"!=t&&r.activateOnTyping?new wD(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(eD(e.startState))?new wD(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new wD(this.source,this.state,e.mapPos(this.explicitPos))}}class AD extends wD{constructor(e,t,r,n,o){super(e,2,t),this.result=r,this.from=n,this.to=o}hasResult(){return!0}handleUserEvent(e,t,r){var n;let o=e.changes.mapPos(this.from),i=e.changes.mapPos(this.to,1),a=eD(e.state);if((this.explicitPos<0?a<=o:a<this.from)||a>i||"delete"==t&&eD(e.startState)==this.from)return new wD(this.source,"input"==t&&r.activateOnTyping?1:0);let s,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,r,n){if(!e)return!1;let o=t.sliceDoc(r,n);return"function"==typeof e?e(o,r,n,t):tD(e,!0).test(o)}(this.result.validFor,e.state,o,i)?new AD(this.source,l,this.result,o,i):this.result.update&&(s=this.result.update(this.result,o,i,new HN(e.state,a,l>=0)))?new AD(this.source,l,s,s.from,null!==(n=s.to)&&void 0!==n?n:eD(e.state)):new wD(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new wD(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new AD(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const xD=DP.define({map:(e,t)=>e.map((e=>e.map(t)))}),kD=DP.define(),SD=vP.define({create:()=>gD.start(),update:(e,t)=>e.update(t),provide:e=>[d$.from(e,(e=>e.tooltip)),cZ.contentAttributes.from(e,(e=>e.attrs))]});function CD(e,t){const r=t.completion.apply||t.completion.label;let n=e.state.field(SD).active.find((e=>e.source==t.source));return n instanceof AD&&("string"==typeof r?e.dispatch(Object.assign(Object.assign({},function(e,t,r,n){let{main:o}=e.selection,i=r-o.from,a=n-o.from;return Object.assign(Object.assign({},e.changeByRange((s=>s!=o&&r!=n&&e.sliceDoc(s.from+i,s.from+a)!=e.sliceDoc(r,n)?{range:s}:{changes:{from:s.from+i,to:n==o.from?s.to:s.from+a,insert:t},range:cP.cursor(s.from+i+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,r,n.from,n.to)),{annotations:rD.of(t.completion)})):r(e,t.completion,n.from,n.to),!0)}const _D=hD(SD,CD);function ED(e,t="option"){return r=>{let n=r.state.field(SD,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<r.state.facet(lD).interactionDelay)return!1;let o,i=1;"page"==t&&(o=y$(r,n.open.tooltip))&&(i=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=n.open.options,s=n.open.selected>-1?n.open.selected+i*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),r.dispatch({effects:kD.of(s)}),!0}}class PD{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const qD=HT.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(SD).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(SD);if(!e.selectionSet&&!e.docChanged&&e.startState.field(SD)==t)return;let r=e.transactions.some((e=>(e.selection||e.docChanged)&&!OD(e)));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){WT(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==OD(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(SD);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,r=eD(t),n=new HN(t,r,e.explicitPos==r),o=new PD(e,n);this.running.push(o),Promise.resolve(e.source(n)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:aD.of(null)}),WT(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(lD).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],r=this.view.state.facet(lD);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let n=new AD(o.active.source,o.active.explicitPos,o.done,o.done.from,null!==(e=o.done.to)&&void 0!==e?e:eD(o.updates.length?o.updates[0].startState:this.view.state));for(let e of o.updates)n=n.update(e,r);if(n.hasResult()){t.push(n);continue}}let i=this.view.state.field(SD).active.find((e=>e.source==o.active.source));if(i&&1==i.state)if(null==o.done){let e=new wD(o.active.source,0);for(let t of o.updates)e=e.update(t,r);1!=e.state&&t.push(e)}else this.startQuery(i)}t.length&&this.view.dispatch({effects:xD.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(SD,!1);if(t&&t.tooltip&&this.view.state.facet(lD).closeOnBlur){let r=t.open&&y$(this.view,t.open.tooltip);r&&r.dom.contains(e.relatedTarget)||this.view.dispatch({effects:aD.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:iD.of(!1)})),20),this.composing=0}}}),TD=cZ.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class jD{constructor(e,t,r,n){this.field=e,this.line=t,this.from=r,this.to=n}}class RD{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,JE.TrackDel),r=e.mapPos(this.to,1,JE.TrackDel);return null==t||null==r?null:new RD(this.field,t,r)}}class ZD{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],n=[t],o=e.doc.lineAt(t),i=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(r.length){let r=i,a=/^\t*/.exec(o)[0].length;for(let t=0;t<a;t++)r+=e.facet(hM);n.push(t+r.length-a),o=r+o.slice(a)}r.push(o),t+=o.length+1}let a=this.fieldPositions.map((e=>new RD(e.field,n[e.line]+e.from,n[e.line]+e.to)));return{text:r,ranges:a}}static parse(e){let t,r=[],n=[],o=[];for(let i of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(i);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",s=-1;for(let t=0;t<r.length;t++)(null!=e?r[t].seq==e:a&&r[t].name==a)&&(s=t);if(s<0){let t=0;for(;t<r.length&&(null==e||null!=r[t].seq&&r[t].seq<e);)t++;r.splice(t,0,{seq:e,name:a}),s=t;for(let e of o)e.field>=s&&e.field++}o.push(new jD(s,n.length,t.index,t.index+a.length)),i=i.slice(0,t.index)+a+i.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(i);){i=i.slice(0,e.index)+e[1]+i.slice(e.index+e[0].length);for(let t of o)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(i)}return new ZD(n,o)}}let $D=CT.widget({widget:new class extends kT{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),MD=CT.mark({class:"cm-snippetField"});class ND{constructor(e,t){this.ranges=e,this.active=t,this.deco=CT.set(e.map((e=>(e.from==e.to?$D:MD).range(e.from,e.to))))}map(e){let t=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;t.push(n)}return new ND(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const DD=DP.define({map:(e,t)=>e&&e.map(t)}),LD=DP.define(),ID=vP.define({create:()=>null,update(e,t){for(let r of t.effects){if(r.is(DD))return r.value;if(r.is(LD)&&e)return new ND(e.ranges,r.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>cZ.decorations.from(e,(e=>e?e.deco:CT.none))});function BD(e,t){return cP.create(e.filter((e=>e.field==t)).map((e=>cP.range(e.from,e.to))))}function QD(e){let t=ZD.parse(e);return(e,r,n,o)=>{let{text:i,ranges:a}=t.instantiate(e.state,n),s={changes:{from:n,to:o,insert:qE.of(i)},scrollIntoView:!0,annotations:r?rD.of(r):void 0};if(a.length&&(s.selection=BD(a,0)),a.length>1){let t=new ND(a,0),r=s.effects=[DD.of(t)];void 0===e.state.field(ID,!1)&&r.push(DP.appendConfig.of([ID,WD,VD,TD]))}e.dispatch(e.state.update(s))}}function zD(e){return({state:t,dispatch:r})=>{let n=t.field(ID,!1);if(!n||e<0&&0==n.active)return!1;let o=n.active+e,i=e>0&&!n.ranges.some((t=>t.field==o+e));return r(t.update({selection:BD(n.ranges,o),effects:DD.of(i?null:new ND(n.ranges,o)),scrollIntoView:!0})),!0}}const UD=[{key:"Tab",run:zD(1),shift:zD(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(ID,!1)&&(t(e.update({effects:DD.of(null)})),!0)}],FD=pP.define({combine:e=>e.length?e[0]:UD}),WD=wP.highest(bZ.compute([FD],(e=>e.facet(FD))));function YD(e,t){return Object.assign(Object.assign({},t),{apply:QD(e)})}const VD=cZ.domEventHandlers({mousedown(e,t){let r,n=t.state.field(ID,!1);if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let o=n.ranges.find((e=>e.from<=r&&e.to>=r));return!(!o||o.field==n.active||(t.dispatch({selection:BD(n.ranges,o.field),effects:DD.of(n.ranges.some((e=>e.field>o.field))?new ND(n.ranges,o.field):null),scrollIntoView:!0}),0))}}),XD={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},HD=DP.define({map(e,t){let r=t.mapPos(e,-1,JE.TrackAfter);return null==r?void 0:r}}),GD=new class extends GP{};GD.startSide=1,GD.endSide=-1;const KD=vP.define({create:()=>tq.empty,update(e,t){if(e=e.map(t.changes),t.selection){let r=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=r.from&&e<=r.to})}for(let r of t.effects)r.is(HD)&&(e=e.update({add:[GD.range(r.value,r.value+1)]}));return e}}),JD="()[]{}<>";function eL(e){for(let t=0;t<8;t+=2)if(JD.charCodeAt(t)==e)return JD.charAt(t+1);return HE(e<128?e:e+1)}function tL(e,t){return e.languageDataAt("closeBrackets",t)[0]||XD}const rL="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),nL=cZ.inputHandler.of(((e,t,r,n)=>{if((rL?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(n.length>2||2==n.length&&1==GE(XE(n,0))||t!=o.from||r!=o.to)return!1;let i=function(e,t){let r=tL(e,e.selection.main.head),n=r.brackets||XD.brackets;for(let o of n){let i=eL(XE(o,0));if(t==o)return i==o?cL(e,o,n.indexOf(o+o+o)>-1,r):sL(e,o,i,r.before||XD.before);if(t==i&&iL(e,e.selection.main.from))return lL(e,0,i)}return null}(e.state,n);return!!i&&(e.dispatch(i),!0)})),oL=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=tL(e,e.selection.main.head).brackets||XD.brackets,n=null,o=e.changeByRange((t=>{if(t.empty){let n=function(e,t){let r=e.sliceString(t-2,t);return GE(XE(r,0))==r.length?r:r.slice(1)}(e.doc,t.head);for(let o of r)if(o==n&&aL(e.doc,t.head)==eL(XE(o,0)))return{changes:{from:t.head-o.length,to:t.head+o.length},range:cP.cursor(t.head-o.length)}}return{range:n=t}}));return n||t(e.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function iL(e,t){let r=!1;return e.field(KD).between(0,e.doc.length,(e=>{e==t&&(r=!0)})),r}function aL(e,t){let r=e.sliceString(t,t+2);return r.slice(0,GE(XE(r,0)))}function sL(e,t,r,n){let o=null,i=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:r,from:i.to}],effects:HD.of(i.to+t.length),range:cP.range(i.anchor+t.length,i.head+t.length)};let a=aL(e.doc,i.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:t+r,from:i.head},effects:HD.of(i.head+t.length),range:cP.cursor(i.head+t.length)}:{range:o=i}}));return o?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function lL(e,t,r){let n=null,o=e.changeByRange((t=>t.empty&&aL(e.doc,t.head)==r?{changes:{from:t.head,to:t.head+r.length,insert:r},range:cP.cursor(t.head+r.length)}:n={range:t}));return n?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function cL(e,t,r,n){let o=n.stringPrefixes||XD.stringPrefixes,i=null,a=e.changeByRange((n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:HD.of(n.to+t.length),range:cP.range(n.anchor+t.length,n.head+t.length)};let a,s=n.head,l=aL(e.doc,s);if(l==t){if(uL(e,s))return{changes:{insert:t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)};if(iL(e,s)){let n=r&&e.sliceDoc(s,s+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:s,to:s+n.length,insert:n},range:cP.cursor(s+n.length)}}}else{if(r&&e.sliceDoc(s-2*t.length,s)==t+t&&(a=dL(e,s-2*t.length,o))>-1&&uL(e,a))return{changes:{insert:t+t+t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)};if(e.charCategorizer(s)(l)!=WP.Word&&dL(e,s,o)>-1&&!function(e,t,r,n){let o=eM(e).resolveInner(t,-1),i=n.reduce(((e,t)=>Math.max(e,t.length)),0);for(let a=0;a<5;a++){let a=e.sliceDoc(o.from,Math.min(o.to,o.from+r.length+i)),s=a.indexOf(r);if(!s||s>-1&&n.indexOf(a.slice(0,s))>-1){let t=o.firstChild;for(;t&&t.from==o.from&&t.to-t.from>r.length+s;){if(e.sliceDoc(t.to-r.length,t.to)==r)return!1;t=t.firstChild}return!0}let l=o.to==t&&o.parent;if(!l)break;o=l}return!1}(e,s,t,o))return{changes:{insert:t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)}}return{range:i=n}}));return i?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function uL(e,t){let r=eM(e).resolveInner(t+1);return r.parent&&r.from==t}function dL(e,t,r){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=WP.Word)return t;for(let o of r){let r=t-o.length;if(e.sliceDoc(r,t)==o&&n(e.sliceDoc(r-1,r))!=WP.Word)return r}return-1}const pL=[{key:"Ctrl-Space",run:e=>!!e.state.field(SD,!1)&&(e.dispatch({effects:iD.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(SD,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:aD.of(null)}),0))}},{key:"ArrowDown",run:ED(!0)},{key:"ArrowUp",run:ED(!1)},{key:"PageDown",run:ED(!0,"page")},{key:"PageUp",run:ED(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(SD,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(lD).interactionDelay)&&CD(e,t.open.options[t.open.selected])}}],hL=wP.highest(bZ.computeN([lD],(e=>e.facet(lD).defaultKeymap?[pL]:[]))),fL=[YD("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),YD("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),YD("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),YD("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),YD("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),YD("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),YD("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),YD("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),YD("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),YD('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),YD('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],mL=fL.concat([YD("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),YD("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),YD("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),gL=new wC,bL=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function yL(e){return(t,r)=>{let n=t.node.getChild("VariableDefinition");return n&&r(n,e),!0}}const vL=["FunctionDeclaration"],OL={FunctionDeclaration:yL("function"),ClassDeclaration:yL("class"),ClassExpression:()=>!0,EnumDeclaration:yL("constant"),TypeAliasDeclaration:yL("type"),NamespaceDeclaration:yL("namespace"),VariableDefinition(e,t){e.matchContext(vL)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function wL(e,t){let r=gL.get(t);if(r)return r;let n=[],o=!0;function i(t,r){let o=e.sliceString(t.from,t.to);n.push({label:o,type:r})}return t.cursor(rC.IncludeAnonymous).iterate((t=>{if(o)o=!1;else if(t.name){let e=OL[t.name];if(e&&e(t,i)||bL.has(t.name))return!1}else if(t.to-t.from>8192){for(let r of wL(e,t.node))n.push(r);return!1}})),gL.set(t,n),n}const AL=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,xL=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function kL(e){let t=eM(e.state).resolveInner(e.pos,-1);if(xL.indexOf(t.name)>-1)return null;let r="VariableName"==t.name||t.to-t.from<20&&AL.test(e.state.sliceDoc(t.from,t.to));if(!r&&!e.explicit)return null;let n=[];for(let r=t;r;r=r.parent)bL.has(r.name)&&(n=n.concat(wL(e.state.doc,r)));return{options:n,from:r?t.from:e.pos,validFor:AL}}const SL=J$.define({name:"javascript",parser:XN.configure({props:[yM.add({IfStatement:CM({except:/^\s*({|else\b)/}),TryStatement:CM({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,r=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(r?0:n?1:2)*e.unit},Block:kM({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":CM({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),EM.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":PM,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),CL={test:e=>/^JSX/.test(e.name),facet:X$({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_L=SL.configure({dialect:"ts"},"typescript"),EL=SL.configure({dialect:"jsx",props:[H$.add((e=>e.isTop?[CL]:void 0))]}),PL=SL.configure({dialect:"jsx ts",props:[H$.add((e=>e.isTop?[CL]:void 0))]},"typescript");let qL=e=>({label:e,type:"keyword"});const TL="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(qL),jL=TL.concat(["declare","implements","private","protected","public"].map(qL));function RL(e={}){let t=e.jsx?e.typescript?PL:EL:e.typescript?_L:SL,r=e.typescript?mL.concat(jL):fL.concat(TL);return new uM(t,[SL.data.of({autocomplete:(n=xL,o=KN(r),e=>{for(let t=eM(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(n.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return o(e)})}),SL.data.of({autocomplete:kL}),e.jsx?ML:[]]);var n,o}function ZL(e,t,r=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,r));return""}const $L="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),ML=cZ.inputHandler.of(((e,t,r,n,o)=>{if(($L?e.composing:e.compositionStarted)||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!SL.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t;let r,{head:o}=e,i=eM(a).resolveInner(o-1,-1);if("JSXStartTag"==i.name&&(i=i.parent),a.doc.sliceString(o-1,o)!=n||"JSXAttributeValue"==i.name&&i.to>o);else{if(">"==n&&"JSXFragmentTag"==i.name)return{range:e,changes:{from:o,insert:"</>"}};if("/"==n&&"JSXStartCloseTag"==i.name){let e=i.parent,n=e.parent;if(n&&e.from==o-2&&((r=ZL(a.doc,n.firstChild,o))||"JSXFragmentTag"==(null===(t=n.firstChild)||void 0===t?void 0:t.name))){let e=`${r}>`;return{range:cP.cursor(o+e.length,-1),changes:{from:o,insert:e}}}}else if(">"==n){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(i);if(t&&!/^\/?>|^<\//.test(a.doc.sliceString(o,o+2))&&(r=ZL(a.doc,t,o)))return{range:e,changes:{from:o,insert:`</${r}>`}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),NL=["_blank","_self","_top","_parent"],DL=["ascii","utf-8","utf-16","latin1","latin1"],LL=["get","post","put","delete"],IL=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],BL=["true","false"],QL={},zL={a:{attrs:{href:null,ping:null,type:null,media:null,target:NL,hreflang:null}},abbr:QL,address:QL,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:QL,aside:QL,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:QL,base:{attrs:{href:null,target:NL}},bdi:QL,bdo:QL,blockquote:{attrs:{cite:null}},body:QL,br:QL,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:IL,formmethod:LL,formnovalidate:["novalidate"],formtarget:NL,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:QL,center:QL,cite:QL,code:QL,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:QL,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:QL,div:QL,dl:QL,dt:QL,em:QL,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:QL,figure:QL,footer:QL,form:{attrs:{action:null,name:null,"accept-charset":DL,autocomplete:["on","off"],enctype:IL,method:LL,novalidate:["novalidate"],target:NL}},h1:QL,h2:QL,h3:QL,h4:QL,h5:QL,h6:QL,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:QL,hgroup:QL,hr:QL,html:{attrs:{manifest:null}},i:QL,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:IL,formmethod:LL,formnovalidate:["novalidate"],formtarget:NL,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:QL,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:QL,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:QL,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:DL,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:QL,noscript:QL,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:QL,param:{attrs:{name:null,value:null}},pre:QL,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:QL,rt:QL,ruby:QL,samp:QL,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:DL}},section:QL,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:QL,source:{attrs:{src:null,type:null,media:null}},span:QL,strong:QL,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:QL,summary:QL,sup:QL,table:QL,tbody:QL,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:QL,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:QL,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:QL,time:{attrs:{datetime:null}},title:QL,tr:QL,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:QL,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:QL},UL={accesskey:null,class:null,contenteditable:BL,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:BL,autocorrect:BL,autocapitalize:BL,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":BL,"aria-autocomplete":["inline","list","both","none"],"aria-busy":BL,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":BL,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":BL,"aria-hidden":BL,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":BL,"aria-multiselectable":BL,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":BL,"aria-relevant":null,"aria-required":BL,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},FL="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e=>"on"+e));for(let e of FL)UL[e]=null;class WL{constructor(e,t){this.tags=Object.assign(Object.assign({},zL),e),this.globalAttrs=Object.assign(Object.assign({},UL),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function YL(e,t,r=e.length){if(!t)return"";let n=t.firstChild,o=n&&n.getChild("TagName");return o?e.sliceString(o.from,Math.min(o.to,r)):""}function VL(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function XL(e,t,r){let n=r.tags[YL(e,VL(t))];return(null==n?void 0:n.children)||r.allTags}function HL(e,t){let r=[];for(let n=VL(t);n&&!n.type.isTop;n=VL(n.parent)){let o=YL(e,n);if(o&&"CloseTag"==n.lastChild.name)break;o&&r.indexOf(o)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&r.push(o)}return r}WL.default=new WL;const GL=/^[:\-\.\w\u00b7-\uffff]*$/;function KL(e,t,r,n,o){let i=/\s*>/.test(e.sliceDoc(o,o+5))?"":">",a=VL(r,!0);return{from:n,to:o,options:XL(e.doc,a,t).map((e=>({label:e,type:"type"}))).concat(HL(e.doc,r).map(((e,t)=>({label:"/"+e,apply:"/"+e+i,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function JL(e,t,r,n){let o=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:r,to:n,options:HL(e.doc,t).map(((e,t)=>({label:e,apply:e+o,type:"type",boost:99-t}))),validFor:GL}}function eI(e,t){let{state:r,pos:n}=t,o=eM(r).resolveInner(n,-1),i=o.resolve(n);for(let e,t=n;i==o&&(e=o.childBefore(t));){let r=e.lastChild;if(!r||!r.type.isError||r.from<r.to)break;i=o=e,t=r.from}return"TagName"==o.name?o.parent&&/CloseTag$/.test(o.parent.name)?JL(r,o,o.from,n):KL(r,e,o,o.from,n):"StartTag"==o.name?KL(r,e,o,n,n):"StartCloseTag"==o.name||"IncompleteCloseTag"==o.name?JL(r,o,n,n):t.explicit&&("OpenTag"==o.name||"SelfClosingTag"==o.name)||"AttributeName"==o.name?function(e,t,r,n,o){let i=VL(r),a=i?t.tags[YL(e.doc,i)]:null,s=a&&a.attrs?Object.keys(a.attrs):[];return{from:n,to:o,options:(a&&!1===a.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map((e=>({label:e,type:"property"}))),validFor:GL}}(r,e,o,"AttributeName"==o.name?o.from:n,n):"Is"==o.name||"AttributeValue"==o.name||"UnquotedAttributeValue"==o.name?function(e,t,r,n,o){var i;let a,s=null===(i=r.parent)||void 0===i?void 0:i.getChild("AttributeName"),l=[];if(s){let i=e.sliceDoc(s.from,s.to),c=t.globalAttrs[i];if(!c){let n=VL(r),o=n?t.tags[YL(e.doc,n)]:null;c=(null==o?void 0:o.attrs)&&o.attrs[i]}if(c){let t=e.sliceDoc(n,o).toLowerCase(),r='"',i='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,r="",i=e.sliceDoc(o,o+1)==t[0]?"":t[0],t=t.slice(1),n++):a=/^[^\s<>='"]*$/;for(let e of c)l.push({label:e,apply:r+e+i,type:"constant"})}}return{from:n,to:o,options:l,validFor:a}}(r,e,o,"Is"==o.name?n:o.from,n):!t.explicit||"Element"!=i.name&&"Text"!=i.name&&"Document"!=i.name?null:function(e,t,r,n){let o=[],i=0;for(let n of XL(e.doc,r,t))o.push({label:"<"+n,type:"type"});for(let t of HL(e.doc,r))o.push({label:"</"+t+">",type:"type",boost:99-i++});return{from:n,to:n,options:o,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(r,e,o,n)}function tI(e){let{extraTags:t,extraGlobalAttributes:r}=e,n=r||t?new WL(t,r):WL.default;return e=>eI(n,e)}const rI=SL.parser.configure({top:"SingleExpression"}),nI=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:_L.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:EL.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:PL.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:rI},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:SL.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:LN.parser}],oI=[{name:"style",parser:LN.parser.configure({top:"Styles"})}].concat(FL.map((e=>({name:e,parser:SL.parser})))),iI=J$.define({name:"html",parser:mE.configure({props:[yM.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,r=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;r=t=e}return r&&(!(t=r.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(r.from)+e.unit:null}}),EM.add({Element(e){let t=e.firstChild,r=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==r.name?r.from:e.to}:null}}),fN.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),aI=iI.configure({wrap:vE(nI,oI)});function sI(e={}){let t,r="";!1===e.matchClosingTags&&(r="noMatch"),!0===e.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=vE((e.nestedLanguages||[]).concat(nI),(e.nestedAttributes||[]).concat(oI)));let n=t?iI.configure({wrap:t,dialect:r}):r?aI.configure({dialect:r}):aI;return new uM(n,[aI.data.of({autocomplete:tI(e)}),!1!==e.autoCloseTags?cI:[],RL().support,new uM(LN,LN.data.of({autocomplete:DN})).support])}const lI=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cI=cZ.inputHandler.of(((e,t,r,n,o)=>{if(e.composing||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!aI.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t,r,o;let i,s=a.doc.sliceString(e.from-1,e.to)==n,{head:l}=e,c=eM(a).resolveInner(l-1,-1);if("TagName"!=c.name&&"StartTag"!=c.name||(c=c.parent),s&&">"==n&&"OpenTag"==c.name){if("CloseTag"!=(null===(r=null===(t=c.parent)||void 0===t?void 0:t.lastChild)||void 0===r?void 0:r.name)&&(i=YL(a.doc,c.parent,l))&&!lI.has(i))return{range:e,changes:{from:l,to:l+(">"===a.doc.sliceString(l,l+1)?1:0),insert:`</${i}>`}}}else if(s&&"/"==n&&"IncompleteCloseTag"==c.name){let e=c.parent;if(c.from==l-2&&"CloseTag"!=(null===(o=e.lastChild)||void 0===o?void 0:o.name)&&(i=YL(a.doc,e,l))&&!lI.has(i)){let e=l+(">"===a.doc.sliceString(l,l+1)?1:0),t=`${i}>`;return{range:cP.cursor(l+t.length,-1),changes:{from:l,to:e,insert:t}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function uI(e,t){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let o=e(t,r);return!!o&&(n(r.update(o)),!0)}}const dI=uI(bI,0),pI=uI(gI,0),hI=uI(((e,t)=>gI(e,t,function(e){let t=[];for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),o=r.to<=n.to?n:e.doc.lineAt(r.to),i=t.length-1;i>=0&&t[i].to>n.from?t[i].to=o.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return t}(t))),0);function fI(e,t){let r=e.languageDataAt("commentTokens",t);return r.length?r[0]:{}}const mI=50;function gI(e,t,r=t.selection.ranges){let n=r.map((e=>fI(t,e.from).block));if(!n.every((e=>e)))return null;let o=r.map(((e,r)=>function(e,{open:t,close:r},n,o){let i,a,s=e.sliceDoc(n-mI,n),l=e.sliceDoc(o,o+mI),c=/\s*$/.exec(s)[0].length,u=/^\s*/.exec(l)[0].length,d=s.length-c;if(s.slice(d-t.length,d)==t&&l.slice(u,u+r.length)==r)return{open:{pos:n-c,margin:c&&1},close:{pos:o+u,margin:u&&1}};o-n<=2*mI?i=a=e.sliceDoc(n,o):(i=e.sliceDoc(n,n+mI),a=e.sliceDoc(o-mI,o));let p=/^\s*/.exec(i)[0].length,h=/\s*$/.exec(a)[0].length,f=a.length-h-r.length;return i.slice(p,p+t.length)==t&&a.slice(f,f+r.length)==r?{open:{pos:n+p+t.length,margin:/\s/.test(i.charAt(p+t.length))?1:0},close:{pos:o-h-r.length,margin:/\s/.test(a.charAt(f-1))?1:0}}:null}(t,n[r],e.from,e.to)));if(2!=e&&!o.every((e=>e)))return{changes:t.changes(r.map(((e,t)=>o[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}])))};if(1!=e&&o.some((e=>e))){let e=[];for(let t,r=0;r<o.length;r++)if(t=o[r]){let o=n[r],{open:i,close:a}=t;e.push({from:i.pos-o.open.length,to:i.pos+i.margin},{from:a.pos-a.margin,to:a.pos+o.close.length})}return{changes:e}}return null}function bI(e,t,r=t.selection.ranges){let n=[],o=-1;for(let{from:e,to:i}of r){let r=n.length,a=1e9,s=fI(t,e).line;if(s){for(let r=e;r<=i;){let l=t.doc.lineAt(r);if(l.from>o&&(e==i||i>l.from)){o=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,r=l.text.slice(e,e+s.length)==s?e:-1;e<l.text.length&&e<a&&(a=e),n.push({line:l,comment:r,token:s,indent:e,empty:t,single:!1})}r=l.to+1}if(a<1e9)for(let e=r;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=a);n.length==r+1&&(n[r].single=!0)}}if(2!=e&&n.some((e=>e.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:r,indent:o,empty:i,single:a}of n)!a&&i||e.push({from:t.from+o,insert:r+" "});let r=t.changes(e);return{changes:r,selection:t.selection.map(r,1)}}if(1!=e&&n.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:r,token:o}of n)if(r>=0){let n=t.from+r,i=n+o.length;" "==t.text[i-t.from]&&i++,e.push({from:n,to:i})}return{changes:e}}return null}const yI=$P.define(),vI=$P.define(),OI=pP.define(),wI=pP.define({combine:e=>HP(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}),AI=vP.define({create:()=>DI.empty,update(e,t){let r=t.state.facet(wI),n=t.annotation(yI);if(n){let o=EI.fromTransaction(t,n.selection),i=n.side,a=0==i?e.undone:e.done;return a=o?PI(a,a.length,r.minDepth,o):RI(a,t.startState.selection),new DI(0==i?n.rest:a,0==i?a:n.rest)}let o=t.annotation(vI);if("full"!=o&&"before"!=o||(e=e.isolate()),!1===t.annotation(LP.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let i=EI.fromTransaction(t),a=t.annotation(LP.time),s=t.annotation(LP.userEvent);return i?e=e.addChanges(i,a,s,r,t):t.selection&&(e=e.addSelection(t.startState.selection,a,s,r.newGroupDelay)),"full"!=o&&"after"!=o||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new DI(e.done.map(EI.fromJSON),e.undone.map(EI.fromJSON))});function xI(e,t){return function({state:r,dispatch:n}){if(!t&&r.readOnly)return!1;let o=r.field(AI,!1);if(!o)return!1;let i=o.pop(e,r,t);return!!i&&(n(i),!0)}}const kI=xI(0,!1),SI=xI(1,!1),CI=xI(0,!0),_I=xI(1,!0);class EI{constructor(e,t,r,n,o){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=o}setSelAfter(e){return new EI(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(r=this.startSelection)||void 0===r?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new EI(e.changes&&tP.fromJSON(e.changes),[],e.mapped&&eP.fromJSON(e.mapped),e.startSelection&&cP.fromJSON(e.startSelection),e.selectionsAfter.map(cP.fromJSON))}static fromTransaction(e,t){let r=TI;for(let t of e.startState.facet(OI)){let n=t(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new EI(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,TI)}static selection(e){return new EI(void 0,TI,void 0,void 0,e)}}function PI(e,t,r,n){let o=t+1>r+20?t-r-1:0,i=e.slice(o,t);return i.push(n),i}function qI(e,t){return e.length?t.length?e.concat(t):e:t}const TI=[],jI=200;function RI(e,t){if(e.length){let r=e[e.length-1],n=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-jI));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),PI(e,e.length-1,1e9,r.setSelAfter(n)))}return[EI.selection([t])]}function ZI(e){let t=e[e.length-1],r=e.slice();return r[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),r}function $I(e,t){if(!e.length)return e;let r=e.length,n=TI;for(;r;){let o=MI(e[r-1],t,n);if(o.changes&&!o.changes.empty||o.effects.length){let t=e.slice(0,r);return t[r-1]=o,t}t=o.mapped,r--,n=o.selectionsAfter}return n.length?[EI.selection(n)]:TI}function MI(e,t,r){let n=qI(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):TI,r);if(!e.changes)return EI.selection(n);let o=e.changes.map(t),i=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(i):i;return new EI(o,DP.mapEffects(e.effects,t),a,e.startSelection.map(i),n)}const NI=/^(input\.type|delete)($|\.)/;class DI{constructor(e,t,r=0,n=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new DI(this.done,this.undone):this}addChanges(e,t,r,n,o){let i=this.done,a=i[i.length-1];return i=a&&a.changes&&!a.changes.empty&&e.changes&&(!r||NI.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<n.newGroupDelay&&n.joinToEvent(o,function(e,t){let r=[],n=!1;return e.iterChangedRanges(((e,t)=>r.push(e,t))),t.iterChangedRanges(((e,t,o,i)=>{for(let e=0;e<r.length;){let t=r[e++],a=r[e++];i>=t&&o<=a&&(n=!0)}})),n}(a.changes,e.changes))||"input.type.compose"==r)?PI(i,i.length-1,n.minDepth,new EI(e.changes.compose(a.changes),qI(e.effects,a.effects),a.mapped,a.startSelection,TI)):PI(i,i.length,n.minDepth,e),new DI(i,TI,t,r)}addSelection(e,t,r,n){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:TI;return o.length>0&&t-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&function(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter(((e,r)=>e.empty!=t.ranges[r].empty)).length}(o[o.length-1],e)?this:new DI(RI(this.done,e),this.undone,t,r)}addMapping(e){return new DI($I(this.done,e),$I(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let n=0==e?this.done:this.undone;if(0==n.length)return null;let o=n[n.length-1],i=o.selectionsAfter[0]||t.selection;if(r&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:yI.of({side:e,rest:ZI(n),selection:i}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let r=1==n.length?TI:n.slice(0,n.length-1);return o.mapped&&(r=$I(r,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:yI.of({side:e,rest:r,selection:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}DI.empty=new DI(TI,TI);const LI=[{key:"Mod-z",run:kI,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:SI,preventDefault:!0},{linux:"Ctrl-Shift-z",run:SI,preventDefault:!0},{key:"Mod-u",run:CI,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_I,preventDefault:!0}];function II(e,t){return cP.create(e.ranges.map(t),e.mainIndex)}function BI(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function QI({state:e,dispatch:t},r){let n=II(e.selection,r);return!n.eq(e.selection)&&(t(BI(e,n)),!0)}function zI(e,t){return cP.cursor(t?e.to:e.from)}function UI(e,t){return QI(e,(r=>r.empty?e.moveByChar(r,t):zI(r,t)))}function FI(e){return e.textDirectionAt(e.state.selection.main.head)==cj.LTR}const WI=e=>UI(e,!FI(e)),YI=e=>UI(e,FI(e));function VI(e,t){return QI(e,(r=>r.empty?e.moveByGroup(r,t):zI(r,t)))}function XI(e,t,r){if(t.type.prop(r))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function HI(e,t,r){let n,o,i=eM(e).resolveInner(t.head),a=r?XS.closedBy:XS.openedBy;for(let n=t.head;;){let t=r?i.childAfter(n):i.childBefore(n);if(!t)break;XI(e,t,a)?i=t:n=r?t.to:t.from}return o=i.type.prop(a)&&(n=r?bN(e,i.from,1):bN(e,i.to,-1))&&n.matched?r?n.end.to:n.end.from:r?i.to:i.from,cP.cursor(o,r?-1:1)}function GI(e,t){return QI(e,(r=>{if(!r.empty)return zI(r,t);let n=e.moveVertically(r,t);return n.head!=r.head?n:e.moveToLineBoundary(r,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const KI=e=>GI(e,!1),JI=e=>GI(e,!0);function eB(e){let t,r=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,o=0;if(r){for(let t of e.state.facet(cZ.scrollMargins)){let r=t(e);(null==r?void 0:r.top)&&(n=Math.max(null==r?void 0:r.top,n)),(null==r?void 0:r.bottom)&&(o=Math.max(null==r?void 0:r.bottom,o))}t=e.scrollDOM.clientHeight-n-o}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:r,height:Math.max(e.defaultLineHeight,t-5)}}function tB(e,t){let r,n=eB(e),{state:o}=e,i=II(o.selection,(r=>r.empty?e.moveVertically(r,t,n.height):zI(r,t)));if(i.eq(o.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(o.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),s=a.top+n.marginTop,l=a.bottom-n.marginBottom;t&&t.top>s&&t.bottom<l&&(r=cZ.scrollIntoView(i.main.head,{y:"start",yMargin:t.top-s}))}return e.dispatch(BI(o,i),{effects:r}),!0}const rB=e=>tB(e,!1),nB=e=>tB(e,!0);function oB(e,t,r){let n=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,r);if(o.head==t.head&&o.head!=(r?n.to:n.from)&&(o=e.moveToLineBoundary(t,r,!1)),!r&&o.head==n.from&&n.length){let r=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&t.head!=n.from+r&&(o=cP.cursor(n.from+r))}return o}function iB(e,t){let r=II(e.state.selection,(e=>{let r=t(e);return cP.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)}));return!r.eq(e.state.selection)&&(e.dispatch(BI(e.state,r)),!0)}function aB(e,t){return iB(e,(r=>e.moveByChar(r,t)))}const sB=e=>aB(e,!FI(e)),lB=e=>aB(e,FI(e));function cB(e,t){return iB(e,(r=>e.moveByGroup(r,t)))}function uB(e,t){return iB(e,(r=>e.moveVertically(r,t)))}const dB=e=>uB(e,!1),pB=e=>uB(e,!0);function hB(e,t){return iB(e,(r=>e.moveVertically(r,t,eB(e).height)))}const fB=e=>hB(e,!1),mB=e=>hB(e,!0),gB=({state:e,dispatch:t})=>(t(BI(e,{anchor:0})),!0),bB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.doc.length})),!0),yB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.selection.main.anchor,head:0})),!0),vB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function OB(e,t){if(e.state.readOnly)return!1;let r="delete.selection",{state:n}=e,o=n.changeByRange((n=>{let{from:o,to:i}=n;if(o==i){let a=t(n);a<o?(r="delete.backward",a=wB(e,a,!1)):a>o&&(r="delete.forward",a=wB(e,a,!0)),o=Math.min(o,a),i=Math.max(i,a)}else o=wB(e,o,!1),i=wB(e,i,!0);return o==i?{range:n}:{changes:{from:o,to:i},range:cP.cursor(o,o<n.head?-1:1)}}));return!o.changes.empty&&(e.dispatch(n.update(o,{scrollIntoView:!0,userEvent:r,effects:"delete.selection"==r?cZ.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function wB(e,t,r){if(e instanceof cZ)for(let n of e.state.facet(cZ.atomicRanges).map((t=>t(e))))n.between(t,t,((e,n)=>{e<t&&n>t&&(t=r?n:e)}));return t}const AB=(e,t)=>OB(e,(r=>{let n,o,i=r.from,{state:a}=e,s=a.doc.lineAt(i);if(!t&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(n=s.text.slice(0,i-s.from))){if("\t"==n[n.length-1])return i-1;let e=hq(n,a.tabSize)%fM(a)||fM(a);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;o=i}else o=UE(s.text,i-s.from,t,t)+s.from,o==i&&s.number!=(t?a.doc.lines:1)?o+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(o-s.from,i-s.from))&&(o=UE(s.text,o-s.from,!1,!1)+s.from);return o})),xB=e=>AB(e,!1),kB=e=>AB(e,!0),SB=(e,t)=>OB(e,(r=>{let n=r.head,{state:o}=e,i=o.doc.lineAt(n),a=o.charCategorizer(n);for(let e=null;;){if(n==(t?i.to:i.from)){n==r.head&&i.number!=(t?o.doc.lines:1)&&(n+=t?1:-1);break}let s=UE(i.text,n-i.from,t)+i.from,l=i.text.slice(Math.min(n,s)-i.from,Math.max(n,s)-i.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&n==r.head||(e=c),n=s}return n})),CB=e=>SB(e,!1);function _B(e){let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.from),i=e.doc.lineAt(n.to);if(n.empty||n.to!=i.from||(i=e.doc.lineAt(n.to-1)),r>=o.number){let e=t[t.length-1];e.to=i.to,e.ranges.push(n)}else t.push({from:o.from,to:i.to,ranges:[n]});r=i.number+1}return t}function EB(e,t,r){if(e.readOnly)return!1;let n=[],o=[];for(let t of _B(e)){if(r?t.to==e.doc.length:0==t.from)continue;let i=e.doc.lineAt(r?t.to+1:t.from-1),a=i.length+1;if(r){n.push({from:t.to,to:i.to},{from:t.from,insert:i.text+e.lineBreak});for(let r of t.ranges)o.push(cP.range(Math.min(e.doc.length,r.anchor+a),Math.min(e.doc.length,r.head+a)))}else{n.push({from:i.from,to:t.from},{from:t.to,insert:e.lineBreak+i.text});for(let e of t.ranges)o.push(cP.range(e.anchor-a,e.head-a))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:cP.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function PB(e,t,r){if(e.readOnly)return!1;let n=[];for(let t of _B(e))r?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const qB=jB(!1),TB=jB(!0);function jB(e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=t.changeByRange((r=>{let{from:n,to:o}=r,i=t.doc.lineAt(n),a=!e&&n==o&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let r,n=eM(e).resolveInner(t),o=n.childBefore(t),i=n.childAfter(t);return o&&i&&o.to<=t&&i.from>=t&&(r=o.type.prop(XS.closedBy))&&r.indexOf(i.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(o.to,i.from))?{from:o.to,to:i.from}:null}(t,n);e&&(n=o=(o<=i.to?i:t.doc.lineAt(o)).to);let s=new bM(t,{simulateBreak:n,simulateDoubleBreak:!!a}),l=gM(s,n);for(null==l&&(l=hq(/^\s*/.exec(t.doc.lineAt(n).text)[0],t.tabSize));o<i.to&&/\s/.test(i.text[o-i.from]);)o++;a?({from:n,to:o}=a):n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",mM(t,l)];return a&&c.push(mM(t,s.lineIndent(i.from,-1))),{changes:{from:n,to:o,insert:qE.of(c)},range:cP.cursor(n+1+c[1].length)}}));return r(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function RB(e,t){let r=-1;return e.changeByRange((n=>{let o=[];for(let i=n.from;i<=n.to;){let a=e.doc.lineAt(i);a.number>r&&(n.empty||n.to>a.from)&&(t(a,o,n),r=a.number),i=a.to+1}let i=e.changes(o);return{changes:o,range:cP.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}}))}const ZB=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(RB(e,((t,r)=>{r.push({from:t.from,insert:e.facet(hM)})})),{userEvent:"input.indent"})),!0),$B=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(RB(e,((t,r)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let o=hq(n,e.tabSize),i=0,a=mM(e,Math.max(0,o-fM(e)));for(;i<n.length&&i<a.length&&n.charCodeAt(i)==a.charCodeAt(i);)i++;r.push({from:t.from+i,to:t.from+n.length,insert:a.slice(i)})})),{userEvent:"delete.dedent"})),!0),MB=[{key:"Ctrl-b",run:WI,shift:sB,preventDefault:!0},{key:"Ctrl-f",run:YI,shift:lB},{key:"Ctrl-p",run:KI,shift:dB},{key:"Ctrl-n",run:JI,shift:pB},{key:"Ctrl-a",run:e=>QI(e,(t=>cP.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>iB(e,(t=>cP.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>QI(e,(t=>cP.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>iB(e,(t=>cP.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:kB},{key:"Ctrl-h",run:xB},{key:"Ctrl-k",run:e=>OB(e,(t=>{let r=e.lineBlockAt(t.head).to;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))},{key:"Ctrl-Alt-h",run:CB},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:qE.of(["",""])},range:cP.cursor(e.from)})));return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let r=t.from,n=e.doc.lineAt(r),o=r==n.from?r-1:UE(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:UE(n.text,r-n.from,!0)+n.from;return{changes:{from:o,to:i,insert:e.doc.slice(r,i).append(e.doc.slice(o,r))},range:cP.cursor(i)}}));return!r.changes.empty&&(t(e.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:nB}],NB=[{key:"ArrowLeft",run:WI,shift:sB,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>VI(e,!FI(e)),shift:e=>cB(e,!FI(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>QI(e,(t=>oB(e,t,!FI(e)))),shift:e=>iB(e,(t=>oB(e,t,!FI(e)))),preventDefault:!0},{key:"ArrowRight",run:YI,shift:lB,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>VI(e,FI(e)),shift:e=>cB(e,FI(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>QI(e,(t=>oB(e,t,FI(e)))),shift:e=>iB(e,(t=>oB(e,t,FI(e)))),preventDefault:!0},{key:"ArrowUp",run:KI,shift:dB,preventDefault:!0},{mac:"Cmd-ArrowUp",run:gB,shift:yB},{mac:"Ctrl-ArrowUp",run:rB,shift:fB},{key:"ArrowDown",run:JI,shift:pB,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bB,shift:vB},{mac:"Ctrl-ArrowDown",run:nB,shift:mB},{key:"PageUp",run:rB,shift:fB},{key:"PageDown",run:nB,shift:mB},{key:"Home",run:e=>QI(e,(t=>oB(e,t,!1))),shift:e=>iB(e,(t=>oB(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:gB,shift:yB},{key:"End",run:e=>QI(e,(t=>oB(e,t,!0))),shift:e=>iB(e,(t=>oB(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:bB,shift:vB},{key:"Enter",run:qB},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:xB,shift:xB},{key:"Delete",run:kB},{key:"Mod-Backspace",mac:"Alt-Backspace",run:CB},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>SB(e,!0)},{mac:"Mod-Backspace",run:e=>OB(e,(t=>{let r=e.moveToLineBoundary(t,!1).head;return t.head>r?r:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>OB(e,(t=>{let r=e.moveToLineBoundary(t,!0).head;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))}].concat(MB.map((e=>({mac:e.key,run:e.run,shift:e.shift})))),DB=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>QI(e,(t=>HI(e.state,t,!FI(e)))),shift:e=>iB(e,(t=>HI(e.state,t,!FI(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>QI(e,(t=>HI(e.state,t,FI(e)))),shift:e=>iB(e,(t=>HI(e.state,t,FI(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>EB(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>PB(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>EB(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>PB(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let r=e.selection,n=null;return r.ranges.length>1?n=cP.create([r.main]):r.main.empty||(n=cP.create([cP.cursor(r.main.head)])),!!n&&(t(BI(e,n)),!0)}},{key:"Mod-Enter",run:TB},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let r=_B(e).map((({from:t,to:r})=>cP.range(t,Math.min(r+1,e.doc.length))));return t(e.update({selection:cP.create(r),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let r=II(e.selection,(t=>{var r;for(let n=eM(e).resolveStack(t.from,1);n;n=n.next){let{node:e}=n;if((e.from<t.from&&e.to>=t.to||e.to>t.to&&e.from<=t.from)&&(null===(r=e.parent)||void 0===r?void 0:r.parent))return cP.range(e.to,e.from)}return t}));return t(BI(e,r)),!0},preventDefault:!0},{key:"Mod-[",run:$B},{key:"Mod-]",run:ZB},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=Object.create(null),n=new bM(e,{overrideIndentation:e=>{let t=r[e];return null==t?-1:t}}),o=RB(e,((t,o,i)=>{let a=gM(n,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let s=/^\s*/.exec(t.text)[0],l=mM(e,a);(s!=l||i.from<t.from+s.length)&&(r[t.from]=a,o.push({from:t.from,to:t.from+s.length,insert:l}))}));return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,r=t.changes(_B(t).map((({from:e,to:r})=>(e>0?e--:r<t.doc.length&&r++,{from:e,to:r})))),n=II(t.selection,(t=>e.moveVertically(t,!0))).map(r);return e.dispatch({changes:r,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,r){let n=!1,o=II(e.selection,(t=>{let o=bN(e,t.head,-1)||bN(e,t.head,1)||t.head>0&&bN(e,t.head-1,1)||t.head<e.doc.length&&bN(e,t.head+1,-1);if(!o||!o.end)return t;n=!0;let i=o.start.from==t.head?o.end.to:o.end.from;return r?cP.range(t.anchor,i):cP.cursor(i)}));return!!n&&(t(BI(e,o)),!0)}(e,t,!1)},{key:"Mod-/",run:e=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),n=fI(e.state,r.from);return n.line?dI(e):!!n.block&&hI(e)}},{key:"Alt-A",run:pI}].concat(NB),LB={key:"Tab",run:ZB,shift:$B};function IB(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,r=arguments[1];if(r&&"object"==typeof r&&null==r.nodeType&&!Array.isArray(r)){for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var o=r[n];"string"==typeof o?e.setAttribute(n,o):null!=o&&(e[n]=o)}t++}for(;t<arguments.length;t++)BB(e,arguments[t]);return e}function BB(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var r=0;r<t.length;r++)BB(e,t[r])}}const QB="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class zB{constructor(e,t,r=0,n=e.length,o,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=o?e=>o(QB(e)):QB,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return XE(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=HE(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=GE(e);let n=this.normalize(t);for(let e=0,o=r;;e++){let i=n.charCodeAt(e),a=this.match(i,o);if(e==n.length-1){if(a)return this.value=a,this;break}o==r&&e<t.length&&t.charCodeAt(e)==i&&o++}}}match(e,t){let r=null;for(let n=0;n<this.matches.length;n+=2){let o=this.matches[n],i=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[n+1],to:t+1}:(this.matches[n]++,i=!0)),i||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?r={from:t,to:t+1}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}"undefined"!=typeof Symbol&&(zB.prototype[Symbol.iterator]=function(){return this});const UB={from:-1,to:-1,match:/.*/.exec("")},FB="gm"+(null==/x/.unicode?"":"u");class WB{constructor(e,t,r,n=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=UB,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new XB(e,t,r,n,o);this.re=new RegExp(t,FB+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.iter=e.iter();let i=e.lineAt(n);this.curLineStart=i.from,this.matchPos=HB(e,n),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,n=r+t[0].length;if(this.matchPos=HB(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,t)))return this.value={from:r,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const YB=new WeakMap;class VB{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let n=YB.get(e);if(!n||n.from>=r||n.to<=t){let n=new VB(t,e.sliceString(t,r));return YB.set(e,n),n}if(n.from==t&&n.to==r)return n;let{text:o,from:i}=n;return i>t&&(o=e.sliceString(t,i)+o,i=t),n.to<r&&(o+=e.sliceString(n.to,r)),YB.set(e,new VB(i,o)),new VB(t,o.slice(t-i,r-i))}}class XB{constructor(e,t,r,n,o){this.text=e,this.to=o,this.done=!1,this.value=UB,this.matchPos=HB(e,n),this.re=new RegExp(t,FB+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.flat=VB.get(e,n,this.chunkEnd(n+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,r=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,r,t)))return this.value={from:e,to:r,match:t},this.matchPos=HB(this.text,r+(e==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=VB.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function HB(e,t){if(t>=e.length)return t;let r,n=e.lineAt(t);for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function GB(e){let t=IB("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function r(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:n}=e,o=n.doc.lineAt(n.selection.main.head),[,i,a,s,l]=r,c=s?+s.slice(1):0,u=a?+a:o.number;if(a&&l){let e=u/100;i&&(e=e*("-"==i?-1:1)+o.number/n.doc.lines),u=Math.round(n.doc.lines*e)}else a&&i&&(u=u*("-"==i?-1:1)+o.number);let d=n.doc.line(Math.max(1,Math.min(n.doc.lines,u))),p=cP.cursor(d.from+Math.max(0,Math.min(c,d.length)));e.dispatch({effects:[KB.of(!1),cZ.scrollIntoView(p.from,{y:"center"})],selection:p}),e.focus()}return{dom:IB("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:KB.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),r())},onsubmit:e=>{e.preventDefault(),r()}},IB("label",e.state.phrase("Go to line"),": ",t)," ",IB("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(WB.prototype[Symbol.iterator]=XB.prototype[Symbol.iterator]=function(){return this});const KB=DP.define(),JB=vP.define({create:()=>!0,update(e,t){for(let r of t.effects)r.is(KB)&&(e=r.value);return e},provide:e=>S$.from(e,(e=>e?GB:null))}),eQ=cZ.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),tQ={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},rQ=pP.define({combine:e=>HP(e,tQ,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),nQ=CT.mark({class:"cm-selectionMatch"}),oQ=CT.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function iQ(e,t,r,n){return!(0!=r&&e(t.sliceDoc(r-1,r))==WP.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==WP.Word)}const aQ=HT.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(rQ),{state:r}=e,n=r.selection;if(n.ranges.length>1)return CT.none;let o,i=n.main,a=null;if(i.empty){if(!t.highlightWordAroundCursor)return CT.none;let e=r.wordAt(i.head);if(!e)return CT.none;a=r.charCategorizer(i.head),o=r.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return CT.none;if(t.wholeWords){if(o=r.sliceDoc(i.from,i.to),a=r.charCategorizer(i.head),!iQ(a,r,i.from,i.to)||!function(e,t,r,n){return e(t.sliceDoc(r,r+1))==WP.Word&&e(t.sliceDoc(n-1,n))==WP.Word}(a,r,i.from,i.to))return CT.none}else if(o=r.sliceDoc(i.from,i.to).trim(),!o)return CT.none}let s=[];for(let n of e.visibleRanges){let e=new zB(r.doc,o,n.from,n.to);for(;!e.next().done;){let{from:n,to:o}=e.value;if((!a||iQ(a,r,n,o))&&(i.empty&&n<=i.from&&o>=i.to?s.push(oQ.range(n,o)):(n>=i.to||o<=i.from)&&s.push(nQ.range(n,o)),s.length>t.maxMatches))return CT.none}}return CT.set(s)}},{decorations:e=>e.decorations}),sQ=cZ.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),lQ=pP.define({combine:e=>HP(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new NQ(e),scrollToMatch:e=>cZ.scrollIntoView(e)})});class cQ{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,FB),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,((e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"))}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new gQ(this):new pQ(this)}getCursor(e,t=0,r){let n=e.doc?e:XP.create({doc:e});return null==r&&(r=n.doc.length),this.regexp?hQ(this,n,t,r):dQ(this,n,t,r)}}class uQ{constructor(e){this.spec=e}}function dQ(e,t,r,n){return new zB(t.doc,e.unquoted,r,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(r,n,o,i)=>((i>r||i+o.length<n)&&(i=Math.max(0,r-2),o=e.sliceString(i,Math.min(e.length,n+2))),!(t(fQ(o,r-i))==WP.Word&&t(mQ(o,r-i))==WP.Word||t(mQ(o,n-i))==WP.Word&&t(fQ(o,n-i))==WP.Word))}(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}class pQ extends uQ{constructor(e){super(e)}nextMatch(e,t,r){let n=dQ(this.spec,e,r,e.doc.length).nextOverlapping();return n.done&&(n=dQ(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=dQ(this.spec,e,r,n),i=null;for(;!o.nextOverlapping().done;)i=o.value;if(i)return i;if(r==t)return null;n-=1e4}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=dQ(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=dQ(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}function hQ(e,t,r,n){return new WB(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(o=t.charCategorizer(t.selection.main.head),(e,t,r)=>!r[0].length||(o(fQ(r.input,r.index))!=WP.Word||o(mQ(r.input,r.index))!=WP.Word)&&(o(mQ(r.input,r.index+r[0].length))!=WP.Word||o(fQ(r.input,r.index+r[0].length))!=WP.Word)):void 0},r,n);var o}function fQ(e,t){return e.slice(UE(e,t,!1),t)}function mQ(e,t){return e.slice(t,UE(e,t))}class gQ extends uQ{nextMatch(e,t,r){let n=hQ(this.spec,e,r,e.doc.length).next();return n.done&&(n=hQ(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let o=Math.max(t,r-1e4*n),i=hQ(this.spec,e,o,r),a=null;for(;!i.next().done;)a=i.value;if(a&&(o==t||a.from>o+10))return a;if(o==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((t,r)=>"$"==r?"$":"&"==r?e.match[0]:"0"!=r&&+r<e.match.length?e.match[r]:t))}matchAll(e,t){let r=hQ(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=hQ(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}const bQ=DP.define(),yQ=DP.define(),vQ=vP.define({create:e=>new OQ(TQ(e).create(),null),update(e,t){for(let r of t.effects)r.is(bQ)?e=new OQ(r.value.create(),e.panel):r.is(yQ)&&(e=new OQ(e.query,r.value?qQ:null));return e},provide:e=>S$.from(e,(e=>e.panel))});class OQ{constructor(e,t){this.query=e,this.panel=t}}const wQ=CT.mark({class:"cm-searchMatch"}),AQ=CT.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xQ=HT.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(vQ))}update(e){let t=e.state.field(vQ);(t!=e.startState.field(vQ)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return CT.none;let{view:r}=this,n=new rq;for(let t=0,o=r.visibleRanges,i=o.length;t<i;t++){let{from:a,to:s}=o[t];for(;t<i-1&&s>o[t+1].from-500;)s=o[++t].to;e.highlight(r.state,a,s,((e,t)=>{let o=r.state.selection.ranges.some((r=>r.from==e&&r.to==t));n.add(e,t,o?AQ:wQ)}))}return n.finish()}},{decorations:e=>e.decorations});function kQ(e){return t=>{let r=t.state.field(vQ,!1);return r&&r.query.spec.valid?e(t,r):ZQ(t)}}const SQ=kQ(((e,{query:t})=>{let{to:r}=e.state.selection.main,n=t.nextMatch(e.state,r,r);if(!n)return!1;let o=cP.single(n.from,n.to),i=e.state.facet(lQ);return e.dispatch({selection:o,effects:[BQ(e,n),i.scrollToMatch(o.main,e)],userEvent:"select.search"}),RQ(e),!0})),CQ=kQ(((e,{query:t})=>{let{state:r}=e,{from:n}=r.selection.main,o=t.prevMatch(r,n,n);if(!o)return!1;let i=cP.single(o.from,o.to),a=e.state.facet(lQ);return e.dispatch({selection:i,effects:[BQ(e,o),a.scrollToMatch(i.main,e)],userEvent:"select.search"}),RQ(e),!0})),_Q=kQ(((e,{query:t})=>{let r=t.matchAll(e.state,1e3);return!(!r||!r.length||(e.dispatch({selection:cP.create(r.map((e=>cP.range(e.from,e.to)))),userEvent:"select.search.matches"}),0))})),EQ=kQ(((e,{query:t})=>{let{state:r}=e,{from:n,to:o}=r.selection.main;if(r.readOnly)return!1;let i=t.nextMatch(r,n,n);if(!i)return!1;let a,s,l=[],c=[];if(i.from==n&&i.to==o&&(s=r.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:s}),i=t.nextMatch(r,i.from,i.to),c.push(cZ.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+"."))),i){let t=0==l.length||l[0].from>=i.to?0:i.to-i.from-s.length;a=cP.single(i.from-t,i.to-t),c.push(BQ(e,i)),c.push(r.facet(lQ).scrollToMatch(a.main,e))}return e.dispatch({changes:l,selection:a,effects:c,userEvent:"input.replace"}),!0})),PQ=kQ(((e,{query:t})=>{if(e.state.readOnly)return!1;let r=t.matchAll(e.state,1e9).map((e=>{let{from:r,to:n}=e;return{from:r,to:n,insert:t.getReplacement(e)}}));if(!r.length)return!1;let n=e.state.phrase("replaced $ matches",r.length)+".";return e.dispatch({changes:r,effects:cZ.announce.of(n),userEvent:"input.replace.all"}),!0}));function qQ(e){return e.state.facet(lQ).createPanel(e)}function TQ(e,t){var r,n,o,i,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(lQ);return new cQ({search:(null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:c.caseSensitive,literal:null!==(o=null==t?void 0:t.literal)&&void 0!==o?o:c.literal,regexp:null!==(i=null==t?void 0:t.regexp)&&void 0!==i?i:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function jQ(e){let t=w$(e,qQ);return t&&t.dom.querySelector("[main-field]")}function RQ(e){let t=jQ(e);t&&t==e.root.activeElement&&t.select()}const ZQ=e=>{let t=e.state.field(vQ,!1);if(t&&t.panel){let r=jQ(e);if(r&&r!=e.root.activeElement){let n=TQ(e.state,t.query.spec);n.valid&&e.dispatch({effects:bQ.of(n)}),r.focus(),r.select()}}else e.dispatch({effects:[yQ.of(!0),t?bQ.of(TQ(e.state,t.query.spec)):DP.appendConfig.of(zQ)]});return!0},$Q=e=>{let t=e.state.field(vQ,!1);if(!t||!t.panel)return!1;let r=w$(e,qQ);return r&&r.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:yQ.of(!1)}),!0},MQ=[{key:"Mod-f",run:ZQ,scope:"editor search-panel"},{key:"F3",run:SQ,shift:CQ,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:SQ,shift:CQ,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:$Q,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let r=e.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:o}=r.main,i=[],a=0;for(let t=new zB(e.doc,e.sliceDoc(n,o));!t.next().done;){if(i.length>1e3)return!1;t.value.from==n&&(a=i.length),i.push(cP.range(t.value.from,t.value.to))}return t(e.update({selection:cP.create(i,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=w$(e,GB);if(!t){let r=[KB.of(!0)];null==e.state.field(JB,!1)&&r.push(DP.appendConfig.of([JB,eQ])),e.dispatch({effects:r}),t=w$(e,GB)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:r}=e.selection;if(r.some((e=>e.from===e.to)))return(({state:e,dispatch:t})=>{let{selection:r}=e,n=cP.create(r.ranges.map((t=>e.wordAt(t.head)||cP.cursor(t.head))),r.mainIndex);return!n.eq(r)&&(t(e.update({selection:n})),!0)})({state:e,dispatch:t});let n=e.sliceDoc(r[0].from,r[0].to);if(e.selection.ranges.some((t=>e.sliceDoc(t.from,t.to)!=n)))return!1;let o=function(e,t){let{main:r,ranges:n}=e.selection,o=e.wordAt(r.head),i=o&&o.from==r.from&&o.to==r.to;for(let r=!1,o=new zB(e.doc,t,n[n.length-1].to);;){if(o.next(),!o.done){if(r&&n.some((e=>e.from==o.value.from)))continue;if(i){let t=e.wordAt(o.value.from);if(!t||t.from!=o.value.from||t.to!=o.value.to)continue}return o.value}if(r)return null;o=new zB(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),r=!0}}(e,n);return!!o&&(t(e.update({selection:e.selection.addRange(cP.range(o.from,o.to),!1),effects:cZ.scrollIntoView(o.to)})),!0)},preventDefault:!0}];class NQ{constructor(e){this.view=e;let t=this.query=e.state.field(vQ).query.spec;function r(e,t,r){return IB("button",{class:"cm-button",name:e,onclick:t,type:"button"},r)}this.commit=this.commit.bind(this),this.searchField=IB("input",{value:t.search,placeholder:DQ(e,"Find"),"aria-label":DQ(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=IB("input",{value:t.replace,placeholder:DQ(e,"Replace"),"aria-label":DQ(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=IB("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=IB("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=IB("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=IB("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,r("next",(()=>SQ(e)),[DQ(e,"next")]),r("prev",(()=>CQ(e)),[DQ(e,"previous")]),r("select",(()=>_Q(e)),[DQ(e,"all")]),IB("label",null,[this.caseField,DQ(e,"match case")]),IB("label",null,[this.reField,DQ(e,"regexp")]),IB("label",null,[this.wordField,DQ(e,"by word")]),...e.state.readOnly?[]:[IB("br"),this.replaceField,r("replace",(()=>EQ(e)),[DQ(e,"replace")]),r("replaceAll",(()=>PQ(e)),[DQ(e,"replace all")])],IB("button",{name:"close",onclick:()=>$Q(e),"aria-label":DQ(e,"close"),type:"button"},["×"])])}commit(){let e=new cQ({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:bQ.of(e)}))}keydown(e){var t,r;r=e,AZ(vZ((t=this.view).state),r,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?CQ:SQ)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),EQ(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(bQ)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(lQ).top}}function DQ(e,t){return e.state.phrase(t)}const LQ=30,IQ=/[\s\.,:;?!]/;function BQ(e,{from:t,to:r}){let n=e.state.doc.lineAt(t),o=e.state.doc.lineAt(r).to,i=Math.max(n.from,t-LQ),a=Math.min(o,r+LQ),s=e.state.sliceDoc(i,a);if(i!=n.from)for(let e=0;e<LQ;e++)if(!IQ.test(s[e+1])&&IQ.test(s[e])){s=s.slice(e);break}if(a!=o)for(let e=s.length-1;e>s.length-LQ;e--)if(!IQ.test(s[e-1])&&IQ.test(s[e])){s=s.slice(0,e);break}return cZ.announce.of(`${e.state.phrase("current match")}. ${s} ${e.state.phrase("on line")} ${n.number}.`)}const QQ=cZ.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),zQ=[vQ,wP.low(xQ),QQ];class UQ{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class FQ{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let n=e,o=r.facet(rz).markerFilter;o&&(n=o(n));let i=CT.set(n.map((e=>e.from==e.to||e.from==e.to-1&&r.doc.lineAt(e.from).to==e.from?CT.widget({widget:new iz(e),diagnostic:e}).range(e.from):CT.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new FQ(i,t,WQ(i))}}function WQ(e,t=null,r=0){let n=null;return e.between(r,1e9,((e,r,{spec:o})=>{if(!t||o.diagnostic==t)return n=new UQ(e,r,o.diagnostic),!1})),n}const YQ=DP.define(),VQ=DP.define(),XQ=DP.define(),HQ=vP.define({create:()=>new FQ(CT.none,null,null),update(e,t){if(t.docChanged){let r=e.diagnostics.map(t.changes),n=null;if(e.selected){let o=t.changes.mapPos(e.selected.from,1);n=WQ(r,e.selected.diagnostic,o)||WQ(r,null,o)}e=new FQ(r,e.panel,n)}for(let r of t.effects)r.is(YQ)?e=FQ.init(r.value,e.panel,t.state):r.is(VQ)?e=new FQ(e.diagnostics,r.value?sz.open:null,e.selected):r.is(XQ)&&(e=new FQ(e.diagnostics,e.panel,r.value));return e},provide:e=>[S$.from(e,(e=>e.panel)),cZ.decorations.from(e,(e=>e.diagnostics))]}),GQ=CT.mark({class:"cm-lintRange cm-lintRange-active"});function KQ(e,t,r){let{diagnostics:n}=e.state.field(HQ),o=[],i=2e8,a=0;n.between(t-(r<0?1:0),t+(r>0?1:0),((e,n,{spec:s})=>{t>=e&&t<=n&&(e==n||(t>e||r>0)&&(t<n||r<0))&&(o.push(s.diagnostic),i=Math.min(e,i),a=Math.max(n,a))}));let s=e.state.facet(rz).tooltipFilter;return s&&(o=s(o)),o.length?{pos:i,end:a,above:e.state.doc.lineAt(i).to<a,create:()=>({dom:JQ(e,o)})}:null}function JQ(e,t){return IB("ul",{class:"cm-tooltip-lint"},t.map((t=>oz(e,t,!1))))}const ez=e=>{let t=e.state.field(HQ,!1);return!(!t||!t.panel||(e.dispatch({effects:VQ.of(!1)}),0))},tz=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(HQ,!1);var r,n;t&&t.panel||e.dispatch({effects:(r=e.state,n=[VQ.of(!0)],r.field(HQ,!1)?n:n.concat(DP.appendConfig.of(uz)))});let o=w$(e,sz.open);return o&&o.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(HQ,!1);if(!t)return!1;let r=e.state.selection.main,n=t.diagnostics.iter(r.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==r.from&&n.to==r.to)||(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),0))}}],rz=pP.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},HP(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))});function nz(e){let t=[];if(e)e:for(let{name:r}of e){for(let e=0;e<r.length;e++){let n=r[e];if(/[a-zA-Z]/.test(n)&&!t.some((e=>e.toLowerCase()==n.toLowerCase()))){t.push(n);continue e}}t.push("")}return t}function oz(e,t,r){var n;let o=r?nz(t.actions):[];return IB("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},IB("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map(((r,n)=>{let i=!1,a=n=>{if(n.preventDefault(),i)return;i=!0;let o=WQ(e.state.field(HQ).diagnostics,t);o&&r.apply(e,o.from,o.to)},{name:s}=r,l=o[n]?s.indexOf(o[n]):-1,c=l<0?s:[s.slice(0,l),IB("u",s.slice(l,l+1)),s.slice(l+1)];return IB("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${s}${l<0?"":` (access key "${o[n]})"`}.`},c)})),t.source&&IB("div",{class:"cm-diagnosticSource"},t.source))}class iz extends kT{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return IB("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class az{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=oz(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class sz{constructor(e){this.view=e,this.items=[],this.list=IB("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)ez(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:r}=this.items[this.selectedIndex],n=nz(r.actions);for(let o=0;o<n.length;o++)if(n[o].toUpperCase().charCodeAt(0)==t.keyCode){let t=WQ(this.view.state.field(HQ).diagnostics,r);t&&r.actions[o].apply(e,t.from,t.to)}}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=IB("div",{class:"cm-panel-lint"},this.list,IB("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>ez(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(HQ).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(HQ),r=0,n=!1,o=null;for(e.between(0,this.view.state.doc.length,((e,i,{spec:a})=>{let s,l=-1;for(let e=r;e<this.items.length;e++)if(this.items[e].diagnostic==a.diagnostic){l=e;break}l<0?(s=new az(this.view,a.diagnostic),this.items.splice(r,0,s),n=!0):(s=this.items[l],l>r&&(this.items.splice(r,l-r),n=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),o=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),r++}));r<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new az(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let r=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/r:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=WQ(this.view.state.field(HQ).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:XQ.of(t)})}static open(e){return new sz(e)}}function lz(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const cz=cZ.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:lz("#d11")},".cm-lintRange-warning":{backgroundImage:lz("orange")},".cm-lintRange-info":{backgroundImage:lz("#999")},".cm-lintRange-hint":{backgroundImage:lz("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),uz=[HQ,cZ.decorations.compute([HQ],(e=>{let{selected:t,panel:r}=e.field(HQ);return t&&r&&t.from!=t.to?CT.set([GQ.range(t.from,t.to)]):CT.none})),b$(KQ,{hideOn:function(e,t){let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(YQ)))&&!e.changes.touchesRange(r.from,r.to))}}),cz];var dz=function(e){void 0===e&&(e={});var{crosshairCursor:t=!1}=e,r=[];!1!==e.closeBracketsKeymap&&(r=r.concat(oL)),!1!==e.defaultKeymap&&(r=r.concat(DB)),!1!==e.searchKeymap&&(r=r.concat(MQ)),!1!==e.historyKeymap&&(r=r.concat(LI)),!1!==e.foldKeymap&&(r=r.concat(BM)),!1!==e.completionKeymap&&(r=r.concat(pL)),!1!==e.lintKeymap&&(r=r.concat(tz));var n=[];return!1!==e.lineNumbers&&n.push(function(e={}){return[I$.of(e),j$(),z$]}()),!1!==e.highlightActiveLineGutter&&n.push(W$),!1!==e.highlightSpecialChars&&n.push(function(e={}){return[WZ.of(e),YZ||(YZ=HT.fromClass(class{constructor(e){this.view=e,this.decorations=CT.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(WZ)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new BZ({regexp:e.specialChars,decoration:(t,r,n)=>{let{doc:o}=r.state,i=XE(t[0],0);if(9==i){let e=o.lineAt(n),t=r.state.tabSize,i=hq(e.text,t,n-e.from);return CT.replace({widget:new XZ((t-i%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=CT.replace({widget:new VZ(e,i)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(WZ);e.startState.facet(WZ)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}()),!1!==e.history&&n.push(function(e={}){return[AI,wI.of(e),cZ.domEventHandlers({beforeinput(e,t){let r="historyUndo"==e.inputType?kI:"historyRedo"==e.inputType?SI:null;return!!r&&(e.preventDefault(),r(t))}})]}()),!1!==e.foldGutter&&n.push(function(e={}){let t=Object.assign(Object.assign({},VM),e),r=new XM(t,!0),n=new XM(t,!1),o=HT.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(cM)!=e.state.facet(cM)||e.startState.field(MM,!1)!=e.state.field(MM,!1)||eM(e.startState)!=eM(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new rq;for(let o of e.viewportLineBlocks){let i=NM(e.state,o.from,o.to)?n:TM(e.state,o.from,o.to)?r:null;i&&t.add(o.from,o.from,i)}return t.finish()}}),{domEventHandlers:i}=t;return[o,q$({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(o))||void 0===t?void 0:t.markers)||tq.empty},initialSpacer:()=>new XM(t,!1),domEventHandlers:Object.assign(Object.assign({},i),{click:(e,t,r)=>{if(i.click&&i.click(e,t,r))return!0;let n=NM(e.state,t.from,t.to);if(n)return e.dispatch({effects:ZM.of(n)}),!0;let o=TM(e.state,t.from,t.to);return!!o&&(e.dispatch({effects:RM.of(o)}),!0)}})}),UM()]}()),!1!==e.drawSelection&&n.push(function(e={}){return[qZ.of(e),jZ,ZZ,MZ,zT.of(!0)]}()),!1!==e.dropCursor&&n.push([DZ,LZ]),!1!==e.allowMultipleSelections&&n.push(XP.allowMultipleSelections.of(!0)),!1!==e.indentOnInput&&n.push(XP.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let r=e.newDoc,{head:n}=e.newSelection.main,o=r.lineAt(n);if(n>o.from+200)return e;let i=r.sliceString(o.from,n);if(!t.some((e=>e.test(i))))return e;let{state:a}=e,s=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==s)continue;s=t.from;let r=gM(a,t.from);if(null==r)continue;let n=/^\s*/.exec(t.text)[0],o=mM(a,r);n!=o&&l.push({from:t.from,to:t.from+n.length,insert:o})}return l.length?[e,{changes:l,sequential:!0}]:e}))),!1!==e.syntaxHighlighting&&n.push(tN(oN,{fallback:!0})),!1!==e.bracketMatching&&n.push(function(e={}){return[lN.of(e),hN]}()),!1!==e.closeBrackets&&n.push([nL,KD]),!1!==e.autocompletion&&n.push(function(e={}){return[SD,lD.of(e),qD,hL,TD]}()),!1!==e.rectangularSelection&&n.push(function(e){let t=e=>e.altKey&&0==e.button;return cZ.mouseSelectionStyle.of(((e,r)=>t(r)?function(e,t){let r=e$(e,t),n=e.state.selection;return r?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(r.line).from),o=e.state.doc.lineAt(t);r={line:o.number,col:r.col,off:Math.min(r.off,o.length)},n=n.map(e.changes)}},get(t,o,i){let a=e$(e,t);if(!a)return n;let s=function(e,t,r){let n=Math.min(t.line,r.line),o=Math.max(t.line,r.line),i=[];if(t.off>JZ||r.off>JZ||t.col<0||r.col<0){let a=Math.min(t.off,r.off),s=Math.max(t.off,r.off);for(let t=n;t<=o;t++){let r=e.doc.line(t);r.length<=s&&i.push(cP.range(r.from+a,r.to+s))}}else{let a=Math.min(t.col,r.col),s=Math.max(t.col,r.col);for(let t=n;t<=o;t++){let r=e.doc.line(t),n=fq(r.text,a,e.tabSize,!0);if(n<0)i.push(cP.cursor(r.to));else{let t=fq(r.text,s,e.tabSize);i.push(cP.range(r.from+n,r.from+t))}}}return i}(e.state,r,a);return s.length?i?cP.create(s.concat(n.ranges)):cP.create(s):n}}:null}(e,r):null))}()),!1!==t&&n.push(function(e={}){let[t,r]=t$[e.key||"Alt"],n=HT.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||r(e))},keyup(e){e.keyCode!=t&&r(e)||this.set(!1)},mousemove(e){this.set(r(e))}}});return[n,cZ.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?r$:null}))]}()),!1!==e.highlightActiveLine&&n.push(GZ),!1!==e.highlightSelectionMatches&&n.push(function(e){let t=[sQ,aQ];return t}()),e.tabSize&&"number"==typeof e.tabSize&&n.push(hM.of(" ".repeat(e.tabSize))),n.concat([bZ.of(r.flat())]).filter(Boolean)};const pz="#e06c75",hz="#abb2bf",fz="#7d8799",mz="#d19a66",gz="#2c313a",bz="#282c34",yz="#353a42",vz="#528bff",Oz=[cZ.theme({"&":{color:hz,backgroundColor:bz},".cm-content":{caretColor:vz},".cm-cursor, .cm-dropCursor":{borderLeftColor:vz},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:hz},".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:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:bz,color:fz,border:"none"},".cm-activeLineGutter":{backgroundColor:gz},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:yz},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:yz,borderBottomColor:yz},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:gz,color:hz}}},{dark:!0}),tN(GM.define([{tag:N_.keyword,color:"#c678dd"},{tag:[N_.name,N_.deleted,N_.character,N_.propertyName,N_.macroName],color:pz},{tag:[N_.function(N_.variableName),N_.labelName],color:"#61afef"},{tag:[N_.color,N_.constant(N_.name),N_.standard(N_.name)],color:mz},{tag:[N_.definition(N_.name),N_.separator],color:hz},{tag:[N_.typeName,N_.className,N_.number,N_.changed,N_.annotation,N_.modifier,N_.self,N_.namespace],color:"#e5c07b"},{tag:[N_.operator,N_.operatorKeyword,N_.url,N_.escape,N_.regexp,N_.link,N_.special(N_.string)],color:"#56b6c2"},{tag:[N_.meta,N_.comment],color:fz},{tag:N_.strong,fontWeight:"bold"},{tag:N_.emphasis,fontStyle:"italic"},{tag:N_.strikethrough,textDecoration:"line-through"},{tag:N_.link,color:fz,textDecoration:"underline"},{tag:N_.heading,fontWeight:"bold",color:pz},{tag:[N_.atom,N_.bool,N_.special(N_.variableName)],color:mz},{tag:[N_.processingInstruction,N_.string,N_.inserted],color:"#98c379"},{tag:N_.invalid,color:"#ffffff"}]))];var wz=cZ.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Az=function(e){void 0===e&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:n=!1,theme:o="light",placeholder:i="",basicSetup:a=!0}=e,s=[];switch(t&&s.unshift(bZ.of([LB])),a&&("boolean"==typeof a?s.unshift(dz()):s.unshift(dz(a))),i&&s.unshift(function(e){return HT.fromClass(class{constructor(t){this.view=t,this.placeholder=e?CT.set([CT.widget({widget:new KZ(e),side:1}).range(0)]):CT.none}get decorations(){return this.view.state.doc.length?CT.none:this.placeholder}},{decorations:e=>e.decorations})}(i)),o){case"light":s.push(wz);break;case"dark":s.push(Oz);break;case"none":break;default:s.push(o)}return!1===r&&s.push(cZ.editable.of(!1)),n&&s.push(XP.readOnly.of(!0)),[...s]},xz=$P.define(),kz=[],Sz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Cz=(0,r.forwardRef)(((n,o)=>{var{className:i,value:a="",selection:l,extensions:c=[],onChange:u,onStatistics:d,onCreateEditor:p,onUpdate:h,autoFocus:f,theme:m="light",height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:w,basicSetup:A,placeholder:x,indentWithTab:k,editable:S,readOnly:C,root:_,initialState:E}=n,P=(0,t.Z)(n,Sz),q=(0,r.useRef)(null),{state:T,view:j,container:R}=function(e){var{value:t,selection:n,onChange:o,onStatistics:i,onCreateEditor:a,onUpdate:s,extensions:l=kz,autoFocus:c,theme:u="light",height:d=null,minHeight:p=null,maxHeight:h=null,width:f=null,minWidth:m=null,maxWidth:g=null,placeholder:b="",editable:y=!0,readOnly:v=!1,indentWithTab:O=!0,basicSetup:w=!0,root:A,initialState:x}=e,[k,S]=(0,r.useState)(),[C,_]=(0,r.useState)(),[E,P]=(0,r.useState)(),q=cZ.theme({"&":{height:d,minHeight:p,maxHeight:h,width:f,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),T=cZ.updateListener.of((e=>{if(e.docChanged&&"function"==typeof o&&!e.transactions.some((e=>e.annotation(xz)))){var t=e.state.doc.toString();o(t,e)}i&&i((e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map((t=>e.state.sliceDoc(t.from,t.to))),selectedText:e.state.selection.ranges.some((e=>!e.empty))}))(e))})),j=[T,q,...Az({theme:u,editable:y,readOnly:v,placeholder:b,indentWithTab:O,basicSetup:w})];return s&&"function"==typeof s&&j.push(cZ.updateListener.of(s)),j=j.concat(l),(0,r.useEffect)((()=>{if(k&&!E){var e={doc:t,selection:n,extensions:j},r=x?XP.fromJSON(x.json,e,x.fields):XP.create(e);if(P(r),!C){var o=new cZ({state:r,parent:k,root:A});_(o),a&&a(o,r)}}return()=>{C&&(P(void 0),_(void 0))}}),[k,E]),(0,r.useEffect)((()=>S(e.container)),[e.container]),(0,r.useEffect)((()=>()=>{C&&(C.destroy(),_(void 0))}),[C]),(0,r.useEffect)((()=>{c&&C&&C.focus()}),[c,C]),(0,r.useEffect)((()=>{C&&C.dispatch({effects:DP.reconfigure.of(j)})}),[u,l,d,p,h,f,m,g,b,y,v,O,w,o,s]),(0,r.useEffect)((()=>{if(void 0!==t){var e=C?C.state.doc.toString():"";C&&t!==e&&C.dispatch({changes:{from:0,to:e.length,insert:t||""},annotations:[xz.of(!0)]})}}),[t,C]),{state:E,setState:P,view:C,setView:_,container:k,setContainer:S}}({container:q.current,root:_,value:a,autoFocus:f,theme:m,height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:w,basicSetup:A,placeholder:x,indentWithTab:k,editable:S,readOnly:C,selection:l,onChange:u,onStatistics:d,onCreateEditor:p,onUpdate:h,extensions:c,initialState:E});if((0,r.useImperativeHandle)(o,(()=>({editor:q.current,state:T,view:j})),[q,R,T,j]),"string"!=typeof a)throw new Error("value must be typeof string but got "+typeof a);var Z="string"==typeof m?"cm-theme-"+m:"cm-theme";return(0,s.jsx)("div",(0,e.Z)({ref:q,className:Z+(i?" "+i:"")},P))}));Cz.displayName="CodeMirror";const _z=Cz,Ez=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,extensions:[sI(),cZ.lineWrapping],onChange:e=>t?.({value:e}),id:r,role:"textbox","data-testid":"code-editor",height:"300px",width:"100%"}),Pz=g_({String:N_.string,Number:N_.number,"True False":N_.bool,PropertyName:N_.propertyName,Null:N_.null,",":N_.separator,"[ ]":N_.squareBracket,"{ }":N_.brace}),qz=c_.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[Pz],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Tz=J$.define({name:"json",parser:qz.configure({props:[yM.add({Object:CM({except:/^\s*\}/}),Array:CM({except:/^\s*\]/})}),EM.add({"Object Array":PM})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}}),jz=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,extensions:[new uM(Tz),cZ.lineWrapping],onChange:e=>t?.({value:e}),id:r,role:"textbox","data-testid":"code-editor",height:"300px",width:"100%"});class Rz{static create(e,t,r,n,o){return new Rz(e,t,r,n+(n<<8)+e+(t<<4)|0,o,[],[])}constructor(e,t,r,n,o,i,a){this.type=e,this.value=t,this.from=r,this.hash=n,this.end=o,this.children=i,this.positions=a,this.hashProp=[[XS.contextHash,n]]}addChild(e,t){e.prop(XS.contextHash)!=this.hash&&(e=new nC(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new nC(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,r)=>new nC(KS.none,e,t,r,this.hashProp)})}}var Zz;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(Zz||(Zz={}));class $z{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class Mz{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Iz(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let n=t;n<e;n++)r+=9==this.text.charCodeAt(n)?4-r%4:1;return r}findColumn(e){let t=0;for(let r=0;t<this.text.length&&r<e;t++)r+=9==this.text.charCodeAt(t)?4-r%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function Nz(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let n=(e.type==Zz.OrderedList?Yz:Wz)(r,t,!1);return n>0&&(e.type!=Zz.BulletList||Uz(r,t,!1)<0)&&r.text.charCodeAt(r.pos+n-1)==e.value}const Dz={[Zz.Blockquote]:(e,t,r)=>62==r.next&&(r.markers.push(wU(Zz.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(Lz(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0),[Zz.ListItem]:(e,t,r)=>!(r.indent<r.baseIndent+e.value&&r.next>-1||(r.moveBaseColumn(r.baseIndent+e.value),0)),[Zz.OrderedList]:Nz,[Zz.BulletList]:Nz,[Zz.Document]:()=>!0};function Lz(e){return 32==e||9==e||10==e||13==e}function Iz(e,t=0){for(;t<e.length&&Lz(e.charCodeAt(t));)t++;return t}function Bz(e,t,r){for(;t>r&&Lz(e.charCodeAt(t-1));)t--;return t}function Qz(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let r=t;r<e.text.length;r++)if(96==e.text.charCodeAt(r))return-1;return t}function zz(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Uz(e,t,r){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let r=e.text.charCodeAt(t);if(r==e.next)n++;else if(!Lz(r))return-1}return r&&45==e.next&&Xz(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Fz(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function Wz(e,t,r){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!Lz(e.text.charCodeAt(e.pos+1))||!(!r||Fz(t,Zz.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function Yz(e,t,r){let n=e.pos,o=e.next;for(;o>=48&&o<=57;){if(n++,n==e.text.length)return-1;o=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=o&&41!=o||n<e.text.length-1&&!Lz(e.text.charCodeAt(n+1))||r&&!Fz(t,Zz.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function Vz(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let r=t-e.pos;return r>6?-1:r}function Xz(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&Lz(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Hz=/^[ \t]*$/,Gz=/-->/,Kz=/\?>/,Jz=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Gz],[/^\s*<\?/,Kz],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Hz],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Hz]];function eU(e,t,r){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=Jz.length-(r?1:0);e<t;e++)if(Jz[e][0].test(n))return e;return-1}function tU(e,t){let r=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,r);return n>=r+5?r+1:n}function rU(e,t,r){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==Zz.CodeText?e[n].to=r:e.push(wU(Zz.CodeText,t,r))}const nU={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let n=t.findColumn(r),o=e.lineStart+n,i=e.lineStart+t.text.length,a=[],s=[];for(rU(a,o,i);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){rU(s,e.lineStart-1,e.lineStart);for(let e of t.markers)s.push(e)}else{if(t.indent<r)break;{if(s.length){for(let e of s)e.type==Zz.CodeText?rU(a,e.from,e.to):a.push(e);s=[]}rU(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e);i=e.lineStart+t.text.length;let r=e.lineStart+t.findColumn(t.baseIndent+4);r<i&&rU(a,r,i)}}return s.length&&(s=s.filter((e=>e.type!=Zz.CodeText)),s.length&&(t.markers=s.concat(t.markers))),e.addNode(e.buffer.writeElements(a,-o).finish(Zz.CodeBlock,i-o),o),!0},FencedCode(e,t){let r=Qz(t);if(r<0)return!1;let n=e.lineStart+t.pos,o=t.next,i=r-t.pos,a=t.skipSpace(r),s=Bz(t.text,t.text.length,a),l=[wU(Zz.CodeMark,n,n+i)];a<s&&l.push(wU(Zz.CodeInfo,e.lineStart+a,e.lineStart+s));for(let r=!0;e.nextLine()&&t.depth>=e.stack.length;r=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==o;)n++;if(n-t.pos>=i&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(wU(Zz.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{r||rU(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,o=e.lineStart+t.text.length;n<o&&rU(l,n,o)}}return e.addNode(e.buffer.writeElements(l,-n).finish(Zz.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let r=zz(t);return!(r<0)&&(e.startContext(Zz.Blockquote,t.pos),e.addNode(Zz.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Uz(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(Zz.HorizontalRule,r),!0},BulletList(e,t){let r=Wz(t,e,!1);if(r<0)return!1;e.block.type!=Zz.BulletList&&e.startContext(Zz.BulletList,t.basePos,t.next);let n=tU(t,t.pos+1);return e.startContext(Zz.ListItem,t.basePos,n-t.baseIndent),e.addNode(Zz.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},OrderedList(e,t){let r=Yz(t,e,!1);if(r<0)return!1;e.block.type!=Zz.OrderedList&&e.startContext(Zz.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let n=tU(t,t.pos+r);return e.startContext(Zz.ListItem,t.basePos,n-t.baseIndent),e.addNode(Zz.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},ATXHeading(e,t){let r=Vz(t);if(r<0)return!1;let n=t.pos,o=e.lineStart+n,i=Bz(t.text,t.text.length,n),a=i;for(;a>n&&t.text.charCodeAt(a-1)==t.next;)a--;a!=i&&a!=n&&Lz(t.text.charCodeAt(a-1))||(a=t.text.length);let s=e.buffer.write(Zz.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(n+r+1,a),o+r+1),-o);a<t.text.length&&s.write(Zz.HeaderMark,a-n,i-n);let l=s.finish(Zz.ATXHeading1-1+r,t.text.length-n);return e.nextLine(),e.addNode(l,o),!0},HTMLBlock(e,t){let r=eU(t,0,!1);if(r<0)return!1;let n=e.lineStart+t.pos,o=Jz[r][1],i=[],a=o!=Hz;for(;!o.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){a=!1;break}for(let e of t.markers)i.push(e)}a&&e.nextLine();let s=o==Gz?Zz.CommentBlock:o==Kz?Zz.ProcessingInstructionBlock:Zz.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(i,-n).finish(s,l-n),n),!0},SetextHeading:void 0};class oU{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,r){if(-1==this.stage)return!1;let n=r.content+"\n"+t.scrub(),o=this.advance(n);return o>-1&&o<n.length&&this.complete(e,r,o)}finish(e,t){return(2==this.stage||3==this.stage)&&Iz(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,r){return e.addLeafElement(t,wU(Zz.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(jU(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(wU(Zz.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=Iz(e,this.pos),r=0;if(t>this.pos){let n=TU(e,t,this.start);if(n){let t=iU(e,n.to-this.start);t>0&&(this.nextStage(n),r=t)}}return r||(r=iU(e,this.pos)),r>0&&r<e.length?r:-1}return iU(e,this.pos)}if(!this.nextStage(qU(e,Iz(e,this.pos),this.start)))return-1}}}}function iU(e,t){for(;t<e.length;t++){let r=e.charCodeAt(t);if(10==r)break;if(!Lz(r))return-1}return t}class aU{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:Xz(t),o=t.next;if(n<0)return!1;let i=wU(Zz.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,wU(61==o?Zz.SetextHeading1:Zz.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),i])),!0}finish(){return!1}}const sU={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new oU(t):null,SetextHeading:()=>new aU},lU=[(e,t)=>Vz(t)>=0,(e,t)=>Qz(t)>=0,(e,t)=>zz(t)>=0,(e,t)=>Wz(t,e,!0)>=0,(e,t)=>Yz(t,e,!0)>=0,(e,t)=>Uz(t,e,!0)>=0,(e,t)=>eU(t,0,!0)>=0],cU={text:"",end:0};class uU{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new Mz,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=Rz.create(Zz.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new MU(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let r=t(this,e);if(0!=r){if(1==r)return null;e.forward();continue e}}break}let t=new $z(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let r=e(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e;for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return!!t&&(this.absoluteLineStart+=t,this.lineStart=NU(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0)}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=cU;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let n=this.ranges[r].from,o=this.lineChunkAt(n);t.end=n+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-e)+o,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],r=this.parser.skipContextMarkup[t.type];if(!r)throw new Error("Unhandled block context "+Zz[t.type]);if(!r(t,this,e))break;e.forward()}}lineChunkAt(e){let t,r=this.input.chunk(e);if(this.input.lineChunks)t="\n"==r?"":r;else{let e=r.indexOf("\n");t=e<0?r:r.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=Rz.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){"number"==typeof e&&(e=new nC(this.parser.nodeSet.types[e],bU,bU,(null!=r?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ZU(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?dU(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=ZU(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Zz.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return"string"==typeof e?wU(this.parser.getNodeType(e),t,r,n):new OU(e,t)}get buffer(){return new yU(this.parser.nodeSet)}}function dU(e,t,r,n,o){let i=e[t].to,a=[],s=[],l=r.from+n;function c(r,o){for(;o?r>=i:r>i;){let o=e[t+1].from-i;n+=o,r+=o,t++,i=e[t].to}}for(let u=r.firstChild;u;u=u.nextSibling){c(u.from+n,!0);let r,d=u.from+n,p=o.get(u.tree);p?r=p:u.to+n>i?(r=dU(e,t,u,n,o),c(u.to+n,!1)):r=u.toTree(),a.push(r),s.push(d-l)}return c(r.to+n,!1),new nC(r.type,a,s,r.to+n-l,r.tree?r.tree.propValues:void 0)}class pU extends xC{constructor(e,t,r,n,o,i,a,s,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=o,this.skipContextMarkup=i,this.inlineParsers=a,this.inlineNames=s,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,r){let n=new uU(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}configure(e){let t=fU(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,o=this.blockParsers.slice(),i=this.leafBlockParsers.slice(),a=this.blockNames.slice(),s=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(hU(t.defineNodes)){n=Object.assign({},n);let e,o=r.types.slice();for(let r of t.defineNodes){let{name:t,block:i,composite:a,style:s}="string"==typeof r?{name:r}:r;if(o.some((e=>e.name==t)))continue;a&&(n[o.length]=(e,t,r)=>a(t,r,e.value));let l=o.length,c=a?["Block","BlockContext"]:i?l>=Zz.ATXHeading1&&l<=Zz.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;o.push(KS.define({id:l,name:t,props:c&&[[XS.group,c]]})),s&&(e||(e={}),Array.isArray(s)||s instanceof h_?e[t]=s:Object.assign(e,s))}r=new JS(o),e&&(r=r.extend(g_(e)))}if(hU(t.props)&&(r=r.extend(...t.props)),hU(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),r=this.inlineNames.indexOf(e);t>-1&&(o[t]=i[t]=void 0),r>-1&&(s[r]=void 0)}if(hU(t.parseBlock))for(let e of t.parseBlock){let t=a.indexOf(e.name);if(t>-1)o[t]=e.parse,i[t]=e.leaf;else{let t=e.before?mU(a,e.before):e.after?mU(a,e.after)+1:a.length-1;o.splice(t,0,e.parse),i.splice(t,0,e.leaf),a.splice(t,0,e.name)}e.endLeaf&&c.push(e.endLeaf)}if(hU(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)s[t]=e.parse;else{let t=e.before?mU(l,e.before):e.after?mU(l,e.after)+1:l.length-1;s.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(u=u.concat(t.wrap)),new pU(r,o,i,a,c,n,s,l,u)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new RU(this,e,t);e:for(let e=t;e<r.end;){let t=r.char(e);for(let n of this.inlineParsers)if(n){let o=n(r,t,e);if(o>=0){e=o;continue e}}e++}return r.resolveMarkers(0)}}function hU(e){return null!=e&&e.length>0}function fU(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=fU(e[0]);if(1==e.length)return t;let r=fU(e.slice(1));if(!r||!t)return t||r;let n=(e,t)=>(e||bU).concat(t||bU),o=t.wrap,i=r.wrap;return{props:n(t.props,r.props),defineNodes:n(t.defineNodes,r.defineNodes),parseBlock:n(t.parseBlock,r.parseBlock),parseInline:n(t.parseInline,r.parseInline),remove:n(t.remove,r.remove),wrap:o?i?(e,t,r,n)=>o(i(e,t,r,n),t,r,n):o:i}}function mU(e,t){let r=e.indexOf(t);if(r<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return r}let gU=[KS.none];for(let e,t=1;e=Zz[t];t++)gU[t]=KS.define({id:t,name:e,props:t>=Zz.Escape?[]:[[XS.group,t in Dz?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const bU=[];class yU{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,n=0){return this.content.push(e,t,r,4+4*n),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return nC.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class vU{constructor(e,t,r,n=bU){this.type=e,this.from=t,this.to=r,this.children=n}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new yU(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class OU{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return bU}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function wU(e,t,r,n){return new vU(e,t,r,n)}const AU={resolve:"Emphasis",mark:"EmphasisMark"},xU={resolve:"Emphasis",mark:"EmphasisMark"},kU={},SU={};class CU{constructor(e,t,r,n){this.type=e,this.from=t,this.to=r,this.side=n}}let _U=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{_U=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(Me){}const EU={Escape(e,t,r){if(92!=t||r==e.end-1)return-1;let n=e.char(r+1);for(let t=0;t<32;t++)if("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".charCodeAt(t)==n)return e.append(wU(Zz.Escape,r,r+2));return-1},Entity(e,t,r){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(r+1,r+31));return n?e.append(wU(Zz.Entity,r,r+1+n[0].length)):-1},InlineCode(e,t,r){if(96!=t||r&&96==e.char(r-1))return-1;let n=r+1;for(;n<e.end&&96==e.char(n);)n++;let o=n-r,i=0;for(;n<e.end;n++)if(96==e.char(n)){if(i++,i==o&&96!=e.char(n+1))return e.append(wU(Zz.InlineCode,r,n+1,[wU(Zz.CodeMark,r,r+o),wU(Zz.CodeMark,n+1-o,n+1)]))}else i=0;return-1},HTMLTag(e,t,r){if(60!=t||r==e.end-1)return-1;let n=e.slice(r+1,e.end),o=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(o)return e.append(wU(Zz.URL,r,r+1+o[0].length));let i=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(i)return e.append(wU(Zz.Comment,r,r+1+i[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return e.append(wU(Zz.ProcessingInstruction,r,r+1+a[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return s?e.append(wU(Zz.HTMLTag,r,r+1+s[0].length)):-1},Emphasis(e,t,r){if(95!=t&&42!=t)return-1;let n=r+1;for(;e.char(n)==t;)n++;let o=e.slice(r-1,r),i=e.slice(n,n+1),a=_U.test(o),s=_U.test(i),l=/\s|^$/.test(o),c=/\s|^$/.test(i),u=!c&&(!s||l||a),d=!l&&(!a||c||s),p=u&&(42==t||!d||a),h=d&&(42==t||!u||s);return e.append(new CU(95==t?AU:xU,r,n,(p?1:0)|(h?2:0)))},HardBreak(e,t,r){if(92==t&&10==e.char(r+1))return e.append(wU(Zz.HardBreak,r,r+2));if(32==t){let t=r+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=r+2)return e.append(wU(Zz.HardBreak,r,t+1))}return-1},Link:(e,t,r)=>91==t?e.append(new CU(kU,r,r+1,1)):-1,Image:(e,t,r)=>33==t&&91==e.char(r+1)?e.append(new CU(SU,r,r+2,1)):-1,LinkEnd(e,t,r){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof CU&&(n.type==kU||n.type==SU)){if(!n.side||e.skipSpace(n.to)==r&&!/[(\[]/.test(e.slice(r+1,r+2)))return e.parts[t]=null,-1;let o=e.takeContent(t),i=e.parts[t]=PU(e,o,n.type==kU?Zz.Link:Zz.Image,n.from,r+1);if(n.type==kU)for(let r=0;r<t;r++){let t=e.parts[r];t instanceof CU&&t.type==kU&&(t.side=0)}return i.to}}return-1}};function PU(e,t,r,n,o){let{text:i}=e,a=e.char(o),s=o;if(t.unshift(wU(Zz.LinkMark,n,n+(r==Zz.Image?2:1))),t.push(wU(Zz.LinkMark,o-1,o)),40==a){let r,n=e.skipSpace(o+1),a=qU(i,n-e.offset,e.offset);a&&(n=e.skipSpace(a.to),r=TU(i,n-e.offset,e.offset),r&&(n=e.skipSpace(r.to))),41==e.char(n)&&(t.push(wU(Zz.LinkMark,o,o+1)),s=n+1,a&&t.push(a),r&&t.push(r),t.push(wU(Zz.LinkMark,n,s)))}else if(91==a){let r=jU(i,o-e.offset,e.offset,!1);r&&(t.push(r),s=r.to)}return wU(r,n,s,t)}function qU(e,t,r){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let o=e.charCodeAt(n);if(62==o)return wU(Zz.URL,t+r,n+1+r);if(60==o||10==o)return!1}return null}{let n=0,o=t;for(let t=!1;o<e.length;o++){let r=e.charCodeAt(o);if(Lz(r))break;if(t)t=!1;else if(40==r)n++;else if(41==r){if(!n)break;n--}else 92==r&&(t=!0)}return o>t?wU(Zz.URL,t+r,o+r):o==e.length&&null}}function TU(e,t,r){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let o=40==n?41:n;for(let n=t+1,i=!1;n<e.length;n++){let a=e.charCodeAt(n);if(i)i=!1;else{if(a==o)return wU(Zz.LinkTitle,t+r,n+1+r);92==a&&(i=!0)}}return null}function jU(e,t,r,n){for(let o=!1,i=t+1,a=Math.min(e.length,i+999);i<a;i++){let a=e.charCodeAt(i);if(o)o=!1;else{if(93==a)return!n&&wU(Zz.LinkLabel,t+r,i+1+r);if(n&&!Lz(a)&&(n=!1),91==a)return!1;92==a&&(o=!0)}}return null}class RU{constructor(e,t,r){this.parser=e,this.text=t,this.offset=r,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,n,o){return this.append(new CU(e,t,r,(n?1:0)|(o?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let r=this.parts[t];if(!(r instanceof CU&&r.type.resolve&&2&r.side))continue;let n,o=r.type==AU||r.type==xU,i=r.to-r.from,a=t-1;for(;a>=e;a--){let e=this.parts[a];if(e instanceof CU&&1&e.side&&e.type==r.type&&!(o&&(1&r.side||2&e.side)&&(e.to-e.from+i)%3==0&&((e.to-e.from)%3||i%3))){n=e;break}}if(!n)continue;let s=r.type.resolve,l=[],c=n.from,u=r.to;if(o){let e=Math.min(2,n.to-n.from,i);c=n.to-e,u=r.from+e,s=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,c,n.to));for(let e=a+1;e<t;e++)this.parts[e]instanceof vU&&l.push(this.parts[e]),this.parts[e]=null;r.type.mark&&l.push(this.elt(r.type.mark,r.from,u));let d=this.elt(s,c,u,l);this.parts[a]=o&&n.from!=c?new CU(n.type,n.from,c,n.side):null,(this.parts[t]=o&&r.to!=u?new CU(r.type,u,r.to,r.side):null)?this.parts.splice(t,0,d):this.parts[t]=d}let t=[];for(let r=e;r<this.parts.length;r++){let e=this.parts[r];e instanceof vU&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let r=this.parts[t];if(r instanceof CU&&r.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return Iz(this.text,e-this.offset)+this.offset}elt(e,t,r,n){return"string"==typeof e?wU(this.parser.getNodeType(e),t,r,n):new OU(e,t)}}function ZU(e,t){if(!t.length)return e;if(!e.length)return t;let r=e.slice(),n=0;for(let e of t){for(;n<r.length&&r[n].to<e.to;)n++;if(n<r.length&&r[n].from<e.from){let t=r[n];t instanceof vU&&(r[n]=new vU(t.type,t.from,t.to,ZU(t.children,[e])))}else r.splice(n++,0,e)}return r}const $U=[Zz.CodeBlock,Zz.ListItem,Zz.OrderedList,Zz.BulletList];class MU{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(XS.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),o=e.absoluteLineStart,i=o,a=e.block.children.length,s=i,l=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let o=NU(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,o);else{let r=new nC(e.parser.nodeSet.types[Zz.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(r,t.tree),e.addNode(r,o)}if(t.type.is("Block")&&($U.indexOf(t.type.id)<0?(i=t.to-r,a=e.block.children.length):(i=s,a=l,s=t.to-r,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return i-o}}function NU(e,t){let r=e;for(let n=1;n<t.length;n++){let o=t[n-1].to,i=t[n].from;o<e&&(r-=i-o)}return r}const DU=g_({"Blockquote/...":N_.quote,HorizontalRule:N_.contentSeparator,"ATXHeading1/... SetextHeading1/...":N_.heading1,"ATXHeading2/... SetextHeading2/...":N_.heading2,"ATXHeading3/...":N_.heading3,"ATXHeading4/...":N_.heading4,"ATXHeading5/...":N_.heading5,"ATXHeading6/...":N_.heading6,"Comment CommentBlock":N_.comment,Escape:N_.escape,Entity:N_.character,"Emphasis/...":N_.emphasis,"StrongEmphasis/...":N_.strong,"Link/... Image/...":N_.link,"OrderedList/... BulletList/...":N_.list,"BlockQuote/...":N_.quote,"InlineCode CodeText":N_.monospace,URL:N_.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":N_.processingInstruction,"CodeInfo LinkLabel":N_.labelName,LinkTitle:N_.string,Paragraph:N_.content}),LU=new pU(new JS(gU).extend(DU),Object.keys(nU).map((e=>nU[e])),Object.keys(nU).map((e=>sU[e])),Object.keys(nU),lU,Dz,Object.keys(EU).map((e=>EU[e])),Object.keys(EU),[]);function IU(e,t,r){let n=[];for(let o=e.firstChild,i=t;;o=o.nextSibling){let e=o?o.from:r;if(e>i&&n.push({from:i,to:e}),!o)break;i=o.to}return n}const BU={resolve:"Strikethrough",mark:"StrikethroughMark"},QU={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":N_.strikethrough}},{name:"StrikethroughMark",style:N_.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,r){if(126!=t||126!=e.char(r+1)||126==e.char(r+2))return-1;let n=e.slice(r-1,r),o=e.slice(r+2,r+3),i=/\s|^$/.test(n),a=/\s|^$/.test(o),s=_U.test(n),l=_U.test(o);return e.addDelimiter(BU,r,r+2,!a&&(!l||i||s),!i&&(!s||a||l))},after:"Emphasis"}]};function zU(e,t,r=0,n,o=0){let i=0,a=!0,s=-1,l=-1,c=!1,u=()=>{n.push(e.elt("TableCell",o+s,o+l,e.parser.parseInline(t.slice(s,l),o+s)))};for(let d=r;d<t.length;d++){let r=t.charCodeAt(d);124!=r||c?(c||32!=r&&9!=r)&&(s<0&&(s=d),l=d+1):((!a||s>-1)&&i++,a=!1,n&&(s>-1&&u(),n.push(e.elt("TableDelimiter",d+o,d+o+1))),s=l=-1),c=!c&&92==r}return s>-1&&(i++,n&&u()),i}function UU(e,t){for(let r=t;r<e.length;r++){let t=e.charCodeAt(r);if(124==t)return!0;92==t&&r++}return!1}const FU=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class WU{constructor(){this.rows=null}nextLine(e,t,r){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&FU.test(n=t.text.slice(t.pos))){let o=[];zU(e,r.content,0,o,r.start)==zU(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,o),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];zU(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const YU={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":N_.heading}},"TableRow",{name:"TableCell",style:N_.content},{name:"TableDelimiter",style:N_.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>UU(t.content,0)?new WU:null,endLeaf(e,t,r){if(r.parsers.some((e=>e instanceof WU))||!UU(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return FU.test(n)&&zU(e,t.text,t.basePos)==zU(e,n,t.basePos)},before:"SetextHeading"}]};class VU{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const XU={defineNodes:[{name:"Task",block:!0,style:N_.list},{name:"TaskMarker",style:N_.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new VU:null,after:"SetextHeading"}]},HU=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,GU=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,KU=/[\w-]+\.[\w-]+($|\/)/,JU=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,eF=/\/[a-zA-Z\d@.]+/gy;function tF(e,t,r,n){let o=0;for(let i=t;i<r;i++)e[i]==n&&o++;return o}function rF(e,t){JU.lastIndex=t;let r=JU.exec(e);if(!r)return-1;let n=r[0][r[0].length-1];return"_"==n||"-"==n?-1:t+r[0].length-("."==n?1:0)}const nF={parseInline:[{name:"Autolink",parse(e,t,r){let n=r-e.offset;HU.lastIndex=n;let o=HU.exec(e.text),i=-1;return o?(o[1]||o[2]?i=function(e,t){GU.lastIndex=t;let r=GU.exec(e);if(!r||KU.exec(r[0])[0].indexOf("_")>-1)return-1;let n=t+r[0].length;for(;;){let r,o=e[n-1];if(/[?!.,:*_~]/.test(o)||")"==o&&tF(e,t,n,")")>tF(e,t,n,"("))n--;else{if(";"!=o||!(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,n))))break;n=t+r.index}}return n}(e.text,n+o[0].length):o[3]?i=rF(e.text,n):(i=rF(e.text,n+o[0].length),i>-1&&"xmpp:"==o[0]&&(eF.lastIndex=i,o=eF.exec(e.text),o&&(i=o.index+o[0].length))),i<0?-1:(e.addElement(e.elt("URL",r,i+e.offset)),i+e.offset)):-1}}]},oF=[YU,XU,QU,nF];function iF(e,t,r){return(n,o,i)=>{if(o!=e||n.char(i+1)==e)return-1;let a=[n.elt(r,i,i+1)];for(let o=i+1;o<n.end;o++){let s=n.char(o);if(s==e)return n.addElement(n.elt(t,i,o+1,a.concat(n.elt(r,o,o+1))));if(92==s&&a.push(n.elt("Escape",o,2+o++)),Lz(s))break}return-1}}const aF={defineNodes:[{name:"Superscript",style:N_.special(N_.content)},{name:"SuperscriptMark",style:N_.processingInstruction}],parseInline:[{name:"Superscript",parse:iF(94,"Superscript","SuperscriptMark")}]},sF={defineNodes:[{name:"Subscript",style:N_.special(N_.content)},{name:"SubscriptMark",style:N_.processingInstruction}],parseInline:[{name:"Subscript",parse:iF(126,"Subscript","SubscriptMark")}]},lF={defineNodes:[{name:"Emoji",style:N_.character}],parseInline:[{name:"Emoji",parse(e,t,r){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(r+1,e.end)))?e.addElement(e.elt("Emoji",r,r+1+n[0].length)):-1}}]},cF=X$({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),uF=new XS,dF=LU.configure({props:[EM.add((e=>!e.is("Block")||e.is("Document")||null!=pF(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),uF.add(pF),yM.add({Document:()=>null}),V$.add({Document:cF})]});function pF(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function hF(e,t){let r=e;for(;;){let e,n=r.nextSibling;if(!n||null!=(e=pF(n.type))&&e<=t)break;r=n}return r.to}const fF=_M.of(((e,t,r)=>{for(let n=eM(e).resolveInner(r,-1);n&&!(n.from<t);n=n.parent){let e=n.type.prop(uF);if(null==e)continue;let t=hF(n,e);if(t>r)return{from:r,to:t}}return null}));function mF(e){return new G$(cF,e,[fF],"markdown")}const gF=mF(dF),bF=mF(dF.configure([oF,sF,aF,lF,{props:[EM.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class yF{constructor(e,t,r,n,o,i,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=n,this.spaceAfter=o,this.type=i,this.item=a}blank(e,t=!0){let r=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;r.length<e;)r+=" ";return r}for(let e=this.to-this.from-r.length-this.spaceAfter.length;e>0;e--)r+=" ";return r+(t?this.spaceAfter:"")}marker(e,t){let r="OrderedList"==this.node.name?String(+OF(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function vF(e,t){let r=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||r.push(t);let n=[];for(let e=r.length-1;e>=0;e--){let o,i=r[e],a=t.lineAt(i.from),s=i.from-a.from;if("FencedCode"==i.name)n.push(new yF(i,s,s,"","","",null));else if("Blockquote"==i.name&&(o=/^ *>( ?)/.exec(a.text.slice(s))))n.push(new yF(i,s,s+o[0].length,"",o[1],">",null));else if("ListItem"==i.name&&"OrderedList"==i.parent.name&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(s)))){let e=o[3],t=o[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new yF(i.parent,s,s+t,o[1],e,o[2],i))}else if("ListItem"==i.name&&"BulletList"==i.parent.name&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(s)))){let e=o[4],t=o[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let r=o[2];o[3]&&(r+=o[3].replace(/[xX]/," ")),n.push(new yF(i.parent,s,s+t,o[1],e,r,i))}}return n}function OF(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function wF(e,t,r,n=0){for(let o=-1,i=e;;){if("ListItem"==i.name){let e=OF(i,t),a=+e[2];if(o>=0){if(a!=o+1)return;r.push({from:i.from+e[1].length,to:i.from+e[0].length,insert:String(o+2+n)})}o=a}let e=i.nextSibling;if(!e)break;i=e}}function AF(e,t){let r=/^[ \t]*/.exec(e)[0].length;if(!r||"\t"!=t.facet(hM))return e;let n="";for(let t=hq(e,4,r);t>0;)t>=4?(n+="\t",t-=4):(n+=" ",t--);return n+e.slice(r)}function xF(e){return"QuoteMark"==e.name||"ListMark"==e.name}const kF=[{key:"Enter",run:({state:e,dispatch:t})=>{let r=eM(e),{doc:n}=e,o=null,i=e.changeByRange((t=>{if(!t.empty||!bF.isActiveAt(e,t.from))return o={range:t};let i=t.from,a=n.lineAt(i),s=vF(r.resolveInner(i,-1),n);for(;s.length&&s[s.length-1].from>i-a.from;)s.pop();if(!s.length)return o={range:t};let l=s[s.length-1];if(l.to-l.spaceAfter.length>i-a.from)return o={range:t};let c=i>=l.to-l.spaceAfter.length&&!/\S/.test(a.text.slice(l.to));if(l.item&&c){if(l.node.firstChild.to>=i||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){let e,t=s.length>1?s[s.length-2]:null,r="";t&&t.item?(e=a.from+t.from,r=t.marker(n,1)):e=a.from+(t?t.to:0);let o=[{from:e,to:i,insert:r}];return"OrderedList"==l.node.name&&wF(l.item,n,o,-2),t&&"OrderedList"==t.node.name&&wF(t.item,n,o),{range:cP.cursor(e+r.length),changes:o}}{let t="";for(let e=0,r=s.length-2;e<=r;e++)t+=s[e].blank(e<r?hq(a.text,4,s[e+1].from)-t.length:null,e<r);return t=AF(t,e),{range:cP.cursor(i+t.length+1),changes:{from:a.from,insert:t+e.lineBreak}}}}if("Blockquote"==l.node.name&&c&&a.from){let r=n.lineAt(a.from-1),o=/>\s*$/.exec(r.text);if(o&&o.index==l.from){let n=e.changes([{from:r.from+o.index,to:r.to},{from:a.from+l.from,to:a.to}]);return{range:t.map(n),changes:n}}}let u=[];"OrderedList"==l.node.name&&wF(l.item,n,u);let d=l.item&&l.item.from<a.from,p="";if(!d||/^[\s\d.)\-+*>]*/.exec(a.text)[0].length>=l.to)for(let e=0,t=s.length-1;e<=t;e++)p+=e!=t||d?s[e].blank(e<t?hq(a.text,4,s[e+1].from)-p.length:null):s[e].marker(n,1);let h=i;for(;h>a.from&&/\s/.test(a.text.charAt(h-a.from-1));)h--;return p=AF(p,e),u.push({from:h,to:i,insert:e.lineBreak+p}),{range:cP.cursor(h+p.length+1),changes:u}}));return!o&&(t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let r=eM(e),n=null,o=e.changeByRange((t=>{let o=t.from,{doc:i}=e;if(t.empty&&bF.isActiveAt(e,t.from)){let t=i.lineAt(o),n=vF(function(e,t){let r=e.resolveInner(t,-1),n=t;xF(r)&&(n=r.from,r=r.parent);for(let e;e=r.childBefore(n);)if(xF(e))n=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;r=e.lastChild,n=r.to}return r}(r,o),i);if(n.length){let r=n[n.length-1],i=r.to-r.spaceAfter.length+(r.spaceAfter?1:0);if(o-t.from>i&&!/\S/.test(t.text.slice(i,o-t.from)))return{range:cP.cursor(t.from+i),changes:{from:t.from+i,to:o}};if(o-t.from==i&&(!r.item||t.from<=r.item.from||!/\S/.test(t.text.slice(0,r.to)))){let n=t.from+r.from;if(r.item&&r.node.from<r.item.from&&/\S/.test(t.text.slice(r.from,r.to))){let o=r.blank(hq(t.text,4,r.to)-hq(t.text,4,r.from));return n==t.from&&(o=AF(o,e)),{range:cP.cursor(n+o.length),changes:{from:n,to:t.from+r.to,insert:o}}}if(n<o)return{range:cP.cursor(n),changes:{from:n,to:o}}}}}return n={range:t}}));return!n&&(t(e.update(o,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],SF=sI({matchClosingTags:!1});function CF(e={}){let{codeLanguages:t,defaultCodeLanguage:r,addKeymap:n=!0,base:{parser:o}=gF,completeHTMLTags:i=!0}=e;if(!(o instanceof pU))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let a,s=e.extensions?[e.extensions]:[],l=[SF.support];r instanceof uM?(l.push(r.support),a=r.language):r&&(a=r);let c=t||a?(u=t,d=a,e=>{if(e&&u){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof u?u(e):dM.matchLanguageName(u,e,!0),t instanceof dM)return t.support?t.support.language.parser:nM.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var u,d;s.push(function(e){let{codeParser:t,htmlParser:r}=e,n=SC(((e,n)=>{let o=e.type.id;if(!t||o!=Zz.CodeBlock&&o!=Zz.FencedCode){if(r&&(o==Zz.HTMLBlock||o==Zz.HTMLTag))return{parser:r,overlay:IU(e.node,e.from,e.to)}}else{let r="";if(o==Zz.FencedCode){let t=e.node.getChild(Zz.CodeInfo);t&&(r=n.read(t.from,t.to))}let i=t(r);if(i)return{parser:i,overlay:e=>e.type.id==Zz.CodeText}}return null}));return{wrap:n}}({codeParser:c,htmlParser:SF.language.parser})),n&&l.push(wP.high(bZ.of(kF)));let p=mF(o.configure(s));return i&&l.push(p.data.of({autocomplete:_F})),new uM(p,l)}function _F(e){let{state:t,pos:r}=e,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(r-25,r));if(!n)return null;let o=eM(t).resolveInner(r,-1);for(;o&&!o.type.isTop;){if("CodeBlock"==o.name||"FencedCode"==o.name||"ProcessingInstructionBlock"==o.name||"CommentBlock"==o.name||"Link"==o.name||"Image"==o.name)return null;o=o.parent}return{from:r-n[0].length,to:r,options:PF(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let EF=null;function PF(){if(EF)return EF;let e=(t=new HN(XP.create({extensions:SF}),0,!0),eI(WL.default,t));var t;return EF=e?e.options:[]}const qF=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,onChange:e=>t?.({value:e}),extensions:[CF({base:bF}),tN(oN),tN(GM.define([{tag:N_.heading1,fontSize:"24px"},{tag:N_.heading2,fontSize:"20px"},{tag:N_.heading3,fontSize:"16px"}])),cZ.lineWrapping],id:r,role:"textbox","data-testid":"markdown-editor",height:"300px",width:"100%"});var TF=__webpack_require__(4290),jF=__webpack_require__.n(TF),RF=__webpack_require__(202),ZF={};ZF.styleTagTransform=j(),ZF.setAttributes=E(),ZF.insert=C().bind(null,"head"),ZF.domAPI=k(),ZF.insertStyleElement=q(),A()(RF.Z,ZF),RF.Z&&RF.Z.locals&&RF.Z.locals;var $F=__webpack_require__(6013),MF={};MF.styleTagTransform=j(),MF.setAttributes=E(),MF.insert=C().bind(null,"head"),MF.domAPI=k(),MF.insertStyleElement=q(),A()($F.Z,MF),$F.Z&&$F.Z.locals&&$F.Z.locals;const NF=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(jF(),{readOnly:o,theme:"snow",value:e,onChange:e=>t?.({value:e}),style:{height:"300px",paddingBottom:"41px",width:"100%"},id:r,modules:{clipboard:{matchVisual:!1}},"data-testid":"richtext-editor"});var DF=__webpack_require__(9391);var LF=__webpack_require__(2806),IF={};IF.styleTagTransform=j(),IF.setAttributes=E(),IF.insert=C().bind(null,"head"),IF.domAPI=k(),IF.insertStyleElement=q(),A()(LF.Z,IF);const BF=LF.Z&&LF.Z.locals?LF.Z.locals:void 0,QF=[{value:"",text:"",phone:""},{value:"DE",text:"Germany",phone:"49"},{value:"AF",text:"Afghanistan",phone:"93"},{value:"AL",text:"Albania",phone:"355"},{value:"DZ",text:"Algeria",phone:"213"},{value:"AX",text:"Alland Islands",phone:"358"},{value:"AS",text:"American Samoa",phone:"1-684"},{value:"AD",text:"Andorra",phone:"376"},{value:"AO",text:"Angola",phone:"244"},{value:"AI",text:"Anguilla",phone:"1-264"},{value:"AQ",text:"Antarctica",phone:"672"},{value:"AG",text:"Antigua and Barbuda",phone:"1-268"},{value:"AR",text:"Argentina",phone:"54"},{value:"AM",text:"Armenia",phone:"374"},{value:"AW",text:"Aruba",phone:"297"},{value:"AU",text:"Australia",phone:"61"},{value:"AT",text:"Austria",phone:"43"},{value:"AZ",text:"Azerbaijan",phone:"994"},{value:"BS",text:"Bahamas",phone:"1-242"},{value:"BH",text:"Bahrain",phone:"973"},{value:"BD",text:"Bangladesh",phone:"880"},{value:"BB",text:"Barbados",phone:"1-246"},{value:"BY",text:"Belarus",phone:"375"},{value:"BE",text:"Belgium",phone:"32"},{value:"BZ",text:"Belize",phone:"501"},{value:"BJ",text:"Benin",phone:"229"},{value:"BM",text:"Bermuda",phone:"1-441"},{value:"BT",text:"Bhutan",phone:"975"},{value:"BO",text:"Bolivia",phone:"591"},{value:"BA",text:"Bosnia and Herzegovina",phone:"387"},{value:"BW",text:"Botswana",phone:"267"},{value:"BV",text:"Bouvet Island",phone:"47"},{value:"BR",text:"Brazil",phone:"55"},{value:"IO",text:"British Indian Ocean Territory",phone:"246"},{value:"VG",text:"British Virgin Islands",phone:"1-284"},{value:"BN",text:"Brunei Darussalam",phone:"673"},{value:"BG",text:"Bulgaria",phone:"359"},{value:"BF",text:"Burkina Faso",phone:"226"},{value:"BI",text:"Burundi",phone:"257"},{value:"KH",text:"Cambodia",phone:"855"},{value:"CM",text:"Cameroon",phone:"237"},{value:"CA",text:"Canada",phone:"1"},{value:"CV",text:"Cape Verde",phone:"238"},{value:"KY",text:"Cayman Islands",phone:"1-345"},{value:"CF",text:"Central African Republic",phone:"236"},{value:"TD",text:"Chad",phone:"235"},{value:"CL",text:"Chile",phone:"56"},{value:"CN",text:"China",phone:"86"},{value:"CX",text:"Christmas Island",phone:"61"},{value:"CC",text:"Cocos (Keeling) Islands",phone:"61"},{value:"CO",text:"Colombia",phone:"57"},{value:"KM",text:"Comoros",phone:"269"},{value:"CD",text:"Congo, Democratic Republic of the",phone:"243"},{value:"CG",text:"Congo, Republic of the",phone:"242"},{value:"CK",text:"Cook Islands",phone:"682"},{value:"CR",text:"Costa Rica",phone:"506"},{value:"CI",text:"Cote d'Ivoire",phone:"225"},{value:"HR",text:"Croatia",phone:"385"},{value:"CU",text:"Cuba",phone:"53"},{value:"CW",text:"Curacao",phone:"599"},{value:"CY",text:"Cyprus",phone:"357"},{value:"CZ",text:"Czech Republic",phone:"420"},{value:"DK",text:"Denmark",phone:"45"},{value:"DJ",text:"Djibouti",phone:"253"},{value:"DM",text:"Dominica",phone:"1-767"},{value:"DO",text:"Dominican Republic",phone:"1-809"},{value:"EC",text:"Ecuador",phone:"593"},{value:"EG",text:"Egypt",phone:"20"},{value:"SV",text:"El Salvador",phone:"503"},{value:"GQ",text:"Equatorial Guinea",phone:"240"},{value:"ER",text:"Eritrea",phone:"291"},{value:"EE",text:"Estonia",phone:"372"},{value:"ET",text:"Ethiopia",phone:"251"},{value:"FK",text:"Falkland Islands (Malvinas)",phone:"500"},{value:"FO",text:"Faroe Islands",phone:"298"},{value:"FJ",text:"Fiji",phone:"679"},{value:"FI",text:"Finland",phone:"358"},{value:"FR",text:"France",phone:"33"},{value:"GF",text:"French Guiana",phone:"594"},{value:"PF",text:"French Polynesia",phone:"689"},{value:"TF",text:"French Southern Territories",phone:"262"},{value:"GA",text:"Gabon",phone:"241"},{value:"GM",text:"Gambia",phone:"220"},{value:"GE",text:"Georgia",phone:"995"},{value:"GH",text:"Ghana",phone:"233"},{value:"GI",text:"Gibraltar",phone:"350"},{value:"GR",text:"Greece",phone:"30"},{value:"GL",text:"Greenland",phone:"299"},{value:"GD",text:"Grenada",phone:"1-473"},{value:"GP",text:"Guadeloupe",phone:"590"},{value:"GU",text:"Guam",phone:"1-671"},{value:"GT",text:"Guatemala",phone:"502"},{value:"GG",text:"Guernsey",phone:"44"},{value:"GN",text:"Guinea",phone:"224"},{value:"GW",text:"Guinea-Bissau",phone:"245"},{value:"GY",text:"Guyana",phone:"592"},{value:"HT",text:"Haiti",phone:"509"},{value:"HM",text:"Heard Island and McDonald Islands",phone:"672"},{value:"VA",text:"Holy See (Vatican City State)",phone:"379"},{value:"HN",text:"Honduras",phone:"504"},{value:"HK",text:"Hong Kong",phone:"852"},{value:"HU",text:"Hungary",phone:"36"},{value:"IS",text:"Iceland",phone:"354"},{value:"IN",text:"India",phone:"91"},{value:"ID",text:"Indonesia",phone:"62"},{value:"IR",text:"Iran, Islamic Republic of",phone:"98"},{value:"IQ",text:"Iraq",phone:"964"},{value:"IE",text:"Ireland",phone:"353"},{value:"IM",text:"Isle of Man",phone:"44"},{value:"IL",text:"Israel",phone:"972"},{value:"IT",text:"Italy",phone:"39"},{value:"JM",text:"Jamaica",phone:"1-876"},{value:"JP",text:"Japan",phone:"81"},{value:"JE",text:"Jersey",phone:"44"},{value:"JO",text:"Jordan",phone:"962"},{value:"KZ",text:"Kazakhstan",phone:"7"},{value:"KE",text:"Kenya",phone:"254"},{value:"KI",text:"Kiribati",phone:"686"},{value:"KP",text:"Korea, Democratic People's Republic of",phone:"850"},{value:"KR",text:"Korea, Republic of",phone:"82"},{value:"XK",text:"Kosovo",phone:"383"},{value:"KW",text:"Kuwait",phone:"965"},{value:"KG",text:"Kyrgyzstan",phone:"996"},{value:"LA",text:"Lao People's Democratic Republic",phone:"856"},{value:"LV",text:"Latvia",phone:"371"},{value:"LB",text:"Lebanon",phone:"961"},{value:"LS",text:"Lesotho",phone:"266"},{value:"LR",text:"Liberia",phone:"231"},{value:"LY",text:"Libya",phone:"218"},{value:"LI",text:"Liechtenstein",phone:"423"},{value:"LT",text:"Lithuania",phone:"370"},{value:"LU",text:"Luxembourg",phone:"352"},{value:"MO",text:"Macao",phone:"853"},{value:"MK",text:"Macedonia, the Former Yugoslav Republic of",phone:"389"},{value:"MG",text:"Madagascar",phone:"261"},{value:"MW",text:"Malawi",phone:"265"},{value:"MY",text:"Malaysia",phone:"60"},{value:"MV",text:"Maldives",phone:"960"},{value:"ML",text:"Mali",phone:"223"},{value:"MT",text:"Malta",phone:"356"},{value:"MH",text:"Marshall Islands",phone:"692"},{value:"MQ",text:"Martinique",phone:"596"},{value:"MR",text:"Mauritania",phone:"222"},{value:"MU",text:"Mauritius",phone:"230"},{value:"YT",text:"Mayotte",phone:"262"},{value:"MX",text:"Mexico",phone:"52"},{value:"FM",text:"Micronesia, Federated States of",phone:"691"},{value:"MD",text:"Moldova, Republic of",phone:"373"},{value:"MC",text:"Monaco",phone:"377"},{value:"MN",text:"Mongolia",phone:"976"},{value:"ME",text:"Montenegro",phone:"382"},{value:"MS",text:"Montserrat",phone:"1-664"},{value:"MA",text:"Morocco",phone:"212"},{value:"MZ",text:"Mozambique",phone:"258"},{value:"MM",text:"Myanmar",phone:"95"},{value:"NA",text:"Namibia",phone:"264"},{value:"NR",text:"Nauru",phone:"674"},{value:"NP",text:"Nepal",phone:"977"},{value:"NL",text:"Netherlands",phone:"31"},{value:"NC",text:"New Caledonia",phone:"687"},{value:"NZ",text:"New Zealand",phone:"64"},{value:"NI",text:"Nicaragua",phone:"505"},{value:"NE",text:"Niger",phone:"227"},{value:"NG",text:"Nigeria",phone:"234"},{value:"NU",text:"Niue",phone:"683"},{value:"NF",text:"Norfolk Island",phone:"672"},{value:"MP",text:"Northern Mariana Islands",phone:"1-670"},{value:"NO",text:"Norway",phone:"47"},{value:"OM",text:"Oman",phone:"968"},{value:"PK",text:"Pakistan",phone:"92"},{value:"PW",text:"Palau",phone:"680"},{value:"PS",text:"Palestine, State of",phone:"970"},{value:"PA",text:"Panama",phone:"507"},{value:"PG",text:"Papua New Guinea",phone:"675"},{value:"PY",text:"Paraguay",phone:"595"},{value:"PE",text:"Peru",phone:"51"},{value:"PH",text:"Philippines",phone:"63"},{value:"PN",text:"Pitcairn",phone:"870"},{value:"PL",text:"Poland",phone:"48"},{value:"PT",text:"Portugal",phone:"351"},{value:"PR",text:"Puerto Rico",phone:"1"},{value:"QA",text:"Qatar",phone:"974"},{value:"RE",text:"Reunion",phone:"262"},{value:"RO",text:"Romania",phone:"40"},{value:"RU",text:"Russian Federation",phone:"7"},{value:"RW",text:"Rwanda",phone:"250"},{value:"BL",text:"Saint Barthelemy",phone:"590"},{value:"SH",text:"Saint Helena",phone:"290"},{value:"KN",text:"Saint Kitts and Nevis",phone:"1-869"},{value:"LC",text:"Saint Lucia",phone:"1-758"},{value:"MF",text:"Saint Martin (French part)",phone:"590"},{value:"PM",text:"Saint Pierre and Miquelon",phone:"508"},{value:"VC",text:"Saint Vincent and the Grenadines",phone:"1-784"},{value:"WS",text:"Samoa",phone:"685"},{value:"SM",text:"San Marino",phone:"378"},{value:"ST",text:"Sao Tome and Principe",phone:"239"},{value:"SA",text:"Saudi Arabia",phone:"966"},{value:"SN",text:"Senegal",phone:"221"},{value:"RS",text:"Serbia",phone:"381"},{value:"SC",text:"Seychelles",phone:"248"},{value:"SL",text:"Sierra Leone",phone:"232"},{value:"SG",text:"Singapore",phone:"65"},{value:"SX",text:"Sint Maarten (Dutch part)",phone:"1-721"},{value:"SK",text:"Slovakia",phone:"421"},{value:"SI",text:"Slovenia",phone:"386"},{value:"SB",text:"Solomon Islands",phone:"677"},{value:"SO",text:"Somalia",phone:"252"},{value:"ZA",text:"South Africa",phone:"27"},{value:"GS",text:"South Georgia and the South Sandwich Islands",phone:"500"},{value:"SS",text:"South Sudan",phone:"211"},{value:"ES",text:"Spain",phone:"34"},{value:"LK",text:"Sri Lanka",phone:"94"},{value:"SD",text:"Sudan",phone:"249"},{value:"SR",text:"Suriname",phone:"597"},{value:"SJ",text:"Svalbard and Jan Mayen",phone:"47"},{value:"SZ",text:"Swaziland",phone:"268"},{value:"SE",text:"Sweden",phone:"46"},{value:"CH",text:"Switzerland",phone:"41"},{value:"SY",text:"Syrian Arab Republic",phone:"963"},{value:"TW",text:"Taiwan, Province of China",phone:"886"},{value:"TJ",text:"Tajikistan",phone:"992"},{value:"TH",text:"Thailand",phone:"66"},{value:"TL",text:"Timor-Leste",phone:"670"},{value:"TG",text:"Togo",phone:"228"},{value:"TK",text:"Tokelau",phone:"690"},{value:"TO",text:"Tonga",phone:"676"},{value:"TT",text:"Trinidad and Tobago",phone:"1-868"},{value:"TN",text:"Tunisia",phone:"216"},{value:"TR",text:"Turkey",phone:"90"},{value:"TM",text:"Turkmenistan",phone:"993"},{value:"TC",text:"Turks and Caicos Islands",phone:"1-649"},{value:"TV",text:"Tuvalu",phone:"688"},{value:"VI",text:"US Virgin Islands",phone:"1-340"},{value:"UG",text:"Uganda",phone:"256"},{value:"UA",text:"Ukraine",phone:"380"},{value:"AE",text:"United Arab Emirates",phone:"971"},{value:"GB",text:"United Kingdom",phone:"44"},{value:"TZ",text:"United Republic of Tanzania",phone:"255"},{value:"US",text:"United States",phone:"1"},{value:"UY",text:"Uruguay",phone:"598"},{value:"UZ",text:"Uzbekistan",phone:"998"},{value:"VU",text:"Vanuatu",phone:"678"},{value:"VE",text:"Venezuela",phone:"58"},{value:"VN",text:"Vietnam",phone:"84"},{value:"WF",text:"Wallis and Futuna",phone:"681"},{value:"EH",text:"Western Sahara",phone:"212"},{value:"YE",text:"Yemen",phone:"967"},{value:"ZM",text:"Zambia",phone:"260"},{value:"ZW",text:"Zimbabwe",phone:"263"}],zF=[{control:Ta,query:e=>"input"===e.control,matchCount:1},{control:({...e})=>{const{id:t,control:r,onChangeValue:o,objectPathId:i}=e,{value:a="","custom-attributes":s,error:l,hasEdited:c,...u}=r,{options:d}=s,p=l?"error":"",h=d.map((e=>({label:e.text||e.value,value:e.value}))),f=h.find((e=>e.value===a))||{label:a,value:a},m="number"===u.type||"date"===u.type,g=i||t,b=s?.defaultValue,{textColor:y}=ti({onChangeValue:o,query:b,objectPathId:g,value:a,hasEdited:c}),v=e=>{const t=e.target;"number"===t.type&&t.blur()};return n().createElement(SA,{className:`${Ok["form-control"]}`,freeSolo:!0,id:t,value:f,inputValue:a,options:h,readOnly:s?.readOnly,size:"small",onInputChange:(e,t)=>(e=>{o({value:e,hasEdited:"edited"})})(t),getOptionLabel:e=>e.value||"",renderOption:(e,t)=>n().createElement(Mv,{component:"li",...e},t.label),renderInput:e=>n().createElement(bk,{...e,className:Ok[p],variant:"outlined",...Vr()(u,["displayName","control","error","defaultValue"]),...Vr()(s,["defaultValue"]),inputProps:{...e.inputProps},onWheel:v,sx:{"& input":{color:y,"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button":{"-webkit-appearance":"none",margin:0}},"& .MuiAutocomplete-endAdornment":{right:m?"35px !important":"9px"}}})})},query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.options,matchCount:2},{control:({onChangeValue:e,...t})=>{const{control:o,id:i,objectPathId:a}=t,{value:s="","custom-attributes":l,error:c,hasEdited:u}=o,d=a||i,p=c?"error":"",h=l?.defaultValue,{textColor:f}=ti({onChangeValue:e,query:h,objectPathId:a,value:s,hasEdited:u}),m=l?.genAiPrompts,{toggleRerendered:g}=(0,r.useContext)(O.L8),b=o.type,y=l?.editor,v=l?.subType,w=l?.readOnly;(0,r.useEffect)((()=>{const t=(0,DF.K)(s,v,y,"initial");e({value:t||""})}),[g]);const A=(()=>{switch(y){case"richtext":return NF;case"markdown":return qF;default:return"html"===b?Ez:"json"===b?jz:FS}})();return n().createElement("div",{className:`${aS.textarea} textarea-control`,"data-testid":`textarea-${d}`},n().createElement("div",{className:aS.textareaWithBorder},n().createElement(US,{aiActions:m,inputControl:n().createElement(A,{control:o,errorClass:p,textColor:f,value:s,onChangeValue:e,onChange:e,id:d,readOnly:w}),AiResponseControl:A,onAcceptAiResponse:e,objectPathId:d})))},query:e=>"textarea"===e.control,matchCount:1},{control:Qk,query:e=>"select"===e.control&&!e.multiple,matchCount:2},{control:({onChangeValue:e,controlProps:t,id:o,control:i})=>{const[a,s]=(0,r.useState)([]),[l,c]=(0,r.useState)([]),[u,d]=(0,r.useState)(""),{options:p,error:h,"custom-attributes":f}=i,m=h?"error":"";(0,r.useEffect)((()=>{const t=p.map((e=>({label:e.text,value:e.value}))),r=p.filter((e=>e.selected)).map((e=>({label:e.text,value:e.value})));s(t),g(r);const n=(e=>e.map((e=>e.selected?e.value:null)).filter((e=>!!e)))(p);e({value:n})}),[]);const g=t=>{(t=>{const{optionValues:r,updatedOptions:n}=((e,t)=>{if(!e||!t)return{optionValues:[],updatedOptions:[]};const r=e.map((e=>({...e,selected:t.some((t=>t.value===e.value))}))),n=r.filter((e=>e.selected)).map((e=>e.value));return{optionValues:1===n?.length?n[0]:n,updatedOptions:r}})(p,t);e({options:n,value:r},((e,t)=>Array.isArray(t)?t:void 0))})(t),c(t)};return n().createElement(SA,{multiple:!0,className:Kk["multi-select-container"],id:o,readOnly:f?.readOnly,"data-testid":"multiselect__container",size:"small",sx:t?.selectProps?.sx,value:l,onChange:(e,t)=>g(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:u,onInputChange:(e,t)=>d(t),options:a,getOptionLabel:e=>e.label,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px",border:"1px solid red"},...t?.selectProps?.listBox?.sx}},renderInput:e=>n().createElement(bk,{...e,className:Kk[m],variant:"outlined",sx:{"& .MuiInputBase-root":{minHeight:"40px","& .MuiChip-root":{maxWidth:"calc(100% - 50px)"}},...t?.selectProps?.textField?.sx}})})},query:e=>"select"===e.control&&e.multiple,matchCount:2},{control:({onChangeValue:e,...t})=>{const{control:o,id:i,objectPathId:a}=t,{selected:s=!1}=o,l=o.value||"on",c=a||i;(0,r.useEffect)((()=>{e({value:o.selected?l:""})}),[]);const u=Object.assign(Vr()(t,["objectPathId","checked","control","displayName","error"]),{name:c,value:l,type:o.control,role:o.control});return n().createElement(Wr,{className:`${Gr["form-control"]} ${en["checkbox-container"]}`,id:c,color:"default",checked:s,readOnly:o["custom-attributes"]?.readOnly,onClick:()=>{e({selected:!o.selected,value:o.selected?"":l})},inputProps:u,sx:{marginLeft:"-11px",color:"rgba(0,0,0,0.54)","&:checked":{color:"rgba(0,0,0,0.54)"}}})},query:e=>"checkbox"===e.control,matchCount:1},{control:({onChangeValue:e,controlProps:t,...o})=>{const{control:i,id:a,objectPathId:s,...l}=o,{value:c="","custom-attributes":u,error:d,...p}=i,h=d?"error":"",[f,m]=(0,r.useState)(!1),g=s||a,b=()=>m((e=>!e));return n().createElement("div",{className:nS["password-container"]},n().createElement("input",{role:"textbox",className:`${Gr["form-control"]} ${nS["password-input"]} ${nS[h]}`,id:g,"data-testid":"password-input__input",name:g,value:c,onChange:t=>{e({value:t.target.value})},...u,...Vr()(p,["displayName","control","error"]),...Vr()(l),type:f?"text":"password",style:t?.inputProps?.style}),n().createElement("button",{className:nS["toggle-icon"],type:"button"},f?n().createElement(eS.Z,{"data-testid":"password-input__visibility-off-icon",onClick:b}):n().createElement(Jk.Z,{"data-testid":"password-input__visibility-icon",onClick:b})))},query:e=>"input"===e.control&&"password"===e.type,matchCount:2},{control:Xk,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.["mrn-ref"]&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:Xk,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.mrnSources&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:({...e})=>{const{control:t,onChangeValue:o}=e,{"custom-attributes":i,error:a,value:s}=t,{fileUploaderConfig:l}=(0,r.useContext)(O.L8);if(!l)throw new Error("fileUploaderConfig Prop is not defined");const{info:c,endpoints:u,language:d,previewUrl:p,authorizationHeader:h}=l,f={value:s,info:c,error:a?.message,tags:i?.tags,type:i?.media,readOnly:i?.readonly,mode:"stateful",endpoints:u,language:d,onUploadSuccess:e=>o({value:e,error:""}),previewUrl:p,authorizationHeader:h};return n().createElement("div",{"data-testid":"fileuploader__widget"},n().createElement(Ev,{...f}))},query:e=>"input"===e.control&&"url"===e.type&&!!e?.["custom-attributes"]?.media,matchCount:3},{control:({...e})=>{const{id:t,control:o,objectPathId:i,groupIsRequired:a,isInGroup:s,controlProps:l}=e,{"custom-attributes":c,displayName:u,controls:d,required:p}=o,h=Object.entries(d)?.length??0,f=Number(c?.defaultCollapseThreshold),m=0===h||f<=h,[g,b]=(0,r.useState)(!m),y=i||t,v=s?p||a:p||Fv({controls:d}),O=l?.groupProps?.style??{},w=l?.groupProps?.label?.style??{},A=g?{}:{display:"none",visibility:"hidden"};return n().createElement("div",{className:Vv["form-group-container"],id:t,"data-testid":t,style:O},n().createElement("div",{className:Vv["group-header"]},n().createElement("h3",{className:`${Vv["control-label-group"]} ${Sr["control-label-group"]}`,style:w},u),n().createElement(Bv,{isOpen:g,onClick:()=>b((e=>!e))})),n().createElement("div",{role:"group",style:A},d&&Object.entries(d).map((([e,r])=>{const o=`${y}.controls.${e}`;return n().createElement(n().Fragment,{key:o},n().createElement(XF,{key:t,formControl:r,id:t,objectPathId:o,groupIsRequired:v,isInGroup:!0,controlProps:l}))}))))},query:e=>"group"===e.control,matchCount:1},{control:({controlProps:e,...t})=>{const{id:o,control:i,objectPathId:a}=t,{displayName:s,controls:l}=i,[c,u]=(0,r.useState)(null),d=Boolean(c),p=a||o,{from:h,to:f}=l,{updateControl:m}=(0,r.useContext)(O.L8),g=e=>e.toLocaleString("default",{year:"numeric"})+"-"+e.toLocaleString("default",{month:"2-digit"})+"-"+e.toLocaleString("default",{day:"2-digit"}),b={id:o,objectPathId:`${p}.controls.from`,control:h,hasClearButton:!0},y=(e,t)=>{m(b.objectPathId||o,Ar()({},b.control,e,t))},v={id:o,objectPathId:`${p}.controls.to`,control:f,hasClearButton:!0},w=b.control?.required||v.control?.required,A=(e,t)=>{m(v.objectPathId||o,Ar()({},v.control,e,t))},x=e=>{e.preventDefault(),u(e.currentTarget)},k={handleDateChange:(e,t)=>{y({value:g(e.startDate)}),A({value:g(e.endDate)}),!t&&u(null)},from:b.control.value,to:v.control.value},S=e?.controlWrapperProps?.style??{},C=e?.controlWrapperProps?.label?.style??{},_=e?.controlWrapperProps?.container?.style??{};return n().createElement(ja,{"data-testid":"dateRangeGroup__Container",style:S},n().createElement(Ra,{"data-testid":"dateRangeGroup__displayName",style:C},s,w&&" *"),n().createElement(Za,{style:_},n().createElement(Ta,{controlProps:e,"data-testid":"dateRangeGroup__inputFrom",onClearCallback:()=>{y({value:""})},onClick:x,onChangeValue:y,...b}),n().createElement(Ta,{controlProps:e,"data-testid":"dateRangeGroup__inputTo",onClearCallback:()=>{A({value:""})},onClick:x,onChangeValue:A,...v}),n().createElement(Ko,{anchorEl:c,open:d,onClose:()=>u(null),anchorOrigin:{vertical:"bottom",horizontal:"left"},"data-testid":"dateRangeGroup__calendarModal"},n().createElement(Ba,{...k}))))},query:e=>"group"===e.control&&"dateRange"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:t,control:r,objectPathId:o,groupIsRequired:i,isInGroup:a,controlProps:s}=e,{displayName:l,controls:c,required:u}=r,d="string"==typeof c.country?.value&&c.country?.value.toLowerCase(),p=`${Vv["form-group-container"]} ${BF["address-group-container"]}`;let h=`${BF.address} ${Sr.address}`;h=d&&BF[d]?`${h} ${BF[d]}`:`${h} ${BF["address-default"]}`;const f=o||t,m=a?u||i:u||Fv({controls:c}),g=(e,r)=>{const o=`${f}.controls.${e}`;return r.placeholder=r.placeholder||r.displayName,"country"===e&&r&&(r.control="select",r.options=QF),n().createElement(n().Fragment,{key:o},n().createElement(XF,{key:t,formControl:r,hideLabel:!0,id:t,objectPathId:o,groupIsRequired:m,isInGroup:!0,controlProps:s}))},b=s?.addressProps?.style??{},y=s?.addressProps?.label?.style??{},v=s?.addressProps?.container?.style??{};return n().createElement("div",{className:p,id:t,"data-testid":t,style:b},n().createElement("h3",{className:`${BF["control-label-group"]} ${Sr["control-label-group"]}`,style:y},l),n().createElement("div",{className:h,style:v},g("streetName",c.streetName),g("houseNumber",c.houseNumber),g("postalCode",c.postalCode),g("locality",c.locality),g("country",c.country)))},query:e=>"group"===e.control&&"address"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:t,control:o,objectPathId:i,groupIsRequired:a,controlProps:s}=e,{addListItem:l,removeListItem:c,moveListItemUp:u,moveListItemDown:d}=(0,r.useContext)(O.L8),{"custom-attributes":p,displayName:h,items:f,template:m,required:g}=o,b=f?.length??0,y=Number(p?.defaultCollapseThreshold),w=0===b||y<=b,[A,x]=(0,r.useState)(!w),k=i||t,S=m&&Object.entries(m).length>1,C=g?h+" *":h,_=S?"form-list-multiple-items":"form-list-single-item",E=!S&&m&&Object.values(m)?.[0]?.displayName||C||"",P=s?.listProps?.style??{},q=s?.listProps?.label?.style??{},T=s?.listProps?.container?.style??{},j=s?.listProps?.addButton?.sx??{},R=A?{}:{display:"none",visibility:"hidden"};return n().createElement("div",{className:Sr["list-container"],"data-testid":"form-list",key:t,style:P},n().createElement("div",{className:Sr["list-header"]},n().createElement("div",{className:Sr["list-header-label-button"]},n().createElement("label",{"data-testid":"list-control-label",className:Sr["list-label"],style:q},C),n().createElement(Mv,{"data-testid":E,className:v()("formbuilder_add-button",Uv["xhtml-form-button"]),role:"alert",onClick:()=>{l(k),x(!0)},sx:j},n().createElement(J.Z,{sx:{fontSize:20},"data-testid":"form-list__add-icon"})," ",E)),n().createElement(Bv,{itemsCount:b,isOpen:A,onClick:()=>x((e=>!e))})),n().createElement("div",{id:_,"data-testid":"form-list-children",role:"list",className:v()(Sr[_],Sr["list-children-container"]),"data-title":E,style:{...R,...T}},f?.map(((e,t)=>{if(!e)return null;const r=t===f.length-1,o=0===t,l=f.length>1;return n().createElement("div",{className:Sr["form-list"],"data-testid":"form-list-child-element",role:"listitem","data-is-filled":!0,key:`${i}-${t}`},e&&Object.entries(e)?.map((([e,r])=>((e,t,r)=>{const o=`${k}.items.[${r||0}].${e}`;return n().createElement(XF,{key:o,formControl:t,id:e,objectPathId:o,hideLabel:!S,groupIsRequired:a,controlProps:s})})(e,r,t))),n().createElement("button",{type:"button",className:v()(Uv["xhtml-form-button"],Uv["remove-item"],Sr["remove-item"]),"data-testid":"form-list__remove-list-item-button",onClick:()=>c(k,t)},n().createElement(Nv.A,null)),n().createElement("div",{className:Sr["sort-buttons"]},n().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortUp]),onClick:()=>u(k,t),disabled:o||!l},n().createElement(Ft.s,{"data-testid":"form-list__sort-up-button"})),n().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortDown]),onClick:()=>d(k,t),disabled:r||!l},n().createElement(Ut.R,{"data-testid":"form-list__sort-down-button"}))))}))))},query:e=>"list"===e.control,matchCount:1}],UF=zF,FF=Ca.div`
|
655
|
+
`,LS=({onBack:e,onRetry:t})=>n().createElement(TS,null,n().createElement(jS,null,n().createElement(RS,null,n().createElement(qS,null)),n().createElement(ZS,null,n().createElement("p",null,"Sorry, but the request has encountered",n().createElement("br",null)," an issue. We're working on fixing it.",n().createElement("br",null)," Please try again later."),n().createElement($S,null,n().createElement(NS,{onClick:e},n().createElement("p",null,"Back"),n().createElement(ES.W,{size:16,style:{transform:"scaleX(-1)"}})),n().createElement(DS,{onClick:t},n().createElement("p",null,"Retry"),n().createElement(ES.W,{size:16}))))),n().createElement(MS,null,n().createElement(PS,null))),IS=()=>n().createElement("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n().createElement("g",{id:"Vector"},n().createElement("path",{d:"M2.00001 1.38288L4.00438 0.223145V2.53387L2.00001 3.68923V1.38288Z",fill:"white"}),n().createElement("path",{d:"M4.00438 2.53387V0.223145L6.00437 1.38288V3.68923L4.00438 2.53387Z",fill:"white"}),n().createElement("path",{d:"M4.00438 9.47487V7.15977L2.00001 8.31513V10.6259L4.00438 9.47487Z",fill:"white"}),n().createElement("path",{d:"M6.00438 10.6258L4.00438 9.47487L2.00001 10.6259L4.00438 11.7768L6.00438 10.6258Z",fill:"white"}),n().createElement("path",{d:"M5.99563 10.6257L7.99563 11.7767V9.47468L5.99563 8.31495V10.6257Z",fill:"white"}),n().createElement("path",{d:"M7.99563 9.47468V11.7767L10 10.6257V8.31495L7.99563 9.47468Z",fill:"white"}),n().createElement("path",{d:"M2 6.00857L2.00001 8.31513L0 7.15955V4.84883L2 6.00857Z",fill:"white"}),n().createElement("path",{d:"M4.00438 4.84903L2 6.00857L0 4.84883L2 3.69805L4.00438 4.84903Z",fill:"white"}),n().createElement("path",{d:"M10 3.68932L7.99563 4.84906V2.53396L10 1.37422V3.68932Z",fill:"white"}),n().createElement("path",{d:"M10 1.37422L7.99563 2.53396L5.99563 1.37413L7.99563 0.223145L10 1.37422Z",fill:"white"}),n().createElement("path",{d:"M12 4.849L10 3.68932L10 5.99998L12 7.15534V4.849Z",fill:"white"}),n().createElement("path",{d:"M12 7.15534L10 5.99998L7.99563 7.15527L10 8.31495L12 7.15534Z",fill:"white"}))),BS=({action:e,objectPathId:t,isLoading:r,isDisabled:o,index:i,onClick:a})=>{const{resolvedQuery:s}=(0,Jo.Z)({query:e.promptTemplate,objectPathId:t});return n().createElement("button",{onClick:()=>{r||a(s,e.profile,i)},className:`${pS.actionButton} ${r?pS.actionButtonLoading:""}`,disabled:o,"data-testid":"textarea-ai-wrapper-action-button",type:"button"},n().createElement("p",null,e.displayValue),r&&n().createElement(IS,null))},QS=({AiResponseControl:e,aiActions:t,inputControl:r,objectPathId:o,aiResponse:i,isError:a,isLoading:s,loadingActionIndex:l,modalOpen:c,onModalToggle:u,handleAccept:d,handleAiActionClick:p,handleDiscard:h,handleBack:f,handleRetry:m})=>n().createElement("div",{className:v()(pS.aiWrapperContainer,{[pS.expanded]:c}),"data-testid":"textarea-ai-wrapper"},n().createElement("div",{className:pS.aiWrapperContentContainer},n().createElement("div",{className:`${pS.aiWrapperContentWrapper} aiWrapperContentWrapper`},a.state?n().createElement(LS,{onBack:f,onRetry:m}):n().createElement(n().Fragment,null,r,i&&n().createElement("div",{className:pS.aiResponseInputControlContainer,"data-testid":"textarea-ai-response-container"},n().createElement(e,{value:i.message,readonly:!0})))),i&&n().createElement("div",{className:pS.aiWrapperActionsContainer,"data-testid":"textarea-ai-wrapper-response-actions"},n().createElement("button",{onClick:h,className:pS.discardButton,"data-testid":"textarea-ai-wrapper-discard-button",type:"button"},n().createElement("p",null,"Discard Changes"),n().createElement("i",{className:"fas fa-times"})),n().createElement("button",{onClick:d,className:pS.acceptButton,"data-testid":"textarea-ai-wrapper-accept-button",type:"button"},n().createElement("p",null,"Accept Changes"),n().createElement("i",{className:"fas fa-check"})))),n().createElement("div",{className:pS.aiWrapperFooterContainer,"data-testid":"textarea-ai-wrapper-footer"},n().createElement("div",{className:pS.footerAiIcon},t?.length>0&&n().createElement(SS,{title:"Powered by Artificial Intelligence",arrow:!0,componentsProps:{arrow:{sx:{color:"#333"}},tooltip:{sx:{backgroundColor:"#333",color:"white"}}}},n().createElement("i",{className:"fas fa-sparkles fa-lg"}))),n().createElement("div",{className:pS.aiActionsContainer,"data-testid":"textarea-ai-wrapper-actions"},t?.map(((e,t)=>n().createElement(BS,{key:t,onClick:p,action:e,objectPathId:o,isLoading:s&&l===t,isDisabled:s&&l!==t,index:t}))),!c&&n().createElement(_S.U,{size:18,className:pS.expandButton,"data-testid":"textarea-ai-wrapper-expand-button",onClick:u}),c&&n().createElement(CS.o,{size:18,className:pS.expandButton,"data-testid":"textarea-ai-wrapper-close-button",onClick:u})))),zS={position:"fixed",display:"flex",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 32px)",height:"calc(100% - 32px)",bgcolor:"background.paper",borderRadius:"4px"},US=({...e})=>{const{onAcceptAiResponse:t}=e,o={...sS({onAcceptAiResponse:t}),...e},[i,a]=(0,r.useState)(!1),s=()=>a((e=>!e));return n().createElement(n().Fragment,null,!i&&n().createElement(QS,{...o,modalOpen:i,onModalToggle:s}),n().createElement(So,{open:i},n().createElement(Mv,{sx:zS},n().createElement(QS,{...o,modalOpen:i,onModalToggle:s}))))},FS=({value:e,onChange:t,id:r,readOnly:o,control:i,errorClass:a,textColor:s})=>{const{"custom-attributes":l,error:c,...u}=i??{};return n().createElement(jA,{role:"textbox","data-testid":`textarea-control-${r}`,className:`${Gr["form-control"]} ${aS[a]}`,id:r,name:r,style:{flex:"1",maxHeight:400,resize:"vertical",overflow:"auto",color:s,width:"100%"},value:e,readOnly:o,onChange:e=>{t?.({value:e.target.value,hasEdited:"edited"})},...Vr()(l,["defaultValue"]),...Vr()(u,["displayName","control","error","defaultValue"])})},WS=1024;let YS=0;class VS{constructor(e,t){this.from=e,this.to=t}}class XS{constructor(e={}){this.id=YS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{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"function"!=typeof e&&(e=KS.match(e)),t=>{let r=e(t);return void 0===r?null:[this,r]}}}XS.closedBy=new XS({deserialize:e=>e.split(" ")}),XS.openedBy=new XS({deserialize:e=>e.split(" ")}),XS.group=new XS({deserialize:e=>e.split(" ")}),XS.contextHash=new XS({perNode:!0}),XS.lookAhead=new XS({perNode:!0}),XS.mounted=new XS({perNode:!0});class HS{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[XS.mounted.id]}}const GS=Object.create(null);class KS{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):GS,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new KS(e.name||"",t,e.id,r);if(e.props)for(let r of e.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(XS.group);return!!t&&t.indexOf(e)>-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 e=>{for(let r=e.prop(XS.group),n=-1;n<(r?r.length:0);n++){let o=t[n<0?e.name:r[n]];if(o)return o}}}}KS.none=new KS("",Object.create(null),0,8);class JS{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let n=null;for(let t of e){let e=t(r);e&&(n||(n=Object.assign({},r.props)),n[e[0].id]=e[1])}t.push(n?new KS(r.name,n,r.id,r.flags):r)}return new JS(t)}}const eC=new WeakMap,tC=new WeakMap;var rC;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(rC||(rC={}));class nC{constructor(e,t,r,n,o){if(this.type=e,this.children=t,this.positions=r,this.length=n,this.props=null,o&&o.length){this.props=Object.create(null);for(let[e,t]of o)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=HS.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let r=e.toString();r&&(t&&(t+=","),t+=r)}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 gC(this.topNode,e)}cursorAt(e,t=0,r=0){let n=eC.get(this)||this.topNode,o=new gC(n);return o.moveTo(e,t),eC.set(this,o._tree),o}get topNode(){return new cC(this,0,0,null)}resolve(e,t=0){let r=sC(eC.get(this)||this.topNode,e,t,!1);return eC.set(this,r),r}resolveInner(e,t=0){let r=sC(tC.get(this)||this.topNode,e,t,!0);return tC.set(this,r),r}resolveStack(e,t=0){return function(e,t,r){let n=e.resolveInner(t,r),o=null;for(let e=n instanceof cC?n:n.context.parent;e;e=e.parent)if(e.index<0){let i=e.parent;(o||(o=[n])).push(i.resolve(t,r)),e=i}else{let i=HS.get(e.tree);if(i&&i.overlay&&i.overlay[0].from<=t&&i.overlay[i.overlay.length-1].to>=t){let a=new cC(i.tree,i.overlay[0].from+e.from,-1,e);(o||(o=[n])).push(sC(a,t,r,!1))}}return o?fC(o):n}(this,e,t)}iterate(e){let{enter:t,leave:r,from:n=0,to:o=this.length}=e,i=e.mode||0,a=(i&rC.IncludeAnonymous)>0;for(let e=this.cursor(i|rC.IncludeAnonymous);;){let i=!1;if(e.from<=o&&e.to>=n&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;i=!0}for(;i&&r&&(a||!e.type.isAnonymous)&&r(e),!e.nextSibling();){if(!e.parent())return;i=!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:OC(KS.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,r)=>new nC(this.type,e,t,r,this.propValues)),e.makeTree||((e,t,r)=>new nC(KS.none,e,t,r)))}static build(e){return function(e){var t;let{buffer:r,nodeSet:n,maxBufferLength:o=WS,reused:i=[],minRepeatType:a=n.types.length}=e,s=Array.isArray(r)?new oC(r,r.length):r,l=n.types,c=0,u=0;function d(e,t,r,g,b,y){let{id:v,start:O,end:w,size:A}=s,x=u;for(;A<0;){if(s.next(),-1==A){let t=i[v];return r.push(t),void g.push(O-e)}if(-3==A)return void(c=v);if(-4==A)return void(u=v);throw new RangeError(`Unrecognized record size: ${A}`)}let k,S,C=l[v],_=O-e;if(w-O<=o&&(S=function(e,t){let r=s.fork(),n=0,i=0,l=0,c=r.end-o,u={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){u.size=n,u.start=i,u.skip=l,l+=4,n+=4,r.next();continue}let s=r.pos-e;if(e<0||s<o||r.start<c)break;let d=r.id>=a?4:0,p=r.start;for(r.next();r.pos>s;){if(r.size<0){if(-3!=r.size)break e;d+=4}else r.id>=a&&(d+=4);r.next()}i=p,n+=e,l+=d}return(t<0||n==e)&&(u.size=n,u.start=i,u.skip=l),u.size>4?u:void 0}(s.pos-t,b))){let t=new Uint16Array(S.size-S.skip),r=s.pos-S.size,o=t.length;for(;s.pos>r;)o=m(S.start,t,o);k=new iC(t,w-S.start,n),_=S.start-e}else{let e=s.pos-A;s.next();let t=[],r=[],n=v>=a?v:-1,i=0,l=w;for(;s.pos>e;)n>=0&&s.id==n&&s.size>=0?(s.end<=l-o&&(h(t,r,O,i,s.end,l,n,x),i=t.length,l=s.end),s.next()):y>2500?p(O,e,t,r):d(O,e,t,r,n,y+1);if(n>=0&&i>0&&i<t.length&&h(t,r,O,i,O,l,n,x),t.reverse(),r.reverse(),n>-1&&i>0){let e=function(e){return(t,r,n)=>{let o,i,a=0,s=t.length-1;if(s>=0&&(o=t[s])instanceof nC){if(!s&&o.type==e&&o.length==n)return o;(i=o.prop(XS.lookAhead))&&(a=r[s]+o.length+i)}return f(e,t,r,n,a)}}(C);k=OC(C,t,r,0,t.length,0,w-O,e,e)}else k=f(C,t,r,w-O,x-w)}r.push(k),g.push(_)}function p(e,t,r,i){let a=[],l=0,c=-1;for(;s.pos>t;){let{id:e,start:t,end:r,size:n}=s;if(n>4)s.next();else{if(c>-1&&t<c)break;c<0&&(c=r-o),a.push(e,t,r),l++,s.next()}}if(l){let t=new Uint16Array(4*l),o=a[a.length-2];for(let e=a.length-3,r=0;e>=0;e-=3)t[r++]=a[e],t[r++]=a[e+1]-o,t[r++]=a[e+2]-o,t[r++]=r;r.push(new iC(t,a[2]-o,n)),i.push(o-e)}}function h(e,t,r,o,i,a,s,l){let c=[],u=[];for(;e.length>o;)c.push(e.pop()),u.push(t.pop()+r-i);e.push(f(n.types[s],c,u,a-i,l-a)),t.push(i-r)}function f(e,t,r,n,o=0,i){if(c){let e=[XS.contextHash,c];i=i?[e].concat(i):[e]}if(o>25){let e=[XS.lookAhead,o];i=i?[e].concat(i):[e]}return new nC(e,t,r,n,i)}function m(e,t,r){let{id:n,start:o,end:i,size:l}=s;if(s.next(),l>=0&&n<a){let a=r;if(l>4){let n=s.pos-(l-4);for(;s.pos>n;)r=m(e,t,r)}t[--r]=a,t[--r]=i-e,t[--r]=o-e,t[--r]=n}else-3==l?c=n:-4==l&&(u=n);return r}let g=[],b=[];for(;s.pos>0;)d(e.start||0,e.bufferStart||0,g,b,-1,0);let y=null!==(t=e.length)&&void 0!==t?t:g.length?b[0]+g[0].length:0;return new nC(l[e.topID],g.reverse(),b.reverse(),y)}(e)}}nC.empty=new nC(KS.none,[],[],0);class oC{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 oC(this.buffer,this.index)}}class iC{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return KS.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],n=this.set.types[t],o=n.name;if(/\W/.test(o)&&!n.isError&&(o=JSON.stringify(o)),r==(e+=4))return o;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return o+"("+i.join(",")+")"}findChild(e,t,r,n,o){let{buffer:i}=this,a=-1;for(let s=e;s!=t&&!(aC(o,n,i[s+1],i[s+2])&&(a=s,r>0));s=i[s+3]);return a}slice(e,t,r){let n=this.buffer,o=new Uint16Array(t-e),i=0;for(let a=e,s=0;a<t;){o[s++]=n[a++],o[s++]=n[a++]-r;let t=o[s++]=n[a++]-r;o[s++]=n[a++]-e,i=Math.max(i,t)}return new iC(o,i,this.set)}}function aC(e,t,r,n){switch(e){case-2:return r<t;case-1:return n>=t&&r<t;case 0:return r<t&&n>t;case 1:return r<=t&&n>t;case 2:return n>t;case 4:return!0}}function sC(e,t,r,n){for(var o;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof cC&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=n?0:rC.IgnoreOverlays;if(n)for(let n=e,a=n.parent;a;n=a,a=n.parent)n instanceof cC&&n.index<0&&(null===(o=a.enter(t,r,i))||void 0===o?void 0:o.from)!=n.from&&(e=a);for(;;){let n=e.enter(t,r,i);if(!n)return e;e=n}}class lC{cursor(e=0){return new gC(this,e)}getChild(e,t=null,r=null){let n=uC(this,e,t,r);return n.length?n[0]:null}getChildren(e,t=null,r=null){return uC(this,e,t,r)}resolve(e,t=0){return sC(this,e,t,!1)}resolveInner(e,t=0){return sC(this,e,t,!0)}matchContext(e){return dC(this,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}}class cC extends lC{constructor(e,t,r,n){super(),this._tree=e,this.from=t,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,n,o=0){for(let i=this;;){for(let{children:a,positions:s}=i._tree,l=t>0?a.length:-1;e!=l;e+=t){let l=a[e],c=s[e]+i.from;if(aC(n,r,c,c+l.length))if(l instanceof iC){if(o&rC.ExcludeBuffers)continue;let a=l.findChild(0,l.buffer.length,t,r-c,n);if(a>-1)return new hC(new pC(i,l,e,c),null,a)}else if(o&rC.IncludeAnonymous||!l.type.isAnonymous||bC(l)){let a;if(!(o&rC.IgnoreMounts)&&(a=HS.get(l))&&!a.overlay)return new cC(a.tree,c,e,i);let s=new cC(l,c,e,i);return o&rC.IncludeAnonymous||!s.type.isAnonymous?s:s.nextChild(t<0?l.children.length-1:0,t,r,n)}}if(o&rC.IncludeAnonymous||!i.type.isAnonymous)return null;if(e=i.index>=0?i.index+t:t<0?-1:i._parent._tree.children.length,i=i._parent,!i)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&rC.IgnoreOverlays)&&(n=HS.get(this._tree))&&n.overlay){let r=e-this.from;for(let{from:e,to:o}of n.overlay)if((t>0?e<=r:e<r)&&(t<0?o>=r:o>r))return new cC(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 uC(e,t,r,n){let o=e.cursor(),i=[];if(!o.firstChild())return i;if(null!=r)for(;!o.type.is(r);)if(!o.nextSibling())return i;for(;;){if(null!=n&&o.type.is(n))return i;if(o.type.is(t)&&i.push(o.node),!o.nextSibling())return null==n?i:[]}}function dC(e,t,r=t.length-1){for(let n=e.parent;r>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[r]&&t[r]!=n.name)return!1;r--}}return!0}class pC{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}}class hC extends lC{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,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return o<0?null:new hC(this.context,this,o)}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&rC.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new hC(this.context,this,o)}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 hC(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 hC(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,o=r.buffer[this.index+3];if(o>n){let i=r.buffer[this.index+1];e.push(r.slice(n,o,i)),t.push(0)}return new nC(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function fC(e){if(!e.length)return null;let t=0,r=e[0];for(let n=1;n<e.length;n++){let o=e[n];(o.from>r.from||o.to<r.to)&&(r=o,t=n)}let n=r instanceof cC&&r.index<0?null:r.parent,o=e.slice();return n?o[t]=n:o.splice(t,1),new mC(o,r)}class mC{constructor(e,t){this.heads=e,this.node=t}get next(){return fC(this.heads)}}class gC{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 cC)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.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)}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 cC?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}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,o=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return!(o<0)&&(this.stack.push(this.index),this.yieldBuf(o))}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&rC.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&rC.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&rC.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));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}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<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=n)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let n=t+e,o=e<0?-1:r._tree.children.length;n!=o;n+=e){let e=r._tree.children[n];if(this.mode&rC.IncludeAnonymous||e instanceof iC||!e.type.isAnonymous||bC(e))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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,o=this.stack.length;o>=0;){for(let i=e;i;i=i._parent)if(i.index==n){if(n==this.index)return i;t=i,r=o+1;break e}n=this.stack[--o]}for(let e=r;e<this.stack.length;e++)t=new hC(this.buffer,t,this.stack[e]);return this.bufferNode=new hC(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return dC(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let n=e.length-1,o=this.stack.length-1;n>=0;o--){if(o<0)return dC(this.node,e,n);let i=r[t.buffer[this.stack[o]]];if(!i.isAnonymous){if(e[n]&&e[n]!=i.name)return!1;n--}}return!0}}function bC(e){return e.children.some((e=>e instanceof iC||!e.type.isAnonymous||bC(e)))}const yC=new WeakMap;function vC(e,t){if(!e.isAnonymous||t instanceof iC||t.type!=e)return 1;let r=yC.get(t);if(null==r){r=1;for(let n of t.children){if(n.type!=e||!(n instanceof nC)){r=1;break}r+=vC(e,n)}yC.set(t,r)}return r}function OC(e,t,r,n,o,i,a,s,l){let c=0;for(let r=n;r<o;r++)c+=vC(e,t[r]);let u=Math.ceil(1.5*c/8),d=[],p=[];return function t(r,n,o,a,s){for(let c=o;c<a;){let o=c,h=n[c],f=vC(e,r[c]);for(c++;c<a;c++){let t=vC(e,r[c]);if(f+t>=u)break;f+=t}if(c==o+1){if(f>u){let e=r[o];t(e.children,e.positions,0,e.children.length,n[o]+s);continue}d.push(r[o])}else{let t=n[c-1]+r[c-1].length-h;d.push(OC(e,r,n,o,c,h,t,null,l))}p.push(h+s-i)}}(t,r,n,o,0),(s||l)(d,p,a)}class wC{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof hC?this.setBuffer(e.context.buffer,e.index,t):e instanceof cC&&this.map.set(e.tree,t)}get(e){return e instanceof hC?this.getBuffer(e.context.buffer,e.index):e instanceof cC?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class AC{constructor(e,t,r,n,o=!1,i=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(o?1:0)|(i?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],r=!1){let n=[new AC(0,e.length,e,0,!1,r)];for(let r of t)r.to>e.length&&n.push(r);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],o=1,i=e.length?e[0]:null;for(let a=0,s=0,l=0;;a++){let c=a<t.length?t[a]:null,u=c?c.fromA:1e9;if(u-s>=r)for(;i&&i.from<u;){let t=i;if(s>=t.from||u<=t.to||l){let e=Math.max(t.from,s)-l,r=Math.min(t.to,u)-l;t=e>=r?null:new AC(e,r,t.tree,t.offset+l,a>0,!!c)}if(t&&n.push(t),i.to>u)break;i=o<e.length?e[o++]:null}if(!c)break;s=c.toA,l=c.toA-c.toB}return n}}class xC{startParse(e,t,r){return"string"==typeof e&&(e=new kC(e)),r=r?r.length?r.map((e=>new VS(e.from,e.to))):[new VS(0,0)]:[new VS(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let e=n.advance();if(e)return e}}}class kC{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)}}function SC(e){return(t,r,n,o)=>new qC(t,e,r,n,o)}class CC{constructor(e,t,r,n,o){this.parser=e,this.parse=t,this.overlay=r,this.target=n,this.from=o}}function _C(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class EC{constructor(e,t,r,n,o,i,a){this.parser=e,this.predicate=t,this.mounts=r,this.index=n,this.start=o,this.target=i,this.prev=a,this.depth=0,this.ranges=[]}}const PC=new XS({perNode:!0});class qC{constructor(e,t,r,n,o){this.nest=t,this.input=r,this.fragments=n,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new nC(e.type,e.children,e.positions,e.length,e.propValues.concat([[PC,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[XS.mounted.id]=new HS(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new $C(this.fragments),t=null,r=null,n=new gC(new cC(this.baseTree,this.ranges[0].from,0,null),rC.IncludeAnonymous|rC.IgnoreMounts);e:for(let o,i;;){let a,s=!0;if(null!=this.stoppedAt&&n.from>=this.stoppedAt)s=!1;else if(e.hasNode(n)){if(t){let e=t.mounts.find((e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay));if(e)for(let r of e.mount.overlay){let o=r.from+e.pos,i=r.to+e.pos;o>=n.from&&i<=n.to&&!t.ranges.some((e=>e.from<i&&e.to>o))&&t.ranges.push({from:o,to:i})}}s=!1}else if(r&&(i=TC(r.ranges,n.from,n.to)))s=2!=i;else if(!n.type.isAnonymous&&(o=this.nest(n,this.input))&&(n.from<n.to||!o.overlay)){n.tree||RC(n);let i=e.findMounts(n.from,o.parser);if("function"==typeof o.overlay)t=new EC(o.parser,o.overlay,i,this.inner.length,n.from,n.tree,t);else{let e=MC(this.ranges,o.overlay||(n.from<n.to?[new VS(n.from,n.to)]:[]));e.length&&_C(e),!e.length&&o.overlay||this.inner.push(new CC(o.parser,e.length?o.parser.startParse(this.input,DC(i,e),e):o.parser.startParse(""),o.overlay?o.overlay.map((e=>new VS(e.from-n.from,e.to-n.from))):null,n.tree,e.length?e[0].from:n.from)),o.overlay?e.length&&(r={ranges:e,depth:0,prev:r}):s=!1}}else t&&(a=t.predicate(n))&&(!0===a&&(a=new VS(n.from,n.to)),a.from<a.to&&t.ranges.push(a));if(s&&n.firstChild())t&&t.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&! --t.depth){let e=MC(this.ranges,t.ranges);e.length&&(_C(e),this.inner.splice(t.index,0,new CC(t.parser,t.parser.startParse(this.input,DC(t.mounts,e),e),t.ranges.map((e=>new VS(e.from-t.start,e.to-t.start))),t.target,e[0].from))),t=t.prev}r&&! --r.depth&&(r=r.prev)}}}}function TC(e,t,r){for(let n of e){if(n.from>=r)break;if(n.to>t)return n.from<=t&&n.to>=r?2:1}return 0}function jC(e,t,r,n,o,i){if(t<r){let a=e.buffer[t+1];n.push(e.slice(t,r,a)),o.push(a-i)}}function RC(e){let{node:t}=e,r=[];do{r.push(e.index),e.parent()}while(!e.tree);let n=0,o=e.tree,i=0;for(;i=o.positions[n]+e.from,!(i<=t.from&&i+o.children[n].length>=t.to);n++);let a=o.children[n],s=a.buffer,l=[n];o.children[n]=function e(n,o,i,c,u,d){let p=r[d],h=[],f=[];jC(a,n,p,h,f,c);let m=s[p+1],g=s[p+2];l.push(h.length);let b=d?e(p+4,s[p+3],a.set.types[s[p]],m,g-m,d-1):t.toTree();return h.push(b),f.push(m-c),jC(a,s[p+3],o,h,f,c),new nC(i,h,f,u)}(0,s.length,KS.none,0,a.length,r.length-1);for(let t of l){let r=e.tree.children[t],n=e.tree.positions[t];e.yield(new cC(r,n+e.from,t,e._tree))}}class ZC{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(rC.IncludeAnonymous|rC.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from<r;)t.to>=e&&t.enter(r,1,rC.IgnoreOverlays|rC.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof nC))break;t=t.children[0]}return!1}}class $C{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=null!==(t=r.tree.prop(PC))&&void 0!==t?t:r.to,this.inner=new ZC(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(PC))&&void 0!==e?e:t.to,this.inner=new ZC(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let o=null===(r=e.tree)||void 0===r?void 0:r.prop(XS.mounted);if(o&&o.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let r=this.fragments[t];if(r.from>=e.to)break;r.tree==this.curFrag.tree&&n.push({frag:r,pos:e.from-r.offset,mount:o})}}}return n}}function MC(e,t){let r=null,n=t;for(let o=1,i=0;o<e.length;o++){let a=e[o-1].to,s=e[o].from;for(;i<n.length;i++){let e=n[i];if(e.from>=s)break;e.to<=a||(r||(n=r=t.slice()),e.from<a?(r[i]=new VS(e.from,a),e.to>s&&r.splice(i+1,0,new VS(s,e.to))):e.to>s?r[i--]=new VS(s,e.to):r.splice(i--,1))}}return n}function NC(e,t,r,n){let o=0,i=0,a=!1,s=!1,l=-1e9,c=[];for(;;){let u=o==e.length?1e9:a?e[o].to:e[o].from,d=i==t.length?1e9:s?t[i].to:t[i].from;if(a!=s){let e=Math.max(l,r),t=Math.min(u,d,n);e<t&&c.push(new VS(e,t))}if(l=Math.min(u,d),1e9==l)break;u==l&&(a?(a=!1,o++):a=!0),d==l&&(s?(s=!1,i++):s=!0)}return c}function DC(e,t){let r=[];for(let{pos:n,mount:o,frag:i}of e){let e=n+(o.overlay?o.overlay[0].from:0),a=e+o.tree.length,s=Math.max(i.from,e),l=Math.min(i.to,a);if(o.overlay){let a=NC(t,o.overlay.map((e=>new VS(e.from+n,e.to+n))),s,l);for(let t=0,n=s;;t++){let s=t==a.length,c=s?l:a[t].from;if(c>n&&r.push(new AC(n,c,o.tree,-e,i.from>=n||i.openStart,i.to<=c||i.openEnd)),s)break;n=a[t].to}}else r.push(new AC(s,l,o.tree,-e,i.from>=e||i.openStart,i.to<=a||i.openEnd))}return r}class LC{constructor(e,t,r,n,o,i,a,s,l,c=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=o,this.score=i,this.buffer=a,this.bufferBase=s,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new LC(e,[],t,r,r,0,[],0,n?new IC(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,n=65535&e,{parser:o}=this.p,i=o.dynamicPrecedence(n);if(i&&(this.score+=i),0==r)return this.pushState(o.getGoto(this.state,n,!0),this.reducePos),n<o.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let a=this.stack.length-3*(r-1)-(262144&e?6:0),s=a?this.stack[a-2]:this.p.ranges[0].from,l=this.reducePos-s;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=l));let c=a?this.stack[a-1]:0,u=this.bufferBase+this.buffer.length-c;if(n<o.minRepeatTerm||131072&e){let e=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(262144&e)this.state=this.stack[a];else{let e=this.stack[a-3];this.state=o.getGoto(e,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,r,n=4,o=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==r)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=r)}}if(o&&this.pos!=r){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4])for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=n}else this.buffer.push(e,t,r,n)}shift(e,t,r,n){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let o=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,r),this.shiftContext(t,r),t<=i.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,n,4)}apply(e,t,r,n){65536&e?this.reduce(e):this.shift(e,t,r,n)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(r,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new LC(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new BC(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==r)return!1;if(0==(65536&r))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n,o=0;o<t.length;o+=2)(n=t[o+1])!=this.state&&this.p.parser.hasAction(n,e)&&r.push(t[o],n);if(this.stack.length<120)for(let e=0;r.length<8&&e<t.length;e+=2){let n=t[e+1];r.some(((e,t)=>1&t&&e==n))||r.push(t[e],n)}t=r}let r=[];for(let e=0;e<t.length&&r.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let o=this.split();o.pushState(n,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[e],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(0==(65536&t))return!1;if(!e.validAction(this.state,t)){let r=t>>19,n=65535&t,o=this.stack.length-3*r;if(o<0||e.getGoto(this.stack[o],n,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(n,o)=>{if(!t.includes(n))return t.push(n),e.allActions(n,(t=>{if(393216&t);else if(65536&t){let r=(t>>19)-o;if(r>1){let n=65535&t,o=this.stack.length-3*r;if(o>=0&&e.getGoto(this.stack[o],n,!1)>=0)return r<<19|65536|n}}else{let e=r(t,o+1);if(null!=e)return e}}))};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new IC(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class IC{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class BC{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,r=e>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(r-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class QC{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new QC(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new QC(this.stack,this.pos,this.index)}}function zC(e,t=Uint16Array){if("string"!=typeof e)return e;let r=null;for(let n=0,o=0;n<e.length;){let i=0;for(;;){let t=e.charCodeAt(n++),r=!1;if(126==t){i=65535;break}t>=92&&t--,t>=34&&t--;let o=t-32;if(o>=46&&(o-=46,r=!0),i+=o,r)break;i*=46}r?r[o++]=i:r=new t(i)}return r}class UC{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const FC=new UC;class WC{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=FC,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,n=this.rangeIndex,o=this.pos+e;for(;o<r.from;){if(!n)return null;let e=this.ranges[--n];o-=r.from-e.to,r=e}for(;t<0?o>r.to:o>=r.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];o+=e.from-r.to,r=e}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,r,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,r=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(null==r||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=FC,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return r}}class YC{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;HC(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}YC.prototype.contextual=YC.prototype.fallback=YC.prototype.extend=!1;class VC{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data="string"==typeof e?zC(e):e}token(e,t){let r=e.pos,n=0;for(;;){let r=e.next<0,o=e.resolveOffset(1,1);if(HC(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(r||n++,null==o)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}VC.prototype.contextual=YC.prototype.fallback=YC.prototype.extend=!1;class XC{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function HC(e,t,r,n,o,i){let a=0,s=1<<n,{dialect:l}=r.p.parser;e:for(;0!=(s&e[a]);){let r=e[a+1];for(let n=a+3;n<r;n+=2)if((e[n+1]&s)>0){let r=e[n];if(l.allows(r)&&(-1==t.token.value||t.token.value==r||KC(r,t.token.value,o,i))){t.acceptToken(r);break}}let n=t.next,c=0,u=e[a+2];if(!(t.next<0&&u>c&&65535==e[r+3*u-3])){for(;c<u;){let o=c+u>>1,i=r+o+(o<<1),s=e[i],l=e[i+1]||65536;if(n<s)u=o;else{if(!(n>=l)){a=e[i+2],t.advance();continue e}c=o+1}}break}a=e[r+3*u-1]}}function GC(e,t,r){for(let n,o=t;65535!=(n=e[o]);o++)if(n==r)return o-t;return-1}function KC(e,t,r,n){let o=GC(r,n,t);return o<0||GC(r,n,e)<o}const JC="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let e_=null;function t_(e,t,r){let n=e.cursor(rC.IncludeAnonymous);for(n.moveTo(t);;)if(!(r<0?n.childBefore(t):n.childAfter(t)))for(;;){if((r<0?n.to<t:n.from>t)&&!n.type.isError)return r<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(r<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return r<0?0:e.length}}class r_{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?t_(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?t_(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],n=this.index[t];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=r.children[n],i=this.start[t]+r.positions[n];if(i>e)return this.nextStart=i,null;if(o instanceof nC){if(i==e){if(i<this.safeFrom)return null;let e=i+o.length;if(e<=this.safeTo){let t=o.prop(XS.lookAhead);if(!t||e+t<this.fragment.to)return o}}this.index[t]++,i+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+o.length}}}class n_{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new UC))}getActions(e){let t=0,r=null,{parser:n}=e.p,{tokenizers:o}=n,i=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0;for(let n=0;n<o.length;n++){if(0==(1<<n&i))continue;let l=o[n],c=this.tokens[n];if((!r||l.fallback)&&((l.contextual||c.start!=e.pos||c.mask!=i||c.context!=a)&&(this.updateCachedToken(c,l,e),c.mask=i,c.context=a),c.lookAhead>c.end+25&&(s=Math.max(c.lookAhead,s)),0!=c.value)){let n=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!l.extend&&(r=c,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),r||e.pos!=this.stream.end||(r=new UC,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new UC,{pos:r,p:n}=e;return t.start=r,t.end=Math.min(r+1,n.stream.end),t.value=r==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,r){let n=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(n,e),r),e.value>-1){let{parser:t}=r.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let o=t.specializers[n](this.stream.read(e.start,e.end),r);if(o>=0&&r.p.parser.dialect.allows(o>>1)){0==(1&o)?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,r,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=r,n}addActions(e,t,r,n){let{state:o}=e,{parser:i}=e.p,{data:a}=i;for(let e=0;e<2;e++)for(let s=i.stateSlot(o,e?2:1);;s+=3){if(65535==a[s]){if(1!=a[s+1]){0==n&&2==a[s+1]&&(n=this.putAction(u_(a,s+2),t,r,n));break}s=u_(a,s+2)}a[s]==t&&(n=this.putAction(u_(a,s+1),t,r,n))}return n}}class o_{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new WC(t,n),this.tokens=new n_(e,this.stream),this.topTerm=e.top[1];let{from:o}=n[0];this.stacks=[LC.start(this,e.top[0],o)],this.fragments=r.length&&this.stream.end-o>4*e.bufferLength?new r_(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,r=this.stacks,n=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==r.length){let[e]=r;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<r.length;i++){let a=r[i];for(;;){if(this.tokens.mainToken=null,a.pos>n)o.push(a);else{if(this.advanceStack(a,o,r))continue;{e||(e=[],t=[]),e.push(a);let r=this.tokens.getMainToken(a);t.push(r.value,r.end)}}break}}if(!o.length){let t=e&&function(e){let t=null;for(let r of e){let e=r.p.stoppedAt;(r.pos==r.p.stream.end||null!=e&&r.pos>e)&&r.p.parser.stateFlag(r.state,2)&&(!t||t.score<r.score)&&(t=r)}return t}(e);if(t)return JC&&console.log("Finish with "+this.stackID(t)),this.stackToTree(t);if(this.parser.strict)throw JC&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let r=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,o);if(r)return JC&&console.log("Force-finish "+this.stackID(r)),this.stackToTree(r.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(o.length>e)for(o.sort(((e,t)=>t.score-e.score));o.length>e;)o.pop();o.some((e=>e.reducePos>n))&&this.recovering--}else if(o.length>1){e:for(let e=0;e<o.length-1;e++){let t=o[e];for(let r=e+1;r<o.length;r++){let n=o[r];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){o.splice(e--,1);continue e}o.splice(r--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let e=1;e<o.length;e++)o[e].pos<this.minStackPos&&(this.minStackPos=o[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let n=e.pos,{parser:o}=this,i=JC?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,r=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(n);a;){let n=this.parser.nodeSet.types[a.type.id]==a.type?o.getGoto(e.state,a.type.id):-1;if(n>-1&&a.length&&(!t||(a.prop(XS.contextHash)||0)==r))return e.useNode(a,n),JC&&console.log(i+this.stackID(e)+` (via reuse of ${o.getName(a.type.id)})`),!0;if(!(a instanceof nC)||0==a.children.length||a.positions[0]>0)break;let s=a.children[0];if(!(s instanceof nC&&0==a.positions[0]))break;a=s}}let a=o.stateSlot(e.state,4);if(a>0)return e.reduce(a),JC&&console.log(i+this.stackID(e)+` (via always-reduce ${o.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let a=0;a<s.length;){let l=s[a++],c=s[a++],u=s[a++],d=a==s.length||!r,p=d?e:e.split(),h=this.tokens.mainToken;if(p.apply(l,c,h?h.start:p.pos,u),JC&&console.log(i+this.stackID(p)+` (via ${0==(65536&l)?"shift":`reduce of ${o.getName(65535&l)}`} for ${o.getName(c)} @ ${n}${p==e?"":", split"})`),d)return!0;p.pos>n?t.push(p):r.push(p)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return i_(e,t),!0}}runRecovery(e,t,r){let n=null,o=!1;for(let i=0;i<e.length;i++){let a=e[i],s=t[i<<1],l=t[1+(i<<1)],c=JC?this.stackID(a)+" -> ":"";if(a.deadEnd){if(o)continue;if(o=!0,a.restart(),JC&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))continue}let u=a.split(),d=c;for(let e=0;u.forceReduce()&&e<10&&(JC&&console.log(d+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));e++)JC&&(d=this.stackID(u)+" -> ");for(let e of a.recoverByInsert(s))JC&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,r);this.stream.end>a.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),JC&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(s)})`),i_(a,r)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),nC.build({buffer:QC.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(e_||(e_=new WeakMap)).get(e);return t||e_.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function i_(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.pos==e.pos&&n.sameState(e))return void(t[r].score<e.score&&(t[r]=e))}t.push(e)}class a_{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||0==this.disabled[e]}}const s_=e=>e;class l_{constructor(e){this.start=e.start,this.shift=e.shift||s_,this.reduce=e.reduce||s_,this.reuse=e.reuse||s_,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class c_ extends xC{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let r=0;r<e.repeatNodeCount;r++)t.push("");let r=Object.keys(e.topRules).map((t=>e.topRules[t][1])),n=[];for(let e=0;e<t.length;e++)n.push([]);function o(e,t,r){n[e].push([t,t.deserialize(String(r))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=XS[e]);for(let r=1;r<t.length;){let n=t[r++];if(n>=0)o(n,e,t[r++]);else{let i=t[r+-n];for(let a=-n;a>0;a--)o(t[r++],e,i);r++}}}this.nodeSet=new JS(t.map(((t,o)=>KS.define({name:o>=this.minRepeatTerm?void 0:t,id:o,props:n[o],top:r.indexOf(o)>-1,error:0==o,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=WS;let i=zC(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(d_),this.states=zC(e.states,Uint32Array),this.data=zC(e.stateData),this.goto=zC(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map((e=>"number"==typeof e?new YC(i,e):e)),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let n=new o_(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}getGoto(e,t,r=!1){let n=this.goto;if(t>=n[0])return-1;for(let o=n[t+1];;){let t=n[o++],i=1&t,a=n[o++];if(i&&r)return a;for(let r=o+(t>>1);o<r;o++)if(n[o]==e)return a;if(i)return-1}}hasAction(e,t){let r=this.data;for(let n=0;n<2;n++)for(let o,i=this.stateSlot(e,n?2:1);;i+=3){if(65535==(o=r[i])){if(1!=r[i+1]){if(2==r[i+1])return u_(r,i+2);break}o=r[i=u_(r,i+2)]}if(o==t||0==o)return u_(r,i+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let r=this.stateSlot(e,4),n=r?t(r):void 0;for(let r=this.stateSlot(e,1);null==n;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=u_(this.data,r+2)}n=t(u_(this.data,r+1))}return n}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=u_(this.data,r+2)}if(0==(1&this.data[r+2])){let e=this.data[r+1];t.some(((t,r)=>1&r&&t==e))||t.push(this.data[r],e)}}return t}configure(e){let t=Object.assign(Object.create(c_.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let r=e.tokenizers.find((e=>e.from==t));return r?r.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((r,n)=>{let o=e.specializers.find((e=>e.from==r.external));if(!o)return r;let i=Object.assign(Object.assign({},r),{external:o.to});return t.specializers[n]=d_(i),i}))),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map((()=>!1));if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(r[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!r[e])for(let r,o=this.dialects[t[e]];65535!=(r=this.data[o++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[r]=1;return new a_(e,r,n)}static deserialize(e){return new c_(e)}}function u_(e,t){return e[t]|e[t+1]<<16}function d_(e){if(e.external){let t=e.extend?1:0;return(r,n)=>e.external(r,n)<<1|t}return e.get}let p_=0;class h_{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=p_++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new h_([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new m_;return t=>t.modified.indexOf(e)>-1?t:m_.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let f_=0;class m_{constructor(){this.instances=[],this.id=f_++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find((r=>r.base==e&&function(e,t){return e.length==t.length&&e.every(((e,r)=>e==t[r]))}(t,r.modified)));if(r)return r;let n=[],o=new h_(n,e,t);for(let e of t)e.instances.push(o);let i=function(e){let t=[[]];for(let r=0;r<e.length;r++)for(let n=0,o=t.length;n<o;n++)t.push(t[n].concat(e[r]));return t.sort(((e,t)=>t.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of i)n.push(m_.get(t,e));return o}}function g_(e){let t=Object.create(null);for(let r in e){let n=e[r];Array.isArray(n)||(n=[n]);for(let e of r.split(" "))if(e){let r=[],o=2,i=e;for(let t=0;;){if("..."==i&&t>0&&t+3==e.length){o=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!n)throw new RangeError("Invalid path: "+e);if(r.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){o=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);i=e.slice(t)}let a=r.length-1,s=r[a];if(!s)throw new RangeError("Invalid path: "+e);let l=new y_(n,o,a>0?r.slice(0,a):null);t[s]=l.sort(t[s])}}return b_.add(t)}const b_=new XS;class y_{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function v_(e,t){let r=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)r[e.id]=t.class;else r[t.tag.id]=t.class;let{scope:n,all:o=null}=t||{};return{style:e=>{let t=o;for(let n of e)for(let e of n.set){let n=r[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function O_(e,t,r,n=0,o=e.length){let i=new w_(n,Array.isArray(t)?t:[t],r);i.highlightRange(e.cursor(),n,o,"",i.highlighters),i.flush(o)}y_.empty=new y_([],2,null);class w_{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,o){let{type:i,from:a,to:s}=e;if(a>=r||s<=t)return;i.isTop&&(o=this.highlighters.filter((e=>!e.scope||e.scope(i))));let l=n,c=function(e){let t=e.type.prop(b_);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||y_.empty,u=function(e,t){let r=null;for(let n of e){let e=n.style(t);e&&(r=r?r+" "+e:e)}return r}(o,c.tags);if(u&&(l&&(l+=" "),l+=u,1==c.mode&&(n+=(n?" ":"")+u)),this.startSpan(Math.max(t,a),l),c.opaque)return;let d=e.tree&&e.tree.prop(XS.mounted);if(d&&d.overlay){let i=e.node.enter(d.overlay[0].from+a,1),c=this.highlighters.filter((e=>!e.scope||e.scope(d.tree.type))),u=e.firstChild();for(let p=0,h=a;;p++){let f=p<d.overlay.length?d.overlay[p]:null,m=f?f.from+a:s,g=Math.max(t,h),b=Math.min(r,m);if(g<b&&u)for(;e.from<b&&(this.highlightRange(e,g,b,n,o),this.startSpan(Math.min(b,e.to),l),!(e.to>=m)&&e.nextSibling()););if(!f||m>r)break;h=f.to+a,h>t&&(this.highlightRange(i.cursor(),Math.max(t,f.from+a),Math.min(r,h),"",c),this.startSpan(Math.min(r,h),l))}u&&e.parent()}else if(e.firstChild()){d&&(n="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,o),this.startSpan(Math.min(r,e.to),l)}}while(e.nextSibling());e.parent()}}}const A_=h_.define,x_=A_(),k_=A_(),S_=A_(k_),C_=A_(k_),__=A_(),E_=A_(__),P_=A_(__),q_=A_(),T_=A_(q_),j_=A_(),R_=A_(),Z_=A_(),$_=A_(Z_),M_=A_(),N_={comment:x_,lineComment:A_(x_),blockComment:A_(x_),docComment:A_(x_),name:k_,variableName:A_(k_),typeName:S_,tagName:A_(S_),propertyName:C_,attributeName:A_(C_),className:A_(k_),labelName:A_(k_),namespace:A_(k_),macroName:A_(k_),literal:__,string:E_,docString:A_(E_),character:A_(E_),attributeValue:A_(E_),number:P_,integer:A_(P_),float:A_(P_),bool:A_(__),regexp:A_(__),escape:A_(__),color:A_(__),url:A_(__),keyword:j_,self:A_(j_),null:A_(j_),atom:A_(j_),unit:A_(j_),modifier:A_(j_),operatorKeyword:A_(j_),controlKeyword:A_(j_),definitionKeyword:A_(j_),moduleKeyword:A_(j_),operator:R_,derefOperator:A_(R_),arithmeticOperator:A_(R_),logicOperator:A_(R_),bitwiseOperator:A_(R_),compareOperator:A_(R_),updateOperator:A_(R_),definitionOperator:A_(R_),typeOperator:A_(R_),controlOperator:A_(R_),punctuation:Z_,separator:A_(Z_),bracket:$_,angleBracket:A_($_),squareBracket:A_($_),paren:A_($_),brace:A_($_),content:q_,heading:T_,heading1:A_(T_),heading2:A_(T_),heading3:A_(T_),heading4:A_(T_),heading5:A_(T_),heading6:A_(T_),contentSeparator:A_(q_),list:A_(q_),quote:A_(q_),emphasis:A_(q_),strong:A_(q_),link:A_(q_),monospace:A_(q_),strikethrough:A_(q_),inserted:A_(),deleted:A_(),changed:A_(),invalid:A_(),meta:M_,documentMeta:A_(M_),annotation:A_(M_),processingInstruction:A_(M_),definition:h_.defineModifier(),constant:h_.defineModifier(),function:h_.defineModifier(),standard:h_.defineModifier(),local:h_.defineModifier(),special:h_.defineModifier()},D_=(v_([{tag:N_.link,class:"tok-link"},{tag:N_.heading,class:"tok-heading"},{tag:N_.emphasis,class:"tok-emphasis"},{tag:N_.strong,class:"tok-strong"},{tag:N_.keyword,class:"tok-keyword"},{tag:N_.atom,class:"tok-atom"},{tag:N_.bool,class:"tok-bool"},{tag:N_.url,class:"tok-url"},{tag:N_.labelName,class:"tok-labelName"},{tag:N_.inserted,class:"tok-inserted"},{tag:N_.deleted,class:"tok-deleted"},{tag:N_.literal,class:"tok-literal"},{tag:N_.string,class:"tok-string"},{tag:N_.number,class:"tok-number"},{tag:[N_.regexp,N_.escape,N_.special(N_.string)],class:"tok-string2"},{tag:N_.variableName,class:"tok-variableName"},{tag:N_.local(N_.variableName),class:"tok-variableName tok-local"},{tag:N_.definition(N_.variableName),class:"tok-variableName tok-definition"},{tag:N_.special(N_.variableName),class:"tok-variableName2"},{tag:N_.definition(N_.propertyName),class:"tok-propertyName tok-definition"},{tag:N_.typeName,class:"tok-typeName"},{tag:N_.namespace,class:"tok-namespace"},{tag:N_.className,class:"tok-className"},{tag:N_.macroName,class:"tok-macroName"},{tag:N_.propertyName,class:"tok-propertyName"},{tag:N_.operator,class:"tok-operator"},{tag:N_.comment,class:"tok-comment"},{tag:N_.meta,class:"tok-meta"},{tag:N_.invalid,class:"tok-invalid"},{tag:N_.punctuation,class:"tok-punctuation"}]),20),L_=22,I_=23,B_=24,Q_=26,z_=27,U_=28,F_=31,W_=34,Y_=37,V_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},X_={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},H_={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function G_(e){return 9==e||10==e||13==e||32==e}let K_=null,J_=null,eE=0;function tE(e,t){let r=e.pos+t;if(eE==r&&J_==e)return K_;let n=e.peek(t);for(;G_(n);)n=e.peek(++t);let o="";for(;45==(i=n)||46==i||58==i||i>=65&&i<=90||95==i||i>=97&&i<=122||i>=161;)o+=String.fromCharCode(n),n=e.peek(++t);var i;return J_=e,eE=r,K_=o?o.toLowerCase():n==rE||n==nE?void 0:null}const rE=63,nE=33;function oE(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const iE=[6,10,7,8,9],aE=new l_({start:null,shift:(e,t,r,n)=>iE.indexOf(t)>-1?new oE(tE(n,1)||"",e):e,reduce:(e,t)=>t==D_&&e?e.parent:e,reuse(e,t,r,n){let o=t.type.id;return 6==o||36==o?new oE(tE(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),sE=new XC(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let r=47==e.next;r&&e.advance();let n=tE(e,0);if(void 0===n)return;if(!n)return e.acceptToken(r?14:6);let o=t.context?t.context.name:null;if(r){if(n==o)return e.acceptToken(11);if(o&&X_[o])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(13)}else{if("script"==n)return e.acceptToken(7);if("style"==n)return e.acceptToken(8);if("textarea"==n)return e.acceptToken(9);if(V_.hasOwnProperty(n))return e.acceptToken(10);o&&H_[o]&&H_[o][n]?e.acceptToken(57,-1):e.acceptToken(6)}}),{contextual:!0}),lE=new XC((e=>{for(let t=0,r=0;;r++){if(e.next<0){r&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){r>=3&&e.acceptToken(58,-2);break}t=0}e.advance()}})),cE=new XC(((e,t)=>{if(47==e.next&&62==e.peek(1)){let r=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(r?5:4,2)}else 62==e.next&&e.acceptToken(4,1)}));function uE(e,t,r){let n=2+e.length;return new XC((o=>{for(let i=0,a=0,s=0;;s++){if(o.next<0){s&&o.acceptToken(t);break}if(0==i&&60==o.next||1==i&&47==o.next||i>=2&&i<n&&o.next==e.charCodeAt(i-2))i++,a++;else if(2!=i&&i!=n||!G_(o.next)){if(i==n&&62==o.next){s>a?o.acceptToken(t,-a):o.acceptToken(r,-(a-2));break}if((10==o.next||13==o.next)&&s){o.acceptToken(t,1);break}i=a=0}else a++;o.advance()}}))}const dE=uE("script",54,1),pE=uE("style",55,2),hE=uE("textarea",56,3),fE=g_({"Text RawText":N_.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":N_.angleBracket,TagName:N_.tagName,"MismatchedCloseTag/TagName":[N_.tagName,N_.invalid],AttributeName:N_.attributeName,"AttributeValue UnquotedAttributeValue":N_.attributeValue,Is:N_.definitionOperator,"EntityReference CharacterReference":N_.character,Comment:N_.blockComment,ProcessingInst:N_.processingInstruction,DoctypeDecl:N_.documentMeta}),mE=c_.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:aE,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[fE],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[dE,pE,hE,cE,sE,lE,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function gE(e,t){let r=Object.create(null);for(let n of e.getChildren(I_)){let e=n.getChild(B_),o=n.getChild(Q_)||n.getChild(z_);e&&(r[t.read(e.from,e.to)]=o?o.type.id==Q_?t.read(o.from+1,o.to-1):t.read(o.from,o.to):"")}return r}function bE(e,t){let r=e.getChild(L_);return r?t.read(r.from,r.to):" "}function yE(e,t,r){let n;for(let o of r)if(!o.attrs||o.attrs(n||(n=gE(e.node.parent.firstChild,t))))return{parser:o.parser};return null}function vE(e=[],t=[]){let r=[],n=[],o=[],i=[];for(let t of e)("script"==t.tag?r:"style"==t.tag?n:"textarea"==t.tag?o:i).push(t);let a=t.length?Object.create(null):null;for(let e of t)(a[e.name]||(a[e.name]=[])).push(e);return SC(((e,t)=>{let s=e.type.id;if(s==U_)return yE(e,t,r);if(s==F_)return yE(e,t,n);if(s==W_)return yE(e,t,o);if(s==D_&&i.length){let r,n=e.node,o=n.firstChild,a=o&&bE(o,t);if(a)for(let e of i)if(e.tag==a&&(!e.attrs||e.attrs(r||(r=gE(n,t))))){let t=n.lastChild,r=t.type.id==Y_?t.from:n.to;if(r>o.to)return{parser:e.parser,overlay:[{from:o.to,to:r}]}}}if(a&&s==I_){let r,n=e.node;if(r=n.firstChild){let e=a[t.read(r.from,r.to)];if(e)for(let r of e){if(r.tagName&&r.tagName!=bE(n.parent,t))continue;let e=n.lastChild;if(e.type.id==Q_){let t=e.from+1,n=e.lastChild,o=e.to-(n&&n.isError?0:1);if(o>t)return{parser:r.parser,overlay:[{from:t,to:o}]}}else if(e.type.id==z_)return{parser:r.parser,overlay:[{from:e.from,to:e.to}]}}}}return null}))}const OE=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function wE(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const AE=new XC(((e,t)=>{for(let n=!1,o=0,i=0;;i++){let{next:a}=e;if(wE(a)||45==a||95==a||n&&(r=a)>=48&&r<=57)!n&&(45!=a||i>0)&&(n=!0),o===i&&45==a&&o++,e.advance();else{if(92!=a||10==e.peek(1)){n&&e.acceptToken(40==a?97:2==o&&t.canShift(2)?2:98);break}e.advance(),e.next>-1&&e.advance(),n=!0}}var r})),xE=new XC((e=>{if(OE.includes(e.peek(-1))){let{next:t}=e;(wE(t)||95==t||35==t||46==t||91==t||58==t||45==t||38==t)&&e.acceptToken(96)}})),kE=new XC((e=>{if(!OE.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),wE(t)){do{e.advance()}while(wE(e.next));e.acceptToken(1)}}})),SE=g_({"AtKeyword import charset namespace keyframes media supports":N_.definitionKeyword,"from to selector":N_.keyword,NamespaceName:N_.namespace,KeyframeName:N_.labelName,KeyframeRangeName:N_.operatorKeyword,TagName:N_.tagName,ClassName:N_.className,PseudoClassName:N_.constant(N_.className),IdName:N_.labelName,"FeatureName PropertyName":N_.propertyName,AttributeName:N_.attributeName,NumberLiteral:N_.number,KeywordQuery:N_.keyword,UnaryQueryOp:N_.operatorKeyword,"CallTag ValueName":N_.atom,VariableName:N_.variableName,Callee:N_.operatorKeyword,Unit:N_.unit,"UniversalSelector NestingSelector":N_.definitionOperator,MatchOp:N_.compareOperator,"ChildOp SiblingOp, LogicOp":N_.logicOperator,BinOp:N_.arithmeticOperator,Important:N_.modifier,Comment:N_.blockComment,ColorLiteral:N_.color,"ParenthesizedContent StringLiteral":N_.string,":":N_.punctuation,"PseudoOp #":N_.derefOperator,"; ,":N_.separator,"( )":N_.paren,"[ ]":N_.squareBracket,"{ }":N_.brace}),CE={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},_E={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},EE={__proto__:null,not:128,only:128},PE=c_.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[SE],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[xE,kE,AE,1,2,3,4,new VC("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>CE[e]||-1},{term:56,get:e=>_E[e]||-1},{term:98,get:e=>EE[e]||-1}],tokenPrec:1169});class qE{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]=LE(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),jE.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]=LE(this,e,t);let r=[];return this.decompose(e,t,r,0),jE.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 $E(this),o=new $E(e);for(let e=t,i=t;;){if(n.next(e),o.next(e),e=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(i+=n.value.length,n.done||i>=r)return!0}}iter(e=1){return new $E(this,e)}iterRange(e,t=this.length){return new ME(this,e,t)}iterLines(e,t){let r;if(null==e)r=this.iter();else{null==t&&(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 NE(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new TE(e):jE.from(TE.split(e,[])):qE.empty}}class TE extends qE{constructor(e,t=function(e){let t=-1;for(let r of e)t+=r.length+1;return t}(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 o=0;;o++){let i=this.text[o],a=n+i.length;if((t?r:a)>=e)return new DE(n,a,r,i);n=a+1,r++}}decompose(e,t,r,n){let o=e<=0&&t>=this.length?this:new TE(ZE(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&n){let e=r.pop(),t=RE(o.text,e.text.slice(),0,o.length);if(t.length<=32)r.push(new TE(t,e.length+o.length));else{let e=t.length>>1;r.push(new TE(t.slice(0,e)),new TE(t.slice(e)))}}else r.push(o)}replace(e,t,r){if(!(r instanceof TE))return super.replace(e,t,r);[e,t]=LE(this,e,t);let n=RE(this.text,RE(r.text,ZE(this.text,0,e)),t),o=this.length+r.length-(t-e);return n.length<=32?new TE(n,o):jE.from(TE.split(n,[]),o)}sliceString(e,t=this.length,r="\n"){[e,t]=LE(this,e,t);let n="";for(let o=0,i=0;o<=t&&i<this.text.length;i++){let a=this.text[i],s=o+a.length;o>e&&i&&(n+=r),e<s&&t>o&&(n+=a.slice(Math.max(0,e-o),t-o)),o=s+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 o of e)r.push(o),n+=o.length+1,32==r.length&&(t.push(new TE(r,n)),r=[],n=-1);return n>-1&&t.push(new TE(r,n)),t}}class jE extends qE{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,r,n){for(let o=0;;o++){let i=this.children[o],a=n+i.length,s=r+i.lines-1;if((t?s:a)>=e)return i.lineInner(e,t,r,n);n=a+1,r=s+1}}decompose(e,t,r,n){for(let o=0,i=0;i<=t&&o<this.children.length;o++){let a=this.children[o],s=i+a.length;if(e<=s&&t>=i){let o=n&((i<=e?1:0)|(s>=t?2:0));i>=e&&s<=t&&!o?r.push(a):a.decompose(e-i,t-i,r,o)}i=s+1}}replace(e,t,r){if([e,t]=LE(this,e,t),r.lines<this.lines)for(let n=0,o=0;n<this.children.length;n++){let i=this.children[n],a=o+i.length;if(e>=o&&t<=a){let s=i.replace(e-o,t-o,r),l=this.lines-i.lines+s.lines;if(s.lines<l>>4&&s.lines>l>>6){let o=this.children.slice();return o[n]=s,new jE(o,this.length-(t-e)+r.length)}return super.replace(o,a,s)}o=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r="\n"){[e,t]=LE(this,e,t);let n="";for(let o=0,i=0;o<this.children.length&&i<=t;o++){let a=this.children[o],s=i+a.length;i>e&&o&&(n+=r),e<s&&t>i&&(n+=a.sliceString(e-i,t-i,r)),i=s+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof jE))return 0;let r=0,[n,o,i,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,o+=t){if(n==i||o==a)return r;let s=this.children[n],l=e.children[o];if(s!=l)return r+s.scanIdentical(l,t);r+=s.length+1}}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let r=[];for(let t of e)t.flatten(r);return new TE(r,t)}let n=Math.max(32,r>>5),o=n<<1,i=n>>1,a=[],s=0,l=-1,c=[];function u(e){let t;if(e.lines>o&&e instanceof jE)for(let t of e.children)u(t);else e.lines>i&&(s>i||!s)?(d(),a.push(e)):e instanceof TE&&s&&(t=c[c.length-1])instanceof TE&&e.lines+t.lines<=32?(s+=e.lines,l+=e.length+1,c[c.length-1]=new TE(t.text.concat(e.text),t.length+1+e.length)):(s+e.lines>n&&d(),s+=e.lines,l+=e.length+1,c.push(e))}function d(){0!=s&&(a.push(1==c.length?c[0]:jE.from(c,l)),l=-1,s=c.length=0)}for(let t of e)u(t);return d(),1==a.length?a[0]:new jE(a,t)}}function RE(e,t,r=0,n=1e9){for(let o=0,i=0,a=!0;i<e.length&&o<=n;i++){let s=e[i],l=o+s.length;l>=r&&(l>n&&(s=s.slice(0,n-o)),o<r&&(s=s.slice(r-o)),a?(t[t.length-1]+=s,a=!1):t.push(s)),o=l+1}return t}function ZE(e,t,r){return RE(e,[""],t,r)}qE.empty=new TE([""],0);class $E{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof TE?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],o=this.offsets[r],i=o>>1,a=n instanceof TE?n.text.length:n.children.length;if(i==(t>0?a:0)){if(0==r)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[r]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(n instanceof TE){let o=n.text[i+(t<0?-1:0)];if(this.offsets[r]+=t,o.length>Math.max(0,e))return this.value=0==e?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=n.children[i+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof TE?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class ME{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new $E(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}}class NE{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}}"undefined"!=typeof Symbol&&(qE.prototype[Symbol.iterator]=function(){return this.iter()},$E.prototype[Symbol.iterator]=ME.prototype[Symbol.iterator]=NE.prototype[Symbol.iterator]=function(){return this});class DE{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 LE(e,t,r){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,r))]}let IE="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((e=>e?parseInt(e,36):1));for(let e=1;e<IE.length;e++)IE[e]+=IE[e-1];function BE(e){for(let t=1;t<IE.length;t+=2)if(IE[t]>e)return IE[t-1]<=e;return!1}function QE(e){return e>=127462&&e<=127487}const zE=8205;function UE(e,t,r=!0,n=!0){return(r?FE:WE)(e,t,n)}function FE(e,t,r){if(t==e.length)return t;t&&YE(e.charCodeAt(t))&&VE(e.charCodeAt(t-1))&&t--;let n=XE(e,t);for(t+=GE(n);t<e.length;){let o=XE(e,t);if(n==zE||o==zE||r&&BE(o))t+=GE(o),n=o;else{if(!QE(o))break;{let r=0,n=t-2;for(;n>=0&&QE(XE(e,n));)r++,n-=2;if(r%2==0)break;t+=2}}}return t}function WE(e,t,r){for(;t>0;){let n=FE(e,t-2,r);if(n<t)return n;t--}return 0}function YE(e){return e>=56320&&e<57344}function VE(e){return e>=55296&&e<56320}function XE(e,t){let r=e.charCodeAt(t);if(!VE(r)||t+1==e.length)return r;let n=e.charCodeAt(t+1);return YE(n)?n-56320+(r-55296<<10)+65536:r}function HE(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function GE(e){return e<65536?1:2}const KE=/\r\n?|\n/;var JE=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(JE||(JE={}));class eP{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let o=this.sections[t++],i=this.sections[t++];i<0?(e(r,n,o),n+=o):n+=i,r+=o}}iterChangedRanges(e,t=!1){oP(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new eP(e)}composeDesc(e){return this.empty?e:e.empty?this:aP(this,e)}mapDesc(e,t=!1){return e.empty?this:iP(this,e,t)}mapPos(e,t=-1,r=JE.Simple){let n=0,o=0;for(let i=0;i<this.sections.length;){let a=this.sections[i++],s=this.sections[i++],l=n+a;if(s<0){if(l>e)return o+(e-n);o+=a}else{if(r!=JE.Simple&&l>=e&&(r==JE.TrackDel&&n<e&&l>e||r==JE.TrackBefore&&n<e||r==JE.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!a)return e==n||t<0?o:o+s;o+=s}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return o}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let o=n+this.sections[r++];if(this.sections[r++]>=0&&n<=t&&o>=e)return!(n<e&&o>t)||"cover";n=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new eP(e)}static create(e){return new eP(e)}}class tP extends eP{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return oP(this,((t,r,n,o,i)=>e=e.replace(n,n+(r-t),i)),!1),e}mapDesc(e,t=!1){return iP(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,o=0;n<t.length;n+=2){let i=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=i;let s=n>>1;for(;r.length<s;)r.push(qE.empty);r.push(i?e.slice(o,o+i):qE.empty)}o+=i}return new tP(t,r)}compose(e){return this.empty?e:e.empty?this:aP(this,e,!0)}map(e,t=!1){return e.empty?this:iP(this,e,t,!0)}iterChanges(e,t=!1){oP(this,e,t)}get desc(){return eP.create(this.sections)}filter(e){let t=[],r=[],n=[],o=new sP(this);e:for(let i=0,a=0;;){let s=i==e.length?1e9:e[i++];for(;a<s||a==s&&0==o.len;){if(o.done)break e;let e=Math.min(o.len,s-a);rP(n,e,-1);let i=-1==o.ins?-1:0==o.off?o.ins:0;rP(t,e,i),i>0&&nP(r,t,o.text),o.forward(e),a+=e}let l=e[i++];for(;a<l;){if(o.done)break e;let e=Math.min(o.len,l-a);rP(t,e,-1),rP(n,e,-1==o.ins?-1:0==o.off?o.ins:0),o.forward(e),a+=e}}return{changes:new tP(t,r),filtered:eP.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],n=this.sections[t+1];n<0?e.push(r):0==n?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let n=[],o=[],i=0,a=null;function s(e=!1){if(!e&&!n.length)return;i<t&&rP(n,t-i,-1);let r=new tP(n,o);a=a?a.compose(r.map(a)):r,n=[],o=[],i=0}return function e(l){if(Array.isArray(l))for(let t of l)e(t);else if(l instanceof tP){if(l.length!=t)throw new RangeError(`Mismatched change set length (got ${l.length}, expected ${t})`);s(),a=a?a.compose(l.map(a)):l}else{let{from:e,to:a=e,insert:c}=l;if(e>a||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let u=c?"string"==typeof c?qE.of(c.split(r||KE)):c:qE.empty,d=u.length;if(e==a&&0==d)return;e<i&&s(),e>i&&rP(n,e-i,-1),rP(n,a-e,d),nP(o,n,u),i=a}}(e),s(!a),a}static empty(e){return new tP(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let n=0;n<e.length;n++){let o=e[n];if("number"==typeof o)t.push(o,-1);else{if(!Array.isArray(o)||"number"!=typeof o[0]||o.some(((e,t)=>t&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;r.length<n;)r.push(qE.empty);r[n]=qE.of(o.slice(1)),t.push(o[0],r[n].length)}}}return new tP(t,r)}static createSet(e,t){return new tP(e,t)}}function rP(e,t,r,n=!1){if(0==t&&r<=0)return;let o=e.length-2;o>=0&&r<=0&&r==e[o+1]?e[o]+=t:0==t&&0==e[o]?e[o+1]+=r:n?(e[o]+=t,e[o+1]+=r):e.push(t,r)}function nP(e,t,r){if(0==r.length)return;let n=t.length-2>>1;if(n<e.length)e[e.length-1]=e[e.length-1].append(r);else{for(;e.length<n;)e.push(qE.empty);e.push(r)}}function oP(e,t,r){let n=e.inserted;for(let o=0,i=0,a=0;a<e.sections.length;){let s=e.sections[a++],l=e.sections[a++];if(l<0)o+=s,i+=s;else{let c=o,u=i,d=qE.empty;for(;c+=s,u+=l,l&&n&&(d=d.append(n[a-2>>1])),!(r||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(o,c,i,u,d),o=c,i=u}}}function iP(e,t,r,n=!1){let o=[],i=n?[]:null,a=new sP(e),s=new sP(t);for(let e=-1;;)if(-1==a.ins&&-1==s.ins){let e=Math.min(a.len,s.len);rP(o,e,-1),a.forward(e),s.forward(e)}else if(s.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(s.len<a.len||s.len==a.len&&!r))){let t=s.len;for(rP(o,s.ins,-1);t;){let r=Math.min(a.len,t);a.ins>=0&&e<a.i&&a.len<=r&&(rP(o,0,a.ins),i&&nP(i,o,a.text),e=a.i),a.forward(r),t-=r}s.next()}else{if(!(a.ins>=0)){if(a.done&&s.done)return i?tP.createSet(o,i):eP.create(o);throw new Error("Mismatched change set lengths")}{let t=0,r=a.len;for(;r;)if(-1==s.ins){let e=Math.min(r,s.len);t+=e,r-=e,s.forward(e)}else{if(!(0==s.ins&&s.len<r))break;r-=s.len,s.next()}rP(o,t,e<a.i?a.ins:0),i&&e<a.i&&nP(i,o,a.text),e=a.i,a.forward(a.len-r)}}}function aP(e,t,r=!1){let n=[],o=r?[]:null,i=new sP(e),a=new sP(t);for(let e=!1;;){if(i.done&&a.done)return o?tP.createSet(n,o):eP.create(n);if(0==i.ins)rP(n,i.len,0,e),i.next();else if(0!=a.len||a.done){if(i.done||a.done)throw new Error("Mismatched change set lengths");{let t=Math.min(i.len2,a.len),r=n.length;if(-1==i.ins){let r=-1==a.ins?-1:a.off?0:a.ins;rP(n,t,r,e),o&&r&&nP(o,n,a.text)}else-1==a.ins?(rP(n,i.off?0:i.len,t,e),o&&nP(o,n,i.textBit(t))):(rP(n,i.off?0:i.len,a.off?0:a.ins,e),o&&!a.off&&nP(o,n,a.text));e=(i.ins>t||a.ins>=0&&a.len>t)&&(e||n.length>r),i.forward2(t),a.forward(t)}}else rP(n,0,a.ins,e),o&&nP(o,n,a.text),a.next()}}class sP{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?qE.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?qE.empty:t[r].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class lP{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let r,n;return this.empty?r=n=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new lP(r,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return cP.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return cP.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return cP.range(e.anchor,e.head)}static create(e,t,r){return new lP(e,t,r)}}class cP{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:cP.create(this.ranges.map((r=>r.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new cP([this.main],0)}addRange(e,t=!0){return cP.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,cP.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((e=>e.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new cP(e.ranges.map((e=>lP.fromJSON(e))),e.main)}static single(e,t=e){return new cP([cP.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let r=0,n=0;n<e.length;n++){let o=e[n];if(o.empty?o.from<=r:o.from<r)return cP.normalized(e.slice(),t);r=o.to}return new cP(e,t)}static cursor(e,t=0,r,n){return lP.create(e,e,(0==t?0:t<0?8:16)|(null==r?7:Math.min(6,r))|(null!=n?n:16777215)<<6)}static range(e,t,r,n){let o=(null!=r?r:16777215)<<6|(null==n?7:Math.min(6,n));return t<e?lP.create(t,e,48|o):lP.create(e,t,(t>e?8:0)|o)}static normalized(e,t=0){let r=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(r);for(let r=1;r<e.length;r++){let n=e[r],o=e[r-1];if(n.empty?n.from<=o.to:n.from<o.to){let i=o.from,a=Math.max(n.to,o.to);r<=t&&t--,e.splice(--r,2,n.anchor>n.head?cP.range(a,i):cP.range(i,a))}}return new cP(e,t)}}function uP(e,t){for(let r of e.ranges)if(r.to>t)throw new RangeError("Selection points outside of document")}let dP=0;class pP{constructor(e,t,r,n,o){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=n,this.id=dP++,this.default=e([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(e={}){return new pP(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:hP),!!e.static,e.enables)}of(e){return new fP([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new fP(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new fP(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(r=>t(r.field(e))))}}function hP(e,t){return e==t||e.length==t.length&&e.every(((e,r)=>e===t[r]))}class fP{constructor(e,t,r,n){this.dependencies=e,this.facet=t,this.type=r,this.value=n,this.id=dP++}dynamicSlot(e){var t;let r=this.value,n=this.facet.compareInput,o=this.id,i=e[o]>>1,a=2==this.type,s=!1,l=!1,c=[];for(let r of this.dependencies)"doc"==r?s=!0:"selection"==r?l=!0:0==(1&(null!==(t=e[r.id])&&void 0!==t?t:1))&&c.push(e[r.id]);return{create:e=>(e.values[i]=r(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||gP(e,c)){let t=r(e);if(a?!mP(t,e.values[i],n):!n(t,e.values[i]))return e.values[i]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[o];if(null!=l){let o=_P(t,l);if(this.dependencies.every((r=>r instanceof pP?t.facet(r)===e.facet(r):!(r instanceof vP)||t.field(r,!1)==e.field(r,!1)))||(a?mP(s=r(e),o,n):n(s=r(e),o)))return e.values[i]=o,0}else s=r(e);return e.values[i]=s,1}}}}function mP(e,t,r){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1;return!0}function gP(e,t){let r=!1;for(let n of t)1&CP(e,n)&&(r=!0);return r}function bP(e,t,r){let n=r.map((t=>e[t.id])),o=r.map((e=>e.type)),i=n.filter((e=>!(1&e))),a=e[t.id]>>1;function s(e){let r=[];for(let t=0;t<n.length;t++){let i=_P(e,n[t]);if(2==o[t])for(let e of i)r.push(e);else r.push(i)}return t.combine(r)}return{create(e){for(let t of n)CP(e,t);return e.values[a]=s(e),1},update(e,r){if(!gP(e,i))return 0;let n=s(e);return t.compare(n,e.values[a])?0:(e.values[a]=n,1)},reconfigure(e,o){let i=gP(e,n),l=o.config.facets[t.id],c=o.facet(t);if(l&&!i&&hP(r,l))return e.values[a]=c,0;let u=s(e);return t.compare(u,c)?(e.values[a]=c,0):(e.values[a]=u,1)}}}const yP=pP.define({static:!0});class vP{constructor(e,t,r,n,o){this.id=e,this.createF=t,this.updateF=r,this.compareF=n,this.spec=o,this.provides=void 0}static define(e){let t=new vP(dP++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(yP).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,r)=>{let n=e.values[t],o=this.updateF(n,r);return this.compareF(n,o)?0:(e.values[t]=o,1)},reconfigure:(e,r)=>null!=r.config.address[this.id]?(e.values[t]=r.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,yP.of({field:this,create:e})]}get extension(){return this}}function OP(e){return t=>new AP(t,e)}const wP={highest:OP(0),high:OP(1),default:OP(2),low:OP(3),lowest:OP(4)};class AP{constructor(e,t){this.inner=e,this.prec=t}}class xP{of(e){return new kP(this,e)}reconfigure(e){return xP.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class kP{constructor(e,t){this.compartment=e,this.inner=t}}class SP{constructor(e,t,r,n,o,i){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=n,this.staticValues=o,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let n=[],o=Object.create(null),i=new Map;for(let r of function(e,t,r){let n=[[],[],[],[],[]],o=new Map;return function e(i,a){let s=o.get(i);if(null!=s){if(s<=a)return;let e=n[s].indexOf(i);e>-1&&n[s].splice(e,1),i instanceof kP&&r.delete(i.compartment)}if(o.set(i,a),Array.isArray(i))for(let t of i)e(t,a);else if(i instanceof kP){if(r.has(i.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(i.compartment)||i.inner;r.set(i.compartment,n),e(n,a)}else if(i instanceof AP)e(i.inner,i.prec);else if(i instanceof vP)n[a].push(i),i.provides&&e(i.provides,a);else if(i instanceof fP)n[a].push(i),i.facet.extensions&&e(i.facet.extensions,2);else{let t=i.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,a)}}(e,2),n.reduce(((e,t)=>e.concat(t)))}(e,t,i))r instanceof vP?n.push(r):(o[r.facet.id]||(o[r.facet.id]=[])).push(r);let a=Object.create(null),s=[],l=[];for(let e of n)a[e.id]=l.length<<1,l.push((t=>e.slot(t)));let c=null==r?void 0:r.config.facets;for(let e in o){let t=o[e],n=t[0].facet,i=c&&c[e]||[];if(t.every((e=>0==e.type)))if(a[n.id]=s.length<<1|1,hP(i,t))s.push(r.facet(n));else{let e=n.combine(t.map((e=>e.value)));s.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)0==e.type?(a[e.id]=s.length<<1|1,s.push(e.value)):(a[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));a[n.id]=l.length<<1,l.push((e=>bP(e,n,t)))}}let u=l.map((e=>e(a)));return new SP(e,i,u,a,s,o)}}function CP(e,t){if(1&t)return 2;let r=t>>1,n=e.status[r];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[r]=4;let o=e.computeSlot(e,e.config.dynamicSlots[r]);return e.status[r]=2|o}function _P(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const EP=pP.define(),PP=pP.define({combine:e=>e.some((e=>e)),static:!0}),qP=pP.define({combine:e=>e.length?e[0]:void 0,static:!0}),TP=pP.define(),jP=pP.define(),RP=pP.define(),ZP=pP.define({combine:e=>!!e.length&&e[0]});class $P{constructor(e,t){this.type=e,this.value=t}static define(){return new MP}}class MP{of(e){return new $P(this,e)}}class NP{constructor(e){this.map=e}of(e){return new DP(this,e)}}class DP{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new DP(this.type,t)}is(e){return this.type==e}static define(e={}){return new NP(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let n of e){let e=n.map(t);e&&r.push(e)}return r}}DP.reconfigure=DP.define(),DP.appendConfig=DP.define();class LP{constructor(e,t,r,n,o,i){this.startState=e,this.changes=t,this.selection=r,this.effects=n,this.annotations=o,this.scrollIntoView=i,this._doc=null,this._state=null,r&&uP(r,t.newLength),o.some((e=>e.type==LP.time))||(this.annotations=o.concat(LP.time.of(Date.now())))}static create(e,t,r,n,o,i){return new LP(e,t,r,n,o,i)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(LP.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function IP(e,t){let r=[];for(let n=0,o=0;;){let i,a;if(n<e.length&&(o==t.length||t[o]>=e[n]))i=e[n++],a=e[n++];else{if(!(o<t.length))return r;i=t[o++],a=t[o++]}!r.length||r[r.length-1]<i?r.push(i,a):r[r.length-1]<a&&(r[r.length-1]=a)}}function BP(e,t,r){var n;let o,i,a;return r?(o=t.changes,i=tP.empty(t.changes.length),a=e.changes.compose(t.changes)):(o=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(o)),{changes:a,selection:t.selection?t.selection.map(i):null===(n=e.selection)||void 0===n?void 0:n.map(o),effects:DP.mapEffects(e.effects,o).concat(DP.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function QP(e,t,r){let n=t.selection,o=FP(t.annotations);return t.userEvent&&(o=o.concat(LP.userEvent.of(t.userEvent))),{changes:t.changes instanceof tP?t.changes:tP.of(t.changes||[],r,e.facet(qP)),selection:n&&(n instanceof cP?n:cP.single(n.anchor,n.head)),effects:FP(t.effects),annotations:o,scrollIntoView:!!t.scrollIntoView}}function zP(e,t,r){let n=QP(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(r=!1);for(let o=1;o<t.length;o++){!1===t[o].filter&&(r=!1);let i=!!t[o].sequential;n=BP(n,QP(e,t[o],i?n.changes.newLength:e.doc.length),i)}let o=LP.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(e){let t=e.startState,r=t.facet(RP),n=e;for(let o=r.length-1;o>=0;o--){let i=r[o](e);i&&Object.keys(i).length&&(n=BP(n,QP(t,i,e.changes.newLength),!0))}return n==e?e:LP.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}(r?function(e){let t=e.startState,r=!0;for(let n of t.facet(TP)){let t=n(e);if(!1===t){r=!1;break}Array.isArray(t)&&(r=!0===r?t:IP(r,t))}if(!0!==r){let n,o;if(!1===r)o=e.changes.invertedDesc,n=tP.empty(t.doc.length);else{let t=e.changes.filter(r);n=t.changes,o=t.filtered.mapDesc(t.changes).invertedDesc}e=LP.create(t,n,e.selection&&e.selection.map(o),DP.mapEffects(e.effects,o),e.annotations,e.scrollIntoView)}let n=t.facet(jP);for(let r=n.length-1;r>=0;r--){let o=n[r](e);e=o instanceof LP?o:Array.isArray(o)&&1==o.length&&o[0]instanceof LP?o[0]:zP(t,FP(o),!1)}return e}(o):o)}LP.time=$P.define(),LP.userEvent=$P.define(),LP.addToHistory=$P.define(),LP.remote=$P.define();const UP=[];function FP(e){return null==e?UP:Array.isArray(e)?e:[e]}var WP=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(WP||(WP={}));const YP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let VP;try{VP=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(Me){}class XP{constructor(e,t,r,n,o,i){this.config=e,this.doc=t,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=o,i&&(i._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)CP(this,e<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(null!=r)return CP(this,r),_P(this,r);if(t)throw new RangeError("Field is not present in this state")}update(...e){return zP(this,e,!0)}applyTransaction(e){let t,r=this.config,{base:n,compartments:o}=r;for(let t of e.effects)t.is(xP.reconfigure)?(r&&(o=new Map,r.compartments.forEach(((e,t)=>o.set(t,e))),r=null),o.set(t.value.compartment,t.value.extension)):t.is(DP.reconfigure)?(r=null,n=t.value):t.is(DP.appendConfig)&&(r=null,n=FP(n).concat(t.value));r?t=e.startState.values.slice():(r=SP.resolve(n,o,this),t=new XP(r,this.doc,this.selection,r.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values);let i=e.startState.facet(PP)?e.newSelection:e.newSelection.asSingle();new XP(r,e.newDoc,i,t,((t,r)=>r.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:cP.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),n=this.changes(r.changes),o=[r.range],i=FP(r.effects);for(let r=1;r<t.ranges.length;r++){let a=e(t.ranges[r]),s=this.changes(a.changes),l=s.map(n);for(let e=0;e<r;e++)o[e]=o[e].map(l);let c=n.mapDesc(s,!0);o.push(a.range.map(c)),n=n.compose(l),i=DP.mapEffects(i,l).concat(DP.mapEffects(FP(a.effects),c))}return{changes:n,selection:cP.create(o,t.mainIndex),effects:i}}changes(e=[]){return e instanceof tP?e:tP.of(e,this.doc.length,this.facet(XP.lineSeparator))}toText(e){return qE.of(e.split(this.facet(XP.lineSeparator)||KE))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(CP(this,t),_P(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let n=e[r];n instanceof vP&&null!=this.config.address[n.id]&&(t[r]=n.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(r)for(let t in r)if(Object.prototype.hasOwnProperty.call(e,t)){let o=r[t],i=e[t];n.push(o.init((e=>o.spec.fromJSON(i,e))))}return XP.create({doc:e.doc,selection:cP.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=SP.resolve(e.extensions||[],new Map),r=e.doc instanceof qE?e.doc:qE.of((e.doc||"").split(t.staticFacet(XP.lineSeparator)||KE)),n=e.selection?e.selection instanceof cP?e.selection:cP.single(e.selection.anchor,e.selection.head):cP.single(0);return uP(n,r.length),t.staticFacet(PP)||(n=n.asSingle()),new XP(t,r,n,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(XP.tabSize)}get lineBreak(){return this.facet(XP.lineSeparator)||"\n"}get readOnly(){return this.facet(ZP)}phrase(e,...t){for(let t of this.facet(XP.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,r)=>{if("$"==r)return"$";let n=+(r||1);return!n||n>t.length?e:t[n-1]}))),e}languageDataAt(e,t,r=-1){let n=[];for(let o of this.facet(EP))for(let i of o(this,t,r))Object.prototype.hasOwnProperty.call(i,e)&&n.push(i[e]);return n}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return WP.Space;if(function(e){if(VP)return VP.test(e);for(let t=0;t<e.length;t++){let r=e[t];if(/\w/.test(r)||r>""&&(r.toUpperCase()!=r.toLowerCase()||YP.test(r)))return!0}return!1}(e))return WP.Word;for(let r=0;r<t.length;r++)if(e.indexOf(t[r])>-1)return WP.Word;return WP.Other};var t}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),o=this.charCategorizer(e),i=e-r,a=e-r;for(;i>0;){let e=UE(t,i,!1);if(o(t.slice(e,i))!=WP.Word)break;i=e}for(;a<n;){let e=UE(t,a);if(o(t.slice(a,e))!=WP.Word)break;a=e}return i==a?null:cP.range(i+r,a+r)}}function HP(e,t,r={}){let n={};for(let t of e)for(let e of Object.keys(t)){let o=t[e],i=n[e];if(void 0===i)n[e]=o;else if(i===o||void 0===o);else{if(!Object.hasOwnProperty.call(r,e))throw new Error("Config merge conflict for field "+e);n[e]=r[e](i,o)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}XP.allowMultipleSelections=PP,XP.tabSize=pP.define({combine:e=>e.length?e[0]:4}),XP.lineSeparator=qP,XP.readOnly=ZP,XP.phrases=pP.define({compare(e,t){let r=Object.keys(e),n=Object.keys(t);return r.length==n.length&&r.every((r=>e[r]==t[r]))}}),XP.languageData=EP,XP.changeFilter=TP,XP.transactionFilter=jP,XP.transactionExtender=RP,xP.reconfigure=DP.define();class GP{eq(e){return this==e}range(e,t=e){return KP.create(e,t,this)}}GP.prototype.startSide=GP.prototype.endSide=0,GP.prototype.point=!1,GP.prototype.mapMode=JE.TrackDel;class KP{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new KP(e,t,r)}}function JP(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class eq{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let o=r?this.to:this.from;for(let i=n,a=o.length;;){if(i==a)return i;let n=i+a>>1,s=o[n]-e||(r?this.value[n].endSide:this.value[n].startSide)-t;if(n==i)return s>=0?i:a;s>=0?a=n:i=n+1}}between(e,t,r,n){for(let o=this.findIndex(t,-1e9,!0),i=this.findIndex(r,1e9,!1,o);o<i;o++)if(!1===n(this.from[o]+e,this.to[o]+e,this.value[o]))return!1}map(e,t){let r=[],n=[],o=[],i=-1,a=-1;for(let s=0;s<this.value.length;s++){let l,c,u=this.value[s],d=this.from[s]+e,p=this.to[s]+e;if(d==p){let e=t.mapPos(d,u.startSide,u.mapMode);if(null==e)continue;if(l=c=e,u.startSide!=u.endSide&&(c=t.mapPos(d,u.endSide),c<l))continue}else if(l=t.mapPos(d,u.startSide),c=t.mapPos(p,u.endSide),l>c||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(i<0&&(i=l),u.point&&(a=Math.max(a,c-l)),r.push(u),n.push(l-i),o.push(c-i))}return{mapped:r.length?new eq(n,o,r,a):null,pos:i}}}class tq{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new tq(e,t,r,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:n=0,filterTo:o=this.length}=e,i=e.filter;if(0==t.length&&!i)return this;if(r&&(t=t.slice().sort(JP)),this.isEmpty)return t.length?tq.of(t):this;let a=new oq(this,null,-1).goto(0),s=0,l=[],c=new rq;for(;a.value||s<t.length;)if(s<t.length&&(a.from-t[s].from||a.startSide-t[s].value.startSide)>=0){let e=t[s++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndex<this.chunk.length&&(s==t.length||this.chunkEnd(a.chunkIndex)<t[s].from)&&(!i||n>this.chunkEnd(a.chunkIndex)||o<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!i||n>a.to||o<a.from||i(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||l.push(KP.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?tq.empty:this.nextLayer.update({add:l,filter:i,filterFrom:n,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],a=this.chunk[o],s=e.touchesRange(i,i+a.length);if(!1===s)n=Math.max(n,a.maxPoint),t.push(a),r.push(e.mapPos(i));else if(!0===s){let{mapped:o,pos:s}=a.map(i,e);o&&(n=Math.max(n,o.maxPoint),t.push(o),r.push(s))}}let o=this.nextLayer.map(e);return 0==t.length?o:new tq(r,t,o||tq.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],i=this.chunk[n];if(t>=o&&e<=o+i.length&&!1===i.between(o,e-o,t-o,r))return}this.nextLayer.between(e,t,r)}}iter(e=0){return iq.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return iq.from(e).goto(t)}static compare(e,t,r,n,o=-1){let i=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),a=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),s=nq(i,a,r),l=new sq(i,s,o),c=new sq(a,s,o);r.iterGaps(((e,t,r)=>lq(l,e,c,t,r,n))),r.empty&&0==r.length&&lq(l,0,c,0,0,n)}static eq(e,t,r=0,n){null==n&&(n=999999999);let o=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),i=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(o.length!=i.length)return!1;if(!o.length)return!0;let a=nq(o,i),s=new sq(o,a,0).goto(r),l=new sq(i,a,0).goto(r);for(;;){if(s.to!=l.to||!cq(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>n)return!0;s.next(),l.next()}}static spans(e,t,r,n,o=-1){let i=new sq(e,null,o).goto(t),a=t,s=i.openStart;for(;;){let e=Math.min(i.to,r);if(i.point){let r=i.activeForPoint(i.to),o=i.pointFrom<t?r.length+1:Math.min(r.length,s);n.point(a,e,i.point,r,o,i.pointRank),s=Math.min(i.openEnd(e),r.length)}else e>a&&(n.span(a,e,i.active,s),s=i.openEnd(e));if(i.to>r)return s+(i.point&&i.to>r?1:0);a=i.to,i.next()}}static of(e,t=!1){let r=new rq;for(let n of e instanceof KP?[e]:t?function(e){if(e.length>1)for(let t=e[0],r=1;r<e.length;r++){let n=e[r];if(JP(t,n)>0)return e.slice().sort(JP);t=n}return e}(e):e)r.add(n.from,n.to,n.value);return r.finish()}}tq.empty=new tq([],[],null,-1),tq.empty.nextLayer=tq.empty;class rq{finishChunk(e){this.chunks.push(new eq(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new rq)).add(e,t,r)}addInner(e,t,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(tq.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=tq.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function nq(e,t,r){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let o=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let i=n.get(e.chunk[t]);null==i||(r?r.mapPos(i):i)!=e.chunkPos[t]||(null==r?void 0:r.touchesRange(i,i+e.chunk[t].length))||o.add(e.chunk[t])}return o}class oq{constructor(e,t,r,n=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class iq{constructor(e){this.heap=e}static from(e,t=null,r=-1){let n=[];for(let o=0;o<e.length;o++)for(let i=e[o];!i.isEmpty;i=i.nextLayer)i.maxPoint>=r&&n.push(new oq(i,t,r,o));return 1==n.length?n[0]:new iq(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)aq(this.heap,e);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)aq(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),aq(this.heap,0)}}}function aq(e,t){for(let r=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let o=e[n];if(n+1<e.length&&o.compare(e[n+1])>=0&&(o=e[n+1],n++),r.compare(o)<0)break;e[n]=r,e[t]=o,t=n}}class sq{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=iq.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){uq(this.active,e),uq(this.activeTo,e),uq(this.activeRank,e),this.minActive=pq(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:n,rank:o}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=o;)t++;dq(this.active,t,r),dq(this.activeTo,t,n),dq(this.activeRank,t,o),e&&dq(e,t,this.cursor.from),this.minActive=pq(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&uq(r,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(r),this.cursor.next()}}}if(r){this.openStart=0;for(let t=r.length-1;t>=0&&r[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function lq(e,t,r,n,o,i){e.goto(t),r.goto(n);let a=n+o,s=n,l=n-t;for(;;){let t=e.to+l-r.to||e.endSide-r.endSide,n=t<0?e.to+l:r.to,o=Math.min(n,a);if(e.point||r.point?e.point&&r.point&&(e.point==r.point||e.point.eq(r.point))&&cq(e.activeForPoint(e.to),r.activeForPoint(r.to))||i.comparePoint(s,o,e.point,r.point):o>s&&!cq(e.active,r.active)&&i.compareRange(s,o,e.active,r.active),n>a)break;s=n,t<=0&&e.next(),t>=0&&r.next()}}function cq(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!=t[r]&&!e[r].eq(t[r]))return!1;return!0}function uq(e,t){for(let r=t,n=e.length-1;r<n;r++)e[r]=e[r+1];e.pop()}function dq(e,t,r){for(let r=e.length-1;r>=t;r--)e[r+1]=e[r];e[t]=r}function pq(e,t){let r=-1,n=1e9;for(let o=0;o<t.length;o++)(t[o]-n||e[o].endSide-e[r].endSide)<0&&(r=o,n=t[o]);return r}function hq(e,t,r=e.length){let n=0;for(let o=0;o<r;)9==e.charCodeAt(o)?(n+=t-n%t,o++):(n++,o=UE(e,o));return n}function fq(e,t,r,n){for(let n=0,o=0;;){if(o>=t)return n;if(n==e.length)break;o+=9==e.charCodeAt(n)?r-o%r:1,n=UE(e,n)}return!0===n?-1:e.length}const mq="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),gq="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),bq="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class yq{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function o(e,t,i,a){let s=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return i.push(e[0]+";");for(let r in t){let a=t[r];if(/&/.test(r))o(r.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),a,i);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+r+") should be a primitive value.");o(n(r),a,s,c)}else null!=a&&s.push(r.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+a+";")}(s.length||c)&&i.push((!r||l||a?e:e.map(r)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)o(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=bq[mq]||1;return bq[mq]=e+1,"ͼ"+e.toString(36)}static mount(e,t,r){let n=e[gq],o=r&&r.nonce;n?o&&n.setNonce(o):n=new Oq(e,o),n.mount(Array.isArray(t)?t:[t])}}let vq=new Map;class Oq{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=vq.get(r);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[gq]=t;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],vq.set(r,this)}else{this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[gq]=this}mount(e){let t=this.sheet,r=0,n=0;for(let o=0;o<e.length;o++){let i=e[o],a=this.modules.indexOf(i);if(a<n&&a>-1&&(this.modules.splice(a,1),n--,a=-1),-1==a){if(this.modules.splice(n++,0,i),t)for(let e=0;e<i.rules.length;e++)t.insertRule(i.rules[e],r++)}else{for(;n<a;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}for(var wq={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Aq={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},xq="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),kq="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Sq=0;Sq<10;Sq++)wq[48+Sq]=wq[96+Sq]=String(Sq);for(Sq=1;Sq<=24;Sq++)wq[Sq+111]="F"+Sq;for(Sq=65;Sq<=90;Sq++)wq[Sq]=String.fromCharCode(Sq+32),Aq[Sq]=String.fromCharCode(Sq);for(var Cq in wq)Aq.hasOwnProperty(Cq)||(Aq[Cq]=wq[Cq]);function _q(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function Eq(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Pq(e,t){if(!t.anchorNode)return!1;try{return Eq(e,t.anchorNode)}catch(e){return!1}}function qq(e){return 3==e.nodeType?Bq(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function Tq(e,t,r,n){return!!r&&(Rq(e,t,r,n,-1)||Rq(e,t,r,n,1))}function jq(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Rq(e,t,r,n,o){for(;;){if(e==r&&t==n)return!0;if(t==(o<0?0:Zq(e))){if("DIV"==e.nodeName)return!1;let r=e.parentNode;if(!r||1!=r.nodeType)return!1;t=jq(e)+(o<0?0:1),e=r}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(o<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=o<0?Zq(e):0}}}function Zq(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function $q(e,t){let r=t?e.left:e.right;return{left:r,right:r,top:e.top,bottom:e.bottom}}function Mq(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class Nq{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?Zq(t):0),r,Math.min(e.focusOffset,r?Zq(r):0))}set(e,t,r,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=n}}let Dq,Lq=null;function Iq(e){if(e.setActive)return e.setActive();if(Lq)return e.focus(Lq);let t=[];for(let r=e;r&&(t.push(r,r.scrollTop,r.scrollLeft),r!=r.ownerDocument);r=r.parentNode);if(e.focus(null==Lq?{get preventScroll(){return Lq={preventScroll:!0},!0}}:void 0),!Lq){Lq=!1;for(let e=0;e<t.length;){let r=t[e++],n=t[e++],o=t[e++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=o&&(r.scrollLeft=o)}}}function Bq(e,t,r=t){let n=Dq||(Dq=document.createRange());return n.setEnd(e,r),n.setStart(e,t),n}function Qq(e,t,r){let n={key:t,code:t,keyCode:r,which:r,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,e.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,e.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function zq(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Uq(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class Fq{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Fq(e.parentNode,jq(e),t)}static after(e,t){return new Fq(e.parentNode,jq(e)+1,t)}}const Wq=[];class Yq{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let r,n=this.dom,o=null;for(let i of this.children){if(7&i.flags){if(!i.dom&&(r=o?o.nextSibling:n.firstChild)){let e=Yq.get(r);(!e||!e.parent&&e.canReuseDOM(i))&&i.reuseDOM(r)}i.sync(e,t),i.flags&=-8}if(r=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&r!=i.dom&&(t.written=!0),i.dom.parentNode==n)for(;r&&r!=i.dom;)r=Vq(r);else n.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:n.firstChild,r&&t&&t.node==n&&(t.written=!0);r;)r=Vq(r)}else if(1&this.flags)for(let r of this.children)7&r.flags&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let n=0==Zq(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}r=n<0?e:e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!Yq.get(r);)r=r.nextSibling;if(!r)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==r)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,r=0){let n=-1,o=-1,i=-1,a=-1;for(let s=0,l=r,c=r;s<this.children.length;s++){let r=this.children[s],u=l+r.length;if(l<e&&u>t)return r.domBoundsAround(e,t,l);if(u>=e&&-1==n&&(n=s,o=l),l>t&&r.dom.parentNode==this.dom){i=s,a=c;break}c=u,l=u+r.breakAfter}return{from:o,to:a<0?r+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:i<this.children.length&&i>=0?this.children[i].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=Wq){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&r.indexOf(e)<0&&e.destroy()}this.children.splice(e,t-e,...r);for(let e=0;e<r.length;e++)r[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Xq(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,r,n,o,i){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){for(let e of this.children)e.destroy();this.parent=null}}function Vq(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Yq.prototype.breakAfter=0;class Xq{constructor(e,t,r){this.children=e,this.pos=t,this.i=r,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function Hq(e,t,r,n,o,i,a,s,l){let{children:c}=e,u=c.length?c[t]:null,d=i.length?i[i.length-1]:null,p=d?d.breakAfter:a;if(!(t==n&&u&&!a&&!p&&i.length<2&&u.merge(r,o,i.length?d:null,0==r,s,l))){if(n<c.length){let e=c[n];e&&(o<e.length||e.breakAfter&&(null==d?void 0:d.breakAfter))?(t==n&&(e=e.split(o),o=0),!p&&d&&e.merge(0,o,d,!0,0,l)?i[i.length-1]=e:((o||e.children.length&&!e.children[0].length)&&e.merge(0,o,null,!1,0,l),i.push(e))):(null==e?void 0:e.breakAfter)&&(d?d.breakAfter=1:a=1),n++}for(u&&(u.breakAfter=a,r>0&&(!a&&i.length&&u.merge(r,u.length,i[0],!1,s,0)?u.breakAfter=i.shift().breakAfter:(r<u.length||u.children.length&&0==u.children[u.children.length-1].length)&&u.merge(r,u.length,null,!1,s,0),t++));t<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),l=i.length?0:s;else{if(!c[t].become(i[0]))break;t++,i.shift(),s=i.length?0:l}!i.length&&t&&n<c.length&&!c[t-1].breakAfter&&c[n].merge(0,0,c[t-1],!1,s,l)&&t--,(t<n||i.length)&&e.replaceChildren(t,n,i)}}function Gq(e,t,r,n,o,i){let a=e.childCursor(),{i:s,off:l}=a.findPos(r,1),{i:c,off:u}=a.findPos(t,-1),d=t-r;for(let e of n)d+=e.length;e.length+=d,Hq(e,c,u,s,l,n,0,o,i)}let Kq="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Jq="undefined"!=typeof document?document:{documentElement:{style:{}}};const eT=/Edge\/(\d+)/.exec(Kq.userAgent),tT=/MSIE \d/.test(Kq.userAgent),rT=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Kq.userAgent),nT=!!(tT||rT||eT),oT=!nT&&/gecko\/(\d+)/i.test(Kq.userAgent),iT=!nT&&/Chrome\/(\d+)/.exec(Kq.userAgent),aT="webkitFontSmoothing"in Jq.documentElement.style,sT=!nT&&/Apple Computer/.test(Kq.vendor),lT=sT&&(/Mobile\/\w+/.test(Kq.userAgent)||Kq.maxTouchPoints>2);var cT={mac:lT||/Mac/.test(Kq.platform),windows:/Win/.test(Kq.platform),linux:/Linux|X11/.test(Kq.platform),ie:nT,ie_version:tT?Jq.documentMode||6:rT?+rT[1]:eT?+eT[1]:0,gecko:oT,gecko_version:oT?+(/Firefox\/(\d+)/.exec(Kq.userAgent)||[0,0])[1]:0,chrome:!!iT,chrome_version:iT?+iT[1]:0,ios:lT,android:/Android\b/.test(Kq.userAgent),webkit:aT,safari:sT,webkit_version:aT?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Jq.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class uT extends Yq{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,r){return!(8&this.flags||r&&(!(r instanceof uT)||this.length-(t-e)+r.length>256||8&r.flags)||(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new uT(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Fq(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,r){let n=e.nodeValue.length;t>n&&(t=n);let o=t,i=t,a=0;0==t&&r<0||t==n&&r>=0?cT.chrome||cT.gecko||(t?(o--,a=1):i<n&&(i++,a=-1)):r<0?o--:i<n&&i++;let s=Bq(e,o,i).getClientRects();if(!s.length)return null;let l=s[(a?a<0:r>=0)?0:s.length-1];return cT.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l),a?$q(l,a<0):l||null}(this.dom,e,t)}}class dT extends Yq{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let e of t)e.setParent(this)}setAttrs(e){if(zq(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof dT&&r.mark.eq(this.mark))||e&&o<=0||t<this.length&&i<=0)||(Gq(this,e,t,r?r.children:[],o-1,i-1),this.markDirty(),0))}split(e){let t=[],r=0,n=-1,o=0;for(let i of this.children){let a=r+i.length;a>e&&t.push(r<e?i.split(e-r):i),n<0&&r>=e&&(n=o),r=a,o++}let i=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new dT(this.mark,t,i)}domAtPos(e){return fT(this,e)}coordsAt(e,t){return gT(this,e,t)}}class pT extends Yq{static create(e,t,r){return new pT(e,t,r)}constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}split(e){let t=pT.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof pT&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}become(e){return e instanceof pT&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return qE.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,r=t&&t.state.doc,n=this.posAtStart;return r?r.slice(n,n+this.length):qE.empty}domAtPos(e){return(this.length?0==e:this.side>0)?Fq.before(this.dom):Fq.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let i=this.side?this.side<0:e>0;for(let t=i?n.length-1:0;o=n[t],!(e>0?0==t:t==n.length-1||o.top<o.bottom);t+=i?-1:1);return $q(o,!i)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class hT extends Yq{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof hT&&e.side==this.side}split(){return new hT(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Fq.before(this.dom):Fq.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return qE.empty}get isHidden(){return!0}}function fT(e,t){let r=e.dom,{children:n}=e,o=0;for(let e=0;o<n.length;o++){let i=n[o],a=e+i.length;if(!(a==e&&i.getSide()<=0)){if(t>e&&t<a&&i.dom.parentNode==r)return i.domAtPos(t-e);if(t<=e)break;e=a}}for(let e=o;e>0;e--){let t=n[e-1];if(t.dom.parentNode==r)return t.domAtPos(t.length)}for(let e=o;e<n.length;e++){let t=n[e];if(t.dom.parentNode==r)return t.domAtPos(0)}return new Fq(r,0)}function mT(e,t,r){let n,{children:o}=e;r>0&&t instanceof dT&&o.length&&(n=o[o.length-1])instanceof dT&&n.mark.eq(t.mark)?mT(n,t.children[0],r-1):(o.push(t),t.setParent(e)),e.length+=t.length}function gT(e,t,r){let n=null,o=-1,i=null,a=-1;!function e(t,s){for(let l=0,c=0;l<t.children.length&&c<=s;l++){let u=t.children[l],d=c+u.length;d>=s&&(u.children.length?e(u,s-c):(!i||i.isHidden&&r>0)&&(d>s||c==d&&u.getSide()>0)?(i=u,a=s-c):(c<s||c==d&&u.getSide()<0&&!u.isHidden)&&(n=u,o=s-c)),c=d}}(e,t);let s=(r<0?n:i)||n||i;return s?s.coordsAt(Math.max(0,s==n?o:a),r):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let r=qq(t);return r[r.length-1]||null}(e)}function bT(e,t){for(let r in e)"class"==r&&t.class?t.class+=" "+e.class:"style"==r&&t.style?t.style+=";"+e.style:t[r]=e[r];return t}uT.prototype.children=pT.prototype.children=hT.prototype.children=Wq;const yT=Object.create(null);function vT(e,t,r){if(e==t)return!0;e||(e=yT),t||(t=yT);let n=Object.keys(e),o=Object.keys(t);if(n.length-(r&&n.indexOf(r)>-1?1:0)!=o.length-(r&&o.indexOf(r)>-1?1:0))return!1;for(let i of n)if(i!=r&&(-1==o.indexOf(i)||e[i]!==t[i]))return!1;return!0}function OT(e,t,r){let n=!1;if(t)for(let o in t)r&&o in r||(n=!0,"style"==o?e.style.cssText="":e.removeAttribute(o));if(r)for(let o in r)t&&t[o]==r[o]||(n=!0,"style"==o?e.style.cssText=r[o]:e.setAttribute(o,r[o]));return n}function wT(e){let t=Object.create(null);for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r];t[n.name]=n.value}return t}class AT extends Yq{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,n,o,i){if(r){if(!(r instanceof AT))return!1;this.dom||r.transferDOM(this)}return n&&this.setDeco(r?r.attrs:null),Gq(this,e,t,r?r.children:[],o,i),!0}split(e){let t=new AT;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:r,off:n}=this.childPos(e);n&&(t.append(this.children[r].split(n),0),this.children[r].merge(n,this.children[r].length,null,!1,0,0),r++);for(let e=r;e<this.children.length;e++)t.append(this.children[e],0);for(;r>0&&0==this.children[r-1].length;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){vT(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){mT(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=bT(t,this.attrs||{})),r&&(this.attrs=bT({class:r},this.attrs||{}))}domAtPos(e){return fT(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?4&this.flags&&(zq(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(OT(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&Yq.get(n)instanceof dT;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(r=Yq.get(n))||void 0===r?void 0:r.isEditable)||cT.ios&&this.children.some((e=>e instanceof uT))))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let r of this.children){if(!(r instanceof uT)||/[^ -~]/.test(r.text))return null;let n=qq(r.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let r=gT(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=r.bottom-r.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let n=(t-e.textHeight)/2;return{top:r.top+n,bottom:r.bottom-n,left:r.left,right:r.left}}}return r}become(e){return!1}covers(){return!0}static find(e,t){for(let r=0,n=0;r<e.children.length;r++){let o=e.children[r],i=n+o.length;if(i>=t){if(o instanceof AT)return o;if(i>t)break}n=i+o.breakAfter}return null}}class xT extends Yq{constructor(e,t,r){super(),this.widget=e,this.length=t,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,n,o,i){return!(r&&(!(r instanceof xT&&this.widget.compare(r.widget))||e>0&&o<=0||t<this.length&&i<=0)||(this.length=e+(r?r.length:0)+(this.length-t),0))}domAtPos(e){return 0==e?Fq.before(this.dom):Fq.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let r=new xT(this.widget,t,this.deco);return r.breakAfter=this.breakAfter,r}get children(){return Wq}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):qE.empty}domBoundsAround(){return null}become(e){return e instanceof xT&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:r}=this.deco;return t!=r&&(e<0?t<0:r>0)}}class kT{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}destroy(e){}}var ST=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(ST||(ST={}));class CT extends GP{constructor(e,t,r,n){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new _T(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new PT(e,t,t,r,e.widget||null,!1)}static replace(e){let t,r,n=!!e.block;if(e.isBlockGap)t=-5e8,r=4e8;else{let{start:o,end:i}=qT(e,n);t=(o?n?-3e8:-1:5e8)-1,r=1+(i?n?2e8:1:-6e8)}return new PT(e,t,r,n,e.widget||null,!0)}static line(e){return new ET(e)}static set(e,t=!1){return tq.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}CT.none=tq.empty;class _T extends CT{constructor(e){let{start:t,end:r}=qT(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof _T&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(r=e.attrs)||void 0===r?void 0:r.class))&&vT(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}_T.prototype.point=!1;class ET extends CT{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ET&&this.spec.class==e.spec.class&&vT(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}ET.prototype.mapMode=JE.TrackBefore,ET.prototype.point=!0;class PT extends CT{constructor(e,t,r,n,o,i){super(t,r,o,e),this.block=n,this.isReplace=i,this.mapMode=n?t<=0?JE.TrackBefore:JE.TrackAfter:JE.TrackDel}get type(){return this.startSide!=this.endSide?ST.WidgetRange:this.startSide<=0?ST.WidgetBefore:ST.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof PT&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function qT(e,t=!1){let{inclusiveStart:r,inclusiveEnd:n}=e;return null==r&&(r=e.inclusive),null==n&&(n=e.inclusive),{start:null!=r?r:t,end:null!=n?n:t}}function TT(e,t,r,n=0){let o=r.length-1;o>=0&&r[o]+n>=e?r[o]=Math.max(r[o],t):r.push(e,t)}PT.prototype.point=!0;class jT{constructor(e,t,r,n){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof xT&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new AT),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(RT(new hT(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof xT||this.getLine()}buildText(e,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:r,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(r){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(RT(new uT(this.text.slice(this.textOff,this.textOff+n)),t),r),this.atCursorPos=!0,this.textOff+=n,e-=n,r=0}}span(e,t,r,n){this.buildText(t-e,r,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,r,n,o,i){if(this.disallowBlockEffectsFor[i]&&r instanceof PT){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(r instanceof PT)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new xT(r.widget||new ZT("div"),a,r));else{let i=pT.create(r.widget||new ZT("span"),a,a?0:r.startSide),s=this.atCursorPos&&!i.isEditable&&o<=n.length&&(e<t||r.startSide>0),l=!i.isEditable&&(e<t||o>n.length||r.startSide<=0),c=this.getLine();2!=this.pendingBuffer||s||i.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),s&&(c.append(RT(new hT(1),n),o),o=n.length+Math.max(0,o-n.length)),c.append(RT(i,n),o),this.atCursorPos=l,this.pendingBuffer=l?e<t||o>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=o)}static build(e,t,r,n,o){let i=new jT(e,t,r,o);return i.openEnd=tq.spans(n,t,r,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}}function RT(e,t){for(let r of t)e=new dT(r,[e],e.length);return e}class ZT extends kT{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const $T=pP.define(),MT=pP.define(),NT=pP.define(),DT=pP.define(),LT=pP.define(),IT=pP.define(),BT=pP.define(),QT=pP.define({combine:e=>e.some((e=>e))}),zT=pP.define({combine:e=>e.some((e=>e))});class UT{constructor(e,t="nearest",r="nearest",n=5,o=5,i=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=o,this.isSnapshot=i}map(e){return e.empty?this:new UT(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 UT(cP.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const FT=DP.define({map:(e,t)=>e.map(t)});function WT(e,t,r){let n=e.facet(DT);n.length?n[0](t):window.onerror?window.onerror(String(t),r,void 0,void 0,t):r?console.error(r+":",t):console.error(t)}const YT=pP.define({combine:e=>!e.length||e[0]});let VT=0;const XT=pP.define();class HT{constructor(e,t,r,n,o){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=n,this.extension=o(this)}static define(e,t){const{eventHandlers:r,eventObservers:n,provide:o,decorations:i}=t||{};return new HT(VT++,e,r,n,(e=>{let t=[XT.of(e)];return i&&t.push(ej.of((t=>{let r=t.plugin(e);return r?i(r):CT.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return HT.define((t=>new e(t)),t)}}class GT{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(WT(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){WT(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){WT(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const KT=pP.define(),JT=pP.define(),ej=pP.define(),tj=pP.define(),rj=pP.define();function nj(e,t,r){let n=e.state.facet(rj);if(!n.length)return n;let o=n.map((t=>t instanceof Function?t(e):t)),i=[];return tq.spans(o,t,r,{point(){},span(e,t,r,n){let o=i;for(let i=r.length-1;i>=0;i--,n--){let a,s=r[i].spec.bidiIsolate;if(null!=s)if(n>0&&o.length&&(a=o[o.length-1]).to==e&&a.direction==s)a.to=t,o=a.inner;else{let r={from:e,to:t,direction:s,inner:[]};o.push(r),o=r.inner}}}}),i}const oj=pP.define();function ij(e){let t=0,r=0,n=0,o=0;for(let i of e.state.facet(oj)){let a=i(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(r=Math.max(r,a.right)),null!=a.top&&(n=Math.max(n,a.top)),null!=a.bottom&&(o=Math.max(o,a.bottom)))}return{left:t,right:r,top:n,bottom:o}}const aj=pP.define();class sj{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new sj(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.toA<r.fromA)break;r=r.join(n),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(0==t.length)return e;let r=[];for(let n=0,o=0,i=0,a=0;;n++){let s=n==e.length?null:e[n],l=i-a,c=s?s.fromB:1e9;for(;o<t.length&&t[o]<c;){let e=t[o],n=t[o+1],i=Math.max(a,e),s=Math.min(c,n);if(i<=s&&new sj(i+l,s+l,i,s).addToSet(r),n>c)break;o+=2}if(!s)return r;new sj(s.fromA,s.toA,s.fromB,s.toB).addToSet(r),i=s.toA,a=s.toB}}}class lj{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=tP.empty(this.startState.doc.length);for(let e of r)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges(((e,t,r,o)=>n.push(new sj(e,t,r,o)))),this.changedRanges=n}static create(e,t,r){return new lj(e,t,r)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var cj=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(cj||(cj={}));const uj=cj.LTR,dj=cj.RTL;function pj(e){let t=[];for(let r=0;r<e.length;r++)t.push(1<<+e[r]);return t}const hj=pj("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),fj=pj("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),mj=Object.create(null),gj=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),r=e.charCodeAt(1);mj[t]=r,mj[r]=-t}const bj=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class yj{get dir(){return this.level%2?dj:uj}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,r,n){let o=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.from<=t&&a.to>=t){if(a.level==r)return i;(o<0||(0!=n?n<0?a.from<t:a.to>t:e[o].level>a.level))&&(o=i)}}if(o<0)throw new RangeError("Index out of range");return o}}function vj(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!vj(n.inner,o.inner))return!1}return!0}const Oj=[];function wj(e,t,r,n,o,i,a){let s=n%2?2:1;if(n%2==o%2)for(let l=t,c=0;l<r;){let t=!0,u=!1;if(c==i.length||l<i[c].from){let e=Oj[l];e!=s&&(t=!1,u=16==e)}let d=t||1!=s?null:[],p=t?n:n+1,h=l;e:for(;;)if(c<i.length&&h==i[c].from){if(u)break e;let f=i[c];if(!t)for(let e=f.to,t=c+1;;){if(e==r)break e;if(!(t<i.length&&i[t].from==e)){if(Oj[e]==s)break e;break}e=i[t++].to}c++,d?d.push(f):(f.from>l&&a.push(new yj(l,f.from,p)),Aj(e,f.direction==uj!=!(p%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.to),h=f.to}else{if(h==r||(t?Oj[h]!=s:Oj[h]==s))break;h++}d?wj(e,l,h,n+1,o,d,a):l<h&&a.push(new yj(l,h,p)),l=h}else for(let l=r,c=i.length;l>t;){let r=!0,u=!1;if(!c||l>i[c-1].to){let e=Oj[l-1];e!=s&&(r=!1,u=16==e)}let d=r||1!=s?null:[],p=r?n:n+1,h=l;e:for(;;)if(c&&h==i[c-1].to){if(u)break e;let f=i[--c];if(!r)for(let e=f.from,r=c;;){if(e==t)break e;if(!r||i[r-1].to!=e){if(Oj[e-1]==s)break e;break}e=i[--r].from}d?d.push(f):(f.to<l&&a.push(new yj(f.to,l,p)),Aj(e,f.direction==uj!=!(p%2)?n+1:n,o,f.inner,f.from,f.to,a),l=f.from),h=f.from}else{if(h==t||(r?Oj[h-1]!=s:Oj[h-1]==s))break;h--}d?wj(e,h,l,n+1,o,d,a):h<l&&a.push(new yj(h,l,p)),l=h}}function Aj(e,t,r,n,o,i,a){let s=t%2?2:1;!function(e,t,r,n,o){for(let a=0;a<=n.length;a++){let s=a?n[a-1].to:t,l=a<n.length?n[a].from:r,c=a?256:o;for(let t=s,r=c,n=c;t<l;t++){let o=(i=e.charCodeAt(t))<=247?hj[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?fj[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8203?256:64336<=i&&i<=65023?4:8204==i?256:1;512==o?o=r:8==o&&4==n&&(o=16),Oj[t]=4==o?2:o,7&o&&(n=o),r=o}for(let e=s,t=c,n=c;e<l;e++){let o=Oj[e];if(128==o)e<l-1&&t==Oj[e+1]&&24&t?o=Oj[e]=t:Oj[e]=256;else if(64==o){let o=e+1;for(;o<l&&64==Oj[o];)o++;let i=e&&8==t||o<r&&8==Oj[o]?1==n?1:8:256;for(let t=e;t<o;t++)Oj[t]=i;e=o-1}else 8==o&&1==n&&(Oj[e]=1);t=o,7&o&&(n=o)}}var i}(e,o,i,n,s),function(e,t,r,n,o){let i=1==o?2:1;for(let a=0,s=0,l=0;a<=n.length;a++){let c=a?n[a-1].to:t,u=a<n.length?n[a].from:r;for(let t,r,n,a=c;a<u;a++)if(r=mj[t=e.charCodeAt(a)])if(r<0){for(let e=s-3;e>=0;e-=3)if(gj[e+1]==-r){let t=gj[e+2],r=2&t?o:4&t?1&t?i:o:0;r&&(Oj[a]=Oj[gj[e]]=r),s=e;break}}else{if(189==gj.length)break;gj[s++]=a,gj[s++]=t,gj[s++]=l}else if(2==(n=Oj[a])||1==n){let e=n==o;l=e?0:1;for(let t=s-3;t>=0;t-=3){let r=gj[t+2];if(2&r)break;if(e)gj[t+2]|=2;else{if(4&r)break;gj[t+2]|=4}}}}}(e,o,i,n,s),function(e,t,r,n){for(let o=0,i=n;o<=r.length;o++){let a=o?r[o-1].to:e,s=o<r.length?r[o].from:t;for(let l=a;l<s;){let a=Oj[l];if(256==a){let a=l+1;for(;;)if(a==s){if(o==r.length)break;a=r[o++].to,s=o<r.length?r[o].from:t}else{if(256!=Oj[a])break;a++}let c=1==i,u=c==(1==(a<t?Oj[a]:n))?c?1:2:n;for(let t=a,n=o,i=n?r[n-1].to:e;t>l;)t==i&&(t=r[--n].from,i=n?r[n-1].to:e),Oj[--t]=u;l=a}else i=a,l++}}}(o,i,n,s),wj(e,o,i,t,r,n,a)}function xj(e){return[new yj(0,e,0)]}let kj="";function Sj(e,t,r,n,o){var i;let a=n.head-e.from,s=-1;if(0==a){if(!o||!e.length)return null;t[0].level!=r&&(a=t[0].side(!1,r),s=0)}else if(a==e.length){if(o)return null;let e=t[t.length-1];e.level!=r&&(a=e.side(!0,r),s=t.length-1)}s<0&&(s=yj.find(t,a,null!==(i=n.bidiLevel)&&void 0!==i?i:-1,n.assoc));let l=t[s];a==l.side(o,r)&&(l=t[s+=o?1:-1],a=l.side(!o,r));let c=o==(l.dir==r),u=UE(e.text,a,c);if(kj=e.text.slice(Math.min(a,u),Math.max(a,u)),u!=l.side(o,r))return cP.cursor(u+e.from,c?-1:1,l.level);let d=s==(o?t.length-1:0)?null:t[s+(o?1:-1)];return d||l.level==r?d&&d.level<l.level?cP.cursor(d.side(!o,r)+e.from,o?1:-1,d.level):cP.cursor(u+e.from,o?-1:1,l.level):cP.cursor(o?e.to:e.from,o?-1:1,r)}class Cj extends Yq{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,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 AT],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new sj(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:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?n=this.domChanged.newSel.head:function(e,t){let r=!1;return t&&e.iterChangedRanges(((e,n)=>{e<t.to&&n>t.from&&(r=!0)})),r}(e.changes,this.hasComposition)||e.selectionSet||(n=e.state.selection.main.head));let o=n>-1?function(e,t,r){let n=Ej(e,r);if(!n)return null;let{node:o,from:i,to:a}=n,s=o.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(n.from,n.to)!=s)return null;let l=t.invertedDesc,c=new sj(l.mapPos(i),l.mapPos(a),i,a),u=[];for(let t=o.parentNode;;t=t.parentNode){let r=Yq.get(t);if(r instanceof dT)u.push({node:t,deco:r.mark});else{if(r instanceof AT||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:o,marks:u,line:t};if(t==e.contentDOM)return null;u.push({node:t,deco:new _T({inclusive:!0,attributes:wT(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;r=new sj(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(r.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(cT.ie||cT.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=function(e,t,r){let n=new qj;return tq.compare(e,t,r,n),n.changes}(this.decorations,this.updateDeco(),e.changes);return r=sj.extendWithRanges(r,i),!!(7&this.flags||0!=r.length)&&(this.updateInner(r,e.startState.doc.length,o),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 e=cT.chrome||cT.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof xT&&e.widget instanceof _j&&o.push(e.dom);n.updateGaps(o)}updateChildren(e,t,r){let n=r?r.range.addToSet(e.slice()):e,o=this.childCursor(t);for(let e=n.length-1;;e--){let t=e>=0?n[e]:null;if(!t)break;let i,a,s,l,{fromA:c,toA:u,fromB:d,toB:p}=t;if(r&&r.range.fromB<p&&r.range.toB>d){let e=jT.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),t=jT.build(this.view.state.doc,r.range.toB,p,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,s=e.openStart,l=t.openEnd;let n=this.compositionView(r);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),i=e.content.concat(n).concat(t.content)}else({content:i,breakAtStart:a,openStart:s,openEnd:l}=jT.build(this.view.state.doc,d,p,this.decorations,this.dynamicDecorationMap));let{i:h,off:f}=o.findPos(u,1),{i:m,off:g}=o.findPos(c,-1);Hq(this,m,g,h,f,i,a,s,l)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new uT(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new dT(r,[t],t.length);let r=new AT;return r.append(t,0),r}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let r=Yq.get(e);r&&r!=t&&(r.dom=null),t.setDOM(e)},r=this.childPos(e.range.fromB,1),n=this.children[r.i];t(e.line,n);for(let o=e.marks.length-1;o>=-1;o--)r=n.childPos(r.off,1),n=n.children[r.i],t(o>=0?e.marks[o].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,o=!n&&Pq(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||o))return;let i=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?s:this.moveToLine(this.domAtPos(a.head));if(cT.gecko&&a.empty&&!this.hasComposition&&1==(c=s).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=l=new Fq(e,0),i=!0}var c;let u=this.view.observer.selectionRange;!i&&u.focusNode&&Tq(s.node,s.offset,u.anchorNode,u.anchorOffset)&&Tq(l.node,l.offset,u.focusNode,u.focusOffset)||(this.view.observer.ignore((()=>{cT.android&&cT.chrome&&this.dom.contains(u.focusNode)&&function(e,t){for(let r=e;r&&r!=t;r=r.assignedSlot||r.parentNode)if(1==r.nodeType&&"false"==r.contentEditable)return!0;return!1}(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=_q(this.view.root);if(e)if(a.empty){if(cT.gecko){let e=(t=s.node,n=s.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable?2:0));if(e&&3!=e){let t=Pj(s.node,s.offset,1==e?1:-1);t&&(s=new Fq(t.node,t.offset))}}e.collapse(s.node,s.offset),null!=a.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=a.bidiLevel)}else if(e.extend){e.collapse(s.node,s.offset);try{e.extend(l.node,l.offset)}catch(e){}}else{let t=document.createRange();a.anchor>a.head&&([s,l]=[l,s]),t.setEnd(l.node,l.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}var t,n;o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())})),this.view.observer.setSelectionRange(s,l)),this.impreciseAnchor=s.precise?null:new Fq(u.anchorNode,u.anchorOffset),this.impreciseHead=l.precise?null:new Fq(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=_q(e.root),{anchorNode:n,anchorOffset:o}=e.observer.selectionRange;if(!(r&&t.empty&&t.assoc&&r.modify))return;let i=AT.find(this,t.head);if(!i)return;let a=i.posAtStart;if(t.head==a||t.head==a+i.length)return;let s=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!s||!l||s.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);r.collapse(c.node,c.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(n,o)}moveToLine(e){let t,r=this.dom;if(e.node!=r)return e;for(let n=e.offset;!t&&n<r.childNodes.length;n++){let e=Yq.get(r.childNodes[n]);e instanceof AT&&(t=e.domAtPos(0))}for(let n=e.offset-1;!t&&n>=0;n--){let e=Yq.get(r.childNodes[n]);e instanceof AT&&(t=e.domAtPos(e.length))}return t?new Fq(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=Yq.get(t);if(e&&e.rootView==this)return e;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<this.children.length-1;){let e=this.children[t];if(r<e.length||e instanceof AT)break;t++,r=0}return this.children[t].domAtPos(r)}coordsAt(e,t){let r=null,n=0;for(let o=this.length,i=this.children.length-1;i>=0;i--){let a=this.children[i],s=o-a.breakAfter,l=s-a.length;if(s<e)break;l<=e&&(l<e||a.covers(-1))&&(s>e||a.covers(1))&&(!r||a instanceof AT&&!(r instanceof AT&&t>=0))&&(r=a,n=l),o=l}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 AT))return null;for(;n.children.length;){let{i:e,off:t}=n.childPos(r,1);for(;;e++){if(e==n.children.length)return null;if((n=n.children[e]).length)break}r=t}if(!(n instanceof uT))return null;let o=UE(n.text,r);if(o==r)return null;let i=Bq(n.dom,r,o).getClientRects();for(let e=0;e<i.length;e++){let t=i[e];if(e==i.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:r,to:n}=e,o=this.view.contentDOM.clientWidth,i=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==cj.LTR;for(let e=0,l=0;l<this.children.length;l++){let c=this.children[l],u=e+c.length;if(u>n)break;if(e>=r){let r=c.dom.getBoundingClientRect();if(t.push(r.height),i){let t=c.dom.lastChild,n=t?qq(t):[];if(n.length){let t=n[n.length-1],i=s?t.right-r.left:r.right-t.left;i>a&&(a=i,this.minWidth=o,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?cj.RTL:cj.LTR}measureTextSize(){for(let e of this.children)if(e instanceof AT){let t=e.measureTextSize();if(t)return t}let e,t,r,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let o=qq(n.firstChild)[0];e=n.getBoundingClientRect().height,t=o?o.width/27:7,r=o?o.height:e,n.remove()})),{lineHeight:e,charWidth:t,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Xq(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let o=n==t.viewports.length?null:t.viewports[n],i=o?o.from-1:this.length;if(i>r){let n=(t.lineBlockAt(i).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(CT.replace({widget:new _j(n),block:!0,inclusive:!0,isBlockGap:!0}).range(r,i))}if(!o)break;r=o.to+1}return CT.set(e)}updateDeco(){let e=this.view.state.facet(ej).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}let t,{range:r}=e,n=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1);if(!n)return;!r.empty&&(t=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let o=ij(this.view),i={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:a,offsetHeight:s}=this.view.scrollDOM;!function(e,t,r,n,o,i,a,s){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,d=!1;u&&!d;)if(1==u.nodeType){let e,p=u==l.body,h=1,f=1;if(p)e=Mq(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();h=t.width/u.offsetWidth,f=t.height/u.offsetHeight,e={left:t.left,right:t.left+u.clientWidth*h,top:t.top,bottom:t.top+u.clientHeight*f}}let m=0,g=0;if("nearest"==o)t.top<e.top?(g=-(e.top-t.top+a),r>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+a)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+a,r<0&&t.top-g<e.top&&(g=-(e.top+g-t.top+a)));else{let n=t.bottom-t.top,i=e.bottom-e.top;g=("center"==o&&n<=i?t.top+n/2-i/2:"start"==o||"center"==o&&r<0?t.top-a:t.bottom-i+a)-e.top}if("nearest"==n?t.left<e.left?(m=-(e.left-t.left+i),r>0&&t.right>e.right+m&&(m=t.right-e.right+m+i)):t.right>e.right&&(m=t.right-e.right+i,r<0&&t.left<e.left+m&&(m=-(e.left+m-t.left+i))):m=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==s?t.left-i:t.right-(e.right-e.left)+i)-e.left,m||g)if(p)c.scrollBy(m,g);else{let e=0,r=0;if(g){let e=u.scrollTop;u.scrollTop+=g/f,r=(u.scrollTop-e)*f}if(m){let t=u.scrollLeft;u.scrollLeft+=m/h,e=(u.scrollLeft-t)*h}t={left:t.left-e,top:t.top-r,right:t.right-e,bottom:t.bottom-r},e&&Math.abs(e-m)<1&&(n="nearest"),r&&Math.abs(r-g)<1&&(o="nearest")}if(p)break;u=u.assignedSlot||u.parentNode}else{if(11!=u.nodeType)break;u=u.host}}(this.view.scrollDOM,i,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,s),-s),this.view.textDirection==cj.LTR)}}class _j extends kT{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function Ej(e,t){let r=e.observer.selectionRange,n=r.focusNode&&Pj(r.focusNode,r.focusOffset,0);if(!n)return null;let o=t-n.offset;return{from:o,to:o+n.node.nodeValue.length,node:n.node}}function Pj(e,t,r){if(r<=0)for(let r=e,n=t;;){if(3==r.nodeType)return{node:r,offset:n};if(!(1==r.nodeType&&n>0))break;r=r.childNodes[n-1],n=Zq(r)}if(r>=0)for(let n=e,o=t;;){if(3==n.nodeType)return{node:n,offset:o};if(!(1==n.nodeType&&o<n.childNodes.length&&r>=0))break;n=n.childNodes[o],o=0}return null}let qj=class{constructor(){this.changes=[]}compareRange(e,t){TT(e,t,this.changes)}comparePoint(e,t){TT(e,t,this.changes)}};function Tj(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function jj(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Rj(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Zj(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function $j(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Mj(e,t,r){let n,o,i,a,s,l,c,u,d=!1;for(let p=e.firstChild;p;p=p.nextSibling){let e=qq(p);for(let h=0;h<e.length;h++){let f=e[h];o&&Rj(o,f)&&(f=Zj($j(f,o.bottom),o.top));let m=Tj(t,f),g=jj(r,f);if(0==m&&0==g)return 3==p.nodeType?Nj(p,t,r):Mj(p,t,r);if(!n||a>g||a==g&&i>m){n=p,o=f,i=m,a=g;let s=g?r<f.top?-1:1:m?t<f.left?-1:1:0;d=!s||(s>0?h<e.length-1:h>0)}0==m?r>f.bottom&&(!c||c.bottom<f.bottom)?(s=p,c=f):r<f.top&&(!u||u.top>f.top)&&(l=p,u=f):c&&Rj(c,f)?c=$j(c,f.bottom):u&&Rj(u,f)&&(u=Zj(u,f.top))}}if(c&&c.bottom>=r?(n=s,o=c):u&&u.top<=r&&(n=l,o=u),!n)return{node:e,offset:0};let p=Math.max(o.left,Math.min(o.right,t));return 3==n.nodeType?Nj(n,p,r):d&&"false"!=n.contentEditable?Mj(n,p,r):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(o.left+o.right)/2?1:0)}}function Nj(e,t,r){let n=e.nodeValue.length,o=-1,i=1e9,a=0;for(let s=0;s<n;s++){let n=Bq(e,s,s+1).getClientRects();for(let l=0;l<n.length;l++){let c=n[l];if(c.top==c.bottom)continue;a||(a=t-c.left);let u=(c.top>r?c.top-r:r-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u<i){let r=t>=(c.left+c.right)/2,n=r;if((cT.chrome||cT.gecko)&&Bq(e,s).getBoundingClientRect().left==c.right&&(n=!r),u<=0)return{node:e,offset:s+(n?1:0)};o=s+(n?1:0),i=u}}}return{node:e,offset:o>-1?o:a>0?e.nodeValue.length:0}}function Dj(e,t,r,n=-1){var o,i;let a,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:d}=t,p=d-l;if(p<0)return 0;if(p>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,o=!1;a=e.elementAtHeight(p),a.type!=ST.Text;)for(;p=n>0?a.bottom+t:a.top-t,!(p>=0&&p<=c);){if(o)return r?null:0;o=!0,n=-n}d=l+p;let h=a.from;if(h<e.viewport.from)return 0==e.viewport.from?0:r?null:Lj(e,s,a,u,d);if(h>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:r?null:Lj(e,s,a,u,d);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(u,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=m.elementFromPoint(u,d),g&&!e.contentDOM.contains(g)&&(g=null));let b,y=-1;if(g&&0!=(null===(o=e.docView.nearest(g))||void 0===o?void 0:o.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(u,d);e&&({offsetNode:b,offset:y}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(u,d);t&&(({startContainer:b,startOffset:y}=t),(!e.contentDOM.contains(b)||cT.safari&&function(e,t,r){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return Bq(e,n-1,n).getBoundingClientRect().left>r}(b,y,u)||cT.chrome&&function(e,t,r){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return r-(1==e.nodeType?e.getBoundingClientRect():Bq(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(b,y,u))&&(b=void 0))}if(!b||!e.docView.dom.contains(b)){let t=AT.find(e.docView,h);if(!t)return p>a.top+a.height/2?a.to:a.from;({node:b,offset:y}=Mj(t.dom,u,d))}let v=e.docView.nearest(b);if(!v)return null;if(v.isWidget&&1==(null===(i=v.dom)||void 0===i?void 0:i.nodeType)){let e=v.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?v.posAtStart:v.posAtEnd}return v.localPosFromDOM(b,y)+v.posAtStart}function Lj(e,t,r,n,o){let i=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&r.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;i+=Math.floor((o-r.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(r.from,r.to);return r.from+fq(a,i,e.state.tabSize)}function Ij(e,t){let r=e.lineBlockAt(t);if(Array.isArray(r.type))for(let e of r.type)if(e.to>t||e.to==t&&(e.to==r.to||e.type==ST.Text))return e;return r}function Bj(e,t,r,n){let o=e.state.doc.lineAt(t.head),i=e.bidiSpans(o),a=e.textDirectionAt(o.from);for(let s=t,l=null;;){let t=Sj(o,i,a,s,r),c=kj;if(!t){if(o.number==(r?e.state.doc.lines:1))return s;c="\n",o=e.state.doc.line(o.number+(r?1:-1)),i=e.bidiSpans(o),t=cP.cursor(r?o.from:o.to)}if(l){if(!l(c))return s}else{if(!n)return t;l=n(c)}s=t}}function Qj(e,t,r){for(;;){let n=0;for(let o of e)o.between(t-1,t+1,((e,o,i)=>{if(t>e&&t<o){let i=n||r||(t-e<o-t?-1:1);t=i<0?e:o,n=i}}));if(!n)return t}}function zj(e,t,r){let n=Qj(e.state.facet(tj).map((t=>t(e))),r.from,t.head>r.from?-1:1);return n==r.from?r:cP.cursor(n,n<r.from?1:-1)}class Uj{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.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=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,cT.safari&&e.contentDOM.addEventListener("input",(()=>null)),cT.gecko&&function(e){bR.has(e)||(bR.add(e),e.addEventListener("copy",(()=>{})),e.addEventListener("cut",(()=>{})))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let r,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=Yq.get(n))&&r.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let e of r.observers)e(this.view,t);for(let e of r.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Wj(e),r=this.handlers,n=this.view.contentDOM;for(let e in t)if("scroll"!=e){let o=!t[e].handlers.length,i=r[e];i&&o!=!i.handlers.length&&(n.removeEventListener(e,this.handleEvent),i=null),i||n.addEventListener(e,this.handleEvent,{passive:o})}for(let e in r)"scroll"==e||t[e]||n.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=e.keyCode&&Xj.indexOf(e.keyCode)<0&&(this.view.inputState.lastEscPress=0),cT.android&&cT.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!cT.ios||e.synthetic||e.altKey||e.metaKey||!((t=Yj.find((t=>t.keyCode==e.keyCode)))&&!e.ctrlKey||Vj.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,Qq(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(cT.safari&&!cT.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}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 Fj(e,t){return(r,n)=>{try{return t.call(e,n,r)}catch(e){WT(r.state,e)}}}function Wj(e){let t=Object.create(null);function r(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let n in e.domEventHandlers){let o=e.domEventHandlers[n];o&&r(n).handlers.push(Fj(t.value,o))}if(e&&e.domEventObservers)for(let n in e.domEventObservers){let o=e.domEventObservers[n];o&&r(n).observers.push(Fj(t.value,o))}}for(let e in Kj)r(e).handlers.push(Kj[e]);for(let e in Jj)r(e).observers.push(Jj[e]);return t}const Yj=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Vj="dthko",Xj=[16,17,18,20,91,92,224,225];function Hj(e){return.7*Math.max(0,e)+8}class Gj{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.scrollParent=function(e){let t=e.ownerDocument;for(let r=e.parentNode;r&&r!=t.body;)if(1==r.nodeType){if(r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)return r;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}return null}(e.contentDOM),this.atoms=e.state.facet(tj).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(XP.allowMultipleSelections)&&function(e,t){let r=e.state.facet($T);return r.length?r[0](t):cT.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:r}=e.state.selection;if(r.empty)return!1;let n=_q(e.root);if(!n||0==n.rangeCount)return!0;let o=n.getRangeAt(0).getClientRects();for(let e=0;e<o.length;e++){let r=o[e];if(r.left<=t.clientX&&r.right>=t.clientX&&r.top<=t.clientY&&r.bottom>=t.clientY)return!0}return!1}(e,t)||1!=dR(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,n=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},i=ij(this.view);e.clientX-i.left<=o.left+6?r=-Hj(o.left-e.clientX):e.clientX+i.right>=o.right-6&&(r=Hj(e.clientX-o.right)),e.clientY-i.top<=o.top+6?n=-Hj(o.top-e.clientY):e.clientY+i.bottom>=o.bottom-6&&(n=Hj(e.clientY-o.bottom)),this.setScrollSpeed(r,n)}up(e){null==this.dragging&&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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],o=null;if(n.empty){let e=Qj(this.atoms,n.from,0);e!=n.from&&(o=cP.cursor(e,-1))}else{let e=Qj(this.atoms,n.from,-1),t=Qj(this.atoms,n.to,1);e==n.from&&t==n.to||(o=cP.range(n.from==n.anchor?e:t,n.from==n.head?e:t))}o&&(t||(t=e.ranges.slice()),t[r]=o)}return t?cP.create(t,e.mainIndex):e}select(e){let{view:t}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection)||r.main.assoc!=t.state.selection.main.assoc&&!1===this.dragging)&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const Kj=Object.create(null),Jj=Object.create(null),eR=cT.ie&&cT.ie_version<15||cT.ios&&cT.webkit_version<604;function tR(e,t){let r,{state:n}=e,o=1,i=n.toText(t),a=i.lines==n.selection.ranges.length;if(null!=hR&&n.selection.ranges.every((e=>e.empty))&&hR==i.toString()){let e=-1;r=n.changeByRange((r=>{let s=n.doc.lineAt(r.from);if(s.from==e)return{range:r};e=s.from;let l=n.toText((a?i.line(o++).text:t)+n.lineBreak);return{changes:{from:s.from,insert:l},range:cP.cursor(r.from+l.length)}}))}else r=a?n.changeByRange((e=>{let t=i.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:cP.cursor(e.from+t.length)}})):n.replaceSelection(i);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function rR(e,t,r,n){if(1==n)return cP.cursor(t,r);if(2==n)return function(e,t,r=1){let n=e.charCategorizer(t),o=e.doc.lineAt(t),i=t-o.from;if(0==o.length)return cP.cursor(t);0==i?r=1:i==o.length&&(r=-1);let a=i,s=i;r<0?a=UE(o.text,i,!1):s=UE(o.text,i);let l=n(o.text.slice(a,s));for(;a>0;){let e=UE(o.text,a,!1);if(n(o.text.slice(e,a))!=l)break;a=e}for(;s<o.length;){let e=UE(o.text,s);if(n(o.text.slice(s,e))!=l)break;s=e}return cP.range(a+o.from,s+o.from)}(e.state,t,r);{let r=AT.find(e.docView,t),n=e.state.doc.lineAt(r?r.posAtEnd:t),o=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<e.state.doc.length&&i==n.to&&i++,cP.range(o,i)}}Jj.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Kj.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),Jj.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Jj.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Kj.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let r=null;for(let n of e.state.facet(NT))if(r=n(e,t),r)break;if(r||0!=t.button||(r=function(e,t){let r=aR(e,t),n=dR(t),o=e.state.selection;return{update(e){e.docChanged&&(r.pos=e.changes.mapPos(r.pos),o=o.map(e.changes))},get(t,i,a){let s,l=aR(e,t),c=rR(e,l.pos,l.bias,n);if(r.pos!=l.pos&&!i){let t=rR(e,r.pos,r.bias,n),o=Math.min(t.from,c.from),i=Math.max(t.to,c.to);c=o<c.from?cP.range(o,i):cP.range(i,o)}return i?o.replaceRange(o.main.extend(c.from,c.to)):a&&1==n&&o.ranges.length>1&&(s=function(e,t){for(let r=0;r<e.ranges.length;r++){let{from:n,to:o}=e.ranges[r];if(n<=t&&o>=t)return cP.create(e.ranges.slice(0,r).concat(e.ranges.slice(r+1)),e.mainIndex==r?0:e.mainIndex-(e.mainIndex>r?1:0))}return null}(o,l.pos))?s:a?o.addRange(c):cP.create([c])}}}(e,t)),r){let n=!e.hasFocus;e.inputState.startMouseSelection(new Gj(e,t,r,n)),n&&e.observer.ignore((()=>Iq(e.contentDOM)));let o=e.inputState.mouseSelection;if(o)return o.start(t),!1===o.dragging}return!1};let nR=(e,t)=>e>=t.top&&e<=t.bottom,oR=(e,t,r)=>nR(t,r)&&e>=r.left&&e<=r.right;function iR(e,t,r,n){let o=AT.find(e.docView,t);if(!o)return 1;let i=t-o.posAtStart;if(0==i)return 1;if(i==o.length)return-1;let a=o.coordsAt(i,-1);if(a&&oR(r,n,a))return-1;let s=o.coordsAt(i,1);return s&&oR(r,n,s)?1:a&&nR(n,a)?-1:1}function aR(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:r,bias:iR(e,r,t.clientX,t.clientY)}}const sR=cT.ie&&cT.ie_version<=11;let lR=null,cR=0,uR=0;function dR(e){if(!sR)return e.detail;let t=lR,r=uR;return lR=e,uR=Date.now(),cR=!t||r>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(cR+1)%3:1}function pR(e,t,r,n){if(!r)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:i}=e.inputState,a=n&&i&&function(e,t){let r=e.state.facet(MT);return r.length?r[0](t):cT.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:i.from,to:i.to}:null,s={from:o,insert:r},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Kj.dragstart=(e,t)=>{let{selection:{main:r}}=e.state;if(t.target.draggable){let n=e.docView.nearest(t.target);if(n&&n.isWidget){let e=n.posAtStart,t=e+n.length;(e>=r.to||t<=r.from)&&(r=cP.range(e,t))}}let{inputState:n}=e;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=r,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(r.from,r.to)),t.dataTransfer.effectAllowed="copyMove"),!1},Kj.dragend=e=>(e.inputState.draggedContent=null,!1),Kj.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let r=t.dataTransfer.files;if(r&&r.length){let n=Array(r.length),o=0,i=()=>{++o==r.length&&pR(e,t,n.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e<r.length;e++){let t=new FileReader;t.onerror=i,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),i()},t.readAsText(r[e])}return!0}{let r=t.dataTransfer.getData("Text");if(r)return pR(e,t,r,!0),!0}return!1},Kj.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let r=eR?null:t.clipboardData;return r?(tR(e,r.getData("text/plain")||r.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus(),setTimeout((()=>{e.focus(),r.remove(),tR(e,r.value)}),50)}(e),!1)};let hR=null;Kj.copy=Kj.cut=(e,t)=>{let{text:r,ranges:n,linewise:o}=function(e){let t=[],r=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),r.push(n));if(!t.length){let o=-1;for(let{from:n}of e.selection.ranges){let i=e.doc.lineAt(n);i.number>o&&(t.push(i.text),r.push({from:i.from,to:Math.min(e.doc.length,i.to+1)})),o=i.number}n=!0}return{text:t.join(e.lineBreak),ranges:r,linewise:n}}(e.state);if(!r&&!o)return!1;hR=o?r:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let i=eR?null:t.clipboardData;return i?(i.clearData(),i.setData("text/plain",r),!0):(function(e,t){let r=e.dom.parentNode;if(!r)return;let n=r.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout((()=>{n.remove(),e.focus()}),50)}(e,r),!1)};const fR=$P.define();function mR(e,t){let r=[];for(let n of e.facet(BT)){let o=n(e,t);o&&r.push(o)}return r?e.update({effects:r,annotations:fR.of(!0)}):null}function gR(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let r=mR(e.state,t);r?e.dispatch(r):e.update([])}}),10)}Jj.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),gR(e)},Jj.blur=e=>{e.observer.clearSelectionRange(),gR(e)},Jj.compositionstart=Jj.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},Jj.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,cT.chrome&&cT.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},Jj.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Kj.beforeinput=(e,t)=>{var r;let n;if(cT.chrome&&cT.android&&(n=Yj.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0;setTimeout((()=>{var r;((null===(r=window.visualViewport)||void 0===r?void 0:r.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const bR=new Set,yR=["pre-wrap","normal","pre-line","break-spaces"];class vR{constructor(e){this.lineWrapping=e,this.doc=qE.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}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 yR.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,r,n,o,i){let a=yR.indexOf(e)>-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=o,s){this.heightSamples={};for(let e=0;e<i.length;e++){let t=i[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return s}}class OR{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class wR{constructor(e,t,r,n,o){this.from=e,this.length=t,this.top=r,this.height=n,this._content=o}get type(){return"number"==typeof this._content?ST.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof PT?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new wR(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var AR=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(AR||(AR={}));const xR=.001;class kR{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>xR&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return kR.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let o=this,i=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:s,toA:l,fromB:c,toB:u}=n[a],d=o.lineAt(s,AR.ByPosNoHeight,r.setDoc(t),0,0),p=d.to>=l?d:o.lineAt(l,AR.ByPosNoHeight,r,0,0);for(u+=p.to-l,l=p.to;a>0&&d.from<=n[a-1].toA;)s=n[a-1].fromA,c=n[a-1].fromB,a--,s<d.from&&(d=o.lineAt(s,AR.ByPosNoHeight,r,0,0));c+=d.from-s,s=d.from;let h=qR.build(r.setDoc(i),e,c,u);o=o.replace(s,l,h)}return o.updateHeight(r,0)}static empty(){return new CR(0,0)}static of(e){if(1==e.length)return e[0];let t=0,r=e.length,n=0,o=0;for(;;)if(t==r)if(n>2*o){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,n-=o.size}else{if(!(o>2*n))break;{let t=e[r];t.break?e.splice(r,1,t.left,null,t.right):e.splice(r,1,t.left,t.right),r+=2+t.break,o-=t.size}}else if(n<o){let r=e[t++];r&&(n+=r.size)}else{let t=e[--r];t&&(o+=t.size)}let i=0;return null==e[t-1]?(i=1,t--):null==e[t]&&(i=1,r++),new ER(kR.of(e.slice(0,t)),i,kR.of(e.slice(r)))}}kR.prototype.size=1;class SR extends kR{constructor(e,t,r){super(e,t),this.deco=r}blockAt(e,t,r,n){return new wR(n,this.length,r,this.height,this.deco||0)}lineAt(e,t,r,n,o){return this.blockAt(0,r,n,o)}forEachLine(e,t,r,n,o,i){e<=o+this.length&&t>=o&&i(this.blockAt(0,r,n,o))}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class CR extends SR{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,n){return new wR(n,this.length,r,this.height,this.breaks)}replace(e,t,r){let n=r[0];return 1==r.length&&(n instanceof CR||n instanceof _R&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof _R?n=new CR(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):kR.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(r||this.outdated)&&this.setHeight(e,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:""})`}}class _R extends kR{constructor(e){super(e,0)}heightMetrics(e,t){let r,n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);r=t/i,this.length>i+1&&(a=(this.height-t)/(this.length-i-1))}else r=this.height/i;return{firstLine:n,lastLine:o,perLine:r,perChar:a}}blockAt(e,t,r,n){let{firstLine:o,lastLine:i,perLine:a,perChar:s}=this.heightMetrics(t,n);if(t.lineWrapping){let o=n+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),i=t.doc.lineAt(o),l=a+i.length*s,c=Math.max(r,e-l/2);return new wR(i.from,i.length,c,l,0)}{let n=Math.max(0,Math.min(i-o,Math.floor((e-r)/a))),{from:s,length:l}=t.doc.line(o+n);return new wR(s,l,r+a*n,a,0)}}lineAt(e,t,r,n,o){if(t==AR.ByHeight)return this.blockAt(e,r,n,o);if(t==AR.ByPosNoHeight){let{from:t,to:n}=r.doc.lineAt(e);return new wR(t,n-t,0,0,0)}let{firstLine:i,perLine:a,perChar:s}=this.heightMetrics(r,o),l=r.doc.lineAt(e),c=a+l.length*s,u=l.number-i,d=n+a*u+s*(l.from-o-u);return new wR(l.from,l.length,Math.max(n,Math.min(d,n+this.height-c)),c,0)}forEachLine(e,t,r,n,o,i){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:a,perLine:s,perChar:l}=this.heightMetrics(r,o);for(let c=e,u=n;c<=t;){let t=r.doc.lineAt(c);if(c==e){let r=t.number-a;u+=s*r+l*(e-o-r)}let n=s+l*t.length;i(new wR(t.from,t.length,u,n,0)),u+=n,c=t.to+1}}replace(e,t,r){let n=this.length-t;if(n>0){let e=r[r.length-1];e instanceof _R?r[r.length-1]=new _R(e.length+n):r.push(null,new _R(n-1))}if(e>0){let t=r[0];t instanceof _R?r[0]=new _R(e+t.length):r.unshift(new _R(e-1),null)}return kR.of(r)}decomposeLeft(e,t){t.push(new _R(e-1),null)}decomposeRight(e,t){t.push(null,new _R(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let o=t+this.length;if(n&&n.from<=t+this.length&&n.more){let r=[],i=Math.max(t,n.from),a=-1;for(n.from>t&&r.push(new _R(n.from-t-1).updateHeight(e,t));i<=o&&n.more;){let t=e.doc.lineAt(i).length;r.length&&r.push(null);let o=n.heights[n.index++];-1==a?a=o:Math.abs(o-a)>=xR&&(a=-2);let s=new CR(t,o);s.outdated=!1,r.push(s),i+=t+1}i<=o&&r.push(null,new _R(o-i).updateHeight(e,i));let s=kR.of(r);return(a<0||Math.abs(s.height-this.height)>=xR||Math.abs(a-this.heightMetrics(e,t).perLine)>=xR)&&(e.heightChanged=!0),s}return(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ER extends kR{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 1&this.flags}blockAt(e,t,r,n){let o=r+this.left.height;return e<o?this.left.blockAt(e,t,r,n):this.right.blockAt(e,t,o,n+this.left.length+this.break)}lineAt(e,t,r,n,o){let i=n+this.left.height,a=o+this.left.length+this.break,s=t==AR.ByHeight?e<i:e<a,l=s?this.left.lineAt(e,t,r,n,o):this.right.lineAt(e,t,r,i,a);if(this.break||(s?l.to<a:l.from>a))return l;let c=t==AR.ByPosNoHeight?AR.ByPosNoHeight:AR.ByPos;return s?l.join(this.right.lineAt(a,c,r,i,a)):this.left.lineAt(a,c,r,n,o).join(l)}forEachLine(e,t,r,n,o,i){let a=n+this.left.height,s=o+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,t,r,n,o,i),t>=s&&this.right.forEachLine(e,t,r,a,s,i);else{let l=this.lineAt(s,AR.ByPos,r,n,o);e<l.from&&this.left.forEachLine(e,l.from-1,r,n,o,i),l.to>=e&&l.from<=t&&i(l),t>l.to&&this.right.forEachLine(l.to+1,t,r,a,s,i)}}replace(e,t,r){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let o=[];e>0&&this.decomposeLeft(e,o);let i=o.length;for(let e of r)o.push(e);if(e>0&&PR(o,i-1),t<this.length){let e=o.length;this.decomposeRight(t,o),PR(o,e)}return kR.of(o)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=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);e<r&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?kR.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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:o,right:i}=this,a=t+o.length+this.break,s=null;return n&&n.from<=t+o.length&&n.more?s=o=o.updateHeight(e,t,r,n):o.updateHeight(e,t,r),n&&n.from<=a+i.length&&n.more?s=i=i.updateHeight(e,a,r,n):i.updateHeight(e,a,r),s?this.balanced(o,i):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function PR(e,t){let r,n;null==e[t]&&(r=e[t-1])instanceof _R&&(n=e[t+1])instanceof _R&&e.splice(t-1,3,new _R(r.length+1+n.length))}class qR{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 e=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof CR?r.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new CR(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,o=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let i=t-e;r.block?this.addBlock(new SR(i,n,r)):(i||o||n>=5)&&this.addLineDeco(n,o,i)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new CR(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new _R(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 CR)return e;let t=new CR(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=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof CR||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new CR(0,-1));let r=e;for(let e of this.nodes)e instanceof CR&&e.updateHeight(this.oracle,r),r+=e?e.length:1;return this.nodes}static build(e,t,r,n){let o=new qR(r,e);return tq.spans(t,r,n,o,0),o.finish(r)}}class TR{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,n){(e<t||r&&r.heightRelevant||n&&n.heightRelevant)&&TT(e,t,this.changes,5)}}function jR(e,t){let r=e.getBoundingClientRect(),n=e.ownerDocument,o=n.defaultView||window,i=Math.max(0,r.left),a=Math.min(o.innerWidth,r.right),s=Math.max(0,r.top),l=Math.min(o.innerHeight,r.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let r=t,n=window.getComputedStyle(r);if((r.scrollHeight>r.clientHeight||r.scrollWidth>r.clientWidth)&&"visible"!=n.overflow){let n=r.getBoundingClientRect();i=Math.max(i,n.left),a=Math.min(a,n.right),s=Math.max(s,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?r.offsetParent:r.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:i-r.left,right:Math.max(i,a)-r.left,top:s-(r.top+t),bottom:Math.max(s,l)-(r.top+t)}}function RR(e,t){let r=e.getBoundingClientRect();return{left:0,right:r.right-r.left,top:t,bottom:r.bottom-(r.top+t)}}class ZR{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;r<e.length;r++){let n=e[r],o=t[r];if(n.from!=o.from||n.to!=o.to||n.size!=o.size)return!1}return!0}draw(e,t){return CT.replace({widget:new $R(this.size*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class $R extends kT{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class MR{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=BR,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=cj.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(JT).some((e=>"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new vR(t),this.stateDeco=e.facet(ej).filter((e=>"function"!=typeof e)),this.heightMap=kR.empty().applyChanges(this.stateDeco,qE.empty,this.heightOracle.setDoc(e.doc),[new sj(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=CT.set(this.lineGaps.map((e=>e.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:e,to:t})=>n>=e&&n<=t))){let{from:t,to:r}=this.lineBlockAt(n);e.push(new NR(t,r))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?BR:new QR(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:zR(e,this.scaler))}))}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(ej).filter((e=>"function"!=typeof e));let n=e.changedRanges,o=sj.extendWithRanges(n,function(e,t,r){let n=new TR;return tq.compare(e,t,r,n,0),n.changes}(r,this.stateDeco,e?e.changes:tP.empty(this.state.doc.length))),i=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),this.heightMap.height!=i&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let s=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<s.from||t.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,this.updateForViewport(),l&&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(zT)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,o=r.whiteSpace;this.defaultTextDirection="rtl"==r.direction?cj.RTL:cj.LTR;let i=this.heightOracle.mustRefreshForWrapping(o),a=t.getBoundingClientRect(),s=i||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let e=a.width/t.offsetWidth,r=a.height/t.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(a.width-t.offsetWidth)<1)&&(e=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(a.height-t.offsetHeight)<1)&&(r=1),this.scaleX==e&&this.scaleY==r||(this.scaleX=e,this.scaleY=r,l|=8,i=s=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,d=(parseInt(r.paddingBottom)||0)*this.scaleY;this.paddingTop==u&&this.paddingBottom==d||(this.paddingTop=u,this.paddingBottom=d,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=Uq(e.scrollDOM);let h=(this.printing?RR:jR)(t,this.paddingTop),f=h.top-this.pixelViewport.top,m=h.bottom-this.pixelViewport.bottom;this.pixelViewport=h;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(s=!0)),!this.inView&&!this.scrollTarget)return 0;let b=a.width;if(this.contentDOMWidth==b&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),s){let t=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(t)&&(i=!0),i||n.lineWrapping&&Math.abs(b-this.contentDOMWidth)>n.charWidth){let{lineHeight:r,charWidth:a,textHeight:s}=e.docView.measureTextSize();i=r>0&&n.refresh(o,r,a,s,b/a,t),i&&(e.docView.minWidth=0,l|=8)}f>0&&m>0?c=Math.max(f,m):f<0&&m<0&&(c=Math.min(f,m)),n.heightChanged=!1;for(let r of this.viewports){let o=r.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(r);this.heightMap=(i?kR.empty().applyChanges(this.stateDeco,qE.empty,this.heightOracle,[new sj(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,i,new OR(r.from,o))}n.heightChanged&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&l||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(i?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}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,o=this.heightOracle,{visibleTop:i,visibleBottom:a}=this,s=new NR(n.lineAt(i-1e3*r,AR.ByHeight,o,0,0).from,n.lineAt(a+1e3*(1-r),AR.ByHeight,o,0,0).to);if(t){let{head:e}=t.range;if(e<s.from||e>s.to){let r,i=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=n.lineAt(e,AR.ByPos,o,0,0);r="center"==t.y?(a.top+a.bottom)/2-i/2:"start"==t.y||"nearest"==t.y&&e<s.from?a.top:a.bottom-i,s=new NR(n.lineAt(r-500,AR.ByHeight,o,0,0).from,n.lineAt(r+i+500,AR.ByHeight,o,0,0).to)}}return s}mapViewport(e,t){let r=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new NR(this.heightMap.lineAt(r,AR.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,AR.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,AR.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,AR.ByPos,this.heightOracle,0,0),{visibleTop:i,visibleBottom:a}=this;return(0==e||n<=i-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||o>=a+Math.max(10,Math.min(r,250)))&&n>i-2e3&&o<a+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let n of e)t.touchesRange(n.from,n.to)||r.push(new ZR(t.mapPos(n.from),t.mapPos(n.to),n.size));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,o=n>>1,i=n<<1;if(this.defaultTextDirection!=cj.LTR&&!r)return[];let a=[],s=(n,i,l,c)=>{if(i-n<o)return;let u=this.state.selection.main,d=[u.from];u.empty||d.push(u.to);for(let e of d)if(e>n&&e<i)return s(n,e-10,l,c),void s(e+10,i,l,c);let p=function(e,t){for(let r of e)if(t(r))return r}(e,(e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<o&&Math.abs(e.to-i)<o&&!d.some((t=>e.from<t&&e.to>t))));if(!p){if(i<l.to&&t&&r&&t.visibleRanges.some((e=>e.from<=i&&e.to>=i))){let e=t.moveToLineBoundary(cP.cursor(i),!1,!0).head;e>n&&(i=e)}p=new ZR(n,i,this.gapSize(l,n,i,c))}a.push(p)};for(let e of this.viewportLines){if(e.length<i)continue;let t=DR(e.from,e.to,this.stateDeco);if(t.total<i)continue;let o,a,l=this.scrollTarget?this.scrollTarget.range.head:null;if(r){let r,i,s=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=IR(t,l),o=((this.visibleBottom-this.visibleTop)/2+s)/e.height;r=n-o,i=n+o}else r=(this.visibleTop-e.top-s)/e.height,i=(this.visibleBottom-e.top+s)/e.height;o=LR(t,r),a=LR(t,i)}else{let e,r,i=t.total*this.heightOracle.charWidth,s=n*this.heightOracle.charWidth;if(null!=l){let n=IR(t,l),o=((this.pixelViewport.right-this.pixelViewport.left)/2+s)/i;e=n-o,r=n+o}else e=(this.pixelViewport.left-s)/i,r=(this.pixelViewport.right+s)/i;o=LR(t,e),a=LR(t,r)}o>e.from&&s(e.from,o,e,t),a<e.to&&s(a,e.to,e,t)}return a}gapSize(e,t,r,n){let o=IR(n,r)-IR(n,t);return this.heightOracle.lineWrapping?e.height*o:n.total*this.heightOracle.charWidth*o}updateLineGaps(e){ZR.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=CT.set(e.map((e=>e.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];tq.spans(e,this.viewport.from,this.viewport.to,{span(e,r){t.push({from:e,to:r})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,r)=>e.from!=t[r].from||e.to!=t[r].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))||zR(this.heightMap.lineAt(e,AR.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return zR(this.heightMap.lineAt(this.scaler.fromDOM(e),AR.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 zR(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}}class NR{constructor(e,t){this.from=e,this.to=t}}function DR(e,t,r){let n=[],o=e,i=0;return tq.spans(r,e,t,{span(){},point(e,t){e>o&&(n.push({from:o,to:e}),i+=e-o),o=t}},20),o<t&&(n.push({from:o,to:t}),i+=t-o),{total:i,ranges:n}}function LR({total:e,ranges:t},r){if(r<=0)return t[0].from;if(r>=1)return t[t.length-1].to;let n=Math.floor(e*r);for(let e=0;;e++){let{from:r,to:o}=t[e],i=o-r;if(n<=i)return r+n;n-=i}}function IR(e,t){let r=0;for(let{from:n,to:o}of e.ranges){if(t<=o){r+=t-n;break}r+=o-n}return r/e.total}const BR={toDOM:e=>e,fromDOM:e=>e,scale:1};class QR{constructor(e,t,r){let n=0,o=0,i=0;this.viewports=r.map((({from:r,to:o})=>{let i=t.lineAt(r,AR.ByPos,e,0,0).top,a=t.lineAt(o,AR.ByPos,e,0,0).bottom;return n+=a-i,{from:r,to:o,top:i,bottom:a,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=i+(e.top-o)*this.scale,i=e.domBottom=e.domTop+(e.bottom-e.top),o=e.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return n+(e-r)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);r=o.bottom,n=o.domBottom}}fromDOM(e){for(let t=0,r=0,n=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return r+(e-n)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);r=o.bottom,n=o.domBottom}}}function zR(e,t){if(1==t.scale)return e;let r=t.toDOM(e.top),n=t.toDOM(e.bottom);return new wR(e.from,e.length,r,n-r,Array.isArray(e._content)?e._content.map((e=>zR(e,t))):e._content)}const UR=pP.define({combine:e=>e.join(" ")}),FR=pP.define({combine:e=>e.indexOf(!0)>-1}),WR=yq.newName(),YR=yq.newName(),VR=yq.newName(),XR={"&light":"."+YR,"&dark":"."+VR};function HR(e,t,r){return new yq(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!r||!r[t])throw new RangeError(`Unsupported selector: ${t}`);return r[t]})):e+" "+t})}const GR=HR("."+WR,{"&":{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},".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-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},"&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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',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"}},XR),KR="";class JR{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(XP.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=KR}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let e=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==t)break;let i=Yq.get(n),a=Yq.get(o);(i&&a?i.breakAfter:(i?i.breakAfter:tZ(n))||tZ(o)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&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 o,i=-1,a=1;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=n.exec(t))&&(i=o.index,a=o[0].length),this.append(t.slice(r,i<0?t.length:i)),i<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);r=i+a}}readNode(e){if(e.cmIgnore)return;let t=Yq.get(e),r=t&&t.overrideDOMText;if(null!=r){this.findPointInside(e,r.length);for(let e=r.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&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)(3==e.nodeType?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(eZ(e,r.node,r.offset)?t:0))}}function eZ(e,t,r){for(;;){if(!t||r<Zq(t))return!1;if(t==e)return!0;r=jq(t)+1,t=t.parentNode}}function tZ(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class rZ{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class nZ{constructor(e,t,r,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:o,impreciseAnchor:i}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let t=o||i?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:r,anchorOffset:n,focusNode:o,focusOffset:i}=e.observer.selectionRange;return r&&(t.push(new rZ(r,n)),o==r&&i==n||t.push(new rZ(o,i))),t}(e),r=new JR(t,e.state);r.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=r.text,this.newSel=function(e,t){if(0==e.length)return null;let r=e[0].pos,n=2==e.length?e[1].pos:r;return r>-1&&n>-1?cP.single(r+t,n+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,r=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!Eq(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=i&&i.node==t.anchorNode&&i.offset==t.anchorOffset||!Eq(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=cP.single(n,r)}}}function oZ(e,t){let r,{newSel:n}=t,o=e.state.selection.main,i=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:n,to:a}=t.bounds,s=o.from,l=null;(8===i||cT.android&&t.text.length<a-n)&&(s=o.to,l="end");let c=function(e,t,r,n){let o=Math.min(e.length,t.length),i=0;for(;i<o&&e.charCodeAt(i)==t.charCodeAt(i);)i++;if(i==o&&e.length==t.length)return null;let a=e.length,s=t.length;for(;a>0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;return"end"==n&&(r-=a+Math.max(0,i-Math.min(a,s))-i),a<i&&e.length<t.length?(i-=r<=i&&r>=a?i-r:0,s=i+(s-a),a=i):s<i&&(i-=r<=i&&r>=s?i-r:0,a=i+(a-s),s=i),{from:i,toA:a,toB:s}}(e.state.doc.sliceString(n,a,KR),t.text,s-n,l);c&&(cT.chrome&&13==i&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==KR+KR&&c.toB--,r={from:n+c.from,to:n+c.toA,insert:qE.of(t.text.slice(c.from,c.toB).split(KR))})}else n&&(!e.hasFocus&&e.state.facet(YT)||n.main.eq(o))&&(n=null);if(!r&&!n)return!1;if(!r&&t.typeOver&&!o.empty&&n&&n.main.empty?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:r&&r.from>=o.from&&r.to<=o.to&&(r.from!=o.from||r.to!=o.to)&&o.to-o.from-(r.to-r.from)<=4?r={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,r.from).append(r.insert).append(e.state.doc.slice(r.to,o.to))}:(cT.mac||cT.android)&&r&&r.from==r.to&&r.from==o.head-1&&/^\. ?$/.test(r.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(n&&2==r.insert.length&&(n=cP.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:qE.of([" "])}):cT.chrome&&r&&r.from==r.to&&r.from==o.head&&"\n "==r.insert.toString()&&e.lineWrapping&&(n&&(n=cP.single(n.main.anchor-1,n.main.head-1)),r={from:o.from,to:o.to,insert:qE.of([" "])}),r){if(cT.ios&&e.inputState.flushIOSKey())return!0;if(cT.android&&(r.from==o.from&&r.to==o.to&&1==r.insert.length&&2==r.insert.lines&&Qq(e.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==i&&r.insert.length<r.to-r.from&&r.to>o.head)&&Qq(e.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&Qq(e.contentDOM,"Delete",46)))return!0;let t,a=r.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let s=()=>t||(t=function(e,t,r){let n,o=e.state,i=o.selection.main;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let r=i.from<t.from?o.sliceDoc(i.from,t.from):"",a=i.to>t.to?o.sliceDoc(t.to,i.to):"";n=o.replaceSelection(e.state.toText(r+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=o.changes(t),s=r&&r.main.to<=a.newLength?r.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let l,c=e.state.sliceDoc(t.from,t.to),u=r&&Ej(e,r.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(i.head);let d=i.to-t.to,p=i.to-i.from;n=o.changeByRange((r=>{if(r.from==i.from&&r.to==i.to)return{changes:a,range:s||r.map(a)};let n=r.to-d,u=n-c.length;if(r.to-r.from!=p||e.state.sliceDoc(u,n)!=c||r.to>=l.from&&r.from<=l.to)return{range:r};let h=o.changes({from:u,to:n,insert:t.insert}),f=r.to-i.to;return{changes:h,range:s?cP.range(Math.max(0,s.anchor+f),Math.max(0,s.head+f)):r.map(h)}}))}else n={changes:a,selection:s&&o.selection.replaceRange(s)}}let a="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1)),o.update(n,{userEvent:a,scrollIntoView:!0})}(e,r,n));return e.state.facet(IT).some((t=>t(e,r.from,r.to,a,s)))||e.dispatch(s()),!0}if(n&&!n.main.eq(o)){let t=!1,r="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),r=e.inputState.lastSelectionOrigin),e.dispatch({selection:n,scrollIntoView:t,userEvent:r}),!0}return!1}const iZ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aZ=cT.ie&&cT.ie_version<=11;class sZ{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Nq,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.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(cT.ie&&cT.ie_version<=11||cT.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),aZ&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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((e=>{e.length>0&&e[e.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.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){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(YT)?r.root.activeElement!=this.dom:!Pq(r.dom,n))return;let o=n.anchorNode&&r.docView.nearest(n.anchorNode);o&&o.ignoreEvent(e)?t||(this.selectionChanged=!1):(cT.ie&&cT.ie_version<=11||cT.android&&cT.chrome)&&!r.state.selection.main.empty&&n.focusNode&&Tq(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=cT.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),!t)return null;let n=t.startContainer,o=t.startOffset,i=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return Tq(s.node,s.offset,i,a)&&([n,o,i,a]=[i,a,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:a}}(this.view)||_q(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=Pq(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let r=t.focusNode,n=t.focusOffset;if(!r||t.anchorNode!=r||t.anchorOffset!=n)return!1;for(n=Math.min(n,Zq(r));;)if(n){if(1!=r.nodeType)return!1;let e=r.childNodes[n-1];"false"==e.contentEditable?n--:(r=e,n=Zq(r))}else{if(r==e)return!0;n=jq(r),r=r.parentNode}}(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(1==r.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,iZ),aZ&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),aZ&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&Qq(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null===(r=this.delayedAndroidKey)||void 0===r?void 0:r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{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 o of e){let e=this.readMutation(o);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:r}=e):(t=Math.min(e.from,t),r=Math.max(e.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&Pq(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 o=new nZ(this.view,e,t,r);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}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=oZ(this.view,t);return this.view.state==r&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let r=lZ(t,e.previousSibling||e.target.previousSibling,-1),n=lZ(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(r=this.resizeScroll)||void 0===r||r.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function lZ(e,t,r){for(;t;){let n=Yq.get(t);if(n&&n.parent==e)return n;let o=t.parentNode;t=o!=e.dom?o:r>0?t.nextSibling:t.previousSibling}return null}class cZ{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={}){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);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(e,this))))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new MR(e.state||XP.create(e)),e.scrollTo&&e.scrollTo.is(FT)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(XT).map((e=>new GT(e)));for(let e of this.plugins)e.update(this);this.observer=new sZ(this),this.inputState=new Uj(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Cj(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(...e){let t=1==e.length&&e[0]instanceof LP?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,r=!1,n=!1,o=this.state;for(let t of e){if(t.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=t.state}if(this.destroyed)return void(this.viewState.state=o);let i=this.hasFocus,a=0,s=null;e.some((e=>e.annotation(fR)))?(this.inputState.notifiedFocused=i,a=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,s=mR(o,i),s||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(c=null)):this.observer.clear(),o.facet(XP.phrases)!=this.state.facet(XP.phrases))return this.setState(o);t=lj.create(this,o,e),t.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new UT(e.empty?e:cP.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(FT)&&(u=e.value.clip(this.state))}this.viewState.update(t,u),this.bidiCache=pZ.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),r=this.docView.update(t),this.state.facet(aj)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(r,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(UR)!=t.state.facet(UR)&&(this.viewState.mustMeasureContent=!0),(r||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(LT))try{e(t)}catch(e){WT(this.state,e,"update listener")}(s||c)&&Promise.resolve().then((()=>{s&&this.state==s.startState&&this.dispatch(s),c&&!oZ(this,c)&&l.force&&Qq(this.contentDOM,l.key,l.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new MR(e),this.plugins=e.facet(XT).map((e=>new GT(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new Cj(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(XT),r=e.state.facet(XT);if(t!=r){let n=[];for(let o of r){let r=t.indexOf(o);if(r<0)n.push(new GT(o));else{let t=this.plugins[r];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,n=r.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:i}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(i=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(i<0)if(Uq(r))o=-1,i=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);o=e.from,i=e.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let s=[];4&a||([this.measureRequests,s]=[s,this.measureRequests]);let l=s.map((e=>{try{return e.read(this)}catch(e){return WT(this.state,e),dZ}})),c=lj.create(this,this.state,[]),u=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c));for(let e=0;e<s.length;e++)if(l[e]!=dZ)try{let t=s[e];t.write&&t.write(l[e],this)}catch(e){WT(this.state,e)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}{let e=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-i;if(e>1||e<-1){n+=e,r.scrollTop=n/this.scaleY,i=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(LT))e(t)}get themeClasses(){return WR+" "+(this.state.facet(FR)?VR:YR)+" "+this.state.facet(UR)}updateAttrs(){let e=hZ(this,KT,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(YT)?"true":"false",class:"cm-content",style:`${cT.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),hZ(this,JT,t);let r=this.observer.ignore((()=>{let r=OT(this.contentDOM,this.contentAttrs,t),n=OT(this.dom,this.editorAttrs,e);return r||n}));return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let e of r.effects)e.is(cZ.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(aj);let e=this.state.facet(cZ.cspNonce);yq.mount(this.root,this.styleModules.concat(GR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&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(null!=e.key)for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find((t=>t.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 zj(this,e,Bj(this,e,t,r))}moveByGroup(e,t){return zj(this,e,Bj(this,e,t,(t=>function(e,t,r){let n=e.state.charCategorizer(t),o=n(r);return e=>{let t=n(e);return o==WP.Space&&(o=t),o==t}}(this,e.head,t))))}moveToLineBoundary(e,t,r=!0){return function(e,t,r,n){let o=Ij(e,t.head),i=n&&o.type==ST.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(i){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(o.from),a=e.posAtCoords({x:r==(n==cj.LTR)?t.right-1:t.left+1,y:(i.top+i.bottom)/2});if(null!=a)return cP.cursor(a,r?-1:1)}return cP.cursor(r?o.to:o.from,r?-1:1)}(this,e,t,r)}moveVertically(e,t,r){return zj(this,e,function(e,t,r,n){let o=t.head,i=r?1:-1;if(o==(r?e.state.doc.length:0))return cP.cursor(o,t.assoc);let a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(o,t.assoc||-1),u=e.documentTop;if(c)null==s&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(o);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(o-t.from))),a=(i<0?t.top:t.bottom)+u}let d=l.left+s,p=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let r=a+(p+t)*i,n=Dj(e,{x:d,y:r},!1,i);if(r<l.top||r>l.bottom||(i<0?n<o:n>o)){let t=e.docView.coordsForChar(n),o=!t||r<t.top?-1:1;return cP.cursor(n,o,void 0,s)}}}(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(),Dj(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),o=this.bidiSpans(n);return $q(r,o[yj.find(o,e-n.from,-1,t)].dir==cj.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(QT)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>uZ)return xj(e.length);let t,r=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==r&&(n.fresh||vj(n.isolates,t=nj(this,e.from,e.to))))return n.order;t||(t=nj(this,e.from,e.to));let n=function(e,t,r){if(!e)return[new yj(0,0,t==dj?1:0)];if(t==uj&&!r.length&&!bj.test(e))return xj(e.length);if(r.length)for(;e.length>Oj.length;)Oj[Oj.length]=256;let n=[],o=t==uj?0:1;return Aj(e,o,o,r,0,e.length,n),n}(e.text,r,t);return this.bidiCache.push(new pZ(e.from,e.to,r,t,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||cT.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{Iq(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){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 FT.of(new UT("number"==typeof e?cP.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 FT.of(new UT(cP.cursor(r.from),"start","start",r.top-e,t,!0))}static domEventHandlers(e){return HT.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return HT.define((()=>({})),{eventObservers:e})}static theme(e,t){let r=yq.newName(),n=[UR.of(r),aj.of(HR(`.${r}`,e))];return t&&t.dark&&n.push(FR.of(!0)),n}static baseTheme(e){return wP.lowest(aj.of(HR("."+WR,e,XR)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&Yq.get(r)||Yq.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}cZ.styleModule=aj,cZ.inputHandler=IT,cZ.focusChangeEffect=BT,cZ.perLineTextDirection=QT,cZ.exceptionSink=DT,cZ.updateListener=LT,cZ.editable=YT,cZ.mouseSelectionStyle=NT,cZ.dragMovesSelection=MT,cZ.clickAddsSelectionRange=$T,cZ.decorations=ej,cZ.atomicRanges=tj,cZ.bidiIsolatedRanges=rj,cZ.scrollMargins=oj,cZ.darkTheme=FR,cZ.cspNonce=pP.define({combine:e=>e.length?e[0]:""}),cZ.contentAttributes=JT,cZ.editorAttributes=KT,cZ.lineWrapping=cZ.contentAttributes.of({class:"cm-lineWrapping"}),cZ.announce=DP.define();const uZ=4096,dZ={};class pZ{constructor(e,t,r,n,o,i){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=o,this.order=i}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let r=[],n=e.length?e[e.length-1].dir:cj.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let i=e[o];i.dir!=n||t.touchesRange(i.from,i.to)||r.push(new pZ(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.isolates,!1,i.order))}return r}}function hZ(e,t,r){for(let n=e.state.facet(t),o=n.length-1;o>=0;o--){let t=n[o],i="function"==typeof t?t(e):t;i&&bT(i,r)}return r}const fZ=cT.mac?"mac":cT.windows?"win":cT.linux?"linux":"key";function mZ(e,t,r){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==r&&t.shiftKey&&(e="Shift-"+e),e}const gZ=wP.default(cZ.domEventHandlers({keydown:(e,t)=>AZ(vZ(t.state),e,t,"editor")})),bZ=pP.define({enables:gZ}),yZ=new WeakMap;function vZ(e){let t=e.facet(bZ),r=yZ.get(t);return r||yZ.set(t,r=function(e,t=fZ){let r=Object.create(null),n=Object.create(null),o=(e,t)=>{let r=n[e];if(null==r)n[e]=t;else if(r!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},i=(e,n,i,a,s)=>{var l,c;let u=r[e]||(r[e]=Object.create(null)),d=n.split(/ (?!$)/).map((e=>function(e,t){const r=e.split(/-(?!$)/);let n,o,i,a,s=r[r.length-1];"Space"==s&&(s=" ");for(let e=0;e<r.length-1;++e){const s=r[e];if(/^(cmd|meta|m)$/i.test(s))a=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))o=!0;else if(/^s(hift)?$/i.test(s))i=!0;else{if(!/^mod$/i.test(s))throw new Error("Unrecognized modifier name: "+s);"mac"==t?a=!0:o=!0}}return n&&(s="Alt-"+s),o&&(s="Ctrl-"+s),a&&(s="Meta-"+s),i&&(s="Shift-"+s),s}(e,t)));for(let t=1;t<d.length;t++){let r=d.slice(0,t).join(" ");o(r,!0),u[r]||(u[r]={preventDefault:!0,stopPropagation:!1,run:[t=>{let n=OZ={view:t,prefix:r,scope:e};return setTimeout((()=>{OZ==n&&(OZ=null)}),wZ),!0}]})}let p=d.join(" ");o(p,!1);let h=u[p]||(u[p]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});i&&h.run.push(i),a&&(h.preventDefault=!0),s&&(h.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=r[t]||(r[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let o=n[t]||n.key;if(o)for(let t of e)i(t,o,n.run,n.preventDefault,n.stopPropagation),n.shift&&i(t,"Shift-"+o,n.shift,n.preventDefault,n.stopPropagation)}return r}(t.reduce(((e,t)=>e.concat(t)),[]))),r}let OZ=null;const wZ=4e3;function AZ(e,t,r,n){let o=function(e){var t=!(xq&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||kq&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Aq:wq)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),i=GE(XE(o,0))==o.length&&" "!=o,a="",s=!1,l=!1,c=!1;OZ&&OZ.view==r&&OZ.scope==n&&(a=OZ.prefix+" ",Xj.indexOf(t.keyCode)<0&&(l=!0,OZ=null));let u,d,p=new Set,h=e=>{if(e){for(let n of e.run)if(!p.has(n)&&(p.add(n),n(r,t)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},f=e[n];return f&&(h(f[a+mZ(o,t,!i)])?s=!0:i&&(t.altKey||t.metaKey||t.ctrlKey)&&!(cT.windows&&t.ctrlKey&&t.altKey)&&(u=wq[t.keyCode])&&u!=o?(h(f[a+mZ(u,t,!0)])||t.shiftKey&&(d=Aq[t.keyCode])!=o&&d!=u&&h(f[a+mZ(d,t,!1)]))&&(s=!0):i&&t.shiftKey&&h(f[a+mZ(o,t,!0)])&&(s=!0),!s&&h(f._any)&&(s=!0)),l&&(s=!0),s&&c&&t.stopPropagation(),s}class xZ{constructor(e,t,r,n,o){this.className=e,this.left=t,this.top=r,this.width=n,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let o=kZ(e);return[new xZ(t,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}return function(e,t,r){if(r.to<=e.viewport.from||r.from>=e.viewport.to)return[];let n=Math.max(r.from,e.viewport.from),o=Math.min(r.to,e.viewport.to),i=e.textDirection==cj.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=kZ(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),p=s.right-(u?parseInt(u.paddingRight):0),h=Ij(e,n),f=Ij(e,o),m=h.type==ST.Text?h:null,g=f.type==ST.Text?f:null;if(m&&(e.lineWrapping||h.widgetLineBreaks)&&(m=SZ(e,n,m)),g&&(e.lineWrapping||f.widgetLineBreaks)&&(g=SZ(e,o,g)),m&&g&&m.from==g.from)return y(v(r.from,r.to,m));{let t=m?v(r.from,null,m):O(h,!1),n=g?v(null,r.to,g):O(f,!0),o=[];return(m||h).to<(g||f).from-(m&&g?1:0)||h.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<n.top?o.push(b(d,t.bottom,p,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==ST.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),y(t).concat(o).concat(y(n))}function b(e,r,n,o){return new xZ(t,e-l.left,r-l.top-.01,n-e,o-r+.01)}function y({top:e,bottom:t,horizontal:r}){let n=[];for(let o=0;o<r.length;o+=2)n.push(b(r[o],e,r[o+1],t));return n}function v(t,r,n){let o=1e9,a=-1e9,s=[];function l(t,r,l,c,u){let h=e.coordsAtPos(t,t==n.to?-2:2),f=e.coordsAtPos(l,l==n.from?2:-2);h&&f&&(o=Math.min(h.top,f.top,o),a=Math.max(h.bottom,f.bottom,a),u==cj.LTR?s.push(i&&r?d:h.left,i&&c?p:f.right):s.push(!i&&c?d:f.left,!i&&r?p:h.right))}let c=null!=t?t:n.from,u=null!=r?r:n.to;for(let n of e.visibleRanges)if(n.to>c&&n.from<u)for(let o=Math.max(n.from,c),i=Math.min(n.to,u);;){let n=e.state.doc.lineAt(o);for(let a of e.bidiSpans(n)){let e=a.from+n.from,s=a.to+n.from;if(e>=i)break;s>o&&l(Math.max(e,o),null==t&&e<=c,Math.min(s,i),null==r&&s>=u,a.dir)}if(o=n.to+1,o>=i)break}return 0==s.length&&l(c,null==t,u,null==r,e.textDirection),{top:o,bottom:a,horizontal:s}}function O(e,t){let r=s.top+(t?e.top:e.bottom);return{top:r,bottom:r,horizontal:[]}}}(e,t,r)}}function kZ(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==cj.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function SZ(e,t,r){let n=cP.cursor(t);return{from:Math.max(r.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(r.to,e.moveToLineBoundary(n,!0,!0).from),type:ST.Text}}class CZ{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(_Z)!=e.state.facet(_Z)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,r=e.facet(_Z);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;e==this.scaleX&&t==this.scaleY||(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some(((e,t)=>!function(e,t){return e.constructor==t.constructor&&e.eq(t)}(e,this.drawn[t])))){let t=this.dom.firstChild,r=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[r].constructor&&n.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(n.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const _Z=pP.define();function EZ(e){return[HT.define((t=>new CZ(t,e))),_Z.of(e)]}const PZ=!cT.ios,qZ=pP.define({combine:e=>HP(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function TZ(e){return e.startState.facet(qZ)!=e.state.facet(qZ)}const jZ=EZ({above:!0,markers(e){let{state:t}=e,r=t.facet(qZ),n=[];for(let o of t.selection.ranges){let i=o==t.selection.main;if(o.empty?!i||PZ:r.drawRangeCursor){let t=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",r=o.empty?o:cP.cursor(o.head,o.head>o.anchor?-1:1);for(let o of xZ.forRange(e,t,r))n.push(o)}}return n},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let r=TZ(e);return r&&RZ(e.state,t),e.docChanged||e.selectionSet||r},mount(e,t){RZ(t.state,e)},class:"cm-cursorLayer"});function RZ(e,t){t.style.animationDuration=e.facet(qZ).cursorBlinkRate+"ms"}const ZZ=EZ({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:xZ.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||TZ(e),class:"cm-selectionLayer"}),$Z={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};PZ&&($Z[".cm-line"].caretColor="transparent !important",$Z[".cm-content"]={caretColor:"transparent !important"});const MZ=wP.highest(cZ.theme($Z)),NZ=DP.define({map:(e,t)=>null==e?null:t.mapPos(e)}),DZ=vP.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(NZ)?t.value:e),e))}),LZ=HT.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let r=e.state.field(DZ);null==r?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(DZ)!=r||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(DZ),r=null!=t&&e.coordsAtPos(t);if(!r)return null;let n=e.scrollDOM.getBoundingClientRect();return{left:r.left-n.left+e.scrollDOM.scrollLeft*e.scaleX,top:r.top-n.top+e.scrollDOM.scrollTop*e.scaleY,height:r.bottom-r.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:r}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/r+"px",this.cursor.style.height=e.height/r+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(DZ)!=e&&this.view.dispatch({effects:NZ.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function IZ(e,t,r,n,o){t.lastIndex=0;for(let i,a=e.iterRange(r,n),s=r;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;i=t.exec(a.value);)o(s+i.index,i)}class BZ{constructor(e){const{regexp:t,decoration:r,decorate:n,boundary:o,maxLength:i=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,r,o)=>n(o,r,r+e[0].length,e,t);else if("function"==typeof r)this.addMatch=(e,t,n,o)=>{let i=r(e,t,n);i&&o(n,n+e[0].length,i)};else{if(!r)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,o)=>o(n,n+e[0].length,r)}this.boundary=o,this.maxLength=i}createDeco(e){let t=new rq,r=t.add.bind(t);for(let{from:t,to:n}of function(e,t){let r=e.visibleRanges;if(1==r.length&&r[0].from==e.viewport.from&&r[0].to==e.viewport.to)return r;let n=[];for(let{from:o,to:i}of r)o=Math.max(e.state.doc.lineAt(o).from,o-t),i=Math.min(e.state.doc.lineAt(i).to,i+t),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}(e,this.maxLength))IZ(e.state.doc,this.regexp,t,n,((t,n)=>this.addMatch(n,e,t,r)));return t.finish()}updateDeco(e,t){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges(((t,o,i,a)=>{a>e.view.viewport.from&&i<e.view.viewport.to&&(r=Math.min(i,r),n=Math.max(a,n))})),e.viewportChanged||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),r,n):t}updateRange(e,t,r,n){for(let o of e.visibleRanges){let i=Math.max(o.from,r),a=Math.min(o.to,n);if(a>i){let r=e.state.doc.lineAt(i),n=r.to<a?e.state.doc.lineAt(a):r,s=Math.max(o.from,r.from),l=Math.min(o.to,n.to);if(this.boundary){for(;i>r.from;i--)if(this.boundary.test(r.text[i-1-r.from])){s=i;break}for(;a<n.to;a++)if(this.boundary.test(n.text[a-n.from])){l=a;break}}let c,u=[],d=(e,t,r)=>u.push(r.range(e,t));if(r==n)for(this.regexp.lastIndex=s-r.from;(c=this.regexp.exec(r.text))&&c.index<l-r.from;)this.addMatch(c,e,c.index+r.from,d);else IZ(e.state.doc,this.regexp,s,l,((t,r)=>this.addMatch(r,e,t,d)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>e<s||t>l,add:u})}}return t}}const QZ=null!=/x/.unicode?"gu":"g",zZ=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",QZ),UZ={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let FZ=null;const WZ=pP.define({combine(e){let t=HP(e,{render:null,specialChars:zZ,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==FZ&&"undefined"!=typeof document&&document.body){let t=document.body.style;FZ=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return FZ||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,QZ)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,QZ)),t}});let YZ=null;class VZ extends kT{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"":String.fromCharCode(9216+e)}(this.code),r=e.state.phrase("Control character")+" "+(UZ[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let o=document.createElement("span");return o.textContent=t,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class XZ extends kT{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const HZ=CT.line({class:"cm-activeLine"}),GZ=HT.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,r=[];for(let n of e.state.selection.ranges){let o=e.lineBlockAt(n.head);o.from>t&&(r.push(HZ.range(o.from)),t=o.from)}return CT.set(r)}},{decorations:e=>e.decorations});class KZ extends kT{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?qq(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),n=$q(t[0],"rtl"!=r.direction),o=parseInt(r.lineHeight);return n.bottom-n.top>1.5*o?{left:n.left,right:n.right,top:n.top,bottom:n.top+o}:n}ignoreEvent(){return!1}}const JZ=2e3;function e$(e,t){let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(r),o=r-n.from,i=o>JZ?-1:o==n.length?function(e,t){let r=e.coordsAtPos(e.viewport.from);return r?Math.round(Math.abs((r.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):hq(n.text,e.state.tabSize,r-n.from);return{line:n.number,col:i,off:o}}const t$={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},r$={style:"cursor: crosshair"},n$="-10000px";class o${constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(r)}update(e,t){var r;let n=e.state.facet(this.facet),o=n.filter((e=>e));if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let i=[],a=t?[]:null;for(let r=0;r<o.length;r++){let n=o[r],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)i[r]=this.createTooltipView(n),a&&(a[r]=!!n.above);else{let n=i[r]=this.tooltipViews[s];a&&(a[r]=t[s]),n.update&&n.update(e)}}}for(let e of this.tooltipViews)i.indexOf(e)<0&&(e.dom.remove(),null===(r=e.destroy)||void 0===r||r.call(e));return t&&(a.forEach(((e,r)=>t[r]=e)),t.length=a.length),this.input=n,this.tooltips=o,this.tooltipViews=i,!0}}function i$(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const a$=pP.define({combine:e=>{var t,r,n;return{position:cT.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(r=e.find((e=>e.parent)))||void 0===r?void 0:r.parent)||null,tooltipSpace:(null===(n=e.find((e=>e.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||i$}}}),s$=new WeakMap,l$=HT.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(a$);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new o$(e,d$,(e=>this.createTooltip(e))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let r=t||e.geometryChanged,n=e.state.facet(a$);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;r=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);r=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);r&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=n$,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,r=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(cT.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)n=!0;else if(e.style.top==n$&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,r=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(a$).tooltipSpace(this.view),scaleX:t,scaleY:r,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{editor:r,space:n,scaleX:o,scaleY:i}=e,a=[];for(let s=0;s<this.manager.tooltips.length;s++){let l=this.manager.tooltips[s],c=this.manager.tooltipViews[s],{dom:u}=c,d=e.pos[s],p=e.size[s];if(!d||d.bottom<=Math.max(r.top,n.top)||d.top>=Math.min(r.bottom,n.bottom)||d.right<Math.max(r.left,n.left)-.1||d.left>Math.min(r.right,n.right)+.1){u.style.top=n$;continue}let h=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=h?7:0,m=p.right-p.left,g=null!==(t=s$.get(c))&&void 0!==t?t:p.bottom-p.top,b=c.offset||u$,y=this.view.textDirection==cj.LTR,v=p.width>n.right-n.left?y?n.left:n.right-p.width:y?Math.min(d.left-(h?14:0)+b.x,n.right-m):Math.max(n.left,d.left-m+(h?14:0)-b.x),O=this.above[s];!l.strictSide&&(O?d.top-(p.bottom-p.top)-b.y<n.top:d.bottom+(p.bottom-p.top)+b.y>n.bottom)&&O==n.bottom-d.bottom>d.top-n.top&&(O=this.above[s]=!O);let w=(O?d.top-n.top:n.bottom-d.bottom)-f;if(w<g&&!1!==c.resize){if(w<this.view.defaultLineHeight){u.style.top=n$;continue}s$.set(c,g),u.style.height=(g=w)/i+"px"}else u.style.height&&(u.style.height="");let A=O?d.top-g-f-b.y:d.bottom+f+b.y,x=v+m;if(!0!==c.overlap)for(let e of a)e.left<x&&e.right>v&&e.top<A+g&&e.bottom>A&&(A=O?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(u.style.top=(A-e.parent.top)/i+"px",u.style.left=(v-e.parent.left)/o+"px"):(u.style.top=A/i+"px",u.style.left=v/o+"px"),h){let e=d.left+(y?b.x:-b.x)-(v+14-7);h.style.left=e/o+"px"}!0!==c.overlap&&a.push({left:v,top:A,right:x,bottom:A+g}),u.classList.toggle("cm-tooltip-above",O),u.classList.toggle("cm-tooltip-below",!O),c.positioned&&c.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=n$}},{eventObservers:{scroll(){this.maybeMeasure()}}}),c$=cZ.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:"14px",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"}}}),u$={x:0,y:0},d$=pP.define({enables:[l$,c$]}),p$=pP.define();class h${static create(e){return new h$(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new o$(e,p$,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let n=r[e];if(void 0!==n)if(void 0===t)t=n;else if(t!==n)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const f$=d$.compute([p$],(e=>{let t=e.facet(p$).filter((e=>e));return 0===t.length?null:{pos:Math.min(...t.map((e=>e.pos))),end:Math.max(...t.map((e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos}))),create:h$.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class m${constructor(e,t,r,n,o){this.view=e,this.source=t,this.field=r,this.setHover=n,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.nearest(t.target);if(!r)return;let n,o=1;if(r instanceof pT)n=r.posAtStart;else{if(n=e.posAtCoords(t),null==n)return;let r=e.coordsAtPos(n);if(!r||t.y<r.top||t.y>r.bottom||t.x<r.left-e.defaultCharacterWidth||t.x>r.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(n)).find((e=>e.from<=n&&e.to>=n)),a=i&&i.dir==cj.RTL?-1:1;o=t.x<r.left?-a:a}let i=this.source(e,n,o);if(null==i?void 0:i.then){let t=this.pending={pos:n};i.then((r=>{this.pending==t&&(this.pending=null,r&&e.dispatch({effects:this.setHover.of(r)}))}),(t=>WT(e.state,t,"hover tooltip")))}else i&&e.dispatch({effects:this.setHover.of(i)})}get tooltip(){let e=this.view.plugin(l$),t=e?e.manager.tooltips.findIndex((e=>e.create==h$.create)):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r&&n&&!function(e,t){let r=e.getBoundingClientRect();return t.clientX>=r.left-g$&&t.clientX<=r.right+g$&&t.clientY>=r.top-g$&&t.clientY<=r.bottom+g$}(n.dom,e)||this.pending){let{pos:n}=r||this.pending,o=null!==(t=null==r?void 0:r.end)&&void 0!==t?t:n;(n==o?this.view.posAtCoords(this.lastMove)==n:function(e,t,r,n,o,i){let a=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>n||a.right<n||a.top>o||Math.min(a.bottom,s)<o)return!1;let l=e.posAtCoords({x:n,y:o},!1);return l>=t&&l<=r}(this.view,n,o,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of(null)})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const g$=4;function b$(e,t={}){let r=DP.define(),n=vP.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,JE.TrackDel);if(null==t)return null;let r=Object.assign(Object.create(null),e);r.pos=t,null!=e.end&&(r.end=n.changes.mapPos(e.end)),e=r}for(let t of n.effects)t.is(r)&&(e=t.value),t.is(v$)&&(e=null);return e},provide:e=>p$.from(e)});return[n,HT.define((o=>new m$(o,e,n,r,t.hoverTime||300))),f$]}function y$(e,t){let r=e.plugin(l$);if(!r)return null;let n=r.manager.tooltips.indexOf(t);return n<0?null:r.manager.tooltipViews[n]}const v$=DP.define(),O$=pP.define({combine(e){let t,r;for(let n of e)t=t||n.topContainer,r=r||n.bottomContainer;return{topContainer:t,bottomContainer:r}}});function w$(e,t){let r=e.plugin(A$),n=r?r.specs.indexOf(t):-1;return n>-1?r.panels[n]:null}const A$=HT.fromClass(class{constructor(e){this.input=e.state.facet(S$),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(O$);this.top=new x$(e,!0,t.topContainer),this.bottom=new x$(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((e=>e.top))),this.bottom.sync(this.panels.filter((e=>!e.top)));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(O$);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new x$(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new x$(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let r=e.state.facet(S$);if(r!=this.input){let t=r.filter((e=>e)),n=[],o=[],i=[],a=[];for(let r of t){let t,s=this.specs.indexOf(r);s<0?(t=r(e.view),a.push(t)):(t=this.panels[s],t.update&&t.update(e)),n.push(t),(t.top?o:i).push(t)}this.specs=t,this.panels=n,this.top.sync(o),this.bottom.sync(i);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>cZ.scrollMargins.of((t=>{let r=t.plugin(e);return r&&{top:r.top.scrollMargin(),bottom:r.bottom.scrollMargin()}}))});class x${constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=k$(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=k$(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function k$(e){let t=e.nextSibling;return e.remove(),t}const S$=pP.define({enables:A$});class C$ extends GP{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}C$.prototype.elementClass="",C$.prototype.toDOM=void 0,C$.prototype.mapMode=JE.TrackBefore,C$.prototype.startSide=C$.prototype.endSide=-1,C$.prototype.point=!0;const _$=pP.define(),E$={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>tq.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},P$=pP.define();function q$(e){return[j$(),P$.of(Object.assign(Object.assign({},E$),e))]}const T$=pP.define({combine:e=>e.some((e=>e))});function j$(e){let t=[R$];return e&&!1===e.fixed&&t.push(T$.of(!0)),t}const R$=HT.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(P$).map((t=>new N$(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(T$),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,r=e.view.viewport,n=Math.min(t.to,r.to)-Math.max(t.from,r.from);this.syncGutters(n<.8*(r.to-r.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(T$)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let r=tq.iter(this.view.state.facet(_$),this.view.viewport.from),n=[],o=this.gutters.map((e=>new M$(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let i of e.type)if(i.type==ST.Text&&t){$$(r,n,i.from);for(let e of o)e.line(this.view,i,n);t=!1}else if(i.widget)for(let e of o)e.widget(this.view,i)}else if(e.type==ST.Text){$$(r,n,e.from);for(let t of o)t.line(this.view,e,n)}else if(e.widget)for(let t of o)t.widget(this.view,e);for(let e of o)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(P$),r=e.state.facet(P$),n=e.docChanged||e.heightChanged||e.viewportChanged||!tq.eq(e.startState.facet(_$),e.state.facet(_$),e.view.viewport.from,e.view.viewport.to);if(t==r)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let o=[];for(let n of r){let r=t.indexOf(n);r<0?o.push(new N$(this.view,n)):(this.gutters[r].update(e),o.push(this.gutters[r]))}for(let e of this.gutters)e.dom.remove(),o.indexOf(e)<0&&e.destroy();for(let e of o)this.dom.appendChild(e.dom);this.gutters=o}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>cZ.scrollMargins.of((t=>{let r=t.plugin(e);return r&&0!=r.gutters.length&&r.fixed?t.textDirection==cj.LTR?{left:r.dom.offsetWidth*t.scaleX}:{right:r.dom.offsetWidth*t.scaleX}:null}))});function Z$(e){return Array.isArray(e)?e:[e]}function $$(e,t,r){for(;e.value&&e.from<=r;)e.from==r&&t.push(e.value),e.next()}class M${constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=tq.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:n}=this,o=(t.top-this.height)/e.scaleY,i=t.height/e.scaleY;if(this.i==n.elements.length){let t=new D$(e,i,o,r);n.elements.push(t),n.dom.appendChild(t.dom)}else n.elements[this.i].update(e,i,o,r);this.height=t.bottom,this.i++}line(e,t,r){let n=[];$$(this.cursor,n,t.from),r.length&&(n=n.concat(r));let o=this.gutter.config.lineMarker(e,t,n);o&&n.unshift(o);let i=this.gutter;(0!=n.length||i.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class N${constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,(n=>{let o,i=n.target;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();o=(e.top+e.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,n)&&n.preventDefault()}));this.markers=Z$(t.markers(e)),t.initialSpacer&&(this.spacer=new D$(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Z$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let r=e.view.viewport;return!tq.eq(this.markers,t,r.from,r.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class D${constructor(e,t,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,n)}update(e,t,r,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].compare(t[r]))return!1;return!0}(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let r="cm-gutterElement",n=this.dom.firstChild;for(let o=0,i=0;;){let a=i,s=o<t.length?t[o++]:null,l=!1;if(s){let e=s.elementClass;e&&(r+=" "+e);for(let e=i;e<this.markers.length;e++)if(this.markers[e].compare(s)){a=e,l=!0;break}}else a=this.markers.length;for(;i<a;){let e=this.markers[i++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!s)break;s.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(s.toDOM(e),n)),l&&i++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}const L$=pP.define(),I$=pP.define({combine:e=>HP(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let e in t){let n=r[e],o=t[e];r[e]=n?(e,t,r)=>n(e,t,r)||o(e,t,r):o}return r}})});class B$ extends C${constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Q$(e,t){return e.state.facet(I$).formatNumber(t,e.state)}const z$=P$.compute([I$],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(L$),lineMarker:(e,t,r)=>r.some((e=>e.toDOM))?null:new B$(Q$(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(I$)!=e.state.facet(I$),initialSpacer:e=>new B$(Q$(e,U$(e.state.doc.lines))),updateSpacer(e,t){let r=Q$(t.view,U$(t.view.state.doc.lines));return r==e.number?e:new B$(r)},domEventHandlers:e.facet(I$).domEventHandlers})));function U$(e){let t=9;for(;t<e;)t=10*t+9;return t}const F$=new class extends C${constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},W$=_$.compute(["selection"],(e=>{let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.head).from;o>r&&(r=o,t.push(F$.range(o)))}return tq.of(t)}));var Y$;const V$=new XS;function X$(e){return pP.define({combine:e?t=>t.concat(e):void 0})}const H$=new XS;class G${constructor(e,t,r=[],n=""){this.data=e,this.name=n,XP.prototype.hasOwnProperty("tree")||Object.defineProperty(XP.prototype,"tree",{get(){return eM(this)}}),this.parser=t,this.extension=[cM.of(this),XP.languageData.of(((e,t,r)=>{let n=K$(e,t,r),o=n.type.prop(V$);if(!o)return[];let i=e.facet(o),a=n.type.prop(H$);if(a){let o=n.resolve(t-n.from,r);for(let t of a)if(t.test(o,e)){let r=e.facet(t.facet);return"replace"==t.type?r:r.concat(i)}}return i}))].concat(r)}isActiveAt(e,t,r=-1){return K$(e,t,r).type.prop(V$)==this.data}findRegions(e){let t=e.facet(cM);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(e,t)=>{if(e.prop(V$)==this.data)return void r.push({from:t,to:t+e.length});let o=e.prop(XS.mounted);if(o){if(o.tree.prop(V$)==this.data){if(o.overlay)for(let e of o.overlay)r.push({from:e.from+t,to:e.to+t});else r.push({from:t,to:t+e.length});return}if(o.overlay){let e=r.length;if(n(o.tree,o.overlay[0].from+t),r.length>e)return}}for(let r=0;r<e.children.length;r++){let o=e.children[r];o instanceof nC&&n(o,e.positions[r]+t)}};return n(eM(e),0),r}get allowsNesting(){return!0}}function K$(e,t,r){let n=e.facet(cM),o=eM(e).topNode;if(!n||n.allowsNesting)for(let e=o;e;e=e.enter(t,r,rC.ExcludeBuffers))e.type.isTop&&(o=e);return o}G$.setState=DP.define();class J$ extends G${constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=X$(e.languageData);return new J$(t,e.parser.configure({props:[V$.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new J$(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function eM(e){let t=e.field(G$.state,!1);return t?t.tree:nC.empty}class tM{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let rM=null;class nM{constructor(e,t,r=[],n,o,i,a,s){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=o,this.viewport=i,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new nM(e,t,[],nC.empty,0,r,[],null)}startParse(){return this.parser.startParse(new tM(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=nC.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var r;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(AC.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(r=this.parse.stoppedAt)&&void 0!==r?r:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}}))}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||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(AC.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=rM;rM=this;try{return e()}finally{rM=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=oM(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:o,viewport:i,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,r,n,o)=>t.push({fromA:e,toA:r,fromB:n,toB:o}))),r=AC.applyChanges(r,t),n=nC.empty,o=0,i={from:e.mapPos(i.from,-1),to:e.mapPos(i.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let r=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);r<n&&a.push({from:r,to:n})}}}return new nM(this.parser,t,r,n,o,i,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:r,to:n}=this.skipped[t];r<e.to&&n>e.from&&(this.fragments=oM(this.fragments,r,n),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(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 xC{createParse(t,r,n){let o=n[0].from,i=n[n.length-1].to;return{parsedPos:o,advance(){let t=rM;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=i,new nC(KS.none,[],[],i-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return rM}}function oM(e,t,r){return AC.applyChanges(e,[{fromA:t,toA:r,fromB:t,toB:r}])}class iM{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 iM(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=nM.create(e.facet(cM).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new iM(r)}}G$.state=vP.define({create:iM.init,update(e,t){for(let e of t.effects)if(e.is(G$.setState))return e.value;return t.startState.facet(cM)!=t.state.facet(cM)?iM.init(t.state):e.apply(t)}});let aM=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(aM=e=>{let t=-1,r=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(r):cancelIdleCallback(t)});const sM="undefined"!=typeof navigator&&(null===(Y$=navigator.scheduling)||void 0===Y$?void 0:Y$.isInputPending)?()=>navigator.scheduling.isInputPending():null,lM=HT.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(G$.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(G$.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=aM(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,o=r.field(G$.state);if(o.tree==o.context.tree&&o.context.isDone(n+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!sM?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<n&&r.doc.length>n+1e3,s=o.context.work((()=>sM&&sM()||Date.now()>i),n+(a?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:G$.setState.of(new iM(o.context))})),this.chunkBudget>0&&(!s||a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>WT(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),cM=pP.define({combine:e=>e.length?e[0]:null,enables:e=>[G$.state,lM,cZ.contentAttributes.compute([e],(t=>{let r=t.facet(e);return r&&r.name?{"data-language":r.name}:{}}))]});class uM{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class dM{constructor(e,t,r,n,o,i=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=n,this.loadFunc=o,this.support=i,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((e=>this.support=e),(e=>{throw this.loading=null,e})))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new dM(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let r=/\.([^.]+)$/.exec(t);if(r)for(let t of e)if(t.extensions.indexOf(r[1])>-1)return t;return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some((e=>e==t)))return r;if(r)for(let r of e)for(let e of r.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return r}return null}}const pM=pP.define(),hM=pP.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function fM(e){let t=e.facet(hM);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function mM(e,t){let r="",n=e.tabSize,o=e.facet(hM)[0];if("\t"==o){for(;t>=n;)r+="\t",t-=n;o=" "}for(let e=0;e<t;e++)r+=o;return r}function gM(e,t){e instanceof XP&&(e=new bM(e));for(let r of e.state.facet(pM)){let n=r(e,t);if(void 0!==n)return n}let r=eM(e.state);return r.length>=t?function(e,t,r){let n=t.resolveStack(r),o=n.node.enterUnfinishedNodesBefore(r);if(o!=n.node){let e=[];for(let t=o;t!=n.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)n={node:e[t],next:n}}return vM(n,e,r)}(e,r,t):null}class bM{constructor(e,t={}){this.state=e,this.options=t,this.unit=fM(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return null!=n&&n>=r.from&&n<=r.to?o&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,t);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.countColumn(r,e-n),i=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return i>-1&&(o+=i-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,t=e.length){return hq(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:n}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let e=o(n);if(e>-1)return e}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const yM=new XS;function vM(e,t,r){for(let n=e;n;n=n.next){let e=OM(n.node);if(e)return e(AM.create(t,r,n))}return 0}function OM(e){let t=e.type.prop(yM);if(t)return t;let r,n=e.firstChild;if(n&&(r=n.type.prop(XS.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>SM(e,!0,1,void 0,n&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?wM:null}function wM(){return 0}class AM extends bM{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new AM(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(xM(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return vM(this.context.next,this.base,this.pos)}}function xM(e,t){for(let r=t;r;r=r.parent)if(e==r)return!0;return!1}function kM({closing:e,align:t=!0,units:r=1}){return n=>SM(n,t,r,e)}function SM(e,t,r,n,o){let i=e.textAfter,a=i.match(/^\s*/)[0].length,s=n&&i.slice(a,a+n.length)==n||o==e.pos+a,l=t?function(e){let t=e.node,r=t.childAfter(t.from),n=t.lastChild;if(!r)return null;let o=e.options.simulateBreak,i=e.state.doc.lineAt(r.from),a=null==o||o<=i.from?i.to:Math.min(i.to,o);for(let e=r.to;;){let o=t.childAfter(e);if(!o||o==n)return null;if(!o.type.isSkipped)return o.from<a?r:null;e=o.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*r)}function CM({except:e,units:t=1}={}){return r=>{let n=e&&e.test(r.textAfter);return r.baseIndent+(n?0:t*r.unit)}}const _M=pP.define(),EM=new XS;function PM(e){let t=e.firstChild,r=e.lastChild;return t&&t.to<r.from?{from:t.to,to:r.type.isError?e.to:r.from}:null}function qM(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function TM(e,t,r){for(let n of e.facet(_M)){let o=n(e,t,r);if(o)return o}return function(e,t,r){let n=eM(e);if(n.length<r)return null;let o=null;for(let i=n.resolveStack(r,1);i;i=i.next){let a=i.node;if(a.to<=r||a.from>r)continue;if(o&&a.from<t)break;let s=a.type.prop(EM);if(s&&(a.to<n.length-50||n.length==e.doc.length||!qM(a))){let n=s(a,e);n&&n.from<=r&&n.from>=t&&n.to>r&&(o=n)}}return o}(e,t,r)}function jM(e,t){let r=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return r>=n?void 0:{from:r,to:n}}const RM=DP.define({map:jM}),ZM=DP.define({map:jM});function $M(e){let t=[];for(let{head:r}of e.state.selection.ranges)t.some((e=>e.from<=r&&e.to>=r))||t.push(e.lineBlockAt(r));return t}const MM=vP.define({create:()=>CT.none,update(e,t){e=e.map(t.changes);for(let r of t.effects)if(r.is(RM)&&!DM(e,r.value.from,r.value.to)){let{preparePlaceholder:n}=t.state.facet(zM),o=n?CT.replace({widget:new YM(n(t.state,r.value))}):WM;e=e.update({add:[o.range(r.value.from,r.value.to)]})}else r.is(ZM)&&(e=e.update({filter:(e,t)=>r.value.from!=e||r.value.to!=t,filterFrom:r.value.from,filterTo:r.value.to}));if(t.selection){let r=!1,{head:n}=t.selection.main;e.between(n,n,((e,t)=>{e<n&&t>n&&(r=!0)})),r&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>cZ.decorations.from(e),toJSON(e,t){let r=[];return e.between(0,t.doc.length,((e,t)=>{r.push(e,t)})),r},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let r=0;r<e.length;){let n=e[r++],o=e[r++];if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid JSON for fold state");t.push(WM.range(n,o))}return CT.set(t,!0)}});function NM(e,t,r){var n;let o=null;return null===(n=e.field(MM,!1))||void 0===n||n.between(t,r,((e,t)=>{(!o||o.from>e)&&(o={from:e,to:t})})),o}function DM(e,t,r){let n=!1;return e.between(t,t,((e,o)=>{e==t&&o==r&&(n=!0)})),n}function LM(e,t){return e.field(MM,!1)?t:t.concat(DP.appendConfig.of(UM()))}function IM(e,t,r=!0){let n=e.state.doc.lineAt(t.from).number,o=e.state.doc.lineAt(t.to).number;return cZ.announce.of(`${e.state.phrase(r?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${o}.`)}const BM=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of $M(e)){let r=TM(e.state,t.from,t.to);if(r)return e.dispatch({effects:LM(e.state,[RM.of(r),IM(e,r)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(MM,!1))return!1;let t=[];for(let r of $M(e)){let n=NM(e.state,r.from,r.to);n&&t.push(ZM.of(n),IM(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,r=[];for(let n=0;n<t.doc.length;){let o=e.lineBlockAt(n),i=TM(t,o.from,o.to);i&&r.push(RM.of(i)),n=(i?e.lineBlockAt(i.to):o).to+1}return r.length&&e.dispatch({effects:LM(e.state,r)}),!!r.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(MM,!1);if(!t||!t.size)return!1;let r=[];return t.between(0,e.state.doc.length,((e,t)=>{r.push(ZM.of({from:e,to:t}))})),e.dispatch({effects:r}),!0}}],QM={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},zM=pP.define({combine:e=>HP(e,QM)});function UM(e){let t=[MM,HM];return e&&t.push(zM.of(e)),t}function FM(e,t){let{state:r}=e,n=r.facet(zM),o=t=>{let r=e.lineBlockAt(e.posAtDOM(t.target)),n=NM(e.state,r.from,r.to);n&&e.dispatch({effects:ZM.of(n)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,o,t);let i=document.createElement("span");return i.textContent=n.placeholderText,i.setAttribute("aria-label",r.phrase("folded code")),i.title=r.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const WM=CT.replace({widget:new class extends kT{toDOM(e){return FM(e,null)}}});class YM extends kT{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return FM(e,this.value)}}const VM={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class XM extends C${constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}const HM=cZ.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class GM{constructor(e,t){let r;function n(e){let t=yq.newName();return(r||(r=Object.create(null)))["."+t]=e,t}this.specs=e;const o="string"==typeof t.all?t.all:t.all?n(t.all):void 0,i=t.scope;this.scope=i instanceof G$?e=>e.prop(V$)==i.data:i?e=>e==i:void 0,this.style=v_(e.map((e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}))),{all:o}).style,this.module=r?new yq(r):null,this.themeType=t.themeType}static define(e,t){return new GM(e,t||{})}}const KM=pP.define(),JM=pP.define({combine:e=>e.length?[e[0]]:null});function eN(e){let t=e.facet(KM);return t.length?t:e.facet(JM)}function tN(e,t){let r,n=[nN];return e instanceof GM&&(e.module&&n.push(cZ.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(JM.of(e)):r?n.push(KM.computeN([cZ.darkTheme],(t=>t.facet(cZ.darkTheme)==("dark"==r)?[e]:[]))):n.push(KM.of(e)),n}class rN{constructor(e){this.markCache=Object.create(null),this.tree=eM(e.state),this.decorations=this.buildDeco(e,eN(e.state))}update(e){let t=eM(e.state),r=eN(e.state),n=r!=eN(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r))}buildDeco(e,t){if(!t||!this.tree.length)return CT.none;let r=new rq;for(let{from:n,to:o}of e.visibleRanges)O_(this.tree,t,((e,t,n)=>{r.add(e,t,this.markCache[n]||(this.markCache[n]=CT.mark({class:n})))}),n,o);return r.finish()}}const nN=wP.high(HT.fromClass(rN,{decorations:e=>e.decorations})),oN=GM.define([{tag:N_.meta,color:"#404740"},{tag:N_.link,textDecoration:"underline"},{tag:N_.heading,textDecoration:"underline",fontWeight:"bold"},{tag:N_.emphasis,fontStyle:"italic"},{tag:N_.strong,fontWeight:"bold"},{tag:N_.strikethrough,textDecoration:"line-through"},{tag:N_.keyword,color:"#708"},{tag:[N_.atom,N_.bool,N_.url,N_.contentSeparator,N_.labelName],color:"#219"},{tag:[N_.literal,N_.inserted],color:"#164"},{tag:[N_.string,N_.deleted],color:"#a11"},{tag:[N_.regexp,N_.escape,N_.special(N_.string)],color:"#e40"},{tag:N_.definition(N_.variableName),color:"#00f"},{tag:N_.local(N_.variableName),color:"#30a"},{tag:[N_.typeName,N_.namespace],color:"#085"},{tag:N_.className,color:"#167"},{tag:[N_.special(N_.variableName),N_.macroName],color:"#256"},{tag:N_.definition(N_.propertyName),color:"#00c"},{tag:N_.comment,color:"#940"},{tag:N_.invalid,color:"#f00"}]),iN=cZ.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),aN=1e4,sN="()[]{}",lN=pP.define({combine:e=>HP(e,{afterCursor:!0,brackets:sN,maxScanDistance:aN,renderMatch:dN})}),cN=CT.mark({class:"cm-matchingBracket"}),uN=CT.mark({class:"cm-nonmatchingBracket"});function dN(e){let t=[],r=e.matched?cN:uN;return t.push(r.range(e.start.from,e.start.to)),e.end&&t.push(r.range(e.end.from,e.end.to)),t}const pN=vP.define({create:()=>CT.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let r=[],n=t.state.facet(lN);for(let e of t.state.selection.ranges){if(!e.empty)continue;let o=bN(t.state,e.head,-1,n)||e.head>0&&bN(t.state,e.head-1,1,n)||n.afterCursor&&(bN(t.state,e.head,1,n)||e.head<t.state.doc.length&&bN(t.state,e.head+1,-1,n));o&&(r=r.concat(n.renderMatch(o,t.state)))}return CT.set(r,!0)},provide:e=>cZ.decorations.from(e)}),hN=[pN,iN],fN=new XS;function mN(e,t,r){let n=e.prop(t<0?XS.openedBy:XS.closedBy);if(n)return n;if(1==e.name.length){let n=r.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[r[n+t]]}return null}function gN(e){let t=e.type.prop(fN);return t?t(e.node):e}function bN(e,t,r,n={}){let o=n.maxScanDistance||aN,i=n.brackets||sN,a=eM(e),s=a.resolveInner(t,r);for(let e=s;e;e=e.parent){let n=mN(e.type,r,i);if(n&&e.from<e.to){let o=gN(e);if(o&&(r>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return yN(0,0,r,e,o,n,i)}}return function(e,t,r,n,o,i,a){let s=r<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=r>0)return null;let c={from:r<0?t-1:t,to:r>0?t+1:t},u=e.doc.iterRange(t,r>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=i;){let i=u.value;r<0&&(e+=i.length);let s=t+e*r;for(let e=r>0?0:i.length-1,t=r>0?i.length:-1;e!=t;e+=r){let t=a.indexOf(i[e]);if(!(t<0||n.resolveInner(s+e,1).type!=o))if(t%2==0==r>0)d++;else{if(1==d)return{start:c,end:{from:s+e,to:s+e+1},matched:t>>1==l>>1};d--}}r>0&&(e+=i.length)}return u.done?{start:c,matched:!1}:null}(e,t,r,a,s.type,o,i)}function yN(e,t,r,n,o,i,a){let s=n.parent,l={from:o.from,to:o.to},c=0,u=null==s?void 0:s.cursor();if(u&&(r<0?u.childBefore(n.from):u.childAfter(n.to)))do{if(r<0?u.to<=n.from:u.from>=n.to){if(0==c&&i.indexOf(u.type.name)>-1&&u.from<u.to){let e=gN(u);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(mN(u.type,r,a))c++;else if(mN(u.type,-r,a)){if(0==c){let e=gN(u);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}c--}}}while(r<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}const vN=Object.create(null),ON=[KS.none],wN=[],AN=Object.create(null),xN=Object.create(null);for(let[e,t]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"]])xN[e]=SN(vN,t);function kN(e,t){wN.indexOf(e)>-1||(wN.push(e),console.warn(t))}function SN(e,t){let r=[];for(let n of t.split(" ")){let t=[];for(let r of n.split(".")){let n=e[r]||N_[r];n?"function"==typeof n?t.length?t=t.map(n):kN(r,`Modifier ${r} used at start of tag`):t.length?kN(r,`Tag ${r} used as modifier`):t=Array.isArray(n)?n:[n]:kN(r,`Unknown highlighting tag ${r}`)}for(let e of t)r.push(e)}if(!r.length)return 0;let n=t.replace(/ /g,"_"),o=n+" "+r.map((e=>e.id)),i=AN[o];if(i)return i.id;let a=AN[o]=KS.define({id:ON.length,name:n,props:[g_({[n]:r})]});return ON.push(a),a.id}let CN=null;function _N(){if(!CN&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],r=new Set;for(let n in e)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof e[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),r.has(n)||(t.push(n),r.add(n)));CN=t.sort().map((e=>({type:"property",label:e})))}return CN||[]}const EN=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((e=>({type:"class",label:e}))),PN=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((e=>({type:"keyword",label:e}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((e=>({type:"constant",label:e})))),qN=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((e=>({type:"type",label:e}))),TN=/^(\w[\w-]*|-\w[\w-]*|)$/,jN=/^-(-[\w-]*)?$/,RN=new wC,ZN=["Declaration"];function $N(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function MN(e,t,r){if(t.to-t.from>4096){let n=RN.get(t);if(n)return n;let o=[],i=new Set,a=t.cursor(rC.IncludeAnonymous);if(a.firstChild())do{for(let t of MN(e,a.node,r))i.has(t.label)||(i.add(t.label),o.push(t))}while(a.nextSibling());return RN.set(t,o),o}{let n=[],o=new Set;return t.cursor().iterate((t=>{var i;if(r(t)&&t.matchContext(ZN)&&":"==(null===(i=t.node.nextSibling)||void 0===i?void 0:i.name)){let r=e.sliceString(t.from,t.to);o.has(r)||(o.add(r),n.push({label:r,type:"variable"}))}})),n}}const NN=e=>t=>{let{state:r,pos:n}=t,o=eM(r).resolveInner(n,-1),i=o.type.isError&&o.from==o.to-1&&"-"==r.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(i||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:_N(),validFor:TN};if("ValueName"==o.name)return{from:o.from,options:PN,validFor:TN};if("PseudoClassName"==o.name)return{from:o.from,options:EN,validFor:TN};if(e(o)||(t.explicit||i)&&function(e,t){var r;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let n=null===(r=e.parent)||void 0===r?void 0:r.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==t.sliceString(n.from,n.to)}(o,r.doc))return{from:e(o)||i?o.from:n,options:MN(r.doc,$N(o),e),validFor:jN};if("TagName"==o.name){for(let{parent:e}=o;e;e=e.parent)if("Block"==e.name)return{from:o.from,options:_N(),validFor:TN};return{from:o.from,options:qN,validFor:TN}}if(!t.explicit)return null;let a=o.resolve(n),s=a.childBefore(n);return s&&":"==s.name&&"PseudoClassSelector"==a.name?{from:n,options:EN,validFor:TN}:s&&":"==s.name&&"Declaration"==a.name||"ArgList"==a.name?{from:n,options:PN,validFor:TN}:"Block"==a.name||"Styles"==a.name?{from:n,options:_N(),validFor:TN}:null},DN=NN((e=>"VariableName"==e.name)),LN=J$.define({name:"css",parser:PE.configure({props:[yM.add({Declaration:CM()}),EM.add({"Block KeyframeList":PM})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),IN=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],BN=new l_({start:!1,shift:(e,t)=>3==t||4==t||311==t?e:312==t,strict:!1}),QN=new XC(((e,t)=>{let{next:r}=e;(125==r||-1==r||t.context)&&e.acceptToken(309)}),{contextual:!0,fallback:!0}),zN=new XC(((e,t)=>{let r,{next:n}=e;IN.indexOf(n)>-1||(47!=n||47!=(r=e.peek(1))&&42!=r)&&(125==n||59==n||-1==n||t.context||e.acceptToken(308))}),{contextual:!0}),UN=new XC(((e,t)=>{let{next:r}=e;if((43==r||45==r)&&(e.advance(),r==e.next)){e.advance();let r=!t.context&&t.canShift(1);e.acceptToken(r?1:2)}}),{contextual:!0}),FN=g_({"get set async static":N_.modifier,"for while do if else switch try catch finally return throw break continue default case":N_.controlKeyword,"in of await yield void typeof delete instanceof":N_.operatorKeyword,"let var const using function class extends":N_.definitionKeyword,"import export from":N_.moduleKeyword,"with debugger as new":N_.keyword,TemplateString:N_.special(N_.string),super:N_.atom,BooleanLiteral:N_.bool,this:N_.self,null:N_.null,Star:N_.modifier,VariableName:N_.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":N_.function(N_.variableName),VariableDefinition:N_.definition(N_.variableName),Label:N_.labelName,PropertyName:N_.propertyName,PrivatePropertyName:N_.special(N_.propertyName),"CallExpression/MemberExpression/PropertyName":N_.function(N_.propertyName),"FunctionDeclaration/VariableDefinition":N_.function(N_.definition(N_.variableName)),"ClassDeclaration/VariableDefinition":N_.definition(N_.className),PropertyDefinition:N_.definition(N_.propertyName),PrivatePropertyDefinition:N_.definition(N_.special(N_.propertyName)),UpdateOp:N_.updateOperator,"LineComment Hashbang":N_.lineComment,BlockComment:N_.blockComment,Number:N_.number,String:N_.string,Escape:N_.escape,ArithOp:N_.arithmeticOperator,LogicOp:N_.logicOperator,BitOp:N_.bitwiseOperator,CompareOp:N_.compareOperator,RegExp:N_.regexp,Equals:N_.definitionOperator,Arrow:N_.function(N_.punctuation),": Spread":N_.punctuation,"( )":N_.paren,"[ ]":N_.squareBracket,"{ }":N_.brace,"InterpolationStart InterpolationEnd":N_.special(N_.brace),".":N_.derefOperator,", ;":N_.separator,"@":N_.meta,TypeName:N_.typeName,TypeDefinition:N_.definition(N_.typeName),"type enum interface implements namespace module declare":N_.definitionKeyword,"abstract global Privacy readonly override":N_.modifier,"is keyof unique infer":N_.operatorKeyword,JSXAttributeValue:N_.attributeValue,JSXText:N_.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":N_.angleBracket,"JSXIdentifier JSXNameSpacedName":N_.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":N_.attributeName,"JSXBuiltin/JSXIdentifier":N_.standard(N_.tagName)}),WN={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},YN={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},VN={__proto__:null,"<":139},XN=c_.deserialize({version:14,states:"$<UO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JiO6[Q(CjO'#JjO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9UQSO'#FvOOQ(CY'#Jj'#JjOOQ(CW'#Ji'#JiO9ZQSO'#GpOOQQ'#KU'#KUO9fQSO'#IQO9kQ(C[O'#IROOQQ'#JV'#JVOOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9sQUO'#D{O9zQUO'#D}O9aQSO'#GlO:RQ,UO'#CmO:aQSO'#EhO:lQSO'#EsO:qQ,UO'#F`O;`QSO'#GlOOQO'#KV'#KVO;eQSO'#KVO;sQSO'#GtO;sQSO'#GuO;sQSO'#GwO9aQSO'#GzO<jQSO'#G}O>RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-E<b-E<bO9aQSO,5=WO!$[QSO,5=WO!$aQUO,5;TO!&dQ,UO'#EeO!'}QSO,5;TO!)mQ,UO'#DqO!)tQUO'#DvO!*OQWO,5;^O!*WQWO,5;^O%[QUO,5;^OOQQ'#FP'#FPOOQQ'#FR'#FRO%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_O%[QUO,5;_OOQQ'#FV'#FVO!*fQUO,5;pOOQ(CY,5;u,5;uOOQ(CY,5;v,5;vO!,iQSO,5;vOOQ(CY,5;w,5;wO%[QUO'#IhO!,qQ(C[O,5<dO!&dQ,UO,5;_O!-`Q,UO,5;_O%[QUO,5;sO!-gQ#tO'#FfO!.dQ#tO'#J}O!.OQ#tO'#J}O!.kQ#tO'#J}OOQO'#J}'#J}O!/PQ#tO,5<OOOOO,5<[,5<[O!/bQUO'#FrOOOO'#Ig'#IgO7YO&jO,5;{O!/iQ#tO'#FtOOQ(CY,5;{,5;{O!0YQ7[O'#CsOOQ(CY'#Cw'#CwO!0mQSO'#CwO!0rO07`O'#C{O!1`Q,UO,5<aO!1gQSO,5<cO!3SQMhO'#GRO!3aQSO'#GSO!3fQSO'#GSO!3kQMhO'#GWO!4jQWO'#G[OOQO'#Gg'#GgO!(SQ,UO'#GfOOQO'#Gi'#GiO!(SQ,UO'#GhO!5]Q7[O'#JdOOQ(CY'#Jd'#JdO!5gQSO'#JcO!5uQSO'#JbO!5}QSO'#CrOOQ(CY'#Cu'#CuOOQ(CY'#DP'#DPOOQ(CY'#DR'#DRO1SQSO'#DTO!(SQ,UO'#FyO!(SQ,UO'#F{O!6VQSO'#F}O!6[QSO'#GOO!3fQSO'#GUO!(SQ,UO'#GZO!6aQSO'#EkO!7OQSO,5<bOOQ(CW'#Cp'#CpO!7WQSO'#ElO!8QQWO'#EmOOQ(CW'#Jw'#JwO!8XQ(C[O'#KWO9kQ(C[O,5=[O`QUO,5>lOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-E<T-E<TO!:ZQ(CjO,5:ZO!<wQ(CjO,5:gO%[QUO,5:gO!?bQ(CjO,5:iOOQO,5@q,5@qO!@RQ,UO,5=WO!@aQ(C[O'#J`O9UQSO'#J`O!@rQ(C[O,59XO!@}QWO,59XO!AVQ,UO,59XO:RQ,UO,59XO!AbQSO,5;TO!AjQSO'#HYO!BOQSO'#KZO%[QUO,5;xO!7{QWO,5;zO!BWQSO,5=sO!B]QSO,5=sO!BbQSO,5=sO9kQ(C[O,5=sO;sQSO,5=cOOQO'#Cs'#CsO!BpQWO,5=`O!BxQ,UO,5=aO!CTQSO,5=cO!CYQ`O,5=fO!CbQSO'#KVO>pQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-E<U-E<UOOQ(CY1G.n1G.nOOOO-E<V-E<VO#(vQ`O,59xOOOO-E<X-E<XOOQ(CY1G/b1G/bO#({QbO,5>vO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-E<Y-E<YO#)dQSO,5@VO#)lQbO,5@VO#)sQSO,5@dOOQ(CY1G/h1G/hO%[QUO,5@eO#){QSO'#IbOOQO-E<`-E<`O#)sQSO,5@dOOQ(CW1G0r1G0rOOQ(CY1G/s1G/sOOQ(CY1G0V1G0VO%[QUO,5@bO#*aQ(C[O,5@bO#*rQ(C[O,5@bO#*yQSO,5@aO9ZQSO,5@aO#+RQSO,5@aO#+aQSO'#IeO#*yQSO,5@aOOQ(CW1G0q1G0qO!*OQWO,5:rO!*ZQWO,5:rOOQO,5:t,5:tO#,RQSO,5:tO#,ZQ,UO1G2rO9aQSO1G2rOOQ(CY1G0o1G0oO#,iQ(CjO1G0oO#-nQ(ChO,5;POOQ(CY'#GQ'#GQO#.[Q(CjO'#JdO!$aQUO1G0oO#0dQ,UO'#JnO#0nQSO,5:]O#0sQbO'#JoO%[QUO'#JoO#0}QSO,5:bOOQ(CY'#DY'#DYOOQ(CY1G0x1G0xO%[QUO1G0xOOQ(CY1G1b1G1bO#1SQSO1G0xO#3kQ(CjO1G0yO#3rQ(CjO1G0yO#6]Q(CjO1G0yO#6dQ(CjO1G0yO#8nQ(CjO1G0yO#9UQ(CjO1G0yO#<OQ(CjO1G0yO#<VQ(CjO1G0yO#>pQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-E<f-E<fO#FxQ(CjO1G0yOOQ(CY1G0y1G0yO#ITQ(CjO1G1_O#IwQ#tO,5<SO#JPQ#tO,5<TO#JXQ#tO'#FkO#JpQSO'#FjOOQO'#KO'#KOOOQO'#If'#IfO#JuQ#tO1G1jOOQ(CY1G1j1G1jOOOO1G1u1G1uO#KWQ$IUO'#JiO#KbQSO,5<^O!*fQUO,5<^OOOO-E<e-E<eOOQ(CY1G1g1G1gO#KgQWO'#J}OOQ(CY,5<`,5<`O#KoQWO,5<`OOQ(CY,59c,59cO!&dQ,UO'#C}OOOO'#IY'#IYO#KtO07`O,59gOOQ(CY,59g,59gO%[QUO1G1{O!6[QSO'#IjO#LPQ,UO,5<tOOQ(CY,5<q,5<qO!(SQ,UO'#ImO#LoQ,UO,5=QO!(SQ,UO'#IoO#MbQ,UO,5=SO!&dQ,UO,5=UOOQO1G1}1G1}O#MlQ`O'#CpO#NPQ`O,5<mO#NWQSO'#KRO9aQSO'#KRO#NfQSO,5<oO!(SQ,UO,5<nO#NkQSO'#GTO#NvQSO,5<nO#N{Q`O'#GQO$ YQ`O'#KSO$ dQSO'#KSO!&dQ,UO'#KSO$ iQSO,5<rO$ nQWO'#G]O!4eQWO'#G]O$!PQSO'#G_O$!UQSO'#GaO!3fQSO'#GdO$!ZQ(C[O'#IlO$!fQWO,5<vOOQ(CY,5<v,5<vO$!mQWO'#G]O$!{QWO'#G^O$#TQWO'#G^O$#YQ,UO,5=QO$#jQ,UO,5=SOOQ(CY,5=V,5=VO!(SQ,UO,5?}O!(SQ,UO,5?}O$#zQSO'#IqO$$VQSO,5?|O$$_QSO,59^O$%OQ,UO,59oOOQ(CY,59o,59oO$%qQ,UO,5<eO$&dQ,UO,5<gO@bQSO,5<iOOQ(CY,5<j,5<jO$&nQSO,5<pO$&sQ,UO,5<uO$'TQSO'#JuO!$aQUO1G1|O$'YQSO1G1|O9ZQSO'#JxO9ZQSO'#EnO%[QUO'#EnO9ZQSO'#IsO$'_Q(C[O,5@rOOQQ1G2v1G2vOOQQ1G4W1G4WOOQ(CY1G/u1G/uO!,iQSO1G/uO$)dQ(CjO1G0ROOQQ1G2r1G2rO!&dQ,UO1G2rO%[QUO1G2rO$*TQSO1G2rO$*`Q,UO'#EeOOQ(CW,5?z,5?zO$*jQ(C[O,5?zOOQQ1G.s1G.sO!@rQ(C[O1G.sO!@}QWO1G.sO!AVQ,UO1G.sO$*{QSO1G0oO$+QQSO'#CgO$+]QSO'#K[O$+eQSO,5=tO$+jQSO'#K[O$+oQSO'#K[O$+}QSO'#IyO$,]QSO,5@uO$,eQbO1G1dOOQ(CY1G1f1G1fO9aQSO1G3_O@bQSO1G3_O$,lQSO1G3_O$,qQSO1G3_OOQQ1G3_1G3_O!CTQSO1G2}O!&dQ,UO1G2zO$,vQSO1G2zOOQQ1G2{1G2{O!&dQ,UO1G2{O$,{QSO1G2{O$-TQWO'#GyOOQQ1G2}1G2}O!4eQWO'#IuO!CYQ`O1G3QOOQQ1G3Q1G3QOOQQ,5=k,5=kO$-]Q,UO,5=mO9aQSO,5=mO$!UQSO,5=oO9UQSO,5=oO!@}QWO,5=oO!AVQ,UO,5=oO:RQ,UO,5=oO$-kQSO'#KYO$-vQSO,5=pOOQQ1G.i1G.iO$-{Q(C[O1G.iO@bQSO1G.iO$.WQSO1G.iO9kQ(C[O1G.iO$0]QbO,5@wO$0mQSO,5@wO9ZQSO,5@wO$0xQUO,5=wO$1PQSO,5=wOOQQ1G3a1G3aO`QUO1G3aOOQQ1G3g1G3gOOQQ1G3i1G3iO>kQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-E<S-E<SPOOO1G.f1G.fOOOO1G/d1G/dO$<iQ`O,5<dO$<qQbO1G4bOOQO1G4h1G4hO%[QUO,5>vO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-E<c-E<cOOQO1G0^1G0^OOQO1G0`1G0`O!,lQSO1G0`OOQQ7+(^7+(^O!&dQ,UO7+(^O%[QUO7+(^O$?UQSO7+(^O$?aQ,UO7+(^O$?oQ(CjO,5=QO$AzQ(CjO,5=SO$DVQ(CjO,5=QO$FhQ(CjO,5=SO$HyQ(CjO,59oO$KRQ(CjO,5<eO$M^Q(CjO,5<gO% iQ(CjO,5<uOOQ(CY7+&Z7+&ZO%#zQ(CjO7+&ZO%$nQ,UO'#I^O%$xQSO,5@YOOQ(CY1G/w1G/wO%%QQUO'#I_O%%_QSO,5@ZO%%gQbO,5@ZOOQ(CY1G/|1G/|O%%qQSO7+&dOOQ(CY7+&d7+&dO%%vQ$IUO,5:cO%[QUO7+&vO%&QQ$IUO,5:ZO%&_Q$IUO,5:gO%&iQ$IUO,5:iOOQ(CY7+&|7+&|OOQO1G1n1G1nOOQO1G1o1G1oO%&sQ#tO,5<VO!*fQUO,5<UOOQO-E<d-E<dOOQ(CY7+'U7+'UOOOO7+'a7+'aOOOO1G1x1G1xO%'OQSO1G1xOOQ(CY1G1z1G1zO%'TQ`O,59iOOOO-E<W-E<WOOQ(CY1G/R1G/RO%'[Q(CjO7+'gOOQ(CY,5?U,5?UO%(OQ`O,5?UOOQ(CY1G2`1G2`P!&dQ,UO'#IjPOQ(CY-E<h-E<hO%(nQ,UO,5?XOOQ(CY-E<k-E<kO%)aQ,UO,5?ZOOQ(CY-E<m-E<mO%)kQ`O1G2pOOQ(CY1G2X1G2XO%)rQSO'#IiO%*QQSO,5@mO%*QQSO,5@mO%*YQSO,5@mO%*eQSO,5@mOOQO1G2Z1G2ZO%*sQ,UO1G2YO!(SQ,UO1G2YO%+TQMhO'#IkO%+eQSO,5@nO!&dQ,UO,5@nO%+mQ`O,5@nOOQ(CY1G2^1G2^OOQ(CW,5<w,5<wOOQ(CW,5<x,5<xO$'TQSO,5<xOC_QSO,5<xO!@}QWO,5<wOOQO'#G`'#G`O%+wQSO,5<yOOQ(CW,5<{,5<{O$'TQSO,5=OOOQO,5?W,5?WOOQO-E<j-E<jOOQ(CY1G2b1G2bO!4eQWO,5<wO%,PQSO,5<xO$!PQSO,5<yO!4eQWO,5<xO!(SQ,UO'#ImO%,sQ,UO1G2lO!(SQ,UO'#IoO%-fQ,UO1G2nO%-pQ,UO1G5iO%-zQ,UO1G5iOOQO,5?],5?]OOQO-E<o-E<oOOQO1G.x1G.xO!7{QWO,59qO%[QUO,59qO%.XQSO1G2TO!(SQ,UO1G2[O%.^Q(CjO7+'hOOQ(CY7+'h7+'hO!$aQUO7+'hO%/QQSO,5;YOOQ(CW,5?_,5?_OOQ(CW-E<q-E<qOOQ(CY7+%a7+%aO%/VQ`O'#KTO#%sQSO7+(^O%/aQbO7+(^O$?XQSO7+(^O%/hQ(ChO'#CgO%/{Q(ChO,5<|O%0mQSO,5<|OOQ(CW1G5f1G5fOOQQ7+$_7+$_O!@rQ(C[O7+$_O!@}QWO7+$_O!$aQUO7+&ZO%0rQSO'#IxO%1ZQSO,5@vOOQO1G3`1G3`O9aQSO,5@vO%1ZQSO,5@vO%1cQSO,5@vOOQO,5?e,5?eOOQO-E<w-E<wOOQ(CY7+'O7+'OO%1hQSO7+(yO9kQ(C[O7+(yO9aQSO7+(yO@bQSO7+(yOOQQ7+(i7+(iO%1mQ(ChO7+(fO!&dQ,UO7+(fO%1wQ`O7+(gOOQQ7+(g7+(gO!&dQ,UO7+(gO%2OQSO'#KXO%2ZQSO,5=eOOQO,5?a,5?aOOQO-E<s-E<sOOQQ7+(l7+(lO%3jQWO'#HSOOQQ1G3X1G3XO!&dQ,UO1G3XO%[QUO1G3XO%3qQSO1G3XO%3|Q,UO1G3XO9kQ(C[O1G3ZO$!UQSO1G3ZO9UQSO1G3ZO!@}QWO1G3ZO!AVQ,UO1G3ZO%4[QSO'#IwO%4pQSO,5@tO%4xQWO,5@tOOQ(CW1G3[1G3[OOQQ7+$T7+$TO@bQSO7+$TO9kQ(C[O7+$TO%5TQSO7+$TO%[QUO1G6cO%[QUO1G6dO%5YQ(C[O1G6cO%5dQUO1G3cO%5kQSO1G3cO%5pQUO1G3cOOQQ7+({7+({O9kQ(C[O7+)VO`QUO7+)XOOQQ'#K_'#K_OOQQ'#Iz'#IzO%5wQUO,5>WOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E<Z-E<ZOOQO,5>},5>}OOQO-E<a-E<aO!@}QWO1G/nOOQO-E<^-E<^OOQ(CY1G0Y1G0YOOQ(CY7+%r7+%rO#%sQSO7+%rOOQ(CY7+&Y7+&YO>pQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<<KxO%/aQbO<<KxO%8qQSO<<KxOOQQ<<Kx<<KxO!&dQ,UO<<KxO%[QUO<<KxO%8yQSO<<KxO%9UQ(CjO,5?XO%;aQ(CjO,5?ZO%=lQ(CjO1G2YO%?}Q(CjO1G2lO%BYQ(CjO1G2nO%DeQ,UO,5>xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<<JO<<JOO%ERQ$IUO1G0oO%G]Q$IUO1G0yO%GdQ$IUO1G0yO%IhQ$IUO1G0yO%IoQ$IUO1G0yO%KdQ$IUO1G0yO%KzQ$IUO1G0yO%N_Q$IUO1G0yO%NfQ$IUO1G0yO&!jQ$IUO1G0yO&!qQ$IUO1G0yO&$iQ$IUO1G0yO&$|Q(CjO<<JbO&&RQ$IUO1G0yO&'wQ$IUO'#JdO&)zQ$IUO1G1_O&*XQ$IUO1G0RO!*fQUO'#FmOOQO'#KP'#KPOOQO1G1q1G1qO&*cQSO1G1pO&*hQ$IUO,5?SOOOO7+'d7+'dOOOO1G/T1G/TOOQ(CY1G4p1G4pO!(SQ,UO7+([O&*rQSO,5?TO9aQSO,5?TOOQO-E<g-E<gO&+QQSO1G6XO&+QQSO1G6XO&+YQSO1G6XO&+eQ,UO7+'tO&+uQ`O,5?VO&,PQSO,5?VO!&dQ,UO,5?VOOQO-E<i-E<iO&,UQ`O1G6YO&,`QSO1G6YOOQ(CW1G2d1G2dO$'TQSO1G2dOOQ(CW1G2c1G2cO&,hQSO1G2eO!&dQ,UO1G2eOOQ(CW1G2j1G2jO!@}QWO1G2cOC_QSO1G2dO&,mQSO1G2eO&,uQSO1G2dO&-iQ,UO,5?XOOQ(CY-E<l-E<lO&.[Q,UO,5?ZOOQ(CY-E<n-E<nO!(SQ,UO7++TOOQ(CY1G/]1G/]O&.fQSO1G/]OOQ(CY7+'o7+'oO&.kQ,UO7+'vO&.{Q(CjO<<KSOOQ(CY<<KS<<KSO&/oQSO1G0tO!&dQ,UO'#IrO&/tQSO,5@oO!&dQ,UO1G2hOOQQ<<Gy<<GyO!@rQ(C[O<<GyO&/|Q(CjO<<IuOOQ(CY<<Iu<<IuOOQO,5?d,5?dO&0pQSO,5?dO&0uQSO,5?dOOQO-E<v-E<vO&1TQSO1G6bO&1TQSO1G6bO9aQSO1G6bO@bQSO<<LeOOQQ<<Le<<LeO&1]QSO<<LeO9kQ(C[O<<LeOOQQ<<LQ<<LQO%1mQ(ChO<<LQOOQQ<<LR<<LRO%1wQ`O<<LRO&1bQWO'#ItO&1mQSO,5@sO!*fQUO,5@sOOQQ1G3P1G3PO&1uQUO'#JmOOQO'#Iv'#IvO9kQ(C[O'#IvO&2PQWO,5=nOOQQ,5=n,5=nO&2WQWO'#EaO&2lQSO7+(sO&2qQSO7+(sOOQQ7+(s7+(sO!&dQ,UO7+(sO%[QUO7+(sO&2yQSO7+(sOOQQ7+(u7+(uO9kQ(C[O7+(uO$!UQSO7+(uO9UQSO7+(uO!@}QWO7+(uO&3UQSO,5?cOOQO-E<u-E<uOOQO'#HV'#HVO&3aQSO1G6`O9kQ(C[O<<GoOOQQ<<Go<<GoO@bQSO<<GoO&3iQSO7++}O&3nQSO7+,OO%[QUO7++}O%[QUO7+,OOOQQ7+(}7+(}O&3sQSO7+(}O&3xQUO7+(}O&4PQSO7+(}OOQQ<<Lq<<LqOOQQ<<Ls<<LsOOQQ-E<x-E<xOOQQ1G3r1G3rO&4UQSO,5>XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<<I^<<I^OOQ(CY<<It<<ItO>pQSO<<ItOOQO<<Im<<ImO$<_Q(CjO<<ImO%[QUO<<ImOOQO<<Ia<<IaO!@rQ(C[O<<IaO&4jQ(C[O<<ImO&4uQ(CjO<= SO&5VQSO<= ROOQO7+*V7+*VO9ZQSO7+*VOOQQANAdANAdO&5_QSOANAdO!&dQ,UOANAdO#%sQSOANAdO%/aQbOANAdO%[QUOANAdO&5gQ(CjO7+'tO&7xQ(CjO,5?XO&:TQ(CjO,5?ZO&<`Q(CjO7+'vO&>qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5<eO&H`Q$IUO,5<gO&JcQ$IUO,5<uO&LXQ$IUO7+'gO&LfQ$IUO7+'hO&LsQSO,5<XOOQO7+'[7+'[O&LxQ,UO<<KvOOQO1G4o1G4oO&MPQSO1G4oO&M[QSO1G4oO&MjQSO7++sO&MjQSO7++sO!&dQ,UO1G4qO&MrQ`O1G4qO&M|QSO7++tOOQ(CW7+(O7+(OO$'TQSO7+(PO&NUQ`O7+(POOQ(CW7+'}7+'}O$'TQSO7+(OO&N]QSO7+(PO!&dQ,UO7+(POC_QSO7+(OO&NbQ,UO<<NoOOQ(CY7+$w7+$wO&NlQ`O,5?^OOQO-E<p-E<pO&NvQ(ChO7+(SOOQQAN=eAN=eO9aQSO1G5OOOQO1G5O1G5OO' WQSO1G5OO' ]QSO7++|O' ]QSO7++|O9kQ(C[OANBPO@bQSOANBPOOQQANBPANBPOOQQANAlANAlOOQQANAmANAmO' eQSO,5?`OOQO-E<r-E<rO' pQ$IUO1G6_O'$QQbO'#CgOOQO,5?b,5?bOOQO-E<t-E<tOOQQ1G3Y1G3YO&1uQUO,5<yOOQQ<<L_<<L_O!&dQ,UO<<L_O&2lQSO<<L_O'$[QSO<<L_O%[QUO<<L_OOQQ<<La<<LaO9kQ(C[O<<LaO$!UQSO<<LaO9UQSO<<LaO'$dQWO1G4}O'$oQSO7++zOOQQAN=ZAN=ZO9kQ(C[OAN=ZOOQQ<= i<= iOOQQ<= j<= jO'$wQSO<= iO'$|QSO<= jOOQQ<<Li<<LiO'%RQSO<<LiO'%WQUO<<LiOOQQ1G3s1G3sO>pQSO7+)dO'%_QSO<<IzO'%jQ$IUO<<IzOOQO<<Ht<<HtOOQ(CYAN?`AN?`OOQOAN?XAN?XO$<_Q(CjOAN?XOOQOAN>{AN>{O%[QUOAN?XOOQO<<Mq<<MqOOQQG27OG27OO!&dQ,UOG27OO#%sQSOG27OO'%tQSOG27OO%/aQbOG27OO'%|Q$IUO<<JbO'&ZQ$IUO1G2YO'(PQ$IUO,5?XO'*SQ$IUO,5?ZO',VQ$IUO1G2lO'.YQ$IUO1G2nO'0]Q$IUO<<KSO'0jQ$IUO<<IuOOQO1G1s1G1sO!(SQ,UOANAbOOQO7+*Z7+*ZO'0wQSO7+*ZO'1SQSO<= _O'1[Q`O7+*]OOQ(CW<<Kk<<KkO$'TQSO<<KkOOQ(CW<<Kj<<KjO'1fQ`O<<KkO$'TQSO<<KjOOQO7+*j7+*jO9aQSO7+*jO'1mQSO<= hOOQQG27kG27kO9kQ(C[OG27kO!*fQUO1G4zO'1uQSO7++yO&2lQSOANAyOOQQANAyANAyO!&dQ,UOANAyO'1}QSOANAyOOQQANA{ANA{O9kQ(C[OANA{O$!UQSOANA{OOQO'#HW'#HWOOQO7+*i7+*iOOQQG22uG22uOOQQANETANETOOQQANEUANEUOOQQANBTANBTO'2VQSOANBTOOQQ<<MO<<MOO!*fQUOAN?fOOQOG24sG24sO$<_Q(CjOG24sO#%sQSOLD,jOOQQLD,jLD,jO!&dQ,UOLD,jO'2[QSOLD,jO'2dQ$IUO7+'tO'4YQ$IUO,5?XO'6]Q$IUO,5?ZO'8`Q$IUO7+'vO':UQ,UOG26|OOQO<<Mu<<MuOOQ(CWANAVANAVO$'TQSOANAVOOQ(CWANAUANAUOOQO<<NU<<NUOOQQLD-VLD-VO':fQ$IUO7+*fOOQQG27eG27eO&2lQSOG27eO!&dQ,UOG27eOOQQG27gG27gO9kQ(C[OG27gOOQQG27oG27oO':pQ$IUOG25QOOQOLD*_LD*_OOQQ!$(!U!$(!UO#%sQSO!$(!UO!&dQ,UO!$(!UO':zQ(CjOG26|OOQ(CWG26qG26qOOQQLD-PLD-PO&2lQSOLD-POOQQLD-RLD-ROOQQ!)9Ep!)9EpO#%sQSO!)9EpOOQQ!$(!k!$(!kOOQQ!.K;[!.K;[O'=]Q$IUOG26|O!*fQUO'#DwO1PQSO'#EUO'?RQbO'#JiO!*fQUO'#DoO'?YQUO'#D{O'?aQbO'#CgO'AwQbO'#CgO!*fQUO'#D}O'BXQUO,5;TO!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO,5;_O!*fQUO'#IhO'D[QSO,5<dO'DdQ,UO,5;_O'E}Q,UO,5;_O!*fQUO,5;sO!&dQ,UO'#GfO'DdQ,UO'#GfO!&dQ,UO'#GhO'DdQ,UO'#GhO1SQSO'#DTO1SQSO'#DTO!&dQ,UO'#FyO'DdQ,UO'#FyO!&dQ,UO'#F{O'DdQ,UO'#F{O!&dQ,UO'#GZO'DdQ,UO'#GZO!*fQUO,5:gO!*fQUO,5@eO'BXQUO1G0oO'FUQ$IUO'#CgO!*fQUO1G1{O!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO,5<nO'DdQ,UO,5<nO'BXQUO1G1|O!*fQUO7+&vO!&dQ,UO1G2YO'DdQ,UO1G2YO!&dQ,UO'#ImO'DdQ,UO'#ImO!&dQ,UO'#IoO'DdQ,UO'#IoO!&dQ,UO1G2[O'DdQ,UO1G2[O'BXQUO7+'hO'BXQUO7+&ZO!&dQ,UOANAbO'DdQ,UOANAbO'F`QSO'#EiO'FeQSO'#EiO'FmQSO'#FXO'FrQSO'#EsO'FwQSO'#JyO'GSQSO'#JwO'G_QSO,5;TO'GdQ,UO,5<aO'GkQSO'#GSO'GpQSO'#GSO'GuQSO,5<bO'G}QSO,5;TO'HVQ$IUO1G1[O'H^QSO,5<nO'HcQSO,5<nO'HhQSO,5<pO'HmQSO,5<pO'HrQSO1G1|O'HwQSO1G0oO'H|Q,UO<<KvO'ITQ,UO<<KvO7hQ,UO'#FwO9UQSO'#FvOA]QSO'#EhO!*fQUO,5;pO!3fQSO'#GSO!3fQSO'#GSO!3fQSO'#GUO!3fQSO'#GUO!(SQ,UO7+([O!(SQ,UO7+([O%)kQ`O1G2pO%)kQ`O1G2pO!&dQ,UO,5=UO!&dQ,UO,5=U",stateData:"'J^~O'sOS'tOSROS'uRQ~OPYOQYOW!VO_qObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#q!PO$R|O$VfO%a}O%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO&O!WO&U!XO&W!YO&Y!ZO&[![O&_!]O&e!^O&k!_O&m!`O&o!aO&q!bO&s!cO'zSO'|TO(PUO(XVO(g[O(tiO~OUtO~P`OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_!vOm!nO}!oO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!wO#Q!pO#R!pO#U!yO#V!yO'{!lO'|TO(PUO([!mO(g!sO~O'u!zO~OPZXYZX_ZXlZXzZX{ZX}ZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX'qZX(XZX(hZX(oZX(pZX~O!b${X~P(qO]!|O'|#OO'}!|O(O#OO~O]#PO(O#OO(P#OO(Q#PO~Or#RO!P#SO(Y#SO(Z#UO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z:hO'|TO(PUO(XVO(g[O(tiO~O!V#YO!W#VO!T(_P!T(lP~P+}O!X#bO~P`OPYOQYOb!jOc!iOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(tiO~Oj#lO!V#hO!y]O#c#kO#d#hO'z:iO!h(iP~P.iO!i#nO'z#mO~O!u#rO!y]O%a#sO~O#e#tO~O!b#uO#e#tO~OP$]OY$dOl$QOz#yO{#zO}#{O!W$aO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_(]X'q(]X'o(]X!h(]X!T(]X!Y(]X%b(]X!b(]X~P1qO#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X!Y(^X%b(^X~O_(^X!g(^X'q(^X'o(^X!T(^X!h(^Xp(^X!b(^X~P4XO#Y$eO~O$X$gO$Z$fO$b$lO~O!Y$mO$VfO$e$nO$g$pO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z$rO'|TO(PUO(T%VO(X$uO(o$}O(p%POe(UP~O!i%bO~O}%eO!Y%fO'z%dO~O!b%jO~O_%kO'q%kO~O'{!lO~P%[O%g%rO~P%[O!i%bO'z%dO'{!lO(T%VO~Oc%yO!i%bO'z%dO~O#p$SO~Oz&OO!Y%{O!i%}O%c&RO'z%dO'{!lO'|TO(PUO^(}P~O!u#rO~O%l&TO}(yX!Y(yX'z(yX~O'z&UO~O!r&ZO#q!PO%c!QO%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO~Ob&`Oc&_O!u&]O%a&^O%t&[O~P;xOb&cOcyO!Y&bO!r&ZO!uxO!y]O#q!PO%a}O%e!OO%f!OO%g!OO%j!RO%l!SO%o!TO%p!TO%r!UO~O`&fO#Y&iO%c&dO'{!lO~P<}O!i&jO!r&nO~O!i#nO~O!YXO~O_%kO'p&vO'q%kO~O_%kO'p&yO'q%kO~O_%kO'p&{O'q%kO~O'oZX!TZXpZX!hZX&SZX!YZX%bZX!bZX~P(qO!]'YO!^'RO!_'RO'{!lO'|TO(PUO~Om'PO}'OO!V'SO([&}O!X(`P!X(nP~P@UOh']O!Y'ZO'z%dO~Oc'bO!i%bO'z%dO~Oz&OO!i%}O~Om!nO}!oO!y:dO!}!pO#O!pO#Q!pO#R!pO'{!lO'|TO(PUO([!mO(g!sO~O!]'hO!^'gO!_'gO#P!pO#U'iO#V'iO~PApO_%kO!b#uO!i%bO'q%kO(T%VO(h'kO~O!m'oO#Y'mO~PCOOm!nO}!oO'|TO(PUO([!mO(g!sO~O!YXOm(eX}(eX!](eX!^(eX!_(eX!y(eX!}(eX#O(eX#P(eX#Q(eX#R(eX#U(eX#V(eX'{(eX'|(eX(P(eX([(eX(g(eX~O!^'gO!_'gO'{!lO~PCnO'v'sO'w'sO'x'uO~O]!|O'|'wO'}!|O(O'wO~O]#PO(O'wO(P'wO(Q#PO~Or#RO!P#SO(Y#SO(Z'{O~O!V'}O!T'OX!T'UX!W'OX!W'UX~P+}O!W(PO!T(_X~OP$]OY$dOl$QOz#yO{#zO}#{O!W(PO!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O!T(_X~PGbO!T(UO~O!T(kX!W(kX!b(kX!h(kX(h(kX~O#Y(kX#e#^X!X(kX~PIhO#Y(VO!T(mX!W(mX~O!W(WO!T(lX~O!T(ZO~O#Y$eO~PIhO!X([O~P`Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!kaY!kal!ka!W!ka!f!ka!m!ka#h!ka#i!ka#j!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#r!ka#t!ka#v!ka#w!ka(h!ka(o!ka(p!ka~O_!ka'q!ka'o!ka!T!ka!h!kap!ka!Y!ka%b!ka!b!ka~PKOO!h(]O~O!b#uO#Y(^O(h'kO!W(jX_(jX'q(jX~O!h(jX~PMnO}%eO!Y%fO!y]O#c(cO#d(bO'z%dO~O!W(dO!h(iX~O!h(fO~O}%eO!Y%fO#d(bO'z%dO~OP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!g(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O!b#uO!h(^X~P! [Oz(gO{(hO!g#wO!i#xO!y!xa}!xa~O!u!xa%a!xa!Y!xa#c!xa#d!xa'z!xa~P!#`O!u(lO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!YXO!duO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#e(rO~Oj%WOl$tOm$sOn$sOt%XOv%YOx%ZO}${O!Y$|O!d%`O!i$xO#d%aO$R%^O$n%[O$p%]O$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~Oe(bP~P!(SO!V(vO!h(cP~P%[O([(xO(g[O~O}(zO!i#xO([(xO(g[O~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O{)]O!i#xO~O!W$aO_$la'q$la'o$la!h$la!T$la!Y$la%b$la!b$la~O#q)aO~P!&dOz)dO!b)cO!Y$YX$U$YX$X$YX$Z$YX$b$YX~O!b)cO!Y(qX$U(qX$X(qX$Z(qX$b(qX~Oz)dO~P!.OOz)dO!Y(qX$U(qX$X(qX$Z(qX$b(qX~O!Y)fO$U)jO$X)eO$Z)eO$b)kO~O!V)nO~P!*fO$X$gO$Z$fO$b)rO~Oh$tXz$tX}$tX!g$tX(o$tX(p$tX~OegXe$tXhgX!WgX#YgX~P!/tOm)tO~Or)uO(Y)vO(Z)xO~Oh*ROz)zO}){O(o$}O(p%PO~Oe)yO~P!0}Oe*SO~Oj%WOl$tOm$sOn$sOt%XOv%YOx;QO}${O!Y$|O!d<`O!i$xO#d;WO$R%^O$n;SO$p;UO$s%_O'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O!V*WO'z*TO!h(uP~P!1lO#e*YO~O!i*ZO~O!V*`O'z*]O!T(vP~P!1lOl*lO}*dO!]*jO!^*cO!_*cO!i*ZO#U*kO%X*fO'{!lO([!mO~O!X*iO~P!3xO!g#wOh(WXz(WX}(WX(o(WX(p(WX!W(WX#Y(WX~Oe(WX#z(WX~P!4qOh*qO#Y*pOe(VX!W(VX~O!W*rOe(UX~O'z&UOe(UP~O!i*yO~O'z(pO~Oj*}O}%eO!V#hO!Y%fO!y]O#c#kO#d#hO'z%dO!h(iP~O!b#uO#e+OO~O}%eO!V+QO!W(WO!Y%fO'z%dO!T(lP~Om'VO}+SO!V+RO'|TO(PUO([(xO~O!X(nP~P!7lO!W+TO_(zX'q(zX~OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO#w$YO(XVO(h$ZO(o#|O(p#}O~O_!ca!W!ca'q!ca'o!ca!T!ca!h!cap!ca!Y!ca%b!ca!b!ca~P!8dOz#yO{#zO}#{O!g#wO!i#xO(XVOP!oaY!oal!oa!W!oa!f!oa!m!oa#h!oa#i!oa#j!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#r!oa#t!oa#v!oa#w!oa(h!oa(o!oa(p!oa~O_!oa'q!oa'o!oa!T!oa!h!oap!oa!Y!oa%b!oa!b!oa~P!:}Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!qaY!qal!qa!W!qa!f!qa!m!qa#h!qa#i!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#r!qa#t!qa#v!qa#w!qa(h!qa(o!qa(p!qa~O_!qa'q!qa'o!qa!T!qa!h!qap!qa!Y!qa%b!qa!b!qa~P!=hOh+^O!Y'ZO%b+]O(T%VO~O!b+`O_(SX!Y(SX'q(SX!W(SX~O_%kO!YXO'q%kO~O!i%bO(T%VO~O!i%bO'z%dO(T%VO~O!b#uO#e(rO~O`+kO%c+lO'z+hO'|TO(PUO!X)OP~O!W+mO^(}X~OY+qO~O^+rO~O!Y%{O'z%dO'{!lO^(}P~O#Y+wO(T%VO~Oh+zO!Y$|O(T%VO~O!Y+|O~Oz,OO!YXO~O%g%rO~O!u,TO~Oc,YO~O`,ZO'z#mO'|TO(PUO!X(|P~Oc%yO~O%c!QO'z&UO~P<}OY,`O^,_O~OPYOQYObzOcyOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!duO!iZO!lYO!mYO!nYO!pvO!uxO!y]O$VfO%a}O'|TO(PUO(XVO(g[O(tiO~O!Y!eO!r!gO$R!kO'z!dO~P!DkO^,_O_%kO'q%kO~OPYOQYOb!jOc!iOjkOlYOmkOnkOtkOvYOxYO}WO!RkO!SkO!Y!eO!duO!iZO!lYO!mYO!nYO!pvO!u!hO$R!kO$VfO'z!dO'|TO(PUO(XVO(g[O(tiO~O_,eO!rwO#q!OO%e!OO%f!OO%g!OO~P!GTO!i&jO~O&U,kO~O!Y,mO~O&g,oO&i,pOP&daQ&daW&da_&dab&dac&daj&dal&dam&dan&dat&dav&dax&da}&da!R&da!S&da!Y&da!d&da!i&da!l&da!m&da!n&da!p&da!r&da!u&da!y&da#q&da$R&da$V&da%a&da%c&da%e&da%f&da%g&da%j&da%l&da%o&da%p&da%r&da&O&da&U&da&W&da&Y&da&[&da&_&da&e&da&k&da&m&da&o&da&q&da&s&da'o&da'z&da'|&da(P&da(X&da(g&da(t&da!X&da&]&da`&da&b&da~O'z,uO~O!W|X!W!`X!X|X!X!`X!b|X!b!`X!i!`X#Y|X(T!`X~O!b,zO#Y,yO!W#bX!W(aX!X#bX!X(aX!b(aX!i(aX(T(aX~O!b,|O!i%bO(T%VO!W![X!X![X~Om!nO}!oO'|TO(PUO([!mO~OP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!Y!eO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'|TO(PUO(XVO(g[O(t<YO~O'z;]O~P#!ZO!W-QO!X(`X~O!X-SO~O!b,zO#Y,yO!W#bX!X#bX~O!W-TO!X(nX~O!X-VO~O!^-WO!_-WO'{!lO~P# xO!X-ZO~P'_Oh-^O!Y'ZO~O!T-cO~Om!xa!]!xa!^!xa!_!xa!}!xa#O!xa#P!xa#Q!xa#R!xa#U!xa#V!xa'{!xa'|!xa(P!xa([!xa(g!xa~P!#`O!m-hO#Y-fO~PCOO!^-jO!_-jO'{!lO~PCnO_%kO#Y-fO'q%kO~O_%kO!b#uO#Y-fO'q%kO~O_%kO!b#uO!m-hO#Y-fO'q%kO(h'kO~O'v'sO'w'sO'x-oO~Op-pO~O!T'Oa!W'Oa~P!8dO!V-tO!T'OX!W'OX~P%[O!W(PO!T(_a~O!T(_a~PGbO!W(WO!T(la~O}%eO!V-xO!Y%fO'z%dO!T'UX!W'UX~O#Y-zO!W(ja!h(ja_(ja'q(ja~O!b#uO~P#*aO!W(dO!h(ia~O}%eO!Y%fO#d.OO'z%dO~Oj.TO}%eO!V.QO!Y%fO!y]O#c.SO#d.QO'z%dO!W'XX!h'XX~O{.XO!i#xO~Oh.[O!Y'ZO%b.ZO(T%VO~O_#]i!W#]i'q#]i'o#]i!T#]i!h#]ip#]i!Y#]i%b#]i!b#]i~P!8dOh<fOz)zO}){O(o$}O(p%PO~O#e#Xa_#Xa#Y#Xa'q#Xa!W#Xa!h#Xa!Y#Xa!T#Xa~P#-]O#e(WXP(WXY(WX_(WXl(WX{(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX'q(WX(X(WX(h(WX!h(WX!T(WX'o(WXp(WX!Y(WX%b(WX!b(WX~P!4qO!W.iOe(bX~P!0}Oe.kO~O!W.lO!h(cX~P!8dO!h.oO~O!T.qO~OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gi_#gil#gi!W#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O#h#gi~P#1XO#h$OO~P#1XOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO(XVOY#gi_#gi!W#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~Ol#gi~P#3yOl$QO~P#3yOP$]Ol$QOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO(XVO_#gi!W#gi#r#gi#t#gi#v#gi#w#gi'q#gi(h#gi(o#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P#6kOY$dO!f$SO#m$SO#n$SO#o$cO#p$SO~P#6kOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO(XVO_#gi!W#gi#t#gi#v#gi#w#gi'q#gi(h#gi(p#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(o#gi~P#9lO(o#|O~P#9lOP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO(XVO(o#|O_#gi!W#gi#v#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~O(p#gi~P#<^O(p#}O~P#<^OP$]OY$dOl$QOz#yO{#zO}#{O!f$SO!g#wO!i#xO!m$]O#h$OO#i$PO#j$PO#k$PO#l$RO#m$SO#n$SO#o$cO#p$SO#r$TO#t$VO#v$XO(XVO(o#|O(p#}O~O_#gi!W#gi#w#gi'q#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#?OOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX!WZX!XZX~O#zZX~P#AiOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO#w:vO(XVO(h$ZO(o#|O(p#}O~O#z.sO~P#CvO#Y:{O#|:{O#z(^X!X(^X~P! [O_'[a!W'[a'q'[a'o'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!8dOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'q#gi(X#gi(h#gi'o#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#-]O_#{i!W#{i'q#{i'o#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!8dO$X.xO$Z.xO~O$X.yO$Z.yO~O!b)cO#Y.zO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.{O~O!Y)fO$U.}O$X)eO$Z)eO$b/OO~O!W:wO!X(]X~P#CvO!X/PO~O!b)cO$b(qX~O$b/RO~Or)uO(Y)vO(Z/UO~O!T/YO~P!&dO(o$}Oh%Yaz%Ya}%Ya(p%Ya!W%Ya#Y%Ya~Oe%Ya#z%Ya~P#LWO(p%POh%[az%[a}%[a(o%[a!W%[a#Y%[a~Oe%[a#z%[a~P#LyO!WdX!bdX!hdX!h$tX(hdX~P!/tO!h/bO~P#-]O!W/cO!b#uO(h'kO!h(uX~O!h/hO~O!V*WO'z%dO!h(uP~O#e/jO~O!T$tX!W$tX!b${X~P!/tO!W/kO!T(vX~P#-]O!b/mO~O!T/oO~Ol/sO!b#uO!i%bO(T%VO(h'kO~O'z/uO~O!b+`O~O_%kO!W/yO'q%kO~O!X/{O~P!3xO!^/|O!_/|O'{!lO([!mO~O}0OO([!mO~O#U0PO~Oe%Ya!W%Ya#Y%Ya#z%Ya~P!0}Oe%[a!W%[a#Y%[a#z%[a~P!0}O'z&UOe'eX!W'eX~O!W*rOe(Ua~Oe0YO~Oz0ZO{0ZO}0[Ohwa(owa(pwa!Wwa#Ywa~Oewa#zwa~P$$dOz)zO}){Oh$ma(o$ma(p$ma!W$ma#Y$ma~Oe$ma#z$ma~P$%YOz)zO}){Oh$oa(o$oa(p$oa!W$oa#Y$oa~Oe$oa#z$oa~P$%{O#e0^O~Oe$}a!W$}a#Y$}a#z$}a~P!0}O!b#uO~O#e0aO~O!W+TO_(za'q(za~Oz#yO{#zO}#{O!g#wO!i#xO(XVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(h!oi(o!oi(p!oi~O_!oi'q!oi'o!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$'jOh.[O!Y'ZO%b.ZO~Oj0kO'z0jO~P!1oO!b+`O_(Sa!Y(Sa'q(Sa!W(Sa~O#e0qO~OYZX!WdX!XdX~O!W0rO!X)OX~O!X0tO~OY0uO~O`0wO'z+hO'|TO(PUO~O!Y%{O'z%dO^'mX!W'mX~O!W+mO^(}a~O!h0zO~P!8dOY0}O~O^1OO~O#Y1RO~Oh1UO!Y$|O~O([(xO!X({P~Oh1_O!Y1[O%b1^O(T%VO~OY1iO!W1gO!X(|X~O!X1jO~O^1lO_%kO'q%kO~O'z#mO'|TO(PUO~O#Y$eO#|$eOP(^XY(^Xl(^Xz(^X{(^X}(^X!W(^X!f(^X!i(^X!m(^X#h(^X#i(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#r(^X#t(^X#v(^X#w(^X(X(^X(h(^X(o(^X(p(^X~O#p1oO&S1pO_(^X!g(^X~P$.cO#Y$eO#p1oO&S1pO~O_1rO~P%[O_1tO~O&]1wOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'o&Zi'z&Zi'|&Zi(P&Zi(X&Zi(g&Zi(t&Zi!X&Zi`&Zi&b&Zi~O`1}O!X1{O&b1|O~P`O!YXO!i2PO~O&i,pOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'o&di'z&di'|&di(P&di(X&di(g&di(t&di!X&di&]&di`&di&b&di~O!T2VO~O!W![a!X![a~P#CvOm!nO}!oO!V2]O([!mO!W'PX!X'PX~P@UO!W-QO!X(`a~O!W'VX!X'VX~P!7lO!W-TO!X(na~O!X2dO~P'_O_%kO#Y2mO'q%kO~O_%kO!b#uO#Y2mO'q%kO~O_%kO!b#uO!m2qO#Y2mO'q%kO(h'kO~O_%kO'q%kO~P!8dO!W$aOp$la~O!T'Oi!W'Oi~P!8dO!W(PO!T(_i~O!W(WO!T(li~O!T(mi!W(mi~P!8dO!W(ji!h(ji_(ji'q(ji~P!8dO#Y2sO!W(ji!h(ji_(ji'q(ji~O!W(dO!h(ii~O}%eO!Y%fO!y]O#c2xO#d2wO'z%dO~O}%eO!Y%fO#d2wO'z%dO~Oh3PO!Y'ZO%b3OO~Oh3PO!Y'ZO%b3OO(T%VO~O#e%YaP%YaY%Ya_%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#LWO#e%[aP%[aY%[a_%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[ap%[a!Y%[a%b%[a!b%[a~P#LyO#e%YaP%YaY%Ya_%Yal%Ya{%Ya!W%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya'q%Ya(X%Ya(h%Ya!h%Ya!T%Ya'o%Ya#Y%Yap%Ya!Y%Ya%b%Ya!b%Ya~P#-]O#e%[aP%[aY%[a_%[al%[a{%[a!W%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a'q%[a(X%[a(h%[a!h%[a!T%[a'o%[a#Y%[ap%[a!Y%[a%b%[a!b%[a~P#-]O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'qwa(Xwa(hwa!hwa!Twa'owapwa!Ywa%bwa!bwa~P$$dO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'q$ma(X$ma(h$ma!h$ma!T$ma'o$map$ma!Y$ma%b$ma!b$ma~P$%YO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'q$oa(X$oa(h$oa!h$oa!T$oa'o$oap$oa!Y$oa%b$oa!b$oa~P$%{O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'q$}a(X$}a(h$}a!h$}a!T$}a'o$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#-]O_#]q!W#]q'q#]q'o#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!8dOe'QX!W'QX~P!(SO!W.iOe(ba~O!V3ZO!W'RX!h'RX~P%[O!W.lO!h(ca~O!W.lO!h(ca~P!8dO!T3^O~O#z!ka!X!ka~PKOO#z!ca!W!ca!X!ca~P#CvO#z!oa!X!oa~P!:}O#z!qa!X!qa~P!=hO!Y3pO$VfO$`3qO~O!X3uO~Op3vO~P#-]O_$iq!W$iq'q$iq'o$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!8dO!T3wO~P#-]Oz)zO}){O(p%POh'aa(o'aa!W'aa#Y'aa~Oe'aa#z'aa~P%(VOz)zO}){Oh'ca(o'ca(p'ca!W'ca#Y'ca~Oe'ca#z'ca~P%(xO(h$ZO~P#-]O!V3zO'z%dO!W']X!h']X~O!W/cO!h(ua~O!W/cO!b#uO!h(ua~O!W/cO!b#uO(h'kO!h(ua~Oe$vi!W$vi#Y$vi#z$vi~P!0}O!V4SO'z*]O!T'_X!W'_X~P!1lO!W/kO!T(va~O!W/kO!T(va~P#-]O!b#uO#p4[O~Ol4_O!b#uO(h'kO~O(o$}Oh%Yiz%Yi}%Yi(p%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P%,[O(p%POh%[iz%[i}%[i(o%[i!W%[i#Y%[i~Oe%[i#z%[i~P%,}Oe(Vi!W(Vi~P!0}O#Y4fOe(Vi!W(Vi~P!0}O!h4iO~O_$jq!W$jq'q$jq'o$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!8dO!T4mO~O!W4nO!Y(wX~P#-]O!g#wO~P4XO_$tX!Y$tX%VZX'q$tX!W$tX~P!/tO%V4pO_iXhiXziX}iX!YiX'qiX(oiX(piX!WiX~O%V4pO~O`4vO%c4wO'z+hO'|TO(PUO!W'lX!X'lX~O!W0rO!X)Oa~OY4{O~O^4|O~O_%kO'q%kO~P#-]O!Y$|O~P#-]O!W5UO#Y5WO!X({X~O!X5XO~Om!nO}5YO!]!xO!^!uO!_!uO!y:dO!}!pO#O!pO#P!pO#Q!pO#R!pO#U5_O#V!yO'{!lO'|TO(PUO([!mO(g!sO~O!X5^O~P%2`Oh5dO!Y1[O%b5cO~Oh5dO!Y1[O%b5cO(T%VO~O`5kO'z#mO'|TO(PUO!W'kX!X'kX~O!W1gO!X(|a~O'|TO(PUO([5mO~O^5qO~O#p5tO&S5uO~PMnO!h5vO~P%[O_5xO~O_5xO~P%[O`1}O!X5}O&b1|O~P`O!b6PO~O!b6RO!W(ai!X(ai!b(ai!i(ai(T(ai~O!W#bi!X#bi~P#CvO#Y6SO!W#bi!X#bi~O!W![i!X![i~P#CvO_%kO#Y6]O'q%kO~O_%kO!b#uO#Y6]O'q%kO~O!W(jq!h(jq_(jq'q(jq~P!8dO!W(dO!h(iq~O}%eO!Y%fO#d6dO'z%dO~O!Y'ZO%b6gO~Oh6jO!Y'ZO%b6gO~O#e'aaP'aaY'aa_'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa'q'aa(X'aa(h'aa!h'aa!T'aa'o'aap'aa!Y'aa%b'aa!b'aa~P%(VO#e'caP'caY'ca_'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca'q'ca(X'ca(h'ca!h'ca!T'ca'o'cap'ca!Y'ca%b'ca!b'ca~P%(xO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'q$vi(X$vi(h$vi!h$vi!T$vi'o$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#-]O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'q%Yi(X%Yi(h%Yi!h%Yi!T%Yi'o%Yip%Yi!Y%Yi%b%Yi!b%Yi~P%,[O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'q%[i(X%[i(h%[i!h%[i!T%[i'o%[ip%[i!Y%[i%b%[i!b%[i~P%,}Oe'Qa!W'Qa~P!0}O!W'Ra!h'Ra~P!8dO!W.lO!h(ci~O#z#]i!W#]i!X#]i~P#CvOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(XVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~O#h#gi~P%E`O#h:lO~P%E`OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO(XVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~Ol#gi~P%GkOl:nO~P%GkOP$]Ol:nOz#yO{#zO}#{O!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO(XVO#r#gi#t#gi#v#gi#w#gi#z#gi(h#gi(o#gi(p#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%IvOY:zO!f:pO#m:pO#n:pO#o:yO#p:pO~P%IvOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO(XVO#t#gi#v#gi#w#gi#z#gi(h#gi(p#gi!W#gi!X#gi~O(o#gi~P%LbO(o#|O~P%LbOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO(XVO(o#|O#v#gi#w#gi#z#gi(h#gi!W#gi!X#gi~O(p#gi~P%NmO(p#}O~P%NmOP$]OY:zOl:nOz#yO{#zO}#{O!f:pO!g#wO!i#xO!m$]O#h:lO#i:mO#j:mO#k:mO#l:oO#m:pO#n:pO#o:yO#p:pO#r:qO#t:sO#v:uO(XVO(o#|O(p#}O~O#w#gi#z#gi(h#gi!W#gi!X#gi~P&!xO_#xy!W#xy'q#xy'o#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!8dOh<gOz)zO}){O(o$}O(p%PO~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(X#gi(h#gi!W#gi!X#gi~P&%pO!g#wOP(WXY(WXh(WXl(WXz(WX{(WX}(WX!f(WX!i(WX!m(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#r(WX#t(WX#v(WX#w(WX#z(WX(X(WX(h(WX(o(WX(p(WX!W(WX!X(WX~O#z#{i!W#{i!X#{i~P#CvO#z!oi!X!oi~P$'jO!X6|O~O!W'[a!X'[a~P#CvO!b#uO(h'kO!W']a!h']a~O!W/cO!h(ui~O!W/cO!b#uO!h(ui~Oe$vq!W$vq#Y$vq#z$vq~P!0}O!T'_a!W'_a~P#-]O!b7TO~O!W/kO!T(vi~P#-]O!W/kO!T(vi~O!T7XO~O!b#uO#p7^O~Ol7_O!b#uO(h'kO~Oz)zO}){O(p%POh'ba(o'ba!W'ba#Y'ba~Oe'ba#z'ba~P&-QOz)zO}){Oh'da(o'da(p'da!W'da#Y'da~Oe'da#z'da~P&-sO!T7aO~Oe$xq!W$xq#Y$xq#z$xq~P!0}O_$jy!W$jy'q$jy'o$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!8dO!b6RO~O!W4nO!Y(wa~O_#]y!W#]y'q#]y'o#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!8dOY7fO~O`7hO'z+hO'|TO(PUO~O!W0rO!X)Oi~O^7lO~O([(xO!W'hX!X'hX~O!W5UO!X({a~OjkO'z7sO~P.iO!X7vO~P%2`Om!nO}7wO'|TO(PUO([!mO(g!sO~O!Y1[O~O!Y1[O%b7yO~Oh7|O!Y1[O%b7yO~OY8RO!W'ka!X'ka~O!W1gO!X(|i~O!h8VO~O!h8WO~O!h8ZO~O!h8ZO~P%[O_8]O~O!b8^O~O!h8_O~O!W(mi!X(mi~P#CvO_%kO#Y8gO'q%kO~O!W(jy!h(jy_(jy'q(jy~P!8dO!W(dO!h(iy~O!Y'ZO%b8jO~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'q$vq(X$vq(h$vq!h$vq!T$vq'o$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#-]O#e'baP'baY'ba_'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba'q'ba(X'ba(h'ba!h'ba!T'ba'o'bap'ba!Y'ba%b'ba!b'ba~P&-QO#e'daP'daY'da_'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da'q'da(X'da(h'da!h'da!T'da'o'dap'da!Y'da%b'da!b'da~P&-sO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'q$xq(X$xq(h$xq!h$xq!T$xq'o$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#-]O!W'Ri!h'Ri~P!8dO#z#]q!W#]q!X#]q~P#CvO(o$}OP%YaY%Yal%Ya{%Ya!f%Ya!g%Ya!i%Ya!m%Ya#h%Ya#i%Ya#j%Ya#k%Ya#l%Ya#m%Ya#n%Ya#o%Ya#p%Ya#r%Ya#t%Ya#v%Ya#w%Ya#z%Ya(X%Ya(h%Ya!W%Ya!X%Ya~Oh%Yaz%Ya}%Ya(p%Ya~P&?YO(p%POP%[aY%[al%[a{%[a!f%[a!g%[a!i%[a!m%[a#h%[a#i%[a#j%[a#k%[a#l%[a#m%[a#n%[a#o%[a#p%[a#r%[a#t%[a#v%[a#w%[a#z%[a(X%[a(h%[a!W%[a!X%[a~Oh%[az%[a}%[a(o%[a~P&AaOh<gOz)zO}){O(p%PO~P&?YOh<gOz)zO}){O(o$}O~P&AaOz0ZO{0ZO}0[OPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Xwa(hwa(owa(pwa!Wwa!Xwa~Oz)zO}){OP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(X$ma(h$ma(o$ma(p$ma!W$ma!X$ma~Oz)zO}){OP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(X$oa(h$oa(o$oa(p$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(X$}a(h$}a!W$}a!X$}a~P&%pO#z$iq!W$iq!X$iq~P#CvO#z$jq!W$jq!X$jq~P#CvO!X8vO~O#z8wO~P!0}O!b#uO!W']i!h']i~O!b#uO(h'kO!W']i!h']i~O!W/cO!h(uq~O!T'_i!W'_i~P#-]O!W/kO!T(vq~O!T8}O~P#-]O!T8}O~Oe(Vy!W(Vy~P!0}O!W'fa!Y'fa~P#-]O_%Uq!Y%Uq'q%Uq!W%Uq~P#-]OY9SO~O!W0rO!X)Oq~O#Y9WO!W'ha!X'ha~O!W5UO!X({i~P#CvOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!b%SX#p%SX~P' zO!Y1[O%b9[O~O'|TO(PUO([9aO~O!W1gO!X(|q~O!h9dO~O!h9eO~O!h9fO~O!h9fO~P%[O#Y9iO!W#by!X#by~O!W#by!X#by~P#CvO!Y'ZO%b9nO~O#z#xy!W#xy!X#xy~P#CvOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(X$vi(h$vi!W$vi!X$vi~P&%pOz)zO}){O(p%POP'aaY'aah'aal'aa{'aa!f'aa!g'aa!i'aa!m'aa#h'aa#i'aa#j'aa#k'aa#l'aa#m'aa#n'aa#o'aa#p'aa#r'aa#t'aa#v'aa#w'aa#z'aa(X'aa(h'aa(o'aa!W'aa!X'aa~Oz)zO}){OP'caY'cah'cal'ca{'ca!f'ca!g'ca!i'ca!m'ca#h'ca#i'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#r'ca#t'ca#v'ca#w'ca#z'ca(X'ca(h'ca(o'ca(p'ca!W'ca!X'ca~O(o$}OP%YiY%Yih%Yil%Yiz%Yi{%Yi}%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(X%Yi(h%Yi(p%Yi!W%Yi!X%Yi~O(p%POP%[iY%[ih%[il%[iz%[i{%[i}%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(X%[i(h%[i(o%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CvO#z#]y!W#]y!X#]y~P#CvO!b#uO!W']q!h']q~O!W/cO!h(uy~O!T'_q!W'_q~P#-]O!T9wO~P#-]O!W0rO!X)Oy~O!W5UO!X({q~O!Y1[O%b:OO~O!h:RO~O!Y'ZO%b:WO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(X$vq(h$vq!W$vq!X$vq~P&%pOz)zO}){O(p%POP'baY'bah'bal'ba{'ba!f'ba!g'ba!i'ba!m'ba#h'ba#i'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#r'ba#t'ba#v'ba#w'ba#z'ba(X'ba(h'ba(o'ba!W'ba!X'ba~Oz)zO}){OP'daY'dah'dal'da{'da!f'da!g'da!i'da!m'da#h'da#i'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#r'da#t'da#v'da#w'da#z'da(X'da(h'da(o'da(p'da!W'da!X'da~OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(X$xq(h$xq!W$xq!X$xq~P&%pOe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0}O!W'hq!X'hq~P#CvO!W#b!Z!X#b!Z~P#CvO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'q%^!Z(X%^!Z(h%^!Z!h%^!Z!T%^!Z'o%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#-]OP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(X%^!Z(h%^!Z!W%^!Z!X%^!Z~P&%pOp(]X~P1qO'{!lO~P!*fO!TdX!WdX#YdX~P' zOPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(XZX(hZX(oZX(pZX~O!bdX!hZX!hdX(hdX~P'?nOP:cOQ:cOb<[Oc!iOjkOl:cOmkOnkOtkOv:cOx:cO}WO!RkO!SkO!YXO!d:fO!iZO!l:cO!m:cO!n:cO!p:gO!r:jO!u!hO$R!kO$VfO'z)YO'|TO(PUO(XVO(g[O(t<YO~O!W:wO!X$la~Oj%WOl$tOm$sOn$sOt%XOv%YOx;RO}${O!Y$|O!d<aO!i$xO#d;XO$R%^O$n;TO$p;VO$s%_O'z(pO'|TO(PUO(T%VO(X$uO(o$}O(p%PO~O#q)aO~P'DdO!XZX!XdX~P'?nO#e:kO~O!b#uO#e:kO~O#Y:{O~O#p:pO~O#Y;ZO!W(mX!X(mX~O#Y:{O!W(kX!X(kX~O#e;[O~Oe;^O~P!0}O#e;cO~O#e;dO~O!b#uO#e;eO~O!b#uO#e;[O~O#z;fO~P#CvO#e;gO~O#e;hO~O#e;mO~O#e;nO~O#e;oO~O#e;pO~O#z;qO~P!0}O#z;rO~P!0}O$V~!g!}#O#Q#R#U#c#d#o(t$n$p$s%V%a%b%c%j%l%o%p%r%t~'uR$V(t#i!S's'{#jm#h#klz't(['t'z$X$Z$X~",goto:"$2p)SPPPP)TPP)WP)iP*x.|PPPP5pPP6WP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AuPPGh!CSPGhPGhGhGhGhPGh!DfPP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!f$Uc#X%n'|(S(n(u)U)V)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:r)Z)l-O.t2W2Z3_3g3h3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!b$Wc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:t)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:BN,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[FN],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$<m#p#q$=c#q#r$>s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__US$e&j'}p(Q!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]US$e&j(Q!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$e&j(g!L^'}p(Q!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$e&j'}p(Q!b([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$e&j'}p(Q!b$X#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$e&j'}p(Q!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$e&j#|$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$e&j#v$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b! c_(P$)`$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b*Q!!i_$e&j'}pOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b)`!#mX$e&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h#t!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y#t!$oP;=`<%l!$Y)`!$uP;=`<%l!#h*Q!%R]$`#t$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$f!&PZ'}pOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z$f!&yU$`#t'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$f!'`P;=`<%l!%z*Q!'fP;=`<%l!!b(*Q!'t_!i(!b$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!hM|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$e&j'}p(Q!b'{#)d#k$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$e&j'}p(Q!b#h$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$e&j'}p(Q!bl&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!W&;l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$e&j'}p(Q!bz'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!VMt$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$e&j'}p(Q!b#i$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$e&j(Q!b!SSOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$e&j'}p!SSOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$e&j'}p!SSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ'}p!SSOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb'}p!SSOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX'}pOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$e&j'}pOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$e&j'}p(Q!b!SSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d]'}p(Q!b!SSOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe'}p(Q!b!SSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ'}p(Q!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$e&j'}p(Q!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$e&j'}p(Q!b'u(;d!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$e&j'}p(Q!bR(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$e&j(Q!bR(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$e&jR(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSR(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(Q!bR(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$e&j'}pR(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW'}pR(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY'}p(Q!bR(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$e&j#|$Id'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$U#t$e&j'}p(Q!b!SSOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!b$b$e&j#z%<f'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I___l$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Jm^(T!*v!f'.r'}p(Q!b$V)d(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Ki!Q!^*g!^!_#L_!_!`#NP!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KrX$g&j'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LhZ#l$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MZ!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MdX#|$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NYX#m$Id'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Qa#Y%?x$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!V!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!b_#e$Ih$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#paeBf#m$Id$b#|$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$u!`!a$&P!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%Q_#m$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&[a#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'a!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'l`#l$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(yc(h$Ip$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*U!P!^%Z!^!_*g!_!a%Z!a!b$+`!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*a_{'#p$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+k`$e&j#w$Id'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,x_!y!Ln$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.S_}(8n$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/WZ$e&jO!^$/y!^!_$0a!_#i$/y#i#j$0f#j#l$/y#l#m$2X#m#o$/y#o#p$0a#p;'S$/y;'S;=`$4d<%lO$/y(n$0QT]#S$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0fO]#S(n$0k[$e&jO!Q&c!Q![$1a![!^&c!_!c&c!c!i$1a!i#T&c#T#Z$1a#Z#o&c#o#p$3w#p;'S&c;'S;=`&w<%lO&c(n$1fZ$e&jO!Q&c!Q![$2X![!^&c!_!c&c!c!i$2X!i#T&c#T#Z$2X#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2^Z$e&jO!Q&c!Q![$3P![!^&c!_!c&c!c!i$3P!i#T&c#T#Z$3P#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3UZ$e&jO!Q&c!Q![$/y![!^&c!_!c&c!c!i$/y!i#T&c#T#Z$/y#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3zR!Q![$4T!c!i$4T#T#Z$4T#S$4WS!Q![$4T!c!i$4T#T#Z$4T#q#r$0a(n$4gP;=`<%l$/y!2r$4u_!T!+S$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$6P`#t$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7^_$e&j'}p(Q!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8lk$e&j'}p(Q!b([!LY'z&;d$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$8]uw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$8]![!^%Z!^!_*g!_!c%Z!c!}$8]!}#O%Z#O#P&c#P#R%Z#R#S$8]#S#T%Z#T#o$8]#o#p*g#p$g%Z$g;'S$8];'S;=`$<g<%lO$8]+d$:lk$e&j'}p(Q!b$Z#tOY%ZYZ&cZr%Zrs&}st%Ztu$:auw%Zwx(rx}%Z}!O$:a!O!Q%Z!Q![$:a![!^%Z!^!_*g!_!c%Z!c!}$:a!}#O%Z#O#P&c#P#R%Z#R#S$:a#S#T%Z#T#o$:a#o#p*g#p$g%Z$g;'S$:a;'S;=`$<a<%lO$:a+d$<dP;=`<%l$:a(CS$<jP;=`<%l$8]!5p$<vX!Y!3l'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=na(o&;`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+`#q;'S%Z;'S;=`+a<%lO%Z%#`$?Q_!X$I`p`$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@[_!nS$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Al|$e&j'}p(Q!b's(;d([!LY'z&;d$X#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(CS$Dwk$e&j'}p(Q!b't(;d([!LY'z&;d$X#tOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[zN,UN,2,3,4,5,6,7,8,9,10,11,12,13,QN,new VC("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOr~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!P~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~",141,332),new VC("j~RQYZXz{^~^O'w~~aP!P!Qd~iO'x~~",25,314)],topRules:{Script:[0,5],SingleExpression:[1,268],SingleClassItem:[2,269]},dialects:{jsx:14548,ts:14550},dynamicPrecedences:{67:1,77:1,79:1,164:1,192:1},specialized:[{term:318,get:e=>WN[e]||-1},{term:334,get:e=>YN[e]||-1},{term:68,get:e=>VN[e]||-1}],tokenPrec:14574});class HN{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=eM(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),o=n.search(tD(e,!1));return o<0?null:{from:r+o,to:this.pos,text:n.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function GN(e){let t=Object.keys(e).join(""),r=/\w/.test(t);return r&&(t=t.replace(/\w/g,"")),`[${r?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function KN(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[r,n]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),r=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)r[n[e]]=!0}let n=GN(t)+GN(r)+"*$";return[new RegExp("^"+n),new RegExp(n)]}(t);return e=>{let o=e.matchBefore(n);return o||e.explicit?{from:o?o.from:e.pos,options:t,validFor:r}:null}}class JN{constructor(e,t,r,n){this.completion=e,this.source=t,this.match=r,this.score=n}}function eD(e){return e.selection.main.from}function tD(e,t){var r;let{source:n}=e,o=t&&"^"!=n[0],i="$"!=n[n.length-1];return o||i?new RegExp(`${o?"^":""}(?:${n})${i?"$":""}`,null!==(r=e.flags)&&void 0!==r?r:e.ignoreCase?"i":""):e}const rD=$P.define(),nD=new WeakMap;function oD(e){if(!Array.isArray(e))return e;let t=nD.get(e);return t||nD.set(e,t=KN(e)),t}const iD=DP.define(),aD=DP.define();class sD{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=XE(e,t),n=GE(r);this.chars.push(r);let o=e.slice(t,t+n),i=o.toUpperCase();this.folded.push(XE(i==o?o.toLowerCase():i,0)),t+=n}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,!0}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:t,folded:r,any:n,precise:o,byWord:i}=this;if(1==t.length){let n=XE(e,0),o=GE(n),i=o==e.length?0:-100;if(n==t[0]);else{if(n!=r[0])return!1;i+=-200}return this.ret(i,[0,o])}let a=e.indexOf(this.pattern);if(0==a)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,l=0;if(a<0){for(let o=0,i=Math.min(e.length,200);o<i&&l<s;){let i=XE(e,o);i!=t[l]&&i!=r[l]||(n[l++]=o),o+=GE(i)}if(l<s)return!1}let c=0,u=0,d=!1,p=0,h=-1,f=-1,m=/[a-z]/.test(e),g=!0;for(let n=0,l=Math.min(e.length,200),b=0;n<l&&u<s;){let l=XE(e,n);a<0&&(c<s&&l==t[c]&&(o[c++]=n),p<s&&(l==t[p]||l==r[p]?(0==p&&(h=n),f=n+1,p++):p=0));let y,v=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=HE(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!n||1==v&&m||0==b&&0!=v)&&(t[u]==l||r[u]==l&&(d=!0)?i[u++]=n:i.length&&(g=!1)),b=v,n+=GE(l)}return u==s&&0==i[0]&&g?this.result((d?-200:0)-100,i,e):p==s&&0==h?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==s?this.ret(-900-e.length,[h,f]):u==s?this.result((d?-200:0)-100-700+(g?0:-1100),i,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,r){let n=[],o=0;for(let e of t){let t=e+(this.astral?GE(XE(r,e)):1);o&&n[o-1]==e?n[o-1]=t:(n[o++]=e,n[o++]=t)}return this.ret(e-r.length,n)}}const lD=pP.define({combine:e=>HP(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:uD,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>cD(e(r),t(r)),optionClass:(e,t)=>r=>cD(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})});function cD(e,t){return e?t?e+" "+t:e:t}function uD(e,t,r,n,o,i){let a,s,l=e.textDirection==cj.RTL,c=l,u=!1,d="top",p=t.left-o.left,h=o.right-t.right,f=n.right-n.left,m=n.bottom-n.top;if(c&&p<Math.min(f,h)?c=!1:!c&&h<Math.min(f,p)&&(c=!0),f<=(c?p:h))a=Math.max(o.top,Math.min(r.top,o.bottom-m))-t.top,s=Math.min(400,c?p:h);else{u=!0,s=Math.min(400,(l?t.right:o.right-t.left)-30);let e=o.bottom-t.bottom;e>=m||e>t.top?a=r.bottom-t.top:(d="bottom",a=t.bottom-r.top)}return{style:`${d}: ${a/((t.bottom-t.top)/i.offsetHeight)}px; max-width: ${s/((t.right-t.left)/i.offsetWidth)}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function dD(e,t,r){if(e<=r)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/r);return{from:e*r,to:(e+1)*r}}let n=Math.floor((e-t)/r);return{from:e-(n+1)*r,to:e-n*r}}class pD{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:o,selected:i}=n.open,a=e.state.facet(lD);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,r,n){let o=document.createElement("span");o.className="cm-completionLabel";let i=e.displayLabel||e.label,a=0;for(let e=0;e<n.length;){let t=n[e++],r=n[e++];t>a&&o.appendChild(document.createTextNode(i.slice(a,t)));let s=o.appendChild(document.createElement("span"));s.appendChild(document.createTextNode(i.slice(t,r))),s.className="cm-completionMatchedText",a=r}return a<i.length&&o.appendChild(document.createTextNode(i.slice(a))),o},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort(((e,t)=>e.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=dD(o.length,i,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(r=>{let{options:n}=e.state.field(t).open;for(let t,o=r.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(t=/-(\d+)$/.exec(o.id))&&+t[1]<n.length)return this.applyCompletion(e,n[+t[1]]),void r.preventDefault()})),this.dom.addEventListener("focusout",(t=>{let r=e.state.field(this.stateField,!1);r&&r.tooltip&&e.state.facet(lD).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:aD.of(null)})})),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(e){var t;let r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:o,selected:i,disabled:a}=r.open;n.open&&n.open.options==o||(this.range=dD(o.length,i,e.state.facet(lD).maxRenderedOptions),this.showOptions(o,r.id)),this.updateSel(),a!=(null===(t=n.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=dD(t.options.length,t.selected,this.view.state.facet(lD).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(r);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)})).catch((e=>WT(this.view.state,e,"completion info"))):this.addInfoPane(o,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",null!=e.nodeType)r.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;r.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)"LI"==r.nodeName&&r.id?n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected"):n--;return t&&function(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=r.height/e.offsetHeight;n.top<r.top?e.scrollTop-=(r.top-n.top)/o:n.bottom>r.bottom&&(e.scrollTop+=(n.bottom-r.bottom)/o)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),o=this.space;if(!o){let e=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(o.bottom,t.bottom)-10||n.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(lD).positionInfo(this.view,t,n,r,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let i=r.from;i<r.to;i++){let{completion:a,match:s}=e[i],{section:l}=a;if(l){let e="string"==typeof l?l:l.name;e!=o&&(i>r.from||0==r.from)&&(o=e,"string"!=typeof l&&l.header?n.appendChild(l.header(l)):n.appendChild(document.createElement("completion-section")).textContent=e)}const c=n.appendChild(document.createElement("li"));c.id=t+"-"+i,c.setAttribute("role","option");let u=this.optionClass(a);u&&(c.className=u);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,s);t&&c.appendChild(t)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function hD(e,t){return r=>new pD(r,e,t)}function fD(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class mD{constructor(e,t,r,n,o,i){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=n,this.selected=o,this.disabled=i}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new mD(this.options,yD(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,n,o){let i=function(e,t){let r=[],n=null,o=e=>{r.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some((t=>t.name==e))||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)o(new JN(t,n.source,e?e(t):[],1e9-r.length));else{let r=new sD(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(r.match(t.label)){let i=t.displayLabel?e?e(t,r.matched):[]:r.matched;o(new JN(t,n.source,i,r.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,o=(e,t)=>{var r,n;return(null!==(r=e.rank)&&void 0!==r?r:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.name<t.name?-1:1)};for(let r of n.sort(o))t-=1e5,e[r.name]=t;for(let t of r){let{section:r}=t.completion;r&&(t.score+=e["string"==typeof r?r:r.name])}}let i=[],a=null,s=t.facet(lD).compareCompletions;for(let e of r.sort(((e,t)=>t.score-e.score||s(e.completion,t.completion)))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?i.push(e):fD(e.completion)>fD(a)&&(i[i.length-1]=e),a=e.completion}return i}(e,t);if(!i.length)return n&&e.some((e=>1==e.state))?new mD(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=t.facet(lD).selectOnOpen?0:-1;if(n&&n.selected!=a&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<i.length;t++)if(i[t].completion==e){a=t;break}}return new mD(i,yD(r,a),{pos:e.reduce(((e,t)=>t.hasResult()?Math.min(e,t.from):e),1e8),create:_D,above:o.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(e){return new mD(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class gD{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new gD(vD,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,r=t.facet(lD),n=(r.override||t.languageDataAt("autocomplete",eD(t)).map(oD)).map((t=>(this.active.find((e=>e.source==t))||new wD(t,this.active.some((e=>0!=e.state))?1:0)).update(e,r)));n.length==this.active.length&&n.every(((e,t)=>e==this.active[t]))&&(n=this.active);let o=this.open;o&&e.docChanged&&(o=o.map(e.changes)),e.selection||n.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let r=0,n=0;;){for(;r<e.length&&!e[r].hasResult;)r++;for(;n<t.length&&!t[n].hasResult;)n++;let o=r==e.length,i=n==t.length;if(o||i)return o==i;if(e[r++].result!=t[n++].result)return!1}}(n,this.active)?o=mD.build(n,t,this.id,o,r):o&&o.disabled&&!n.some((e=>1==e.state))&&(o=null),!o&&n.every((e=>1!=e.state))&&n.some((e=>e.hasResult()))&&(n=n.map((e=>e.hasResult()?new wD(e.source,0):e)));for(let t of e.effects)t.is(kD)&&(o=o&&o.setSelected(t.value,this.id));return n==this.active&&o==this.open?this:new gD(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:bD}}const bD={"aria-autocomplete":"list"};function yD(e,t){let r={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(r["aria-activedescendant"]=e+"-"+t),r}const vD=[];function OD(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class wD{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=OD(e),n=this;r?n=n.handleUserEvent(e,r,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new wD(n.source,0));for(let t of e.effects)if(t.is(iD))n=new wD(n.source,1,t.value?eD(e.state):-1);else if(t.is(aD))n=new wD(n.source,0);else if(t.is(xD))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,r){return"delete"!=t&&r.activateOnTyping?new wD(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(eD(e.startState))?new wD(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new wD(this.source,this.state,e.mapPos(this.explicitPos))}}class AD extends wD{constructor(e,t,r,n,o){super(e,2,t),this.result=r,this.from=n,this.to=o}hasResult(){return!0}handleUserEvent(e,t,r){var n;let o=e.changes.mapPos(this.from),i=e.changes.mapPos(this.to,1),a=eD(e.state);if((this.explicitPos<0?a<=o:a<this.from)||a>i||"delete"==t&&eD(e.startState)==this.from)return new wD(this.source,"input"==t&&r.activateOnTyping?1:0);let s,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,r,n){if(!e)return!1;let o=t.sliceDoc(r,n);return"function"==typeof e?e(o,r,n,t):tD(e,!0).test(o)}(this.result.validFor,e.state,o,i)?new AD(this.source,l,this.result,o,i):this.result.update&&(s=this.result.update(this.result,o,i,new HN(e.state,a,l>=0)))?new AD(this.source,l,s,s.from,null!==(n=s.to)&&void 0!==n?n:eD(e.state)):new wD(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new wD(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new AD(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const xD=DP.define({map:(e,t)=>e.map((e=>e.map(t)))}),kD=DP.define(),SD=vP.define({create:()=>gD.start(),update:(e,t)=>e.update(t),provide:e=>[d$.from(e,(e=>e.tooltip)),cZ.contentAttributes.from(e,(e=>e.attrs))]});function CD(e,t){const r=t.completion.apply||t.completion.label;let n=e.state.field(SD).active.find((e=>e.source==t.source));return n instanceof AD&&("string"==typeof r?e.dispatch(Object.assign(Object.assign({},function(e,t,r,n){let{main:o}=e.selection,i=r-o.from,a=n-o.from;return Object.assign(Object.assign({},e.changeByRange((s=>s!=o&&r!=n&&e.sliceDoc(s.from+i,s.from+a)!=e.sliceDoc(r,n)?{range:s}:{changes:{from:s.from+i,to:n==o.from?s.to:s.from+a,insert:t},range:cP.cursor(s.from+i+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,r,n.from,n.to)),{annotations:rD.of(t.completion)})):r(e,t.completion,n.from,n.to),!0)}const _D=hD(SD,CD);function ED(e,t="option"){return r=>{let n=r.state.field(SD,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<r.state.facet(lD).interactionDelay)return!1;let o,i=1;"page"==t&&(o=y$(r,n.open.tooltip))&&(i=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=n.open.options,s=n.open.selected>-1?n.open.selected+i*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),r.dispatch({effects:kD.of(s)}),!0}}class PD{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const qD=HT.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(SD).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(SD);if(!e.selectionSet&&!e.docChanged&&e.startState.field(SD)==t)return;let r=e.transactions.some((e=>(e.selection||e.docChanged)&&!OD(e)));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){WT(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==OD(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(SD);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,r=eD(t),n=new HN(t,r,e.explicitPos==r),o=new PD(e,n);this.running.push(o),Promise.resolve(e.source(n)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:aD.of(null)}),WT(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(lD).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],r=this.view.state.facet(lD);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let n=new AD(o.active.source,o.active.explicitPos,o.done,o.done.from,null!==(e=o.done.to)&&void 0!==e?e:eD(o.updates.length?o.updates[0].startState:this.view.state));for(let e of o.updates)n=n.update(e,r);if(n.hasResult()){t.push(n);continue}}let i=this.view.state.field(SD).active.find((e=>e.source==o.active.source));if(i&&1==i.state)if(null==o.done){let e=new wD(o.active.source,0);for(let t of o.updates)e=e.update(t,r);1!=e.state&&t.push(e)}else this.startQuery(i)}t.length&&this.view.dispatch({effects:xD.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(SD,!1);if(t&&t.tooltip&&this.view.state.facet(lD).closeOnBlur){let r=t.open&&y$(this.view,t.open.tooltip);r&&r.dom.contains(e.relatedTarget)||this.view.dispatch({effects:aD.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:iD.of(!1)})),20),this.composing=0}}}),TD=cZ.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class jD{constructor(e,t,r,n){this.field=e,this.line=t,this.from=r,this.to=n}}class RD{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,JE.TrackDel),r=e.mapPos(this.to,1,JE.TrackDel);return null==t||null==r?null:new RD(this.field,t,r)}}class ZD{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],n=[t],o=e.doc.lineAt(t),i=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(r.length){let r=i,a=/^\t*/.exec(o)[0].length;for(let t=0;t<a;t++)r+=e.facet(hM);n.push(t+r.length-a),o=r+o.slice(a)}r.push(o),t+=o.length+1}let a=this.fieldPositions.map((e=>new RD(e.field,n[e.line]+e.from,n[e.line]+e.to)));return{text:r,ranges:a}}static parse(e){let t,r=[],n=[],o=[];for(let i of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(i);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",s=-1;for(let t=0;t<r.length;t++)(null!=e?r[t].seq==e:a&&r[t].name==a)&&(s=t);if(s<0){let t=0;for(;t<r.length&&(null==e||null!=r[t].seq&&r[t].seq<e);)t++;r.splice(t,0,{seq:e,name:a}),s=t;for(let e of o)e.field>=s&&e.field++}o.push(new jD(s,n.length,t.index,t.index+a.length)),i=i.slice(0,t.index)+a+i.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(i);){i=i.slice(0,e.index)+e[1]+i.slice(e.index+e[0].length);for(let t of o)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(i)}return new ZD(n,o)}}let $D=CT.widget({widget:new class extends kT{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),MD=CT.mark({class:"cm-snippetField"});class ND{constructor(e,t){this.ranges=e,this.active=t,this.deco=CT.set(e.map((e=>(e.from==e.to?$D:MD).range(e.from,e.to))))}map(e){let t=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;t.push(n)}return new ND(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const DD=DP.define({map:(e,t)=>e&&e.map(t)}),LD=DP.define(),ID=vP.define({create:()=>null,update(e,t){for(let r of t.effects){if(r.is(DD))return r.value;if(r.is(LD)&&e)return new ND(e.ranges,r.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>cZ.decorations.from(e,(e=>e?e.deco:CT.none))});function BD(e,t){return cP.create(e.filter((e=>e.field==t)).map((e=>cP.range(e.from,e.to))))}function QD(e){let t=ZD.parse(e);return(e,r,n,o)=>{let{text:i,ranges:a}=t.instantiate(e.state,n),s={changes:{from:n,to:o,insert:qE.of(i)},scrollIntoView:!0,annotations:r?rD.of(r):void 0};if(a.length&&(s.selection=BD(a,0)),a.length>1){let t=new ND(a,0),r=s.effects=[DD.of(t)];void 0===e.state.field(ID,!1)&&r.push(DP.appendConfig.of([ID,WD,VD,TD]))}e.dispatch(e.state.update(s))}}function zD(e){return({state:t,dispatch:r})=>{let n=t.field(ID,!1);if(!n||e<0&&0==n.active)return!1;let o=n.active+e,i=e>0&&!n.ranges.some((t=>t.field==o+e));return r(t.update({selection:BD(n.ranges,o),effects:DD.of(i?null:new ND(n.ranges,o)),scrollIntoView:!0})),!0}}const UD=[{key:"Tab",run:zD(1),shift:zD(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(ID,!1)&&(t(e.update({effects:DD.of(null)})),!0)}],FD=pP.define({combine:e=>e.length?e[0]:UD}),WD=wP.highest(bZ.compute([FD],(e=>e.facet(FD))));function YD(e,t){return Object.assign(Object.assign({},t),{apply:QD(e)})}const VD=cZ.domEventHandlers({mousedown(e,t){let r,n=t.state.field(ID,!1);if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let o=n.ranges.find((e=>e.from<=r&&e.to>=r));return!(!o||o.field==n.active||(t.dispatch({selection:BD(n.ranges,o.field),effects:DD.of(n.ranges.some((e=>e.field>o.field))?new ND(n.ranges,o.field):null),scrollIntoView:!0}),0))}}),XD={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},HD=DP.define({map(e,t){let r=t.mapPos(e,-1,JE.TrackAfter);return null==r?void 0:r}}),GD=new class extends GP{};GD.startSide=1,GD.endSide=-1;const KD=vP.define({create:()=>tq.empty,update(e,t){if(e=e.map(t.changes),t.selection){let r=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=r.from&&e<=r.to})}for(let r of t.effects)r.is(HD)&&(e=e.update({add:[GD.range(r.value,r.value+1)]}));return e}}),JD="()[]{}<>";function eL(e){for(let t=0;t<8;t+=2)if(JD.charCodeAt(t)==e)return JD.charAt(t+1);return HE(e<128?e:e+1)}function tL(e,t){return e.languageDataAt("closeBrackets",t)[0]||XD}const rL="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),nL=cZ.inputHandler.of(((e,t,r,n)=>{if((rL?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(n.length>2||2==n.length&&1==GE(XE(n,0))||t!=o.from||r!=o.to)return!1;let i=function(e,t){let r=tL(e,e.selection.main.head),n=r.brackets||XD.brackets;for(let o of n){let i=eL(XE(o,0));if(t==o)return i==o?cL(e,o,n.indexOf(o+o+o)>-1,r):sL(e,o,i,r.before||XD.before);if(t==i&&iL(e,e.selection.main.from))return lL(e,0,i)}return null}(e.state,n);return!!i&&(e.dispatch(i),!0)})),oL=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=tL(e,e.selection.main.head).brackets||XD.brackets,n=null,o=e.changeByRange((t=>{if(t.empty){let n=function(e,t){let r=e.sliceString(t-2,t);return GE(XE(r,0))==r.length?r:r.slice(1)}(e.doc,t.head);for(let o of r)if(o==n&&aL(e.doc,t.head)==eL(XE(o,0)))return{changes:{from:t.head-o.length,to:t.head+o.length},range:cP.cursor(t.head-o.length)}}return{range:n=t}}));return n||t(e.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function iL(e,t){let r=!1;return e.field(KD).between(0,e.doc.length,(e=>{e==t&&(r=!0)})),r}function aL(e,t){let r=e.sliceString(t,t+2);return r.slice(0,GE(XE(r,0)))}function sL(e,t,r,n){let o=null,i=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:r,from:i.to}],effects:HD.of(i.to+t.length),range:cP.range(i.anchor+t.length,i.head+t.length)};let a=aL(e.doc,i.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:t+r,from:i.head},effects:HD.of(i.head+t.length),range:cP.cursor(i.head+t.length)}:{range:o=i}}));return o?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function lL(e,t,r){let n=null,o=e.changeByRange((t=>t.empty&&aL(e.doc,t.head)==r?{changes:{from:t.head,to:t.head+r.length,insert:r},range:cP.cursor(t.head+r.length)}:n={range:t}));return n?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function cL(e,t,r,n){let o=n.stringPrefixes||XD.stringPrefixes,i=null,a=e.changeByRange((n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:HD.of(n.to+t.length),range:cP.range(n.anchor+t.length,n.head+t.length)};let a,s=n.head,l=aL(e.doc,s);if(l==t){if(uL(e,s))return{changes:{insert:t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)};if(iL(e,s)){let n=r&&e.sliceDoc(s,s+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:s,to:s+n.length,insert:n},range:cP.cursor(s+n.length)}}}else{if(r&&e.sliceDoc(s-2*t.length,s)==t+t&&(a=dL(e,s-2*t.length,o))>-1&&uL(e,a))return{changes:{insert:t+t+t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)};if(e.charCategorizer(s)(l)!=WP.Word&&dL(e,s,o)>-1&&!function(e,t,r,n){let o=eM(e).resolveInner(t,-1),i=n.reduce(((e,t)=>Math.max(e,t.length)),0);for(let a=0;a<5;a++){let a=e.sliceDoc(o.from,Math.min(o.to,o.from+r.length+i)),s=a.indexOf(r);if(!s||s>-1&&n.indexOf(a.slice(0,s))>-1){let t=o.firstChild;for(;t&&t.from==o.from&&t.to-t.from>r.length+s;){if(e.sliceDoc(t.to-r.length,t.to)==r)return!1;t=t.firstChild}return!0}let l=o.to==t&&o.parent;if(!l)break;o=l}return!1}(e,s,t,o))return{changes:{insert:t+t,from:s},effects:HD.of(s+t.length),range:cP.cursor(s+t.length)}}return{range:i=n}}));return i?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function uL(e,t){let r=eM(e).resolveInner(t+1);return r.parent&&r.from==t}function dL(e,t,r){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=WP.Word)return t;for(let o of r){let r=t-o.length;if(e.sliceDoc(r,t)==o&&n(e.sliceDoc(r-1,r))!=WP.Word)return r}return-1}const pL=[{key:"Ctrl-Space",run:e=>!!e.state.field(SD,!1)&&(e.dispatch({effects:iD.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(SD,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:aD.of(null)}),0))}},{key:"ArrowDown",run:ED(!0)},{key:"ArrowUp",run:ED(!1)},{key:"PageDown",run:ED(!0,"page")},{key:"PageUp",run:ED(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(SD,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(lD).interactionDelay)&&CD(e,t.open.options[t.open.selected])}}],hL=wP.highest(bZ.computeN([lD],(e=>e.facet(lD).defaultKeymap?[pL]:[]))),fL=[YD("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),YD("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),YD("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),YD("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),YD("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),YD("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),YD("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),YD("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),YD("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),YD('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),YD('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],mL=fL.concat([YD("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),YD("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),YD("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),gL=new wC,bL=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function yL(e){return(t,r)=>{let n=t.node.getChild("VariableDefinition");return n&&r(n,e),!0}}const vL=["FunctionDeclaration"],OL={FunctionDeclaration:yL("function"),ClassDeclaration:yL("class"),ClassExpression:()=>!0,EnumDeclaration:yL("constant"),TypeAliasDeclaration:yL("type"),NamespaceDeclaration:yL("namespace"),VariableDefinition(e,t){e.matchContext(vL)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function wL(e,t){let r=gL.get(t);if(r)return r;let n=[],o=!0;function i(t,r){let o=e.sliceString(t.from,t.to);n.push({label:o,type:r})}return t.cursor(rC.IncludeAnonymous).iterate((t=>{if(o)o=!1;else if(t.name){let e=OL[t.name];if(e&&e(t,i)||bL.has(t.name))return!1}else if(t.to-t.from>8192){for(let r of wL(e,t.node))n.push(r);return!1}})),gL.set(t,n),n}const AL=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,xL=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function kL(e){let t=eM(e.state).resolveInner(e.pos,-1);if(xL.indexOf(t.name)>-1)return null;let r="VariableName"==t.name||t.to-t.from<20&&AL.test(e.state.sliceDoc(t.from,t.to));if(!r&&!e.explicit)return null;let n=[];for(let r=t;r;r=r.parent)bL.has(r.name)&&(n=n.concat(wL(e.state.doc,r)));return{options:n,from:r?t.from:e.pos,validFor:AL}}const SL=J$.define({name:"javascript",parser:XN.configure({props:[yM.add({IfStatement:CM({except:/^\s*({|else\b)/}),TryStatement:CM({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,r=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(r?0:n?1:2)*e.unit},Block:kM({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":CM({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),EM.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":PM,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),CL={test:e=>/^JSX/.test(e.name),facet:X$({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_L=SL.configure({dialect:"ts"},"typescript"),EL=SL.configure({dialect:"jsx",props:[H$.add((e=>e.isTop?[CL]:void 0))]}),PL=SL.configure({dialect:"jsx ts",props:[H$.add((e=>e.isTop?[CL]:void 0))]},"typescript");let qL=e=>({label:e,type:"keyword"});const TL="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(qL),jL=TL.concat(["declare","implements","private","protected","public"].map(qL));function RL(e={}){let t=e.jsx?e.typescript?PL:EL:e.typescript?_L:SL,r=e.typescript?mL.concat(jL):fL.concat(TL);return new uM(t,[SL.data.of({autocomplete:(n=xL,o=KN(r),e=>{for(let t=eM(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(n.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return o(e)})}),SL.data.of({autocomplete:kL}),e.jsx?ML:[]]);var n,o}function ZL(e,t,r=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,r));return""}const $L="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),ML=cZ.inputHandler.of(((e,t,r,n,o)=>{if(($L?e.composing:e.compositionStarted)||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!SL.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t;let r,{head:o}=e,i=eM(a).resolveInner(o-1,-1);if("JSXStartTag"==i.name&&(i=i.parent),a.doc.sliceString(o-1,o)!=n||"JSXAttributeValue"==i.name&&i.to>o);else{if(">"==n&&"JSXFragmentTag"==i.name)return{range:e,changes:{from:o,insert:"</>"}};if("/"==n&&"JSXStartCloseTag"==i.name){let e=i.parent,n=e.parent;if(n&&e.from==o-2&&((r=ZL(a.doc,n.firstChild,o))||"JSXFragmentTag"==(null===(t=n.firstChild)||void 0===t?void 0:t.name))){let e=`${r}>`;return{range:cP.cursor(o+e.length,-1),changes:{from:o,insert:e}}}}else if(">"==n){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(i);if(t&&!/^\/?>|^<\//.test(a.doc.sliceString(o,o+2))&&(r=ZL(a.doc,t,o)))return{range:e,changes:{from:o,insert:`</${r}>`}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)})),NL=["_blank","_self","_top","_parent"],DL=["ascii","utf-8","utf-16","latin1","latin1"],LL=["get","post","put","delete"],IL=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],BL=["true","false"],QL={},zL={a:{attrs:{href:null,ping:null,type:null,media:null,target:NL,hreflang:null}},abbr:QL,address:QL,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:QL,aside:QL,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:QL,base:{attrs:{href:null,target:NL}},bdi:QL,bdo:QL,blockquote:{attrs:{cite:null}},body:QL,br:QL,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:IL,formmethod:LL,formnovalidate:["novalidate"],formtarget:NL,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:QL,center:QL,cite:QL,code:QL,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:QL,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:QL,div:QL,dl:QL,dt:QL,em:QL,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:QL,figure:QL,footer:QL,form:{attrs:{action:null,name:null,"accept-charset":DL,autocomplete:["on","off"],enctype:IL,method:LL,novalidate:["novalidate"],target:NL}},h1:QL,h2:QL,h3:QL,h4:QL,h5:QL,h6:QL,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:QL,hgroup:QL,hr:QL,html:{attrs:{manifest:null}},i:QL,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:IL,formmethod:LL,formnovalidate:["novalidate"],formtarget:NL,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:QL,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:QL,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:QL,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:DL,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:QL,noscript:QL,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:QL,param:{attrs:{name:null,value:null}},pre:QL,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:QL,rt:QL,ruby:QL,samp:QL,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:DL}},section:QL,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:QL,source:{attrs:{src:null,type:null,media:null}},span:QL,strong:QL,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:QL,summary:QL,sup:QL,table:QL,tbody:QL,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:QL,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:QL,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:QL,time:{attrs:{datetime:null}},title:QL,tr:QL,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:QL,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:QL},UL={accesskey:null,class:null,contenteditable:BL,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:BL,autocorrect:BL,autocapitalize:BL,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":BL,"aria-autocomplete":["inline","list","both","none"],"aria-busy":BL,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":BL,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":BL,"aria-hidden":BL,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":BL,"aria-multiselectable":BL,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":BL,"aria-relevant":null,"aria-required":BL,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},FL="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e=>"on"+e));for(let e of FL)UL[e]=null;class WL{constructor(e,t){this.tags=Object.assign(Object.assign({},zL),e),this.globalAttrs=Object.assign(Object.assign({},UL),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function YL(e,t,r=e.length){if(!t)return"";let n=t.firstChild,o=n&&n.getChild("TagName");return o?e.sliceString(o.from,Math.min(o.to,r)):""}function VL(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function XL(e,t,r){let n=r.tags[YL(e,VL(t))];return(null==n?void 0:n.children)||r.allTags}function HL(e,t){let r=[];for(let n=VL(t);n&&!n.type.isTop;n=VL(n.parent)){let o=YL(e,n);if(o&&"CloseTag"==n.lastChild.name)break;o&&r.indexOf(o)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&r.push(o)}return r}WL.default=new WL;const GL=/^[:\-\.\w\u00b7-\uffff]*$/;function KL(e,t,r,n,o){let i=/\s*>/.test(e.sliceDoc(o,o+5))?"":">",a=VL(r,!0);return{from:n,to:o,options:XL(e.doc,a,t).map((e=>({label:e,type:"type"}))).concat(HL(e.doc,r).map(((e,t)=>({label:"/"+e,apply:"/"+e+i,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function JL(e,t,r,n){let o=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:r,to:n,options:HL(e.doc,t).map(((e,t)=>({label:e,apply:e+o,type:"type",boost:99-t}))),validFor:GL}}function eI(e,t){let{state:r,pos:n}=t,o=eM(r).resolveInner(n,-1),i=o.resolve(n);for(let e,t=n;i==o&&(e=o.childBefore(t));){let r=e.lastChild;if(!r||!r.type.isError||r.from<r.to)break;i=o=e,t=r.from}return"TagName"==o.name?o.parent&&/CloseTag$/.test(o.parent.name)?JL(r,o,o.from,n):KL(r,e,o,o.from,n):"StartTag"==o.name?KL(r,e,o,n,n):"StartCloseTag"==o.name||"IncompleteCloseTag"==o.name?JL(r,o,n,n):t.explicit&&("OpenTag"==o.name||"SelfClosingTag"==o.name)||"AttributeName"==o.name?function(e,t,r,n,o){let i=VL(r),a=i?t.tags[YL(e.doc,i)]:null,s=a&&a.attrs?Object.keys(a.attrs):[];return{from:n,to:o,options:(a&&!1===a.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map((e=>({label:e,type:"property"}))),validFor:GL}}(r,e,o,"AttributeName"==o.name?o.from:n,n):"Is"==o.name||"AttributeValue"==o.name||"UnquotedAttributeValue"==o.name?function(e,t,r,n,o){var i;let a,s=null===(i=r.parent)||void 0===i?void 0:i.getChild("AttributeName"),l=[];if(s){let i=e.sliceDoc(s.from,s.to),c=t.globalAttrs[i];if(!c){let n=VL(r),o=n?t.tags[YL(e.doc,n)]:null;c=(null==o?void 0:o.attrs)&&o.attrs[i]}if(c){let t=e.sliceDoc(n,o).toLowerCase(),r='"',i='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,r="",i=e.sliceDoc(o,o+1)==t[0]?"":t[0],t=t.slice(1),n++):a=/^[^\s<>='"]*$/;for(let e of c)l.push({label:e,apply:r+e+i,type:"constant"})}}return{from:n,to:o,options:l,validFor:a}}(r,e,o,"Is"==o.name?n:o.from,n):!t.explicit||"Element"!=i.name&&"Text"!=i.name&&"Document"!=i.name?null:function(e,t,r,n){let o=[],i=0;for(let n of XL(e.doc,r,t))o.push({label:"<"+n,type:"type"});for(let t of HL(e.doc,r))o.push({label:"</"+t+">",type:"type",boost:99-i++});return{from:n,to:n,options:o,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(r,e,o,n)}function tI(e){let{extraTags:t,extraGlobalAttributes:r}=e,n=r||t?new WL(t,r):WL.default;return e=>eI(n,e)}const rI=SL.parser.configure({top:"SingleExpression"}),nI=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:_L.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:EL.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:PL.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:rI},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:SL.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:LN.parser}],oI=[{name:"style",parser:LN.parser.configure({top:"Styles"})}].concat(FL.map((e=>({name:e,parser:SL.parser})))),iI=J$.define({name:"html",parser:mE.configure({props:[yM.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,r=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;r=t=e}return r&&(!(t=r.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(r.from)+e.unit:null}}),EM.add({Element(e){let t=e.firstChild,r=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==r.name?r.from:e.to}:null}}),fN.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),aI=iI.configure({wrap:vE(nI,oI)});function sI(e={}){let t,r="";!1===e.matchClosingTags&&(r="noMatch"),!0===e.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=vE((e.nestedLanguages||[]).concat(nI),(e.nestedAttributes||[]).concat(oI)));let n=t?iI.configure({wrap:t,dialect:r}):r?aI.configure({dialect:r}):aI;return new uM(n,[aI.data.of({autocomplete:tI(e)}),!1!==e.autoCloseTags?cI:[],RL().support,new uM(LN,LN.data.of({autocomplete:DN})).support])}const lI=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cI=cZ.inputHandler.of(((e,t,r,n,o)=>{if(e.composing||e.state.readOnly||t!=r||">"!=n&&"/"!=n||!aI.isActiveAt(e.state,t,-1))return!1;let i=o(),{state:a}=i,s=a.changeByRange((e=>{var t,r,o;let i,s=a.doc.sliceString(e.from-1,e.to)==n,{head:l}=e,c=eM(a).resolveInner(l-1,-1);if("TagName"!=c.name&&"StartTag"!=c.name||(c=c.parent),s&&">"==n&&"OpenTag"==c.name){if("CloseTag"!=(null===(r=null===(t=c.parent)||void 0===t?void 0:t.lastChild)||void 0===r?void 0:r.name)&&(i=YL(a.doc,c.parent,l))&&!lI.has(i))return{range:e,changes:{from:l,to:l+(">"===a.doc.sliceString(l,l+1)?1:0),insert:`</${i}>`}}}else if(s&&"/"==n&&"IncompleteCloseTag"==c.name){let e=c.parent;if(c.from==l-2&&"CloseTag"!=(null===(o=e.lastChild)||void 0===o?void 0:o.name)&&(i=YL(a.doc,e,l))&&!lI.has(i)){let e=l+(">"===a.doc.sliceString(l,l+1)?1:0),t=`${i}>`;return{range:cP.cursor(l+t.length,-1),changes:{from:l,to:e,insert:t}}}}return{range:e}}));return!s.changes.empty&&(e.dispatch([i,a.update(s,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function uI(e,t){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let o=e(t,r);return!!o&&(n(r.update(o)),!0)}}const dI=uI(bI,0),pI=uI(gI,0),hI=uI(((e,t)=>gI(e,t,function(e){let t=[];for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),o=r.to<=n.to?n:e.doc.lineAt(r.to),i=t.length-1;i>=0&&t[i].to>n.from?t[i].to=o.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return t}(t))),0);function fI(e,t){let r=e.languageDataAt("commentTokens",t);return r.length?r[0]:{}}const mI=50;function gI(e,t,r=t.selection.ranges){let n=r.map((e=>fI(t,e.from).block));if(!n.every((e=>e)))return null;let o=r.map(((e,r)=>function(e,{open:t,close:r},n,o){let i,a,s=e.sliceDoc(n-mI,n),l=e.sliceDoc(o,o+mI),c=/\s*$/.exec(s)[0].length,u=/^\s*/.exec(l)[0].length,d=s.length-c;if(s.slice(d-t.length,d)==t&&l.slice(u,u+r.length)==r)return{open:{pos:n-c,margin:c&&1},close:{pos:o+u,margin:u&&1}};o-n<=2*mI?i=a=e.sliceDoc(n,o):(i=e.sliceDoc(n,n+mI),a=e.sliceDoc(o-mI,o));let p=/^\s*/.exec(i)[0].length,h=/\s*$/.exec(a)[0].length,f=a.length-h-r.length;return i.slice(p,p+t.length)==t&&a.slice(f,f+r.length)==r?{open:{pos:n+p+t.length,margin:/\s/.test(i.charAt(p+t.length))?1:0},close:{pos:o-h-r.length,margin:/\s/.test(a.charAt(f-1))?1:0}}:null}(t,n[r],e.from,e.to)));if(2!=e&&!o.every((e=>e)))return{changes:t.changes(r.map(((e,t)=>o[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}])))};if(1!=e&&o.some((e=>e))){let e=[];for(let t,r=0;r<o.length;r++)if(t=o[r]){let o=n[r],{open:i,close:a}=t;e.push({from:i.pos-o.open.length,to:i.pos+i.margin},{from:a.pos-a.margin,to:a.pos+o.close.length})}return{changes:e}}return null}function bI(e,t,r=t.selection.ranges){let n=[],o=-1;for(let{from:e,to:i}of r){let r=n.length,a=1e9,s=fI(t,e).line;if(s){for(let r=e;r<=i;){let l=t.doc.lineAt(r);if(l.from>o&&(e==i||i>l.from)){o=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,r=l.text.slice(e,e+s.length)==s?e:-1;e<l.text.length&&e<a&&(a=e),n.push({line:l,comment:r,token:s,indent:e,empty:t,single:!1})}r=l.to+1}if(a<1e9)for(let e=r;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=a);n.length==r+1&&(n[r].single=!0)}}if(2!=e&&n.some((e=>e.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:r,indent:o,empty:i,single:a}of n)!a&&i||e.push({from:t.from+o,insert:r+" "});let r=t.changes(e);return{changes:r,selection:t.selection.map(r,1)}}if(1!=e&&n.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:r,token:o}of n)if(r>=0){let n=t.from+r,i=n+o.length;" "==t.text[i-t.from]&&i++,e.push({from:n,to:i})}return{changes:e}}return null}const yI=$P.define(),vI=$P.define(),OI=pP.define(),wI=pP.define({combine:e=>HP(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}),AI=vP.define({create:()=>DI.empty,update(e,t){let r=t.state.facet(wI),n=t.annotation(yI);if(n){let o=EI.fromTransaction(t,n.selection),i=n.side,a=0==i?e.undone:e.done;return a=o?PI(a,a.length,r.minDepth,o):RI(a,t.startState.selection),new DI(0==i?n.rest:a,0==i?a:n.rest)}let o=t.annotation(vI);if("full"!=o&&"before"!=o||(e=e.isolate()),!1===t.annotation(LP.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let i=EI.fromTransaction(t),a=t.annotation(LP.time),s=t.annotation(LP.userEvent);return i?e=e.addChanges(i,a,s,r,t):t.selection&&(e=e.addSelection(t.startState.selection,a,s,r.newGroupDelay)),"full"!=o&&"after"!=o||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new DI(e.done.map(EI.fromJSON),e.undone.map(EI.fromJSON))});function xI(e,t){return function({state:r,dispatch:n}){if(!t&&r.readOnly)return!1;let o=r.field(AI,!1);if(!o)return!1;let i=o.pop(e,r,t);return!!i&&(n(i),!0)}}const kI=xI(0,!1),SI=xI(1,!1),CI=xI(0,!0),_I=xI(1,!0);class EI{constructor(e,t,r,n,o){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=o}setSelAfter(e){return new EI(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(r=this.startSelection)||void 0===r?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new EI(e.changes&&tP.fromJSON(e.changes),[],e.mapped&&eP.fromJSON(e.mapped),e.startSelection&&cP.fromJSON(e.startSelection),e.selectionsAfter.map(cP.fromJSON))}static fromTransaction(e,t){let r=TI;for(let t of e.startState.facet(OI)){let n=t(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new EI(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,TI)}static selection(e){return new EI(void 0,TI,void 0,void 0,e)}}function PI(e,t,r,n){let o=t+1>r+20?t-r-1:0,i=e.slice(o,t);return i.push(n),i}function qI(e,t){return e.length?t.length?e.concat(t):e:t}const TI=[],jI=200;function RI(e,t){if(e.length){let r=e[e.length-1],n=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-jI));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),PI(e,e.length-1,1e9,r.setSelAfter(n)))}return[EI.selection([t])]}function ZI(e){let t=e[e.length-1],r=e.slice();return r[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),r}function $I(e,t){if(!e.length)return e;let r=e.length,n=TI;for(;r;){let o=MI(e[r-1],t,n);if(o.changes&&!o.changes.empty||o.effects.length){let t=e.slice(0,r);return t[r-1]=o,t}t=o.mapped,r--,n=o.selectionsAfter}return n.length?[EI.selection(n)]:TI}function MI(e,t,r){let n=qI(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):TI,r);if(!e.changes)return EI.selection(n);let o=e.changes.map(t),i=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(i):i;return new EI(o,DP.mapEffects(e.effects,t),a,e.startSelection.map(i),n)}const NI=/^(input\.type|delete)($|\.)/;class DI{constructor(e,t,r=0,n=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new DI(this.done,this.undone):this}addChanges(e,t,r,n,o){let i=this.done,a=i[i.length-1];return i=a&&a.changes&&!a.changes.empty&&e.changes&&(!r||NI.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<n.newGroupDelay&&n.joinToEvent(o,function(e,t){let r=[],n=!1;return e.iterChangedRanges(((e,t)=>r.push(e,t))),t.iterChangedRanges(((e,t,o,i)=>{for(let e=0;e<r.length;){let t=r[e++],a=r[e++];i>=t&&o<=a&&(n=!0)}})),n}(a.changes,e.changes))||"input.type.compose"==r)?PI(i,i.length-1,n.minDepth,new EI(e.changes.compose(a.changes),qI(e.effects,a.effects),a.mapped,a.startSelection,TI)):PI(i,i.length,n.minDepth,e),new DI(i,TI,t,r)}addSelection(e,t,r,n){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:TI;return o.length>0&&t-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&function(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter(((e,r)=>e.empty!=t.ranges[r].empty)).length}(o[o.length-1],e)?this:new DI(RI(this.done,e),this.undone,t,r)}addMapping(e){return new DI($I(this.done,e),$I(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let n=0==e?this.done:this.undone;if(0==n.length)return null;let o=n[n.length-1],i=o.selectionsAfter[0]||t.selection;if(r&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:yI.of({side:e,rest:ZI(n),selection:i}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let r=1==n.length?TI:n.slice(0,n.length-1);return o.mapped&&(r=$I(r,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:yI.of({side:e,rest:r,selection:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}DI.empty=new DI(TI,TI);const LI=[{key:"Mod-z",run:kI,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:SI,preventDefault:!0},{linux:"Ctrl-Shift-z",run:SI,preventDefault:!0},{key:"Mod-u",run:CI,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_I,preventDefault:!0}];function II(e,t){return cP.create(e.ranges.map(t),e.mainIndex)}function BI(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function QI({state:e,dispatch:t},r){let n=II(e.selection,r);return!n.eq(e.selection)&&(t(BI(e,n)),!0)}function zI(e,t){return cP.cursor(t?e.to:e.from)}function UI(e,t){return QI(e,(r=>r.empty?e.moveByChar(r,t):zI(r,t)))}function FI(e){return e.textDirectionAt(e.state.selection.main.head)==cj.LTR}const WI=e=>UI(e,!FI(e)),YI=e=>UI(e,FI(e));function VI(e,t){return QI(e,(r=>r.empty?e.moveByGroup(r,t):zI(r,t)))}function XI(e,t,r){if(t.type.prop(r))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function HI(e,t,r){let n,o,i=eM(e).resolveInner(t.head),a=r?XS.closedBy:XS.openedBy;for(let n=t.head;;){let t=r?i.childAfter(n):i.childBefore(n);if(!t)break;XI(e,t,a)?i=t:n=r?t.to:t.from}return o=i.type.prop(a)&&(n=r?bN(e,i.from,1):bN(e,i.to,-1))&&n.matched?r?n.end.to:n.end.from:r?i.to:i.from,cP.cursor(o,r?-1:1)}function GI(e,t){return QI(e,(r=>{if(!r.empty)return zI(r,t);let n=e.moveVertically(r,t);return n.head!=r.head?n:e.moveToLineBoundary(r,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const KI=e=>GI(e,!1),JI=e=>GI(e,!0);function eB(e){let t,r=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,o=0;if(r){for(let t of e.state.facet(cZ.scrollMargins)){let r=t(e);(null==r?void 0:r.top)&&(n=Math.max(null==r?void 0:r.top,n)),(null==r?void 0:r.bottom)&&(o=Math.max(null==r?void 0:r.bottom,o))}t=e.scrollDOM.clientHeight-n-o}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:r,height:Math.max(e.defaultLineHeight,t-5)}}function tB(e,t){let r,n=eB(e),{state:o}=e,i=II(o.selection,(r=>r.empty?e.moveVertically(r,t,n.height):zI(r,t)));if(i.eq(o.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(o.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),s=a.top+n.marginTop,l=a.bottom-n.marginBottom;t&&t.top>s&&t.bottom<l&&(r=cZ.scrollIntoView(i.main.head,{y:"start",yMargin:t.top-s}))}return e.dispatch(BI(o,i),{effects:r}),!0}const rB=e=>tB(e,!1),nB=e=>tB(e,!0);function oB(e,t,r){let n=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,r);if(o.head==t.head&&o.head!=(r?n.to:n.from)&&(o=e.moveToLineBoundary(t,r,!1)),!r&&o.head==n.from&&n.length){let r=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&t.head!=n.from+r&&(o=cP.cursor(n.from+r))}return o}function iB(e,t){let r=II(e.state.selection,(e=>{let r=t(e);return cP.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)}));return!r.eq(e.state.selection)&&(e.dispatch(BI(e.state,r)),!0)}function aB(e,t){return iB(e,(r=>e.moveByChar(r,t)))}const sB=e=>aB(e,!FI(e)),lB=e=>aB(e,FI(e));function cB(e,t){return iB(e,(r=>e.moveByGroup(r,t)))}function uB(e,t){return iB(e,(r=>e.moveVertically(r,t)))}const dB=e=>uB(e,!1),pB=e=>uB(e,!0);function hB(e,t){return iB(e,(r=>e.moveVertically(r,t,eB(e).height)))}const fB=e=>hB(e,!1),mB=e=>hB(e,!0),gB=({state:e,dispatch:t})=>(t(BI(e,{anchor:0})),!0),bB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.doc.length})),!0),yB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.selection.main.anchor,head:0})),!0),vB=({state:e,dispatch:t})=>(t(BI(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function OB(e,t){if(e.state.readOnly)return!1;let r="delete.selection",{state:n}=e,o=n.changeByRange((n=>{let{from:o,to:i}=n;if(o==i){let a=t(n);a<o?(r="delete.backward",a=wB(e,a,!1)):a>o&&(r="delete.forward",a=wB(e,a,!0)),o=Math.min(o,a),i=Math.max(i,a)}else o=wB(e,o,!1),i=wB(e,i,!0);return o==i?{range:n}:{changes:{from:o,to:i},range:cP.cursor(o,o<n.head?-1:1)}}));return!o.changes.empty&&(e.dispatch(n.update(o,{scrollIntoView:!0,userEvent:r,effects:"delete.selection"==r?cZ.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function wB(e,t,r){if(e instanceof cZ)for(let n of e.state.facet(cZ.atomicRanges).map((t=>t(e))))n.between(t,t,((e,n)=>{e<t&&n>t&&(t=r?n:e)}));return t}const AB=(e,t)=>OB(e,(r=>{let n,o,i=r.from,{state:a}=e,s=a.doc.lineAt(i);if(!t&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(n=s.text.slice(0,i-s.from))){if("\t"==n[n.length-1])return i-1;let e=hq(n,a.tabSize)%fM(a)||fM(a);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;o=i}else o=UE(s.text,i-s.from,t,t)+s.from,o==i&&s.number!=(t?a.doc.lines:1)?o+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(o-s.from,i-s.from))&&(o=UE(s.text,o-s.from,!1,!1)+s.from);return o})),xB=e=>AB(e,!1),kB=e=>AB(e,!0),SB=(e,t)=>OB(e,(r=>{let n=r.head,{state:o}=e,i=o.doc.lineAt(n),a=o.charCategorizer(n);for(let e=null;;){if(n==(t?i.to:i.from)){n==r.head&&i.number!=(t?o.doc.lines:1)&&(n+=t?1:-1);break}let s=UE(i.text,n-i.from,t)+i.from,l=i.text.slice(Math.min(n,s)-i.from,Math.max(n,s)-i.from),c=a(l);if(null!=e&&c!=e)break;" "==l&&n==r.head||(e=c),n=s}return n})),CB=e=>SB(e,!1);function _B(e){let t=[],r=-1;for(let n of e.selection.ranges){let o=e.doc.lineAt(n.from),i=e.doc.lineAt(n.to);if(n.empty||n.to!=i.from||(i=e.doc.lineAt(n.to-1)),r>=o.number){let e=t[t.length-1];e.to=i.to,e.ranges.push(n)}else t.push({from:o.from,to:i.to,ranges:[n]});r=i.number+1}return t}function EB(e,t,r){if(e.readOnly)return!1;let n=[],o=[];for(let t of _B(e)){if(r?t.to==e.doc.length:0==t.from)continue;let i=e.doc.lineAt(r?t.to+1:t.from-1),a=i.length+1;if(r){n.push({from:t.to,to:i.to},{from:t.from,insert:i.text+e.lineBreak});for(let r of t.ranges)o.push(cP.range(Math.min(e.doc.length,r.anchor+a),Math.min(e.doc.length,r.head+a)))}else{n.push({from:i.from,to:t.from},{from:t.to,insert:e.lineBreak+i.text});for(let e of t.ranges)o.push(cP.range(e.anchor-a,e.head-a))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:cP.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function PB(e,t,r){if(e.readOnly)return!1;let n=[];for(let t of _B(e))r?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const qB=jB(!1),TB=jB(!0);function jB(e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=t.changeByRange((r=>{let{from:n,to:o}=r,i=t.doc.lineAt(n),a=!e&&n==o&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let r,n=eM(e).resolveInner(t),o=n.childBefore(t),i=n.childAfter(t);return o&&i&&o.to<=t&&i.from>=t&&(r=o.type.prop(XS.closedBy))&&r.indexOf(i.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(o.to,i.from))?{from:o.to,to:i.from}:null}(t,n);e&&(n=o=(o<=i.to?i:t.doc.lineAt(o)).to);let s=new bM(t,{simulateBreak:n,simulateDoubleBreak:!!a}),l=gM(s,n);for(null==l&&(l=hq(/^\s*/.exec(t.doc.lineAt(n).text)[0],t.tabSize));o<i.to&&/\s/.test(i.text[o-i.from]);)o++;a?({from:n,to:o}=a):n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",mM(t,l)];return a&&c.push(mM(t,s.lineIndent(i.from,-1))),{changes:{from:n,to:o,insert:qE.of(c)},range:cP.cursor(n+1+c[1].length)}}));return r(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function RB(e,t){let r=-1;return e.changeByRange((n=>{let o=[];for(let i=n.from;i<=n.to;){let a=e.doc.lineAt(i);a.number>r&&(n.empty||n.to>a.from)&&(t(a,o,n),r=a.number),i=a.to+1}let i=e.changes(o);return{changes:o,range:cP.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}}))}const ZB=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(RB(e,((t,r)=>{r.push({from:t.from,insert:e.facet(hM)})})),{userEvent:"input.indent"})),!0),$B=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(RB(e,((t,r)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let o=hq(n,e.tabSize),i=0,a=mM(e,Math.max(0,o-fM(e)));for(;i<n.length&&i<a.length&&n.charCodeAt(i)==a.charCodeAt(i);)i++;r.push({from:t.from+i,to:t.from+n.length,insert:a.slice(i)})})),{userEvent:"delete.dedent"})),!0),MB=[{key:"Ctrl-b",run:WI,shift:sB,preventDefault:!0},{key:"Ctrl-f",run:YI,shift:lB},{key:"Ctrl-p",run:KI,shift:dB},{key:"Ctrl-n",run:JI,shift:pB},{key:"Ctrl-a",run:e=>QI(e,(t=>cP.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>iB(e,(t=>cP.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>QI(e,(t=>cP.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>iB(e,(t=>cP.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:kB},{key:"Ctrl-h",run:xB},{key:"Ctrl-k",run:e=>OB(e,(t=>{let r=e.lineBlockAt(t.head).to;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))},{key:"Ctrl-Alt-h",run:CB},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:qE.of(["",""])},range:cP.cursor(e.from)})));return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let r=t.from,n=e.doc.lineAt(r),o=r==n.from?r-1:UE(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:UE(n.text,r-n.from,!0)+n.from;return{changes:{from:o,to:i,insert:e.doc.slice(r,i).append(e.doc.slice(o,r))},range:cP.cursor(i)}}));return!r.changes.empty&&(t(e.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:nB}],NB=[{key:"ArrowLeft",run:WI,shift:sB,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>VI(e,!FI(e)),shift:e=>cB(e,!FI(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>QI(e,(t=>oB(e,t,!FI(e)))),shift:e=>iB(e,(t=>oB(e,t,!FI(e)))),preventDefault:!0},{key:"ArrowRight",run:YI,shift:lB,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>VI(e,FI(e)),shift:e=>cB(e,FI(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>QI(e,(t=>oB(e,t,FI(e)))),shift:e=>iB(e,(t=>oB(e,t,FI(e)))),preventDefault:!0},{key:"ArrowUp",run:KI,shift:dB,preventDefault:!0},{mac:"Cmd-ArrowUp",run:gB,shift:yB},{mac:"Ctrl-ArrowUp",run:rB,shift:fB},{key:"ArrowDown",run:JI,shift:pB,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bB,shift:vB},{mac:"Ctrl-ArrowDown",run:nB,shift:mB},{key:"PageUp",run:rB,shift:fB},{key:"PageDown",run:nB,shift:mB},{key:"Home",run:e=>QI(e,(t=>oB(e,t,!1))),shift:e=>iB(e,(t=>oB(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:gB,shift:yB},{key:"End",run:e=>QI(e,(t=>oB(e,t,!0))),shift:e=>iB(e,(t=>oB(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:bB,shift:vB},{key:"Enter",run:qB},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:xB,shift:xB},{key:"Delete",run:kB},{key:"Mod-Backspace",mac:"Alt-Backspace",run:CB},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>SB(e,!0)},{mac:"Mod-Backspace",run:e=>OB(e,(t=>{let r=e.moveToLineBoundary(t,!1).head;return t.head>r?r:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>OB(e,(t=>{let r=e.moveToLineBoundary(t,!0).head;return t.head<r?r:Math.min(e.state.doc.length,t.head+1)}))}].concat(MB.map((e=>({mac:e.key,run:e.run,shift:e.shift})))),DB=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>QI(e,(t=>HI(e.state,t,!FI(e)))),shift:e=>iB(e,(t=>HI(e.state,t,!FI(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>QI(e,(t=>HI(e.state,t,FI(e)))),shift:e=>iB(e,(t=>HI(e.state,t,FI(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>EB(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>PB(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>EB(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>PB(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let r=e.selection,n=null;return r.ranges.length>1?n=cP.create([r.main]):r.main.empty||(n=cP.create([cP.cursor(r.main.head)])),!!n&&(t(BI(e,n)),!0)}},{key:"Mod-Enter",run:TB},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let r=_B(e).map((({from:t,to:r})=>cP.range(t,Math.min(r+1,e.doc.length))));return t(e.update({selection:cP.create(r),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let r=II(e.selection,(t=>{var r;for(let n=eM(e).resolveStack(t.from,1);n;n=n.next){let{node:e}=n;if((e.from<t.from&&e.to>=t.to||e.to>t.to&&e.from<=t.from)&&(null===(r=e.parent)||void 0===r?void 0:r.parent))return cP.range(e.to,e.from)}return t}));return t(BI(e,r)),!0},preventDefault:!0},{key:"Mod-[",run:$B},{key:"Mod-]",run:ZB},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=Object.create(null),n=new bM(e,{overrideIndentation:e=>{let t=r[e];return null==t?-1:t}}),o=RB(e,((t,o,i)=>{let a=gM(n,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let s=/^\s*/.exec(t.text)[0],l=mM(e,a);(s!=l||i.from<t.from+s.length)&&(r[t.from]=a,o.push({from:t.from,to:t.from+s.length,insert:l}))}));return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,r=t.changes(_B(t).map((({from:e,to:r})=>(e>0?e--:r<t.doc.length&&r++,{from:e,to:r})))),n=II(t.selection,(t=>e.moveVertically(t,!0))).map(r);return e.dispatch({changes:r,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,r){let n=!1,o=II(e.selection,(t=>{let o=bN(e,t.head,-1)||bN(e,t.head,1)||t.head>0&&bN(e,t.head-1,1)||t.head<e.doc.length&&bN(e,t.head+1,-1);if(!o||!o.end)return t;n=!0;let i=o.start.from==t.head?o.end.to:o.end.from;return r?cP.range(t.anchor,i):cP.cursor(i)}));return!!n&&(t(BI(e,o)),!0)}(e,t,!1)},{key:"Mod-/",run:e=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),n=fI(e.state,r.from);return n.line?dI(e):!!n.block&&hI(e)}},{key:"Alt-A",run:pI}].concat(NB),LB={key:"Tab",run:ZB,shift:$B};function IB(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,r=arguments[1];if(r&&"object"==typeof r&&null==r.nodeType&&!Array.isArray(r)){for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var o=r[n];"string"==typeof o?e.setAttribute(n,o):null!=o&&(e[n]=o)}t++}for(;t<arguments.length;t++)BB(e,arguments[t]);return e}function BB(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var r=0;r<t.length;r++)BB(e,t[r])}}const QB="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class zB{constructor(e,t,r=0,n=e.length,o,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=o?e=>o(QB(e)):QB,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return XE(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=HE(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=GE(e);let n=this.normalize(t);for(let e=0,o=r;;e++){let i=n.charCodeAt(e),a=this.match(i,o);if(e==n.length-1){if(a)return this.value=a,this;break}o==r&&e<t.length&&t.charCodeAt(e)==i&&o++}}}match(e,t){let r=null;for(let n=0;n<this.matches.length;n+=2){let o=this.matches[n],i=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[n+1],to:t+1}:(this.matches[n]++,i=!0)),i||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?r={from:t,to:t+1}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}"undefined"!=typeof Symbol&&(zB.prototype[Symbol.iterator]=function(){return this});const UB={from:-1,to:-1,match:/.*/.exec("")},FB="gm"+(null==/x/.unicode?"":"u");class WB{constructor(e,t,r,n=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=UB,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new XB(e,t,r,n,o);this.re=new RegExp(t,FB+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.iter=e.iter();let i=e.lineAt(n);this.curLineStart=i.from,this.matchPos=HB(e,n),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,n=r+t[0].length;if(this.matchPos=HB(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,t)))return this.value={from:r,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const YB=new WeakMap;class VB{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let n=YB.get(e);if(!n||n.from>=r||n.to<=t){let n=new VB(t,e.sliceString(t,r));return YB.set(e,n),n}if(n.from==t&&n.to==r)return n;let{text:o,from:i}=n;return i>t&&(o=e.sliceString(t,i)+o,i=t),n.to<r&&(o+=e.sliceString(n.to,r)),YB.set(e,new VB(i,o)),new VB(t,o.slice(t-i,r-i))}}class XB{constructor(e,t,r,n,o){this.text=e,this.to=o,this.done=!1,this.value=UB,this.matchPos=HB(e,n),this.re=new RegExp(t,FB+((null==r?void 0:r.ignoreCase)?"i":"")),this.test=null==r?void 0:r.test,this.flat=VB.get(e,n,this.chunkEnd(n+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,r=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,r,t)))return this.value={from:e,to:r,match:t},this.matchPos=HB(this.text,r+(e==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=VB.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function HB(e,t){if(t>=e.length)return t;let r,n=e.lineAt(t);for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function GB(e){let t=IB("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function r(){let r=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!r)return;let{state:n}=e,o=n.doc.lineAt(n.selection.main.head),[,i,a,s,l]=r,c=s?+s.slice(1):0,u=a?+a:o.number;if(a&&l){let e=u/100;i&&(e=e*("-"==i?-1:1)+o.number/n.doc.lines),u=Math.round(n.doc.lines*e)}else a&&i&&(u=u*("-"==i?-1:1)+o.number);let d=n.doc.line(Math.max(1,Math.min(n.doc.lines,u))),p=cP.cursor(d.from+Math.max(0,Math.min(c,d.length)));e.dispatch({effects:[KB.of(!1),cZ.scrollIntoView(p.from,{y:"center"})],selection:p}),e.focus()}return{dom:IB("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:KB.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),r())},onsubmit:e=>{e.preventDefault(),r()}},IB("label",e.state.phrase("Go to line"),": ",t)," ",IB("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(WB.prototype[Symbol.iterator]=XB.prototype[Symbol.iterator]=function(){return this});const KB=DP.define(),JB=vP.define({create:()=>!0,update(e,t){for(let r of t.effects)r.is(KB)&&(e=r.value);return e},provide:e=>S$.from(e,(e=>e?GB:null))}),eQ=cZ.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),tQ={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},rQ=pP.define({combine:e=>HP(e,tQ,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),nQ=CT.mark({class:"cm-selectionMatch"}),oQ=CT.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function iQ(e,t,r,n){return!(0!=r&&e(t.sliceDoc(r-1,r))==WP.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==WP.Word)}const aQ=HT.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(rQ),{state:r}=e,n=r.selection;if(n.ranges.length>1)return CT.none;let o,i=n.main,a=null;if(i.empty){if(!t.highlightWordAroundCursor)return CT.none;let e=r.wordAt(i.head);if(!e)return CT.none;a=r.charCategorizer(i.head),o=r.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return CT.none;if(t.wholeWords){if(o=r.sliceDoc(i.from,i.to),a=r.charCategorizer(i.head),!iQ(a,r,i.from,i.to)||!function(e,t,r,n){return e(t.sliceDoc(r,r+1))==WP.Word&&e(t.sliceDoc(n-1,n))==WP.Word}(a,r,i.from,i.to))return CT.none}else if(o=r.sliceDoc(i.from,i.to).trim(),!o)return CT.none}let s=[];for(let n of e.visibleRanges){let e=new zB(r.doc,o,n.from,n.to);for(;!e.next().done;){let{from:n,to:o}=e.value;if((!a||iQ(a,r,n,o))&&(i.empty&&n<=i.from&&o>=i.to?s.push(oQ.range(n,o)):(n>=i.to||o<=i.from)&&s.push(nQ.range(n,o)),s.length>t.maxMatches))return CT.none}}return CT.set(s)}},{decorations:e=>e.decorations}),sQ=cZ.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),lQ=pP.define({combine:e=>HP(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new NQ(e),scrollToMatch:e=>cZ.scrollIntoView(e)})});class cQ{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,FB),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,((e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"))}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new gQ(this):new pQ(this)}getCursor(e,t=0,r){let n=e.doc?e:XP.create({doc:e});return null==r&&(r=n.doc.length),this.regexp?hQ(this,n,t,r):dQ(this,n,t,r)}}class uQ{constructor(e){this.spec=e}}function dQ(e,t,r,n){return new zB(t.doc,e.unquoted,r,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(r,n,o,i)=>((i>r||i+o.length<n)&&(i=Math.max(0,r-2),o=e.sliceString(i,Math.min(e.length,n+2))),!(t(fQ(o,r-i))==WP.Word&&t(mQ(o,r-i))==WP.Word||t(mQ(o,n-i))==WP.Word&&t(fQ(o,n-i))==WP.Word))}(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}class pQ extends uQ{constructor(e){super(e)}nextMatch(e,t,r){let n=dQ(this.spec,e,r,e.doc.length).nextOverlapping();return n.done&&(n=dQ(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=dQ(this.spec,e,r,n),i=null;for(;!o.nextOverlapping().done;)i=o.value;if(i)return i;if(r==t)return null;n-=1e4}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=dQ(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=dQ(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}function hQ(e,t,r,n){return new WB(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(o=t.charCategorizer(t.selection.main.head),(e,t,r)=>!r[0].length||(o(fQ(r.input,r.index))!=WP.Word||o(mQ(r.input,r.index))!=WP.Word)&&(o(mQ(r.input,r.index+r[0].length))!=WP.Word||o(fQ(r.input,r.index+r[0].length))!=WP.Word)):void 0},r,n);var o}function fQ(e,t){return e.slice(UE(e,t,!1),t)}function mQ(e,t){return e.slice(t,UE(e,t))}class gQ extends uQ{nextMatch(e,t,r){let n=hQ(this.spec,e,r,e.doc.length).next();return n.done&&(n=hQ(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let o=Math.max(t,r-1e4*n),i=hQ(this.spec,e,o,r),a=null;for(;!i.next().done;)a=i.value;if(a&&(o==t||a.from>o+10))return a;if(o==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,((t,r)=>"$"==r?"$":"&"==r?e.match[0]:"0"!=r&&+r<e.match.length?e.match[r]:t))}matchAll(e,t){let r=hQ(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let o=hQ(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!o.next().done;)n(o.value.from,o.value.to)}}const bQ=DP.define(),yQ=DP.define(),vQ=vP.define({create:e=>new OQ(TQ(e).create(),null),update(e,t){for(let r of t.effects)r.is(bQ)?e=new OQ(r.value.create(),e.panel):r.is(yQ)&&(e=new OQ(e.query,r.value?qQ:null));return e},provide:e=>S$.from(e,(e=>e.panel))});class OQ{constructor(e,t){this.query=e,this.panel=t}}const wQ=CT.mark({class:"cm-searchMatch"}),AQ=CT.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xQ=HT.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(vQ))}update(e){let t=e.state.field(vQ);(t!=e.startState.field(vQ)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return CT.none;let{view:r}=this,n=new rq;for(let t=0,o=r.visibleRanges,i=o.length;t<i;t++){let{from:a,to:s}=o[t];for(;t<i-1&&s>o[t+1].from-500;)s=o[++t].to;e.highlight(r.state,a,s,((e,t)=>{let o=r.state.selection.ranges.some((r=>r.from==e&&r.to==t));n.add(e,t,o?AQ:wQ)}))}return n.finish()}},{decorations:e=>e.decorations});function kQ(e){return t=>{let r=t.state.field(vQ,!1);return r&&r.query.spec.valid?e(t,r):ZQ(t)}}const SQ=kQ(((e,{query:t})=>{let{to:r}=e.state.selection.main,n=t.nextMatch(e.state,r,r);if(!n)return!1;let o=cP.single(n.from,n.to),i=e.state.facet(lQ);return e.dispatch({selection:o,effects:[BQ(e,n),i.scrollToMatch(o.main,e)],userEvent:"select.search"}),RQ(e),!0})),CQ=kQ(((e,{query:t})=>{let{state:r}=e,{from:n}=r.selection.main,o=t.prevMatch(r,n,n);if(!o)return!1;let i=cP.single(o.from,o.to),a=e.state.facet(lQ);return e.dispatch({selection:i,effects:[BQ(e,o),a.scrollToMatch(i.main,e)],userEvent:"select.search"}),RQ(e),!0})),_Q=kQ(((e,{query:t})=>{let r=t.matchAll(e.state,1e3);return!(!r||!r.length||(e.dispatch({selection:cP.create(r.map((e=>cP.range(e.from,e.to)))),userEvent:"select.search.matches"}),0))})),EQ=kQ(((e,{query:t})=>{let{state:r}=e,{from:n,to:o}=r.selection.main;if(r.readOnly)return!1;let i=t.nextMatch(r,n,n);if(!i)return!1;let a,s,l=[],c=[];if(i.from==n&&i.to==o&&(s=r.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:s}),i=t.nextMatch(r,i.from,i.to),c.push(cZ.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+"."))),i){let t=0==l.length||l[0].from>=i.to?0:i.to-i.from-s.length;a=cP.single(i.from-t,i.to-t),c.push(BQ(e,i)),c.push(r.facet(lQ).scrollToMatch(a.main,e))}return e.dispatch({changes:l,selection:a,effects:c,userEvent:"input.replace"}),!0})),PQ=kQ(((e,{query:t})=>{if(e.state.readOnly)return!1;let r=t.matchAll(e.state,1e9).map((e=>{let{from:r,to:n}=e;return{from:r,to:n,insert:t.getReplacement(e)}}));if(!r.length)return!1;let n=e.state.phrase("replaced $ matches",r.length)+".";return e.dispatch({changes:r,effects:cZ.announce.of(n),userEvent:"input.replace.all"}),!0}));function qQ(e){return e.state.facet(lQ).createPanel(e)}function TQ(e,t){var r,n,o,i,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(lQ);return new cQ({search:(null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:c.caseSensitive,literal:null!==(o=null==t?void 0:t.literal)&&void 0!==o?o:c.literal,regexp:null!==(i=null==t?void 0:t.regexp)&&void 0!==i?i:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function jQ(e){let t=w$(e,qQ);return t&&t.dom.querySelector("[main-field]")}function RQ(e){let t=jQ(e);t&&t==e.root.activeElement&&t.select()}const ZQ=e=>{let t=e.state.field(vQ,!1);if(t&&t.panel){let r=jQ(e);if(r&&r!=e.root.activeElement){let n=TQ(e.state,t.query.spec);n.valid&&e.dispatch({effects:bQ.of(n)}),r.focus(),r.select()}}else e.dispatch({effects:[yQ.of(!0),t?bQ.of(TQ(e.state,t.query.spec)):DP.appendConfig.of(zQ)]});return!0},$Q=e=>{let t=e.state.field(vQ,!1);if(!t||!t.panel)return!1;let r=w$(e,qQ);return r&&r.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:yQ.of(!1)}),!0},MQ=[{key:"Mod-f",run:ZQ,scope:"editor search-panel"},{key:"F3",run:SQ,shift:CQ,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:SQ,shift:CQ,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:$Q,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let r=e.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:o}=r.main,i=[],a=0;for(let t=new zB(e.doc,e.sliceDoc(n,o));!t.next().done;){if(i.length>1e3)return!1;t.value.from==n&&(a=i.length),i.push(cP.range(t.value.from,t.value.to))}return t(e.update({selection:cP.create(i,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=w$(e,GB);if(!t){let r=[KB.of(!0)];null==e.state.field(JB,!1)&&r.push(DP.appendConfig.of([JB,eQ])),e.dispatch({effects:r}),t=w$(e,GB)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:r}=e.selection;if(r.some((e=>e.from===e.to)))return(({state:e,dispatch:t})=>{let{selection:r}=e,n=cP.create(r.ranges.map((t=>e.wordAt(t.head)||cP.cursor(t.head))),r.mainIndex);return!n.eq(r)&&(t(e.update({selection:n})),!0)})({state:e,dispatch:t});let n=e.sliceDoc(r[0].from,r[0].to);if(e.selection.ranges.some((t=>e.sliceDoc(t.from,t.to)!=n)))return!1;let o=function(e,t){let{main:r,ranges:n}=e.selection,o=e.wordAt(r.head),i=o&&o.from==r.from&&o.to==r.to;for(let r=!1,o=new zB(e.doc,t,n[n.length-1].to);;){if(o.next(),!o.done){if(r&&n.some((e=>e.from==o.value.from)))continue;if(i){let t=e.wordAt(o.value.from);if(!t||t.from!=o.value.from||t.to!=o.value.to)continue}return o.value}if(r)return null;o=new zB(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),r=!0}}(e,n);return!!o&&(t(e.update({selection:e.selection.addRange(cP.range(o.from,o.to),!1),effects:cZ.scrollIntoView(o.to)})),!0)},preventDefault:!0}];class NQ{constructor(e){this.view=e;let t=this.query=e.state.field(vQ).query.spec;function r(e,t,r){return IB("button",{class:"cm-button",name:e,onclick:t,type:"button"},r)}this.commit=this.commit.bind(this),this.searchField=IB("input",{value:t.search,placeholder:DQ(e,"Find"),"aria-label":DQ(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=IB("input",{value:t.replace,placeholder:DQ(e,"Replace"),"aria-label":DQ(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=IB("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=IB("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=IB("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=IB("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,r("next",(()=>SQ(e)),[DQ(e,"next")]),r("prev",(()=>CQ(e)),[DQ(e,"previous")]),r("select",(()=>_Q(e)),[DQ(e,"all")]),IB("label",null,[this.caseField,DQ(e,"match case")]),IB("label",null,[this.reField,DQ(e,"regexp")]),IB("label",null,[this.wordField,DQ(e,"by word")]),...e.state.readOnly?[]:[IB("br"),this.replaceField,r("replace",(()=>EQ(e)),[DQ(e,"replace")]),r("replaceAll",(()=>PQ(e)),[DQ(e,"replace all")])],IB("button",{name:"close",onclick:()=>$Q(e),"aria-label":DQ(e,"close"),type:"button"},["×"])])}commit(){let e=new cQ({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:bQ.of(e)}))}keydown(e){var t,r;r=e,AZ(vZ((t=this.view).state),r,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?CQ:SQ)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),EQ(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(bQ)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(lQ).top}}function DQ(e,t){return e.state.phrase(t)}const LQ=30,IQ=/[\s\.,:;?!]/;function BQ(e,{from:t,to:r}){let n=e.state.doc.lineAt(t),o=e.state.doc.lineAt(r).to,i=Math.max(n.from,t-LQ),a=Math.min(o,r+LQ),s=e.state.sliceDoc(i,a);if(i!=n.from)for(let e=0;e<LQ;e++)if(!IQ.test(s[e+1])&&IQ.test(s[e])){s=s.slice(e);break}if(a!=o)for(let e=s.length-1;e>s.length-LQ;e--)if(!IQ.test(s[e-1])&&IQ.test(s[e])){s=s.slice(0,e);break}return cZ.announce.of(`${e.state.phrase("current match")}. ${s} ${e.state.phrase("on line")} ${n.number}.`)}const QQ=cZ.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),zQ=[vQ,wP.low(xQ),QQ];class UQ{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class FQ{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let n=e,o=r.facet(rz).markerFilter;o&&(n=o(n));let i=CT.set(n.map((e=>e.from==e.to||e.from==e.to-1&&r.doc.lineAt(e.from).to==e.from?CT.widget({widget:new iz(e),diagnostic:e}).range(e.from):CT.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new FQ(i,t,WQ(i))}}function WQ(e,t=null,r=0){let n=null;return e.between(r,1e9,((e,r,{spec:o})=>{if(!t||o.diagnostic==t)return n=new UQ(e,r,o.diagnostic),!1})),n}const YQ=DP.define(),VQ=DP.define(),XQ=DP.define(),HQ=vP.define({create:()=>new FQ(CT.none,null,null),update(e,t){if(t.docChanged){let r=e.diagnostics.map(t.changes),n=null;if(e.selected){let o=t.changes.mapPos(e.selected.from,1);n=WQ(r,e.selected.diagnostic,o)||WQ(r,null,o)}e=new FQ(r,e.panel,n)}for(let r of t.effects)r.is(YQ)?e=FQ.init(r.value,e.panel,t.state):r.is(VQ)?e=new FQ(e.diagnostics,r.value?sz.open:null,e.selected):r.is(XQ)&&(e=new FQ(e.diagnostics,e.panel,r.value));return e},provide:e=>[S$.from(e,(e=>e.panel)),cZ.decorations.from(e,(e=>e.diagnostics))]}),GQ=CT.mark({class:"cm-lintRange cm-lintRange-active"});function KQ(e,t,r){let{diagnostics:n}=e.state.field(HQ),o=[],i=2e8,a=0;n.between(t-(r<0?1:0),t+(r>0?1:0),((e,n,{spec:s})=>{t>=e&&t<=n&&(e==n||(t>e||r>0)&&(t<n||r<0))&&(o.push(s.diagnostic),i=Math.min(e,i),a=Math.max(n,a))}));let s=e.state.facet(rz).tooltipFilter;return s&&(o=s(o)),o.length?{pos:i,end:a,above:e.state.doc.lineAt(i).to<a,create:()=>({dom:JQ(e,o)})}:null}function JQ(e,t){return IB("ul",{class:"cm-tooltip-lint"},t.map((t=>oz(e,t,!1))))}const ez=e=>{let t=e.state.field(HQ,!1);return!(!t||!t.panel||(e.dispatch({effects:VQ.of(!1)}),0))},tz=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(HQ,!1);var r,n;t&&t.panel||e.dispatch({effects:(r=e.state,n=[VQ.of(!0)],r.field(HQ,!1)?n:n.concat(DP.appendConfig.of(uz)))});let o=w$(e,sz.open);return o&&o.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(HQ,!1);if(!t)return!1;let r=e.state.selection.main,n=t.diagnostics.iter(r.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==r.from&&n.to==r.to)||(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),0))}}],rz=pP.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},HP(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))});function nz(e){let t=[];if(e)e:for(let{name:r}of e){for(let e=0;e<r.length;e++){let n=r[e];if(/[a-zA-Z]/.test(n)&&!t.some((e=>e.toLowerCase()==n.toLowerCase()))){t.push(n);continue e}}t.push("")}return t}function oz(e,t,r){var n;let o=r?nz(t.actions):[];return IB("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},IB("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map(((r,n)=>{let i=!1,a=n=>{if(n.preventDefault(),i)return;i=!0;let o=WQ(e.state.field(HQ).diagnostics,t);o&&r.apply(e,o.from,o.to)},{name:s}=r,l=o[n]?s.indexOf(o[n]):-1,c=l<0?s:[s.slice(0,l),IB("u",s.slice(l,l+1)),s.slice(l+1)];return IB("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${s}${l<0?"":` (access key "${o[n]})"`}.`},c)})),t.source&&IB("div",{class:"cm-diagnosticSource"},t.source))}class iz extends kT{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return IB("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class az{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=oz(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class sz{constructor(e){this.view=e,this.items=[],this.list=IB("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)ez(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:r}=this.items[this.selectedIndex],n=nz(r.actions);for(let o=0;o<n.length;o++)if(n[o].toUpperCase().charCodeAt(0)==t.keyCode){let t=WQ(this.view.state.field(HQ).diagnostics,r);t&&r.actions[o].apply(e,t.from,t.to)}}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=IB("div",{class:"cm-panel-lint"},this.list,IB("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>ez(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(HQ).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(HQ),r=0,n=!1,o=null;for(e.between(0,this.view.state.doc.length,((e,i,{spec:a})=>{let s,l=-1;for(let e=r;e<this.items.length;e++)if(this.items[e].diagnostic==a.diagnostic){l=e;break}l<0?(s=new az(this.view,a.diagnostic),this.items.splice(r,0,s),n=!0):(s=this.items[l],l>r&&(this.items.splice(r,l-r),n=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),o=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),r++}));r<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new az(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let r=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/r:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=WQ(this.view.state.field(HQ).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:XQ.of(t)})}static open(e){return new sz(e)}}function lz(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const cz=cZ.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:lz("#d11")},".cm-lintRange-warning":{backgroundImage:lz("orange")},".cm-lintRange-info":{backgroundImage:lz("#999")},".cm-lintRange-hint":{backgroundImage:lz("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),uz=[HQ,cZ.decorations.compute([HQ],(e=>{let{selected:t,panel:r}=e.field(HQ);return t&&r&&t.from!=t.to?CT.set([GQ.range(t.from,t.to)]):CT.none})),b$(KQ,{hideOn:function(e,t){let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(YQ)))&&!e.changes.touchesRange(r.from,r.to))}}),cz];var dz=function(e){void 0===e&&(e={});var{crosshairCursor:t=!1}=e,r=[];!1!==e.closeBracketsKeymap&&(r=r.concat(oL)),!1!==e.defaultKeymap&&(r=r.concat(DB)),!1!==e.searchKeymap&&(r=r.concat(MQ)),!1!==e.historyKeymap&&(r=r.concat(LI)),!1!==e.foldKeymap&&(r=r.concat(BM)),!1!==e.completionKeymap&&(r=r.concat(pL)),!1!==e.lintKeymap&&(r=r.concat(tz));var n=[];return!1!==e.lineNumbers&&n.push(function(e={}){return[I$.of(e),j$(),z$]}()),!1!==e.highlightActiveLineGutter&&n.push(W$),!1!==e.highlightSpecialChars&&n.push(function(e={}){return[WZ.of(e),YZ||(YZ=HT.fromClass(class{constructor(e){this.view=e,this.decorations=CT.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(WZ)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new BZ({regexp:e.specialChars,decoration:(t,r,n)=>{let{doc:o}=r.state,i=XE(t[0],0);if(9==i){let e=o.lineAt(n),t=r.state.tabSize,i=hq(e.text,t,n-e.from);return CT.replace({widget:new XZ((t-i%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=CT.replace({widget:new VZ(e,i)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(WZ);e.startState.facet(WZ)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}()),!1!==e.history&&n.push(function(e={}){return[AI,wI.of(e),cZ.domEventHandlers({beforeinput(e,t){let r="historyUndo"==e.inputType?kI:"historyRedo"==e.inputType?SI:null;return!!r&&(e.preventDefault(),r(t))}})]}()),!1!==e.foldGutter&&n.push(function(e={}){let t=Object.assign(Object.assign({},VM),e),r=new XM(t,!0),n=new XM(t,!1),o=HT.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(cM)!=e.state.facet(cM)||e.startState.field(MM,!1)!=e.state.field(MM,!1)||eM(e.startState)!=eM(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new rq;for(let o of e.viewportLineBlocks){let i=NM(e.state,o.from,o.to)?n:TM(e.state,o.from,o.to)?r:null;i&&t.add(o.from,o.from,i)}return t.finish()}}),{domEventHandlers:i}=t;return[o,q$({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(o))||void 0===t?void 0:t.markers)||tq.empty},initialSpacer:()=>new XM(t,!1),domEventHandlers:Object.assign(Object.assign({},i),{click:(e,t,r)=>{if(i.click&&i.click(e,t,r))return!0;let n=NM(e.state,t.from,t.to);if(n)return e.dispatch({effects:ZM.of(n)}),!0;let o=TM(e.state,t.from,t.to);return!!o&&(e.dispatch({effects:RM.of(o)}),!0)}})}),UM()]}()),!1!==e.drawSelection&&n.push(function(e={}){return[qZ.of(e),jZ,ZZ,MZ,zT.of(!0)]}()),!1!==e.dropCursor&&n.push([DZ,LZ]),!1!==e.allowMultipleSelections&&n.push(XP.allowMultipleSelections.of(!0)),!1!==e.indentOnInput&&n.push(XP.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let r=e.newDoc,{head:n}=e.newSelection.main,o=r.lineAt(n);if(n>o.from+200)return e;let i=r.sliceString(o.from,n);if(!t.some((e=>e.test(i))))return e;let{state:a}=e,s=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==s)continue;s=t.from;let r=gM(a,t.from);if(null==r)continue;let n=/^\s*/.exec(t.text)[0],o=mM(a,r);n!=o&&l.push({from:t.from,to:t.from+n.length,insert:o})}return l.length?[e,{changes:l,sequential:!0}]:e}))),!1!==e.syntaxHighlighting&&n.push(tN(oN,{fallback:!0})),!1!==e.bracketMatching&&n.push(function(e={}){return[lN.of(e),hN]}()),!1!==e.closeBrackets&&n.push([nL,KD]),!1!==e.autocompletion&&n.push(function(e={}){return[SD,lD.of(e),qD,hL,TD]}()),!1!==e.rectangularSelection&&n.push(function(e){let t=e=>e.altKey&&0==e.button;return cZ.mouseSelectionStyle.of(((e,r)=>t(r)?function(e,t){let r=e$(e,t),n=e.state.selection;return r?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(r.line).from),o=e.state.doc.lineAt(t);r={line:o.number,col:r.col,off:Math.min(r.off,o.length)},n=n.map(e.changes)}},get(t,o,i){let a=e$(e,t);if(!a)return n;let s=function(e,t,r){let n=Math.min(t.line,r.line),o=Math.max(t.line,r.line),i=[];if(t.off>JZ||r.off>JZ||t.col<0||r.col<0){let a=Math.min(t.off,r.off),s=Math.max(t.off,r.off);for(let t=n;t<=o;t++){let r=e.doc.line(t);r.length<=s&&i.push(cP.range(r.from+a,r.to+s))}}else{let a=Math.min(t.col,r.col),s=Math.max(t.col,r.col);for(let t=n;t<=o;t++){let r=e.doc.line(t),n=fq(r.text,a,e.tabSize,!0);if(n<0)i.push(cP.cursor(r.to));else{let t=fq(r.text,s,e.tabSize);i.push(cP.range(r.from+n,r.from+t))}}}return i}(e.state,r,a);return s.length?i?cP.create(s.concat(n.ranges)):cP.create(s):n}}:null}(e,r):null))}()),!1!==t&&n.push(function(e={}){let[t,r]=t$[e.key||"Alt"],n=HT.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||r(e))},keyup(e){e.keyCode!=t&&r(e)||this.set(!1)},mousemove(e){this.set(r(e))}}});return[n,cZ.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?r$:null}))]}()),!1!==e.highlightActiveLine&&n.push(GZ),!1!==e.highlightSelectionMatches&&n.push(function(e){let t=[sQ,aQ];return t}()),e.tabSize&&"number"==typeof e.tabSize&&n.push(hM.of(" ".repeat(e.tabSize))),n.concat([bZ.of(r.flat())]).filter(Boolean)};const pz="#e06c75",hz="#abb2bf",fz="#7d8799",mz="#d19a66",gz="#2c313a",bz="#282c34",yz="#353a42",vz="#528bff",Oz=[cZ.theme({"&":{color:hz,backgroundColor:bz},".cm-content":{caretColor:vz},".cm-cursor, .cm-dropCursor":{borderLeftColor:vz},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:hz},".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:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:bz,color:fz,border:"none"},".cm-activeLineGutter":{backgroundColor:gz},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:yz},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:yz,borderBottomColor:yz},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:gz,color:hz}}},{dark:!0}),tN(GM.define([{tag:N_.keyword,color:"#c678dd"},{tag:[N_.name,N_.deleted,N_.character,N_.propertyName,N_.macroName],color:pz},{tag:[N_.function(N_.variableName),N_.labelName],color:"#61afef"},{tag:[N_.color,N_.constant(N_.name),N_.standard(N_.name)],color:mz},{tag:[N_.definition(N_.name),N_.separator],color:hz},{tag:[N_.typeName,N_.className,N_.number,N_.changed,N_.annotation,N_.modifier,N_.self,N_.namespace],color:"#e5c07b"},{tag:[N_.operator,N_.operatorKeyword,N_.url,N_.escape,N_.regexp,N_.link,N_.special(N_.string)],color:"#56b6c2"},{tag:[N_.meta,N_.comment],color:fz},{tag:N_.strong,fontWeight:"bold"},{tag:N_.emphasis,fontStyle:"italic"},{tag:N_.strikethrough,textDecoration:"line-through"},{tag:N_.link,color:fz,textDecoration:"underline"},{tag:N_.heading,fontWeight:"bold",color:pz},{tag:[N_.atom,N_.bool,N_.special(N_.variableName)],color:mz},{tag:[N_.processingInstruction,N_.string,N_.inserted],color:"#98c379"},{tag:N_.invalid,color:"#ffffff"}]))];var wz=cZ.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Az=function(e){void 0===e&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:n=!1,theme:o="light",placeholder:i="",basicSetup:a=!0}=e,s=[];switch(t&&s.unshift(bZ.of([LB])),a&&("boolean"==typeof a?s.unshift(dz()):s.unshift(dz(a))),i&&s.unshift(function(e){return HT.fromClass(class{constructor(t){this.view=t,this.placeholder=e?CT.set([CT.widget({widget:new KZ(e),side:1}).range(0)]):CT.none}get decorations(){return this.view.state.doc.length?CT.none:this.placeholder}},{decorations:e=>e.decorations})}(i)),o){case"light":s.push(wz);break;case"dark":s.push(Oz);break;case"none":break;default:s.push(o)}return!1===r&&s.push(cZ.editable.of(!1)),n&&s.push(XP.readOnly.of(!0)),[...s]},xz=$P.define(),kz=[],Sz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Cz=(0,r.forwardRef)(((n,o)=>{var{className:i,value:a="",selection:l,extensions:c=[],onChange:u,onStatistics:d,onCreateEditor:p,onUpdate:h,autoFocus:f,theme:m="light",height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:w,basicSetup:A,placeholder:x,indentWithTab:k,editable:S,readOnly:C,root:_,initialState:E}=n,P=(0,t.Z)(n,Sz),q=(0,r.useRef)(null),{state:T,view:j,container:R}=function(e){var{value:t,selection:n,onChange:o,onStatistics:i,onCreateEditor:a,onUpdate:s,extensions:l=kz,autoFocus:c,theme:u="light",height:d=null,minHeight:p=null,maxHeight:h=null,width:f=null,minWidth:m=null,maxWidth:g=null,placeholder:b="",editable:y=!0,readOnly:v=!1,indentWithTab:O=!0,basicSetup:w=!0,root:A,initialState:x}=e,[k,S]=(0,r.useState)(),[C,_]=(0,r.useState)(),[E,P]=(0,r.useState)(),q=cZ.theme({"&":{height:d,minHeight:p,maxHeight:h,width:f,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),T=cZ.updateListener.of((e=>{if(e.docChanged&&"function"==typeof o&&!e.transactions.some((e=>e.annotation(xz)))){var t=e.state.doc.toString();o(t,e)}i&&i((e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map((t=>e.state.sliceDoc(t.from,t.to))),selectedText:e.state.selection.ranges.some((e=>!e.empty))}))(e))})),j=[T,q,...Az({theme:u,editable:y,readOnly:v,placeholder:b,indentWithTab:O,basicSetup:w})];return s&&"function"==typeof s&&j.push(cZ.updateListener.of(s)),j=j.concat(l),(0,r.useEffect)((()=>{if(k&&!E){var e={doc:t,selection:n,extensions:j},r=x?XP.fromJSON(x.json,e,x.fields):XP.create(e);if(P(r),!C){var o=new cZ({state:r,parent:k,root:A});_(o),a&&a(o,r)}}return()=>{C&&(P(void 0),_(void 0))}}),[k,E]),(0,r.useEffect)((()=>S(e.container)),[e.container]),(0,r.useEffect)((()=>()=>{C&&(C.destroy(),_(void 0))}),[C]),(0,r.useEffect)((()=>{c&&C&&C.focus()}),[c,C]),(0,r.useEffect)((()=>{C&&C.dispatch({effects:DP.reconfigure.of(j)})}),[u,l,d,p,h,f,m,g,b,y,v,O,w,o,s]),(0,r.useEffect)((()=>{if(void 0!==t){var e=C?C.state.doc.toString():"";C&&t!==e&&C.dispatch({changes:{from:0,to:e.length,insert:t||""},annotations:[xz.of(!0)]})}}),[t,C]),{state:E,setState:P,view:C,setView:_,container:k,setContainer:S}}({container:q.current,root:_,value:a,autoFocus:f,theme:m,height:g,minHeight:b,maxHeight:y,width:v,minWidth:O,maxWidth:w,basicSetup:A,placeholder:x,indentWithTab:k,editable:S,readOnly:C,selection:l,onChange:u,onStatistics:d,onCreateEditor:p,onUpdate:h,extensions:c,initialState:E});if((0,r.useImperativeHandle)(o,(()=>({editor:q.current,state:T,view:j})),[q,R,T,j]),"string"!=typeof a)throw new Error("value must be typeof string but got "+typeof a);var Z="string"==typeof m?"cm-theme-"+m:"cm-theme";return(0,s.jsx)("div",(0,e.Z)({ref:q,className:Z+(i?" "+i:"")},P))}));Cz.displayName="CodeMirror";const _z=Cz,Ez=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,extensions:[sI(),cZ.lineWrapping],onChange:e=>t?.({value:e}),id:r,role:"textbox","data-testid":"code-editor",height:"300px",width:"100%"}),Pz=g_({String:N_.string,Number:N_.number,"True False":N_.bool,PropertyName:N_.propertyName,Null:N_.null,",":N_.separator,"[ ]":N_.squareBracket,"{ }":N_.brace}),qz=c_.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[Pz],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Tz=J$.define({name:"json",parser:qz.configure({props:[yM.add({Object:CM({except:/^\s*\}/}),Array:CM({except:/^\s*\]/})}),EM.add({"Object Array":PM})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}}),jz=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,extensions:[new uM(Tz),cZ.lineWrapping],onChange:e=>t?.({value:e}),id:r,role:"textbox","data-testid":"code-editor",height:"300px",width:"100%"});class Rz{static create(e,t,r,n,o){return new Rz(e,t,r,n+(n<<8)+e+(t<<4)|0,o,[],[])}constructor(e,t,r,n,o,i,a){this.type=e,this.value=t,this.from=r,this.hash=n,this.end=o,this.children=i,this.positions=a,this.hashProp=[[XS.contextHash,n]]}addChild(e,t){e.prop(XS.contextHash)!=this.hash&&(e=new nC(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new nC(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,r)=>new nC(KS.none,e,t,r,this.hashProp)})}}var Zz;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(Zz||(Zz={}));class $z{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class Mz{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Iz(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let n=t;n<e;n++)r+=9==this.text.charCodeAt(n)?4-r%4:1;return r}findColumn(e){let t=0;for(let r=0;t<this.text.length&&r<e;t++)r+=9==this.text.charCodeAt(t)?4-r%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function Nz(e,t,r){if(r.pos==r.text.length||e!=t.block&&r.indent>=t.stack[r.depth+1].value+r.baseIndent)return!0;if(r.indent>=r.baseIndent+4)return!1;let n=(e.type==Zz.OrderedList?Yz:Wz)(r,t,!1);return n>0&&(e.type!=Zz.BulletList||Uz(r,t,!1)<0)&&r.text.charCodeAt(r.pos+n-1)==e.value}const Dz={[Zz.Blockquote]:(e,t,r)=>62==r.next&&(r.markers.push(wU(Zz.QuoteMark,t.lineStart+r.pos,t.lineStart+r.pos+1)),r.moveBase(r.pos+(Lz(r.text.charCodeAt(r.pos+1))?2:1)),e.end=t.lineStart+r.text.length,!0),[Zz.ListItem]:(e,t,r)=>!(r.indent<r.baseIndent+e.value&&r.next>-1||(r.moveBaseColumn(r.baseIndent+e.value),0)),[Zz.OrderedList]:Nz,[Zz.BulletList]:Nz,[Zz.Document]:()=>!0};function Lz(e){return 32==e||9==e||10==e||13==e}function Iz(e,t=0){for(;t<e.length&&Lz(e.charCodeAt(t));)t++;return t}function Bz(e,t,r){for(;t>r&&Lz(e.charCodeAt(t-1));)t--;return t}function Qz(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let r=t;r<e.text.length;r++)if(96==e.text.charCodeAt(r))return-1;return t}function zz(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Uz(e,t,r){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let r=e.text.charCodeAt(t);if(r==e.next)n++;else if(!Lz(r))return-1}return r&&45==e.next&&Xz(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Fz(e,t){for(let r=e.stack.length-1;r>=0;r--)if(e.stack[r].type==t)return!0;return!1}function Wz(e,t,r){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!Lz(e.text.charCodeAt(e.pos+1))||!(!r||Fz(t,Zz.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function Yz(e,t,r){let n=e.pos,o=e.next;for(;o>=48&&o<=57;){if(n++,n==e.text.length)return-1;o=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=o&&41!=o||n<e.text.length-1&&!Lz(e.text.charCodeAt(n+1))||r&&!Fz(t,Zz.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function Vz(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let r=t-e.pos;return r>6?-1:r}function Xz(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let r=t;for(;t<e.text.length&&Lz(e.text.charCodeAt(t));)t++;return t==e.text.length?r:-1}const Hz=/^[ \t]*$/,Gz=/-->/,Kz=/\?>/,Jz=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Gz],[/^\s*<\?/,Kz],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Hz],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Hz]];function eU(e,t,r){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=Jz.length-(r?1:0);e<t;e++)if(Jz[e][0].test(n))return e;return-1}function tU(e,t){let r=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,r);return n>=r+5?r+1:n}function rU(e,t,r){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==Zz.CodeText?e[n].to=r:e.push(wU(Zz.CodeText,t,r))}const nU={LinkReference:void 0,IndentedCode(e,t){let r=t.baseIndent+4;if(t.indent<r)return!1;let n=t.findColumn(r),o=e.lineStart+n,i=e.lineStart+t.text.length,a=[],s=[];for(rU(a,o,i);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){rU(s,e.lineStart-1,e.lineStart);for(let e of t.markers)s.push(e)}else{if(t.indent<r)break;{if(s.length){for(let e of s)e.type==Zz.CodeText?rU(a,e.from,e.to):a.push(e);s=[]}rU(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e);i=e.lineStart+t.text.length;let r=e.lineStart+t.findColumn(t.baseIndent+4);r<i&&rU(a,r,i)}}return s.length&&(s=s.filter((e=>e.type!=Zz.CodeText)),s.length&&(t.markers=s.concat(t.markers))),e.addNode(e.buffer.writeElements(a,-o).finish(Zz.CodeBlock,i-o),o),!0},FencedCode(e,t){let r=Qz(t);if(r<0)return!1;let n=e.lineStart+t.pos,o=t.next,i=r-t.pos,a=t.skipSpace(r),s=Bz(t.text,t.text.length,a),l=[wU(Zz.CodeMark,n,n+i)];a<s&&l.push(wU(Zz.CodeInfo,e.lineStart+a,e.lineStart+s));for(let r=!0;e.nextLine()&&t.depth>=e.stack.length;r=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==o;)n++;if(n-t.pos>=i&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(wU(Zz.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{r||rU(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,o=e.lineStart+t.text.length;n<o&&rU(l,n,o)}}return e.addNode(e.buffer.writeElements(l,-n).finish(Zz.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let r=zz(t);return!(r<0)&&(e.startContext(Zz.Blockquote,t.pos),e.addNode(Zz.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+r),null)},HorizontalRule(e,t){if(Uz(t,e,!1)<0)return!1;let r=e.lineStart+t.pos;return e.nextLine(),e.addNode(Zz.HorizontalRule,r),!0},BulletList(e,t){let r=Wz(t,e,!1);if(r<0)return!1;e.block.type!=Zz.BulletList&&e.startContext(Zz.BulletList,t.basePos,t.next);let n=tU(t,t.pos+1);return e.startContext(Zz.ListItem,t.basePos,n-t.baseIndent),e.addNode(Zz.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},OrderedList(e,t){let r=Yz(t,e,!1);if(r<0)return!1;e.block.type!=Zz.OrderedList&&e.startContext(Zz.OrderedList,t.basePos,t.text.charCodeAt(t.pos+r-1));let n=tU(t,t.pos+r);return e.startContext(Zz.ListItem,t.basePos,n-t.baseIndent),e.addNode(Zz.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+r),t.moveBaseColumn(n),null},ATXHeading(e,t){let r=Vz(t);if(r<0)return!1;let n=t.pos,o=e.lineStart+n,i=Bz(t.text,t.text.length,n),a=i;for(;a>n&&t.text.charCodeAt(a-1)==t.next;)a--;a!=i&&a!=n&&Lz(t.text.charCodeAt(a-1))||(a=t.text.length);let s=e.buffer.write(Zz.HeaderMark,0,r).writeElements(e.parser.parseInline(t.text.slice(n+r+1,a),o+r+1),-o);a<t.text.length&&s.write(Zz.HeaderMark,a-n,i-n);let l=s.finish(Zz.ATXHeading1-1+r,t.text.length-n);return e.nextLine(),e.addNode(l,o),!0},HTMLBlock(e,t){let r=eU(t,0,!1);if(r<0)return!1;let n=e.lineStart+t.pos,o=Jz[r][1],i=[],a=o!=Hz;for(;!o.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){a=!1;break}for(let e of t.markers)i.push(e)}a&&e.nextLine();let s=o==Gz?Zz.CommentBlock:o==Kz?Zz.ProcessingInstructionBlock:Zz.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(i,-n).finish(s,l-n),n),!0},SetextHeading:void 0};class oU{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,r){if(-1==this.stage)return!1;let n=r.content+"\n"+t.scrub(),o=this.advance(n);return o>-1&&o<n.length&&this.complete(e,r,o)}finish(e,t){return(2==this.stage||3==this.stage)&&Iz(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,r){return e.addLeafElement(t,wU(Zz.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(jU(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(wU(Zz.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=Iz(e,this.pos),r=0;if(t>this.pos){let n=TU(e,t,this.start);if(n){let t=iU(e,n.to-this.start);t>0&&(this.nextStage(n),r=t)}}return r||(r=iU(e,this.pos)),r>0&&r<e.length?r:-1}return iU(e,this.pos)}if(!this.nextStage(qU(e,Iz(e,this.pos),this.start)))return-1}}}}function iU(e,t){for(;t<e.length;t++){let r=e.charCodeAt(t);if(10==r)break;if(!Lz(r))return-1}return t}class aU{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:Xz(t),o=t.next;if(n<0)return!1;let i=wU(Zz.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,wU(61==o?Zz.SetextHeading1:Zz.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),i])),!0}finish(){return!1}}const sU={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new oU(t):null,SetextHeading:()=>new aU},lU=[(e,t)=>Vz(t)>=0,(e,t)=>Qz(t)>=0,(e,t)=>zz(t)>=0,(e,t)=>Wz(t,e,!0)>=0,(e,t)=>Yz(t,e,!0)>=0,(e,t)=>Uz(t,e,!0)>=0,(e,t)=>eU(t,0,!0)>=0],cU={text:"",end:0};class uU{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new Mz,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=Rz.create(Zz.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new MU(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let r=t(this,e);if(0!=r){if(1==r)return null;e.forward();continue e}}break}let t=new $z(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let r=e(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e;for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return!!t&&(this.absoluteLineStart+=t,this.lineStart=NU(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0)}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=cU;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let n=this.ranges[r].from,o=this.lineChunkAt(n);t.end=n+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-e)+o,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],r=this.parser.skipContextMarkup[t.type];if(!r)throw new Error("Unhandled block context "+Zz[t.type]);if(!r(t,this,e))break;e.forward()}}lineChunkAt(e){let t,r=this.input.chunk(e);if(this.input.lineChunks)t="\n"==r?"":r;else{let e=r.indexOf("\n");t=e<0?r:r.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=Rz.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){"number"==typeof e&&(e=new nC(this.parser.nodeSet.types[e],bU,bU,(null!=r?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ZU(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?dU(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=ZU(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Zz.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return"string"==typeof e?wU(this.parser.getNodeType(e),t,r,n):new OU(e,t)}get buffer(){return new yU(this.parser.nodeSet)}}function dU(e,t,r,n,o){let i=e[t].to,a=[],s=[],l=r.from+n;function c(r,o){for(;o?r>=i:r>i;){let o=e[t+1].from-i;n+=o,r+=o,t++,i=e[t].to}}for(let u=r.firstChild;u;u=u.nextSibling){c(u.from+n,!0);let r,d=u.from+n,p=o.get(u.tree);p?r=p:u.to+n>i?(r=dU(e,t,u,n,o),c(u.to+n,!1)):r=u.toTree(),a.push(r),s.push(d-l)}return c(r.to+n,!1),new nC(r.type,a,s,r.to+n-l,r.tree?r.tree.propValues:void 0)}class pU extends xC{constructor(e,t,r,n,o,i,a,s,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=o,this.skipContextMarkup=i,this.inlineParsers=a,this.inlineNames=s,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,r){let n=new uU(this,e,t,r);for(let o of this.wrappers)n=o(n,e,t,r);return n}configure(e){let t=fU(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,o=this.blockParsers.slice(),i=this.leafBlockParsers.slice(),a=this.blockNames.slice(),s=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(hU(t.defineNodes)){n=Object.assign({},n);let e,o=r.types.slice();for(let r of t.defineNodes){let{name:t,block:i,composite:a,style:s}="string"==typeof r?{name:r}:r;if(o.some((e=>e.name==t)))continue;a&&(n[o.length]=(e,t,r)=>a(t,r,e.value));let l=o.length,c=a?["Block","BlockContext"]:i?l>=Zz.ATXHeading1&&l<=Zz.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;o.push(KS.define({id:l,name:t,props:c&&[[XS.group,c]]})),s&&(e||(e={}),Array.isArray(s)||s instanceof h_?e[t]=s:Object.assign(e,s))}r=new JS(o),e&&(r=r.extend(g_(e)))}if(hU(t.props)&&(r=r.extend(...t.props)),hU(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),r=this.inlineNames.indexOf(e);t>-1&&(o[t]=i[t]=void 0),r>-1&&(s[r]=void 0)}if(hU(t.parseBlock))for(let e of t.parseBlock){let t=a.indexOf(e.name);if(t>-1)o[t]=e.parse,i[t]=e.leaf;else{let t=e.before?mU(a,e.before):e.after?mU(a,e.after)+1:a.length-1;o.splice(t,0,e.parse),i.splice(t,0,e.leaf),a.splice(t,0,e.name)}e.endLeaf&&c.push(e.endLeaf)}if(hU(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)s[t]=e.parse;else{let t=e.before?mU(l,e.before):e.after?mU(l,e.after)+1:l.length-1;s.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(u=u.concat(t.wrap)),new pU(r,o,i,a,c,n,s,l,u)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new RU(this,e,t);e:for(let e=t;e<r.end;){let t=r.char(e);for(let n of this.inlineParsers)if(n){let o=n(r,t,e);if(o>=0){e=o;continue e}}e++}return r.resolveMarkers(0)}}function hU(e){return null!=e&&e.length>0}function fU(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=fU(e[0]);if(1==e.length)return t;let r=fU(e.slice(1));if(!r||!t)return t||r;let n=(e,t)=>(e||bU).concat(t||bU),o=t.wrap,i=r.wrap;return{props:n(t.props,r.props),defineNodes:n(t.defineNodes,r.defineNodes),parseBlock:n(t.parseBlock,r.parseBlock),parseInline:n(t.parseInline,r.parseInline),remove:n(t.remove,r.remove),wrap:o?i?(e,t,r,n)=>o(i(e,t,r,n),t,r,n):o:i}}function mU(e,t){let r=e.indexOf(t);if(r<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return r}let gU=[KS.none];for(let e,t=1;e=Zz[t];t++)gU[t]=KS.define({id:t,name:e,props:t>=Zz.Escape?[]:[[XS.group,t in Dz?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const bU=[];class yU{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,n=0){return this.content.push(e,t,r,4+4*n),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return nC.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class vU{constructor(e,t,r,n=bU){this.type=e,this.from=t,this.to=r,this.children=n}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new yU(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class OU{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return bU}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function wU(e,t,r,n){return new vU(e,t,r,n)}const AU={resolve:"Emphasis",mark:"EmphasisMark"},xU={resolve:"Emphasis",mark:"EmphasisMark"},kU={},SU={};class CU{constructor(e,t,r,n){this.type=e,this.from=t,this.to=r,this.side=n}}let _U=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{_U=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(Me){}const EU={Escape(e,t,r){if(92!=t||r==e.end-1)return-1;let n=e.char(r+1);for(let t=0;t<32;t++)if("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".charCodeAt(t)==n)return e.append(wU(Zz.Escape,r,r+2));return-1},Entity(e,t,r){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(r+1,r+31));return n?e.append(wU(Zz.Entity,r,r+1+n[0].length)):-1},InlineCode(e,t,r){if(96!=t||r&&96==e.char(r-1))return-1;let n=r+1;for(;n<e.end&&96==e.char(n);)n++;let o=n-r,i=0;for(;n<e.end;n++)if(96==e.char(n)){if(i++,i==o&&96!=e.char(n+1))return e.append(wU(Zz.InlineCode,r,n+1,[wU(Zz.CodeMark,r,r+o),wU(Zz.CodeMark,n+1-o,n+1)]))}else i=0;return-1},HTMLTag(e,t,r){if(60!=t||r==e.end-1)return-1;let n=e.slice(r+1,e.end),o=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(o)return e.append(wU(Zz.URL,r,r+1+o[0].length));let i=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(i)return e.append(wU(Zz.Comment,r,r+1+i[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return e.append(wU(Zz.ProcessingInstruction,r,r+1+a[0].length));let s=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return s?e.append(wU(Zz.HTMLTag,r,r+1+s[0].length)):-1},Emphasis(e,t,r){if(95!=t&&42!=t)return-1;let n=r+1;for(;e.char(n)==t;)n++;let o=e.slice(r-1,r),i=e.slice(n,n+1),a=_U.test(o),s=_U.test(i),l=/\s|^$/.test(o),c=/\s|^$/.test(i),u=!c&&(!s||l||a),d=!l&&(!a||c||s),p=u&&(42==t||!d||a),h=d&&(42==t||!u||s);return e.append(new CU(95==t?AU:xU,r,n,(p?1:0)|(h?2:0)))},HardBreak(e,t,r){if(92==t&&10==e.char(r+1))return e.append(wU(Zz.HardBreak,r,r+2));if(32==t){let t=r+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=r+2)return e.append(wU(Zz.HardBreak,r,t+1))}return-1},Link:(e,t,r)=>91==t?e.append(new CU(kU,r,r+1,1)):-1,Image:(e,t,r)=>33==t&&91==e.char(r+1)?e.append(new CU(SU,r,r+2,1)):-1,LinkEnd(e,t,r){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof CU&&(n.type==kU||n.type==SU)){if(!n.side||e.skipSpace(n.to)==r&&!/[(\[]/.test(e.slice(r+1,r+2)))return e.parts[t]=null,-1;let o=e.takeContent(t),i=e.parts[t]=PU(e,o,n.type==kU?Zz.Link:Zz.Image,n.from,r+1);if(n.type==kU)for(let r=0;r<t;r++){let t=e.parts[r];t instanceof CU&&t.type==kU&&(t.side=0)}return i.to}}return-1}};function PU(e,t,r,n,o){let{text:i}=e,a=e.char(o),s=o;if(t.unshift(wU(Zz.LinkMark,n,n+(r==Zz.Image?2:1))),t.push(wU(Zz.LinkMark,o-1,o)),40==a){let r,n=e.skipSpace(o+1),a=qU(i,n-e.offset,e.offset);a&&(n=e.skipSpace(a.to),r=TU(i,n-e.offset,e.offset),r&&(n=e.skipSpace(r.to))),41==e.char(n)&&(t.push(wU(Zz.LinkMark,o,o+1)),s=n+1,a&&t.push(a),r&&t.push(r),t.push(wU(Zz.LinkMark,n,s)))}else if(91==a){let r=jU(i,o-e.offset,e.offset,!1);r&&(t.push(r),s=r.to)}return wU(r,n,s,t)}function qU(e,t,r){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let o=e.charCodeAt(n);if(62==o)return wU(Zz.URL,t+r,n+1+r);if(60==o||10==o)return!1}return null}{let n=0,o=t;for(let t=!1;o<e.length;o++){let r=e.charCodeAt(o);if(Lz(r))break;if(t)t=!1;else if(40==r)n++;else if(41==r){if(!n)break;n--}else 92==r&&(t=!0)}return o>t?wU(Zz.URL,t+r,o+r):o==e.length&&null}}function TU(e,t,r){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let o=40==n?41:n;for(let n=t+1,i=!1;n<e.length;n++){let a=e.charCodeAt(n);if(i)i=!1;else{if(a==o)return wU(Zz.LinkTitle,t+r,n+1+r);92==a&&(i=!0)}}return null}function jU(e,t,r,n){for(let o=!1,i=t+1,a=Math.min(e.length,i+999);i<a;i++){let a=e.charCodeAt(i);if(o)o=!1;else{if(93==a)return!n&&wU(Zz.LinkLabel,t+r,i+1+r);if(n&&!Lz(a)&&(n=!1),91==a)return!1;92==a&&(o=!0)}}return null}class RU{constructor(e,t,r){this.parser=e,this.text=t,this.offset=r,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,n,o){return this.append(new CU(e,t,r,(n?1:0)|(o?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let r=this.parts[t];if(!(r instanceof CU&&r.type.resolve&&2&r.side))continue;let n,o=r.type==AU||r.type==xU,i=r.to-r.from,a=t-1;for(;a>=e;a--){let e=this.parts[a];if(e instanceof CU&&1&e.side&&e.type==r.type&&!(o&&(1&r.side||2&e.side)&&(e.to-e.from+i)%3==0&&((e.to-e.from)%3||i%3))){n=e;break}}if(!n)continue;let s=r.type.resolve,l=[],c=n.from,u=r.to;if(o){let e=Math.min(2,n.to-n.from,i);c=n.to-e,u=r.from+e,s=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,c,n.to));for(let e=a+1;e<t;e++)this.parts[e]instanceof vU&&l.push(this.parts[e]),this.parts[e]=null;r.type.mark&&l.push(this.elt(r.type.mark,r.from,u));let d=this.elt(s,c,u,l);this.parts[a]=o&&n.from!=c?new CU(n.type,n.from,c,n.side):null,(this.parts[t]=o&&r.to!=u?new CU(r.type,u,r.to,r.side):null)?this.parts.splice(t,0,d):this.parts[t]=d}let t=[];for(let r=e;r<this.parts.length;r++){let e=this.parts[r];e instanceof vU&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let r=this.parts[t];if(r instanceof CU&&r.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return Iz(this.text,e-this.offset)+this.offset}elt(e,t,r,n){return"string"==typeof e?wU(this.parser.getNodeType(e),t,r,n):new OU(e,t)}}function ZU(e,t){if(!t.length)return e;if(!e.length)return t;let r=e.slice(),n=0;for(let e of t){for(;n<r.length&&r[n].to<e.to;)n++;if(n<r.length&&r[n].from<e.from){let t=r[n];t instanceof vU&&(r[n]=new vU(t.type,t.from,t.to,ZU(t.children,[e])))}else r.splice(n++,0,e)}return r}const $U=[Zz.CodeBlock,Zz.ListItem,Zz.OrderedList,Zz.BulletList];class MU{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(XS.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),o=e.absoluteLineStart,i=o,a=e.block.children.length,s=i,l=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let o=NU(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,o);else{let r=new nC(e.parser.nodeSet.types[Zz.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(r,t.tree),e.addNode(r,o)}if(t.type.is("Block")&&($U.indexOf(t.type.id)<0?(i=t.to-r,a=e.block.children.length):(i=s,a=l,s=t.to-r,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return i-o}}function NU(e,t){let r=e;for(let n=1;n<t.length;n++){let o=t[n-1].to,i=t[n].from;o<e&&(r-=i-o)}return r}const DU=g_({"Blockquote/...":N_.quote,HorizontalRule:N_.contentSeparator,"ATXHeading1/... SetextHeading1/...":N_.heading1,"ATXHeading2/... SetextHeading2/...":N_.heading2,"ATXHeading3/...":N_.heading3,"ATXHeading4/...":N_.heading4,"ATXHeading5/...":N_.heading5,"ATXHeading6/...":N_.heading6,"Comment CommentBlock":N_.comment,Escape:N_.escape,Entity:N_.character,"Emphasis/...":N_.emphasis,"StrongEmphasis/...":N_.strong,"Link/... Image/...":N_.link,"OrderedList/... BulletList/...":N_.list,"BlockQuote/...":N_.quote,"InlineCode CodeText":N_.monospace,URL:N_.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":N_.processingInstruction,"CodeInfo LinkLabel":N_.labelName,LinkTitle:N_.string,Paragraph:N_.content}),LU=new pU(new JS(gU).extend(DU),Object.keys(nU).map((e=>nU[e])),Object.keys(nU).map((e=>sU[e])),Object.keys(nU),lU,Dz,Object.keys(EU).map((e=>EU[e])),Object.keys(EU),[]);function IU(e,t,r){let n=[];for(let o=e.firstChild,i=t;;o=o.nextSibling){let e=o?o.from:r;if(e>i&&n.push({from:i,to:e}),!o)break;i=o.to}return n}const BU={resolve:"Strikethrough",mark:"StrikethroughMark"},QU={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":N_.strikethrough}},{name:"StrikethroughMark",style:N_.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,r){if(126!=t||126!=e.char(r+1)||126==e.char(r+2))return-1;let n=e.slice(r-1,r),o=e.slice(r+2,r+3),i=/\s|^$/.test(n),a=/\s|^$/.test(o),s=_U.test(n),l=_U.test(o);return e.addDelimiter(BU,r,r+2,!a&&(!l||i||s),!i&&(!s||a||l))},after:"Emphasis"}]};function zU(e,t,r=0,n,o=0){let i=0,a=!0,s=-1,l=-1,c=!1,u=()=>{n.push(e.elt("TableCell",o+s,o+l,e.parser.parseInline(t.slice(s,l),o+s)))};for(let d=r;d<t.length;d++){let r=t.charCodeAt(d);124!=r||c?(c||32!=r&&9!=r)&&(s<0&&(s=d),l=d+1):((!a||s>-1)&&i++,a=!1,n&&(s>-1&&u(),n.push(e.elt("TableDelimiter",d+o,d+o+1))),s=l=-1),c=!c&&92==r}return s>-1&&(i++,n&&u()),i}function UU(e,t){for(let r=t;r<e.length;r++){let t=e.charCodeAt(r);if(124==t)return!0;92==t&&r++}return!1}const FU=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class WU{constructor(){this.rows=null}nextLine(e,t,r){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&FU.test(n=t.text.slice(t.pos))){let o=[];zU(e,r.content,0,o,r.start)==zU(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,o),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];zU(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const YU={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":N_.heading}},"TableRow",{name:"TableCell",style:N_.content},{name:"TableDelimiter",style:N_.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>UU(t.content,0)?new WU:null,endLeaf(e,t,r){if(r.parsers.some((e=>e instanceof WU))||!UU(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return FU.test(n)&&zU(e,t.text,t.basePos)==zU(e,n,t.basePos)},before:"SetextHeading"}]};class VU{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const XU={defineNodes:[{name:"Task",block:!0,style:N_.list},{name:"TaskMarker",style:N_.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new VU:null,after:"SetextHeading"}]},HU=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,GU=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,KU=/[\w-]+\.[\w-]+($|\/)/,JU=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,eF=/\/[a-zA-Z\d@.]+/gy;function tF(e,t,r,n){let o=0;for(let i=t;i<r;i++)e[i]==n&&o++;return o}function rF(e,t){JU.lastIndex=t;let r=JU.exec(e);if(!r)return-1;let n=r[0][r[0].length-1];return"_"==n||"-"==n?-1:t+r[0].length-("."==n?1:0)}const nF={parseInline:[{name:"Autolink",parse(e,t,r){let n=r-e.offset;HU.lastIndex=n;let o=HU.exec(e.text),i=-1;return o?(o[1]||o[2]?i=function(e,t){GU.lastIndex=t;let r=GU.exec(e);if(!r||KU.exec(r[0])[0].indexOf("_")>-1)return-1;let n=t+r[0].length;for(;;){let r,o=e[n-1];if(/[?!.,:*_~]/.test(o)||")"==o&&tF(e,t,n,")")>tF(e,t,n,"("))n--;else{if(";"!=o||!(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,n))))break;n=t+r.index}}return n}(e.text,n+o[0].length):o[3]?i=rF(e.text,n):(i=rF(e.text,n+o[0].length),i>-1&&"xmpp:"==o[0]&&(eF.lastIndex=i,o=eF.exec(e.text),o&&(i=o.index+o[0].length))),i<0?-1:(e.addElement(e.elt("URL",r,i+e.offset)),i+e.offset)):-1}}]},oF=[YU,XU,QU,nF];function iF(e,t,r){return(n,o,i)=>{if(o!=e||n.char(i+1)==e)return-1;let a=[n.elt(r,i,i+1)];for(let o=i+1;o<n.end;o++){let s=n.char(o);if(s==e)return n.addElement(n.elt(t,i,o+1,a.concat(n.elt(r,o,o+1))));if(92==s&&a.push(n.elt("Escape",o,2+o++)),Lz(s))break}return-1}}const aF={defineNodes:[{name:"Superscript",style:N_.special(N_.content)},{name:"SuperscriptMark",style:N_.processingInstruction}],parseInline:[{name:"Superscript",parse:iF(94,"Superscript","SuperscriptMark")}]},sF={defineNodes:[{name:"Subscript",style:N_.special(N_.content)},{name:"SubscriptMark",style:N_.processingInstruction}],parseInline:[{name:"Subscript",parse:iF(126,"Subscript","SubscriptMark")}]},lF={defineNodes:[{name:"Emoji",style:N_.character}],parseInline:[{name:"Emoji",parse(e,t,r){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(r+1,e.end)))?e.addElement(e.elt("Emoji",r,r+1+n[0].length)):-1}}]},cF=X$({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),uF=new XS,dF=LU.configure({props:[EM.add((e=>!e.is("Block")||e.is("Document")||null!=pF(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),uF.add(pF),yM.add({Document:()=>null}),V$.add({Document:cF})]});function pF(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function hF(e,t){let r=e;for(;;){let e,n=r.nextSibling;if(!n||null!=(e=pF(n.type))&&e<=t)break;r=n}return r.to}const fF=_M.of(((e,t,r)=>{for(let n=eM(e).resolveInner(r,-1);n&&!(n.from<t);n=n.parent){let e=n.type.prop(uF);if(null==e)continue;let t=hF(n,e);if(t>r)return{from:r,to:t}}return null}));function mF(e){return new G$(cF,e,[fF],"markdown")}const gF=mF(dF),bF=mF(dF.configure([oF,sF,aF,lF,{props:[EM.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class yF{constructor(e,t,r,n,o,i,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=n,this.spaceAfter=o,this.type=i,this.item=a}blank(e,t=!0){let r=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;r.length<e;)r+=" ";return r}for(let e=this.to-this.from-r.length-this.spaceAfter.length;e>0;e--)r+=" ";return r+(t?this.spaceAfter:"")}marker(e,t){let r="OrderedList"==this.node.name?String(+OF(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function vF(e,t){let r=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||r.push(t);let n=[];for(let e=r.length-1;e>=0;e--){let o,i=r[e],a=t.lineAt(i.from),s=i.from-a.from;if("FencedCode"==i.name)n.push(new yF(i,s,s,"","","",null));else if("Blockquote"==i.name&&(o=/^ *>( ?)/.exec(a.text.slice(s))))n.push(new yF(i,s,s+o[0].length,"",o[1],">",null));else if("ListItem"==i.name&&"OrderedList"==i.parent.name&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(s)))){let e=o[3],t=o[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new yF(i.parent,s,s+t,o[1],e,o[2],i))}else if("ListItem"==i.name&&"BulletList"==i.parent.name&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(s)))){let e=o[4],t=o[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let r=o[2];o[3]&&(r+=o[3].replace(/[xX]/," ")),n.push(new yF(i.parent,s,s+t,o[1],e,r,i))}}return n}function OF(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function wF(e,t,r,n=0){for(let o=-1,i=e;;){if("ListItem"==i.name){let e=OF(i,t),a=+e[2];if(o>=0){if(a!=o+1)return;r.push({from:i.from+e[1].length,to:i.from+e[0].length,insert:String(o+2+n)})}o=a}let e=i.nextSibling;if(!e)break;i=e}}function AF(e,t){let r=/^[ \t]*/.exec(e)[0].length;if(!r||"\t"!=t.facet(hM))return e;let n="";for(let t=hq(e,4,r);t>0;)t>=4?(n+="\t",t-=4):(n+=" ",t--);return n+e.slice(r)}function xF(e){return"QuoteMark"==e.name||"ListMark"==e.name}const kF=[{key:"Enter",run:({state:e,dispatch:t})=>{let r=eM(e),{doc:n}=e,o=null,i=e.changeByRange((t=>{if(!t.empty||!bF.isActiveAt(e,t.from))return o={range:t};let i=t.from,a=n.lineAt(i),s=vF(r.resolveInner(i,-1),n);for(;s.length&&s[s.length-1].from>i-a.from;)s.pop();if(!s.length)return o={range:t};let l=s[s.length-1];if(l.to-l.spaceAfter.length>i-a.from)return o={range:t};let c=i>=l.to-l.spaceAfter.length&&!/\S/.test(a.text.slice(l.to));if(l.item&&c){if(l.node.firstChild.to>=i||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){let e,t=s.length>1?s[s.length-2]:null,r="";t&&t.item?(e=a.from+t.from,r=t.marker(n,1)):e=a.from+(t?t.to:0);let o=[{from:e,to:i,insert:r}];return"OrderedList"==l.node.name&&wF(l.item,n,o,-2),t&&"OrderedList"==t.node.name&&wF(t.item,n,o),{range:cP.cursor(e+r.length),changes:o}}{let t="";for(let e=0,r=s.length-2;e<=r;e++)t+=s[e].blank(e<r?hq(a.text,4,s[e+1].from)-t.length:null,e<r);return t=AF(t,e),{range:cP.cursor(i+t.length+1),changes:{from:a.from,insert:t+e.lineBreak}}}}if("Blockquote"==l.node.name&&c&&a.from){let r=n.lineAt(a.from-1),o=/>\s*$/.exec(r.text);if(o&&o.index==l.from){let n=e.changes([{from:r.from+o.index,to:r.to},{from:a.from+l.from,to:a.to}]);return{range:t.map(n),changes:n}}}let u=[];"OrderedList"==l.node.name&&wF(l.item,n,u);let d=l.item&&l.item.from<a.from,p="";if(!d||/^[\s\d.)\-+*>]*/.exec(a.text)[0].length>=l.to)for(let e=0,t=s.length-1;e<=t;e++)p+=e!=t||d?s[e].blank(e<t?hq(a.text,4,s[e+1].from)-p.length:null):s[e].marker(n,1);let h=i;for(;h>a.from&&/\s/.test(a.text.charAt(h-a.from-1));)h--;return p=AF(p,e),u.push({from:h,to:i,insert:e.lineBreak+p}),{range:cP.cursor(h+p.length+1),changes:u}}));return!o&&(t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let r=eM(e),n=null,o=e.changeByRange((t=>{let o=t.from,{doc:i}=e;if(t.empty&&bF.isActiveAt(e,t.from)){let t=i.lineAt(o),n=vF(function(e,t){let r=e.resolveInner(t,-1),n=t;xF(r)&&(n=r.from,r=r.parent);for(let e;e=r.childBefore(n);)if(xF(e))n=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;r=e.lastChild,n=r.to}return r}(r,o),i);if(n.length){let r=n[n.length-1],i=r.to-r.spaceAfter.length+(r.spaceAfter?1:0);if(o-t.from>i&&!/\S/.test(t.text.slice(i,o-t.from)))return{range:cP.cursor(t.from+i),changes:{from:t.from+i,to:o}};if(o-t.from==i&&(!r.item||t.from<=r.item.from||!/\S/.test(t.text.slice(0,r.to)))){let n=t.from+r.from;if(r.item&&r.node.from<r.item.from&&/\S/.test(t.text.slice(r.from,r.to))){let o=r.blank(hq(t.text,4,r.to)-hq(t.text,4,r.from));return n==t.from&&(o=AF(o,e)),{range:cP.cursor(n+o.length),changes:{from:n,to:t.from+r.to,insert:o}}}if(n<o)return{range:cP.cursor(n),changes:{from:n,to:o}}}}}return n={range:t}}));return!n&&(t(e.update(o,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],SF=sI({matchClosingTags:!1});function CF(e={}){let{codeLanguages:t,defaultCodeLanguage:r,addKeymap:n=!0,base:{parser:o}=gF,completeHTMLTags:i=!0}=e;if(!(o instanceof pU))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let a,s=e.extensions?[e.extensions]:[],l=[SF.support];r instanceof uM?(l.push(r.support),a=r.language):r&&(a=r);let c=t||a?(u=t,d=a,e=>{if(e&&u){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof u?u(e):dM.matchLanguageName(u,e,!0),t instanceof dM)return t.support?t.support.language.parser:nM.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var u,d;s.push(function(e){let{codeParser:t,htmlParser:r}=e,n=SC(((e,n)=>{let o=e.type.id;if(!t||o!=Zz.CodeBlock&&o!=Zz.FencedCode){if(r&&(o==Zz.HTMLBlock||o==Zz.HTMLTag))return{parser:r,overlay:IU(e.node,e.from,e.to)}}else{let r="";if(o==Zz.FencedCode){let t=e.node.getChild(Zz.CodeInfo);t&&(r=n.read(t.from,t.to))}let i=t(r);if(i)return{parser:i,overlay:e=>e.type.id==Zz.CodeText}}return null}));return{wrap:n}}({codeParser:c,htmlParser:SF.language.parser})),n&&l.push(wP.high(bZ.of(kF)));let p=mF(o.configure(s));return i&&l.push(p.data.of({autocomplete:_F})),new uM(p,l)}function _F(e){let{state:t,pos:r}=e,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(r-25,r));if(!n)return null;let o=eM(t).resolveInner(r,-1);for(;o&&!o.type.isTop;){if("CodeBlock"==o.name||"FencedCode"==o.name||"ProcessingInstructionBlock"==o.name||"CommentBlock"==o.name||"Link"==o.name||"Image"==o.name)return null;o=o.parent}return{from:r-n[0].length,to:r,options:PF(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let EF=null;function PF(){if(EF)return EF;let e=(t=new HN(XP.create({extensions:SF}),0,!0),eI(WL.default,t));var t;return EF=e?e.options:[]}const qF=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(_z,{readOnly:o,value:e,onChange:e=>t?.({value:e}),extensions:[CF({base:bF}),tN(oN),tN(GM.define([{tag:N_.heading1,fontSize:"24px"},{tag:N_.heading2,fontSize:"20px"},{tag:N_.heading3,fontSize:"16px"}])),cZ.lineWrapping],id:r,role:"textbox","data-testid":"markdown-editor",height:"300px",width:"100%"});var TF=__webpack_require__(4290),jF=__webpack_require__.n(TF),RF=__webpack_require__(202),ZF={};ZF.styleTagTransform=j(),ZF.setAttributes=E(),ZF.insert=C().bind(null,"head"),ZF.domAPI=k(),ZF.insertStyleElement=q(),A()(RF.Z,ZF),RF.Z&&RF.Z.locals&&RF.Z.locals;var $F=__webpack_require__(6013),MF={};MF.styleTagTransform=j(),MF.setAttributes=E(),MF.insert=C().bind(null,"head"),MF.domAPI=k(),MF.insertStyleElement=q(),A()($F.Z,MF),$F.Z&&$F.Z.locals&&$F.Z.locals;const NF=({value:e,onChange:t,id:r,readOnly:o})=>n().createElement(jF(),{readOnly:o,theme:"snow",value:e,onChange:e=>t?.({value:e}),style:{height:"300px",paddingBottom:"41px",width:"100%"},id:r,modules:{clipboard:{matchVisual:!1}},"data-testid":"richtext-editor"});var DF=__webpack_require__(9391);var LF=__webpack_require__(2806),IF={};IF.styleTagTransform=j(),IF.setAttributes=E(),IF.insert=C().bind(null,"head"),IF.domAPI=k(),IF.insertStyleElement=q(),A()(LF.Z,IF);const BF=LF.Z&&LF.Z.locals?LF.Z.locals:void 0,QF=[{value:"",text:"",phone:""},{value:"DE",text:"Germany",phone:"49"},{value:"AF",text:"Afghanistan",phone:"93"},{value:"AL",text:"Albania",phone:"355"},{value:"DZ",text:"Algeria",phone:"213"},{value:"AX",text:"Alland Islands",phone:"358"},{value:"AS",text:"American Samoa",phone:"1-684"},{value:"AD",text:"Andorra",phone:"376"},{value:"AO",text:"Angola",phone:"244"},{value:"AI",text:"Anguilla",phone:"1-264"},{value:"AQ",text:"Antarctica",phone:"672"},{value:"AG",text:"Antigua and Barbuda",phone:"1-268"},{value:"AR",text:"Argentina",phone:"54"},{value:"AM",text:"Armenia",phone:"374"},{value:"AW",text:"Aruba",phone:"297"},{value:"AU",text:"Australia",phone:"61"},{value:"AT",text:"Austria",phone:"43"},{value:"AZ",text:"Azerbaijan",phone:"994"},{value:"BS",text:"Bahamas",phone:"1-242"},{value:"BH",text:"Bahrain",phone:"973"},{value:"BD",text:"Bangladesh",phone:"880"},{value:"BB",text:"Barbados",phone:"1-246"},{value:"BY",text:"Belarus",phone:"375"},{value:"BE",text:"Belgium",phone:"32"},{value:"BZ",text:"Belize",phone:"501"},{value:"BJ",text:"Benin",phone:"229"},{value:"BM",text:"Bermuda",phone:"1-441"},{value:"BT",text:"Bhutan",phone:"975"},{value:"BO",text:"Bolivia",phone:"591"},{value:"BA",text:"Bosnia and Herzegovina",phone:"387"},{value:"BW",text:"Botswana",phone:"267"},{value:"BV",text:"Bouvet Island",phone:"47"},{value:"BR",text:"Brazil",phone:"55"},{value:"IO",text:"British Indian Ocean Territory",phone:"246"},{value:"VG",text:"British Virgin Islands",phone:"1-284"},{value:"BN",text:"Brunei Darussalam",phone:"673"},{value:"BG",text:"Bulgaria",phone:"359"},{value:"BF",text:"Burkina Faso",phone:"226"},{value:"BI",text:"Burundi",phone:"257"},{value:"KH",text:"Cambodia",phone:"855"},{value:"CM",text:"Cameroon",phone:"237"},{value:"CA",text:"Canada",phone:"1"},{value:"CV",text:"Cape Verde",phone:"238"},{value:"KY",text:"Cayman Islands",phone:"1-345"},{value:"CF",text:"Central African Republic",phone:"236"},{value:"TD",text:"Chad",phone:"235"},{value:"CL",text:"Chile",phone:"56"},{value:"CN",text:"China",phone:"86"},{value:"CX",text:"Christmas Island",phone:"61"},{value:"CC",text:"Cocos (Keeling) Islands",phone:"61"},{value:"CO",text:"Colombia",phone:"57"},{value:"KM",text:"Comoros",phone:"269"},{value:"CD",text:"Congo, Democratic Republic of the",phone:"243"},{value:"CG",text:"Congo, Republic of the",phone:"242"},{value:"CK",text:"Cook Islands",phone:"682"},{value:"CR",text:"Costa Rica",phone:"506"},{value:"CI",text:"Cote d'Ivoire",phone:"225"},{value:"HR",text:"Croatia",phone:"385"},{value:"CU",text:"Cuba",phone:"53"},{value:"CW",text:"Curacao",phone:"599"},{value:"CY",text:"Cyprus",phone:"357"},{value:"CZ",text:"Czech Republic",phone:"420"},{value:"DK",text:"Denmark",phone:"45"},{value:"DJ",text:"Djibouti",phone:"253"},{value:"DM",text:"Dominica",phone:"1-767"},{value:"DO",text:"Dominican Republic",phone:"1-809"},{value:"EC",text:"Ecuador",phone:"593"},{value:"EG",text:"Egypt",phone:"20"},{value:"SV",text:"El Salvador",phone:"503"},{value:"GQ",text:"Equatorial Guinea",phone:"240"},{value:"ER",text:"Eritrea",phone:"291"},{value:"EE",text:"Estonia",phone:"372"},{value:"ET",text:"Ethiopia",phone:"251"},{value:"FK",text:"Falkland Islands (Malvinas)",phone:"500"},{value:"FO",text:"Faroe Islands",phone:"298"},{value:"FJ",text:"Fiji",phone:"679"},{value:"FI",text:"Finland",phone:"358"},{value:"FR",text:"France",phone:"33"},{value:"GF",text:"French Guiana",phone:"594"},{value:"PF",text:"French Polynesia",phone:"689"},{value:"TF",text:"French Southern Territories",phone:"262"},{value:"GA",text:"Gabon",phone:"241"},{value:"GM",text:"Gambia",phone:"220"},{value:"GE",text:"Georgia",phone:"995"},{value:"GH",text:"Ghana",phone:"233"},{value:"GI",text:"Gibraltar",phone:"350"},{value:"GR",text:"Greece",phone:"30"},{value:"GL",text:"Greenland",phone:"299"},{value:"GD",text:"Grenada",phone:"1-473"},{value:"GP",text:"Guadeloupe",phone:"590"},{value:"GU",text:"Guam",phone:"1-671"},{value:"GT",text:"Guatemala",phone:"502"},{value:"GG",text:"Guernsey",phone:"44"},{value:"GN",text:"Guinea",phone:"224"},{value:"GW",text:"Guinea-Bissau",phone:"245"},{value:"GY",text:"Guyana",phone:"592"},{value:"HT",text:"Haiti",phone:"509"},{value:"HM",text:"Heard Island and McDonald Islands",phone:"672"},{value:"VA",text:"Holy See (Vatican City State)",phone:"379"},{value:"HN",text:"Honduras",phone:"504"},{value:"HK",text:"Hong Kong",phone:"852"},{value:"HU",text:"Hungary",phone:"36"},{value:"IS",text:"Iceland",phone:"354"},{value:"IN",text:"India",phone:"91"},{value:"ID",text:"Indonesia",phone:"62"},{value:"IR",text:"Iran, Islamic Republic of",phone:"98"},{value:"IQ",text:"Iraq",phone:"964"},{value:"IE",text:"Ireland",phone:"353"},{value:"IM",text:"Isle of Man",phone:"44"},{value:"IL",text:"Israel",phone:"972"},{value:"IT",text:"Italy",phone:"39"},{value:"JM",text:"Jamaica",phone:"1-876"},{value:"JP",text:"Japan",phone:"81"},{value:"JE",text:"Jersey",phone:"44"},{value:"JO",text:"Jordan",phone:"962"},{value:"KZ",text:"Kazakhstan",phone:"7"},{value:"KE",text:"Kenya",phone:"254"},{value:"KI",text:"Kiribati",phone:"686"},{value:"KP",text:"Korea, Democratic People's Republic of",phone:"850"},{value:"KR",text:"Korea, Republic of",phone:"82"},{value:"XK",text:"Kosovo",phone:"383"},{value:"KW",text:"Kuwait",phone:"965"},{value:"KG",text:"Kyrgyzstan",phone:"996"},{value:"LA",text:"Lao People's Democratic Republic",phone:"856"},{value:"LV",text:"Latvia",phone:"371"},{value:"LB",text:"Lebanon",phone:"961"},{value:"LS",text:"Lesotho",phone:"266"},{value:"LR",text:"Liberia",phone:"231"},{value:"LY",text:"Libya",phone:"218"},{value:"LI",text:"Liechtenstein",phone:"423"},{value:"LT",text:"Lithuania",phone:"370"},{value:"LU",text:"Luxembourg",phone:"352"},{value:"MO",text:"Macao",phone:"853"},{value:"MK",text:"Macedonia, the Former Yugoslav Republic of",phone:"389"},{value:"MG",text:"Madagascar",phone:"261"},{value:"MW",text:"Malawi",phone:"265"},{value:"MY",text:"Malaysia",phone:"60"},{value:"MV",text:"Maldives",phone:"960"},{value:"ML",text:"Mali",phone:"223"},{value:"MT",text:"Malta",phone:"356"},{value:"MH",text:"Marshall Islands",phone:"692"},{value:"MQ",text:"Martinique",phone:"596"},{value:"MR",text:"Mauritania",phone:"222"},{value:"MU",text:"Mauritius",phone:"230"},{value:"YT",text:"Mayotte",phone:"262"},{value:"MX",text:"Mexico",phone:"52"},{value:"FM",text:"Micronesia, Federated States of",phone:"691"},{value:"MD",text:"Moldova, Republic of",phone:"373"},{value:"MC",text:"Monaco",phone:"377"},{value:"MN",text:"Mongolia",phone:"976"},{value:"ME",text:"Montenegro",phone:"382"},{value:"MS",text:"Montserrat",phone:"1-664"},{value:"MA",text:"Morocco",phone:"212"},{value:"MZ",text:"Mozambique",phone:"258"},{value:"MM",text:"Myanmar",phone:"95"},{value:"NA",text:"Namibia",phone:"264"},{value:"NR",text:"Nauru",phone:"674"},{value:"NP",text:"Nepal",phone:"977"},{value:"NL",text:"Netherlands",phone:"31"},{value:"NC",text:"New Caledonia",phone:"687"},{value:"NZ",text:"New Zealand",phone:"64"},{value:"NI",text:"Nicaragua",phone:"505"},{value:"NE",text:"Niger",phone:"227"},{value:"NG",text:"Nigeria",phone:"234"},{value:"NU",text:"Niue",phone:"683"},{value:"NF",text:"Norfolk Island",phone:"672"},{value:"MP",text:"Northern Mariana Islands",phone:"1-670"},{value:"NO",text:"Norway",phone:"47"},{value:"OM",text:"Oman",phone:"968"},{value:"PK",text:"Pakistan",phone:"92"},{value:"PW",text:"Palau",phone:"680"},{value:"PS",text:"Palestine, State of",phone:"970"},{value:"PA",text:"Panama",phone:"507"},{value:"PG",text:"Papua New Guinea",phone:"675"},{value:"PY",text:"Paraguay",phone:"595"},{value:"PE",text:"Peru",phone:"51"},{value:"PH",text:"Philippines",phone:"63"},{value:"PN",text:"Pitcairn",phone:"870"},{value:"PL",text:"Poland",phone:"48"},{value:"PT",text:"Portugal",phone:"351"},{value:"PR",text:"Puerto Rico",phone:"1"},{value:"QA",text:"Qatar",phone:"974"},{value:"RE",text:"Reunion",phone:"262"},{value:"RO",text:"Romania",phone:"40"},{value:"RU",text:"Russian Federation",phone:"7"},{value:"RW",text:"Rwanda",phone:"250"},{value:"BL",text:"Saint Barthelemy",phone:"590"},{value:"SH",text:"Saint Helena",phone:"290"},{value:"KN",text:"Saint Kitts and Nevis",phone:"1-869"},{value:"LC",text:"Saint Lucia",phone:"1-758"},{value:"MF",text:"Saint Martin (French part)",phone:"590"},{value:"PM",text:"Saint Pierre and Miquelon",phone:"508"},{value:"VC",text:"Saint Vincent and the Grenadines",phone:"1-784"},{value:"WS",text:"Samoa",phone:"685"},{value:"SM",text:"San Marino",phone:"378"},{value:"ST",text:"Sao Tome and Principe",phone:"239"},{value:"SA",text:"Saudi Arabia",phone:"966"},{value:"SN",text:"Senegal",phone:"221"},{value:"RS",text:"Serbia",phone:"381"},{value:"SC",text:"Seychelles",phone:"248"},{value:"SL",text:"Sierra Leone",phone:"232"},{value:"SG",text:"Singapore",phone:"65"},{value:"SX",text:"Sint Maarten (Dutch part)",phone:"1-721"},{value:"SK",text:"Slovakia",phone:"421"},{value:"SI",text:"Slovenia",phone:"386"},{value:"SB",text:"Solomon Islands",phone:"677"},{value:"SO",text:"Somalia",phone:"252"},{value:"ZA",text:"South Africa",phone:"27"},{value:"GS",text:"South Georgia and the South Sandwich Islands",phone:"500"},{value:"SS",text:"South Sudan",phone:"211"},{value:"ES",text:"Spain",phone:"34"},{value:"LK",text:"Sri Lanka",phone:"94"},{value:"SD",text:"Sudan",phone:"249"},{value:"SR",text:"Suriname",phone:"597"},{value:"SJ",text:"Svalbard and Jan Mayen",phone:"47"},{value:"SZ",text:"Swaziland",phone:"268"},{value:"SE",text:"Sweden",phone:"46"},{value:"CH",text:"Switzerland",phone:"41"},{value:"SY",text:"Syrian Arab Republic",phone:"963"},{value:"TW",text:"Taiwan, Province of China",phone:"886"},{value:"TJ",text:"Tajikistan",phone:"992"},{value:"TH",text:"Thailand",phone:"66"},{value:"TL",text:"Timor-Leste",phone:"670"},{value:"TG",text:"Togo",phone:"228"},{value:"TK",text:"Tokelau",phone:"690"},{value:"TO",text:"Tonga",phone:"676"},{value:"TT",text:"Trinidad and Tobago",phone:"1-868"},{value:"TN",text:"Tunisia",phone:"216"},{value:"TR",text:"Turkey",phone:"90"},{value:"TM",text:"Turkmenistan",phone:"993"},{value:"TC",text:"Turks and Caicos Islands",phone:"1-649"},{value:"TV",text:"Tuvalu",phone:"688"},{value:"VI",text:"US Virgin Islands",phone:"1-340"},{value:"UG",text:"Uganda",phone:"256"},{value:"UA",text:"Ukraine",phone:"380"},{value:"AE",text:"United Arab Emirates",phone:"971"},{value:"GB",text:"United Kingdom",phone:"44"},{value:"TZ",text:"United Republic of Tanzania",phone:"255"},{value:"US",text:"United States",phone:"1"},{value:"UY",text:"Uruguay",phone:"598"},{value:"UZ",text:"Uzbekistan",phone:"998"},{value:"VU",text:"Vanuatu",phone:"678"},{value:"VE",text:"Venezuela",phone:"58"},{value:"VN",text:"Vietnam",phone:"84"},{value:"WF",text:"Wallis and Futuna",phone:"681"},{value:"EH",text:"Western Sahara",phone:"212"},{value:"YE",text:"Yemen",phone:"967"},{value:"ZM",text:"Zambia",phone:"260"},{value:"ZW",text:"Zimbabwe",phone:"263"}],zF=[{control:Ta,query:e=>"input"===e.control,matchCount:1},{control:({...e})=>{const{id:t,control:r,onChangeValue:o,objectPathId:i}=e,{value:a="","custom-attributes":s,error:l,hasEdited:c,...u}=r,{options:d}=s,p=l?"error":"",h=d.map((e=>({label:e.text||e.value,value:e.value}))),f=h.find((e=>e.value===a))||{label:a,value:a},m="number"===u.type||"date"===u.type,g=i||t,b=s?.defaultValue,{textColor:y}=ti({onChangeValue:o,query:b,objectPathId:g,value:a,hasEdited:c}),v=e=>{const t=e.target;"number"===t.type&&t.blur()};return n().createElement(SA,{className:`${Ok["form-control"]}`,freeSolo:!0,id:t,value:f,inputValue:a,options:h,readOnly:s?.readOnly,size:"small",onInputChange:(e,t)=>(e=>{o({value:e,hasEdited:"edited"})})(t),getOptionLabel:e=>e.value||"",renderOption:(e,t)=>n().createElement(Mv,{component:"li",...e},t.label),renderInput:e=>n().createElement(bk,{...e,className:Ok[p],variant:"outlined",...Vr()(u,["displayName","control","error","defaultValue"]),...Vr()(s,["defaultValue"]),inputProps:{...e.inputProps},onWheel:v,sx:{"& input":{color:y,"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button":{"-webkit-appearance":"none",margin:0}},"& .MuiAutocomplete-endAdornment":{right:m?"35px !important":"9px"}}})})},query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.options,matchCount:2},{control:({onChangeValue:e,...t})=>{const{control:o,id:i,objectPathId:a}=t,{value:s="","custom-attributes":l,error:c,hasEdited:u}=o,d=a||i,p=c?"error":"",h=l?.defaultValue,{textColor:f}=ti({onChangeValue:e,query:h,objectPathId:a,value:s,hasEdited:u}),m=l?.genAiPrompts,{toggleRerendered:g}=(0,r.useContext)(O.L8),b=o.type,y=l?.editor,v=l?.subType,w=l?.readOnly;(0,r.useEffect)((()=>{const t=(0,DF.K)(s,v,y,"initial");e({value:t||""})}),[g]);const A=(()=>{switch(y){case"richtext":return NF;case"markdown":return qF;default:return"html"===b?Ez:"json"===b?jz:FS}})();return n().createElement("div",{className:`${aS.textarea} textarea-control`,"data-testid":`textarea-${d}`},n().createElement("div",{className:aS.textareaWithBorder},n().createElement(US,{aiActions:m,inputControl:n().createElement(A,{control:o,errorClass:p,textColor:f,value:s,onChangeValue:e,onChange:e,id:d,readOnly:w}),AiResponseControl:A,onAcceptAiResponse:e,objectPathId:d})))},query:e=>"textarea"===e.control,matchCount:1},{control:Qk,query:e=>"select"===e.control&&!e.multiple,matchCount:2},{control:({onChangeValue:e,controlProps:t,id:o,control:i})=>{const[a,s]=(0,r.useState)([]),[l,c]=(0,r.useState)([]),[u,d]=(0,r.useState)(""),{options:p,error:h,"custom-attributes":f}=i,m=h?"error":"";(0,r.useEffect)((()=>{const t=p.map((e=>({label:e.text,value:e.value}))),r=p.filter((e=>e.selected)).map((e=>({label:e.text,value:e.value})));s(t),g(r);const n=(e=>e.map((e=>e.selected?e.value:null)).filter((e=>!!e)))(p);e({value:n})}),[]);const g=t=>{(t=>{const{optionValues:r,updatedOptions:n}=((e,t)=>{if(!e||!t)return{optionValues:[],updatedOptions:[]};const r=e.map((e=>({...e,selected:t.some((t=>t.value===e.value))}))),n=r.filter((e=>e.selected)).map((e=>e.value));return{optionValues:1===n?.length?n[0]:n,updatedOptions:r}})(p,t);e({options:n,value:r},((e,t)=>Array.isArray(t)?t:void 0))})(t),c(t)};return n().createElement(SA,{multiple:!0,className:Kk["multi-select-container"],id:o,readOnly:f?.readOnly,"data-testid":"multiselect__container",size:"small",sx:t?.selectProps?.sx,value:l,onChange:(e,t)=>g(t),isOptionEqualToValue:(e,t)=>e.value===t.value,inputValue:u,onInputChange:(e,t)=>d(t),options:a,getOptionLabel:e=>e.label,ListboxProps:{sx:{"& .MuiAutocomplete-option":{minHeight:"40px",border:"1px solid red"},...t?.selectProps?.listBox?.sx}},renderInput:e=>n().createElement(bk,{...e,className:Kk[m],variant:"outlined",sx:{"& .MuiInputBase-root":{minHeight:"40px","& .MuiChip-root":{maxWidth:"calc(100% - 50px)"}},...t?.selectProps?.textField?.sx}})})},query:e=>"select"===e.control&&e.multiple,matchCount:2},{control:({onChangeValue:e,...t})=>{const{control:o,id:i,objectPathId:a}=t,{selected:s=!1}=o,l=o.value||"on",c=a||i;(0,r.useEffect)((()=>{e({value:o.selected?l:""})}),[]);const u=Object.assign(Vr()(t,["objectPathId","checked","control","displayName","error"]),{name:c,value:l,type:o.control,role:o.control});return n().createElement(Wr,{className:`${Gr["form-control"]} ${en["checkbox-container"]}`,id:c,color:"default",checked:s,readOnly:o["custom-attributes"]?.readOnly,onClick:()=>{e({selected:!o.selected,value:o.selected?"":l})},inputProps:u,sx:{marginLeft:"-11px",color:"rgba(0,0,0,0.54)","&:checked":{color:"rgba(0,0,0,0.54)"}}})},query:e=>"checkbox"===e.control,matchCount:1},{control:({onChangeValue:e,controlProps:t,...o})=>{const{control:i,id:a,objectPathId:s,...l}=o,{value:c="","custom-attributes":u,error:d,...p}=i,h=d?"error":"",[f,m]=(0,r.useState)(!1),g=s||a,b=()=>m((e=>!e));return n().createElement("div",{className:nS["password-container"]},n().createElement("input",{role:"textbox",className:`${Gr["form-control"]} ${nS["password-input"]} ${nS[h]}`,id:g,"data-testid":"password-input__input",name:g,value:c,onChange:t=>{e({value:t.target.value})},...u,...Vr()(p,["displayName","control","error"]),...Vr()(l),type:f?"text":"password",style:t?.inputProps?.style}),n().createElement("button",{className:nS["toggle-icon"],type:"button"},f?n().createElement(eS.Z,{"data-testid":"password-input__visibility-off-icon",onClick:b}):n().createElement(Jk.Z,{"data-testid":"password-input__visibility-icon",onClick:b})))},query:e=>"input"===e.control&&"password"===e.type,matchCount:2},{control:Xk,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.["mrn-ref"]&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:Xk,query:e=>"input"===e.control&&!!e?.["custom-attributes"]?.mrnSources&&!e?.["custom-attributes"]?.mrnPreview,matchCount:3},{control:({...e})=>{const{control:t,onChangeValue:o}=e,{"custom-attributes":i,error:a,value:s}=t,{fileUploaderConfig:l}=(0,r.useContext)(O.L8);if(!l)throw new Error("fileUploaderConfig Prop is not defined");const{info:c,endpoints:u,language:d,previewUrl:p,authorizationHeader:h}=l,f={value:s,info:c,error:a?.message,tags:i?.tags,type:i?.media,readOnly:i?.readonly,mode:"stateful",endpoints:u,language:d,onUploadSuccess:e=>o({value:e,error:""}),previewUrl:p,authorizationHeader:h};return n().createElement("div",{"data-testid":"fileuploader__widget"},n().createElement(Ev,{...f}))},query:e=>"input"===e.control&&"url"===e.type&&!!e?.["custom-attributes"]?.media,matchCount:3},{control:({...e})=>{const{id:t,control:o,objectPathId:i,groupIsRequired:a,isInGroup:s,controlProps:l}=e,{"custom-attributes":c,displayName:u,controls:d,required:p}=o,h=Object.entries(d)?.length??0,f=Number(c?.defaultCollapseThreshold),m=0===h||f<=h,[g,b]=(0,r.useState)(!m),y=i||t,v=s?p||a:p||Fv({controls:d}),O=l?.groupProps?.style??{},w=l?.groupProps?.label?.style??{},A=g?{}:{display:"none",visibility:"hidden"};return n().createElement("div",{className:Vv["form-group-container"],id:t,"data-testid":t,style:O},n().createElement("div",{className:Vv["group-header"]},n().createElement("h3",{className:`${Vv["control-label-group"]} ${Sr["control-label-group"]}`,style:w},u),n().createElement(Bv,{isOpen:g,onClick:()=>b((e=>!e))})),n().createElement("div",{role:"group",style:A},d&&Object.entries(d).map((([e,r])=>{const o=`${y}.controls.${e}`;return n().createElement(n().Fragment,{key:o},n().createElement(XF,{key:t,formControl:r,id:t,objectPathId:o,groupIsRequired:v,isInGroup:!0,controlProps:l}))}))))},query:e=>"group"===e.control,matchCount:1},{control:({controlProps:e,...t})=>{const{id:o,control:i,objectPathId:a}=t,{displayName:s,controls:l}=i,[c,u]=(0,r.useState)(null),d=Boolean(c),p=a||o,{from:h,to:f}=l,{updateControl:m}=(0,r.useContext)(O.L8),g=e=>e.toLocaleString("default",{year:"numeric"})+"-"+e.toLocaleString("default",{month:"2-digit"})+"-"+e.toLocaleString("default",{day:"2-digit"}),b={id:o,objectPathId:`${p}.controls.from`,control:h,hasClearButton:!0},y=(e,t)=>{m(b.objectPathId||o,Ar()({},b.control,e,t))},v={id:o,objectPathId:`${p}.controls.to`,control:f,hasClearButton:!0},w=b.control?.required||v.control?.required,A=(e,t)=>{m(v.objectPathId||o,Ar()({},v.control,e,t))},x=e=>{e.preventDefault(),u(e.currentTarget)},k={handleDateChange:(e,t)=>{y({value:g(e.startDate)}),A({value:g(e.endDate)}),!t&&u(null)},from:b.control.value,to:v.control.value},S=e?.controlWrapperProps?.style??{},C=e?.controlWrapperProps?.label?.style??{},_=e?.controlWrapperProps?.container?.style??{};return n().createElement(ja,{"data-testid":"dateRangeGroup__Container",style:S},n().createElement(Ra,{"data-testid":"dateRangeGroup__displayName",style:C},s,w&&" *"),n().createElement(Za,{style:_},n().createElement(Ta,{controlProps:e,"data-testid":"dateRangeGroup__inputFrom",onClearCallback:()=>{y({value:""})},onClick:x,onChangeValue:y,...b}),n().createElement(Ta,{controlProps:e,"data-testid":"dateRangeGroup__inputTo",onClearCallback:()=>{A({value:""})},onClick:x,onChangeValue:A,...v}),n().createElement(Ko,{anchorEl:c,open:d,onClose:()=>u(null),anchorOrigin:{vertical:"bottom",horizontal:"left"},"data-testid":"dateRangeGroup__calendarModal"},n().createElement(Ba,{...k}))))},query:e=>"group"===e.control&&"dateRange"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:t,control:r,objectPathId:o,groupIsRequired:i,isInGroup:a,controlProps:s}=e,{displayName:l,controls:c,required:u}=r,d="string"==typeof c.country?.value&&c.country?.value.toLowerCase(),p=`${Vv["form-group-container"]} ${BF["address-group-container"]}`;let h=`${BF.address} ${Sr.address}`;h=d&&BF[d]?`${h} ${BF[d]}`:`${h} ${BF["address-default"]}`;const f=o||t,m=a?u||i:u||Fv({controls:c}),g=(e,r)=>{const o=`${f}.controls.${e}`;return r.placeholder=r.placeholder||r.displayName,"country"===e&&r&&(r.control="select",r.options=QF),n().createElement(n().Fragment,{key:o},n().createElement(XF,{key:t,formControl:r,hideLabel:!0,id:t,objectPathId:o,groupIsRequired:m,isInGroup:!0,controlProps:s}))},b=s?.addressProps?.style??{},y=s?.addressProps?.label?.style??{},v=s?.addressProps?.container?.style??{};return n().createElement("div",{className:p,id:t,"data-testid":t,style:b},n().createElement("h3",{className:`${BF["control-label-group"]} ${Sr["control-label-group"]}`,style:y},l),n().createElement("div",{className:h,style:v},g("streetName",c.streetName),g("houseNumber",c.houseNumber),g("postalCode",c.postalCode),g("locality",c.locality),g("country",c.country)))},query:e=>"group"===e.control&&"address"===e?.["custom-attributes"]?.type,matchCount:2},{control:({...e})=>{const{id:t,control:o,objectPathId:i,groupIsRequired:a,controlProps:s}=e,{addListItem:l,removeListItem:c,moveListItemUp:u,moveListItemDown:d}=(0,r.useContext)(O.L8),{"custom-attributes":p,displayName:h,items:f,error:m,template:g,required:b}=o,y=f?.length??0,w=Number(p?.defaultCollapseThreshold),A=f.some((e=>(0,D.Z)(e)))||m,x=0===y||w<=y,[k,S]=(0,r.useState)(!x);(0,r.useEffect)((()=>{A&&S(!0)}),[k,x]);const C=i||t,_=g&&Object.entries(g).length>1,E=b?h+" *":h,P=_?"form-list-multiple-items":"form-list-single-item",q=!_&&g&&Object.values(g)?.[0]?.displayName||E||"",T=s?.listProps?.style??{},j=s?.listProps?.label?.style??{},R=s?.listProps?.container?.style??{},Z=s?.listProps?.addButton?.sx??{},$=k?{}:{display:"none",visibility:"hidden"};return n().createElement("div",{className:Sr["list-container"],"data-testid":"form-list",key:t,style:T},n().createElement("div",{className:Sr["list-header"]},n().createElement("div",{className:Sr["list-header-label-button"]},n().createElement("label",{"data-testid":"list-control-label",className:Sr["list-label"],style:j},E),n().createElement(Mv,{"data-testid":q,className:v()("formbuilder_add-button",Uv["xhtml-form-button"]),role:"alert",onClick:()=>{l(C),S(!0)},sx:Z},n().createElement(J.Z,{sx:{fontSize:20},"data-testid":"form-list__add-icon"})," ",q)),n().createElement(Bv,{itemsCount:y,isOpen:k,onClick:()=>S((e=>!e))})),n().createElement("div",{id:P,"data-testid":"form-list-children",role:"list",className:v()(Sr[P],Sr["list-children-container"]),"data-title":q,style:{...$,...R}},f?.map(((e,t)=>{if(!e)return null;const r=t===f.length-1,o=0===t,l=f.length>1;return n().createElement("div",{className:Sr["form-list"],"data-testid":"form-list-child-element",role:"listitem","data-is-filled":!0,key:`${i}-${t}`},e&&Object.entries(e)?.map((([e,r])=>((e,t,r)=>{const o=`${C}.items.[${r||0}].${e}`;return n().createElement(XF,{key:o,formControl:t,id:e,objectPathId:o,hideLabel:!_,groupIsRequired:a,controlProps:s})})(e,r,t))),n().createElement("button",{type:"button",className:v()(Uv["xhtml-form-button"],Uv["remove-item"],Sr["remove-item"]),"data-testid":"form-list__remove-list-item-button",onClick:()=>c(C,t)},n().createElement(Nv.A,null)),n().createElement("div",{className:Sr["sort-buttons"]},n().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortUp]),onClick:()=>u(C,t),disabled:o||!l},n().createElement(Ft.s,{"data-testid":"form-list__sort-up-button"})),n().createElement("button",{type:"button",className:v()([Sr.sortBtn,Sr.sortDown]),onClick:()=>d(C,t),disabled:r||!l},n().createElement(Ut.R,{"data-testid":"form-list__sort-down-button"}))))}))))},query:e=>"list"===e.control,matchCount:1}],UF=zF,FF=Ca.div`
|
656
656
|
${e=>e.isHidden&&ha`
|
657
657
|
display: none !important;
|
658
658
|
`}
|