classt{lineAt(t){if(t<0||t>this.length)thrownewRangeError(`Invalid position ${t} in document of length ${this.length}`);returnthis.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)thrownewRangeError(`Invalid line number ${t} in ${this.lines}-line document`);returnthis.lineInner(t,!0,1,0)}replace(t,e,i){[t,e]=a(this,t,e);lets=[];returnthis.decompose(0,t,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(e,this.length,s,1),n.from(s,this.length-(e-t)+i.length)}append(t){returnthis.replace(this.length,this.length,t)}slice(t,e=this.length){[t,e]=a(this,t,e);leti=[];returnthis.decompose(t,e,i,0),n.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;lete=this.scanIdentical(t,1),n=this.length-this.scanIdentical(t,-1),i=newr(this),s=newr(t);for(lett=e,r=e;;){if(i.next(t),s.next(t),t=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(r+=i.value.length,i.done||r>=n)return!0}}iter(t=1){returnnewr(this,t)}iterRange(t,e=this.length){returnnewh(this,t,e)}iterLines(t,e){letn;if(null==t)n=this.iter();else{null==e&&(e=this.lines+1);leti=this.line(t).from;n=this.iterRange(i,Math.max(i,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}returnnewo(n)}toString(){returnthis.sliceString(0)}toJSON(){lett=[];returnthis.flatten(t),t}constructor(){}staticof(i){if(0==i.length)thrownewRangeError("A document must have at least one line");return1!=i.length||i[0]?i.length<=32?newe(i):n.from(e.split(i,[])):t.empty}}classeextendst{constructor(t,e=function(t){lete=-1;for(letnoft)e+=n.length+1;returne}(t)){super(),this.text=t,this.length=e}getlines(){returnthis.text.length}getchildren(){returnnull}lineInner(t,e,n,i){for(lets=0;;s++){letr=this.text[s],h=i+r.length;if((e?n:h)>=t)returnnewl(i,h,n,r);i=h+1,n++}}decompose(t,n,r,h){leto=t<=0&&n>=this.length?this:newe(s(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(1&h){lett=r.pop(),n=i(o.text,t.text.slice(),0,o.length);if(n.length<=32)r.push(newe(n,t.length+o.length));else{lett=n.length>>1;r.push(newe(n.slice(0,t)),newe(n.slice(t)))}}elser.push(o)}replace(t,r,h){if(!(hinstanceofe))returnsuper.replace(t,r,h);[t,r]=a(this,t,r);leto=i(this.text,i(h.text,s(this.text,0,t)),r),l=this.length+h.length-(r-t);returno.length<=32?newe(o,l):n.from(e.split(o,[]),l)}sliceString(t,e=this.length,n="\n"){[t,e]=a(this,t,e);leti="";for(lets=0,r=0;s<=e&&r<this.text.length;r++){leth=this.text[r],o=s+h.length;s>t&&r&&(i+=n),t<o&&e>s&&(i+=h.slice(Math.max(0,t-s),e-s)),s=o+1}returni}flatten(t){for(leteofthis.text)t.push(e)}scanIdentical(){return0}staticsplit(t,n){leti=[],s=-1;for(letroft)i.push(r),s+=r.length+1,32==i.length&&(n.push(newe(i,s)),i=[],s=-1);returns>-1&&n.push(newe(i,s)),n}}classnextendst{constructor(t,e){super(),this.children=t,this.length=e,this.lines=0;for(leteoft)this.lines+=e.lines}lineInner(t,e,n,i){for(lets=0;;s++){letr=this.children[s],h=i+r.length,o=n+r.lines-1;if((e?o:h)>=t)returnr.lineInner(t,e,n,i);i=h+1,n=o+1}}decompose(t,e,n,i){for(lets=0,r=0;r<=e&&s<this.children.length;s++){leth=this.children[s],o=r+h.length;if(t<=o&&e>=r){lets=i&((r<=t?1:0)|(o>=e?2:0));r>=t&&o<=e&&!s?n.push(h):h.decompose(t-r,e-r,n,s)}r=o+1}}replace(t,e,i){if([t,e]=a(this,t,e),i.lines<this.lines)for(lets=0,r=0;s<this.children.length;s++){leth=this.children[s],o=r+h.length;if(t>=r&&e<=o){letl=h.replace(t-r,e-r,i),a=this.lines-h.lines+l.lines;if(l.lines<a>>4&&l.lines>a>>6){letr=this.children.slice();returnr[s]=l,newn(r,this.length-(e-t)+i.length)}returnsuper.replace(r,o,l)}r=o+1}returnsuper.replace(t,e,i)}sliceString(t,e=this.length,n="\n"){[t,e]=a(this,t,e);leti="";for(lets=0,r=0;s<this.children.length&&r<=e;s++){leth=this.children[s],o=r+h.length;r>t&&s&&(i+=n),t<o&&e>r&&(i+=h.sliceString(t-r,e-r,n)),r=o+1}returni}flatten(t){for(leteofthis.children)e.flatten(t)}scanIdentical(t,e){if(!(tinstanceofn))return0;leti=0,[s,r,h,o]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;s+=e,r+=e){if(s==h||r==o)returni;letn=this.children[s],l=t.children[r];if(n!=l)returni+n.scanIdentical(l,e);i+=n.length+1}}staticfrom(t,i=t.reduce(((t,e)=>t+e.length+1),-1)){lets=0;for(leteoft)s+=e.lines;if(s<32){letn=[];for(leteoft)e.flatten(n);returnnewe(n,i)}letr=Math.max(32,s>>5),h=r<<1,o=r>>1,l=[],a=0,c=-1,f=[];functionu(t){leti;if(t.lines>h&&tinstanceofn)for(leteoft.children)u(e);elset.lines>o&&(a>o||!a)?(g(),l.push(t)):tinstanceofe&&a&&(i=f[f.length-1])instanceofe&&t.lines+i.lines<=32?(a+=t.lines,c+=t.length+1,f[f.length-1]=newe(i.text.concat(t.text),i.length+1+t.length)):(a+t.lines>r&&g(),a+=t.lines,c+=t.length+1,f.push(t))}functiong(){0!=a&&(l.push(1==f.length?f[0]:n.from(f,c)),c=-1,a=f.length=0)}for(leteoft)u(e);returng(),1==l.length?l[0]:newn(l,i)}}functioni(t,e,n=0,i=1e9){for(lets=0,r=0,h=!0;r<t.length&&s<=i;r++){leto=t[r],l=s+o.length;l>=n&&(l>i&&(o=o.slice(0,i-s)),s<n&&(o=o.slice(n-s)),h?(e[e.length-1]+=o,h=!1):e.push(o)),s=l+1}returne}functions(t,e,n){returni(t,[""],e,n)}t.empty=newe([""],0);classr{constructor(t,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[n>0?1:(tinstanceofe?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){leti=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],h=r>>1,o=sinstanceofe?s.text.length:s.children.length;if(h==(n>0?o:0)){if(0==i)returnthis.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}elseif((1&r)==(n>0?0:1)){if(this.offsets[i]+=n,0==t)returnthis.lineBreak=!0,this.value="\n",this;t--}elseif(sinstanceofe){lete=s.text[h+(n<0?-1:0)];if(this.offsets[i]+=n,e.length>Math.max(0,t))returnthis.value=0==t?e:n>0?e.slice(t):e.slice(0,e.length-t),this;t-=e.length}else{letr=s.children[h+(n<0?-1:0)];t>r.length?(t-=r.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(r),this.offsets.push(n>0?1:(rinstanceofe?r.text.length:r.children.length)<<1))}}}next(t=0){returnt<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}classh{constructor(t,e,n){this.value="",this.done=!1,this.cursor=newr(t,e>n?-1:1),this.pos=e>n?t.length:0,this.from=Math.min(e,n),this.to=Math.max(e,n)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)returnthis.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);letn=e<0?this.pos-this.from:this.to-this.pos;t>n&&(t=n),n-=t;let{value:i}=this.cursor.next(t);returnthis.pos+=(i.length+t)*e,this.value=i.length<=n?i:e<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this}next(t=0){returnt<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}getlineBreak(){returnthis.cursor.lineBreak&&""!=this.value}}classo{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:n,value:i}=this.inner.next(t);returne&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}getlineBreak(){return!1}}"undefined"!=typeofSymbol&&(t.prototype[Symbol.iterator]=function(){returnthis.iter()},r.prototype[Symbol.iterator]=h.prototype[Symbol.iterator]=o.prototype[Symbol.iterator]=function(){returnthis});classl{constructor(t,e,n,i){this.from=t,this.to=e,this.number=n,this.text=i}getlength(){returnthis.to-this.from}}functiona(t,e,n){return[e=Math.max(0,Math.min(t.length,e)),Math.max(e,Math.min(t.length,n))]}letc="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((t=>t?parseInt(t,36):1));for(lett=1;t<c.length;t++)c[t]+=c[t-1];functionf(t){for(lete=1;e<c.length;e+=2)if(c[e]>t)returnc[e-1]<=t;return!1}functionu(t){returnt>=127462&&t<=127487}constg=8205;functiond(t,e,n=!0,i=!0){return(n?p:m)(t,e,i)}functionp(t,e,n){if(e==t.length)returne;e&&v(t.charCodeAt(e))&&x(t.charCodeAt(e-1))&&e--;leti=w(t,e);for(e+=y(i);e<t.length;){lets=w(t,e);if(i==g||s==g||n&&f(s))e+=y(s),i=s;else{if(!u(s))break;{letn=0,i=e-2;for(;i>=0&&u(w(t,i));)n++,i-=2;if(n%2==0)break;e+=2}}}returne}functionm(t,e,n){for(;e>0;){leti=p(t,e-2,n);if(i<e)returni;e--}return0}functionv(t){returnt>=56320&&t<57344}functionx(t){returnt>=55296&&t<56320}functionw(t,e){letn=t.charCodeAt(e);if(!x(n)||e+1==t.length)returnn;leti=t.charCodeAt(e+1);returnv(i)?i-56320+(n-55296<<10)+65536:n}functionk(t){returnt<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}functiony(t){returnt<65536?1:2}constS=/\r\n?|\n/;varI=function(t){returnt[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(I||(I={}));classb{constructor(t){this.sections=t}getlength(){lett=0;for(lete=0;e<this.sections.length;e+=2)t+=this.sections[e];returnt}getnewLength(){lett=0;for(lete=0;e<this.sections.length;e+=2){letn=this.sections[e+1];t+=n<0?this.sections[e]:n}returnt}getempty(){return0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(t){for(lete=0,n=0,i=0;e<this.sections.length;){lets=this.sections[e++],r=this.sections[e++];r<0?(t(n,i,s),i+=s):i+=r,n+=s}}iterChangedRanges(t,e=!1){A(this,t,e)}getinvertedDesc(){lett=[];for(lete=0;e<this.sections.length;){letn=this.sections[e++],i=this.sections[e++];i<0?t.push(n,i):t.push(i,n)}returnnewb(t)}composeDesc(t){returnthis.empty?t:t.empty?this:R(this,t)}mapDesc(t,e=!1){returnt.empty?this:O(this,t,e)}mapPos(t,e=-1,n=I.Simple){leti=0,s=0;for(letr=0;r<this.sections.length;){leth=this.sections[r++],o=this.sections[r++],l=i+h;if(o<0){if(l>t)returns+(t-i);s+=h}else{if(n!=I.Simple&&l>=t&&(n==I.TrackDel&&i<t&&l>t||n==I.TrackBefore&&i<t||n==I.TrackAfter&&l>t))returnnull;if(l>t||l==t&&e<0&&!h)returnt==i||e<0?s:s+o;s+=o}i=l}if(t>i)thrownewRangeError(`Position ${t} is out of range for changeset of length ${i}`);returns}touchesRange(t,e=t){for(letn=0,i=0;n<this.sections.length&&i<=e;){lets=i+this.sections[n++];if(this.sections[n++]>=0&&i<=e&&s>=t)return!(i<t&&s>e)||"cover";i=s}return!1}toString(){lett="";for(lete=0;e<this.sections.length;){letn=this.sections[e++],i=this.sections[e++];t+=(t?"":"")+n+(i>=0?":"+i:"")}returnt}toJSON(){returnthis.sections}staticfromJSON(t){if(!Array.isArray(t)||t.length%2||t.some((t=>"number"!=typeoft)))thrownewRangeError("Invalid JSON representation of ChangeDesc");returnnewb(t)}staticcreate(t){returnnewb(t)}}classPextendsb{constructor(t,e){super(t),this.inserted=e}apply(t){if(this.length!=t.length)thrownewRangeError("Applying change set to a document with the wrong length");returnA(this,((e,n,i,s,r)=>t=t.replace(i,i+(n-e),r)),!1),t}mapDesc(t,e=!1){returnO(this,t,e,!0)}invert(e){letn=this.sections.slice(),i=[];for(lets=0,r=0;s<n.length;s+=2){leth=n[s],o=n[s+1];if(o>=0){n[s]=o,n[s+1]=h;letl=s>>1;for(;i.length<l;)i.push(t.empty);i.push(h?e.slice(r,r+h):t.empty)}r+=h}returnnewP(n,i)}compose(t){returnthis.empty?t:t.empty?this:R(this,t,!0)}map(t,e=!1){returnt.empty?this:O(this,t,e,!0)}iterChanges(t,e=!1){A(this,t,e)}getdesc(){returnb.create(this.sections)}filter(t){lete=[],n=[],i=[],s=newT(this);t:for(letr=0,h=0;;){leto=r==t.length?1e9:t[r++];for(;h<o||h==o&&0==s.len;){if(s.done)breakt;lett=Math.min(s.len,o-h);E(i,t,-1);letr=-1==s.ins?-1:0==s.off?s.ins:0;E(e,t,r),r>0&&M(n,e,s.text),s.forward(t),h+=t}letl=t[r++];for(;h<l;){if(s.done)breakt;lett=Math.min(s.len,l-h);E(e,t,-1),E(i,t,-1==s.ins?-1:0==s.off?s.ins:0),s.forward(t),h+=t}}return{changes:newP(e,n),filtered:b.create(i)}}toJSON(){lett=[];for(lete=0;e<this.sections.length;e+=2){letn=this.sections[e],i=this.sections[e+1];i<0?t.push(n):0==i?t.push([n]):t.push([n].concat(this.inserted[e>>1].toJSON()))}returnt}staticof(e,n,i){lets=[],r=[],h=0,o=null;functionl(t=!1){if(!t&&!s.length)return;h<n&&E(s,n-h,-1);lete=newP(s,r);o=o?o.compose(e.map(o)):e,s=[],r=[],h=0}returnfunctione(a){if(Array.isArray(a))for(lettofa)e(t);elseif(ainstanceofP){if(a.length!=n)thrownewRangeError(`Mismatched change set length (got ${a.length}, expected ${n})`);l(),o=o?o.compose(a.map(o)):a}else{let{from:e,to:o=e,insert:c}=a;if(e>o||e<0||o>n)thrownewRangeError(`Invalid change range ${e} to ${o} (in doc of length ${n})`);letf=c?"string"==typeofc?t.of(c.split(i||S)):c:t.empty,u=f.length;if(e==o&&0==u)return;e<h&&l(),e>h&&E(s,e-h,-1),E(s,o-e,u),M(r,s,f),h=o}}(e),l(!o),o}staticempty(t){returnnewP(t?[t,-1]:[],[])}staticfromJSON(e){if(!Array.isArray(e))thrownewRangeError("Invalid JSON representation of ChangeSet");letn=[],i=[];for(lets=0;s<e.length;s++){letr=e[s];if("number"==typeofr)n.push(r,-1);else{if(!Array.isArray(r)||"number"!=typeofr[0]||r.some(((t,e)=>e&&"string"!=typeoft)))thrownewRangeError("Invalid JSON representation of ChangeSet");if(1==r.length)n.push(r[0],0);else{for(;i.length<s;)i.push(t.empty);i[s]=t.of(r.slice(1)),n.push(r[0],i[s].length)}}}returnnewP(n,i)}staticcreateSet(t,e){returnnewP(t,e)}}functionE(t,e,n,i=!1){if(0==e&&n<=0)return;lets=t.length-2;s>=0&&n<=0&&n==t[s+1]?t[s]+=e:0==e&&0==t[s]?t[s+1]+=n:i?(t[s]+=e,t[s+1]+=n):t.push(e,n)}functionM(e,n,i){if(0==i.length)return;lets=n.length-2>>1;if(s<e.length)e[e.length-1]=e[e.length-1].append(i);else{for(;e.length<s;)e.push(t.empty);e.push(i)}}functionA(e,n,i){lets=e.inserted;for(letr=0,h=0,o=0;o<e.sections.length;){letl=e.sections[o++],a=e.sections[o++];if(a<0)r+=l,h+=l;else{letc=r,f=h,u=t.empty;for(;c+=l,f+=a,a&&s&&(u=u.append(s[o-2>>1])),!(i||o==e.sections.length||e.sections[o+1]<0);)l=e.sections[o++],a=e.sections[o++];n(r,c,h,f,u),r=c,h=f}}}functionO(t,e,n,i=!1){lets=[],r=i?[]:null,h=newT(t),o=newT(e);for(lett=-1;;)if(-1==h.ins&&-1==o.ins){lett=Math.min(h.len,o.len);E(s,t,-1),h.forward(t),o.forward(t)}elseif(o.ins>=0&&(h.ins<0||t==h.i||0==h.off&&(o.len<h.len||o.len==h.len&&!n))){lete=o.len;for(E(s,o.ins,-1);e;){letn=Math.min(h.len,e);h.ins>=0&&t<h.i&&h.len<=n&&(E(s,0,h.ins),r&&M(r,s,h.text),t=h.i),h.forward(n),e-=n}o.next()}else{if(!(h.ins>=0)){if(h.done&&o.done)returnr?P.createSet(s,r):b.create(s);thrownewError("Mismatched change set lengths")}{lete=0,n=h.len;for(;n;)if(-1==o.ins){lett=Math.min(n,o.len);e+=t,n-=t,o.forward(t)}else{if(!(0==o.ins&&o.len<n))break;n-=o.len,o.next()}E(s,e,t<h.i?h.ins:0),r&&t<h.i&&M(r,s,h.text),t=h.i,h.forward(h.len-n)}}}functionR(t,e,n=!1){leti=[],s=n?[]:null,r=newT(t),h=newT(e);for(lett=!1;;){if(r.done&&h.done)returns?P.createSet(i,s):b.create(i);if(0==r.ins)E(i,r.len,0,t),r.next();elseif(0!=h.len||h.done){if(r.done||h.done)thrownewError("Mismatched change set lengths");{lete=Math.min(r.len2,h.len),n=i.length;if(-1==r.ins){letn=-1==h.ins?-1:h.off?0:h.ins;E(i,e,n,t),s&&n&&M(s,i,h.text)}else-1==h.ins?(E(i,r.off?0:r.len,e,t),s&&M(s,i,r.textBit(e))):(E(i,r.off?0:r.len,h.off?0:h.ins,t),s&&!h.off&&M(s,i,h.text));t=(r.ins>e||h.ins>=0&&h.len>e)&&(t||i.length>n),r.forward2(e),h.forward(e)}}elseE(i,0,h.ins,t),s&&M(s,i,h.text),h.next()}}classT{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}getdone(){return-2==this.ins}getlen2(){returnthis.ins<0?this.len:this.ins}gettext(){let{inserted:e}=this.set,n=this.i-2>>1;returnn>=e.length?t.empty:e[n]}textBit(e){let{inserted:n}=this.set,i=this.i-2>>1;returni>=n.length&&!e?t.empty:n[i].slice(this.off,null==e?void0:this.off+e)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}classC{constructor(t,e,n){this.from=t,this.to=e,this.flags=n}getanchor(){return32&this.flags?this.to:this.from}gethead(){return32&this.flags?this.from:this.to}getempty(){returnthis.from==this.to}getassoc(){return8&this.flags?-1:16&this.flags?1:0}getbidiLevel(){lett=7&this.flags;return7==t?null:t}getgoalColumn(){lett=this.flags>>6;return16777215==t?void0:t}map(t,e=-1){letn,i;returnthis.empty?n=i=t.mapPos(this.from,e):(n=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),n==this.from&&i==this.to?this:newC(n,i,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)returnN.range(t,e);letn=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;returnN.range(this.anchor,n)}eq(t,e=!1){return!(this.anchor!=t.anchor||this.head!=t.head||e&&this.empty&&this.assoc!=t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}staticfromJSON(t){if(!t||"number"!=typeoft.anchor||"number"!=typeoft.head)thrownewRangeError("Invalid JSON representation for SelectionRange");returnN.range(t.anchor,t.head)}staticcreate(t,e,n){returnnewC(t,e,n)}}classN{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){returnt.empty?this:N.create(this.ranges.map((n=>n.map(t,e))),this.mainIndex)}eq(t,e=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(letn=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(t.ranges[n],e))return!1;return!0}getmain(){returnthis.ranges[this.mainIndex]}asSingle(){return1==this.ranges.length?this:newN([this.main],0)}addRange(t,e=!0){returnN.create([t].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(t,e=this.mainIndex){letn=this.ranges.slice();returnn[e]=t,N.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((t=>t.toJSON())),main:this.mainIndex}}staticfromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeoft.main||t.main>=t.ranges.length)thrownewRangeError("Invalid JSON representation for EditorSelection");returnnewN(t.ranges.map((t=>C.fromJSON(t))),t.main)}staticsingle(t,e=t){returnnewN([N.range(t,e)],0)}staticcreate(t,e=0){if(0==t.length)thrownewRangeError("A selection needs at least one range");for(letn=0,i=0;i<t.length;i++){lets=t[i];if(s.empty?s.from<=n:s.from<n)returnN.normalized(t.slice(),e);n=s.to}returnnewN(t,e)}staticcursor(t,e=0,n,i){returnC.create(t,t,(0==e?0:e<0?8:16)|(null==n?7:Math.min(6,n))|(null!=i?i:16777215)<<6)}staticrange(t,e,n,i){lets=(null!=n?n:16777215)<<6|(null==i?7:Math.min(6,i));returne<t?C.create(e,t,48|s):C.create(t,e,(e>t?8:0)|s)}staticnormalized(t,e=0){letn=t[e];t.sort(((t,e)=>t.from-e.from)),e=t.indexOf(n);for(letn=1;n<t.length;n++){leti=t[n],s=t[n-1];if(i.empty?i.from<=s.to:i.from<s.to){letr=s.from,h=Math.max(i.to,s.to);n<=e&&e--,t.splice(--n,2,i.anchor>i.head?N.range(h,r):N.range(r,h))}}returnnewN(t,e)}}functionF(t,e){for(letnoft.ranges)if(n.to>e)thrownewRangeError("Selection points outside of document")}letB=0;classJ{constructor(t,e,n,i,s){this.combine=t,this.compareInput=e,this.compare=n,this.isStatic=i,this.id=B++,this.default=t([]),this.extensions="function"==typeofs?s(this):s}getreader(){returnthis}staticdefine(t={}){returnnewJ(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:D),!!t.static,t.enables)}of(t){returnnewL([],this,0,t)}compute(t,e){if(this.isStatic)thrownewError("Can't compute a static facet");returnnewL(t,this,1,e)}computeN(t,e){if(this.isStatic)thrownewError("Can't compute a static facet");returnnewL(t,this,2,e)}from(t,e){returne||(e=t=>t),this.compute([t],(n=>e(n.field(t))))}}functionD(t,e){returnt==e||t.length==e.length&&t.every(((t,n)=>t===e[n]))}classL{constructor(t,e,n,i){this.dependencies=t,this.facet=e,this.type=n,this.value=i,this.id=B++}dynamicSlot(t){vare;letn=this.value,i=this.facet.compareInput,s=this.id,r=t[s]>>1,h=2==this.type,o=!1,l=!1,a=[];for(letnofthis.dependencies)"doc"==n?o=!0:"selection"==n?l=!0:0==(1&(null!==(e=t[n.id])&&void0!==e?e:1))&&a.push(t[n.id]);return{create:t=>(t.values[r]=n(t),1),update(t,e){if(o&&e.docChanged||l&&(e.docChanged||e.selection)||q(t,a)){lete=n(t);if(h?!j(e,t.values[r],i):!i(e,t.values[r]))returnt.values[r]=e,1}return0},reconfigure:(t,e)=>{leto,l=e.config.address[s];if(null!=l){lets=et(e,l);if(this.dependencies.every((n=>ninstanceofJ?e.facet(n)===t.facet(n):!(ninstanceofV)||e.field(n,!1)==t.field(n,!1)))||(h?j(o=n(t),s,i):i(o=n(t),s)))returnt.values[r]=s,0}elseo=n(t);returnt.values[r]=o,1}}}}functionj(t,e,n){if(t.length!=e.length)return!1;for(leti=0;i<t.length;i++)if(!n(t[i],e[i]))return!1;return!0}functionq(t,e){letn=!1;for(letiofe)1&tt(t,i)&&(n=!0);returnn}function$(t,e,n){leti=n.map((e=>t[e.id])),s=n.map((t=>t.type)),r=i.filter((t=>!(1&t))),h=t[e.id]>>1;functiono(t){letn=[];for(lete=0;e<i.length;e++){letr=et(t,i[e]);if(2==s[e])for(lettofr)n.push(t);elsen.push(r)}returne.combine(n)}return{create(t){for(leteofi)tt(t,e);returnt.values[h]=o(t),1},update(t,n){if(!q(t,r))return0;leti=o(t);returne.compare(i,t.values[h])?0:(t.values[h]=i,1)},reconfigure(t,s){letr=q(t,i),l=s.config.facets[e.id],a=s.facet(e);if(l&&!r&&D(n,l))returnt.values[h]=a,0;letc=o(t);returne.compare(c,a)?(t.values[h]=a,0):(t.values[h]=c,1)}}}constz=J.define({static:!0});classV{constructor(t,e,n,i,s){this.id=t,this.createF=e,this.updateF=n,this.compareF=i,this.spec=s,this.provides=void0}staticdefine(t){lete=newV(B++,t.create,t.update,t.compare||((t,e)=>t===e),t);returnt.provide&&(e.provides=t.provide(e)),e}create(t){lete=t.facet(z).find((t=>t.field==this));return((null==e?void0:e.create)||this.createF)(t)}slot(t){lete=t[this.id]>>1;return{create:t=>(t.values[e]=this.create(t),1),update:(t,n)=>{leti=t.values[e],s=this.updateF(i,n);returnthis.compareF(i,s)?0:(t.values[e]=s,1)},reconfigure:(t,n)=>null!=n.config.address[this.id]?(t.values[e]=n.field(this),0):(t.values[e]=this.create(t),1)}}init(t){return[this,z.of({field:this,create:t})]}getextension(){returnthis}}const_=4,W=3,U=2,G=1;functionH(t){returne=>newQ(e,t)}constK={highest:H(0),high:H(G),default:H(U),low:H(W),lowest:H(_)};classQ{constructor(t,e){this.inner=t,this.prec=e}}classX{of(t){returnnewY(this,t)}reconfigure(t){returnX.reconfigure.of({compartment:this,extension:t})}get(t){returnt.config.compartments.get(this)}}classY{constructor(t,e){this.compartment=t,this.inner=e}}classZ{constructor(t,e,n,i,s,r){for(this.base=t,this.compartments=e,this.dynamicSlots=n,this.address=i,this.staticValues=s,this.facets=r,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(t){lete=this.address[t.id];returnnull==e?t.default:this.staticValues[e>>1]}staticresolve(t,e,n){leti=[],s=Object.create(null),r=newMap;for(letnoffunction(t,e,n){leti=[[],[],[],[],[]],s=newMap;functionr(t,h){leto=s.get(t);if(null!=o){if(o<=h)return;lete=i[o].indexOf(t);e>-1&&i[o].splice(e,1),tinstanceofY&&n.delete(t.compartment)}if(s.set(t,h),Array.isArray(t))for(leteoft)r(e,h);elseif(tinstanceofY){if(n.has(t.compartment))thrownewRangeError("Duplicate use of compartment in extensions");leti=e.get(t.compartment)||t.inner;n.set(t.compartment,i),r(i,h)}elseif(tinstanceofQ)r(t.inner,t.prec);elseif(tinstanceofV)i[h].push(t),t.provides&&r(t.provides,h);elseif(tinstanceofL)i[h].push(t),t.facet.extensions&&r(t.facet.extensions,U);else{lete=t.extension;if(!e)thrownewError(`Unrecognized extension value in extension set (${t}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(e,h)}}returnr(t,U),i.reduce(((t,e)=>t.concat(e)))}(t,e,r))ninstanceofV?i.push(n):(s[n.facet.id]||(s[n.facet.id]=[])).push(n);leth=Object.create(null),o=[],l=[];for(lettofi)h[t.id]=l.length<<1,l.push((e=>t.slot(e)));leta=null==n?void0:n.config.facets;for(lettins){lete=s[t],i=e[0].facet,r=a&&a[t]||[];if(e.every((t=>0==t.type)))if(h[i.id]=o.length<<1|1,D(r,e))o.push(n.facet(i));else{lett=i.combine(e.map((t=>t.value)));o.push(n&&i.compare(t,n.facet(i))?n.facet(i):t)}else{for(lettofe)0==t.type?(h[t.id]=o.length<<1|1,o.push(t.value)):(h[t.id]=l.length<<1,l.push((e=>t.dynamicSlot(e))));h[i.id]=l.length<<1,l.push((t=>$(t,i,e)))}}letc=l.map((t=>t(h)));returnnewZ(t,r,c,h,o,s)}}functiontt(t,e){if(1&e)return2;letn=e>>1,i=t.status[n];if(4==i)thrownewError("Cyclic dependency between fields and/or facets");if(2&i)returni;t.status[n]=4;lets=t.computeSlot(t,t.config.dynamicSlots[n]);returnt.status[n]=2|s}functionet(t,e){return1&e?t.config.staticValues[e>>1]:t.values[e>>1]}constnt=J.define(),it=J.define({combine:t=>t.some((t=>t)),static:!0}),st=J.define({combine:t=>t.length?t[0]:void0,static:!0}),rt=J.define(),ht=J.define(),ot=J.define(),lt=J.define({combine:t=>!!t.length&&t[0]});classat{constructor(t,e){this.type=t,this.value=e}staticdefine(){returnnewct}}classct{of(t){returnnewat(this,t)}}classft{constructor(t){this.map=t}of(t){returnnewut(this,t)}}classut{constructor(t,e){this.type=t,this.value=e}map(t){lete=this.type.map(this.value,t);returnvoid0===e?void0:e==this.value?this:newut(this.type,e)}is(t){returnthis.type==t}staticdefine(t={}){returnnewft(t.map||(t=>t))}staticmapEffects(t,e){if(!t.length)returnt;letn=[];for(letioft){lett=i.map(e);t&&n.push(t)}returnn}}ut.reconfigure=ut.define(),ut.appendConfig=ut.define();classgt{constructor(t,e,n,i,s,r){this.startState=t,this.changes=e,this.selection=n,this.effects=i,this.annotations=s,this.scrollIntoView=r,this._doc=null,this._state=null,n&&F(n,e.newLength),s.some((t=>t.type==gt.time))||(this.annotations=s.concat(gt.time.of(Date.now())))}staticcreate(t,e,n,i,s,r){returnnewgt(t,e,n,i,s,r)}getnewDoc(){returnthis._doc||(this._doc=this.changes.apply(this.startState.doc))}getnewSelection(){returnthis.selection||this.startState.selection.map(this.changes)}getstate(){returnthis._state||this.startState.applyTransaction(this),this._state}annotation(t){for(leteofthis.annotations)if(e.type==t)returne.value}getdocChanged(){return!this.changes.empty}getreconfigured(){returnthis.startState.config!=this.state.config}isUserEvent(t){lete=this.annotation(gt.userEvent);return!(!e||!(e==t||e.length>t.length&&e.slice(0,t.length)==t&&"."==e[t.length]))}}functiondt(t,e){letn=[];for(leti=0,s=0;;){letr,h;if(i<t.length&&(s==e.length||e[s]>=t[i]))r=t[i++],h=t[i++];else{if(!(s<e.length))returnn;r=e[s++],h=e[s++]}!n.length||n[n.length-1]<r?n.push(r,h):n[n.length-1]<h&&(n[n.length-1]=h)}}functionpt(t,e,n){vari;lets,r,h;returnn?(s=e.changes,r=P.empty(e.changes.length),h=t.changes.compose(e.changes)):(s=e.changes.map(t.changes),r=t.changes.mapDesc(e.changes,!0),h=t.changes.compose(s)),{changes:h,selection:e.selection?e.selection.map(r):null===(i=t.selection)||void0===i?void0:i.map(s),effects:ut.mapEffects(t.effects,s).concat(ut.mapEffects(e.effects,r)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}functionmt(t,e,n){leti=e.selection,s=wt(e.annotations);returne.userEvent&&(s=s.concat(gt.userEvent.of(e.userEvent))),{changes:e.changesinstanceofP?e.changes:P.of(e.changes||[],n,t.facet(st)),selection:i&&(iinstanceofN?i:N.single(i.anchor,i.head)),effects:wt(e.effects),annotations:s,scrollIntoView:!!e.scrollIntoView}}functionvt(t,e,n){leti=mt(t,e.length?e[0]:{},t.doc.length);e.length&&!1===e[0].filter&&(n=!1);for(lets=1;s<e.length;s++){!1===e[s].filter&&(n=!1);letr=!!e[s].sequential;i=pt(i,mt(t,e[s],r?i.changes.newLength:t.doc.length),r)}lets=gt.create(t,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);returnfunction(t){lete=t.startState,n=e.facet(ot),i=t;for(lets=n.length-1;s>=0;s--){letr=n[s](t);r&&Object.keys(r).length&&(i=pt(i,mt(e,r,t.changes.newLength),!0))}returni==t?t:gt.create(e,t.changes,t.selection,i.effects,i.annotations,i.scrollIntoView)}(n?function(t){lete=t.startState,n=!0;for(letiofe.facet(rt)){lete=i(t);if(!1===e){n=!1;break}Array.isArray(e)&&(n=!0===n?e:dt(n,e))}if(!0!==n){leti,s;if(!1===n)s=t.changes.invertedDesc,i=P.empty(e.doc.length);else{lete=t.changes.filter(n);i=e.changes,s=e.filtered.mapDesc(e.changes).invertedDesc}t=gt.create(e,i,t.selection&&t.selection.map(s),ut.mapEffects(t.effects,s),t.annotations,t.scrollIntoView)}leti=e.facet(ht);for(letn=i.length-1;n>=0;n--){lets=i[n](t);t=sinstanceofgt?s:Array.isArray(s)&&1==s.length&&s[0]instanceofgt?s[0]:vt(e,wt(s),!1)}returnt}(s):s)}gt.time=at.define(),gt.userEvent=at.define(),gt.addToHistory=at.define(),gt.remote=at.define();constxt=[];functionwt(t){returnnull==t?xt:Array.isArray(t)?t:[t]}varkt=function(t){returnt[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(kt||(kt={}));constyt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;letSt;try{St=newRegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}functionIt(t){returne=>{if(!/\S/.test(e))returnkt.Space;if(function(t){if(St)returnSt.test(t);for(lete=0;e<t.length;e++){letn=t[e];if(/\w/.test(n)||n>""&&(n.toUpperCase()!=n.toLowerCase()||yt.test(n)))return!0}return!1}(e))returnkt.Word;for(letn=0;n<t.length;n++)if(e.indexOf(t[n])>-1)returnkt.Word;returnkt.Other}}classbt{constructor(t,e,n,i,s,r){this.config=t,this.doc=e,this.selection=n,this.values=i,this.status=t.statusTemplate.slice(),this.computeSlot=s,r&&(r._state=this);for(lett=0;t<this.config.dynamicSlots.length;t++)tt(this,t<<1);this.computeSlot=null}field(t,e=!0){letn=this.config.address[t.id];if(null!=n)returntt(this,n),et(this,n);if(e)thrownewRangeError("Field is not present in this state")}update(...t){returnvt(this,t,!0)}applyTransaction(t){lete,n=this.config,{base:i,compartments:s}=n;for(leteoft.effects)e.is(X.reconfigure)?(n&&(s=newMap,n.compartments.forEach(((t,e)=>s.set(e,t))),n=null),s.set(e.value.compartment,e.value.extension)):e.is(ut.reconfigure)?(n=null,i=e.value):e.is(ut.appendConfig)&&(n=null,i=wt(i).concat(e.value));if(n)e=t.startState.values.slice();else{n=Z.resolve(i,s,this),e=newbt(n,this.doc,this.selection,n.dynamicSlots.map((()=>null)),((t,e)=>e.reconfigure(t,this)),null).values}letr=t.startState.facet(it)?t.newSelection:t.newSelection.asSingle();newbt(n,t.newDoc,r,e,((e,n)=>n.update(e,t)),t)}replaceSelection(t){return"string"==typeoft&&(t=this.toText(t)),this.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:t},range:N.cursor(e.from+t.length)})))}changeByRange(t){lete=this.selection,n=t(e.ranges[0]),i=this.changes(n.changes),s=[n.range],r=wt(n.effects);for(letn=1;n<e.ranges.length;n++){leth=t(e.ranges[n]),o=this.changes(h.changes),l=o.map(i);for(lett=0;t<n;t++)s[t]=s[t].map(l);leta=i.mapDesc(o,!0);s.push(h.range.map(a)),i=i.compose(l),r=ut.mapEffects(r,l).concat(ut.mapEffects(wt(h.effects),a))}return{changes:i,selection:N.create(s,e.mainIndex),effects:r}}changes(t=[]){returntinstanceofP?t:P.of(t,this.doc.length,this.facet(bt.lineSeparator))}toText(e){returnt.of(e.split(this.facet(bt.lineSeparator)||S))}sliceDoc(t=0,e=this.doc.length){returnthis.doc.sliceString(t,e,this.lineBreak)}facet(t){lete=this.config.address[t.id];returnnull==e?t.default:(tt(this,e),et(this,e))}toJSON(t){lete={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(letnint){leti=t[n];iinstanceofV&&null!=this.config.address[i.id]&&(e[n]=i.spec.toJSON(this.field(t[n]),this))}returne}staticfromJSON(t,e={},n){if(!t||"string"!=typeoft.doc)thrownewRangeError("Invalid JSON representation for EditorState");leti=[];if(n)for(leteinn)if(Object.prototype.hasOwnProperty.call(t,e)){lets=n[e],r=t[e];i.push(s.init((t=>s.spec.fromJSON(r,t))))}returnbt.create({doc:t.doc,selection:N.fromJSON(t.selection),extensions:e.extensions?i.concat([e.extensions]):i})}staticcreate(e={}){letn=Z.resolve(e.extensions||[],newMap),i=e.docinstanceoft?e.doc:t.of((e.doc||"").split(n.staticFacet(bt.lineSeparator)||S)),s=e.selection?e.selectioninstanceofN?e.selection:N.single(e.selection.anchor,e.selection.head):N.single(0);returnF(s,i.length),n.staticFacet(it)||(s=s.asSingle()),newbt(n,i,s,n.dynamicSlots.map((()=>null)),((t,e)=>e.create(t)),null)}gettabSize(){returnthis.facet(bt.tabSize)}getlineBreak(){returnthis.facet(bt.lineSeparator)||"\n"}getreadOnly(){returnthis.facet(lt)}phrase(t,...e){for(leteofthis.facet(bt.phrases))if(Object.prototype.hasOwnProperty.call(e,t)){t=e[t];break}returne.length&&(t=t.replace(/\$(\$|\d*)/g,((t,n)=>{if("$"==n)return"$";leti=+(n||1);return!i||i>e.length?t:e[i-1]}))),t}languageDataAt(t,e,n=-1){leti=[];for(letsofthis.facet(nt))for(letrofs(this,e,n))Object.prototype.hasOwnProperty.call(r,t)&&i.push(r[t]);returni}charCategorizer(t){returnIt(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:n,length:i}=this.doc.lineAt(t),s=this.charCategorizer(t),r=t-n,h=t-n;for(;r>0;){lett=d(e,r,!1);if(s(e.slice(t,r))!=kt.Word)break;r=t}for(;h<i;){lett=d(e,h);if(s(e.slice(h,t))!=kt.Word)break;h=t}returnr==h?null:N.range(r+n,h+n)}}functionPt(t,e,n={}){leti={};for(leteoft)for(lettofObject.keys(e)){lets=e[t],r=i[t];if(void0===r)i[t]=s;elseif(r===s||void0===s);else{if(!Object.hasOwnProperty.call(n,t))thrownewError("Config merge conflict for field "+t);i[t]=n[t](r,s)}}for(lettine)void0===i[t]&&(i[t]=e[t]);returni}bt.allowMultipleSelections=it,bt.tabSize=J.define({combine:t=>t.length?t[0]:4}),bt.lineSeparator=st,bt.readOnly=lt,bt.phrases=J.define({compare(t,e){letn=Object.keys(t),i=Object.keys(e);returnn.length==i.length&&n.every((n=>t[n]==e[n]))}}),bt.languageData=nt,bt.changeFilter=rt,bt.transactionFilter=ht,bt.transactionExtender=ot,X.reconfigure=ut.define();classEt{eq(t){returnthis==t}range(t,e=t){returnMt.create(t,e,this)}}Et.prototype.startSide=Et.prototype.endSide=0,Et.prototype.point=!1,Et.prototype.mapMode=I.TrackDel;classMt{constructor(t,e,n){this.from=t,this.to=e,this.value=n}staticcreate(t,e,n){returnnewMt(t,e,n)}}functionAt(t,e){returnt.from-e.from||t.value.startSide-e.value.startSide}classOt{constructor(t,e,n,i){this.from=t,this.to=e,this.value=n,this.maxPoint=i}getlength(){returnthis.to[this.to.length-1]}findIndex(t,e,n,i=0){lets=n?this.to:this.from;for(letr=i,h=s.length;;){if(r==h)returnr;leti=r+h>>1,o=s[i]-t||(n?this.value[i].endSide:this.value[i].startSide)-e;if(i==r)returno>=0?r:h;o>=0?h=i:r=i+1}}between(t,e,n,i){for(lets=this.findIndex(e,-1e9,!0),r=this.findIndex(n,1e9,!1,s);s<r;s++)if(!1===i(this.from[s]+t,this.to[s]+t,this.value[s]))return!1}map(t,e){letn=[],i=[],s=[],r=-1,h=-1;for(leto=0;o<this.value.length;o++){letl,a,c=this.value[o],f=this.from[o]+t,u=this.to[o]+t;if(f==u){lett=e.mapPos(f,c.startSide,c.mapMode);if(null==t)continue;if(l=a=t,c.startSide!=c.endSide&&(a=e.mapPos(f,c.endSide),a<l))continue}elseif(l=e.mapPos(f,c.startSide),a=e.mapPos(u,c.endSide),l>a||l==a&&c.startSide>0&&c.endSide<=0)continue;(a-l||c.endSide-c.startSide)<0||(r<0&&(r=l),c.point&&(h=Math.max(h,a-l)),n.push(c),i.push(l-r),s.push(a-r))}return{mapped:n.length?newOt(i,s,n,h):null,pos:r}}}classRt{constructor(t,e,n,i){this.chunkPos=t,this.chunk=e,this.nextLayer=n,this.maxPoint=i}staticcreate(t,e,n,i){returnnewRt(t,e,n,i)}getlength(){lett=this.chunk.length-1;returnt<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}getsize(){if(this.isEmpty)return0;lett=this.nextLayer.size;for(leteofthis.chunk)t+=e.value.length;returnt}chunkEnd(t){returnthis.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:n=!1,filterFrom:i=0,filterTo:s=this.length}=t,r=t.filter;if(0==e.length&&!r)returnthis;if(n&&(e=e.slice().sort(At)),this.isEmpty)returne.length?Rt.of(e):this;leth=newNt(this,null,-1).goto(0),o=0,l=[],a=newTt;for(;h.value||o<e.length;)if(o<e.length&&(h.from-e[o].from||h.startSide-e[o].value.startSide)>=0){lett=e[o++];a.addInner(t.from,t.to,t.value)||l.push(t)}else1==h.rangeIndex&&h.chunkIndex<this.chunk.length&&(o==e.length||this.chunkEnd(h.chunkIndex)<e[o].from)&&(!r||i>this.chunkEnd(h.chunkIndex)||s<this.chunkPos[h.chunkIndex])&&a.addChunk(this.chunkPos[h.chunkIndex],this.chunk[h.chunkIndex])?h.nextChunk():((!r||i>h.to||s<h.from||r(h.from,h.to,h.value))&&(a.addInner(h.from,h.to,h.value)||l.push(Mt.create(h.from,h.to,h.value))),h.next());returna.finishInner(this.nextLayer.isEmpty&&!l.length?Rt.empty:this.nextLayer.update({add:l,filter:r,filterFrom:i,filterTo:s}))}map(t){if(t.empty||this.isEmpty)returnthis;lete=[],n=[],i=-1;for(lets=0;s<this.chunk.length;s++){letr=this.chunkPos[s],h=this.chunk[s],o=t.touchesRange(r,r+h.length);if(!1===o)i=Math.max(i,h.maxPoint),e.push(h),n.push(t.mapPos(r));elseif(!0===o){let{mapped:s,pos:o}=h.map(r,t);s&&(i=Math.max(i,s.maxPoint),e.push(s),n.push(o))}}lets=this.nextLayer.map(t);return0==e.length?s:newRt(n,e,s||Rt.empty,i)}between(t,e,n){if(!this.isEmpty){for(leti=0;i<this.chunk.length;i++){lets=this.chunkPos[i],r=this.chunk[i];if(e>=s&&t<=s+r.length&&!1===r.between(s,t-s,e-s,n))return}this.nextLayer.between(t,e,n)}}iter(t=0){returnFt.from([this]).goto(t)}getisEmpty(){returnthis.nextLayer==this}staticiter(t,e=0){returnFt.from(t).goto(e)}staticcompare(t,e,n,i,s=-1){letr=t.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=s)),h=e.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=s)),o=Ct(r,h,n),l=newJt(r,o,s),a=newJt(h,o,s);n.iterGaps(((t,e,n)=>Dt(l,t,a,e,n,i))),n.empty&&0==n.length&&Dt(l,0,a,0,0,i)}staticeq(t,e,n=0,i){null==i&&(i=999999999);lets=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0)),r=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0));if(s.length!=r.length)return!1;if(!s.length)return!0;leth=Ct(s,r),o=newJt(s,h,0).goto(n),l=newJt(r,h,0).goto(n);for(;;){if(o.to!=l.to||!Lt(o.active,l.active)||o.point&&(!l.point||!o.point.eq(l.point)))return!1;if(o.to>i)return!0;o.next(),l.next()}}staticspans(t,e,n,i,s=-1){letr=newJt(t,null,s).goto(e),h=e,o=r.openStart;for(;;){lett=Math.min(r.to,n);if(r.point){letn=r.activeForPoint(r.to),s=r.pointFrom<e?n.length+1:r.point.startSide<0?n.length:Math.min(n.length,o);i.point(h,t,r.point,n,s,r.pointRank),o=Math.min(r.openEnd(t),n.length)}elset>h&&(i.span(h,t,r.active,o),o=r.openEnd(t));if(r.to>n)returno+(r.point&&r.to>n?1:0);h=r.to,r.next()}}staticof(t,e=!1){letn=newTt;for(letioftinstanceofMt?[t]:e?function(t){if(t.length>1)for(lete=t[0],n=1;n<t.length;n++){leti=t[n];if(At(e,i)>0)returnt.slice().sort(At);e=i}returnt}(t):t)n.add(i.from,i.to,i.value);returnn.finish()}staticjoin(t){if(!t.length)returnRt.empty;lete=t[t.length-1];for(letn=t.length-2;n>=0;n--)for(leti=t[n];i!=Rt.empty;i=i.nextLayer)e=newRt(i.chunkPos,i.chunk,e,Math.max(i.maxPoint,e.maxPoint));returne}}Rt.empty=newRt([],[],null,-1),Rt.empty.nextLayer=Rt.empty;classTt{finishChunk(t){this.chunks.push(newOt(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,t&&(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(t,e,n){this.addInner(t,e,n)||(this.nextLayer||(this.nextLayer=newTt)).add(t,e,n)}addInner(t,e,n){leti=t-this.lastTo||n.startSide-this.last.endSide;if(i<=0&&(t-this.lastFrom||n.startSide-this.last.startSide)<0)thrownewError("Ranges must be added sorted by `from` position and `startSide`");return!(i<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=n,this.lastFrom=t,this.lastTo=e,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);letn=e.value.length-1;returnthis.last=e.value[n],this.lastFrom=e.from[n]+t,this.lastTo=e.to[n]+t,!0}finish(){returnthis.finishInner(Rt.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)returnt;lete=Rt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);returnthis.from=null,e}}functionCt(t,e,n){leti=newMap;for(leteoft)for(lett=0;t<e.chunk.length;t++)e.chunk[t].maxPoint<=0&&i.set(e.chunk[t],e.chunkPos[t]);lets=newSet;for(lettofe)for(lete=0;e<t.chunk.length;e++){letr=i.get(t.chunk[e]);null==r||(n?n.mapPos(r):r)!=t.chunkPos[e]||(null==n?void0:n.touchesRange(r,r+t.chunk[e].length))||s.add(t.chunk[e])}returns}classNt{constructor(t,e,n,i=0){this.layer=t,this.skip=e,this.minPoint=n,this.rank=i}getstartSide(){returnthis.value?this.value.startSide:0}getendSide(){returnthis.value?this.value.endSide:0}goto(t,e=-1e9){returnthis.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,n){for(;this.chunkIndex<this.layer.chunk.length;){lete=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(e)||this.layer.chunkEnd(this.chunkIndex)<t||e.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){leti=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],e,!0);(!n||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(t,e){(this.to-t||this.endSide-e)<0&&this.gotoInner(t,e,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{lett=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],n=t+e.from[this.rangeIndex];if(this.from=n,this.to=t+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(t){if(t==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}elsethis.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){returnthis.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}}classFt{constructor(t){this.heap=t}staticfrom(t,e=null,n=-1){leti=[];for(lets=0;s<t.length;s++)for(letr=t[s];!r.isEmpty;r=r.nextLayer)r.maxPoint>=n&&i.push(newNt(r,e,n,s));return1==i.length?i[0]:newFt(i)}getstartSide(){returnthis.value?this.value.startSide:0}goto(t,e=-1e9){for(letnofthis.heap)n.goto(t,e);for(lett=this.heap.length>>1;t>=0;t--)Bt(this.heap,t);returnthis.next(),this}forward(t,e){for(letnofthis.heap)n.forward(t,e);for(lett=this.heap.length>>1;t>=0;t--)Bt(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{lett=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Bt(this.heap,0)}}}functionBt(t,e){for(letn=t[e];;){leti=1+(e<<1);if(i>=t.length)break;lets=t[i];if(i+1<t.length&&s.compare(t[i+1])>=0&&(s=t[i+1],i++),n.compare(s)<0)break;t[i]=n,t[e]=s,e=i}}classJt{constructor(t,e,n){this.minPoint=n,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=Ft.from(t,e,n)}goto(t,e=-1e9){returnthis.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){jt(this.active,t),jt(this.activeTo,t),jt(this.activeRank,t),this.minActive=$t(this.active,this.activeTo)}addActive(t){lete=0,{value:n,to:i,rank:s}=this.cursor;for(;e<this.activeRank.length&&(s-this.activeRank[e]||i-this.activeTo[e])>0;)e++;qt(this.active,e,n),qt(this.activeTo,e,i),qt(this.activeRank,e,s),t&&qt(t,e,this.cursor.from),this.minActive=$t(this.active,this.activeTo)}next(){lett=this.to,e=this.point;this.point=null;letn=this.openStart<0?[]:null;for(;;){leti=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>t){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),n&&jt(n,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{lett=this.cursor.value;if(t.point){if(!(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=t,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=t.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}elsethis.addActive(n),this.cursor.next()}}}if(n){this.openStart=0;for(lete=n.length-1;e>=0&&n[e]<t;e--)this.openStart++}}activeForPoint(t){if(!this.active.length)returnthis.active;lete=[];for(letn=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>t||this.activeTo[n]==t&&this.active[n].endSide>=this.point.endSide)&&e.push(this.active[n]);returne.reverse()}openEnd(t){lete=0;for(letn=this.activeTo.length-1;n>=0&&this.activeTo[n]>t;n--)e++;returne}}functionDt(t,e,n,i,s,r){t.goto(e),n.goto(i);leth=i+s,o=i,l=i-e;for(;;){lete=t.to+l-n.to||t.endSide-n.endSide,i=e<0?t.to+l:n.to,s=Math.min(i,h);if(t.point||n.point?t.point&&n.point&&(t.point==n.point||t.point.eq(n.point))&&Lt(t.activeForPoint(t.to),n.activeForPoint(n.to))||r.comparePoint(o,s,t.point,n.point):s>o&&!Lt(t.active,n.active)&&r.compareRange(o,s,t.active,n.active),i>h)break;o=i,e<=0&&t.next(),e>=0&&n.next()}}functionLt(t,e){if(t.length!=e.length)return!1;for(letn=0;n<t.length;n++)if(t[n]!=e[n]&&!t[n].eq(e[n]))return!1;return!0}functionjt(t,e){for(letn=e,i=t.length-1;n<i;n++)t[n]=t[n+1];t.pop()}functionqt(t,e,n){for(letn=t.length-1;n>=e;n--)t[n+1]=t[n];t[e]=n}function$t(t,e){letn=-1,i=1e9;for(lets=0;s<e.length;s++)(e[s]-i||t[s].endSide-t[n].endSide)<0&&(n=s,i=e[s]);returnn}functionzt(t,e,n=t.length){leti=0;for(lets=0;s<n;)9==t.charCodeAt(s)?(i+=e-i%e,s++):(i++,s=d(t,s));returni}functionVt(t,e,n,i){for(leti=0,s=0;;){if(s>=e)returni;if(i==t.length)break;s+=9==t.charCodeAt(i)?n-s%n:1,i=d(t,i)}return!0===i?-1:t.length}export{atasAnnotation,ctasAnnotationType,basChangeDesc,PasChangeSet,ktasCharCategory,XasCompartment,NasEditorSelection,btasEditorState,JasFacet,lasLine,IasMapMode,KasPrec,MtasRange,RtasRangeSet,TtasRangeSetBuilder,EtasRangeValue,CasSelectionRange,utasStateEffect,ftasStateEffectType,VasStateField,tasText,gtasTransaction,wascodePointAt,yascodePointSize,PtascombineConfig,ztascountColumn,dasfindClusterBreak,VtasfindColumn,kasfromCodePoint};//# sourceMappingURL=codemirror_state-BKbyfKsm.js.map