tosijs-ui 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/babylon-3d.d.ts +1 -1
  3. package/dist/babylon-3d.js +1 -1
  4. package/dist/code-editor-cm.js +5 -1
  5. package/dist/code-editor.d.ts +1 -1
  6. package/dist/code-editor.js +1 -1
  7. package/dist/data-table.d.ts +3 -1
  8. package/dist/data-table.js +97 -5
  9. package/dist/doc-browser.js +6 -1
  10. package/dist/doc-system/doc-system-styles.js +11 -0
  11. package/dist/doc-system/site/dev-server.d.ts +11 -0
  12. package/dist/doc-system/site/dev-server.js +26 -3
  13. package/dist/doc-system/site/generate-site.d.ts +18 -0
  14. package/dist/doc-system/site/generate-site.js +42 -10
  15. package/dist/doc-system/site/site-config.d.ts +10 -3
  16. package/dist/hydrate/{ajs-language-h1x0ydap.js → ajs-language-qm5w38ae.js} +3 -3
  17. package/dist/hydrate/{ajs-language-h1x0ydap.js.map → ajs-language-qm5w38ae.js.map} +1 -1
  18. package/dist/hydrate/{code-editor-cm-2hgj9002.js → code-editor-cm-95n31m4f.js} +8 -8
  19. package/dist/hydrate/{code-editor-cm-2hgj9002.js.map → code-editor-cm-95n31m4f.js.map} +3 -3
  20. package/dist/hydrate/hydrate.js +78 -78
  21. package/dist/hydrate/hydrate.js.map +20 -19
  22. package/dist/hydrate/{index-nsmyq9mv.js → index-0ps8jzdn.js} +3 -3
  23. package/dist/hydrate/{index-nsmyq9mv.js.map → index-0ps8jzdn.js.map} +1 -1
  24. package/dist/hydrate/{index-iife-64z9yngn.js → index-iife-415dypjp.js} +3 -3
  25. package/dist/hydrate/{index-iife-64z9yngn.js.map → index-iife-415dypjp.js.map} +1 -1
  26. package/dist/hydrate/index-iife-kwhe0yt8.js +27 -0
  27. package/dist/hydrate/{index-iife-5wzyvyzm.js.map → index-iife-kwhe0yt8.js.map} +2 -2
  28. package/dist/hydrate/{index-iife-x2h4f6fc.js → index-iife-ype8sch3.js} +3 -3
  29. package/dist/hydrate/{index-iife-x2h4f6fc.js.map → index-iife-ype8sch3.js.map} +1 -1
  30. package/dist/hydrate/{tjs-import-resolver-akt3k27z.js → tjs-import-resolver-s4z0w296.js} +2 -2
  31. package/dist/iife.js +70 -70
  32. package/dist/iife.js.map +21 -20
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/live-example/component.d.ts +8 -1
  36. package/dist/live-example/component.js +8 -0
  37. package/dist/live-example/styles.d.ts +8 -1
  38. package/dist/live-example/styles.js +17 -1
  39. package/dist/live-theme.js +98 -0
  40. package/dist/side-nav.d.ts +1 -1
  41. package/dist/side-nav.js +4 -4
  42. package/dist/size-break.d.ts +1 -1
  43. package/dist/size-break.js +3 -3
  44. package/dist/tab-selector.d.ts +11 -2
  45. package/dist/tab-selector.js +19 -6
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/dist/value-renderer.d.ts +26 -0
  48. package/dist/value-renderer.js +209 -0
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/llms.txt +3 -3
  52. package/package.json +1 -1
  53. package/dist/bp-loader.d.ts +0 -1
  54. package/dist/bp-loader.js +0 -26
  55. package/dist/hydrate/index-iife-5wzyvyzm.js +0 -27
  56. /package/dist/hydrate/{tjs-import-resolver-akt3k27z.js.map → tjs-import-resolver-s4z0w296.js.map} +0 -0
@@ -0,0 +1,27 @@
1
+ var U7=[],F4=[];(()=>{let Z="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(($)=>$?parseInt($,36):1);for(let $=0,J=0;$<Z.length;$++)($%2?F4:U7).push(J=J+Z[$])})();function n$(Z){if(Z<768)return!1;for(let $=0,J=U7.length;;){let K=$+J>>1;if(Z<U7[K])J=K;else if(Z>=F4[K])$=K+1;else return!0;if($==J)return!1}}function V4(Z){return Z>=127462&&Z<=127487}var H4=8205;function D4(Z,$,J=!0,K=!0){return(J?L4:i$)(Z,$,K)}function L4(Z,$,J){if($==Z.length)return $;if($&&R4(Z.charCodeAt($))&&I4(Z.charCodeAt($-1)))$--;let K=K7(Z,$);$+=N4(K);while($<Z.length){let U=K7(Z,$);if(K==H4||U==H4||J&&n$(U))$+=N4(U),K=U;else if(V4(U)){let Q=0,X=$-2;while(X>=0&&V4(K7(Z,X)))Q++,X-=2;if(Q%2==0)break;else $+=2}else break}return $}function i$(Z,$,J){while($>1){let K=L4(Z,$-2,J);if(K<$)return K;$--}return 0}function K7(Z,$){let J=Z.charCodeAt($);if(!I4(J)||$+1==Z.length)return J;let K=Z.charCodeAt($+1);if(!R4(K))return J;return(J-55296<<10)+(K-56320)+65536}function R4(Z){return Z>=56320&&Z<57344}function I4(Z){return Z>=55296&&Z<56320}function N4(Z){return Z<65536?1:2}class m{lineAt(Z){if(Z<0||Z>this.length)throw RangeError(`Invalid position ${Z} in document of length ${this.length}`);return this.lineInner(Z,!1,1,0)}line(Z){if(Z<1||Z>this.lines)throw RangeError(`Invalid line number ${Z} in ${this.lines}-line document`);return this.lineInner(Z,!0,1,0)}replace(Z,$,J){[Z,$]=m9(this,Z,$);let K=[];if(this.decompose(0,Z,K,2),J.length)J.decompose(0,J.length,K,3);return this.decompose($,this.length,K,1),d3.from(K,this.length-($-Z)+J.length)}append(Z){return this.replace(this.length,this.length,Z)}slice(Z,$=this.length){[Z,$]=m9(this,Z,$);let J=[];return this.decompose(Z,$,J,0),d3.from(J,$-Z)}eq(Z){if(Z==this)return!0;if(Z.length!=this.length||Z.lines!=this.lines)return!1;let $=this.scanIdentical(Z,1),J=this.length-this.scanIdentical(Z,-1),K=new h9(this),U=new h9(Z);for(let Q=$,X=$;;){if(K.next(Q),U.next(Q),Q=0,K.lineBreak!=U.lineBreak||K.done!=U.done||K.value!=U.value)return!1;if(X+=K.value.length,K.done||X>=J)return!0}}iter(Z=1){return new h9(this,Z)}iterRange(Z,$=this.length){return new V7(this,Z,$)}iterLines(Z,$){let J;if(Z==null)J=this.iter();else{if($==null)$=this.lines+1;let K=this.line(Z).from;J=this.iterRange(K,Math.max(K,$==this.lines+1?this.length:$<=1?0:this.line($-1).to))}return new H7(J)}toString(){return this.sliceString(0)}toJSON(){let Z=[];return this.flatten(Z),Z}constructor(){}static of(Z){if(Z.length==0)throw RangeError("A document must have at least one line");if(Z.length==1&&!Z[0])return m.empty;return Z.length<=32?new o(Z):d3.from(o.split(Z,[]))}}class o extends m{constructor(Z,$=r$(Z)){super();this.text=Z,this.length=$}get lines(){return this.text.length}get children(){return null}lineInner(Z,$,J,K){for(let U=0;;U++){let Q=this.text[U],X=K+Q.length;if(($?J:X)>=Z)return new C4(K,X,J,Q);K=X+1,J++}}decompose(Z,$,J,K){let U=Z<=0&&$>=this.length?this:new o(A4(this.text,Z,$),Math.min($,this.length)-Math.max(0,Z));if(K&1){let Q=J.pop(),X=i0(U.text,Q.text.slice(),0,U.length);if(X.length<=32)J.push(new o(X,Q.length+U.length));else{let Y=X.length>>1;J.push(new o(X.slice(0,Y)),new o(X.slice(Y)))}}else J.push(U)}replace(Z,$,J){if(!(J instanceof o))return super.replace(Z,$,J);[Z,$]=m9(this,Z,$);let K=i0(this.text,i0(J.text,A4(this.text,0,Z)),$),U=this.length+J.length-($-Z);if(K.length<=32)return new o(K,U);return d3.from(o.split(K,[]),U)}sliceString(Z,$=this.length,J=`
2
+ `){[Z,$]=m9(this,Z,$);let K="";for(let U=0,Q=0;U<=$&&Q<this.text.length;Q++){let X=this.text[Q],Y=U+X.length;if(U>Z&&Q)K+=J;if(Z<Y&&$>U)K+=X.slice(Math.max(0,Z-U),$-U);U=Y+1}return K}flatten(Z){for(let $ of this.text)Z.push($)}scanIdentical(){return 0}static split(Z,$){let J=[],K=-1;for(let U of Z)if(J.push(U),K+=U.length+1,J.length==32)$.push(new o(J,K)),J=[],K=-1;if(K>-1)$.push(new o(J,K));return $}}class d3 extends m{constructor(Z,$){super();this.children=Z,this.length=$,this.lines=0;for(let J of Z)this.lines+=J.lines}lineInner(Z,$,J,K){for(let U=0;;U++){let Q=this.children[U],X=K+Q.length,Y=J+Q.lines-1;if(($?Y:X)>=Z)return Q.lineInner(Z,$,J,K);K=X+1,J=Y+1}}decompose(Z,$,J,K){for(let U=0,Q=0;Q<=$&&U<this.children.length;U++){let X=this.children[U],Y=Q+X.length;if(Z<=Y&&$>=Q){let q=K&((Q<=Z?1:0)|(Y>=$?2:0));if(Q>=Z&&Y<=$&&!q)J.push(X);else X.decompose(Z-Q,$-Q,J,q)}Q=Y+1}}replace(Z,$,J){if([Z,$]=m9(this,Z,$),J.lines<this.lines)for(let K=0,U=0;K<this.children.length;K++){let Q=this.children[K],X=U+Q.length;if(Z>=U&&$<=X){let Y=Q.replace(Z-U,$-U,J),q=this.lines-Q.lines+Y.lines;if(Y.lines<q>>4&&Y.lines>q>>6){let G=this.children.slice();return G[K]=Y,new d3(G,this.length-($-Z)+J.length)}return super.replace(U,X,Y)}U=X+1}return super.replace(Z,$,J)}sliceString(Z,$=this.length,J=`
3
+ `){[Z,$]=m9(this,Z,$);let K="";for(let U=0,Q=0;U<this.children.length&&Q<=$;U++){let X=this.children[U],Y=Q+X.length;if(Q>Z&&U)K+=J;if(Z<Y&&$>Q)K+=X.sliceString(Z-Q,$-Q,J);Q=Y+1}return K}flatten(Z){for(let $ of this.children)$.flatten(Z)}scanIdentical(Z,$){if(!(Z instanceof d3))return 0;let J=0,[K,U,Q,X]=$>0?[0,0,this.children.length,Z.children.length]:[this.children.length-1,Z.children.length-1,-1,-1];for(;;K+=$,U+=$){if(K==Q||U==X)return J;let Y=this.children[K],q=Z.children[U];if(Y!=q)return J+Y.scanIdentical(q,$);J+=Y.length+1}}static from(Z,$=Z.reduce((J,K)=>J+K.length+1,-1)){let J=0;for(let j of Z)J+=j.lines;if(J<32){let j=[];for(let _ of Z)_.flatten(j);return new o(j,$)}let K=Math.max(32,J>>5),U=K<<1,Q=K>>1,X=[],Y=0,q=-1,G=[];function W(j){let _;if(j.lines>U&&j instanceof d3)for(let O of j.children)W(O);else if(j.lines>Q&&(Y>Q||!Y))z(),X.push(j);else if(j instanceof o&&Y&&(_=G[G.length-1])instanceof o&&j.lines+_.lines<=32)Y+=j.lines,q+=j.length+1,G[G.length-1]=new o(_.text.concat(j.text),_.length+1+j.length);else{if(Y+j.lines>K)z();Y+=j.lines,q+=j.length+1,G.push(j)}}function z(){if(Y==0)return;X.push(G.length==1?G[0]:d3.from(G,q)),q=-1,Y=G.length=0}for(let j of Z)W(j);return z(),X.length==1?X[0]:new d3(X,$)}}m.empty=new o([""],0);function r$(Z){let $=-1;for(let J of Z)$+=J.length+1;return $}function i0(Z,$,J=0,K=1e9){for(let U=0,Q=0,X=!0;Q<Z.length&&U<=K;Q++){let Y=Z[Q],q=U+Y.length;if(q>=J){if(q>K)Y=Y.slice(0,K-U);if(U<J)Y=Y.slice(J-U);if(X)$[$.length-1]+=Y,X=!1;else $.push(Y)}U=q+1}return $}function A4(Z,$,J){return i0(Z,[""],$,J)}class h9{constructor(Z,$=1){this.dir=$,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[Z],this.offsets=[$>0?1:(Z instanceof o?Z.text.length:Z.children.length)<<1]}nextInner(Z,$){this.done=this.lineBreak=!1;for(;;){let J=this.nodes.length-1,K=this.nodes[J],U=this.offsets[J],Q=U>>1,X=K instanceof o?K.text.length:K.children.length;if(Q==($>0?X:0)){if(J==0)return this.done=!0,this.value="",this;if($>0)this.offsets[J-1]++;this.nodes.pop(),this.offsets.pop()}else if((U&1)==($>0?0:1)){if(this.offsets[J]+=$,Z==0)return this.lineBreak=!0,this.value=`
4
+ `,this;Z--}else if(K instanceof o){let Y=K.text[Q+($<0?-1:0)];if(this.offsets[J]+=$,Y.length>Math.max(0,Z))return this.value=Z==0?Y:$>0?Y.slice(Z):Y.slice(0,Y.length-Z),this;Z-=Y.length}else{let Y=K.children[Q+($<0?-1:0)];if(Z>Y.length)Z-=Y.length,this.offsets[J]+=$;else{if($<0)this.offsets[J]--;this.nodes.push(Y),this.offsets.push($>0?1:(Y instanceof o?Y.text.length:Y.children.length)<<1)}}}}next(Z=0){if(Z<0)this.nextInner(-Z,-this.dir),Z=this.value.length;return this.nextInner(Z,this.dir)}}class V7{constructor(Z,$,J){this.value="",this.done=!1,this.cursor=new h9(Z,$>J?-1:1),this.pos=$>J?Z.length:0,this.from=Math.min($,J),this.to=Math.max($,J)}nextInner(Z,$){if($<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;Z+=Math.max(0,$<0?this.pos-this.to:this.from-this.pos);let J=$<0?this.pos-this.from:this.to-this.pos;if(Z>J)Z=J;J-=Z;let{value:K}=this.cursor.next(Z);return this.pos+=(K.length+Z)*$,this.value=K.length<=J?K:$<0?K.slice(K.length-J):K.slice(0,J),this.done=!this.value,this}next(Z=0){if(Z<0)Z=Math.max(Z,this.from-this.pos);else if(Z>0)Z=Math.min(Z,this.to-this.pos);return this.nextInner(Z,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class H7{constructor(Z){this.inner=Z,this.afterBreak=!0,this.value="",this.done=!1}next(Z=0){let{done:$,lineBreak:J,value:K}=this.inner.next(Z);if($&&this.afterBreak)this.value="",this.afterBreak=!1;else if($)this.done=!0,this.value="";else if(J)if(this.afterBreak)this.value="";else this.afterBreak=!0,this.next();else this.value=K,this.afterBreak=!1;return this}get lineBreak(){return!1}}if(typeof Symbol<"u")m.prototype[Symbol.iterator]=function(){return this.iter()},h9.prototype[Symbol.iterator]=V7.prototype[Symbol.iterator]=H7.prototype[Symbol.iterator]=function(){return this};class C4{constructor(Z,$,J,K){this.from=Z,this.to=$,this.number=J,this.text=K}get length(){return this.to-this.from}}function m9(Z,$,J){return $=Math.max(0,Math.min(Z.length,$)),[$,Math.max($,Math.min(Z.length,J))]}function P3(Z,$,J=!0,K=!0){return D4(Z,$,J,K)}function a$(Z){return Z>=56320&&Z<57344}function o$(Z){return Z>=55296&&Z<56320}function _3(Z,$){let J=Z.charCodeAt($);if(!o$(J)||$+1==Z.length)return J;let K=Z.charCodeAt($+1);if(!a$(K))return J;return(J-55296<<10)+(K-56320)+65536}function N7(Z){if(Z<=65535)return String.fromCharCode(Z);return Z-=65536,String.fromCharCode((Z>>10)+55296,(Z&1023)+56320)}function x3(Z){return Z<65536?1:2}var X7=/\r\n?|\n/,Z3=function(Z){return Z[Z.Simple=0]="Simple",Z[Z.TrackDel=1]="TrackDel",Z[Z.TrackBefore=2]="TrackBefore",Z[Z.TrackAfter=3]="TrackAfter",Z}(Z3||(Z3={}));class Z9{constructor(Z){this.sections=Z}get length(){let Z=0;for(let $=0;$<this.sections.length;$+=2)Z+=this.sections[$];return Z}get newLength(){let Z=0;for(let $=0;$<this.sections.length;$+=2){let J=this.sections[$+1];Z+=J<0?this.sections[$]:J}return Z}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(Z){for(let $=0,J=0,K=0;$<this.sections.length;){let U=this.sections[$++],Q=this.sections[$++];if(Q<0)Z(J,K,U),K+=U;else K+=Q;J+=U}}iterChangedRanges(Z,$=!1){Y7(this,Z,$)}get invertedDesc(){let Z=[];for(let $=0;$<this.sections.length;){let J=this.sections[$++],K=this.sections[$++];if(K<0)Z.push(J,K);else Z.push(K,J)}return new Z9(Z)}composeDesc(Z){return this.empty?Z:Z.empty?this:T4(this,Z)}mapDesc(Z,$=!1){return Z.empty?this:q7(this,Z,$)}mapPos(Z,$=-1,J=Z3.Simple){let K=0,U=0;for(let Q=0;Q<this.sections.length;){let X=this.sections[Q++],Y=this.sections[Q++],q=K+X;if(Y<0){if(q>Z)return U+(Z-K);U+=X}else{if(J!=Z3.Simple&&q>=Z&&(J==Z3.TrackDel&&K<Z&&q>Z||J==Z3.TrackBefore&&K<Z||J==Z3.TrackAfter&&q>Z))return null;if(q>Z||q==Z&&$<0&&!X)return Z==K||$<0?U:U+Y;U+=Y}K=q}if(Z>K)throw RangeError(`Position ${Z} is out of range for changeset of length ${K}`);return U}touchesRange(Z,$=Z){for(let J=0,K=0;J<this.sections.length&&K<=$;){let U=this.sections[J++],Q=this.sections[J++],X=K+U;if(Q>=0&&K<=$&&X>=Z)return K<Z&&X>$?"cover":!0;K=X}return!1}toString(){let Z="";for(let $=0;$<this.sections.length;){let J=this.sections[$++],K=this.sections[$++];Z+=(Z?" ":"")+J+(K>=0?":"+K:"")}return Z}toJSON(){return this.sections}static fromJSON(Z){if(!Array.isArray(Z)||Z.length%2||Z.some(($)=>typeof $!="number"))throw RangeError("Invalid JSON representation of ChangeDesc");return new Z9(Z)}static create(Z){return new Z9(Z)}}class e extends Z9{constructor(Z,$){super(Z);this.inserted=$}apply(Z){if(this.length!=Z.length)throw RangeError("Applying change set to a document with the wrong length");return Y7(this,($,J,K,U,Q)=>Z=Z.replace(K,K+(J-$),Q),!1),Z}mapDesc(Z,$=!1){return q7(this,Z,$,!0)}invert(Z){let $=this.sections.slice(),J=[];for(let K=0,U=0;K<$.length;K+=2){let Q=$[K],X=$[K+1];if(X>=0){$[K]=X,$[K+1]=Q;let Y=K>>1;while(J.length<Y)J.push(m.empty);J.push(Q?Z.slice(U,U+Q):m.empty)}U+=Q}return new e($,J)}compose(Z){return this.empty?Z:Z.empty?this:T4(this,Z,!0)}map(Z,$=!1){return Z.empty?this:q7(this,Z,$,!0)}iterChanges(Z,$=!1){Y7(this,Z,$)}get desc(){return Z9.create(this.sections)}filter(Z){let $=[],J=[],K=[],U=new u9(this);Z:for(let Q=0,X=0;;){let Y=Q==Z.length?1e9:Z[Q++];while(X<Y||X==Y&&U.len==0){if(U.done)break Z;let G=Math.min(U.len,Y-X);G3(K,G,-1);let W=U.ins==-1?-1:U.off==0?U.ins:0;if(G3($,G,W),W>0)G9(J,$,U.text);U.forward(G),X+=G}let q=Z[Q++];while(X<q){if(U.done)break Z;let G=Math.min(U.len,q-X);G3($,G,-1),G3(K,G,U.ins==-1?-1:U.off==0?U.ins:0),U.forward(G),X+=G}}return{changes:new e($,J),filtered:Z9.create(K)}}toJSON(){let Z=[];for(let $=0;$<this.sections.length;$+=2){let J=this.sections[$],K=this.sections[$+1];if(K<0)Z.push(J);else if(K==0)Z.push([J]);else Z.push([J].concat(this.inserted[$>>1].toJSON()))}return Z}static of(Z,$,J){let K=[],U=[],Q=0,X=null;function Y(G=!1){if(!G&&!K.length)return;if(Q<$)G3(K,$-Q,-1);let W=new e(K,U);X=X?X.compose(W.map(X)):W,K=[],U=[],Q=0}function q(G){if(Array.isArray(G))for(let W of G)q(W);else if(G instanceof e){if(G.length!=$)throw RangeError(`Mismatched change set length (got ${G.length}, expected ${$})`);Y(),X=X?X.compose(G.map(X)):G}else{let{from:W,to:z=W,insert:j}=G;if(W>z||W<0||z>$)throw RangeError(`Invalid change range ${W} to ${z} (in doc of length ${$})`);let _=!j?m.empty:typeof j=="string"?m.of(j.split(J||X7)):j,O=_.length;if(W==z&&O==0)return;if(W<Q)Y();if(W>Q)G3(K,W-Q,-1);G3(K,z-W,O),G9(U,K,_),Q=z}}return q(Z),Y(!X),X}static empty(Z){return new e(Z?[Z,-1]:[],[])}static fromJSON(Z){if(!Array.isArray(Z))throw RangeError("Invalid JSON representation of ChangeSet");let $=[],J=[];for(let K=0;K<Z.length;K++){let U=Z[K];if(typeof U=="number")$.push(U,-1);else if(!Array.isArray(U)||typeof U[0]!="number"||U.some((Q,X)=>X&&typeof Q!="string"))throw RangeError("Invalid JSON representation of ChangeSet");else if(U.length==1)$.push(U[0],0);else{while(J.length<K)J.push(m.empty);J[K]=m.of(U.slice(1)),$.push(U[0],J[K].length)}}return new e($,J)}static createSet(Z,$){return new e(Z,$)}}function G3(Z,$,J,K=!1){if($==0&&J<=0)return;let U=Z.length-2;if(U>=0&&J<=0&&J==Z[U+1])Z[U]+=$;else if(U>=0&&$==0&&Z[U]==0)Z[U+1]+=J;else if(K)Z[U]+=$,Z[U+1]+=J;else Z.push($,J)}function G9(Z,$,J){if(J.length==0)return;let K=$.length-2>>1;if(K<Z.length)Z[Z.length-1]=Z[Z.length-1].append(J);else{while(Z.length<K)Z.push(m.empty);Z.push(J)}}function Y7(Z,$,J){let K=Z.inserted;for(let U=0,Q=0,X=0;X<Z.sections.length;){let Y=Z.sections[X++],q=Z.sections[X++];if(q<0)U+=Y,Q+=Y;else{let G=U,W=Q,z=m.empty;for(;;){if(G+=Y,W+=q,q&&K)z=z.append(K[X-2>>1]);if(J||X==Z.sections.length||Z.sections[X+1]<0)break;Y=Z.sections[X++],q=Z.sections[X++]}$(U,G,Q,W,z),U=G,Q=W}}}function q7(Z,$,J,K=!1){let U=[],Q=K?[]:null,X=new u9(Z),Y=new u9($);for(let q=-1;;)if(X.done&&Y.len||Y.done&&X.len)throw Error("Mismatched change set lengths");else if(X.ins==-1&&Y.ins==-1){let G=Math.min(X.len,Y.len);G3(U,G,-1),X.forward(G),Y.forward(G)}else if(Y.ins>=0&&(X.ins<0||q==X.i||X.off==0&&(Y.len<X.len||Y.len==X.len&&!J))){let G=Y.len;G3(U,Y.ins,-1);while(G){let W=Math.min(X.len,G);if(X.ins>=0&&q<X.i&&X.len<=W){if(G3(U,0,X.ins),Q)G9(Q,U,X.text);q=X.i}X.forward(W),G-=W}Y.next()}else if(X.ins>=0){let G=0,W=X.len;while(W)if(Y.ins==-1){let z=Math.min(W,Y.len);G+=z,W-=z,Y.forward(z)}else if(Y.ins==0&&Y.len<W)W-=Y.len,Y.next();else break;if(G3(U,G,q<X.i?X.ins:0),Q&&q<X.i)G9(Q,U,X.text);q=X.i,X.forward(X.len-W)}else if(X.done&&Y.done)return Q?e.createSet(U,Q):Z9.create(U);else throw Error("Mismatched change set lengths")}function T4(Z,$,J=!1){let K=[],U=J?[]:null,Q=new u9(Z),X=new u9($);for(let Y=!1;;)if(Q.done&&X.done)return U?e.createSet(K,U):Z9.create(K);else if(Q.ins==0)G3(K,Q.len,0,Y),Q.next();else if(X.len==0&&!X.done){if(G3(K,0,X.ins,Y),U)G9(U,K,X.text);X.next()}else if(Q.done||X.done)throw Error("Mismatched change set lengths");else{let q=Math.min(Q.len2,X.len),G=K.length;if(Q.ins==-1){let W=X.ins==-1?-1:X.off?0:X.ins;if(G3(K,q,W,Y),U&&W)G9(U,K,X.text)}else if(X.ins==-1){if(G3(K,Q.off?0:Q.len,q,Y),U)G9(U,K,Q.textBit(q))}else if(G3(K,Q.off?0:Q.len,X.off?0:X.ins,Y),U&&!X.off)G9(U,K,X.text);Y=(Q.ins>q||X.ins>=0&&X.len>q)&&(Y||K.length>G),Q.forward2(q),X.forward(q)}}class u9{constructor(Z){this.set=Z,this.i=0,this.next()}next(){let{sections:Z}=this.set;if(this.i<Z.length)this.len=Z[this.i++],this.ins=Z[this.i++];else this.len=0,this.ins=-2;this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:Z}=this.set,$=this.i-2>>1;return $>=Z.length?m.empty:Z[$]}textBit(Z){let{inserted:$}=this.set,J=this.i-2>>1;return J>=$.length&&!Z?m.empty:$[J].slice(this.off,Z==null?void 0:this.off+Z)}forward(Z){if(Z==this.len)this.next();else this.len-=Z,this.off+=Z}forward2(Z){if(this.ins==-1)this.forward(Z);else if(Z==this.ins)this.next();else this.ins-=Z,this.off+=Z}}class q9{constructor(Z,$,J,K){this.from=Z,this.to=$,this.flags=J,this.goalColumn=K}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let Z=this.flags&7;return Z==7?null:Z}map(Z,$=-1){let J,K;if(this.empty)J=K=Z.mapPos(this.from,$);else J=Z.mapPos(this.from,1),K=Z.mapPos(this.to,-1);return J==this.from&&K==this.to?this:new q9(J,K,this.flags,this.goalColumn)}extend(Z,$=Z,J=0){if(Z<=this.anchor&&$>=this.anchor)return L.range(Z,$,void 0,void 0,J);let K=Math.abs(Z-this.anchor)>Math.abs($-this.anchor)?Z:$;return L.range(this.anchor,K,void 0,void 0,J)}eq(Z,$=!1){return this.anchor==Z.anchor&&this.head==Z.head&&this.goalColumn==Z.goalColumn&&(!$||!this.empty||this.assoc==Z.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(Z){if(!Z||typeof Z.anchor!="number"||typeof Z.head!="number")throw RangeError("Invalid JSON representation for SelectionRange");return L.range(Z.anchor,Z.head)}static create(Z,$,J,K){return new q9(Z,$,J,K)}}class L{constructor(Z,$){this.ranges=Z,this.mainIndex=$}map(Z,$=-1){if(Z.empty)return this;return L.create(this.ranges.map((J)=>J.map(Z,$)),this.mainIndex)}eq(Z,$=!1){if(this.ranges.length!=Z.ranges.length||this.mainIndex!=Z.mainIndex)return!1;for(let J=0;J<this.ranges.length;J++)if(!this.ranges[J].eq(Z.ranges[J],$))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new L([this.main],0)}addRange(Z,$=!0){return L.create([Z].concat(this.ranges),$?0:this.mainIndex+1)}replaceRange(Z,$=this.mainIndex){let J=this.ranges.slice();return J[$]=Z,L.create(J,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((Z)=>Z.toJSON()),main:this.mainIndex}}static fromJSON(Z){if(!Z||!Array.isArray(Z.ranges)||typeof Z.main!="number"||Z.main>=Z.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new L(Z.ranges.map(($)=>q9.fromJSON($)),Z.main)}static single(Z,$=Z){return new L([L.range(Z,$)],0)}static create(Z,$=0){if(Z.length==0)throw RangeError("A selection needs at least one range");for(let J=0,K=0;K<Z.length;K++){let U=Z[K];if(U.empty?U.from<=J:U.from<J)return L.normalized(Z.slice(),$);J=U.to}return new L(Z,$)}static cursor(Z,$=0,J,K){return q9.create(Z,Z,($==0?0:$<0?8:16)|(J==null?7:Math.min(6,J)),K)}static range(Z,$,J,K,U){let Q=K==null?7:Math.min(6,K);if(!U&&Z!=$)U=$<Z?1:-1;if(U)Q|=U<0?8:16;return $<Z?q9.create($,Z,Q|32,J):q9.create(Z,$,Q,J)}static undirectionalRange(Z,$){return q9.create(Z,$,64,void 0)}static normalized(Z,$=0){let J=Z[$];Z.sort((K,U)=>K.from-U.from),$=Z.indexOf(J);for(let K=1;K<Z.length;K++){let U=Z[K],Q=Z[K-1];if(U.empty?U.from<=Q.to:U.from<Q.to){let X=Q.from,Y=Math.max(U.to,Q.to);if(K<=$)$--;Z.splice(--K,2,U.anchor>U.head?L.range(Y,X):L.range(X,Y))}}return new L(Z,$)}}function y4(Z,$){for(let J of Z.ranges)if(J.to>$)throw RangeError("Selection points outside of document")}var F7=0;class E{constructor(Z,$,J,K,U){this.combine=Z,this.compareInput=$,this.compare=J,this.isStatic=K,this.id=F7++,this.default=Z([]),this.extensions=typeof U=="function"?U(this):U}get reader(){return this}static define(Z={}){return new E(Z.combine||(($)=>$),Z.compareInput||(($,J)=>$===J),Z.compare||(!Z.combine?D7:($,J)=>$===J),!!Z.static,Z.enables)}of(Z){return new K0([],this,0,Z)}compute(Z,$){if(this.isStatic)throw Error("Can't compute a static facet");return new K0(Z,this,1,$)}computeN(Z,$){if(this.isStatic)throw Error("Can't compute a static facet");return new K0(Z,this,2,$)}from(Z,$){if(!$)$=(J)=>J;return this.compute([Z],(J)=>$(J.field(Z)))}}function D7(Z,$){return Z==$||Z.length==$.length&&Z.every((J,K)=>J===$[K])}class K0{constructor(Z,$,J,K){this.dependencies=Z,this.facet=$,this.type=J,this.value=K,this.id=F7++}dynamicSlot(Z){var $;let J=this.value,K=this.facet.compareInput,U=this.id,Q=Z[U]>>1,X=this.type==2,Y=!1,q=!1,G=[];for(let W of this.dependencies)if(W=="doc")Y=!0;else if(W=="selection")q=!0;else if(((($=Z[W.id])!==null&&$!==void 0?$:1)&1)==0)G.push(Z[W.id]);return{create(W){return W.values[Q]=J(W),1},update(W,z){if(Y&&z.docChanged||q&&(z.docChanged||z.selection)||G7(W,G)){let j=J(W);if(X?!B4(j,W.values[Q],K):!K(j,W.values[Q]))return W.values[Q]=j,1}return 0},reconfigure:(W,z)=>{let j,_=z.config.address[U];if(_!=null){let O=o0(z,_);if(this.dependencies.every((V)=>{return V instanceof E?z.facet(V)===W.facet(V):V instanceof Q3?z.field(V,!1)==W.field(V,!1):!0})||(X?B4(j=J(W),O,K):K(j=J(W),O)))return W.values[Q]=O,0}else j=J(W);return W.values[Q]=j,1}}}get extension(){return this}}function B4(Z,$,J){if(Z.length!=$.length)return!1;for(let K=0;K<Z.length;K++)if(!J(Z[K],$[K]))return!1;return!0}function G7(Z,$){let J=!1;for(let K of $)if(U0(Z,K)&1)J=!0;return J}function t$(Z,$,J){let K=J.map((q)=>Z[q.id]),U=J.map((q)=>q.type),Q=K.filter((q)=>!(q&1)),X=Z[$.id]>>1;function Y(q){let G=[];for(let W=0;W<K.length;W++){let z=o0(q,K[W]);if(U[W]==2)for(let j of z)G.push(j);else G.push(z)}return $.combine(G)}return{create(q){for(let G of K)U0(q,G);return q.values[X]=Y(q),1},update(q,G){if(!G7(q,Q))return 0;let W=Y(q);if($.compare(W,q.values[X]))return 0;return q.values[X]=W,1},reconfigure(q,G){let W=G7(q,K),z=G.config.facets[$.id],j=G.facet($);if(z&&!W&&D7(J,z))return q.values[X]=j,0;let _=Y(q);if($.compare(_,j))return q.values[X]=j,0;return q.values[X]=_,1}}}var c0=E.define({static:!0});class Q3{constructor(Z,$,J,K,U){this.id=Z,this.createF=$,this.updateF=J,this.compareF=K,this.spec=U,this.provides=void 0}static define(Z){let $=new Q3(F7++,Z.create,Z.update,Z.compare||((J,K)=>J===K),Z);if(Z.provide)$.provides=Z.provide($);return $}create(Z){let $=Z.facet(c0).find((J)=>J.field==this);return(($===null||$===void 0?void 0:$.create)||this.createF)(Z)}slot(Z){let $=Z[this.id]>>1;return{create:(J)=>{return J.values[$]=this.create(J),1},update:(J,K)=>{let U=J.values[$],Q=this.updateF(U,K);if(this.compareF(U,Q))return 0;return J.values[$]=Q,1},reconfigure:(J,K)=>{let U=J.facet(c0),Q=K.facet(c0),X;if((X=U.find((Y)=>Y.field==this))&&X!=Q.find((Y)=>Y.field==this))return J.values[$]=X.create(J),1;if(K.config.address[this.id]!=null)return J.values[$]=K.field(this),0;return J.values[$]=this.create(J),1}}}init(Z){return[this,c0.of({field:this,create:Z})]}get extension(){return this}}var F9={lowest:4,low:3,default:2,high:1,highest:0};function J0(Z){return($)=>new L7($,Z)}var c3={highest:J0(F9.highest),high:J0(F9.high),default:J0(F9.default),low:J0(F9.low),lowest:J0(F9.lowest)};class L7{constructor(Z,$){this.inner=Z,this.prec=$}get extension(){return this}}class t0{of(Z){return new r0(this,Z)}reconfigure(Z){return t0.reconfigure.of({compartment:this,extension:Z})}get(Z){return Z.config.compartments.get(this)}}class r0{constructor(Z,$){this.compartment=Z,this.inner=$}get extension(){return this}}class a0{constructor(Z,$,J,K,U,Q){this.base=Z,this.compartments=$,this.dynamicSlots=J,this.address=K,this.staticValues=U,this.facets=Q,this.statusTemplate=[];while(this.statusTemplate.length<J.length)this.statusTemplate.push(0)}staticFacet(Z){let $=this.address[Z.id];return $==null?Z.default:this.staticValues[$>>1]}static resolve(Z,$,J){let K=[],U=Object.create(null),Q=new Map;for(let z of e$(Z,$,Q))if(z instanceof Q3)K.push(z);else(U[z.facet.id]||(U[z.facet.id]=[])).push(z);let X=Object.create(null),Y=[],q=[];for(let z of K)X[z.id]=q.length<<1,q.push((j)=>z.slot(j));let G=J===null||J===void 0?void 0:J.config.facets;for(let z in U){let j=U[z],_=j[0].facet,O=G&&G[z]||[];if(j.every((V)=>V.type==0))if(X[_.id]=Y.length<<1|1,D7(O,j))Y.push(J.facet(_));else{let V=_.combine(j.map((H)=>H.value));Y.push(J&&_.compare(V,J.facet(_))?J.facet(_):V)}else{for(let V of j)if(V.type==0)X[V.id]=Y.length<<1|1,Y.push(V.value);else X[V.id]=q.length<<1,q.push((H)=>V.dynamicSlot(H));X[_.id]=q.length<<1,q.push((V)=>t$(V,_,j))}}let W=q.map((z)=>z(X));return new a0(Z,Q,W,X,Y,U)}}function e$(Z,$,J){let K=[[],[],[],[],[]],U=new Map;function Q(X,Y){let q=U.get(X);if(q!=null){if(q<=Y)return;let G=K[q].indexOf(X);if(G>-1)K[q].splice(G,1);if(X instanceof r0)J.delete(X.compartment)}if(U.set(X,Y),Array.isArray(X))for(let G of X)Q(G,Y);else if(X instanceof r0){if(J.has(X.compartment))throw RangeError("Duplicate use of compartment in extensions");let G=$.get(X.compartment)||X.inner;J.set(X.compartment,G),Q(G,Y)}else if(X instanceof L7)Q(X.inner,X.prec);else if(X instanceof Q3){if(K[Y].push(X),X.provides)Q(X.provides,Y)}else if(X instanceof K0){if(K[Y].push(X),X.facet.extensions)Q(X.facet.extensions,F9.default)}else{let G=X.extension;if(!G)throw Error(`Unrecognized extension value in extension set (${X}).`);if(G==X)throw Error(`Unrecognized extension value in extension set (${X}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);Q(G,Y)}}return Q(Z,F9.default),K.reduce((X,Y)=>X.concat(Y))}function U0(Z,$){if($&1)return 2;let J=$>>1,K=Z.status[J];if(K==4)throw Error("Cyclic dependency between fields and/or facets");if(K&2)return K;Z.status[J]=4;let U=Z.computeSlot(Z,Z.config.dynamicSlots[J]);return Z.status[J]=2|U}function o0(Z,$){return $&1?Z.config.staticValues[$>>1]:Z.values[$>>1]}var S4=E.define(),W7=E.define({combine:(Z)=>Z.some(($)=>$),static:!0}),b4=E.define({combine:(Z)=>Z.length?Z[0]:void 0,static:!0}),k4=E.define(),x4=E.define(),w4=E.define(),h4=E.define({combine:(Z)=>Z.length?Z[0]:!1});class s3{constructor(Z,$){this.type=Z,this.value=$}static define(){return new v4}}class v4{of(Z){return new s3(this,Z)}}class m4{constructor(Z){this.map=Z}of(Z){return new x(this,Z)}}class x{constructor(Z,$){this.type=Z,this.value=$}map(Z){let $=this.type.map(this.value,Z);return $===void 0?void 0:$==this.value?this:new x(this.type,$)}is(Z){return this.type==Z}static define(Z={}){return new m4(Z.map||(($)=>$))}static mapEffects(Z,$){if(!Z.length)return Z;let J=[];for(let K of Z){let U=K.map($);if(U)J.push(U)}return J}}x.reconfigure=x.define();x.appendConfig=x.define();class $3{constructor(Z,$,J,K,U,Q){if(this.startState=Z,this.changes=$,this.selection=J,this.effects=K,this.annotations=U,this.scrollIntoView=Q,this._doc=null,this._state=null,J)y4(J,$.newLength);if(!U.some((X)=>X.type==$3.time))this.annotations=U.concat($3.time.of(Date.now()))}static create(Z,$,J,K,U,Q){return new $3(Z,$,J,K,U,Q)}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(){if(!this._state)this.startState.applyTransaction(this);return this._state}annotation(Z){for(let $ of this.annotations)if($.type==Z)return $.value;return}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(Z){let $=this.annotation($3.userEvent);return!!($&&($==Z||$.length>Z.length&&$.slice(0,Z.length)==Z&&$[Z.length]=="."))}}$3.time=s3.define();$3.userEvent=s3.define();$3.addToHistory=s3.define();$3.remote=s3.define();function ZJ(Z,$){let J=[];for(let K=0,U=0;;){let Q,X;if(K<Z.length&&(U==$.length||$[U]>=Z[K]))Q=Z[K++],X=Z[K++];else if(U<$.length)Q=$[U++],X=$[U++];else return J;if(!J.length||J[J.length-1]<Q)J.push(Q,X);else if(J[J.length-1]<X)J[J.length-1]=X}}function u4(Z,$,J){var K;let U,Q,X;if(J)U=$.changes,Q=e.empty($.changes.length),X=Z.changes.compose($.changes);else U=$.changes.map(Z.changes),Q=Z.changes.mapDesc($.changes,!0),X=Z.changes.compose(U);return{changes:X,selection:$.selection?$.selection.map(Q):(K=Z.selection)===null||K===void 0?void 0:K.map(U),effects:x.mapEffects(Z.effects,U).concat(x.mapEffects($.effects,Q)),annotations:Z.annotations.length?Z.annotations.concat($.annotations):$.annotations,scrollIntoView:Z.scrollIntoView||$.scrollIntoView}}function z7(Z,$,J){let K=$.selection,U=v9($.annotations);if($.userEvent)U=U.concat($3.userEvent.of($.userEvent));return{changes:$.changes instanceof e?$.changes:e.of($.changes||[],J,Z.facet(b4)),selection:K&&(K instanceof L?K:L.single(K.anchor,K.head)),effects:v9($.effects),annotations:U,scrollIntoView:!!$.scrollIntoView}}function g4(Z,$,J){let K=z7(Z,$.length?$[0]:{},Z.doc.length);if($.length&&$[0].filter===!1)J=!1;for(let Q=1;Q<$.length;Q++){if($[Q].filter===!1)J=!1;let X=!!$[Q].sequential;K=u4(K,z7(Z,$[Q],X?K.changes.newLength:Z.doc.length),X)}let U=$3.create(Z,K.changes,K.selection,K.effects,K.annotations,K.scrollIntoView);return JJ(J?$J(U):U)}function $J(Z){let $=Z.startState,J=!0;for(let U of $.facet(k4)){let Q=U(Z);if(Q===!1){J=!1;break}if(Array.isArray(Q))J=J===!0?Q:ZJ(J,Q)}if(J!==!0){let U,Q;if(J===!1)Q=Z.changes.invertedDesc,U=e.empty($.doc.length);else{let X=Z.changes.filter(J);U=X.changes,Q=X.filtered.mapDesc(X.changes).invertedDesc}Z=$3.create($,U,Z.selection&&Z.selection.map(Q),x.mapEffects(Z.effects,Q),Z.annotations,Z.scrollIntoView)}let K=$.facet(x4);for(let U=K.length-1;U>=0;U--){let Q=K[U](Z);if(Q instanceof $3)Z=Q;else if(Array.isArray(Q)&&Q.length==1&&Q[0]instanceof $3)Z=Q[0];else Z=g4($,v9(Q),!1)}return Z}function JJ(Z){let $=Z.startState,J=$.facet(w4),K=Z;for(let U=J.length-1;U>=0;U--){let Q=J[U](Z);if(Q&&Object.keys(Q).length)K=u4(K,z7($,Q,Z.changes.newLength),!0)}return K==Z?Z:$3.create($,Z.changes,Z.selection,K.effects,K.annotations,K.scrollIntoView)}var KJ=[];function v9(Z){return Z==null?KJ:Array.isArray(Z)?Z:[Z]}var F3=function(Z){return Z[Z.Word=0]="Word",Z[Z.Space=1]="Space",Z[Z.Other=2]="Other",Z}(F3||(F3={})),UJ=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,j7;try{j7=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(Z){}function QJ(Z){if(j7)return j7.test(Z);for(let $=0;$<Z.length;$++){let J=Z[$];if(/\w/.test(J)||J>"€"&&(J.toUpperCase()!=J.toLowerCase()||UJ.test(J)))return!0}return!1}function XJ(Z){return($)=>{if(!/\S/.test($))return F3.Space;if(QJ($))return F3.Word;for(let J=0;J<Z.length;J++)if($.indexOf(Z[J])>-1)return F3.Word;return F3.Other}}class u{constructor(Z,$,J,K,U,Q){if(this.config=Z,this.doc=$,this.selection=J,this.values=K,this.status=Z.statusTemplate.slice(),this.computeSlot=U,Q)Q._state=this;for(let X=0;X<this.config.dynamicSlots.length;X++)U0(this,X<<1);this.computeSlot=null}field(Z,$=!0){let J=this.config.address[Z.id];if(J==null){if($)throw RangeError("Field is not present in this state");return}return U0(this,J),o0(this,J)}update(...Z){return g4(this,Z,!0)}applyTransaction(Z){let $=this.config,{base:J,compartments:K}=$;for(let X of Z.effects)if(X.is(t0.reconfigure)){if($)K=new Map,$.compartments.forEach((Y,q)=>K.set(q,Y)),$=null;K.set(X.value.compartment,X.value.extension)}else if(X.is(x.reconfigure))$=null,J=X.value;else if(X.is(x.appendConfig))$=null,J=v9(J).concat(X.value);let U;if(!$)$=a0.resolve(J,K,this),U=new u($,this.doc,this.selection,$.dynamicSlots.map(()=>null),(Y,q)=>q.reconfigure(Y,this),null).values;else U=Z.startState.values.slice();let Q=Z.startState.facet(W7)?Z.newSelection:Z.newSelection.asSingle();new u($,Z.newDoc,Q,U,(X,Y)=>Y.update(X,Z),Z)}replaceSelection(Z){if(typeof Z=="string")Z=this.toText(Z);return this.changeByRange(($)=>({changes:{from:$.from,to:$.to,insert:Z},range:L.cursor($.from+Z.length)}))}changeByRange(Z){let $=this.selection,J=Z($.ranges[0]),K=this.changes(J.changes),U=[J.range],Q=v9(J.effects);for(let X=1;X<$.ranges.length;X++){let Y=Z($.ranges[X]),q=this.changes(Y.changes),G=q.map(K);for(let z=0;z<X;z++)U[z]=U[z].map(G);let W=K.mapDesc(q,!0);U.push(Y.range.map(W)),K=K.compose(G),Q=x.mapEffects(Q,G).concat(x.mapEffects(v9(Y.effects),W))}return{changes:K,selection:L.create(U,$.mainIndex),effects:Q}}changes(Z=[]){if(Z instanceof e)return Z;return e.of(Z,this.doc.length,this.facet(u.lineSeparator))}toText(Z){return m.of(Z.split(this.facet(u.lineSeparator)||X7))}sliceDoc(Z=0,$=this.doc.length){return this.doc.sliceString(Z,$,this.lineBreak)}facet(Z){let $=this.config.address[Z.id];if($==null)return Z.default;return U0(this,$),o0(this,$)}toJSON(Z){let $={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(Z)for(let J in Z){let K=Z[J];if(K instanceof Q3&&this.config.address[K.id]!=null)$[J]=K.spec.toJSON(this.field(Z[J]),this)}return $}static fromJSON(Z,$={},J){if(!Z||typeof Z.doc!="string")throw RangeError("Invalid JSON representation for EditorState");let K=[];if(J){for(let U in J)if(Object.prototype.hasOwnProperty.call(Z,U)){let Q=J[U],X=Z[U];K.push(Q.init((Y)=>Q.spec.fromJSON(X,Y)))}}return u.create({doc:Z.doc,selection:L.fromJSON(Z.selection),extensions:$.extensions?K.concat([$.extensions]):K})}static create(Z={}){let $=a0.resolve(Z.extensions||[],new Map),J=Z.doc instanceof m?Z.doc:m.of((Z.doc||"").split($.staticFacet(u.lineSeparator)||X7)),K=!Z.selection?L.single(0):Z.selection instanceof L?Z.selection:L.single(Z.selection.anchor,Z.selection.head);if(y4(K,J.length),!$.staticFacet(W7))K=K.asSingle();return new u($,J,K,$.dynamicSlots.map(()=>null),(U,Q)=>Q.create(U),null)}get tabSize(){return this.facet(u.tabSize)}get lineBreak(){return this.facet(u.lineSeparator)||`
5
+ `}get readOnly(){return this.facet(h4)}phrase(Z,...$){for(let J of this.facet(u.phrases))if(Object.prototype.hasOwnProperty.call(J,Z)){Z=J[Z];break}if($.length)Z=Z.replace(/\$(\$|\d*)/g,(J,K)=>{if(K=="$")return"$";let U=+(K||1);return!U||U>$.length?J:$[U-1]});return Z}languageDataAt(Z,$,J=-1){let K=[];for(let U of this.facet(S4))for(let Q of U(this,$,J))if(Object.prototype.hasOwnProperty.call(Q,Z))K.push(Q[Z]);return K}charCategorizer(Z){let $=this.languageDataAt("wordChars",Z);return XJ($.length?$[0]:"")}wordAt(Z){let{text:$,from:J,length:K}=this.doc.lineAt(Z),U=this.charCategorizer(Z),Q=Z-J,X=Z-J;while(Q>0){let Y=P3($,Q,!1);if(U($.slice(Y,Q))!=F3.Word)break;Q=Y}while(X<K){let Y=P3($,X);if(U($.slice(X,Y))!=F3.Word)break;X=Y}return Q==X?null:L.range(Q+J,X+J)}}u.allowMultipleSelections=W7;u.tabSize=E.define({combine:(Z)=>Z.length?Z[0]:4});u.lineSeparator=b4;u.readOnly=h4;u.phrases=E.define({compare(Z,$){let J=Object.keys(Z),K=Object.keys($);return J.length==K.length&&J.every((U)=>Z[U]==$[U])}});u.languageData=S4;u.changeFilter=k4;u.transactionFilter=x4;u.transactionExtender=w4;t0.reconfigure=x.define();function J9(Z,$,J={}){let K={};for(let U of Z)for(let Q of Object.keys(U)){let X=U[Q],Y=K[Q];if(Y===void 0)K[Q]=X;else if(Y===X||X===void 0);else if(Object.hasOwnProperty.call(J,Q))K[Q]=J[Q](Y,X);else throw Error("Config merge conflict for field "+Q)}for(let U in $)if(K[U]===void 0)K[U]=$[U];return K}class k3{eq(Z){return this==Z}range(Z,$=Z){return Q0.create(Z,$,this)}}k3.prototype.startSide=k3.prototype.endSide=0;k3.prototype.point=!1;k3.prototype.mapMode=Z3.TrackDel;function R7(Z,$){return Z==$||Z.constructor==$.constructor&&Z.eq($)}class Q0{constructor(Z,$,J){this.from=Z,this.to=$,this.value=J}static create(Z,$,J){return new Q0(Z,$,J)}}function _7(Z,$){return Z.from-$.from||Z.value.startSide-$.value.startSide}class I7{constructor(Z,$,J,K){this.from=Z,this.to=$,this.value=J,this.maxPoint=K}get length(){return this.to[this.to.length-1]}findIndex(Z,$,J,K=0){let U=J?this.to:this.from;for(let Q=K,X=U.length;;){if(Q==X)return Q;let Y=Q+X>>1,q=U[Y]-Z||(J?this.value[Y].endSide:this.value[Y].startSide)-$;if(Y==Q)return q>=0?Q:X;if(q>=0)X=Y;else Q=Y+1}}between(Z,$,J,K){for(let U=this.findIndex($,-1e9,!0),Q=this.findIndex(J,1e9,!1,U);U<Q;U++)if(K(this.from[U]+Z,this.to[U]+Z,this.value[U])===!1)return!1}map(Z,$){let J=[],K=[],U=[],Q=-1,X=-1;for(let Y=0;Y<this.value.length;Y++){let q=this.value[Y],G=this.from[Y]+Z,W=this.to[Y]+Z,z,j;if(G==W){let _=$.mapPos(G,q.startSide,q.mapMode);if(_==null)continue;if(z=j=_,q.startSide!=q.endSide){if(j=$.mapPos(G,q.endSide),j<z)continue}}else if(z=$.mapPos(G,q.startSide),j=$.mapPos(W,q.endSide),z>j||z==j&&q.startSide>0&&q.endSide<=0)continue;if((j-z||q.endSide-q.startSide)<0)continue;if(Q<0)Q=z;if(q.point)X=Math.max(X,j-z);J.push(q),K.push(z-Q),U.push(j-Q)}return{mapped:J.length?new I7(K,U,J,X):null,pos:Q}}}class k{constructor(Z,$,J,K){this.chunkPos=Z,this.chunk=$,this.nextLayer=J,this.maxPoint=K}static create(Z,$,J,K){return new k(Z,$,J,K)}get length(){let Z=this.chunk.length-1;return Z<0?0:Math.max(this.chunkEnd(Z),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let Z=this.nextLayer.size;for(let $ of this.chunk)Z+=$.value.length;return Z}chunkEnd(Z){return this.chunkPos[Z]+this.chunk[Z].length}update(Z){let{add:$=[],sort:J=!1,filterFrom:K=0,filterTo:U=this.length}=Z,Q=Z.filter;if($.length==0&&!Q)return this;if(J)$=$.slice().sort(_7);if(this.isEmpty)return $.length?k.of($):this;let X=new A7(this,null,-1).goto(0),Y=0,q=[],G=new $9;while(X.value||Y<$.length)if(Y<$.length&&(X.from-$[Y].from||X.startSide-$[Y].value.startSide)>=0){let W=$[Y++];if(!G.addInner(W.from,W.to,W.value))q.push(W)}else if(X.rangeIndex==1&&X.chunkIndex<this.chunk.length&&(Y==$.length||this.chunkEnd(X.chunkIndex)<$[Y].from)&&(!Q||K>this.chunkEnd(X.chunkIndex)||U<this.chunkPos[X.chunkIndex])&&G.addChunk(this.chunkPos[X.chunkIndex],this.chunk[X.chunkIndex]))X.nextChunk();else{if(!Q||K>X.to||U<X.from||Q(X.from,X.to,X.value)){if(!G.addInner(X.from,X.to,X.value))q.push(Q0.create(X.from,X.to,X.value))}X.next()}return G.finishInner(this.nextLayer.isEmpty&&!q.length?k.empty:this.nextLayer.update({add:q,filter:Q,filterFrom:K,filterTo:U}))}map(Z){if(Z.empty||this.isEmpty)return this;let $=[],J=[],K=-1;for(let Q=0;Q<this.chunk.length;Q++){let X=this.chunkPos[Q],Y=this.chunk[Q],q=Z.touchesRange(X,X+Y.length);if(q===!1)K=Math.max(K,Y.maxPoint),$.push(Y),J.push(Z.mapPos(X));else if(q===!0){let{mapped:G,pos:W}=Y.map(X,Z);if(G)K=Math.max(K,G.maxPoint),$.push(G),J.push(W)}}let U=this.nextLayer.map(Z);return $.length==0?U:new k(J,$,U||k.empty,K)}between(Z,$,J){if(this.isEmpty)return;for(let K=0;K<this.chunk.length;K++){let U=this.chunkPos[K],Q=this.chunk[K];if($>=U&&Z<=U+Q.length&&Q.between(U,Z-U,$-U,J)===!1)return}this.nextLayer.between(Z,$,J)}iter(Z=0){return X0.from([this]).goto(Z)}get isEmpty(){return this.nextLayer==this}static iter(Z,$=0){return X0.from(Z).goto($)}static compare(Z,$,J,K,U=-1){let Q=Z.filter((W)=>W.maxPoint>0||!W.isEmpty&&W.maxPoint>=U),X=$.filter((W)=>W.maxPoint>0||!W.isEmpty&&W.maxPoint>=U),Y=M4(Q,X,J),q=new w9(Q,Y,U),G=new w9(X,Y,U);if(J.iterGaps((W,z,j)=>E4(q,W,G,z,j,K)),J.empty&&J.length==0)E4(q,0,G,0,0,K)}static eq(Z,$,J=0,K){if(K==null)K=999999999;let U=Z.filter((G)=>!G.isEmpty&&$.indexOf(G)<0),Q=$.filter((G)=>!G.isEmpty&&Z.indexOf(G)<0);if(U.length!=Q.length)return!1;if(!U.length)return!0;let X=M4(U,Q),Y=new w9(U,X,0).goto(J),q=new w9(Q,X,0).goto(J);for(;;){if(Y.to!=q.to||!O7(Y.active,q.active)||Y.point&&(!q.point||!R7(Y.point,q.point)))return!1;if(Y.to>K)return!0;Y.next(),q.next()}}static spans(Z,$,J,K,U=-1){let Q=new w9(Z,null,U).goto($),X=$,Y=Q.openStart;for(;;){let q=Math.min(Q.to,J);if(Q.point){let G=Q.activeForPoint(Q.to),W=Q.pointFrom<$?G.length+1:Q.point.startSide<0?G.length:Math.min(G.length,Y);K.point(X,q,Q.point,G,W,Q.pointRank),Y=Math.min(Q.openEnd(q),G.length)}else if(q>X)K.span(X,q,Q.active,Y),Y=Q.openEnd(q);if(Q.to>J)return Y+(Q.point&&Q.to>J?1:0);X=Q.to,Q.next()}}static of(Z,$=!1){let J=new $9;for(let K of Z instanceof Q0?[Z]:$?YJ(Z):Z)J.add(K.from,K.to,K.value);return J.finish()}static join(Z){if(!Z.length)return k.empty;let $=Z[Z.length-1];for(let J=Z.length-2;J>=0;J--)for(let K=Z[J];K!=k.empty;K=K.nextLayer)$=new k(K.chunkPos,K.chunk,$,Math.max(K.maxPoint,$.maxPoint));return $}}k.empty=new k([],[],null,-1);function YJ(Z){if(Z.length>1)for(let $=Z[0],J=1;J<Z.length;J++){let K=Z[J];if(_7($,K)>0)return Z.slice().sort(_7);$=K}return Z}k.empty.nextLayer=k.empty;class $9{finishChunk(Z){if(this.chunks.push(new I7(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,Z)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(Z,$,J){if(!this.addInner(Z,$,J))(this.nextLayer||(this.nextLayer=new $9)).add(Z,$,J)}addInner(Z,$,J){let K=Z-this.lastTo||J.startSide-this.last.endSide;if(K<=0&&(Z-this.lastFrom||J.startSide-this.last.startSide)<0)throw Error("Ranges must be added sorted by `from` position and `startSide`");if(K<0)return!1;if(this.from.length==250)this.finishChunk(!0);if(this.chunkStart<0)this.chunkStart=Z;if(this.from.push(Z-this.chunkStart),this.to.push($-this.chunkStart),this.last=J,this.lastFrom=Z,this.lastTo=$,this.value.push(J),J.point)this.maxPoint=Math.max(this.maxPoint,$-Z);return!0}addChunk(Z,$){if((Z-this.lastTo||$.value[0].startSide-this.last.endSide)<0)return!1;if(this.from.length)this.finishChunk(!0);this.setMaxPoint=Math.max(this.setMaxPoint,$.maxPoint),this.chunks.push($),this.chunkPos.push(Z);let J=$.value.length-1;return this.last=$.value[J],this.lastFrom=$.from[J]+Z,this.lastTo=$.to[J]+Z,!0}finish(){return this.finishInner(k.empty)}finishInner(Z){if(this.from.length)this.finishChunk(!1);if(this.chunks.length==0)return Z;let $=k.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(Z):Z,this.setMaxPoint);return this.from=null,$}}function M4(Z,$,J){let K=new Map;for(let Q of Z)for(let X=0;X<Q.chunk.length;X++)if(Q.chunk[X].maxPoint<=0)K.set(Q.chunk[X],Q.chunkPos[X]);let U=new Set;for(let Q of $)for(let X=0;X<Q.chunk.length;X++){let Y=K.get(Q.chunk[X]);if(Y!=null&&(J?J.mapPos(Y):Y)==Q.chunkPos[X]&&!(J===null||J===void 0?void 0:J.touchesRange(Y,Y+Q.chunk[X].length)))U.add(Q.chunk[X])}return U}class A7{constructor(Z,$,J,K=0){this.layer=Z,this.skip=$,this.minPoint=J,this.rank=K}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(Z,$=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(Z,$,!1),this}gotoInner(Z,$,J){while(this.chunkIndex<this.layer.chunk.length){let K=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(K)||this.layer.chunkEnd(this.chunkIndex)<Z||K.maxPoint<this.minPoint))break;this.chunkIndex++,J=!1}if(this.chunkIndex<this.layer.chunk.length){let K=this.layer.chunk[this.chunkIndex].findIndex(Z-this.layer.chunkPos[this.chunkIndex],$,!0);if(!J||this.rangeIndex<K)this.setRangeIndex(K)}this.next()}forward(Z,$){if((this.to-Z||this.endSide-$)<0)this.gotoInner(Z,$,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let Z=this.layer.chunkPos[this.chunkIndex],$=this.layer.chunk[this.chunkIndex],J=Z+$.from[this.rangeIndex];if(this.from=J,this.to=Z+$.to[this.rangeIndex],this.value=$.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(Z){if(Z==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)while(this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]))this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=Z}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(Z){return this.from-Z.from||this.startSide-Z.startSide||this.rank-Z.rank||this.to-Z.to||this.endSide-Z.endSide}}class X0{constructor(Z){this.heap=Z}static from(Z,$=null,J=-1){let K=[];for(let U=0;U<Z.length;U++)for(let Q=Z[U];!Q.isEmpty;Q=Q.nextLayer)if(Q.maxPoint>=J)K.push(new A7(Q,$,J,U));return K.length==1?K[0]:new X0(K)}get startSide(){return this.value?this.value.startSide:0}goto(Z,$=-1e9){for(let J of this.heap)J.goto(Z,$);for(let J=this.heap.length>>1;J>=0;J--)Q7(this.heap,J);return this.next(),this}forward(Z,$){for(let J of this.heap)J.forward(Z,$);for(let J=this.heap.length>>1;J>=0;J--)Q7(this.heap,J);if((this.to-Z||this.value.endSide-$)<0)this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let Z=this.heap[0];if(this.from=Z.from,this.to=Z.to,this.value=Z.value,this.rank=Z.rank,Z.value)Z.next();Q7(this.heap,0)}}}function Q7(Z,$){for(let J=Z[$];;){let K=($<<1)+1;if(K>=Z.length)break;let U=Z[K];if(K+1<Z.length&&U.compare(Z[K+1])>=0)U=Z[K+1],K++;if(J.compare(U)<0)break;Z[K]=J,Z[$]=U,$=K}}class w9{constructor(Z,$,J){this.minPoint=J,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=X0.from(Z,$,J)}goto(Z,$=-1e9){return this.cursor.goto(Z,$),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=Z,this.endSide=$,this.openStart=-1,this.next(),this}forward(Z,$){while(this.minActive>-1&&(this.activeTo[this.minActive]-Z||this.active[this.minActive].endSide-$)<0)this.removeActive(this.minActive);this.cursor.forward(Z,$)}removeActive(Z){s0(this.active,Z),s0(this.activeTo,Z),s0(this.activeRank,Z),this.minActive=P4(this.active,this.activeTo)}addActive(Z){let $=0,{value:J,to:K,rank:U}=this.cursor;while($<this.activeRank.length&&(U-this.activeRank[$]||K-this.activeTo[$])>0)$++;if(n0(this.active,$,J),n0(this.activeTo,$,K),n0(this.activeRank,$,U),Z)n0(Z,$,this.cursor.from);this.minActive=P4(this.active,this.activeTo)}next(){let Z=this.to,$=this.point;this.point=null;let J=this.openStart<0?[]:null;for(;;){let K=this.minActive;if(K>-1&&(this.activeTo[K]-this.cursor.from||this.active[K].endSide-this.cursor.startSide)<0){if(this.activeTo[K]>Z){this.to=this.activeTo[K],this.endSide=this.active[K].endSide;break}if(this.removeActive(K),J)s0(J,K)}else if(!this.cursor.value){this.to=this.endSide=1e9;break}else if(this.cursor.from>Z){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let U=this.cursor.value;if(!U.point)this.addActive(J),this.cursor.next();else if($&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=U,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=U.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}}if(J){this.openStart=0;for(let K=J.length-1;K>=0&&J[K]<Z;K--)this.openStart++}}activeForPoint(Z){if(!this.active.length)return this.active;let $=[];for(let J=this.active.length-1;J>=0;J--){if(this.activeRank[J]<this.pointRank)break;if(this.activeTo[J]>Z||this.activeTo[J]==Z&&this.active[J].endSide>=this.point.endSide)$.push(this.active[J])}return $.reverse()}openEnd(Z){let $=0;for(let J=this.activeTo.length-1;J>=0&&this.activeTo[J]>Z;J--)$++;return $}}function E4(Z,$,J,K,U,Q){Z.goto($),J.goto(K);let X=K+U,Y=K,q=K-$,G=!!Q.boundChange;for(let W=!1;;){let z=Z.to+q-J.to,j=z||Z.endSide-J.endSide,_=j<0?Z.to+q:J.to,O=Math.min(_,X);if(Z.point||J.point){if(!(Z.point&&J.point&&R7(Z.point,J.point)&&O7(Z.activeForPoint(Z.to),J.activeForPoint(J.to))))Q.comparePoint(Y,O,Z.point,J.point);W=!1}else{if(W)Q.boundChange(Y);if(O>Y&&!O7(Z.active,J.active))Q.compareRange(Y,O,Z.active,J.active);if(G&&O<X&&(z||Z.openEnd(_)!=J.openEnd(_)))W=!0}if(_>X)break;if(Y=_,j<=0)Z.next();if(j>=0)J.next()}}function O7(Z,$){if(Z.length!=$.length)return!1;for(let J=0;J<Z.length;J++)if(Z[J]!=$[J]&&!R7(Z[J],$[J]))return!1;return!0}function s0(Z,$){for(let J=$,K=Z.length-1;J<K;J++)Z[J]=Z[J+1];Z.pop()}function n0(Z,$,J){for(let K=Z.length-1;K>=$;K--)Z[K+1]=Z[K];Z[$]=J}function P4(Z,$){let J=-1,K=1e9;for(let U=0;U<$.length;U++)if(($[U]-K||Z[U].endSide-Z[J].endSide)<0)J=U,K=$[U];return J}function Y0(Z,$,J=Z.length){let K=0;for(let U=0;U<J&&U<Z.length;)if(Z.charCodeAt(U)==9)K+=$-K%$,U++;else K++,U=P3(Z,U);return K}function e0(Z,$,J,K){for(let U=0,Q=0;;){if(Q>=$)return U;if(U==Z.length)break;Q+=Z.charCodeAt(U)==9?J-Q%J:1,U=P3(Z,U)}return K===!0?-1:Z.length}var f4=typeof Symbol>"u"?"__"+"ͼ":Symbol.for("ͼ"),B7=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),p4=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class w3{constructor(Z,$){this.rules=[];let{finish:J}=$||{};function K(Q){return/^@/.test(Q)?[Q]:Q.split(/,\s*/)}function U(Q,X,Y,q){let G=[],W=/^@(\w+)\b/.exec(Q[0]),z=W&&W[1]=="keyframes";if(W&&X==null)return Y.push(Q[0]+";");for(let j in X){let _=X[j];if(/&/.test(j))U(j.split(/,\s*/).map((O)=>Q.map((V)=>O.replace(/&/,V))).reduce((O,V)=>O.concat(V)),_,Y);else if(_&&typeof _=="object"){if(!W)throw RangeError("The value of a property ("+j+") should be a primitive value.");U(K(j),_,G,z)}else if(_!=null)G.push(j.replace(/_.*/,"").replace(/[A-Z]/g,(O)=>"-"+O.toLowerCase())+": "+_+";")}if(G.length||z)Y.push((J&&!W&&!q?Q.map(J):Q).join(", ")+" {"+G.join(" ")+"}")}for(let Q in Z)U(K(Q),Z[Q],this.rules)}getRules(){return this.rules.join(`
6
+ `)}static newName(){let Z=p4[f4]||1;return p4[f4]=Z+1,"ͼ"+Z.toString(36)}static mount(Z,$,J){let K=Z[B7],U=J&&J.nonce;if(!K)K=new d4(Z,U);else if(U)K.setNonce(U);K.mount(Array.isArray($)?$:[$],Z)}}var l4=new Map;class d4{constructor(Z,$){let J=Z.ownerDocument||Z,K=J.defaultView;if(!Z.head&&Z.adoptedStyleSheets&&K.CSSStyleSheet){let U=l4.get(J);if(U)return Z[B7]=U;this.sheet=new K.CSSStyleSheet,l4.set(J,this)}else if(this.styleTag=J.createElement("style"),$)this.styleTag.setAttribute("nonce",$);this.modules=[],Z[B7]=this}mount(Z,$){let J=this.sheet,K=0,U=0;for(let Q=0;Q<Z.length;Q++){let X=Z[Q],Y=this.modules.indexOf(X);if(Y<U&&Y>-1)this.modules.splice(Y,1),U--,Y=-1;if(Y==-1){if(this.modules.splice(U++,0,X),J)for(let q=0;q<X.rules.length;q++)J.insertRule(X.rules[q],K++)}else{while(U<Y)K+=this.modules[U++].rules.length;K+=X.rules.length,U++}}if(J){if($.adoptedStyleSheets.indexOf(this.sheet)<0)$.adoptedStyleSheets=[this.sheet,...$.adoptedStyleSheets]}else{let Q="";for(let Y=0;Y<this.modules.length;Y++)Q+=this.modules[Y].getRules()+`
7
+ `;this.styleTag.textContent=Q;let X=$.head||$;if(this.styleTag.parentNode!=X)X.insertBefore(this.styleTag,X.firstChild)}}setNonce(Z){if(this.styleTag&&this.styleTag.getAttribute("nonce")!=Z)this.styleTag.setAttribute("nonce",Z)}}var K9={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:"'"},g9={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},qJ=typeof navigator<"u"&&/Mac/.test(navigator.platform),GJ=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(r=0;r<10;r++)K9[48+r]=K9[96+r]=String(r);var r;for(r=1;r<=24;r++)K9[r+111]="F"+r;var r;for(r=65;r<=90;r++)K9[r]=String.fromCharCode(r+32),g9[r]=String.fromCharCode(r);var r;for(q0 in K9)if(!g9.hasOwnProperty(q0))g9[q0]=K9[q0];var q0;function c4(Z){var $=qJ&&Z.metaKey&&Z.shiftKey&&!Z.ctrlKey&&!Z.altKey||GJ&&Z.shiftKey&&Z.key&&Z.key.length==1||Z.key=="Unidentified",J=!$&&Z.key||(Z.shiftKey?g9:K9)[Z.keyCode]||Z.key||"Unidentified";if(J=="Esc")J="Escape";if(J=="Del")J="Delete";if(J=="Left")J="ArrowLeft";if(J=="Up")J="ArrowUp";if(J=="Right")J="ArrowRight";if(J=="Down")J="ArrowDown";return J}function W9(){var Z=arguments[0];if(typeof Z=="string")Z=document.createElement(Z);var $=1,J=arguments[1];if(J&&typeof J=="object"&&J.nodeType==null&&!Array.isArray(J)){for(var K in J)if(Object.prototype.hasOwnProperty.call(J,K)){var U=J[K];if(typeof U=="string")Z.setAttribute(K,U);else if(U!=null)Z[K]=U}$++}for(;$<arguments.length;$++)s4(Z,arguments[$]);return Z}function s4(Z,$){if(typeof $=="string")Z.appendChild(document.createTextNode($));else if($==null);else if($.nodeType!=null)Z.appendChild($);else if(Array.isArray($))for(var J=0;J<$.length;J++)s4(Z,$[J]);else throw RangeError("Unsupported child node: "+$)}var O3=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},k7=typeof document<"u"?document:{documentElement:{style:{}}},x7=/Edge\/(\d+)/.exec(O3.userAgent),S8=/MSIE \d/.test(O3.userAgent),w7=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(O3.userAgent),C5=!!(S8||w7||x7),n4=!C5&&/gecko\/(\d+)/i.test(O3.userAgent),M7=!C5&&/Chrome\/(\d+)/.exec(O3.userAgent),i4="webkitFontSmoothing"in k7.documentElement.style,h7=!C5&&/Apple Computer/.test(O3.vendor),r4=h7&&(/Mobile\/\w+/.test(O3.userAgent)||O3.maxTouchPoints>2),A={mac:r4||/Mac/.test(O3.platform),windows:/Win/.test(O3.platform),linux:/Linux|X11/.test(O3.platform),ie:C5,ie_version:S8?k7.documentMode||6:w7?+w7[1]:x7?+x7[1]:0,gecko:n4,gecko_version:n4?+(/Firefox\/(\d+)/.exec(O3.userAgent)||[0,0])[1]:0,chrome:!!M7,chrome_version:M7?+M7[1]:0,ios:r4,android:/Android\b/.test(O3.userAgent),webkit:i4,webkit_version:i4?+(/\bAppleWebKit\/(\d+)/.exec(O3.userAgent)||[0,0])[1]:0,safari:h7,safari_version:h7?+(/\bVersion\/(\d+(\.\d+)?)/.exec(O3.userAgent)||[0,0])[1]:0,tabSize:k7.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function QZ(Z,$){for(let J in Z)if(J=="class"&&$.class)$.class+=" "+Z.class;else if(J=="style"&&$.style)$.style+=";"+Z.style;else $[J]=Z[J];return $}var D5=Object.create(null);function XZ(Z,$,J){if(Z==$)return!0;if(!Z)Z=D5;if(!$)$=D5;let K=Object.keys(Z),U=Object.keys($);if(K.length-(J&&K.indexOf(J)>-1?1:0)!=U.length-(J&&U.indexOf(J)>-1?1:0))return!1;for(let Q of K)if(Q!=J&&(U.indexOf(Q)==-1||Z[Q]!==$[Q]))return!1;return!0}function WJ(Z,$){for(let J=Z.attributes.length-1;J>=0;J--){let K=Z.attributes[J].name;if($[K]==null)Z.removeAttribute(K)}for(let J in $){let K=$[J];if(J=="style")Z.style.cssText=K;else if(Z.getAttribute(J)!=K)Z.setAttribute(J,K)}}function a4(Z,$,J){let K=!1;if($){for(let U in $)if(!(J&&(U in J)))if(K=!0,U=="style")Z.style.cssText="";else Z.removeAttribute(U)}if(J){for(let U in J)if(!($&&$[U]==J[U]))if(K=!0,U=="style")Z.style.cssText=J[U];else Z.setAttribute(U,J[U])}return K}function zJ(Z){let $=Object.create(null);for(let J=0;J<Z.attributes.length;J++){let K=Z.attributes[J];$[K.name]=K.value}return $}class T3{eq(Z){return!1}updateDOM(Z,$,J){return!1}compare(Z){return this==Z||this.constructor==Z.constructor&&this.eq(Z)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(Z){return!0}coordsAt(Z,$,J){return null}get isHidden(){return!1}get editable(){return!1}destroy(Z){}}var Y3=function(Z){return Z[Z.Text=0]="Text",Z[Z.WidgetBefore=1]="WidgetBefore",Z[Z.WidgetAfter=2]="WidgetAfter",Z[Z.WidgetRange=3]="WidgetRange",Z}(Y3||(Y3={}));class w extends k3{constructor(Z,$,J,K){super();this.startSide=Z,this.endSide=$,this.widget=J,this.spec=K}get heightRelevant(){return!1}static mark(Z){return new I0(Z)}static widget(Z){let $=Math.max(-1e4,Math.min(1e4,Z.side||0)),J=!!Z.block;return $+=J&&!Z.inlineOrder?$>0?300000000:-400000000:$>0?1e8:-1e8,new I9(Z,$,$,J,Z.widget||null,!1)}static replace(Z){let $=!!Z.block,J,K;if(Z.isBlockGap)J=-500000000,K=400000000;else{let{start:U,end:Q}=b8(Z,$);J=(U?$?-300000000:-1:500000000)-1,K=(Q?$?200000000:1:-600000000)+1}return new I9(Z,J,K,$,Z.widget||null,!0)}static line(Z){return new A0(Z)}static set(Z,$=!1){return k.of(Z,$)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}w.none=k.empty;class I0 extends w{constructor(Z){let{start:$,end:J}=b8(Z);super($?-1:500000000,J?1:-600000000,null,Z);this.tagName=Z.tagName||"span",this.attrs=Z.class&&Z.attributes?QZ(Z.attributes,{class:Z.class}):Z.class?{class:Z.class}:Z.attributes||D5}eq(Z){return this==Z||Z instanceof I0&&this.tagName==Z.tagName&&XZ(this.attrs,Z.attrs)}range(Z,$=Z){if(Z>=$)throw RangeError("Mark decorations may not be empty");return super.range(Z,$)}}I0.prototype.point=!1;class A0 extends w{constructor(Z){super(-200000000,-200000000,null,Z)}eq(Z){return Z instanceof A0&&this.spec.class==Z.spec.class&&XZ(this.spec.attributes,Z.spec.attributes)}range(Z,$=Z){if($!=Z)throw RangeError("Line decoration ranges must be zero-length");return super.range(Z,$)}}A0.prototype.mapMode=Z3.TrackBefore;A0.prototype.point=!0;class I9 extends w{constructor(Z,$,J,K,U,Q){super($,J,U,Z);this.block=K,this.isReplace=Q,this.mapMode=!K?Z3.TrackDel:$<=0?Z3.TrackBefore:Z3.TrackAfter}get type(){return this.startSide!=this.endSide?Y3.WidgetRange:this.startSide<=0?Y3.WidgetBefore:Y3.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(Z){return Z instanceof I9&&jJ(this.widget,Z.widget)&&this.block==Z.block&&this.startSide==Z.startSide&&this.endSide==Z.endSide}range(Z,$=Z){if(this.isReplace&&(Z>$||Z==$&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&$!=Z)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(Z,$)}}I9.prototype.point=!0;function b8(Z,$=!1){let{inclusiveStart:J,inclusiveEnd:K}=Z;if(J==null)J=Z.inclusive;if(K==null)K=Z.inclusive;return{start:J!==null&&J!==void 0?J:$,end:K!==null&&K!==void 0?K:$}}function jJ(Z,$){return Z==$||!!(Z&&$&&Z.compare($))}function d9(Z,$,J,K=0){let U=J.length-1;if(U>=0&&J[U]+K>=Z)J[U]=Math.max(J[U],$);else J.push(Z,$)}class F0 extends k3{constructor(Z,$,J){super();this.tagName=Z,this.attributes=$,this.rank=J}eq(Z){return Z==this||Z instanceof F0&&this.tagName==Z.tagName&&XZ(this.attributes,Z.attributes)}static create(Z){return new F0(Z.tagName,Z.attributes||D5,Z.rank==null?50:Math.max(0,Math.min(Z.rank,100)))}static set(Z,$=!1){return k.of(Z,$)}}F0.prototype.startSide=F0.prototype.endSide=-1;function D0(Z){let $;if(Z.nodeType==11)$=Z.getSelection?Z:Z.ownerDocument;else $=Z;return $.getSelection()}function v7(Z,$){return $?Z==$||Z.contains($.nodeType!=1?$.parentNode:$):!1}function O0(Z,$){if(!$.anchorNode)return!1;try{return v7(Z,$.anchorNode)}catch(J){return!1}}function G5(Z){if(Z.nodeType==3)return L0(Z,0,Z.nodeValue.length).getClientRects();else if(Z.nodeType==1)return Z.getClientRects();else return[]}function V0(Z,$,J,K){return J?o4(Z,$,J,K,-1)||o4(Z,$,J,K,1):!1}function j9(Z){for(var $=0;;$++)if(Z=Z.previousSibling,!Z)return $}function L5(Z){return Z.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(Z.nodeName)}function o4(Z,$,J,K,U){for(;;){if(Z==J&&$==K)return!0;if($==(U<0?0:X9(Z))){if(Z.nodeName=="DIV")return!1;let Q=Z.parentNode;if(!Q||Q.nodeType!=1)return!1;$=j9(Z)+(U<0?0:1),Z=Q}else if(Z.nodeType==1){if(Z=Z.childNodes[$+(U<0?-1:0)],Z.nodeType==1&&Z.contentEditable=="false")return!1;$=U<0?X9(Z):0}else return!1}}function X9(Z){return Z.nodeType==3?Z.nodeValue.length:Z.childNodes.length}function R5(Z,$){let{left:J,right:K}=Z;if(J==K)return Z;let U=$?J:K;return{left:U,right:U,top:Z.top,bottom:Z.bottom}}function _J(Z){let $=Z.visualViewport;if($)return{left:0,right:$.width,top:0,bottom:$.height};return{left:0,right:Z.innerWidth,top:0,bottom:Z.innerHeight}}function k8(Z,$){let J=$.width/Z.offsetWidth,K=$.height/Z.offsetHeight;if(J>0.995&&J<1.005||!isFinite(J)||Math.abs($.width-Z.offsetWidth)<1)J=1;if(K>0.995&&K<1.005||!isFinite(K)||Math.abs($.height-Z.offsetHeight)<1)K=1;return{scaleX:J,scaleY:K}}function OJ(Z,$,J,K,U,Q,X,Y){let q=Z.ownerDocument,G=q.defaultView||window;for(let W=Z,z=!1;W&&!z;)if(W.nodeType==1){let j,_=W==q.body,O=1,V=1;if(_)j=_J(G);else{if(/^(fixed|sticky)$/.test(getComputedStyle(W).position))z=!0;if(W.scrollHeight<=W.clientHeight&&W.scrollWidth<=W.clientWidth){W=W.assignedSlot||W.parentNode;continue}let D=W.getBoundingClientRect();({scaleX:O,scaleY:V}=k8(W,D)),j={left:D.left,right:D.left+W.clientWidth*O,top:D.top,bottom:D.top+W.clientHeight*V}}let H=0,F=0;if(U=="nearest"){if($.top<j.top+X){if(F=$.top-(j.top+X),J>0&&$.bottom>j.bottom+F)F=$.bottom-j.bottom+X}else if($.bottom>j.bottom-X){if(F=$.bottom-j.bottom+X,J<0&&$.top-F<j.top)F=$.top-(j.top+X)}}else{let D=$.bottom-$.top,B=j.bottom-j.top;F=(U=="center"&&D<=B?$.top+D/2-B/2:U=="start"||U=="center"&&J<0?$.top-X:$.bottom-B+X)-j.top}if(K=="nearest"){if($.left<j.left+Q){if(H=$.left-(j.left+Q),J>0&&$.right>j.right+H)H=$.right-j.right+Q}else if($.right>j.right-Q){if(H=$.right-j.right+Q,J<0&&$.left<j.left+H)H=$.left-(j.left+Q)}}else H=(K=="center"?$.left+($.right-$.left)/2-(j.right-j.left)/2:K=="start"==Y?$.left-Q:$.right-(j.right-j.left)+Q)-j.left;if(H||F)if(_)G.scrollBy(H,F);else{let D=0,B=0;if(F){let P=W.scrollTop;W.scrollTop+=F/V,B=(W.scrollTop-P)*V}if(H){let P=W.scrollLeft;W.scrollLeft+=H/O,D=(W.scrollLeft-P)*O}if($={left:$.left-D,top:$.top-B,right:$.right-D,bottom:$.bottom-B},D&&Math.abs(D-H)<1)K="nearest";if(B&&Math.abs(B-F)<1)U="nearest"}if(_)break;if($.top<j.top||$.bottom>j.bottom||$.left<j.left||$.right>j.right)$={left:Math.max($.left,j.left),right:Math.min($.right,j.right),top:Math.max($.top,j.top),bottom:Math.min($.bottom,j.bottom)};W=W.assignedSlot||W.parentNode}else if(W.nodeType==11)W=W.host;else break}function x8(Z,$=!0){let J=Z.ownerDocument,K=null,U=null;for(let Q=Z.parentNode;Q;)if(Q==J.body||(!$||K)&&U)break;else if(Q.nodeType==1){if(!U&&Q.scrollHeight>Q.clientHeight)U=Q;if($&&!K&&Q.scrollWidth>Q.clientWidth)K=Q;Q=Q.assignedSlot||Q.parentNode}else if(Q.nodeType==11)Q=Q.host;else break;return{x:K,y:U}}class w8{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(Z){return this.anchorNode==Z.anchorNode&&this.anchorOffset==Z.anchorOffset&&this.focusNode==Z.focusNode&&this.focusOffset==Z.focusOffset}setRange(Z){let{anchorNode:$,focusNode:J}=Z;this.set($,Math.min(Z.anchorOffset,$?X9($):0),J,Math.min(Z.focusOffset,J?X9(J):0))}set(Z,$,J,K){this.anchorNode=Z,this.anchorOffset=$,this.focusNode=J,this.focusOffset=K}}var D9=null;if(A.safari&&A.safari_version>=26)D9=!1;function h8(Z){if(Z.setActive)return Z.setActive();if(D9)return Z.focus(D9);let $=[];for(let J=Z;J;J=J.parentNode)if($.push(J,J.scrollTop,J.scrollLeft),J==J.ownerDocument)break;if(Z.focus(D9==null?{get preventScroll(){return D9={preventScroll:!0},!0}}:void 0),!D9){D9=!1;for(let J=0;J<$.length;){let K=$[J++],U=$[J++],Q=$[J++];if(K.scrollTop!=U)K.scrollTop=U;if(K.scrollLeft!=Q)K.scrollLeft=Q}}}var t4;function L0(Z,$,J=$){let K=t4||(t4=document.createRange());return K.setEnd(Z,J),K.setStart(Z,$),K}function c9(Z,$,J,K){let U={key:$,code:$,keyCode:J,which:J,cancelable:!0};if(K)({altKey:U.altKey,ctrlKey:U.ctrlKey,shiftKey:U.shiftKey,metaKey:U.metaKey}=K);let Q=new KeyboardEvent("keydown",U);Q.synthetic=!0,Z.dispatchEvent(Q);let X=new KeyboardEvent("keyup",U);return X.synthetic=!0,Z.dispatchEvent(X),Q.defaultPrevented||X.defaultPrevented}function VJ(Z){while(Z){if(Z&&(Z.nodeType==9||Z.nodeType==11&&Z.host))return Z;Z=Z.assignedSlot||Z.parentNode}return null}function HJ(Z,$){let{focusNode:J,focusOffset:K}=$;if(!J||$.anchorNode!=J||$.anchorOffset!=K)return!1;K=Math.min(K,X9(J));for(;;)if(K){if(J.nodeType!=1)return!1;let U=J.childNodes[K-1];if(U.contentEditable=="false")K--;else J=U,K=X9(J)}else if(J==Z)return!0;else K=j9(J),J=J.parentNode}function v8(Z){if(Z instanceof Window)return Z.pageYOffset>Math.max(0,Z.document.documentElement.scrollHeight-Z.innerHeight-4);return Z.scrollTop>Math.max(1,Z.scrollHeight-Z.clientHeight-4)}function m8(Z,$){for(let J=Z,K=$;;)if(J.nodeType==3&&K>0)return{node:J,offset:K};else if(J.nodeType==1&&K>0){if(J.contentEditable=="false")return null;J=J.childNodes[K-1],K=X9(J)}else if(J.parentNode&&!L5(J))K=j9(J),J=J.parentNode;else return null}function u8(Z,$){for(let J=Z,K=$;;)if(J.nodeType==3&&K<J.nodeValue.length)return{node:J,offset:K};else if(J.nodeType==1&&K<J.childNodes.length){if(J.contentEditable=="false")return null;J=J.childNodes[K],K=0}else if(J.parentNode&&!L5(J))K=j9(J)+1,J=J.parentNode;else return null}class m3{constructor(Z,$,J=!0){this.node=Z,this.offset=$,this.precise=J}static before(Z,$){return new m3(Z.parentNode,j9(Z),$)}static after(Z,$){return new m3(Z.parentNode,j9(Z)+1,$)}}var l=function(Z){return Z[Z.LTR=0]="LTR",Z[Z.RTL=1]="RTL",Z}(l||(l={})),A9=l.LTR,YZ=l.RTL;function g8(Z){let $=[];for(let J=0;J<Z.length;J++)$.push(1<<+Z[J]);return $}var NJ=g8("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),FJ=g8("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),m7=Object.create(null),n3=[];for(let Z of["()","[]","{}"]){let $=Z.charCodeAt(0),J=Z.charCodeAt(1);m7[$]=J,m7[J]=-$}function f8(Z){return Z<=247?NJ[Z]:1424<=Z&&Z<=1524?2:1536<=Z&&Z<=1785?FJ[Z-1536]:1774<=Z&&Z<=2220?4:8192<=Z&&Z<=8204?256:64336<=Z&&Z<=65023?4:1}var DJ=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class u3{get dir(){return this.level%2?YZ:A9}constructor(Z,$,J){this.from=Z,this.to=$,this.level=J}side(Z,$){return this.dir==$==Z?this.to:this.from}forward(Z,$){return Z==(this.dir==$)}static find(Z,$,J,K){let U=-1;for(let Q=0;Q<Z.length;Q++){let X=Z[Q];if(X.from<=$&&X.to>=$){if(X.level==J)return Q;if(U<0||(K!=0?K<0?X.from<$:X.to>$:Z[U].level>X.level))U=Q}}if(U<0)throw RangeError("Index out of range");return U}}function p8(Z,$){if(Z.length!=$.length)return!1;for(let J=0;J<Z.length;J++){let K=Z[J],U=$[J];if(K.from!=U.from||K.to!=U.to||K.direction!=U.direction||!p8(K.inner,U.inner))return!1}return!0}var c=[];function LJ(Z,$,J,K,U){for(let Q=0;Q<=K.length;Q++){let X=Q?K[Q-1].to:$,Y=Q<K.length?K[Q].from:J,q=Q?256:U;for(let G=X,W=q,z=q;G<Y;G++){let j=f8(Z.charCodeAt(G));if(j==512)j=W;else if(j==8&&z==4)j=16;if(c[G]=j==4?2:j,j&7)z=j;W=j}for(let G=X,W=q,z=q;G<Y;G++){let j=c[G];if(j==128)if(G<Y-1&&W==c[G+1]&&W&24)j=c[G]=W;else c[G]=256;else if(j==64){let _=G+1;while(_<Y&&c[_]==64)_++;let O=G&&W==8||_<J&&c[_]==8?z==1?1:8:256;for(let V=G;V<_;V++)c[V]=O;G=_-1}else if(j==8&&z==1)c[G]=1;if(W=j,j&7)z=j}}}function RJ(Z,$,J,K,U){let Q=U==1?2:1;for(let X=0,Y=0,q=0;X<=K.length;X++){let G=X?K[X-1].to:$,W=X<K.length?K[X].from:J;for(let z=G,j,_,O;z<W;z++)if(_=m7[j=Z.charCodeAt(z)])if(_<0){for(let V=Y-3;V>=0;V-=3)if(n3[V+1]==-_){let H=n3[V+2],F=H&2?U:!(H&4)?0:H&1?Q:U;if(F)c[z]=c[n3[V]]=F;Y=V;break}}else if(n3.length==189)break;else n3[Y++]=z,n3[Y++]=j,n3[Y++]=q;else if((O=c[z])==2||O==1){let V=O==U;q=V?0:1;for(let H=Y-3;H>=0;H-=3){let F=n3[H+2];if(F&2)break;if(V)n3[H+2]|=2;else{if(F&4)break;n3[H+2]|=4}}}}}function IJ(Z,$,J,K){for(let U=0,Q=K;U<=J.length;U++){let X=U?J[U-1].to:Z,Y=U<J.length?J[U].from:$;for(let q=X;q<Y;){let G=c[q];if(G==256){let W=q+1;for(;;)if(W==Y){if(U==J.length)break;W=J[U++].to,Y=U<J.length?J[U].from:$}else if(c[W]==256)W++;else break;let z=Q==1,j=(W<$?c[W]:K)==1,_=z==j?z?1:2:K;for(let O=W,V=U,H=V?J[V-1].to:Z;O>q;){if(O==H)O=J[--V].from,H=V?J[V-1].to:Z;c[--O]=_}q=W}else Q=G,q++}}}function u7(Z,$,J,K,U,Q,X){let Y=K%2?2:1;if(K%2==U%2)for(let q=$,G=0;q<J;){let W=!0,z=!1;if(G==Q.length||q<Q[G].from){let V=c[q];if(V!=Y)W=!1,z=V==16}let j=!W&&Y==1?[]:null,_=W?K:K+1,O=q;Z:for(;;)if(G<Q.length&&O==Q[G].from){if(z)break Z;let V=Q[G];if(!W)for(let H=V.to,F=G+1;;){if(H==J)break Z;if(F<Q.length&&Q[F].from==H)H=Q[F++].to;else if(c[H]==Y)break Z;else break}if(G++,j)j.push(V);else{if(V.from>q)X.push(new u3(q,V.from,_));let H=V.direction==A9!=!(_%2);g7(Z,H?K+1:K,U,V.inner,V.from,V.to,X),q=V.to}O=V.to}else if(O==J||(W?c[O]!=Y:c[O]==Y))break;else O++;if(j)u7(Z,q,O,K+1,U,j,X);else if(q<O)X.push(new u3(q,O,_));q=O}else for(let q=J,G=Q.length;q>$;){let W=!0,z=!1;if(!G||q>Q[G-1].to){let V=c[q-1];if(V!=Y)W=!1,z=V==16}let j=!W&&Y==1?[]:null,_=W?K:K+1,O=q;Z:for(;;)if(G&&O==Q[G-1].to){if(z)break Z;let V=Q[--G];if(!W)for(let H=V.from,F=G;;){if(H==$)break Z;if(F&&Q[F-1].to==H)H=Q[--F].from;else if(c[H-1]==Y)break Z;else break}if(j)j.push(V);else{if(V.to<q)X.push(new u3(V.to,q,_));let H=V.direction==A9!=!(_%2);g7(Z,H?K+1:K,U,V.inner,V.from,V.to,X),q=V.from}O=V.from}else if(O==$||(W?c[O-1]!=Y:c[O-1]==Y))break;else O--;if(j)u7(Z,O,q,K+1,U,j,X);else if(O<q)X.push(new u3(O,q,_));q=O}}function g7(Z,$,J,K,U,Q,X){let Y=$%2?2:1;LJ(Z,U,Q,K,Y),RJ(Z,U,Q,K,Y),IJ(U,Q,K,Y),u7(Z,U,Q,$,J,K,X)}function AJ(Z,$,J){if(!Z)return[new u3(0,0,$==YZ?1:0)];if($==A9&&!J.length&&!DJ.test(Z))return l8(Z.length);if(J.length)while(Z.length>c.length)c[c.length]=256;let K=[],U=$==A9?0:1;return g7(Z,U,U,J,0,Z.length,K),K}function l8(Z){return[new u3(0,Z,0)]}var d8="";function BJ(Z,$,J,K,U){var Q;let X=K.head-Z.from,Y=u3.find($,X,(Q=K.bidiLevel)!==null&&Q!==void 0?Q:-1,K.assoc),q=$[Y],G=q.side(U,J);if(X==G){let j=Y+=U?1:-1;if(j<0||j>=$.length)return null;q=$[Y=j],X=q.side(!U,J),G=q.side(U,J)}let W=P3(Z.text,X,q.forward(U,J));if(W<q.from||W>q.to)W=G;d8=Z.text.slice(Math.min(X,W),Math.max(X,W));let z=Y==(U?$.length-1:0)?null:$[Y+(U?1:-1)];if(z&&W==G&&z.level+(U?0:1)<q.level)return L.cursor(z.side(!U,J)+Z.from,z.forward(U,J)?1:-1,z.level);return L.cursor(W+Z.from,q.forward(U,J)?-1:1,q.level)}function MJ(Z,$,J){for(let K=$;K<J;K++){let U=f8(Z.charCodeAt(K));if(U==1)return A9;if(U==2||U==4)return YZ}return A9}var c8=E.define(),s8=E.define(),n8=E.define(),i8=E.define(),f7=E.define(),r8=E.define(),a8=E.define(),qZ=E.define(),GZ=E.define(),o8=E.define({combine:(Z)=>Z.some(($)=>$)}),t8=E.define({combine:(Z)=>Z.some(($)=>$)}),e8=E.define();class s9{constructor(Z,$,J,K,U,Q=!1){this.range=Z,this.y=$,this.x=J,this.yMargin=K,this.xMargin=U,this.isSnapshot=Q}map(Z){return Z.empty?this:new s9(this.range.map(Z),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(Z){return this.range.to<=Z.doc.length?this:new s9(L.cursor(Z.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}var Z5=x.define({map:(Z,$)=>Z.map($)}),Z6=x.define();function W3(Z,$,J){let K=Z.facet(i8);if(K.length)K[0]($);else if(window.onerror&&window.onerror(String($),J,void 0,void 0,$));else if(J)console.error(J+":",$);else console.error($)}var U9=E.define({combine:(Z)=>Z.length?Z[0]:!0}),EJ=0,p9=E.define({combine(Z){return Z.filter(($,J)=>{for(let K=0;K<J;K++)if(Z[K].plugin==$.plugin)return!1;return!0})}});class t{constructor(Z,$,J,K,U){this.id=Z,this.create=$,this.domEventHandlers=J,this.domEventObservers=K,this.baseExtensions=U(this),this.extension=this.baseExtensions.concat(p9.of({plugin:this,arg:void 0}))}of(Z){return this.baseExtensions.concat(p9.of({plugin:this,arg:Z}))}static define(Z,$){let{eventHandlers:J,eventObservers:K,provide:U,decorations:Q}=$||{};return new t(EJ++,Z,J,K,(X)=>{let Y=[];if(Q)Y.push(T5.of((q)=>{let G=q.plugin(X);return G?Q(G):w.none}));if(U)Y.push(U(X));return Y})}static fromClass(Z,$){return t.define((J,K)=>new Z(J,K),$)}}class W5{constructor(Z){this.spec=Z,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(Z){if(!this.value){if(this.spec)try{this.value=this.spec.plugin.create(Z,this.spec.arg)}catch($){W3(Z.state,$,"CodeMirror plugin crashed"),this.deactivate()}}else if(this.mustUpdate){let $=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update($)}catch(J){if(W3($.state,J,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(K){}this.deactivate()}}return this}destroy(Z){var $;if(($=this.value)===null||$===void 0?void 0:$.destroy)try{this.value.destroy()}catch(J){W3(Z.state,J,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}var $6=E.define(),WZ=E.define(),T5=E.define(),J6=E.define(),zZ=E.define(),B0=E.define(),K6=E.define();function e4(Z,$){let J=Z.state.facet(K6);if(!J.length)return J;let K=J.map((Q)=>Q instanceof Function?Q(Z):Q),U=[];return k.spans(K,$.from,$.to,{point(){},span(Q,X,Y,q){let G=Q-$.from,W=X-$.from,z=U;for(let j=Y.length-1;j>=0;j--,q--){let _=Y[j].spec.bidiIsolate,O;if(_==null)_=MJ($.text,G,W);if(q>0&&z.length&&(O=z[z.length-1]).to==G&&O.direction==_)O.to=W,z=O.inner;else{let V={from:G,to:W,direction:_,inner:[]};z.push(V),z=V.inner}}}}),U}var U6=E.define();function jZ(Z){let $=0,J=0,K=0,U=0;for(let Q of Z.state.facet(U6)){let X=Q(Z);if(X){if(X.left!=null)$=Math.max($,X.left);if(X.right!=null)J=Math.max(J,X.right);if(X.top!=null)K=Math.max(K,X.top);if(X.bottom!=null)U=Math.max(U,X.bottom)}}return{left:$,right:J,top:K,bottom:U}}var G0=E.define();class C3{constructor(Z,$,J,K){this.fromA=Z,this.toA=$,this.fromB=J,this.toB=K}join(Z){return new C3(Math.min(this.fromA,Z.fromA),Math.max(this.toA,Z.toA),Math.min(this.fromB,Z.fromB),Math.max(this.toB,Z.toB))}addToSet(Z){let $=Z.length,J=this;for(;$>0;$--){let K=Z[$-1];if(K.fromA>J.toA)continue;if(K.toA<J.fromA)break;J=J.join(K),Z.splice($-1,1)}return Z.splice($,0,J),Z}static extendWithRanges(Z,$){if($.length==0)return Z;let J=[];for(let K=0,U=0,Q=0;;){let X=K<Z.length?Z[K].fromB:1e9,Y=U<$.length?$[U]:1e9,q=Math.min(X,Y);if(q==1e9)break;let G=q+Q,W=q,z=G;for(;;)if(U<$.length&&$[U]<=W){let j=$[U+1];U+=2,W=Math.max(W,j);for(let _=K;_<Z.length&&Z[_].fromB<=W;_++)Q=Z[_].toA-Z[_].toB;z=Math.max(z,j+Q)}else if(K<Z.length&&Z[K].fromB<=W){let j=Z[K++];W=Math.max(W,j.toB),z=Math.max(z,j.toA),Q=j.toA-j.toB}else break;J.push(new C3(G,z,q,W))}return J}}class I5{constructor(Z,$,J){this.view=Z,this.state=$,this.transactions=J,this.flags=0,this.startState=Z.state,this.changes=e.empty(this.startState.doc.length);for(let U of J)this.changes=this.changes.compose(U.changes);let K=[];this.changes.iterChangedRanges((U,Q,X,Y)=>K.push(new C3(U,Q,X,Y))),this.changedRanges=K}static create(Z,$,J){return new I5(Z,$,J)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((Z)=>Z.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var PJ=[];class a{constructor(Z,$,J=0){this.dom=Z,this.length=$,this.flags=J,this.parent=null,Z.cmTile=this}get breakAfter(){return this.flags&1}get children(){return PJ}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(Z){if(this.flags|=2,this.flags&4){this.flags&=-5;let $=this.domAttrs;if($)WJ(this.dom,$)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(Z){this.dom=Z,Z.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(Z,$=this.posAtStart){let J=$;for(let K of this.children){if(K==Z)return J;J+=K.length+K.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(Z){return this.posBefore(Z)+Z.length}covers(Z){return!0}coordsIn(Z,$,J){return null}domPosFor(Z,$){let J=j9(this.dom),K=this.length?Z>0:$>0;return new m3(this.parent.dom,J+(K?1:0),Z==0||Z==this.length)}markDirty(Z){if(this.flags&=-3,Z)this.flags|=4;if(this.parent&&this.parent.flags&2)this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let Z=this;Z;Z=Z.parent)if(Z instanceof E0)return Z;return null}static get(Z){return Z.cmTile}}class M0 extends a{constructor(Z){super(Z,0);this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(Z){this.children.push(Z),Z.parent=this}sync(Z){if(this.flags&2)return;super.sync(Z);let $=this.dom,J=null,K,U=(Z===null||Z===void 0?void 0:Z.node)==$?Z:null,Q=0;for(let X of this.children){if(X.sync(Z),Q+=X.length+X.breakAfter,K=J?J.nextSibling:$.firstChild,U&&K!=X.dom)U.written=!0;if(X.dom.parentNode==$)while(K&&K!=X.dom)K=Z8(K);else $.insertBefore(X.dom,K);J=X.dom}if(K=J?J.nextSibling:$.firstChild,U&&K)U.written=!0;while(K)K=Z8(K);this.length=Q}}function Z8(Z){let $=Z.nextSibling;return Z.parentNode.removeChild(Z),$}class E0 extends M0{constructor(Z,$){super($);this.view=Z}owns(Z){for(;Z;Z=Z.parent)if(Z==this)return!0;return!1}isBlock(){return!0}nearest(Z){for(;;){if(!Z)return null;let $=a.get(Z);if($&&this.owns($))return $;Z=Z.parentNode}}blockTiles(Z){for(let $=[],J=this,K=0,U=0;;)if(K==J.children.length){if(!$.length)return;if(J=J.parent,J.breakAfter)U++;K=$.pop()}else{let Q=J.children[K++];if(Q instanceof Q9)$.push(K),J=Q,K=0;else{let X=U+Q.length,Y=Z(Q,U);if(Y!==void 0)return Y;U=X+Q.breakAfter}}}resolveBlock(Z,$){let J,K=-1,U,Q=-1;if(this.blockTiles((X,Y)=>{let q=Y+X.length;if(Z>=Y&&Z<=q){if(X.isWidget()&&$>=-1&&$<=1){if(X.flags&32)return!0;if(X.flags&16)J=void 0}if((Y<Z||Z==q&&($<-1?X.length:X.covers(1)))&&(!J||!X.isWidget()&&J.isWidget()))J=X,K=Z-Y;if((q>Z||Z==Y&&($>1?X.length:X.covers(-1)))&&(!U||!X.isWidget()&&U.isWidget()))U=X,Q=Z-Y}}),!J&&!U)throw Error("No tile at position "+Z);return J&&$<0||!U?{tile:J,offset:K}:{tile:U,offset:Q}}}class Q9 extends M0{constructor(Z,$){super(Z);this.wrapper=$}isBlock(){return!0}covers(Z){if(!this.children.length)return!1;return Z<0?this.children[0].covers(-1):this.lastChild.covers(1)}get domAttrs(){return this.wrapper.attributes}static of(Z,$){let J=new Q9($||document.createElement(Z.tagName),Z);if(!$)J.flags|=4;return J}}class n9 extends M0{constructor(Z,$){super(Z);this.attrs=$}isLine(){return!0}static start(Z,$,J){let K=new n9($||document.createElement("div"),Z);if(!$||!J)K.flags|=4;return K}get domAttrs(){return this.attrs}resolveInline(Z,$,J){let K=null,U=-1,Q=null,X=-1;function Y(G,W){for(let z=0,j=0;z<G.children.length&&j<=W;z++){let _=G.children[z],O=j+_.length;if(O>=W){if(_.isComposite())Y(_,W-j);else if((!Q||Q.isHidden&&($>0&&!(Q.flags&32)||J&&TJ(Q,_)))&&(O>W||_.flags&32))Q=_,X=W-j;else if(j<W||_.flags&16&&!_.isHidden)K=_,U=W-j}j=O}}Y(this,Z);let q=($<0?K:Q)||K||Q;return q?{tile:q,offset:q==K?U:X}:null}coordsIn(Z,$,J){let K=this.resolveInline(Z,$,!0);if(!K)return CJ(this);return K.tile.coordsIn(Math.max(0,K.offset),$,J)}domIn(Z,$){let J=this.resolveInline(Z,$);if(J){let{tile:K,offset:U}=J;if(this.dom.contains(K.dom)){if(K.isText())return new m3(K.dom,Math.min(K.dom.nodeValue.length,U));return K.domPosFor(U,K.flags&16?1:K.flags&32?-1:$)}let Q=J.tile.parent,X=!1;for(let Y of Q.children){if(X)return new m3(Y.dom,0);if(Y==J.tile)X=!0}}return new m3(this.dom,0)}}function CJ(Z){let $=Z.dom.lastChild;if(!$)return Z.dom.getBoundingClientRect();let J=G5($);return J[J.length-1]||null}function TJ(Z,$){let J=Z.coordsIn(0,1),K=$.coordsIn(0,1);return J&&K&&K.top<J.bottom}class D3 extends M0{constructor(Z,$){super(Z);this.mark=$}get domAttrs(){return this.mark.attrs}static of(Z,$){let J=new D3($||document.createElement(Z.tagName),Z);if(!$)J.flags|=4;return J}}class L9 extends a{constructor(Z,$){super(Z,$.length);this.text=$}sync(Z){if(this.flags&2)return;if(super.sync(Z),this.dom.nodeValue!=this.text){if(Z&&Z.node==this.dom)Z.written=!0;this.dom.nodeValue=this.text}}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(Z,$,J){let K=this.dom.nodeValue.length;if(Z>K)Z=K;let U=Z,Q=Z,X=0;if(Z==0&&$<0||Z==K&&$>=0){if(!(A.chrome||A.gecko)){if(Z)U--,X=1;else if(Q<K)Q++,X=-1}}else if($<0)U--;else if(Q<K)Q++;let Y=L0(this.dom,U,Q).getClientRects();if(!Y.length)return null;let q=Y[(X?X<0:$>=0)?0:Y.length-1];if(A.safari&&!X&&q.width==0)q=Array.prototype.find.call(Y,(G)=>G.width)||q;return J==null?q:R5(q,(X?X>0:$<0)==J)}static of(Z,$){let J=new L9($||document.createTextNode(Z),Z);if(!$)J.flags|=2;return J}}class B9 extends a{constructor(Z,$,J,K){super(Z,$,K);this.widget=J}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(Z){if(this.flags&48)return!1;return(this.flags&(Z<0?64:128))>0}coordsIn(Z,$){return this.coordsInWidget(Z,$,!1)}coordsInWidget(Z,$,J){let K=this.widget.coordsAt(this.dom,Z,$);if(K)return K;if(J)return R5(this.dom.getBoundingClientRect(),this.length?Z==0:$<=0);else{let U=this.dom.getClientRects(),Q=null;if(!U.length)return null;let X=this.flags&16?!0:this.flags&32?!1:Z>0;for(let Y=X?U.length-1:0;;Y+=X?-1:1)if(Q=U[Y],Z>0?Y==0:Y==U.length-1||Q.top<Q.bottom)break;return R5(Q,!X)}}get overrideDOMText(){if(!this.length)return m.empty;let{root:Z}=this;if(!Z)return m.empty;let $=this.posAtStart;return Z.view.state.doc.slice($,$+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(Z,$,J,K,U){if(!U){if(U=Z.toDOM($),!Z.editable)U.contentEditable="false"}return new B9(U,J,Z,K)}}class R0 extends a{constructor(Z){let $=document.createElement("img");$.className="cm-widgetBuffer",$.setAttribute("aria-hidden","true");super($,0,Z)}get isHidden(){return!0}get overrideDOMText(){return m.empty}coordsIn(Z,$,J){let K=this.dom.getBoundingClientRect();return J==null?K:R5(K,$>0==J)}}class Q6{constructor(Z){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=Z}advance(Z,$,J){let{tile:K,index:U,beforeBreak:Q,parents:X}=this;while(Z||$>0)if(!K.isComposite())if(U==K.length)Q=!!K.breakAfter,{tile:K,index:U}=X.pop(),U++;else if(!Z)break;else{let Y=Math.min(Z,K.length-U);if(J)J.skip(K,U,U+Y);Z-=Y,U+=Y}else if(Q){if(!Z)break;if(J)J.break();Z--,Q=!1}else if(U==K.children.length){if(!Z&&!X.length)break;if(J)J.leave(K);Q=!!K.breakAfter,{tile:K,index:U}=X.pop(),U++}else{let Y=K.children[U],q=Y.breakAfter;if(($>0?Y.length<=Z:Y.length<Z)&&(!J||J.skip(Y,0,Y.length)!==!1||!Y.isComposite))Q=!!q,U++,Z-=Y.length;else if(X.push({tile:K,index:U}),K=Y,U=0,J&&Y.isComposite())J.enter(Y)}return this.tile=K,this.index=U,this.beforeBreak=Q,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class X6{constructor(Z,$,J,K){this.from=Z,this.to=$,this.wrapper=J,this.rank=K}}class Y6{constructor(Z,$,J){this.cache=Z,this.root=$,this.blockWrappers=J,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(Z,$,J,K){var U;this.flushBuffer();let Q=this.ensureMarks($,J),X=Q.lastChild;if(X&&X.isText()&&!(X.flags&8)&&X.length+Z.length<512){this.cache.reused.set(X,2);let Y=Q.children[Q.children.length-1]=new L9(X.dom,X.text+Z);Y.parent=Q}else Q.append(K||L9.of(Z,(U=this.cache.find(L9))===null||U===void 0?void 0:U.dom));this.pos+=Z.length,this.afterWidget=null}addComposition(Z,$){let J=this.curLine;if(J.dom!=$.line.dom)J.setDOM(this.cache.reused.has($.line)?E7($.line.dom):$.line.dom),this.cache.reused.set($.line,2);let K=J;for(let X=$.marks.length-1;X>=0;X--){let Y=$.marks[X],q=K.lastChild;if(q instanceof D3&&q.mark.eq(Y.mark)){if(q.dom!=Y.dom)q.setDOM(E7(Y.dom));K=q}else{if(this.cache.reused.get(Y)){let W=a.get(Y.dom);if(W)W.setDOM(E7(Y.dom))}let G=D3.of(Y.mark,Y.dom);K.append(G),K=G}this.cache.reused.set(Y,2)}let U=a.get(Z.text);if(U)this.cache.reused.set(U,2);let Q=new L9(Z.text,Z.text.nodeValue);Q.flags|=8,this.pos=Z.range.toB,K.append(Q)}addInlineWidget(Z,$,J){let K=this.afterWidget&&Z.flags&48&&(this.afterWidget.flags&48)==(Z.flags&48);if(!K)this.flushBuffer();let U=this.ensureMarks($,J);if(!K&&!(Z.flags&16))U.append(this.getBuffer(1));U.append(Z),this.pos+=Z.length,this.afterWidget=Z}addMark(Z,$,J){this.flushBuffer(),this.ensureMarks($,J).append(Z),this.pos+=Z.length,this.afterWidget=null}addBlockWidget(Z){this.getBlockPos().append(Z),this.pos+=Z.length,this.lastBlock=Z,this.endLine()}continueWidget(Z){let $=this.afterWidget||this.lastBlock;$.length+=Z,this.pos+=Z}addLineStart(Z,$){var J;if(!Z)Z=z6;let K=n9.start(Z,$||((J=this.cache.find(n9))===null||J===void 0?void 0:J.dom),!!$);this.getBlockPos().append(this.lastBlock=this.curLine=K)}addLine(Z){this.getBlockPos().append(Z),this.pos+=Z.length,this.lastBlock=Z,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(Z){if(!this.blockPosCovered())this.addLineStart(Z)}ensureLine(Z){if(!this.curLine)this.addLineStart(Z)}ensureMarks(Z,$){var J;let K=this.curLine;for(let U=Z.length-1;U>=0;U--){let Q=Z[U],X;if($>0&&(X=K.lastChild)&&X instanceof D3&&X.mark.eq(Q))K=X,$--;else{let Y=D3.of(Q,(J=this.cache.find(D3,(q)=>q.mark.eq(Q)))===null||J===void 0?void 0:J.dom);K.append(Y),K=Y,$=0}}return K}endLine(){if(this.curLine){this.flushBuffer();let Z=this.curLine.lastChild;if(!Z||!$8(this.curLine,!1)||Z.dom.nodeName!="BR"&&Z.isWidget()&&!(A.ios&&$8(this.curLine,!0)))this.curLine.append(this.cache.findWidget(P7,0,32)||new B9(P7.toDOM(),0,P7,32));this.curLine=this.afterWidget=null}}updateBlockWrappers(){if(this.wrapperPos>this.pos+1e4)this.blockWrappers.goto(this.pos),this.wrappers.length=0;for(let Z=this.wrappers.length-1;Z>=0;Z--)if(this.wrappers[Z].to<this.pos)this.wrappers.splice(Z,1);for(let Z=this.blockWrappers;Z.value&&Z.from<=this.pos;Z.next())if(Z.to>=this.pos){let $=Z.rank*102+Z.value.rank,J=new X6(Z.from,Z.to,Z.value,$),K=this.wrappers.length;while(K>0&&(this.wrappers[K-1].rank-J.rank||this.wrappers[K-1].to-J.to)<0)K--;this.wrappers.splice(K,0,J)}this.wrapperPos=this.pos}getBlockPos(){var Z;this.updateBlockWrappers();let $=this.root;for(let J of this.wrappers){let K=$.lastChild;if(J.from<this.pos&&K instanceof Q9&&K.wrapper.eq(J.wrapper))$=K;else{let U=Q9.of(J.wrapper,(Z=this.cache.find(Q9,(Q)=>Q.wrapper.eq(J.wrapper)))===null||Z===void 0?void 0:Z.dom);$.append(U),$=U}}return $}blockPosCovered(){let Z=this.lastBlock;return Z!=null&&!Z.breakAfter&&(!Z.isWidget()||(Z.flags&160)>0)}getBuffer(Z){let $=2|(Z<0?16:32),J=this.cache.find(R0,void 0,1);if(J)J.flags=$;return J||new R0($)}flushBuffer(){if(this.afterWidget&&!(this.afterWidget.flags&32))this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null}}class q6{constructor(Z){this.skipCount=0,this.text="",this.textOff=0,this.cursor=Z.iter()}skip(Z){if(this.textOff+Z<=this.text.length)this.textOff+=Z;else this.skipCount+=Z-(this.text.length-this.textOff),this.text="",this.textOff=0}next(Z){if(this.textOff==this.text.length){let{value:K,lineBreak:U,done:Q}=this.cursor.next(this.skipCount);if(this.skipCount=0,Q)throw Error("Ran out of text content when drawing inline views");this.text=K;let X=this.textOff=Math.min(Z,K.length);return U?null:K.slice(0,X)}let $=Math.min(this.text.length,this.textOff+Z),J=this.text.slice(this.textOff,$);return this.textOff=$,J}}var A5=[B9,n9,L9,D3,R0,Q9,E0];for(let Z=0;Z<A5.length;Z++)A5[Z].bucket=Z;class G6{constructor(Z){this.view=Z,this.buckets=A5.map(()=>[]),this.index=A5.map(()=>0),this.reused=new Map}add(Z){let $=Z.constructor.bucket,J=this.buckets[$];if(J.length<6)J.push(Z);else J[this.index[$]=(this.index[$]+1)%6]=Z}find(Z,$,J=2){let K=Z.bucket,U=this.buckets[K],Q=this.index[K];for(let X=0;X<U.length;X++){let Y=(X+Q)%U.length,q=U[Y];if((!$||$(q))&&!this.reused.has(q)){if(U.splice(Y,1),Y<Q)this.index[K]--;return this.reused.set(q,J),q}}return null}findWidget(Z,$,J){let K=this.buckets[0];if(K.length)for(let U=0,Q=0;;U++){if(U==K.length){if(Q)return null;Q=1,U=0}let X=K[U];if(!this.reused.has(X)&&(Q==0?X.widget.compare(Z):X.widget.constructor==Z.constructor&&Z.updateDOM(X.dom,this.view,X.widget))){if(K.splice(U,1),U<this.index[0])this.index[0]--;if(X.widget==Z&&X.length==$&&(X.flags&497)==J)return this.reused.set(X,1),X;else return this.reused.set(X,2),new B9(X.dom,$,Z,X.flags&-498|J)}}}reuse(Z){return this.reused.set(Z,1),Z}maybeReuse(Z,$=2){if(this.reused.has(Z))return;return this.reused.set(Z,$),Z.dom}clear(){for(let Z=0;Z<this.buckets.length;Z++)this.buckets[Z].length=this.index[Z]=0}}class W6{constructor(Z,$,J,K,U){this.view=Z,this.decorations=K,this.disallowBlockEffectsFor=U,this.openWidget=!1,this.openMarks=0,this.cache=new G6(Z),this.text=new q6(Z.state.doc),this.builder=new Y6(this.cache,new E0(Z,Z.contentDOM),k.iter(J)),this.cache.reused.set($,2),this.old=new Q6($),this.reuseWalker={skip:(Q,X,Y)=>{if(this.cache.add(Q),Q.isComposite())return!1},enter:(Q)=>this.cache.add(Q),leave:()=>{},break:()=>{}}}run(Z,$){let J=$&&this.getCompositionContext($.text);for(let K=0,U=0,Q=0;;){let X=Q<Z.length?Z[Q++]:null,Y=X?X.fromA:this.old.root.length;if(Y>K){let q=Y-K;this.preserve(q,!Q,!X),K=Y,U+=q}if(!X)break;if($&&X.fromA<=$.range.fromA&&X.toA>=$.range.toA)this.forward(X.fromA,$.range.fromA,$.range.fromA<$.range.toA?1:-1),this.emit(U,$.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition($,J),this.text.skip($.range.toB-$.range.fromB),this.forward($.range.fromA,X.toA),this.emit($.range.toB,X.toB);else this.forward(X.fromA,X.toA),this.emit(U,X.toB);U=X.toB,K=X.toA}if(this.builder.curLine)this.builder.endLine();return this.builder.root}preserve(Z,$,J){let K=bJ(this.old),U=this.openMarks;this.old.advance(Z,J?1:-1,{skip:(Q,X,Y)=>{if(Q.isWidget())if(this.openWidget)this.builder.continueWidget(Y-X);else{let q=Y>0||X<Q.length?B9.of(Q.widget,this.view,Y-X,Q.flags&496,this.cache.maybeReuse(Q)):this.cache.reuse(Q);if(q.flags&256)q.flags&=-2,this.builder.addBlockWidget(q);else this.builder.ensureLine(null),this.builder.addInlineWidget(q,K,U),U=K.length}else if(Q.isText()){if(this.builder.ensureLine(null),!X&&Y==Q.length&&!this.cache.reused.has(Q))this.builder.addText(Q.text,K,U,this.cache.reuse(Q));else this.cache.add(Q),this.builder.addText(Q.text.slice(X,Y),K,U);U=K.length}else if(Q.isLine())Q.flags&=-2,this.cache.reused.set(Q,1),this.builder.addLine(Q);else if(Q instanceof R0)this.cache.add(Q);else if(Q instanceof D3)this.builder.ensureLine(null),this.builder.addMark(Q,K,U),this.cache.reused.set(Q,1),U=K.length;else return!1;this.openWidget=!1},enter:(Q)=>{if(Q.isLine())this.builder.addLineStart(Q.attrs,this.cache.maybeReuse(Q));else if(this.cache.add(Q),Q instanceof D3)K.unshift(Q.mark);this.openWidget=!1},leave:(Q)=>{if(Q.isLine()){if(K.length)K.length=U=0}else if(Q instanceof D3)K.shift(),U=Math.min(U,K.length)},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(Z)}emit(Z,$){let J=null,K=this.builder,U=-1,Q=k.spans(this.decorations,Z,$,{point:(X,Y,q,G,W,z)=>{if(q instanceof I9){if(this.disallowBlockEffectsFor[z]){if(q.block)throw RangeError("Block decorations may not be specified via plugins");if(Y>this.view.state.doc.lineAt(X).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(U=G.length,W>G.length)K.continueWidget(Y-X);else{let j=q.widget||(q.block?M9.block:M9.inline),_=yJ(q),O=this.cache.findWidget(j,Y-X,_)||B9.of(j,this.view,Y-X,_);if(q.block){if(q.startSide>0)K.addLineStartIfNotCovered(J);K.addBlockWidget(O)}else K.ensureLine(J),K.addInlineWidget(O,G,W)}J=null}else J=SJ(J,q);if(Y>X)this.text.skip(Y-X)},span:(X,Y,q,G)=>{for(let W=X;W<Y;){let z=this.text.next(Math.min(512,Y-W));if(z==null)K.addLineStartIfNotCovered(J),K.addBreak(),W++;else K.ensureLine(J),K.addText(z,q,W==X?G:q.length),W+=z.length;J=null}U=q.length}});if(U>-1)this.openWidget=Q>U;if(!this.openWidget)K.addLineStartIfNotCovered(J);this.openMarks=Q}forward(Z,$,J=1){if($-Z<=10)this.old.advance($-Z,J,this.reuseWalker);else this.old.advance(5,-1,this.reuseWalker),this.old.advance($-Z-10,-1),this.old.advance(5,J,this.reuseWalker)}getCompositionContext(Z){let $=[],J=null;for(let K=Z.parentNode;;K=K.parentNode){let U=a.get(K);if(K==this.view.contentDOM)break;if(U instanceof D3)$.push(U);else if(U===null||U===void 0?void 0:U.isLine())J=U;else if(U instanceof Q9);else if(K.nodeName=="DIV"&&!J&&K!=this.view.contentDOM)J=new n9(K,z6);else if(!J)$.push(D3.of(new I0({tagName:K.nodeName.toLowerCase(),attributes:zJ(K)}),K))}return{line:J,marks:$}}}function $8(Z,$){let J=(K)=>{for(let U of K.children)if(($?U.isText():U.length)||J(U))return!0;return!1};return J(Z)}function yJ(Z){let $=Z.isReplace?(Z.startSide<0?64:0)|(Z.endSide>0?128:0):Z.startSide>0?32:16;if(Z.block)$|=256;return $}var z6={class:"cm-line"};function SJ(Z,$){let J=$.spec.attributes,K=$.spec.class;if(!J&&!K)return Z;if(!Z)Z={class:"cm-line"};if(J)QZ(J,Z);if(K)Z.class+=" "+K;return Z}function bJ(Z){let $=[];for(let J=Z.parents.length;J>1;J--){let K=J==Z.parents.length?Z.tile:Z.parents[J].tile;if(K instanceof D3)$.push(K.mark)}return $}function E7(Z){let $=a.get(Z);if($)$.setDOM(Z.cloneNode());return Z}class M9 extends T3{constructor(Z){super();this.tag=Z}eq(Z){return Z.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(Z){return Z.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}M9.inline=new M9("span");M9.block=new M9("div");var P7=new class extends T3{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class p7{constructor(Z){this.view=Z,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=w.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new E0(Z,Z.contentDOM),this.updateInner([new C3(0,0,0,Z.state.doc.length)],null)}update(Z){var $;let J=Z.changedRanges;if(this.minWidth>0&&J.length)if(!J.every(({fromA:G,toA:W})=>W<this.minWidthFrom||G>this.minWidthTo))this.minWidth=this.minWidthFrom=this.minWidthTo=0;else this.minWidthFrom=Z.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=Z.changes.mapPos(this.minWidthTo,1);this.updateEditContextFormatting(Z);let K=-1;if(this.view.inputState.composing>=0&&!this.view.observer.editContext){if(($=this.domChanged)===null||$===void 0?void 0:$.newSel)K=this.domChanged.newSel.head;else if(!gJ(Z.changes,this.hasComposition)&&!Z.selectionSet)K=Z.state.selection.main.head}let U=K>-1?xJ(this.view,Z.changes,K):null;if(this.domChanged=null,this.hasComposition){let{from:G,to:W}=this.hasComposition;J=new C3(G,W,Z.changes.mapPos(G,-1),Z.changes.mapPos(W,1)).addToSet(J.slice())}if(this.hasComposition=U?{from:U.range.fromB,to:U.range.toB}:null,(A.ie||A.chrome)&&!U&&Z&&Z.state.doc.lines!=Z.startState.doc.lines)this.forceSelection=!0;let Q=this.decorations,X=this.blockWrappers;this.updateDeco();let Y=vJ(Q,this.decorations,Z.changes);if(Y.length)J=C3.extendWithRanges(J,Y);let q=mJ(X,this.blockWrappers,Z.changes);if(q.length)J=C3.extendWithRanges(J,q);if(U&&!J.some((G)=>G.fromA<=U.range.fromA&&G.toA>=U.range.toA))J=U.range.addToSet(J.slice());if(this.tile.flags&2&&J.length==0)return!1;else{if(this.updateInner(J,U),Z.transactions.length)this.lastUpdate=Date.now();return!0}}updateInner(Z,$){this.view.viewState.mustMeasureContent=!0;let{observer:J}=this.view;J.ignore(()=>{if($||Z.length){let Q=this.tile,X=new W6(this.view,Q,this.blockWrappers,this.decorations,this.dynamicDecorationMap);if($&&a.get($.text))X.cache.reused.set(a.get($.text),2);this.tile=X.run(Z,$),l7(Q,X.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let U=A.chrome||A.ios?{node:J.selectionRange.focusNode,written:!1}:void 0;if(this.tile.sync(U),U&&(U.written||J.selectionRange.focusNode!=U.node||!this.tile.dom.contains(U.node)))this.forceSelection=!0;this.tile.dom.style.height=""});let K=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length){for(let U of this.tile.children)if(U.isWidget()&&U.widget instanceof z5)K.push(U.dom)}J.updateGaps(K)}updateEditContextFormatting(Z){this.editContextFormatting=this.editContextFormatting.map(Z.changes);for(let $ of Z.transactions)for(let J of $.effects)if(J.is(Z6))this.editContextFormatting=J.value}updateSelection(Z=!1,$=!1){if(Z||!this.view.observer.selectionRange.focusNode)this.view.observer.readSelectionRange();let{dom:J}=this.tile,K=this.view.root.activeElement,U=K==J,Q=!U&&!(this.view.state.facet(U9)||J.tabIndex>-1)&&O0(J,this.view.observer.selectionRange)&&!(K&&J.contains(K));if(!(U||$||Q))return;let X=this.forceSelection;this.forceSelection=!1;let Y=this.view.state.selection.main,q,G;if(Y.empty)G=q=this.inlineDOMNearPos(Y.anchor,Y.assoc||1);else G=this.inlineDOMNearPos(Y.head,Y.head==Y.from?1:-1),q=this.inlineDOMNearPos(Y.anchor,Y.anchor==Y.from?1:-1);if(A.gecko&&Y.empty&&!this.hasComposition&&kJ(q)){let z=document.createTextNode("");this.view.observer.ignore(()=>q.node.insertBefore(z,q.node.childNodes[q.offset]||null)),q=G=new m3(z,0),X=!0}let W=this.view.observer.selectionRange;if(X||!W.focusNode||(!V0(q.node,q.offset,W.anchorNode,W.anchorOffset)||!V0(G.node,G.offset,W.focusNode,W.focusOffset))&&!this.suppressWidgetCursorChange(W,Y))this.view.observer.ignore(()=>{if(A.android&&A.chrome&&J.contains(W.focusNode)&&uJ(W.focusNode,J))J.blur(),J.focus({preventScroll:!0});let z=D0(this.view.root);if(!z);else if(Y.empty){if(A.gecko){let j=wJ(q.node,q.offset);if(j&&j!=3){let _=(j==1?m8:u8)(q.node,q.offset);if(_)q=new m3(_.node,_.offset)}}if(z.collapse(q.node,q.offset),Y.bidiLevel!=null&&z.caretBidiLevel!==void 0)z.caretBidiLevel=Y.bidiLevel}else if(z.extend){z.collapse(q.node,q.offset);try{z.extend(G.node,G.offset)}catch(j){}}else{let j=document.createRange();if(Y.anchor>Y.head)[q,G]=[G,q];j.setEnd(G.node,G.offset),j.setStart(q.node,q.offset),z.removeAllRanges(),z.addRange(j)}if(Q&&this.view.root.activeElement==J){if(J.blur(),K)K.focus()}}),this.view.observer.setSelectionRange(q,G);this.impreciseAnchor=q.precise?null:new m3(W.anchorNode,W.anchorOffset),this.impreciseHead=G.precise?null:new m3(W.focusNode,W.focusOffset)}suppressWidgetCursorChange(Z,$){return this.hasComposition&&$.empty&&V0(Z.focusNode,Z.focusOffset,Z.anchorNode,Z.anchorOffset)&&this.posFromDOM(Z.focusNode,Z.focusOffset)==$.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:Z}=this,$=Z.state.selection.main,J=D0(Z.root),{anchorNode:K,anchorOffset:U}=Z.observer.selectionRange;if(!J||!$.empty||!$.assoc||!J.modify)return;let Q=this.lineAt($.head,$.assoc);if(!Q)return;let X=Q.posAtStart;if($.head==X||$.head==X+Q.length)return;let Y=this.coordsAt($.head,-1),q=this.coordsAt($.head,1);if(!Y||!q||Y.bottom>q.top)return;let G=this.domAtPos($.head+$.assoc,$.assoc);J.collapse(G.node,G.offset),J.modify("move",$.assoc<0?"forward":"backward","lineboundary"),Z.observer.readSelectionRange();let W=Z.observer.selectionRange;if(Z.docView.posFromDOM(W.anchorNode,W.anchorOffset)!=$.from)J.collapse(K,U)}posFromDOM(Z,$){let J=this.tile.nearest(Z);if(!J)return this.tile.dom.compareDocumentPosition(Z)&2?0:this.view.state.doc.length;let K=J.posAtStart;if(J.isComposite()){let U;if(Z==J.dom)U=J.dom.childNodes[$];else{let Q=X9(Z)==0?0:$==0?-1:1;for(;;){let X=Z.parentNode;if(X==J.dom)break;if(Q==0&&X.firstChild!=X.lastChild)if(Z==X.firstChild)Q=-1;else Q=1;Z=X}if(Q<0)U=Z;else U=Z.nextSibling}if(U==J.dom.firstChild)return K;while(U&&!a.get(U))U=U.nextSibling;if(!U)return K+J.length;for(let Q=0,X=K;;Q++){let Y=J.children[Q];if(Y.dom==U)return X;X+=Y.length+Y.breakAfter}}else if(J.isText())return Z==J.dom?K+$:K+($?J.length:0);else return K}domAtPos(Z,$){let{tile:J,offset:K}=this.tile.resolveBlock(Z,$);if(J.isWidget())return J.domPosFor(K,$);return J.domIn(K,$)}inlineDOMNearPos(Z,$){let J,K=-1,U=!1,Q,X=-1,Y=!1;if(this.tile.blockTiles((q,G)=>{if(q.isWidget()){if(q.flags&32&&G>=Z)return!0;if(q.flags&16)U=!0}else{let W=G+q.length;if(G<=Z)J=q,K=Z-G,U=W<Z;if(W>=Z&&!Q)Q=q,X=Z-G,Y=G>Z;if(G>Z&&Q)return!0}}),!J&&!Q)return this.domAtPos(Z,$);if(U&&Q)J=null;else if(Y&&J)Q=null;return J&&$<0||!Q?J.domIn(K,$):Q.domIn(X,$)}coordsAt(Z,$,J){let{tile:K,offset:U}=this.tile.resolveBlock(Z,$);if(K.isWidget()){if(K.widget instanceof z5)return null;return K.coordsInWidget(U,$,!0)}return K.coordsIn(U,$,J)}lineAt(Z,$){let{tile:J}=this.tile.resolveBlock(Z,$);return J.isLine()?J:null}coordsForChar(Z){let{tile:$,offset:J}=this.tile.resolveBlock(Z,1);if(!$.isLine())return null;function K(U,Q){if(U.isComposite())for(let X of U.children){if(X.length>=Q){let Y=K(X,Q);if(Y)return Y}if(Q-=X.length,Q<0)break}else if(U.isText()&&Q<U.length){let X=P3(U.text,Q);if(X==Q)return null;let Y=L0(U.dom,Q,X).getClientRects();for(let q=0;q<Y.length;q++){let G=Y[q];if(q==Y.length-1||G.top<G.bottom&&G.left<G.right)return G}}return null}return K($,J)}measureVisibleLineHeights(Z){let $=[],{from:J,to:K}=Z,U=this.view.contentDOM.clientWidth,Q=U>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,X=-1,Y=this.view.textDirection==l.LTR,q=0,G=(W,z,j)=>{for(let _=0;_<W.children.length;_++){if(z>K)break;let O=W.children[_],V=z+O.length,H=O.dom.getBoundingClientRect(),{height:F}=H;if(j&&!_)q+=H.top-j.top;if(O instanceof Q9){if(V>J)G(O,z,H)}else if(z>=J){if(q>0)$.push(-q);if($.push(F+q),q=0,Q){let D=O.dom.lastChild,B=D?G5(D):[];if(B.length){let P=B[B.length-1],R=Y?P.right-H.left:H.right-P.left;if(R>X)X=R,this.minWidth=U,this.minWidthFrom=z,this.minWidthTo=V}}}if(j&&_==W.children.length-1)q+=j.bottom-H.bottom;z=V+O.breakAfter}};return G(this.tile,0,null),$}textDirectionAt(Z){let{tile:$}=this.tile.resolveBlock(Z,1);return getComputedStyle($.dom).direction=="rtl"?l.RTL:l.LTR}measureTextSize(){let Z=this.tile.blockTiles((Q)=>{if(Q.isLine()&&Q.children.length&&Q.length<=20){let X=0,Y;for(let q of Q.children){if(!q.isText()||/[^ -~]/.test(q.text))return;let G=G5(q.dom);if(G.length!=1)return;X+=G[0].width,Y=G[0].height}if(X)return{lineHeight:Q.dom.getBoundingClientRect().height,charWidth:X/Q.length,textHeight:Y}}});if(Z)return Z;let $=document.createElement("div"),J,K,U;return $.className="cm-line",$.style.width="99999px",$.style.position="absolute",$.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild($);let Q=G5($.firstChild)[0];J=$.getBoundingClientRect().height,K=Q&&Q.width?Q.width/27:7,U=Q&&Q.height?Q.height:J,$.remove()}),{lineHeight:J,charWidth:K,textHeight:U}}computeBlockGapDeco(){let Z=[],$=this.view.viewState;for(let J=0,K=0;;K++){let U=K==$.viewports.length?null:$.viewports[K],Q=U?U.from-1:this.view.state.doc.length;if(Q>J){let X=($.lineBlockAt(Q).bottom-$.lineBlockAt(J).top)/this.view.scaleY;Z.push(w.replace({widget:new z5(X),block:!0,inclusive:!0,isBlockGap:!0}).range(J,Q))}if(!U)break;J=U.to+1}return w.set(Z)}updateDeco(){let Z=1,$=this.view.state.facet(T5).map((U)=>{return(this.dynamicDecorationMap[Z++]=typeof U=="function")?U(this.view):U}),J=!1,K=this.view.state.facet(zZ).map((U,Q)=>{let X=typeof U=="function";if(X)J=!0;return X?U(this.view):U});if(K.length)this.dynamicDecorationMap[Z++]=J,$.push(k.join(K));this.decorations=[this.editContextFormatting,...$,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];while(Z<this.decorations.length)this.dynamicDecorationMap[Z++]=!1;this.blockWrappers=this.view.state.facet(J6).map((U)=>typeof U=="function"?U(this.view):U)}scrollIntoView(Z){if(Z.isSnapshot){let q=this.view.viewState.lineBlockAt(Z.range.head);this.view.scrollDOM.scrollTop=q.top-Z.yMargin,this.view.scrollDOM.scrollLeft=Z.xMargin;return}for(let q of this.view.state.facet(e8))try{if(q(this.view,Z.range,Z))return!0}catch(G){W3(this.view.state,G,"scroll handler")}let{range:$}=Z,J=this.coordsAt($.head,$.assoc||($.head>$.anchor?-1:1)),K;if(!J)return;if(!$.empty&&(K=this.coordsAt($.anchor,$.anchor>$.head?-1:1)))J={left:Math.min(J.left,K.left),top:Math.min(J.top,K.top),right:Math.max(J.right,K.right),bottom:Math.max(J.bottom,K.bottom)};let U=jZ(this.view),Q={left:J.left-U.left,top:J.top-U.top,right:J.right+U.right,bottom:J.bottom+U.bottom},{offsetWidth:X,offsetHeight:Y}=this.view.scrollDOM;if(OJ(this.view.scrollDOM,Q,$.head<$.anchor?-1:1,Z.x,Z.y,Math.max(Math.min(Z.xMargin,X),-X),Math.max(Math.min(Z.yMargin,Y),-Y),this.view.textDirection==l.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(J.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||J.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let q=this.view.docView.lineAt($.head,1);if(q)q.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(Z){let $=(J)=>J.isWidget()||J.children.some($);return $(this.tile.resolveBlock(Z,1).tile)}destroy(){l7(this.tile)}}function l7(Z,$){let J=$===null||$===void 0?void 0:$.get(Z);if(J!=1){if(J==null)Z.destroy();for(let K of Z.children)l7(K,$)}}function kJ(Z){return Z.node.nodeType==1&&Z.node.firstChild&&(Z.offset==0||Z.node.childNodes[Z.offset-1].contentEditable=="false")&&(Z.offset==Z.node.childNodes.length||Z.node.childNodes[Z.offset].contentEditable=="false")}function j6(Z,$){let J=Z.observer.selectionRange;if(!J.focusNode)return null;let K=m8(J.focusNode,J.focusOffset),U=u8(J.focusNode,J.focusOffset),Q=K||U;if(U&&K&&U.node!=K.node){let Y=a.get(U.node);if(!Y||Y.isText()&&Y.text!=U.node.nodeValue)Q=U;else if(Z.docView.lastCompositionAfterCursor){let q=a.get(K.node);if(!(!q||q.isText()&&q.text!=K.node.nodeValue))Q=U}}if(Z.docView.lastCompositionAfterCursor=Q!=K,!Q)return null;let X=$-Q.offset;return{from:X,to:X+Q.node.nodeValue.length,node:Q.node}}function xJ(Z,$,J){let K=j6(Z,J);if(!K)return null;let{node:U,from:Q,to:X}=K,Y=U.nodeValue;if(/[\n\r]/.test(Y))return null;if(Z.state.doc.sliceString(K.from,K.to)!=Y)return null;let q=$.invertedDesc;return{range:new C3(q.mapPos(Q),q.mapPos(X),Q,X),text:U}}function wJ(Z,$){if(Z.nodeType!=1)return 0;return($&&Z.childNodes[$-1].contentEditable=="false"?1:0)|($<Z.childNodes.length&&Z.childNodes[$].contentEditable=="false"?2:0)}var hJ=class{constructor(){this.changes=[]}compareRange($,J){d9($,J,this.changes)}comparePoint($,J){d9($,J,this.changes)}boundChange($){d9($,$,this.changes)}};function vJ(Z,$,J){let K=new hJ;return k.compare(Z,$,J,K),K.changes}class _6{constructor(){this.changes=[]}compareRange(Z,$){d9(Z,$,this.changes)}comparePoint(){}boundChange(Z){d9(Z,Z,this.changes)}}function mJ(Z,$,J){let K=new _6;return k.compare(Z,$,J,K),K.changes}function uJ(Z,$){for(let J=Z;J&&J!=$;J=J.assignedSlot||J.parentNode)if(J.nodeType==1&&J.contentEditable=="false")return!0;return!1}function gJ(Z,$){let J=!1;if($)Z.iterChangedRanges((K,U)=>{if(K<$.to&&U>$.from)J=!0});return J}class z5 extends T3{constructor(Z){super();this.height=Z}toDOM(){let Z=document.createElement("div");return Z.className="cm-gap",this.updateDOM(Z),Z}eq(Z){return Z.height==this.height}updateDOM(Z){return Z.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function fJ(Z,$,J=1){let K=Z.charCategorizer($),U=Z.doc.lineAt($),Q=$-U.from;if(U.length==0)return L.cursor($);if(Q==0)J=1;else if(Q==U.length)J=-1;let X=Q,Y=Q;if(J<0)X=P3(U.text,Q,!1);else Y=P3(U.text,Q);let q=K(U.text.slice(X,Y));while(X>0){let G=P3(U.text,X,!1);if(K(U.text.slice(G,X))!=q)break;X=G}while(Y<U.length){let G=P3(U.text,Y);if(K(U.text.slice(Y,G))!=q)break;Y=G}return L.undirectionalRange(X+U.from,Y+U.from)}function pJ(Z,$,J,K,U){let Q=Math.round((K-$.left)*Z.defaultCharacterWidth);if(Z.lineWrapping&&J.height>Z.defaultLineHeight*1.5){let Y=Z.viewState.heightOracle.textHeight,q=Math.floor((U-J.top-(Z.defaultLineHeight-Y)*0.5)/Y);Q+=q*Z.viewState.heightOracle.lineLength}let X=Z.state.sliceDoc(J.from,J.to);return J.from+e0(X,Q,Z.state.tabSize)}function d7(Z,$,J){let K=Z.lineBlockAt($);if(Array.isArray(K.type)){let U;for(let Q of K.type){if(Q.from>$)break;if(Q.to<$)continue;if(Q.from<$&&Q.to>$)return Q;if(!U||Q.type==Y3.Text&&(U.type!=Q.type||(J<0?Q.from<$:Q.to>$)))U=Q}return U||K}return K}function lJ(Z,$,J,K){let U=d7(Z,$.head,$.assoc||-1),Q=!K||U.type!=Y3.Text||!(Z.lineWrapping||U.widgetLineBreaks)?null:Z.coordsAtPos($.assoc<0&&$.head>U.from?$.head-1:$.head);if(Q){let X=Z.dom.getBoundingClientRect(),Y=Z.textDirectionAt(U.from),q=Z.posAtCoords({x:J==(Y==l.LTR)?X.right-1:X.left+1,y:(Q.top+Q.bottom)/2});if(q!=null)return L.cursor(q,J?-1:1)}return L.cursor(J?U.to:U.from,J?-1:1)}function J8(Z,$,J,K){let U=Z.state.doc.lineAt($.head),Q=Z.bidiSpans(U),X=Z.textDirectionAt(U.from);for(let Y=$,q=null;;){let G=BJ(U,Q,X,Y,J),W=d8;if(!G){if(U.number==(J?Z.state.doc.lines:1))return Y;W=`
8
+ `,U=Z.state.doc.line(U.number+(J?1:-1)),Q=Z.bidiSpans(U),G=Z.visualLineSide(U,!J)}if(!q){if(!K)return G;q=K(W)}else if(!q(W))return Y;Y=G}}function dJ(Z,$,J){let K=Z.state.charCategorizer($),U=K(J);return(Q)=>{let X=K(Q);if(U==F3.Space)U=X;return U==X}}function cJ(Z,$,J,K){let U=$.head,Q=J?1:-1;if(U==(J?Z.state.doc.length:0))return L.cursor(U,$.assoc);let X=$.goalColumn,Y,q=Z.contentDOM.getBoundingClientRect(),G=Z.coordsAtPos(U,$.assoc||(($.empty?J:$.head==$.from)?1:-1)),W=Z.documentTop;if(G){if(X==null)X=G.left-q.left;Y=Q<0?G.top:G.bottom}else{let O=Z.viewState.lineBlockAt(U);if(X==null)X=Math.min(q.right-q.left,Z.defaultCharacterWidth*(U-O.from));Y=(Q<0?O.top:O.bottom)+W}let z=q.left+X,j=Z.viewState.heightOracle.textHeight>>1,_=K!==null&&K!==void 0?K:j;for(let O=0;;O+=j){let V=Y+(_+O)*Q,H=c7(Z,{x:z,y:V},!1,Q);if(J?V>q.bottom:V<q.top)return L.cursor(H.pos,H.assoc);let F=Z.coordsAtPos(H.pos,H.assoc),D=F?(F.top+F.bottom)/2:0;if(!F||(J?D>Y:D<Y))return L.cursor(H.pos,H.assoc,void 0,X)}}function H0(Z,$,J){for(;;){let K=0;for(let U of Z)U.between($-1,$+1,(Q,X,Y)=>{if($>Q&&$<X){let q=K||J||($-Q<X-$?-1:1);$=q<0?Q:X,K=q}});if(!K)return $}}function O6(Z,$){let J=null;for(let K=0;K<$.ranges.length;K++){let U=$.ranges[K],Q=null;if(U.empty){let X=H0(Z,U.from,0);if(X!=U.from)Q=L.cursor(X,-1)}else{let X=H0(Z,U.from,-1),Y=H0(Z,U.to,1);if(X!=U.from||Y!=U.to)if(U.undirectional)Q=L.undirectionalRange(U.from,U.to);else Q=L.range(U.from==U.anchor?X:Y,U.from==U.head?X:Y)}if(Q){if(!J)J=$.ranges.slice();J[K]=Q}}return J?L.create(J,$.mainIndex):$}function C7(Z,$,J){let K=H0(Z.state.facet(B0).map((U)=>U(Z)),J.from,$.head>J.from?-1:1);return K==J.from?J:L.cursor(K,K<J.from?1:-1)}class h3{constructor(Z,$){this.pos=Z,this.assoc=$}}function c7(Z,$,J,K){let U=Z.contentDOM.getBoundingClientRect(),Q=U.top+Z.viewState.paddingTop,{x:X,y:Y}=$,q=Y-Q,G;for(;;){if(q<0)return new h3(0,1);if(q>Z.viewState.docHeight)return new h3(Z.state.doc.length,-1);if(G=Z.elementAtHeight(q),K==null)break;if(G.type==Y3.Text){if(K<0?G.to<Z.viewport.from:G.from>Z.viewport.to)break;let j=Z.docView.coordsAt(K<0?G.from:G.to,K>0?-1:1);if(j&&(K<0?j.top<=q+Q:j.bottom>=q+Q))break}let z=Z.viewState.heightOracle.textHeight/2;q=K>0?G.bottom+z:G.top-z}if(Z.viewport.from>=G.to||Z.viewport.to<=G.from){if(J)return null;if(G.type==Y3.Text){let z=pJ(Z,U,G,X,Y);return new h3(z,z==G.from?1:-1)}}if(G.type!=Y3.Text)return q<(G.top+G.bottom)/2?new h3(G.from,1):new h3(G.to,-1);let W=Z.docView.lineAt(G.from,2);if(!W||W.length!=G.length)W=Z.docView.lineAt(G.from,-2);return new V6(Z,X,Y,Z.textDirectionAt(G.from)).scanTile(W,G.from)}class V6{constructor(Z,$,J,K){this.view=Z,this.x=$,this.y=J,this.baseDir=K,this.line=null,this.spans=null}bidiSpansAt(Z){if(!this.line||this.line.from>Z||this.line.to<Z)this.line=this.view.state.doc.lineAt(Z),this.spans=this.view.bidiSpans(this.line);return this}baseDirAt(Z,$){let{line:J,spans:K}=this.bidiSpansAt(Z);return K[u3.find(K,Z-J.from,-1,$)].level==this.baseDir}dirAt(Z,$){let{line:J,spans:K}=this.bidiSpansAt(Z);return K[u3.find(K,Z-J.from,-1,$)].dir}bidiIn(Z,$){let{spans:J,line:K}=this.bidiSpansAt(Z);return J.length>1||J.length&&(J[0].level!=this.baseDir||J[0].to+K.from<$)}scan(Z,$,J=!1){let K=0,U=Z.length-1,Q=new Set,X=this.bidiIn(Z[0],Z[U]),Y,q,G=-1,W=1e9,z;Z:while(K<U){let _=U-K,O=K+U>>1;$:if(Q.has(O)){let H=K+Math.floor(Math.random()*_);for(let F=0;F<_;F++){if(!Q.has(H)){O=H;break $}if(H++,H==U)H=K}break Z}Q.add(O);let V=$(O);if(V)for(let H=0;H<V.length;H++){let F=V[H],D=0;if(F.width==0&&V.length>1)continue;if(F.bottom<this.y){if(!Y||Y.bottom<F.bottom)Y=F;D=1}else if(F.top>this.y){if(!q||q.top>F.top)q=F;D=-1}else{let B=F.left>this.x?this.x-F.left:F.right<this.x?this.x-F.right:0,P=Math.abs(B);if(P<W)G=O,W=P,z=F;if(B)D=B<0==(this.baseDir==l.LTR)?-1:1}if(D==-1&&(!X||this.baseDirAt(Z[O],1)))U=O;else if(D==1&&(!X||this.baseDirAt(Z[O+1],-1)))K=O+1}}if(!z){if(!q&&!Y)return{i:Z[0],after:!1};let _=Y&&(!q||this.y-Y.bottom<q.top-this.y)?Y:q;return this.y=(_.top+_.bottom)/2,this.scan(Z,$,!0)}if(W&&!J){let{top:_,bottom:O}=z;if(Y&&Y.bottom>(_+_+O)/3)return this.y=Y.bottom-1,this.scan(Z,$,!0);if(q&&q.top<(_+O+O)/3)return this.y=q.top+1,this.scan(Z,$,!0)}let j=(X?this.dirAt(Z[G],1):this.baseDir)==l.LTR;return{i:G,after:this.x>(z.left+z.right)/2==j}}scanText(Z,$){let J=[];for(let U=0;U<Z.length;U=P3(Z.text,U))J.push($+U);J.push($+Z.length);let K=this.scan(J,(U)=>{let Q=J[U]-$,X=J[U+1]-$;return L0(Z.dom,Q,X).getClientRects()});return K.after?new h3(J[K.i+1],-1):new h3(J[K.i],1)}scanTile(Z,$){if(!Z.length)return new h3($,1);if(Z.children.length==1){let X=Z.children[0];if(X.isText())return this.scanText(X,$);else if(X.isComposite())return this.scanTile(X,$)}let J=[$];for(let X=0,Y=$;X<Z.children.length;X++)J.push(Y+=Z.children[X].length);let K=this.scan(J,(X)=>{let Y=Z.children[X];if(Y.flags&48)return null;return(Y.dom.nodeType==1?Y.dom:L0(Y.dom,0,Y.length)).getClientRects()}),U=Z.children[K.i],Q=J[K.i];if(U.isText())return this.scanText(U,Q);if(U.isComposite())return this.scanTile(U,Q);return K.after?new h3(J[K.i+1],-1):new h3(Q,1)}}var f9="￿";class H6{constructor(Z,$){this.points=Z,this.view=$,this.text="",this.lineSeparator=$.state.facet(u.lineSeparator)}append(Z){this.text+=Z}lineBreak(){this.text+=f9}readRange(Z,$){if(!Z)return this;let J=Z.parentNode;for(let K=Z;;){this.findPointBefore(J,K);let U=this.text.length;this.readNode(K);let Q=a.get(K),X=K.nextSibling;if(X==$){if((Q===null||Q===void 0?void 0:Q.breakAfter)&&!X&&J!=this.view.contentDOM)this.lineBreak();break}let Y=a.get(X);if((Q&&Y?Q.breakAfter:(Q?Q.breakAfter:L5(K))||L5(X)&&(K.nodeName!="BR"||(Q===null||Q===void 0?void 0:Q.isWidget()))&&this.text.length>U)&&!nJ(X,$))this.lineBreak();K=X}return this.findPointBefore(J,$),this}readTextNode(Z){let $=Z.nodeValue;for(let J of this.points)if(J.node==Z)J.pos=this.text.length+Math.min(J.offset,$.length);for(let J=0,K=this.lineSeparator?null:/\r\n?|\n/g;;){let U=-1,Q=1,X;if(this.lineSeparator)U=$.indexOf(this.lineSeparator,J),Q=this.lineSeparator.length;else if(X=K.exec($))U=X.index,Q=X[0].length;if(this.append($.slice(J,U<0?$.length:U)),U<0)break;if(this.lineBreak(),Q>1){for(let Y of this.points)if(Y.node==Z&&Y.pos>this.text.length)Y.pos-=Q-1}J=U+Q}}readNode(Z){let $=a.get(Z),J=$&&$.overrideDOMText;if(J!=null){this.findPointInside(Z,J.length);for(let K=J.iter();!K.next().done;)if(K.lineBreak)this.lineBreak();else this.append(K.value)}else if(Z.nodeType==3)this.readTextNode(Z);else if(Z.nodeName=="BR"){if(Z.nextSibling)this.lineBreak()}else if(Z.nodeType==1)this.readRange(Z.firstChild,null)}findPointBefore(Z,$){for(let J of this.points)if(J.node==Z&&Z.childNodes[J.offset]==$)J.pos=this.text.length}findPointInside(Z,$){for(let J of this.points)if(Z.nodeType==3?J.node==Z:Z.contains(J.node))J.pos=this.text.length+(sJ(Z,J.node,J.offset)?$:0)}}function sJ(Z,$,J){for(;;){if(!$||J<X9($))return!1;if($==Z)return!0;J=j9($)+1,$=$.parentNode}}function nJ(Z,$){let J;for(;;Z=Z.nextSibling){if(Z==$||!Z)break;let K=a.get(Z);if(!(K===null||K===void 0?void 0:K.isWidget()))return!1;if(K)(J||(J=[])).push(K)}if(J)for(let K of J){let U=K.overrideDOMText;if(U===null||U===void 0?void 0:U.length)return!1}return!0}class s7{constructor(Z,$){this.node=Z,this.offset=$,this.pos=-1}}class N6{constructor(Z,$,J,K){this.typeOver=K,this.bounds=null,this.text="",this.domChanged=$>-1;let{impreciseHead:U,impreciseAnchor:Q}=Z.docView,X=Z.state.selection;if(Z.state.readOnly&&$>-1)this.newSel=null;else if($>-1&&(this.bounds=F6(Z.docView.tile,$,J,0))){let Y=U||Q?[]:rJ(Z),q=new H6(Y,Z);q.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=q.text,this.newSel=aJ(Y,this.bounds.from)}else{let Y=Z.observer.selectionRange,q=U&&U.node==Y.focusNode&&U.offset==Y.focusOffset||!v7(Z.contentDOM,Y.focusNode)?X.main.head:Z.docView.posFromDOM(Y.focusNode,Y.focusOffset),G=Q&&Q.node==Y.anchorNode&&Q.offset==Y.anchorOffset||!v7(Z.contentDOM,Y.anchorNode)?X.main.anchor:Z.docView.posFromDOM(Y.anchorNode,Y.anchorOffset),W=Z.viewport;if((A.ios||A.chrome)&&q!=G&&Math.min(q,G)<=X.main.from&&Math.max(q,G)>=X.main.to&&(W.from>0||W.to<Z.state.doc.length)){let z=Math.min(q,G),j=Math.max(q,G),_=W.from-z,O=W.to-j;if((_==0||_==1||z==0)&&(O==0||O==-1||j==Z.state.doc.length))q=0,G=Z.state.doc.length}if(Z.inputState.composing>-1&&X.ranges.length>1)this.newSel=X.replaceRange(L.range(G,q));else if(Z.lineWrapping&&G==q&&!(X.main.empty&&X.main.head==q)&&Z.inputState.lastTouchTime>Date.now()-100){let z=Z.coordsAtPos(q,-1),j=0;if(z)j=Z.inputState.lastTouchY<=z.bottom?-1:1;this.newSel=L.create([L.cursor(q,j)])}else this.newSel=L.single(G,q)}}}function F6(Z,$,J,K){if(Z.isComposite()){let U=-1,Q=-1,X=-1,Y=-1;for(let q=0,G=K,W=K;q<Z.children.length;q++){let z=Z.children[q],j=G+z.length;if(G<$&&j>J)return F6(z,$,J,G);if(j>=$&&U==-1)U=q,Q=G;if(G>J&&z.dom.parentNode==Z.dom){X=q,Y=W;break}W=j,G=j+z.breakAfter}return{from:Q,to:Y<0?K+Z.length:Y,startDOM:(U?Z.children[U-1].dom.nextSibling:null)||Z.dom.firstChild,endDOM:X<Z.children.length&&X>=0?Z.children[X].dom:null}}else if(Z.isText())return{from:K,to:K+Z.length,startDOM:Z.dom,endDOM:Z.dom.nextSibling};else return null}function D6(Z,$){let J,{newSel:K}=$,{state:U}=Z,Q=U.selection.main,X=Z.inputState.lastKeyTime>Date.now()-100?Z.inputState.lastKeyCode:-1;if($.bounds){let{from:Y,to:q}=$.bounds,G=Q.from,W=null;if(X===8||A.android&&$.text.length<q-Y)G=Q.to,W="end";let z=U.doc.sliceString(Y,q,f9),j,_;if(!Q.empty&&Q.from>=Y&&Q.to<=q&&($.typeOver||z!=$.text)&&z.slice(0,Q.from-Y)==$.text.slice(0,Q.from-Y)&&z.slice(Q.to-Y)==$.text.slice(j=$.text.length-(z.length-(Q.to-Y))))J={from:Q.from,to:Q.to,insert:m.of($.text.slice(Q.from-Y,j).split(f9))};else if(_=L6(z,$.text,G-Y,W)){if(A.chrome&&X==13&&_.toB==_.from+2&&$.text.slice(_.from,_.toB)==f9+f9)_.toB--;J={from:Y+_.from,to:Y+_.toA,insert:m.of($.text.slice(_.from,_.toB).split(f9))}}}else if(K&&(!Z.hasFocus&&U.facet(U9)||B5(K,Q)))K=null;if(!J&&!K)return!1;if((A.mac||A.android)&&J&&J.from==J.to&&J.from==Q.head-1&&/^\. ?$/.test(J.insert.toString())&&Z.contentDOM.getAttribute("autocorrect")=="off"){if(K&&J.insert.length==2)K=L.single(K.main.anchor-1,K.main.head-1);J={from:J.from,to:J.to,insert:m.of([J.insert.toString().replace("."," ")])}}else if(U.doc.lineAt(Q.from).to<Q.to&&Z.docView.lineHasWidget(Q.to)&&Z.inputState.insertingTextAt>Date.now()-50)J={from:Q.from,to:Q.to,insert:U.toText(Z.inputState.insertingText)};else if(A.chrome&&J&&J.from==J.to&&J.from==Q.head&&J.insert.toString()==`
9
+ `&&Z.lineWrapping){if(K)K=L.single(K.main.anchor-1,K.main.head-1);J={from:Q.from,to:Q.to,insert:m.of([" "])}}if(J)return _Z(Z,J,K,X);else if(K&&!B5(K,Q)){let Y=!1,q="select";if(Z.inputState.lastSelectionTime>Date.now()-50){if(Z.inputState.lastSelectionOrigin=="select")Y=!0;if(q=Z.inputState.lastSelectionOrigin,q=="select.pointer")K=O6(U.facet(B0).map((G)=>G(Z)),K)}return Z.dispatch({selection:K,scrollIntoView:Y,userEvent:q}),!0}else return!1}function _Z(Z,$,J,K=-1){if(A.ios&&Z.inputState.flushIOSKey($))return!0;let U=Z.state.selection.main;if(A.android&&($.to==U.to&&($.from==U.from||$.from==U.from-1&&Z.state.sliceDoc($.from,U.from)==" ")&&$.insert.length==1&&$.insert.lines==2&&c9(Z.contentDOM,"Enter",13)||($.from==U.from-1&&$.to==U.to&&$.insert.length==0||K==8&&$.insert.length<$.to-$.from&&$.to>U.head)&&c9(Z.contentDOM,"Backspace",8)||$.from==U.from&&$.to==U.to+1&&$.insert.length==0&&c9(Z.contentDOM,"Delete",46)))return!0;let Q=$.insert.toString();if(Z.inputState.composing>=0)Z.inputState.composing++;let X,Y=()=>X||(X=iJ(Z,$,J));if(!Z.state.facet(r8).some((q)=>q(Z,$.from,$.to,Q,Y)))Z.dispatch(Y());return!0}function iJ(Z,$,J){let K,U=Z.state,Q=U.selection.main,X=-1;if($.from==$.to&&$.from<Q.from||$.from>Q.to){let q=$.from<Q.from?-1:1,G=q<0?Q.from:Q.to,W=H0(U.facet(B0).map((z)=>z(Z)),G,q);if($.from==W)X=W}if(X>-1)K={changes:$,selection:L.cursor($.from+$.insert.length,-1)};else if($.from>=Q.from&&$.to<=Q.to&&$.to-$.from>=(Q.to-Q.from)/3&&(!J||J.main.empty&&J.main.from==$.from+$.insert.length)&&Z.inputState.composing<0){let q=Q.from<$.from?U.sliceDoc(Q.from,$.from):"",G=Q.to>$.to?U.sliceDoc($.to,Q.to):"";K=U.replaceSelection(Z.state.toText(q+$.insert.sliceString(0,void 0,Z.state.lineBreak)+G))}else{let q=U.changes($),G=J&&J.main.to<=q.newLength?J.main:void 0;if(U.selection.ranges.length>1&&(Z.inputState.composing>=0||Z.inputState.compositionPendingChange)&&$.to<=Q.to+10&&$.to>=Q.to-10){let W=Z.state.sliceDoc($.from,$.to),z,j=J&&j6(Z,J.main.head);if(j){let O=$.insert.length-($.to-$.from);z={from:j.from,to:j.to-O}}else z=Z.state.doc.lineAt(Q.head);let _=Q.to-$.to;K=U.changeByRange((O)=>{if(O.from==Q.from&&O.to==Q.to)return{changes:q,range:G||O.map(q)};let V=O.to-_,H=V-W.length;if(Z.state.sliceDoc(H,V)!=W||V>=z.from&&H<=z.to)return{range:O};let F=U.changes({from:H,to:V,insert:$.insert}),D=O.to-Q.to;return{changes:F,range:!G?O.map(F):L.range(Math.max(0,G.anchor+D),Math.max(0,G.head+D))}})}else K={changes:q,selection:G&&U.selection.replaceRange(G)}}let Y="input.type";if(Z.composing||Z.inputState.compositionPendingChange&&Z.inputState.compositionEndedAt>Date.now()-50){if(Z.inputState.compositionPendingChange=!1,Y+=".compose",Z.inputState.compositionFirstChange)Y+=".start",Z.inputState.compositionFirstChange=!1}return U.update(K,{userEvent:Y,scrollIntoView:!0})}function L6(Z,$,J,K){let U=Math.min(Z.length,$.length),Q=0;while(Q<U&&Z.charCodeAt(Q)==$.charCodeAt(Q))Q++;if(Q==U&&Z.length==$.length)return null;let X=Z.length,Y=$.length;while(X>0&&Y>0&&Z.charCodeAt(X-1)==$.charCodeAt(Y-1))X--,Y--;if(K=="end"){let q=Math.max(0,Q-Math.min(X,Y));J-=X+q-Q}if(X<Q&&Z.length<$.length){let q=J<=Q&&J>=X?Q-J:0;Q-=q,Y=Q+(Y-X),X=Q}else if(Y<Q){let q=J<=Q&&J>=Y?Q-J:0;Q-=q,X=Q+(X-Y),Y=Q}return{from:Q,toA:X,toB:Y}}function rJ(Z){let $=[];if(Z.root.activeElement!=Z.contentDOM)return $;let{anchorNode:J,anchorOffset:K,focusNode:U,focusOffset:Q}=Z.observer.selectionRange;if(J){if($.push(new s7(J,K)),U!=J||Q!=K)$.push(new s7(U,Q))}return $}function aJ(Z,$){if(Z.length==0)return null;let J=Z[0].pos,K=Z.length==2?Z[1].pos:J;return J>-1&&K>-1?L.single(J+$,K+$):null}function B5(Z,$){return $.head==Z.main.head&&$.anchor==Z.main.anchor}class R6{setSelectionOrigin(Z){this.lastSelectionOrigin=Z,this.lastSelectionTime=Date.now()}constructor(Z){if(this.view=Z,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=Z.hasFocus,A.safari)Z.contentDOM.addEventListener("input",()=>null);if(A.gecko)z2(Z.contentDOM.ownerDocument)}handleEvent(Z){if(!U2(this.view,Z)||this.ignoreDuringComposition(Z))return;if(Z.type=="keydown"&&this.keydown(Z))return;if(this.view.updateState!=0)Promise.resolve().then(()=>this.runHandlers(Z.type,Z));else this.runHandlers(Z.type,Z)}runHandlers(Z,$){let J=this.handlers[Z];if(J){for(let K of J.observers)K(this.view,$);for(let K of J.handlers){if($.defaultPrevented)break;if(K(this.view,$)){$.preventDefault();break}}}}ensureHandlers(Z){let $=tJ(Z),J=this.handlers,K=this.view.contentDOM;for(let U in $)if(U!="scroll"){let Q=!$[U].handlers.length,X=J[U];if(X&&Q!=!X.handlers.length)K.removeEventListener(U,this.handleEvent),X=null;if(!X)K.addEventListener(U,this.handleEvent,{passive:Q})}for(let U in J)if(U!="scroll"&&!$[U])K.removeEventListener(U,this.handleEvent);this.handlers=$}keydown(Z){if(this.lastKeyCode=Z.keyCode,this.lastKeyTime=Date.now(),Z.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&Z.keyCode!=27&&A6.indexOf(Z.keyCode)<0)this.tabFocusMode=-1;if(A.android&&A.chrome&&!Z.synthetic&&(Z.keyCode==13||Z.keyCode==8))return this.view.observer.delayAndroidKey(Z.key,Z.keyCode),!0;if(A.ios&&!Z.synthetic&&!Z.altKey&&!Z.metaKey&&(I6.some(($)=>$.keyCode==Z.keyCode)&&!Z.ctrlKey||eJ.indexOf(Z.key)>-1&&Z.ctrlKey)){let $={ctrlKey:Z.ctrlKey,altKey:Z.altKey,metaKey:Z.metaKey,shiftKey:Z.shiftKey};if($.shiftKey&&A.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&oJ(this.view.win))$.shiftKey=!1;return this.pendingIOSKey={key:Z.key,keyCode:Z.keyCode,mods:$},setTimeout(()=>this.flushIOSKey(),250),!0}if(Z.keyCode!=229)this.view.observer.forceFlush();return!1}flushIOSKey(Z){let $=this.pendingIOSKey;if(!$)return!1;if($.key=="Enter"&&Z&&Z.from<Z.to&&/^\S+$/.test(Z.insert.toString()))return!1;return this.pendingIOSKey=void 0,c9(this.view.contentDOM,$.key,$.keyCode,$.mods)}ignoreDuringComposition(Z){if(!/^key/.test(Z.type)||Z.synthetic)return!1;if(this.composing>0)return!0;if(A.safari&&!A.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)return this.compositionPendingKey=!1,!0;return!1}startMouseSelection(Z){if(this.mouseSelection)this.mouseSelection.destroy();this.mouseSelection=Z}update(Z){if(this.view.observer.update(Z),this.mouseSelection)this.mouseSelection.update(Z);if(this.draggedContent&&Z.docChanged)this.draggedContent=this.draggedContent.map(Z.changes);if(Z.transactions.length)this.lastKeyCode=this.lastSelectionTime=0}destroy(){if(this.mouseSelection)this.mouseSelection.destroy()}}function oJ(Z){if(!Z.visualViewport)return!1;return Z.visualViewport.height*Z.visualViewport.scale/Z.document.documentElement.clientHeight<0.85}function K8(Z,$){return(J,K)=>{try{return $.call(Z,K,J)}catch(U){W3(J.state,U)}}}function tJ(Z){let $=Object.create(null);function J(K){return $[K]||($[K]={observers:[],handlers:[]})}for(let K of Z){let U=K.spec,Q=U&&U.plugin.domEventHandlers,X=U&&U.plugin.domEventObservers;if(Q)for(let Y in Q){let q=Q[Y];if(q)J(Y).handlers.push(K8(K.value,q))}if(X)for(let Y in X){let q=X[Y];if(q)J(Y).observers.push(K8(K.value,q))}}for(let K in g3)J(K).handlers.push(g3[K]);for(let K in H3)J(K).observers.push(H3[K]);return $}var I6=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],eJ="dthko",A6=[16,17,18,20,91,92,224,225],$5=6;function J5(Z){return Math.max(0,Z)*0.7+8}function Z2(Z,$){return Math.max(Math.abs(Z.clientX-$.clientX),Math.abs(Z.clientY-$.clientY))}class B6{constructor(Z,$,J,K){this.view=Z,this.startEvent=$,this.style=J,this.mustSelect=K,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=$,this.scrollParents=x8(Z.contentDOM),this.atoms=Z.state.facet(B0).map((Q)=>Q(Z));let U=Z.contentDOM.ownerDocument;U.addEventListener("mousemove",this.move=this.move.bind(this)),U.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=$.shiftKey,this.multiple=Z.state.facet(u.allowMultipleSelections)&&$2(Z,$),this.dragging=K2(Z,$)&&P6($)==1?null:!1}start(Z){if(this.dragging===!1)this.select(Z)}move(Z){if(Z.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Z2(this.startEvent,Z)<10)return;this.select(this.lastEvent=Z);let $=0,J=0,K=0,U=0,Q=this.view.win.innerWidth,X=this.view.win.innerHeight;if(this.scrollParents.x)({left:K,right:Q}=this.scrollParents.x.getBoundingClientRect());if(this.scrollParents.y)({top:U,bottom:X}=this.scrollParents.y.getBoundingClientRect());let Y=jZ(this.view);if(Z.clientX-Y.left<=K+$5)$=-J5(K-Z.clientX);else if(Z.clientX+Y.right>=Q-$5)$=J5(Z.clientX-Q);if(Z.clientY-Y.top<=U+$5)J=-J5(U-Z.clientY);else if(Z.clientY+Y.bottom>=X-$5)J=J5(Z.clientY-X);this.setScrollSpeed($,J)}up(Z){if(this.dragging==null)this.select(this.lastEvent);if(!this.dragging)Z.preventDefault();this.destroy()}destroy(){this.setScrollSpeed(0,0);let Z=this.view.contentDOM.ownerDocument;Z.removeEventListener("mousemove",this.move),Z.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(Z,$){if(this.scrollSpeed={x:Z,y:$},Z||$){if(this.scrolling<0)this.scrolling=setInterval(()=>this.scroll(),50)}else if(this.scrolling>-1)clearInterval(this.scrolling),this.scrolling=-1}scroll(){let{x:Z,y:$}=this.scrollSpeed;if(Z&&this.scrollParents.x)this.scrollParents.x.scrollLeft+=Z,Z=0;if($&&this.scrollParents.y)this.scrollParents.y.scrollTop+=$,$=0;if(Z||$)this.view.win.scrollBy(Z,$);if(this.dragging===!1)this.select(this.lastEvent)}select(Z){let{view:$}=this,J=O6(this.atoms,this.style.get(Z,this.extend,this.multiple));if(this.mustSelect||!J.eq($.state.selection,this.dragging===!1))this.view.dispatch({selection:J,userEvent:"select.pointer"});this.mustSelect=!1}update(Z){if(Z.transactions.some(($)=>$.isUserEvent("input.type")))this.destroy();else if(this.style.update(Z))setTimeout(()=>this.select(this.lastEvent),20)}}function $2(Z,$){let J=Z.state.facet(c8);return J.length?J[0]($):A.mac?$.metaKey:$.ctrlKey}function J2(Z,$){let J=Z.state.facet(s8);return J.length?J[0]($):A.mac?!$.altKey:!$.ctrlKey}function K2(Z,$){let{main:J}=Z.state.selection;if(J.empty)return!1;let K=D0(Z.root);if(!K||K.rangeCount==0)return!0;let U=K.getRangeAt(0).getClientRects();for(let Q=0;Q<U.length;Q++){let X=U[Q];if(X.left<=$.clientX&&X.right>=$.clientX&&X.top<=$.clientY&&X.bottom>=$.clientY)return!0}return!1}function U2(Z,$){if(!$.bubbles)return!0;if($.defaultPrevented)return!1;for(let J=$.target,K;J!=Z.contentDOM;J=J.parentNode)if(!J||J.nodeType==11||(K=a.get(J))&&K.isWidget()&&!K.isHidden&&K.widget.ignoreEvent($))return!1;return!0}var g3=Object.create(null),H3=Object.create(null),M6=A.ie&&A.ie_version<15||A.ios&&A.webkit_version<604;function Q2(Z){let $=Z.dom.parentNode;if(!$)return;let J=$.appendChild(document.createElement("textarea"));J.style.cssText="position: fixed; left: -10000px; top: 10px",J.focus(),setTimeout(()=>{Z.focus(),J.remove(),E6(Z,J.value)},50)}function y5(Z,$,J){for(let K of Z.facet($))J=K(J,Z);return J}function E6(Z,$){$=y5(Z.state,qZ,$);let{state:J}=Z,K,U=1,Q=J.toText($),X=Q.lines==J.selection.ranges.length;if(n7!=null&&J.selection.ranges.every((q)=>q.empty)&&n7==Q.toString()){let q=-1;K=J.changeByRange((G)=>{let W=J.doc.lineAt(G.from);if(W.from==q)return{range:G};q=W.from;let z=J.toText((X?Q.line(U++).text:$)+J.lineBreak);return{changes:{from:W.from,insert:z},range:L.cursor(G.from+z.length)}})}else if(X)K=J.changeByRange((q)=>{let G=Q.line(U++);return{changes:{from:q.from,to:q.to,insert:G.text},range:L.cursor(q.from+G.length)}});else K=J.replaceSelection(Q);Z.dispatch(K,{userEvent:"input.paste",scrollIntoView:!0})}H3.scroll=(Z)=>{let $=Z.inputState;if($.lastScrollTop=Z.scrollDOM.scrollTop,$.lastScrollLeft=Z.scrollDOM.scrollLeft,A.ios&&!$.touchActive)$.lastIOSMomentumScroll=Date.now()};H3.wheel=H3.mousewheel=(Z)=>{Z.inputState.lastWheelEvent=Date.now()};g3.keydown=(Z,$)=>{if(Z.inputState.setSelectionOrigin("select"),$.keyCode==27&&Z.inputState.tabFocusMode!=0)Z.inputState.tabFocusMode=Date.now()+2000;return!1};H3.touchstart=(Z,$)=>{let J=Z.inputState,K=$.targetTouches[0];if(J.touchActive=!0,J.lastTouchTime=Date.now(),K)J.lastTouchX=K.clientX,J.lastTouchY=K.clientY;J.setSelectionOrigin("select.pointer")};H3.touchmove=(Z)=>{Z.inputState.setSelectionOrigin("select.pointer")};H3.touchend=(Z,$)=>{Z.inputState.touchActive=!1};g3.mousedown=(Z,$)=>{if(Z.observer.flush(),Z.inputState.lastTouchTime>Date.now()-2000)return!1;let J=null;for(let K of Z.state.facet(n8))if(J=K(Z,$),J)break;if(!J&&$.button==0)J=Y2(Z,$);if(J){let K=!Z.hasFocus;if(Z.inputState.startMouseSelection(new B6(Z,$,J,K)),K)Z.observer.ignore(()=>{h8(Z.contentDOM);let Q=Z.root.activeElement;if(Q&&!Q.contains(Z.contentDOM))Q.blur()});let U=Z.inputState.mouseSelection;if(U)return U.start($),U.dragging===!1}else Z.inputState.setSelectionOrigin("select.pointer");return!1};function U8(Z,$,J,K){if(K==1)return L.cursor($,J);else if(K==2)return fJ(Z.state,$,J);else{let U=Z.docView.lineAt($,J),Q=Z.state.doc.lineAt(U?U.posAtEnd:$),X=U?U.posAtStart:Q.from,Y=U?U.posAtEnd:Q.to;if(Y<Z.state.doc.length&&Y==Q.to)Y++;return L.undirectionalRange(X,Y)}}var X2=A.ie&&A.ie_version<=11,Q8=null,X8=0,Y8=0;function P6(Z){if(!X2)return Z.detail;let $=Q8,J=Y8;return Q8=Z,Y8=Date.now(),X8=!$||J>Date.now()-400&&Math.abs($.clientX-Z.clientX)<2&&Math.abs($.clientY-Z.clientY)<2?(X8+1)%3:1}function Y2(Z,$){let J=Z.posAndSideAtCoords({x:$.clientX,y:$.clientY},!1),K=P6($),U=Z.state.selection;return{update(Q){if(Q.docChanged)J.pos=Q.changes.mapPos(J.pos),U=U.map(Q.changes)},get(Q,X,Y){let q=Z.posAndSideAtCoords({x:Q.clientX,y:Q.clientY},!1),G,W=U8(Z,q.pos,q.assoc,K);if(J.pos!=q.pos&&!X){let z=U8(Z,J.pos,J.assoc,K),j=Math.min(z.from,W.from),_=Math.max(z.to,W.to);W=j<W.from?L.range(j,_,W.assoc):L.range(_,j,W.assoc)}if(X)return U.replaceRange(U.main.extend(W.from,W.to,W.assoc));else if(Y&&K==1&&U.ranges.length>1&&(G=q2(U,q.pos)))return G;else if(Y)return U.addRange(W);else return L.create([W])}}}function q2(Z,$){for(let J=0;J<Z.ranges.length;J++){let{from:K,to:U}=Z.ranges[J];if(K<=$&&U>=$)return L.create(Z.ranges.slice(0,J).concat(Z.ranges.slice(J+1)),Z.mainIndex==J?0:Z.mainIndex-(Z.mainIndex>J?1:0))}return null}g3.dragstart=(Z,$)=>{let{selection:{main:J}}=Z.state;if($.target.draggable){let U=Z.docView.tile.nearest($.target);if(U&&U.isWidget()){let Q=U.posAtStart,X=Q+U.length;if(Q>=J.to||X<=J.from)J=L.undirectionalRange(Q,X)}}let{inputState:K}=Z;if(K.mouseSelection)K.mouseSelection.dragging=!0;if(K.draggedContent=J,$.dataTransfer)$.dataTransfer.setData("Text",y5(Z.state,GZ,Z.state.sliceDoc(J.from,J.to))),$.dataTransfer.effectAllowed="copyMove";return!1};g3.dragend=(Z)=>{return Z.inputState.draggedContent=null,!1};function q8(Z,$,J,K){if(J=y5(Z.state,qZ,J),!J)return;let U=Z.posAtCoords({x:$.clientX,y:$.clientY},!1),{draggedContent:Q}=Z.inputState,X=K&&Q&&J2(Z,$)?{from:Q.from,to:Q.to}:null,Y={from:U,insert:J},q=Z.state.changes(X?[X,Y]:Y);Z.focus(),Z.dispatch({changes:q,selection:{anchor:q.mapPos(U,-1),head:q.mapPos(U,1)},userEvent:X?"move.drop":"input.drop"}),Z.inputState.draggedContent=null}g3.drop=(Z,$)=>{if(!$.dataTransfer)return!1;if(Z.state.readOnly)return!0;let J=$.dataTransfer.files;if(J&&J.length){let K=Array(J.length),U=0,Q=()=>{if(++U==J.length)q8(Z,$,K.filter((X)=>X!=null).join(Z.state.lineBreak),!1)};for(let X=0;X<J.length;X++){let Y=new FileReader;Y.onerror=Q,Y.onload=()=>{if(!/[\x00-\x08\x0e-\x1f]{2}/.test(Y.result))K[X]=Y.result;Q()},Y.readAsText(J[X])}return!0}else{let K=$.dataTransfer.getData("Text");if(K)return q8(Z,$,K,!0),!0}return!1};g3.paste=(Z,$)=>{if(Z.state.readOnly)return!0;Z.observer.flush();let J=M6?null:$.clipboardData;if(J)return E6(Z,J.getData("text/plain")||J.getData("text/uri-list")),!0;else return Q2(Z),!1};function G2(Z,$){let J=Z.dom.parentNode;if(!J)return;let K=J.appendChild(document.createElement("textarea"));K.style.cssText="position: fixed; left: -10000px; top: 10px",K.value=$,K.focus(),K.selectionEnd=$.length,K.selectionStart=0,setTimeout(()=>{K.remove(),Z.focus()},50)}function W2(Z){let $=[],J=[],K=!1;for(let U of Z.selection.ranges)if(!U.empty)$.push(Z.sliceDoc(U.from,U.to)),J.push(U);if(!$.length){let U=-1;for(let{from:Q}of Z.selection.ranges){let X=Z.doc.lineAt(Q);if(X.number>U)$.push(X.text),J.push({from:X.from,to:Math.min(Z.doc.length,X.to+1)});U=X.number}K=!0}return{text:y5(Z,GZ,$.join(Z.lineBreak)),ranges:J,linewise:K}}var n7=null;g3.copy=g3.cut=(Z,$)=>{if(!O0(Z.contentDOM,Z.observer.selectionRange))return!1;let{text:J,ranges:K,linewise:U}=W2(Z.state);if(!J&&!U)return!1;if(n7=U?J:null,$.type=="cut"&&!Z.state.readOnly)Z.dispatch({changes:K,scrollIntoView:!0,userEvent:"delete.cut"});let Q=M6?null:$.clipboardData;if(Q)return Q.clearData(),Q.setData("text/plain",J),!0;else return G2(Z,J),!1};var C6=s3.define();function T6(Z,$){let J=[];for(let K of Z.facet(a8)){let U=K(Z,$);if(U)J.push(U)}return J.length?Z.update({effects:J,annotations:C6.of(!0)}):null}function y6(Z){setTimeout(()=>{let $=Z.hasFocus;if($!=Z.inputState.notifiedFocused){let J=T6(Z.state,$);if(J)Z.dispatch(J);else Z.update([])}},10)}H3.focus=(Z)=>{if(Z.inputState.lastFocusTime=Date.now(),!Z.scrollDOM.scrollTop&&(Z.inputState.lastScrollTop||Z.inputState.lastScrollLeft))Z.scrollDOM.scrollTop=Z.inputState.lastScrollTop,Z.scrollDOM.scrollLeft=Z.inputState.lastScrollLeft;y6(Z)};H3.blur=(Z)=>{Z.observer.clearSelectionRange(),y6(Z)};H3.compositionstart=H3.compositionupdate=(Z)=>{if(Z.observer.editContext)return;if(Z.inputState.compositionFirstChange==null)Z.inputState.compositionFirstChange=!0;if(Z.inputState.composing<0)Z.inputState.composing=0};H3.compositionend=(Z)=>{if(Z.observer.editContext)return;if(Z.inputState.composing=-1,Z.inputState.compositionEndedAt=Date.now(),Z.inputState.compositionPendingKey=!0,Z.inputState.compositionPendingChange=Z.observer.pendingRecords().length>0,Z.inputState.compositionFirstChange=null,A.chrome&&A.android)Z.observer.flushSoon();else if(Z.inputState.compositionPendingChange)Promise.resolve().then(()=>Z.observer.flush());else setTimeout(()=>{if(Z.inputState.composing<0&&Z.docView.hasComposition)Z.update([])},50)};H3.contextmenu=(Z)=>{Z.inputState.lastContextMenu=Date.now()};g3.beforeinput=(Z,$)=>{var J,K;if($.inputType=="insertText"||$.inputType=="insertCompositionText")Z.inputState.insertingText=$.data,Z.inputState.insertingTextAt=Date.now();if($.inputType=="insertReplacementText"&&Z.observer.editContext){let Q=(J=$.dataTransfer)===null||J===void 0?void 0:J.getData("text/plain"),X=$.getTargetRanges();if(Q&&X.length){let Y=X[0],q=Z.posAtDOM(Y.startContainer,Y.startOffset),G=Z.posAtDOM(Y.endContainer,Y.endOffset);return _Z(Z,{from:q,to:G,insert:Z.state.toText(Q)},null),!0}}let U;if(A.chrome&&A.android&&(U=I6.find((Q)=>Q.inputType==$.inputType))){if(Z.observer.delayAndroidKey(U.key,U.keyCode),U.key=="Backspace"||U.key=="Delete"){let Q=((K=window.visualViewport)===null||K===void 0?void 0:K.height)||0;setTimeout(()=>{var X;if((((X=window.visualViewport)===null||X===void 0?void 0:X.height)||0)>Q+10&&Z.hasFocus)Z.contentDOM.blur(),Z.focus()},100)}}if(A.ios&&$.inputType=="deleteContentForward")Z.observer.flushSoon();if(A.safari&&$.inputType=="insertText"&&Z.inputState.composing>=0)setTimeout(()=>H3.compositionend(Z,$),20);return!1};var G8=new Set;function z2(Z){if(!G8.has(Z))G8.add(Z),Z.addEventListener("copy",()=>{}),Z.addEventListener("cut",()=>{})}var W8=["pre-wrap","normal","pre-line","break-spaces"],i9=!1;function z8(){i9=!1}class S6{constructor(Z){this.lineWrapping=Z,this.doc=m.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(Z,$){let J=this.doc.lineAt($).number-this.doc.lineAt(Z).number+1;if(this.lineWrapping)J+=Math.max(0,Math.ceil(($-Z-J*this.lineLength*0.5)/this.lineLength));return this.lineHeight*J}heightForLine(Z){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((Z-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight}setDoc(Z){return this.doc=Z,this}mustRefreshForWrapping(Z){return W8.indexOf(Z)>-1!=this.lineWrapping}mustRefreshForHeights(Z){let $=!1;for(let J=0;J<Z.length;J++){let K=Z[J];if(K<0)J++;else if(!this.heightSamples[Math.floor(K*10)])$=!0,this.heightSamples[Math.floor(K*10)]=!0}return $}refresh(Z,$,J,K,U,Q){let X=W8.indexOf(Z)>-1,Y=Math.abs($-this.lineHeight)>0.3||this.lineWrapping!=X;if(this.lineWrapping=X,this.lineHeight=$,this.charWidth=J,this.textHeight=K,this.lineLength=U,Y){this.heightSamples={};for(let q=0;q<Q.length;q++){let G=Q[q];if(G<0)q++;else this.heightSamples[Math.floor(G*10)]=!0}}return Y}}class b6{constructor(Z,$){this.from=Z,this.heights=$,this.index=0}get more(){return this.index<this.heights.length}}class v3{constructor(Z,$,J,K,U){this.from=Z,this.length=$,this.top=J,this.height=K,this._content=U}get type(){return typeof this._content=="number"?Y3.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 I9?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(Z){let $=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(Z._content)?Z._content:[Z]);return new v3(this.from,this.length+Z.length,this.top,this.height+Z.height,$)}}var n=function(Z){return Z[Z.ByPos=0]="ByPos",Z[Z.ByHeight=1]="ByHeight",Z[Z.ByPosNoHeight=2]="ByPosNoHeight",Z}(n||(n={})),j5=0.001;class V3{constructor(Z,$,J=2){this.length=Z,this.height=$,this.flags=J}get outdated(){return(this.flags&2)>0}set outdated(Z){this.flags=(Z?2:0)|this.flags&-3}setHeight(Z){if(this.height!=Z){if(Math.abs(this.height-Z)>j5)i9=!0;this.height=Z}}replace(Z,$,J){return V3.of(J)}decomposeLeft(Z,$){$.push(this)}decomposeRight(Z,$){$.push(this)}applyChanges(Z,$,J,K){let U=this,Q=J.doc;for(let X=K.length-1;X>=0;X--){let{fromA:Y,toA:q,fromB:G,toB:W}=K[X],z=U.lineAt(Y,n.ByPosNoHeight,J.setDoc($),0,0),j=z.to>=q?z:U.lineAt(q,n.ByPosNoHeight,J,0,0);W+=j.to-q,q=j.to;while(X>0&&z.from<=K[X-1].toA)if(Y=K[X-1].fromA,G=K[X-1].fromB,X--,Y<z.from)z=U.lineAt(Y,n.ByPosNoHeight,J,0,0);G+=z.from-Y,Y=z.from;let _=VZ.build(J.setDoc(Q),Z,G,W);U=M5(U,U.replace(Y,q,_))}return U.updateHeight(J,0)}static empty(){return new I3(0,0,0)}static of(Z){if(Z.length==1)return Z[0];let $=0,J=Z.length,K=0,U=0;for(;;)if($==J)if(K>U*2){let X=Z[$-1];if(X.break)Z.splice(--$,1,X.left,null,X.right);else Z.splice(--$,1,X.left,X.right);J+=1+X.break,K-=X.size}else if(U>K*2){let X=Z[J];if(X.break)Z.splice(J,1,X.left,null,X.right);else Z.splice(J,1,X.left,X.right);J+=2+X.break,U-=X.size}else break;else if(K<U){let X=Z[$++];if(X)K+=X.size}else{let X=Z[--J];if(X)U+=X.size}let Q=0;if(Z[$-1]==null)Q=1,$--;else if(Z[$]==null)Q=1,J++;return new k6(V3.of(Z.slice(0,$)),Q,V3.of(Z.slice(J)))}}function M5(Z,$){if(Z==$)return Z;if(Z.constructor!=$.constructor)i9=!0;return $}V3.prototype.size=1;var j2=w.replace({});class OZ extends V3{constructor(Z,$,J){super(Z,$);this.deco=J,this.spaceAbove=0}mainBlock(Z,$){return new v3($,this.length,Z+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(Z,$,J,K){return this.spaceAbove&&Z<J+this.spaceAbove?new v3(K,0,J,this.spaceAbove,j2):this.mainBlock(J,K)}lineAt(Z,$,J,K,U){let Q=this.mainBlock(K,U);return this.spaceAbove?this.blockAt(0,J,K,U).join(Q):Q}forEachLine(Z,$,J,K,U,Q){if(Z<=U+this.length&&$>=U)Q(this.lineAt(0,n.ByPos,J,K,U))}setMeasuredHeight(Z){let $=Z.heights[Z.index++];if($<0)this.spaceAbove=-$,$=Z.heights[Z.index++];else this.spaceAbove=0;this.setHeight($)}updateHeight(Z,$=0,J=!1,K){if(K&&K.from<=$&&K.more)this.setMeasuredHeight(K);return this.outdated=!1,this}toString(){return`block(${this.length})`}}class I3 extends OZ{constructor(Z,$,J){super(Z,$,null);this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=J}mainBlock(Z,$){return new v3($,this.length,Z+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(Z,$,J){let K=J[0];if(J.length==1&&(K instanceof I3||K instanceof X3&&K.flags&4)&&Math.abs(this.length-K.length)<10){if(K instanceof X3)K=new I3(K.length,this.height,this.spaceAbove);else K.height=this.height;if(!this.outdated)K.outdated=!1;return K}else return V3.of(J)}updateHeight(Z,$=0,J=!1,K){if(K&&K.from<=$&&K.more)this.setMeasuredHeight(K);else if(J||this.outdated)this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,Z.heightForLine(this.length-this.collapsed))+this.breaks*Z.lineHeight);return this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class X3 extends V3{constructor(Z){super(Z,0)}heightMetrics(Z,$){let J=Z.doc.lineAt($).number,K=Z.doc.lineAt($+this.length).number,U=K-J+1,Q,X=0;if(Z.lineWrapping){let Y=Math.min(this.height,Z.lineHeight*U);if(Q=Y/U,this.length>U+1)X=(this.height-Y)/(this.length-U-1)}else Q=this.height/U;return{firstLine:J,lastLine:K,perLine:Q,perChar:X}}blockAt(Z,$,J,K){let{firstLine:U,lastLine:Q,perLine:X,perChar:Y}=this.heightMetrics($,K);if($.lineWrapping){let q=K+(Z<$.lineHeight?0:Math.round(Math.max(0,Math.min(1,(Z-J)/this.height))*this.length)),G=$.doc.lineAt(q),W=X+G.length*Y,z=Math.max(J,Z-W/2);return new v3(G.from,G.length,z,W,0)}else{let q=Math.max(0,Math.min(Q-U,Math.floor((Z-J)/X))),{from:G,length:W}=$.doc.line(U+q);return new v3(G,W,J+X*q,X,0)}}lineAt(Z,$,J,K,U){if($==n.ByHeight)return this.blockAt(Z,J,K,U);if($==n.ByPosNoHeight){let{from:j,to:_}=J.doc.lineAt(Z);return new v3(j,_-j,0,0,0)}let{firstLine:Q,perLine:X,perChar:Y}=this.heightMetrics(J,U),q=J.doc.lineAt(Z),G=X+q.length*Y,W=q.number-Q,z=K+X*W+Y*(q.from-U-W);return new v3(q.from,q.length,Math.max(K,Math.min(z,K+this.height-G)),G,0)}forEachLine(Z,$,J,K,U,Q){Z=Math.max(Z,U),$=Math.min($,U+this.length);let{firstLine:X,perLine:Y,perChar:q}=this.heightMetrics(J,U);for(let G=Z,W=K;G<=$;){let z=J.doc.lineAt(G);if(G==Z){let _=z.number-X;W+=Y*_+q*(Z-U-_)}let j=Y+q*z.length;Q(new v3(z.from,z.length,W,j,0)),W+=j,G=z.to+1}}replace(Z,$,J){let K=this.length-$;if(K>0){let U=J[J.length-1];if(U instanceof X3)J[J.length-1]=new X3(U.length+K);else J.push(null,new X3(K-1))}if(Z>0){let U=J[0];if(U instanceof X3)J[0]=new X3(Z+U.length);else J.unshift(new X3(Z-1),null)}return V3.of(J)}decomposeLeft(Z,$){$.push(new X3(Z-1),null)}decomposeRight(Z,$){$.push(null,new X3(this.length-Z-1))}updateHeight(Z,$=0,J=!1,K){let U=$+this.length;if(K&&K.from<=$+this.length&&K.more){let Q=[],X=Math.max($,K.from),Y=-1;if(K.from>$)Q.push(new X3(K.from-$-1).updateHeight(Z,$));while(X<=U&&K.more){let G=Z.doc.lineAt(X).length;if(Q.length)Q.push(null);let W=K.heights[K.index++],z=0;if(W<0)z=-W,W=K.heights[K.index++];if(Y==-1)Y=W;else if(Math.abs(W-Y)>=j5)Y=-2;let j=new I3(G,W,z);j.outdated=!1,Q.push(j),X+=G+1}if(X<=U)Q.push(null,new X3(U-X).updateHeight(Z,X));let q=V3.of(Q);if(Y<0||Math.abs(q.height-this.height)>=j5||Math.abs(Y-this.heightMetrics(Z,$).perLine)>=j5)i9=!0;return M5(this,q)}else if(J||this.outdated)this.setHeight(Z.heightForGap($,$+this.length)),this.outdated=!1;return this}toString(){return`gap(${this.length})`}}class k6 extends V3{constructor(Z,$,J){super(Z.length+$+J.length,Z.height+J.height,$|(Z.outdated||J.outdated?2:0));this.left=Z,this.right=J,this.size=Z.size+J.size}get break(){return this.flags&1}blockAt(Z,$,J,K){let U=J+this.left.height;return Z<U?this.left.blockAt(Z,$,J,K):this.right.blockAt(Z,$,U,K+this.left.length+this.break)}lineAt(Z,$,J,K,U){let Q=K+this.left.height,X=U+this.left.length+this.break,Y=$==n.ByHeight?Z<Q:Z<X,q=Y?this.left.lineAt(Z,$,J,K,U):this.right.lineAt(Z,$,J,Q,X);if(this.break||(Y?q.to<X:q.from>X))return q;let G=$==n.ByPosNoHeight?n.ByPosNoHeight:n.ByPos;if(Y)return q.join(this.right.lineAt(X,G,J,Q,X));else return this.left.lineAt(X,G,J,K,U).join(q)}forEachLine(Z,$,J,K,U,Q){let X=K+this.left.height,Y=U+this.left.length+this.break;if(this.break){if(Z<Y)this.left.forEachLine(Z,$,J,K,U,Q);if($>=Y)this.right.forEachLine(Z,$,J,X,Y,Q)}else{let q=this.lineAt(Y,n.ByPos,J,K,U);if(Z<q.from)this.left.forEachLine(Z,q.from-1,J,K,U,Q);if(q.to>=Z&&q.from<=$)Q(q);if($>q.to)this.right.forEachLine(q.to+1,$,J,X,Y,Q)}}replace(Z,$,J){let K=this.left.length+this.break;if($<K)return this.balanced(this.left.replace(Z,$,J),this.right);if(Z>this.left.length)return this.balanced(this.left,this.right.replace(Z-K,$-K,J));let U=[];if(Z>0)this.decomposeLeft(Z,U);let Q=U.length;for(let X of J)U.push(X);if(Z>0)j8(U,Q-1);if($<this.length){let X=U.length;this.decomposeRight($,U),j8(U,X)}return V3.of(U)}decomposeLeft(Z,$){let J=this.left.length;if(Z<=J)return this.left.decomposeLeft(Z,$);if($.push(this.left),this.break){if(J++,Z>=J)$.push(null)}if(Z>J)this.right.decomposeLeft(Z-J,$)}decomposeRight(Z,$){let J=this.left.length,K=J+this.break;if(Z>=K)return this.right.decomposeRight(Z-K,$);if(Z<J)this.left.decomposeRight(Z,$);if(this.break&&Z<K)$.push(null);$.push(this.right)}balanced(Z,$){if(Z.size>2*$.size||$.size>2*Z.size)return V3.of(this.break?[Z,null,$]:[Z,$]);return this.left=M5(this.left,Z),this.right=M5(this.right,$),this.setHeight(Z.height+$.height),this.outdated=Z.outdated||$.outdated,this.size=Z.size+$.size,this.length=Z.length+this.break+$.length,this}updateHeight(Z,$=0,J=!1,K){let{left:U,right:Q}=this,X=$+U.length+this.break,Y=null;if(K&&K.from<=$+U.length&&K.more)Y=U=U.updateHeight(Z,$,J,K);else U.updateHeight(Z,$,J);if(K&&K.from<=X+Q.length&&K.more)Y=Q=Q.updateHeight(Z,X,J,K);else Q.updateHeight(Z,X,J);if(Y)return this.balanced(U,Q);return this.height=this.left.height+this.right.height,this.outdated=!1,this}toString(){return this.left+(this.break?" ":"-")+this.right}}function j8(Z,$){let J,K;if(Z[$]==null&&(J=Z[$-1])instanceof X3&&(K=Z[$+1])instanceof X3)Z.splice($-1,3,new X3(J.length+1+K.length))}var _2=5;class VZ{constructor(Z,$){this.pos=Z,this.oracle=$,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=Z}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(Z,$){if(this.lineStart>-1){let J=Math.min($,this.lineEnd),K=this.nodes[this.nodes.length-1];if(K instanceof I3)K.length+=J-this.pos;else if(J>this.pos||!this.isCovered)this.nodes.push(new I3(J-this.pos,-1,0));if(this.writtenTo=J,$>J)this.nodes.push(null),this.writtenTo++,this.lineStart=-1}this.pos=$}point(Z,$,J){if(Z<$||J.heightRelevant){let K=J.widget?J.widget.estimatedHeight:0,U=J.widget?J.widget.lineBreaks:0;if(K<0)K=this.oracle.lineHeight;let Q=$-Z;if(J.block)this.addBlock(new OZ(Q,K,J));else if(Q||U||K>=_2)this.addLineDeco(K,U,Q)}else if($>Z)this.span(Z,$);if(this.lineEnd>-1&&this.lineEnd<this.pos)this.lineEnd=this.oracle.doc.lineAt(this.pos).to}enterLine(){if(this.lineStart>-1)return;let{from:Z,to:$}=this.oracle.doc.lineAt(this.pos);if(this.lineStart=Z,this.lineEnd=$,this.writtenTo<Z){if(this.writtenTo<Z-1||this.nodes[this.nodes.length-1]==null)this.nodes.push(this.blankContent(this.writtenTo,Z-1));this.nodes.push(null)}if(this.pos>Z)this.nodes.push(new I3(this.pos-Z,-1,0));this.writtenTo=this.pos}blankContent(Z,$){let J=new X3($-Z);if(this.oracle.doc.lineAt(Z).to==$)J.flags|=4;return J}ensureLine(){this.enterLine();let Z=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(Z instanceof I3)return Z;let $=new I3(0,-1,0);return this.nodes.push($),$}addBlock(Z){this.enterLine();let $=Z.deco;if($&&$.startSide>0&&!this.isCovered)this.ensureLine();if(this.nodes.push(Z),this.writtenTo=this.pos=this.pos+Z.length,$&&$.endSide>0)this.covering=Z}addLineDeco(Z,$,J){let K=this.ensureLine();K.length+=J,K.collapsed+=J,K.widgetHeight=Math.max(K.widgetHeight,Z),K.breaks+=$,this.writtenTo=this.pos=this.pos+J}finish(Z){let $=this.nodes.length==0?null:this.nodes[this.nodes.length-1];if(this.lineStart>-1&&!($ instanceof I3)&&!this.isCovered)this.nodes.push(new I3(0,-1,0));else if(this.writtenTo<this.pos||$==null)this.nodes.push(this.blankContent(this.writtenTo,this.pos));let J=Z;for(let K of this.nodes){if(K instanceof I3)K.updateHeight(this.oracle,J);J+=K?K.length:1}return this.nodes}static build(Z,$,J,K){let U=new VZ(J,Z);return k.spans($,J,K,U,0),U.finish(J)}}function O2(Z,$,J){let K=new x6;return k.compare(Z,$,J,K,0),K.changes}class x6{constructor(){this.changes=[]}compareRange(){}comparePoint(Z,$,J,K){if(Z<$||J&&J.heightRelevant||K&&K.heightRelevant)d9(Z,$,this.changes,5)}}function V2(Z,$){let J=Z.getBoundingClientRect(),K=Z.ownerDocument,U=K.defaultView||window,Q=Math.max(0,J.left),X=Math.min(U.innerWidth,J.right),Y=Math.max(0,J.top),q=Math.min(U.innerHeight,J.bottom);for(let G=Z.parentNode;G&&G!=K.body;)if(G.nodeType==1){let W=G,z=window.getComputedStyle(W);if((W.scrollHeight>W.clientHeight||W.scrollWidth>W.clientWidth)&&z.overflow!="visible"){let j=W.getBoundingClientRect();Q=Math.max(Q,j.left),X=Math.min(X,j.right),Y=Math.max(Y,j.top),q=Math.min(G==Z.parentNode?U.innerHeight:q,j.bottom)}G=z.position=="absolute"||z.position=="fixed"?W.offsetParent:W.parentNode}else if(G.nodeType==11)G=G.host;else break;return{left:Q-J.left,right:Math.max(Q,X)-J.left,top:Y-(J.top+$),bottom:Math.max(Y,q)-(J.top+$)}}function H2(Z){let $=Z.getBoundingClientRect(),J=Z.ownerDocument.defaultView||window;return $.left<J.innerWidth&&$.right>0&&$.top<J.innerHeight&&$.bottom>0}function N2(Z,$){let J=Z.getBoundingClientRect();return{left:0,right:J.right-J.left,top:$,bottom:J.bottom-(J.top+$)}}class _5{constructor(Z,$,J,K){this.from=Z,this.to=$,this.size=J,this.displaySize=K}static same(Z,$){if(Z.length!=$.length)return!1;for(let J=0;J<Z.length;J++){let K=Z[J],U=$[J];if(K.from!=U.from||K.to!=U.to||K.size!=U.size)return!1}return!0}draw(Z,$){return w.replace({widget:new w6(this.displaySize*($?Z.scaleY:Z.scaleX),$)}).range(this.from,this.to)}}class w6 extends T3{constructor(Z,$){super();this.size=Z,this.vertical=$}eq(Z){return Z.size==this.size&&Z.vertical==this.vertical}toDOM(){let Z=document.createElement("div");if(this.vertical)Z.style.height=this.size+"px";else Z.style.width=this.size+"px",Z.style.height="2px",Z.style.display="inline-block";return Z}get estimatedHeight(){return this.vertical?this.size:-1}}class i7{constructor(Z,$){this.view=Z,this.state=$,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.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=_8,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=l.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let J=$.facet(WZ).some((K)=>typeof K!="function"&&K.class=="cm-lineWrapping");this.heightOracle=new S6(J),this.stateDeco=O8($),this.heightMap=V3.empty().applyChanges(this.stateDeco,m.empty,this.heightOracle.setDoc($.doc),[new C3(0,0,0,$.doc.length)]);for(let K=0;K<2;K++)if(this.viewport=this.getViewport(0,null),!this.updateForViewport())break;this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=w.set(this.lineGaps.map((K)=>K.draw(this,!1))),this.scrollParent=Z.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let Z=[this.viewport],{main:$}=this.state.selection;for(let J=0;J<=1;J++){let K=J?$.head:$.anchor;if(!Z.some(({from:U,to:Q})=>K>=U&&K<=Q)){let{from:U,to:Q}=this.lineBlockAt(K);Z.push(new W0(U,Q))}}return this.viewports=Z.sort((J,K)=>J.from-K.from),this.updateScaler()}updateScaler(){let Z=this.scaler;return this.scaler=this.heightMap.height<=7000000?_8:new HZ(this.heightOracle,this.heightMap,this.viewports),Z.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(Z)=>{this.viewportLines.push(z0(Z,this.scaler))})}update(Z,$=null){this.state=Z.state;let J=this.stateDeco;this.stateDeco=O8(this.state);let K=Z.changedRanges,U=C3.extendWithRanges(K,O2(J,this.stateDeco,Z?Z.changes:e.empty(this.state.doc.length))),Q=this.heightMap.height,X=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);if(z8(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,Z.startState.doc,this.heightOracle.setDoc(this.state.doc),U),this.heightMap.height!=Q||i9)Z.flags|=2;if(X)this.scrollAnchorPos=Z.changes.mapPos(X.from,-1),this.scrollAnchorHeight=X.top;else this.scrollAnchorPos=-1,this.scrollAnchorHeight=Q;let Y=U.length?this.mapViewport(this.viewport,Z.changes):this.viewport;if($&&($.range.head<Y.from||$.range.head>Y.to)||!this.viewportIsAppropriate(Y))Y=this.getViewport(0,$);let q=Y.from!=this.viewport.from||Y.to!=this.viewport.to;if(this.viewport=Y,Z.flags|=this.updateForViewport(),q||!Z.changes.empty||Z.flags&2)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>4000)this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,Z.changes)));if(Z.flags|=this.computeVisibleRanges(Z.changes),$)this.scrollTarget=$;if(!this.mustEnforceCursorAssoc&&(Z.selectionSet||Z.focusChanged)&&Z.view.lineWrapping&&Z.state.selection.main.empty&&Z.state.selection.main.assoc&&!Z.state.facet(t8))this.mustEnforceCursorAssoc=!0}measure(){let{view:Z}=this,$=Z.contentDOM,J=window.getComputedStyle($),K=this.heightOracle,U=J.whiteSpace;this.defaultTextDirection=J.direction=="rtl"?l.RTL:l.LTR;let Q=this.heightOracle.mustRefreshForWrapping(U)||this.mustMeasureContent==="refresh",X=$.getBoundingClientRect(),Y=Q||this.mustMeasureContent||this.contentDOMHeight!=X.height;this.contentDOMHeight=X.height,this.mustMeasureContent=!1;let q=0,G=0;if(X.width&&X.height){let{scaleX:P,scaleY:R}=k8($,X);if(P>0.005&&Math.abs(this.scaleX-P)>0.005||R>0.005&&Math.abs(this.scaleY-R)>0.005)this.scaleX=P,this.scaleY=R,q|=16,Q=Y=!0}let W=(parseInt(J.paddingTop)||0)*this.scaleY,z=(parseInt(J.paddingBottom)||0)*this.scaleY;if(this.paddingTop!=W||this.paddingBottom!=z)this.paddingTop=W,this.paddingBottom=z,q|=18;if(this.editorWidth!=Z.scrollDOM.clientWidth){if(K.lineWrapping)Y=!0;this.editorWidth=Z.scrollDOM.clientWidth,q|=16}let j=x8(this.view.contentDOM,!1).y;if(j!=this.scrollParent)this.scrollParent=j,this.scrollAnchorHeight=-1,this.scrollOffset=0;let _=this.getScrollOffset();if(this.scrollOffset!=_)this.scrollAnchorHeight=-1,this.scrollOffset=_;this.scrolledToBottom=v8(this.scrollParent||Z.win);let O=(this.printing?N2:V2)($,this.paddingTop),V=O.top-this.pixelViewport.top,H=O.bottom-this.pixelViewport.bottom;this.pixelViewport=O;let F=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(F!=this.inView){if(this.inView=F,F)Y=!0}if(!this.inView&&!this.scrollTarget&&!H2(Z.dom))return 0;let D=X.width;if(this.contentDOMWidth!=D||this.editorHeight!=Z.scrollDOM.clientHeight)this.contentDOMWidth=X.width,this.editorHeight=Z.scrollDOM.clientHeight,q|=16;if(Y){let P=Z.docView.measureVisibleLineHeights(this.viewport);if(K.mustRefreshForHeights(P))Q=!0;if(Q||K.lineWrapping&&Math.abs(D-this.contentDOMWidth)>K.charWidth){let{lineHeight:R,charWidth:C,textHeight:M}=Z.docView.measureTextSize();if(Q=R>0&&K.refresh(U,R,C,M,Math.max(5,D/C),P),Q)Z.docView.minWidth=0,q|=16}if(V>0&&H>0)G=Math.max(V,H);else if(V<0&&H<0)G=Math.min(V,H);z8();for(let R of this.viewports){let C=R.from==this.viewport.from?P:Z.docView.measureVisibleLineHeights(R);this.heightMap=(Q?V3.empty().applyChanges(this.stateDeco,m.empty,this.heightOracle,[new C3(0,0,0,Z.state.doc.length)]):this.heightMap).updateHeight(K,0,Q,new b6(R.from,C))}if(i9)q|=2}let B=!this.viewportIsAppropriate(this.viewport,G)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);if(B){if(q&2)q|=this.updateScaler();this.viewport=this.getViewport(G,this.scrollTarget),q|=this.updateForViewport()}if(q&2||B)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>4000)this.updateLineGaps(this.ensureLineGaps(Q?[]:this.lineGaps,Z));if(q|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc)this.mustEnforceCursorAssoc=!1,Z.docView.enforceCursorAssoc();return q}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(Z,$){let J=0.5-Math.max(-0.5,Math.min(0.5,Z/1000/2)),K=this.heightMap,U=this.heightOracle,{visibleTop:Q,visibleBottom:X}=this,Y=new W0(K.lineAt(Q-J*1000,n.ByHeight,U,0,0).from,K.lineAt(X+(1-J)*1000,n.ByHeight,U,0,0).to);if($){let{head:q}=$.range;if(q<Y.from||q>Y.to){let G=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),W=K.lineAt(q,n.ByPos,U,0,0),z;if($.y=="center")z=(W.top+W.bottom)/2-G/2;else if($.y=="start"||$.y=="nearest"&&q<Y.from)z=W.top;else z=W.bottom-G;Y=new W0(K.lineAt(z-500,n.ByHeight,U,0,0).from,K.lineAt(z+G+500,n.ByHeight,U,0,0).to)}}return Y}mapViewport(Z,$){let J=$.mapPos(Z.from,-1),K=$.mapPos(Z.to,1);return new W0(this.heightMap.lineAt(J,n.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(K,n.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:Z,to:$},J=0){if(!this.inView)return!0;let{top:K}=this.heightMap.lineAt(Z,n.ByPos,this.heightOracle,0,0),{bottom:U}=this.heightMap.lineAt($,n.ByPos,this.heightOracle,0,0),{visibleTop:Q,visibleBottom:X}=this;return(Z==0||K<=Q-Math.max(10,Math.min(-J,250)))&&($==this.state.doc.length||U>=X+Math.max(10,Math.min(J,250)))&&(K>Q-2000&&U<X+2000)}mapLineGaps(Z,$){if(!Z.length||$.empty)return Z;let J=[];for(let K of Z)if(!$.touchesRange(K.from,K.to))J.push(new _5($.mapPos(K.from),$.mapPos(K.to),K.size,K.displaySize));return J}ensureLineGaps(Z,$){let J=this.heightOracle.lineWrapping,K=J?1e4:2000,U=K>>1,Q=K<<1;if(this.defaultTextDirection!=l.LTR&&!J)return[];let X=[],Y=(G,W,z,j)=>{if(W-G<U)return;let _=this.state.selection.main,O=[_.from];if(!_.empty)O.push(_.to);for(let H of O)if(H>G&&H<W){Y(G,H-10,z,j),Y(H+10,W,z,j);return}let V=D2(Z,(H)=>H.from>=z.from&&H.to<=z.to&&Math.abs(H.from-G)<U&&Math.abs(H.to-W)<U&&!O.some((F)=>H.from<F&&H.to>F));if(!V){if(W<z.to&&$&&J&&$.visibleRanges.some((D)=>D.from<=W&&D.to>=W)){let D=$.moveToLineBoundary(L.cursor(W),!1,!0).head;if(D>G)W=D}let H=this.gapSize(z,G,W,j),F=J||H<2000000?H:2000000;V=new _5(G,W,H,F)}X.push(V)},q=(G)=>{if(G.length<Q||G.type!=Y3.Text)return;let W=F2(G.from,G.to,this.stateDeco);if(W.total<Q)return;let z=this.scrollTarget?this.scrollTarget.range.head:null,j,_;if(J){let O=K/this.heightOracle.lineLength*this.heightOracle.lineHeight,V,H;if(z!=null){let F=U5(W,z),D=((this.visibleBottom-this.visibleTop)/2+O)/G.height;V=F-D,H=F+D}else V=(this.visibleTop-G.top-O)/G.height,H=(this.visibleBottom-G.top+O)/G.height;j=K5(W,V),_=K5(W,H)}else{let O=W.total*this.heightOracle.charWidth,V=K*this.heightOracle.charWidth,H=0;if(O>2000000){for(let R of Z)if(R.from>=G.from&&R.from<G.to&&R.size!=R.displaySize&&R.from*this.heightOracle.charWidth+H<this.pixelViewport.left)H=R.size-R.displaySize}let F=this.pixelViewport.left+H,D=this.pixelViewport.right+H,B,P;if(z!=null){let R=U5(W,z),C=((D-F)/2+V)/O;B=R-C,P=R+C}else B=(F-V)/O,P=(D+V)/O;j=K5(W,B),_=K5(W,P)}if(j>G.from)Y(G.from,j,G,W);if(_<G.to)Y(_,G.to,G,W)};for(let G of this.viewportLines)if(Array.isArray(G.type))G.type.forEach(q);else q(G);return X}gapSize(Z,$,J,K){let U=U5(K,J)-U5(K,$);if(this.heightOracle.lineWrapping)return Z.height*U;else return K.total*this.heightOracle.charWidth*U}updateLineGaps(Z){if(!_5.same(Z,this.lineGaps))this.lineGaps=Z,this.lineGapDeco=w.set(Z.map(($)=>$.draw(this,this.heightOracle.lineWrapping)))}computeVisibleRanges(Z){let $=this.stateDeco;if(this.lineGaps.length)$=$.concat(this.lineGapDeco);let J=[];k.spans($,this.viewport.from,this.viewport.to,{span(U,Q){J.push({from:U,to:Q})},point(){}},20);let K=0;if(J.length!=this.visibleRanges.length)K=12;else for(let U=0;U<J.length&&!(K&8);U++){let Q=this.visibleRanges[U],X=J[U];if(Q.from!=X.from||Q.to!=X.to){if(K|=4,!(Z&&Z.mapPos(Q.from,-1)==X.from&&Z.mapPos(Q.to,1)==X.to))K|=8}}return this.visibleRanges=J,K}lineBlockAt(Z){return Z>=this.viewport.from&&Z<=this.viewport.to&&this.viewportLines.find(($)=>$.from<=Z&&$.to>=Z)||z0(this.heightMap.lineAt(Z,n.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(Z){return Z>=this.viewportLines[0].top&&Z<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(($)=>$.top<=Z&&$.bottom>=Z)||z0(this.heightMap.lineAt(this.scaler.fromDOM(Z),n.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(Z){let $=this.lineBlockAtHeight(Z+8);return $.from>=this.viewport.from||this.viewportLines[0].top-Z>200?$:this.viewportLines[0]}elementAtHeight(Z){return z0(this.heightMap.blockAt(this.scaler.fromDOM(Z),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 W0{constructor(Z,$){this.from=Z,this.to=$}}function F2(Z,$,J){let K=[],U=Z,Q=0;if(k.spans(J,Z,$,{span(){},point(X,Y){if(X>U)K.push({from:U,to:X}),Q+=X-U;U=Y}},20),U<$)K.push({from:U,to:$}),Q+=$-U;return{total:Q,ranges:K}}function K5({total:Z,ranges:$},J){if(J<=0)return $[0].from;if(J>=1)return $[$.length-1].to;let K=Math.floor(Z*J);for(let U=0;;U++){let{from:Q,to:X}=$[U],Y=X-Q;if(K<=Y)return Q+K;K-=Y}}function U5(Z,$){let J=0;for(let{from:K,to:U}of Z.ranges){if($<=U){J+=$-K;break}J+=U-K}return J/Z.total}function D2(Z,$){for(let J of Z)if($(J))return J;return}var _8={toDOM(Z){return Z},fromDOM(Z){return Z},scale:1,eq(Z){return Z==this}};function O8(Z){let $=Z.facet(T5).filter((K)=>typeof K!="function"),J=Z.facet(zZ).filter((K)=>typeof K!="function");if(J.length)$.push(k.join(J));return $}class HZ{constructor(Z,$,J){let K=0,U=0,Q=0;this.viewports=J.map(({from:X,to:Y})=>{let q=$.lineAt(X,n.ByPos,Z,0,0).top,G=$.lineAt(Y,n.ByPos,Z,0,0).bottom;return K+=G-q,{from:X,to:Y,top:q,bottom:G,domTop:0,domBottom:0}}),this.scale=(7000000-K)/($.height-K);for(let X of this.viewports)X.domTop=Q+(X.top-U)*this.scale,Q=X.domBottom=X.domTop+(X.bottom-X.top),U=X.bottom}toDOM(Z){for(let $=0,J=0,K=0;;$++){let U=$<this.viewports.length?this.viewports[$]:null;if(!U||Z<U.top)return K+(Z-J)*this.scale;if(Z<=U.bottom)return U.domTop+(Z-U.top);J=U.bottom,K=U.domBottom}}fromDOM(Z){for(let $=0,J=0,K=0;;$++){let U=$<this.viewports.length?this.viewports[$]:null;if(!U||Z<U.domTop)return J+(Z-K)/this.scale;if(Z<=U.domBottom)return U.top+(Z-U.domTop);J=U.bottom,K=U.domBottom}}eq(Z){if(!(Z instanceof HZ))return!1;return this.scale==Z.scale&&this.viewports.length==Z.viewports.length&&this.viewports.every(($,J)=>$.from==Z.viewports[J].from&&$.to==Z.viewports[J].to)}}function z0(Z,$){if($.scale==1)return Z;let J=$.toDOM(Z.top),K=$.toDOM(Z.bottom);return new v3(Z.from,Z.length,J,K-J,Array.isArray(Z._content)?Z._content.map((U)=>z0(U,$)):Z._content)}var Q5=E.define({combine:(Z)=>Z.join(" ")}),r7=E.define({combine:(Z)=>Z.indexOf(!0)>-1}),a7=w3.newName(),h6=w3.newName(),v6=w3.newName(),m6={"&light":"."+h6,"&dark":"."+v6};function o7(Z,$,J){return new w3($,{finish(K){return/&/.test(K)?K.replace(/&\w*/,(U)=>{if(U=="&")return Z;if(!J||!J[U])throw RangeError(`Unsupported selector: ${U}`);return J[U]}):Z+" "+K}})}var L2=o7("."+a7,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",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:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".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"}},m6),R2={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},T7=A.ie&&A.ie_version<=11;class u6{constructor(Z){if(this.view=Z,this.active=!1,this.editContext=null,this.selectionRange=new w8,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=Z.contentDOM,this.observer=new MutationObserver(($)=>{for(let J of $)this.queue.push(J);if((A.ie&&A.ie_version<=11||A.ios&&Z.composing)&&$.some((J)=>J.type=="childList"&&J.removedNodes.length||J.type=="characterData"&&J.oldValue.length>J.target.nodeValue.length))this.flushSoon();else this.flush()}),window.EditContext&&A.android&&Z.constructor.EDIT_CONTEXT!==!1&&!(A.chrome&&A.chrome_version<126)){if(this.editContext=new g6(Z),Z.state.facet(U9))Z.contentDOM.editContext=this.editContext.editContext}if(T7)this.onCharData=($)=>{this.queue.push({target:$.target,type:"characterData",oldValue:$.prevValue}),this.flushSoon()};if(this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia)this.printQuery=window.matchMedia("print");if(typeof ResizeObserver=="function")this.resizeScroll=new ResizeObserver(()=>{var $;if((($=this.view.docView)===null||$===void 0?void 0:$.lastUpdate)<Date.now()-75)this.onResize()}),this.resizeScroll.observe(Z.scrollDOM);if(this.addWindowListeners(this.win=Z.win),this.start(),typeof IntersectionObserver=="function")this.intersection=new IntersectionObserver(($)=>{if(this.parentCheck<0)this.parentCheck=setTimeout(this.listenForScroll.bind(this),1000);if($.length>0&&$[$.length-1].intersectionRatio>0!=this.intersecting){if(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView)this.onScrollChanged(document.createEvent("Event"))}},{threshold:[0,0.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(($)=>{if($.length>0&&$[$.length-1].intersectionRatio>0)this.onScrollChanged(document.createEvent("Event"))},{});this.listenForScroll(),this.readSelectionRange()}onScrollChanged(Z){if(this.view.inputState.runHandlers("scroll",Z),this.intersecting)this.view.measure()}onScroll(Z){if(this.intersecting)this.flush(!1);if(this.editContext)this.view.requestMeasure(this.editContext.measureReq);this.onScrollChanged(Z)}onResize(){if(this.resizeTimeout<0)this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50)}onPrint(Z){if((Z.type=="change"||!Z.type)&&!Z.matches)return;this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(Z){if(this.gapIntersection&&(Z.length!=this.gaps.length||this.gaps.some(($,J)=>$!=Z[J]))){this.gapIntersection.disconnect();for(let $ of Z)this.gapIntersection.observe($);this.gaps=Z}}onSelectionChange(Z){let $=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:J}=this,K=this.selectionRange;if(J.state.facet(U9)?J.root.activeElement!=this.dom:!O0(this.dom,K))return;let U=K.anchorNode&&J.docView.tile.nearest(K.anchorNode);if(U&&U.isWidget()&&U.widget.ignoreEvent(Z)){if(!$)this.selectionChanged=!1;return}if((A.ie&&A.ie_version<=11||A.android&&A.chrome)&&!J.state.selection.main.empty&&K.focusNode&&V0(K.focusNode,K.focusOffset,K.anchorNode,K.anchorOffset))this.flushSoon();else this.flush(!1)}readSelectionRange(){let{view:Z}=this,$=D0(Z.root);if(!$)return!1;let J=A.safari&&Z.root.nodeType==11&&Z.root.activeElement==this.dom&&I2(this.view,$)||$;if(!J||this.selectionRange.eq(J))return!1;let K=O0(this.dom,J);if(K&&!this.selectionChanged&&Z.inputState.lastFocusTime>Date.now()-200&&Z.inputState.lastTouchTime<Date.now()-300&&HJ(this.dom,J))return this.view.inputState.lastFocusTime=0,Z.docView.updateSelection(),!1;if(this.selectionRange.setRange(J),K)this.selectionChanged=!0;return!0}setSelectionRange(Z,$){this.selectionRange.set(Z.node,Z.offset,$.node,$.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let Z=0,$=null;for(let J=this.dom;J;)if(J.nodeType==1){if(!$&&Z<this.scrollTargets.length&&this.scrollTargets[Z]==J)Z++;else if(!$)$=this.scrollTargets.slice(0,Z);if($)$.push(J);J=J.assignedSlot||J.parentNode}else if(J.nodeType==11)J=J.host;else break;if(Z<this.scrollTargets.length&&!$)$=this.scrollTargets.slice(0,Z);if($){for(let J of this.scrollTargets)J.removeEventListener("scroll",this.onScroll);for(let J of this.scrollTargets=$)J.addEventListener("scroll",this.onScroll)}}ignore(Z){if(!this.active)return Z();try{return this.stop(),Z()}finally{this.start(),this.clear()}}start(){if(this.active)return;if(this.observer.observe(this.dom,R2),T7)this.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.active=!0}stop(){if(!this.active)return;if(this.active=!1,this.observer.disconnect(),T7)this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData)}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(Z,$){var J;if(!this.delayedAndroidKey){let K=()=>{let U=this.delayedAndroidKey;if(U){if(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=U.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&U.force)c9(this.dom,U.key,U.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(K)}if(!this.delayedAndroidKey||Z=="Enter")this.delayedAndroidKey={key:Z,keyCode:$,force:this.lastChange<Date.now()-50||!!((J=this.delayedAndroidKey)===null||J===void 0?void 0:J.force)}}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){if(this.delayedFlush<0)this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()})}forceFlush(){if(this.delayedFlush>=0)this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1;this.flush()}pendingRecords(){for(let Z of this.observer.takeRecords())this.queue.push(Z);return this.queue}processRecords(){let Z=this.pendingRecords();if(Z.length)this.queue=[];let $=-1,J=-1,K=!1;for(let U of Z){let Q=this.readMutation(U);if(!Q)continue;if(Q.typeOver)K=!0;if($==-1)({from:$,to:J}=Q);else $=Math.min(Q.from,$),J=Math.max(Q.to,J)}return{from:$,to:J,typeOver:K}}readChange(){let{from:Z,to:$,typeOver:J}=this.processRecords(),K=this.selectionChanged&&O0(this.dom,this.selectionRange);if(Z<0&&!K)return null;if(Z>-1)this.lastChange=Date.now();this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let U=new N6(this.view,Z,$,J);return this.view.docView.domChanged={newSel:U.newSel?U.newSel.main:null},U}flush(Z=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;if(Z)this.readSelectionRange();let $=this.readChange();if(!$)return this.view.requestMeasure(),!1;let J=this.view.state,K=D6(this.view,$);if(this.view.state==J&&($.domChanged||$.newSel&&!B5(this.view.state.selection,$.newSel.main)))this.view.update([]);return K}readMutation(Z){let $=this.view.docView.tile.nearest(Z.target);if(!$||$.isWidget())return null;if($.markDirty(Z.type=="attributes"),Z.type=="childList"){let J=V8($,Z.previousSibling||Z.target.previousSibling,-1),K=V8($,Z.nextSibling||Z.target.nextSibling,1);return{from:J?$.posAfter(J):$.posAtStart,to:K?$.posBefore(K):$.posAtEnd,typeOver:!1}}else if(Z.type=="characterData")return{from:$.posAtStart,to:$.posAtEnd,typeOver:Z.target.nodeValue==Z.oldValue};else return null}setWindow(Z){if(Z!=this.win)this.removeWindowListeners(this.win),this.win=Z,this.addWindowListeners(this.win)}addWindowListeners(Z){if(Z.addEventListener("resize",this.onResize),this.printQuery)if(this.printQuery.addEventListener)this.printQuery.addEventListener("change",this.onPrint);else this.printQuery.addListener(this.onPrint);else Z.addEventListener("beforeprint",this.onPrint);Z.addEventListener("scroll",this.onScroll),Z.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(Z){if(Z.removeEventListener("scroll",this.onScroll),Z.removeEventListener("resize",this.onResize),this.printQuery)if(this.printQuery.removeEventListener)this.printQuery.removeEventListener("change",this.onPrint);else this.printQuery.removeListener(this.onPrint);else Z.removeEventListener("beforeprint",this.onPrint);Z.document.removeEventListener("selectionchange",this.onSelectionChange)}update(Z){if(this.editContext){if(this.editContext.update(Z),Z.startState.facet(U9)!=Z.state.facet(U9))Z.view.contentDOM.editContext=Z.state.facet(U9)?this.editContext.editContext:null}}destroy(){var Z,$,J;this.stop(),(Z=this.intersection)===null||Z===void 0||Z.disconnect(),($=this.gapIntersection)===null||$===void 0||$.disconnect(),(J=this.resizeScroll)===null||J===void 0||J.disconnect();for(let K of this.scrollTargets)K.removeEventListener("scroll",this.onScroll);if(this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext)this.view.contentDOM.editContext=null,this.editContext.destroy()}}function V8(Z,$,J){while($){let K=a.get($);if(K&&K.parent==Z)return K;let U=$.parentNode;$=U!=Z.dom?U:J>0?$.nextSibling:$.previousSibling}return null}function H8(Z,$){let{startContainer:J,startOffset:K,endContainer:U,endOffset:Q}=$,X=Z.docView.domAtPos(Z.state.selection.main.anchor,1);if(V0(X.node,X.offset,U,Q))[J,K,U,Q]=[U,Q,J,K];return{anchorNode:J,anchorOffset:K,focusNode:U,focusOffset:Q}}function I2(Z,$){if($.getComposedRanges){let U=$.getComposedRanges(Z.root)[0];if(U)return H8(Z,U)}let J=null;function K(U){U.preventDefault(),U.stopImmediatePropagation(),J=U.getTargetRanges()[0]}return Z.contentDOM.addEventListener("beforeinput",K,!0),Z.dom.ownerDocument.execCommand("indent"),Z.contentDOM.removeEventListener("beforeinput",K,!0),J?H8(Z,J):null}class g6{constructor(Z){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(Z.state);let $=this.editContext=new window.EditContext({text:Z.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,Z.state.selection.main.anchor))),selectionEnd:this.toContextPos(Z.state.selection.main.head)});this.handlers.textupdate=(J)=>{let K=Z.state.selection.main,{anchor:U,head:Q}=K,X=this.toEditorPos(J.updateRangeStart),Y=this.toEditorPos(J.updateRangeEnd);if(Z.inputState.composing>=0&&!this.composing)this.composing={contextBase:J.updateRangeStart,editorBase:X,drifted:!1};let q=Y-X>J.text.length;if(X==this.from&&U<this.from)X=U;else if(Y==this.to&&U>this.to)Y=U;let G=L6(Z.state.sliceDoc(X,Y),J.text,(q?K.from:K.to)-X,q?"end":null);if(!G){let z=L.single(this.toEditorPos(J.selectionStart),this.toEditorPos(J.selectionEnd));if(!B5(z,K))Z.dispatch({selection:z,userEvent:"select"});return}let W={from:G.from+X,to:G.toA+X,insert:m.of(J.text.slice(G.from,G.toB).split(`
10
+ `))};if((A.mac||A.android)&&W.from==Q-1&&/^\. ?$/.test(J.text)&&Z.contentDOM.getAttribute("autocorrect")=="off")W={from:X,to:Y,insert:m.of([J.text.replace("."," ")])};if(this.pendingContextChange=W,!Z.state.readOnly){let z=this.to-this.from+(W.to-W.from+W.insert.length);_Z(Z,W,L.single(this.toEditorPos(J.selectionStart,z),this.toEditorPos(J.selectionEnd,z)))}if(this.pendingContextChange)this.revertPending(Z.state),this.setSelection(Z.state);if(W.from<W.to&&!W.insert.length&&Z.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test($.text.slice(Math.max(0,J.updateRangeStart-1),Math.min($.text.length,J.updateRangeStart+1))))this.handlers.compositionend(J)},this.handlers.characterboundsupdate=(J)=>{let K=[],U=null;for(let Q=this.toEditorPos(J.rangeStart),X=this.toEditorPos(J.rangeEnd);Q<X;Q++){let Y=Z.coordsForChar(Q);U=Y&&new DOMRect(Y.left,Y.top,Y.right-Y.left,Y.bottom-Y.top)||U||new DOMRect,K.push(U)}$.updateCharacterBounds(J.rangeStart,K)},this.handlers.textformatupdate=(J)=>{let K=[];for(let U of J.getTextFormats()){let{underlineStyle:Q,underlineThickness:X}=U;if(!/none/i.test(Q)&&!/none/i.test(X)){let Y=this.toEditorPos(U.rangeStart),q=this.toEditorPos(U.rangeEnd);if(Y<q){let G=`text-decoration: underline ${/^[a-z]/.test(Q)?Q+" ":Q=="Dashed"?"dashed ":Q=="Squiggle"?"wavy ":""}${/thin/i.test(X)?1:2}px`;K.push(w.mark({attributes:{style:G}}).range(Y,q))}}}Z.dispatch({effects:Z6.of(w.set(K))})},this.handlers.compositionstart=()=>{if(Z.inputState.composing<0)Z.inputState.composing=0,Z.inputState.compositionFirstChange=!0},this.handlers.compositionend=()=>{if(Z.inputState.composing=-1,Z.inputState.compositionFirstChange=null,this.composing){let{drifted:J}=this.composing;if(this.composing=null,J)this.reset(Z.state)}};for(let J in this.handlers)$.addEventListener(J,this.handlers[J]);this.measureReq={read:(J)=>{let K=D0(J.root);if(K&&K.rangeCount)this.editContext.updateSelectionBounds(K.getRangeAt(0).getBoundingClientRect())}}}applyEdits(Z){let $=0,J=!1,K=this.pendingContextChange;if(Z.changes.iterChanges((U,Q,X,Y,q)=>{if(J)return;let G=q.length-(Q-U);if(K&&Q>=K.to)if(K.from==U&&K.to==Q&&K.insert.eq(q)){K=this.pendingContextChange=null,$+=G,this.to+=G;return}else K=null,this.revertPending(Z.state);if(U+=$,Q+=$,Q<=this.from)this.from+=G,this.to+=G;else if(U<this.to){if(U<this.from||Q>this.to||this.to-this.from+q.length>30000){J=!0;return}this.editContext.updateText(this.toContextPos(U),this.toContextPos(Q),q.toString()),this.to+=G}$+=G}),K&&!J)this.revertPending(Z.state);return!J}update(Z){let $=this.pendingContextChange,J=Z.startState.selection.main;if(this.composing&&(this.composing.drifted||!Z.changes.touchesRange(J.from,J.to)&&Z.transactions.some((K)=>!K.isUserEvent("input.type")&&K.changes.touchesRange(this.from,this.to))))this.composing.drifted=!0,this.composing.editorBase=Z.changes.mapPos(this.composing.editorBase);else if(!this.applyEdits(Z)||!this.rangeIsValid(Z.state))this.pendingContextChange=null,this.reset(Z.state);else if(Z.docChanged||Z.selectionSet||$)this.setSelection(Z.state);if(Z.geometryChanged||Z.docChanged||Z.selectionSet)Z.view.requestMeasure(this.measureReq)}resetRange(Z){let{head:$}=Z.selection.main;this.from=Math.max(0,$-1e4),this.to=Math.min(Z.doc.length,$+1e4)}reset(Z){this.resetRange(Z),this.editContext.updateText(0,this.editContext.text.length,Z.doc.sliceString(this.from,this.to)),this.setSelection(Z)}revertPending(Z){let $=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos($.from),this.toContextPos($.from+$.insert.length),Z.doc.sliceString($.from,$.to))}setSelection(Z){let{main:$}=Z.selection,J=this.toContextPos(Math.max(this.from,Math.min(this.to,$.anchor))),K=this.toContextPos($.head);if(this.editContext.selectionStart!=J||this.editContext.selectionEnd!=K)this.editContext.updateSelection(J,K)}rangeIsValid(Z){let{head:$}=Z.selection.main;return!(this.from>0&&$-this.from<500||this.to<Z.doc.length&&this.to-$<500||this.to-this.from>30000)}toEditorPos(Z,$=this.to-this.from){Z=Math.min(Z,$);let J=this.composing;return J&&J.drifted?J.editorBase+(Z-J.contextBase):Z+this.from}toContextPos(Z){let $=this.composing;return $&&$.drifted?$.contextBase+(Z-$.editorBase):Z-this.from}destroy(){for(let Z in this.handlers)this.editContext.removeEventListener(Z,this.handlers[Z])}}class T{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(Z={}){var $;if(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),Z.parent)Z.parent.appendChild(this.dom);let{dispatch:J}=Z;if(this.dispatchTransactions=Z.dispatchTransactions||J&&((K)=>K.forEach((U)=>J(U,this)))||((K)=>this.update(K)),this.dispatch=this.dispatch.bind(this),this._root=Z.root||VJ(Z.parent)||document,this.viewState=new i7(this,Z.state||u.create(Z)),Z.scrollTo&&Z.scrollTo.is(Z5))this.viewState.scrollTarget=Z.scrollTo.value.clip(this.viewState.state);this.plugins=this.state.facet(p9).map((K)=>new W5(K));for(let K of this.plugins)K.update(this);if(this.observer=new u6(this),this.inputState=new R6(this),this.inputState.ensureHandlers(this.plugins),this.docView=new p7(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),($=document.fonts)===null||$===void 0?void 0:$.ready)document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...Z){let $=Z.length==1&&Z[0]instanceof $3?Z:Z.length==1&&Array.isArray(Z[0])?Z[0]:[this.state.update(...Z)];this.dispatchTransactions($,this)}update(Z){if(this.updateState!=0)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let $=!1,J=!1,K,U=this.state;for(let z of Z){if(z.startState!=U)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");U=z.state}if(this.destroyed){this.viewState.state=U;return}let Q=this.hasFocus,X=0,Y=null;if(Z.some((z)=>z.annotation(C6)))this.inputState.notifiedFocused=Q,X=1;else if(Q!=this.inputState.notifiedFocused){if(this.inputState.notifiedFocused=Q,Y=T6(U,Q),!Y)X=1}let q=this.observer.delayedAndroidKey,G=null;if(q){if(this.observer.clearDelayedAndroidKey(),G=this.observer.readChange(),G&&!this.state.doc.eq(U.doc)||!this.state.selection.eq(U.selection))G=null}else this.observer.clear();if(U.facet(u.phrases)!=this.state.facet(u.phrases))return this.setState(U);K=I5.create(this,U,Z),K.flags|=X;let W=this.viewState.scrollTarget;try{this.updateState=2;for(let z of Z){if(W)W=W.map(z.changes);if(z.scrollIntoView){let{main:j}=z.state.selection,{x:_,y:O}=this.state.facet(T.cursorScrollMargin);W=new s9(j.empty?j:L.cursor(j.head,j.head>j.anchor?-1:1),"nearest","nearest",O,_)}for(let j of z.effects)if(j.is(Z5))W=j.value.clip(this.state)}if(this.viewState.update(K,W),this.bidiCache=E5.update(this.bidiCache,K.changes),!K.empty)this.updatePlugins(K),this.inputState.update(K);if($=this.docView.update(K),this.state.facet(G0)!=this.styleModules)this.mountStyles();J=this.updateAttrs(),this.showAnnouncements(Z),this.docView.updateSelection($,Z.some((z)=>z.isUserEvent("select.pointer")))}finally{this.updateState=0}if(K.startState.facet(Q5)!=K.state.facet(Q5))this.viewState.mustMeasureContent=!0;if($||J||W||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)this.requestMeasure();if($)this.docViewUpdate();if(!K.empty)for(let z of this.state.facet(f7))try{z(K)}catch(j){W3(this.state,j,"update listener")}if(Y||G)Promise.resolve().then(()=>{if(Y&&this.state==Y.startState)this.dispatch(Y);if(G){if(!D6(this,G)&&q.force)c9(this.contentDOM,q.key,q.keyCode)}})}setState(Z){if(this.updateState!=0)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=Z;return}this.updateState=2;let $=this.hasFocus;try{for(let J of this.plugins)J.destroy(this);this.viewState=new i7(this,Z),this.plugins=Z.facet(p9).map((J)=>new W5(J)),this.pluginMap.clear();for(let J of this.plugins)J.update(this);this.docView.destroy(),this.docView=new p7(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}if($)this.focus();this.requestMeasure()}updatePlugins(Z){let $=Z.startState.facet(p9),J=Z.state.facet(p9);if($!=J){let K=[];for(let U of J){let Q=$.indexOf(U);if(Q<0)K.push(new W5(U));else{let X=this.plugins[Q];X.mustUpdate=Z,K.push(X)}}for(let U of this.plugins)if(U.mustUpdate!=Z)U.destroy(this);this.plugins=K,this.pluginMap.clear()}else for(let K of this.plugins)K.mustUpdate=Z;for(let K=0;K<this.plugins.length;K++)this.plugins[K].update(this);if($!=J)this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let Z of this.plugins){let $=Z.value;if($&&$.docViewUpdate)try{$.docViewUpdate(this)}catch(J){W3(this.state,J,"doc view update listener")}}}measure(Z=!0){if(this.destroyed)return;if(this.measureScheduled>-1)this.win.cancelAnimationFrame(this.measureScheduled);if(this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}if(this.measureScheduled=0,Z)this.observer.forceFlush();let $=null,J=this.viewState.scrollParent,K=this.viewState.getScrollOffset(),{scrollAnchorPos:U,scrollAnchorHeight:Q}=this.viewState;if(Math.abs(K-this.viewState.scrollOffset)>1)Q=-1;this.viewState.scrollAnchorHeight=-1;try{for(let X=0;;X++){if(Q<0)if(v8(J||this.win))U=-1,Q=this.viewState.heightMap.height;else{let j=this.viewState.scrollAnchorAt(K);U=j.from,Q=j.top}this.updateState=1;let Y=this.viewState.measure();if(!Y&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(X>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let q=[];if(!(Y&4))[this.measureRequests,q]=[q,this.measureRequests];let G=q.map((j)=>{try{return j.read(this)}catch(_){return W3(this.state,_),N8}}),W=I5.create(this,this.state,[]),z=!1;if(W.flags|=Y,!$)$=W;else $.flags|=Y;if(this.updateState=2,!W.empty){if(this.updatePlugins(W),this.inputState.update(W),this.updateAttrs(),z=this.docView.update(W),z)this.docViewUpdate()}for(let j=0;j<q.length;j++)if(G[j]!=N8)try{let _=q[j];if(_.write)_.write(G[j],this)}catch(_){W3(this.state,_)}if(z)this.docView.updateSelection(!0);if(!W.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,Q=-1;continue}else{let _=((U<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(U).top)-Q)/this.scaleY;if((_>1||_<-1)&&!(A.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(J==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){if(K=K+_,J)J.scrollTop+=_;else this.win.scrollBy(0,_);Q=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if($&&!$.empty)for(let X of this.state.facet(f7))X($)}get themeClasses(){return a7+" "+(this.state.facet(r7)?v6:h6)+" "+this.state.facet(Q5)}updateAttrs(){let Z=F8(this,$6,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),$={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:!this.state.facet(U9)?"false":"true",class:"cm-content",style:`${A.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};if(this.state.readOnly)$["aria-readonly"]="true";F8(this,WZ,$);let J=this.observer.ignore(()=>{let K=a4(this.contentDOM,this.contentAttrs,$),U=a4(this.dom,this.editorAttrs,Z);return K||U});return this.editorAttrs=Z,this.contentAttrs=$,J}showAnnouncements(Z){let $=!0;for(let J of Z)for(let K of J.effects)if(K.is(T.announce)){if($)this.announceDOM.textContent="";$=!1;let U=this.announceDOM.appendChild(document.createElement("div"));U.textContent=K.value}}mountStyles(){this.styleModules=this.state.facet(G0);let Z=this.state.facet(T.cspNonce);w3.mount(this.root,this.styleModules.concat(L2).reverse(),Z?{nonce:Z}:void 0)}readMeasured(){if(this.updateState==2)throw Error("Reading the editor layout isn't allowed during an update");if(this.updateState==0&&this.measureScheduled>-1)this.measure(!1)}requestMeasure(Z){if(this.measureScheduled<0)this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure());if(Z){if(this.measureRequests.indexOf(Z)>-1)return;if(Z.key!=null){for(let $=0;$<this.measureRequests.length;$++)if(this.measureRequests[$].key===Z.key){this.measureRequests[$]=Z;return}}this.measureRequests.push(Z)}}plugin(Z){let $=this.pluginMap.get(Z);if($===void 0||$&&$.plugin!=Z)this.pluginMap.set(Z,$=this.plugins.find((J)=>J.plugin==Z)||null);return $&&$.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(Z){return this.readMeasured(),this.viewState.elementAtHeight(Z)}lineBlockAtHeight(Z){return this.readMeasured(),this.viewState.lineBlockAtHeight(Z)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(Z){return this.viewState.lineBlockAt(Z)}get contentHeight(){return this.viewState.contentHeight}moveByChar(Z,$,J){return C7(this,Z,J8(this,Z,$,J))}moveByGroup(Z,$){return C7(this,Z,J8(this,Z,$,(J)=>dJ(this,Z.head,J)))}visualLineSide(Z,$){let J=this.bidiSpans(Z),K=this.textDirectionAt(Z.from),U=J[$?J.length-1:0];return L.cursor(U.side($,K)+Z.from,U.forward(!$,K)?1:-1)}moveToLineBoundary(Z,$,J=!0){return lJ(this,Z,$,J)}moveVertically(Z,$,J){return C7(this,Z,cJ(this,Z,$,J))}domAtPos(Z,$=1){return this.docView.domAtPos(Z,$)}posAtDOM(Z,$=0){return this.docView.posFromDOM(Z,$)}posAtCoords(Z,$=!0){this.readMeasured();let J=c7(this,Z,$);return J&&J.pos}posAndSideAtCoords(Z,$=!0){return this.readMeasured(),c7(this,Z,$)}coordsAtPos(Z,$=1){this.readMeasured();let J=this.state.doc.lineAt(Z),K=this.bidiSpans(J),U=K[u3.find(K,Z-J.from,-1,$)];return this.docView.coordsAt(Z,$,U.dir==l.RTL)}coordsForChar(Z){return this.readMeasured(),this.docView.coordsForChar(Z)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(Z){if(!this.state.facet(o8)||Z<this.viewport.from||Z>this.viewport.to)return this.textDirection;return this.readMeasured(),this.docView.textDirectionAt(Z)}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(Z){if(Z.length>A2)return l8(Z.length);let $=this.textDirectionAt(Z.from),J;for(let U of this.bidiCache)if(U.from==Z.from&&U.dir==$&&(U.fresh||p8(U.isolates,J=e4(this,Z))))return U.order;if(!J)J=e4(this,Z);let K=AJ(Z.text,$,J);return this.bidiCache.push(new E5(Z.from,Z.to,$,J,!0,K)),K}get hasFocus(){var Z;return(this.dom.ownerDocument.hasFocus()||A.safari&&((Z=this.inputState)===null||Z===void 0?void 0:Z.lastContextMenu)>Date.now()-30000)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{h8(this.contentDOM),this.docView.updateSelection()})}setRoot(Z){if(this._root!=Z)this._root=Z,this.observer.setWindow((Z.nodeType==9?Z:Z.ownerDocument).defaultView||window),this.mountStyles()}destroy(){if(this.root.activeElement==this.contentDOM)this.contentDOM.blur();for(let Z of this.plugins)Z.destroy(this);if(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(Z,$={}){var J,K,U,Q;return Z5.of(new s9(typeof Z=="number"?L.cursor(Z):Z,(J=$.y)!==null&&J!==void 0?J:"nearest",(K=$.x)!==null&&K!==void 0?K:"nearest",(U=$.yMargin)!==null&&U!==void 0?U:5,(Q=$.xMargin)!==null&&Q!==void 0?Q:5))}scrollSnapshot(){let{scrollTop:Z,scrollLeft:$}=this.scrollDOM,J=this.viewState.scrollAnchorAt(Z);return Z5.of(new s9(L.cursor(J.from),"start","start",J.top-Z,$,!0))}setTabFocusMode(Z){if(Z==null)this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1;else if(typeof Z=="boolean")this.inputState.tabFocusMode=Z?0:-1;else if(this.inputState.tabFocusMode!=0)this.inputState.tabFocusMode=Date.now()+Z}static domEventHandlers(Z){return t.define(()=>({}),{eventHandlers:Z})}static domEventObservers(Z){return t.define(()=>({}),{eventObservers:Z})}static theme(Z,$){let J=w3.newName(),K=[Q5.of(J),G0.of(o7(`.${J}`,Z))];if($&&$.dark)K.push(r7.of(!0));return K}static baseTheme(Z){return c3.lowest(G0.of(o7("."+a7,Z,m6)))}static findFromDOM(Z){var $;let J=Z.querySelector(".cm-content"),K=J&&a.get(J)||a.get(Z);return(($=K===null||K===void 0?void 0:K.root)===null||$===void 0?void 0:$.view)||null}}T.styleModule=G0;T.inputHandler=r8;T.clipboardInputFilter=qZ;T.clipboardOutputFilter=GZ;T.scrollHandler=e8;T.focusChangeEffect=a8;T.perLineTextDirection=o8;T.exceptionSink=i8;T.updateListener=f7;T.editable=U9;T.mouseSelectionStyle=n8;T.dragMovesSelection=s8;T.clickAddsSelectionRange=c8;T.decorations=T5;T.blockWrappers=J6;T.outerDecorations=zZ;T.atomicRanges=B0;T.bidiIsolatedRanges=K6;T.cursorScrollMargin=E.define({combine:(Z)=>{let $=5,J=5;for(let K of Z)if(typeof K=="number")$=J=K;else({x:$,y:J}=K);return{x:$,y:J}}});T.scrollMargins=U6;T.darkTheme=r7;T.cspNonce=E.define({combine:(Z)=>Z.length?Z[0]:""});T.contentAttributes=WZ;T.editorAttributes=$6;T.lineWrapping=T.contentAttributes.of({class:"cm-lineWrapping"});T.announce=x.define();var A2=4096,N8={};class E5{constructor(Z,$,J,K,U,Q){this.from=Z,this.to=$,this.dir=J,this.isolates=K,this.fresh=U,this.order=Q}static update(Z,$){if($.empty&&!Z.some((U)=>U.fresh))return Z;let J=[],K=Z.length?Z[Z.length-1].dir:l.LTR;for(let U=Math.max(0,Z.length-10);U<Z.length;U++){let Q=Z[U];if(Q.dir==K&&!$.touchesRange(Q.from,Q.to))J.push(new E5($.mapPos(Q.from,1),$.mapPos(Q.to,-1),Q.dir,Q.isolates,!1,Q.order))}return J}}function F8(Z,$,J){for(let K=Z.state.facet($),U=K.length-1;U>=0;U--){let Q=K[U],X=typeof Q=="function"?Q(Z):Q;if(X)QZ(X,J)}return J}var B2=A.mac?"mac":A.windows?"win":A.linux?"linux":"key";function M2(Z,$){let J=Z.split(/-(?!$)/),K=J[J.length-1];if(K=="Space")K=" ";let U,Q,X,Y;for(let q=0;q<J.length-1;++q){let G=J[q];if(/^(cmd|meta|m)$/i.test(G))Y=!0;else if(/^a(lt)?$/i.test(G))U=!0;else if(/^(c|ctrl|control)$/i.test(G))Q=!0;else if(/^s(hift)?$/i.test(G))X=!0;else if(/^mod$/i.test(G))if($=="mac")Y=!0;else Q=!0;else throw Error("Unrecognized modifier name: "+G)}if(U)K="Alt-"+K;if(Q)K="Ctrl-"+K;if(Y)K="Meta-"+K;if(X)K="Shift-"+K;return K}function X5(Z,$,J){if($.altKey)Z="Alt-"+Z;if($.ctrlKey)Z="Ctrl-"+Z;if($.metaKey)Z="Meta-"+Z;if(J!==!1&&$.shiftKey)Z="Shift-"+Z;return Z}var E2=c3.default(T.domEventHandlers({keydown(Z,$){return p6(f6($.state),Z,$,"editor")}})),S5=E.define({enables:E2}),D8=new WeakMap;function f6(Z){let $=Z.facet(S5),J=D8.get($);if(!J)D8.set($,J=C2($.reduce((K,U)=>K.concat(U),[])));return J}function iQ(Z,$,J){return p6(f6(Z.state),$,Z,J)}var z9=null,P2=4000;function C2(Z,$=B2){let J=Object.create(null),K=Object.create(null),U=(X,Y)=>{let q=K[X];if(q==null)K[X]=Y;else if(q!=Y)throw Error("Key binding "+X+" is used both as a regular binding and as a multi-stroke prefix")},Q=(X,Y,q,G,W)=>{var z,j;let _=J[X]||(J[X]=Object.create(null)),O=Y.split(/ (?!$)/).map((F)=>M2(F,$));for(let F=1;F<O.length;F++){let D=O.slice(0,F).join(" ");if(U(D,!0),!_[D])_[D]={preventDefault:!0,stopPropagation:!1,run:[(B)=>{let P=z9={view:B,prefix:D,scope:X};return setTimeout(()=>{if(z9==P)z9=null},P2),!0}]}}let V=O.join(" ");U(V,!1);let H=_[V]||(_[V]={preventDefault:!1,stopPropagation:!1,run:((j=(z=_._any)===null||z===void 0?void 0:z.run)===null||j===void 0?void 0:j.slice())||[]});if(q)H.run.push(q);if(G)H.preventDefault=!0;if(W)H.stopPropagation=!0};for(let X of Z){let Y=X.scope?X.scope.split(" "):["editor"];if(X.any)for(let G of Y){let W=J[G]||(J[G]=Object.create(null));if(!W._any)W._any={preventDefault:!1,stopPropagation:!1,run:[]};let{any:z}=X;for(let j in W)W[j].run.push((_)=>z(_,t7))}let q=X[$]||X.key;if(!q)continue;for(let G of Y)if(Q(G,q,X.run,X.preventDefault,X.stopPropagation),X.shift)Q(G,"Shift-"+q,X.shift,X.preventDefault,X.stopPropagation)}return J}var t7=null;function p6(Z,$,J,K){t7=$;let U=c4($),Q=_3(U,0),X=x3(Q)==U.length&&U!=" ",Y="",q=!1,G=!1,W=!1;if(z9&&z9.view==J&&z9.scope==K){if(Y=z9.prefix+" ",A6.indexOf($.keyCode)<0)G=!0,z9=null}let z=new Set,j=(H)=>{if(H){for(let F of H.run)if(!z.has(F)){if(z.add(F),F(J)){if(H.stopPropagation)W=!0;return!0}}if(H.preventDefault){if(H.stopPropagation)W=!0;G=!0}}return!1},_=Z[K],O,V;if(_){if(j(_[Y+X5(U,$,!X)]))q=!0;else if(X&&($.altKey||$.metaKey||$.ctrlKey)&&!(A.windows&&$.ctrlKey&&$.altKey)&&!(A.mac&&$.altKey&&!($.ctrlKey||$.metaKey))&&(O=K9[$.keyCode])&&O!=U){if(j(_[Y+X5(O,$,!0)]))q=!0;else if($.shiftKey&&(V=g9[$.keyCode])!=U&&V!=O&&j(_[Y+X5(V,$,!1)]))q=!0}else if(X&&$.shiftKey&&j(_[Y+X5(U,$,!0)]))q=!0;if(!q&&j(_._any))q=!0}if(G)q=!0;if(q&&W)$.stopPropagation();return t7=null,q}class R9{constructor(Z,$,J,K,U){this.className=Z,this.left=$,this.top=J,this.width=K,this.height=U}draw(){let Z=document.createElement("div");return Z.className=this.className,this.adjust(Z),Z}update(Z,$){if($.className!=this.className)return!1;return this.adjust(Z),!0}adjust(Z){if(Z.style.left=this.left+"px",Z.style.top=this.top+"px",this.width!=null)Z.style.width=this.width+"px";Z.style.height=this.height+"px"}eq(Z){return this.left==Z.left&&this.top==Z.top&&this.width==Z.width&&this.height==Z.height&&this.className==Z.className}static forRange(Z,$,J){if(J.empty){let K=Z.coordsAtPos(J.head,J.assoc||1);if(!K)return[];let U=l6(Z);return[new R9($,K.left-U.left,K.top-U.top,null,K.bottom-K.top)]}else return T2(Z,$,J)}}function l6(Z){let $=Z.scrollDOM.getBoundingClientRect();return{left:(Z.textDirection==l.LTR?$.left:$.right-Z.scrollDOM.clientWidth*Z.scaleX)-Z.scrollDOM.scrollLeft*Z.scaleX,top:$.top-Z.scrollDOM.scrollTop*Z.scaleY}}function L8(Z,$,J,K){let U=Z.coordsAtPos($,J*2);if(!U)return K;let Q=Z.dom.getBoundingClientRect(),X=(U.top+U.bottom)/2,Y=Z.posAtCoords({x:Q.left+1,y:X}),q=Z.posAtCoords({x:Q.right-1,y:X});if(Y==null||q==null)return K;return{from:Math.max(K.from,Math.min(Y,q)),to:Math.min(K.to,Math.max(Y,q))}}function T2(Z,$,J){if(J.to<=Z.viewport.from||J.from>=Z.viewport.to)return[];let K=Math.max(J.from,Z.viewport.from),U=Math.min(J.to,Z.viewport.to),Q=Z.textDirection==l.LTR,X=Z.contentDOM,Y=X.getBoundingClientRect(),q=l6(Z),G=X.querySelector(".cm-line"),W=G&&window.getComputedStyle(G),z=Y.left+(W?parseInt(W.paddingLeft)+Math.min(0,parseInt(W.textIndent)):0),j=Y.right-(W?parseInt(W.paddingRight):0),_=d7(Z,K,1),O=d7(Z,U,-1),V=_.type==Y3.Text?_:null,H=O.type==Y3.Text?O:null;if(V&&(Z.lineWrapping||_.widgetLineBreaks))V=L8(Z,K,1,V);if(H&&(Z.lineWrapping||O.widgetLineBreaks))H=L8(Z,U,-1,H);if(V&&H&&V.from==H.from&&V.to==H.to)return D(B(J.from,J.to,V));else{let R=V?B(J.from,null,V):P(_,!1),C=H?B(null,J.to,H):P(O,!0),M=[];if((V||_).to<(H||O).from-(V&&H?1:0)||_.widgetLineBreaks>1&&R.bottom+Z.defaultLineHeight/2<C.top)M.push(F(z,R.bottom,j,C.top));else if(R.bottom<C.top&&Z.elementAtHeight((R.bottom+C.top)/2).type==Y3.Text)R.bottom=C.top=(R.bottom+C.top)/2;return D(R).concat(M).concat(D(C))}function F(R,C,M,b){return new R9($,R-q.left,C-q.top,Math.max(0,M-R),b-C)}function D({top:R,bottom:C,horizontal:M}){let b=[];for(let v=0;v<M.length;v+=2)b.push(F(M[v],R,M[v+1],C));return b}function B(R,C,M){let b=1e9,v=-1e9,d=[];function h(f,s,j3,R3,p3){let U3=Z.coordsAtPos(f,f==M.to?-2:2),M3=Z.coordsAtPos(j3,j3==M.from?2:-2);if(!U3||!M3)return;if(b=Math.min(U3.top,M3.top,b),v=Math.max(U3.bottom,M3.bottom,v),p3==l.LTR)d.push(Q&&s?z:U3.left,Q&&R3?j:M3.right);else d.push(!Q&&R3?z:M3.left,!Q&&s?j:U3.right)}let y=R!==null&&R!==void 0?R:M.from,p=C!==null&&C!==void 0?C:M.to;for(let f of Z.visibleRanges)if(f.to>y&&f.from<p)for(let s=Math.max(f.from,y),j3=Math.min(f.to,p);;){let R3=Z.state.doc.lineAt(s);for(let p3 of Z.bidiSpans(R3)){let U3=p3.from+R3.from,M3=p3.to+R3.from;if(U3>=j3)break;if(M3>s)h(Math.max(U3,s),R==null&&U3<=y,Math.min(M3,j3),C==null&&M3>=p,p3.dir)}if(s=R3.to+1,s>=j3)break}if(d.length==0)h(y,R==null,p,C==null,Z.textDirection);return{top:b,bottom:v,horizontal:d}}function P(R,C){let M=Y.top+(C?R.top:R.bottom);return{top:M,bottom:M,horizontal:[]}}}function y2(Z,$){return Z.constructor==$.constructor&&Z.eq($)}class d6{constructor(Z,$){if(this.view=Z,this.layer=$,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=Z.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),$.above)this.dom.classList.add("cm-layer-above");if($.class)this.dom.classList.add($.class);if(this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(Z.state),Z.requestMeasure(this.measureReq),$.mount)$.mount(this.dom,Z)}update(Z){if(Z.startState.facet(O5)!=Z.state.facet(O5))this.setOrder(Z.state);if(this.layer.update(Z,this.dom)||Z.geometryChanged)this.scale(),Z.view.requestMeasure(this.measureReq)}docViewUpdate(Z){if(this.layer.updateOnDocViewUpdate!==!1)Z.requestMeasure(this.measureReq)}setOrder(Z){let $=0,J=Z.facet(O5);while($<J.length&&J[$]!=this.layer)$++;this.dom.style.zIndex=String((this.layer.above?150:-1)-$)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:Z,scaleY:$}=this.view;if(Z!=this.scaleX||$!=this.scaleY)this.scaleX=Z,this.scaleY=$,this.dom.style.transform=`scale(${1/Z}, ${1/$})`}draw(Z){if(Z.length!=this.drawn.length||Z.some(($,J)=>!y2($,this.drawn[J]))){let $=this.dom.firstChild,J=0;for(let K of Z)if(K.update&&$&&K.constructor&&this.drawn[J].constructor&&K.update($,this.drawn[J]))$=$.nextSibling,J++;else this.dom.insertBefore(K.draw(),$);while($){let K=$.nextSibling;$.remove(),$=K}if(this.drawn=Z,A.webkit)this.dom.style.display=this.dom.firstChild?"":"none"}}destroy(){if(this.layer.destroy)this.layer.destroy(this.dom,this.view);this.dom.remove()}}var O5=E.define();function c6(Z){return[t.define(($)=>new d6($,Z)),O5.of(Z)]}var r9=E.define({combine(Z){return J9(Z,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:($,J)=>Math.min($,J),drawRangeCursor:($,J)=>$||J})}});function rQ(Z={}){return[r9.of(Z),S2,b2,k2,t8.of(!0)]}function s6(Z){return Z.startState.facet(r9)!=Z.state.facet(r9)}var S2=c6({above:!0,markers(Z){let{state:$}=Z,J=$.facet(r9),K=[];for(let U of $.selection.ranges){let Q=U==$.selection.main;if(U.empty||J.drawRangeCursor&&!(Q&&A.ios&&J.iosSelectionHandles)){let X=Q?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",Y=U.empty?U:L.cursor(U.head,U.assoc);for(let q of R9.forRange(Z,X,Y))K.push(q)}}return K},update(Z,$){if(Z.transactions.some((K)=>K.selection))$.style.animationName=$.style.animationName=="cm-blink"?"cm-blink2":"cm-blink";let J=s6(Z);if(J)R8(Z.state,$);return Z.docChanged||Z.selectionSet||J},mount(Z,$){R8($.state,Z)},class:"cm-cursorLayer"});function R8(Z,$){$.style.animationDuration=Z.facet(r9).cursorBlinkRate+"ms"}var b2=c6({above:!1,markers(Z){let $=[],{main:J,ranges:K}=Z.state.selection;for(let U of K)if(!U.empty)for(let Q of R9.forRange(Z,"cm-selectionBackground",U))$.push(Q);if(A.ios&&!J.empty&&Z.state.facet(r9).iosSelectionHandles){for(let U of R9.forRange(Z,"cm-selectionHandle cm-selectionHandle-start",L.cursor(J.from,1)))$.push(U);for(let U of R9.forRange(Z,"cm-selectionHandle cm-selectionHandle-end",L.cursor(J.to,1)))$.push(U)}return $},update(Z,$){return Z.docChanged||Z.selectionSet||Z.viewportChanged||s6(Z)},class:"cm-selectionLayer"}),k2=c3.highest(T.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),n6=x.define({map(Z,$){return Z==null?null:$.mapPos(Z)}}),j0=Q3.define({create(){return null},update(Z,$){if(Z!=null)Z=$.changes.mapPos(Z);return $.effects.reduce((J,K)=>K.is(n6)?K.value:J,Z)}}),x2=t.fromClass(class{constructor(Z){this.view=Z,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(Z){var $;let J=Z.state.field(j0);if(J==null){if(this.cursor!=null)($=this.cursor)===null||$===void 0||$.remove(),this.cursor=null}else{if(!this.cursor)this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor";if(Z.startState.field(j0)!=J||Z.docChanged||Z.geometryChanged)this.view.requestMeasure(this.measureReq)}}readPos(){let{view:Z}=this,$=Z.state.field(j0),J=$!=null&&Z.coordsAtPos($);if(!J)return null;let K=Z.scrollDOM.getBoundingClientRect();return{left:J.left-K.left+Z.scrollDOM.scrollLeft*Z.scaleX,top:J.top-K.top+Z.scrollDOM.scrollTop*Z.scaleY,height:J.bottom-J.top}}drawCursor(Z){if(this.cursor){let{scaleX:$,scaleY:J}=this.view;if(Z)this.cursor.style.left=Z.left/$+"px",this.cursor.style.top=Z.top/J+"px",this.cursor.style.height=Z.height/J+"px";else this.cursor.style.left="-100000px"}}destroy(){if(this.cursor)this.cursor.remove()}setDropPos(Z){if(this.view.state.field(j0)!=Z)this.view.dispatch({effects:n6.of(Z)})}},{eventObservers:{dragover(Z){this.setDropPos(this.view.posAtCoords({x:Z.clientX,y:Z.clientY}))},dragleave(Z){if(Z.target==this.view.contentDOM||!this.view.contentDOM.contains(Z.relatedTarget))this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function aQ(){return[j0,x2]}function I8(Z,$,J,K,U){$.lastIndex=0;for(let Q=Z.iterRange(J,K),X=J,Y;!Q.next().done;X+=Q.value.length)if(!Q.lineBreak)while(Y=$.exec(Q.value))U(X+Y.index,Y)}function w2(Z,$){let J=Z.visibleRanges;if(J.length==1&&J[0].from==Z.viewport.from&&J[0].to==Z.viewport.to)return J;let K=[];for(let{from:U,to:Q}of J)if(U=Math.max(Z.state.doc.lineAt(U).from,U-$),Q=Math.min(Z.state.doc.lineAt(Q).to,Q+$),K.length&&K[K.length-1].to>=U)K[K.length-1].to=Q;else K.push({from:U,to:Q});return K}class i6{constructor(Z){let{regexp:$,decoration:J,decorate:K,boundary:U,maxLength:Q=1000}=Z;if(!$.global)throw RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=$,K)this.addMatch=(X,Y,q,G)=>K(G,q,q+X[0].length,X,Y);else if(typeof J=="function")this.addMatch=(X,Y,q,G)=>{let W=J(X,Y,q);if(W)G(q,q+X[0].length,W)};else if(J)this.addMatch=(X,Y,q,G)=>G(q,q+X[0].length,J);else throw RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=U,this.maxLength=Q}createDeco(Z){let $=new $9,J=$.add.bind($);for(let{from:K,to:U}of w2(Z,this.maxLength))I8(Z.state.doc,this.regexp,K,U,(Q,X)=>this.addMatch(X,Z,Q,J));return $.finish()}updateDeco(Z,$){let J=1e9,K=-1;if(Z.docChanged)Z.changes.iterChanges((U,Q,X,Y)=>{if(Y>=Z.view.viewport.from&&X<=Z.view.viewport.to)J=Math.min(X,J),K=Math.max(Y,K)});if(Z.viewportMoved||K-J>1000)return this.createDeco(Z.view);if(K>-1)return this.updateRange(Z.view,$.map(Z.changes),J,K);return $}updateRange(Z,$,J,K){for(let U of Z.visibleRanges){let Q=Math.max(U.from,J),X=Math.min(U.to,K);if(X>=Q){let Y=Z.state.doc.lineAt(Q),q=Y.to<X?Z.state.doc.lineAt(X):Y,G=Math.max(U.from,Y.from),W=Math.min(U.to,q.to);if(this.boundary){for(;Q>Y.from;Q--)if(this.boundary.test(Y.text[Q-1-Y.from])){G=Q;break}for(;X<q.to;X++)if(this.boundary.test(q.text[X-q.from])){W=X;break}}let z=[],j,_=(O,V,H)=>z.push(H.range(O,V));if(Y==q){this.regexp.lastIndex=G-Y.from;while((j=this.regexp.exec(Y.text))&&j.index<W-Y.from)this.addMatch(j,Z,j.index+Y.from,_)}else I8(Z.state.doc,this.regexp,G,W,(O,V)=>this.addMatch(V,Z,O,_));$=$.update({filterFrom:G,filterTo:W,filter:(O,V)=>O<G||V>W,add:z})}}return $}}var e7=/x/.unicode!=null?"gu":"g",h2=new RegExp(`[\x00-\b
11
+ -\x1F-Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,e7),v2={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"},y7=null;function m2(){var Z;if(y7==null&&typeof document<"u"&&document.body){let $=document.body.style;y7=((Z=$.tabSize)!==null&&Z!==void 0?Z:$.MozTabSize)!=null}return y7||!1}var V5=E.define({combine(Z){let $=J9(Z,{render:null,specialChars:h2,addSpecialChars:null});if($.replaceTabs=!m2())$.specialChars=new RegExp("\t|"+$.specialChars.source,e7);if($.addSpecialChars)$.specialChars=new RegExp($.specialChars.source+"|"+$.addSpecialChars.source,e7);return $}});function oQ(Z={}){return[V5.of(Z),u2()]}var A8=null;function u2(){return A8||(A8=t.fromClass(class{constructor(Z){this.view=Z,this.decorations=w.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(Z.state.facet(V5)),this.decorations=this.decorator.createDeco(Z)}makeDecorator(Z){return new i6({regexp:Z.specialChars,decoration:($,J,K)=>{let{doc:U}=J.state,Q=_3($[0],0);if(Q==9){let X=U.lineAt(K),Y=J.state.tabSize,q=Y0(X.text,Y,K-X.from);return w.replace({widget:new a6((Y-q%Y)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[Q]||(this.decorationCache[Q]=w.replace({widget:new r6(Z,Q)}))},boundary:Z.replaceTabs?void 0:/[^]/})}update(Z){let $=Z.state.facet(V5);if(Z.startState.facet(V5)!=$)this.decorator=this.makeDecorator($),this.decorations=this.decorator.createDeco(Z.view);else this.decorations=this.decorator.updateDeco(Z,this.decorations)}},{decorations:(Z)=>Z.decorations}))}var g2="•";function f2(Z){if(Z>=32)return g2;if(Z==10)return"␤";return String.fromCharCode(9216+Z)}class r6 extends T3{constructor(Z,$){super();this.options=Z,this.code=$}eq(Z){return Z.code==this.code}toDOM(Z){let $=f2(this.code),J=Z.state.phrase("Control character")+" "+(v2[this.code]||"0x"+this.code.toString(16)),K=this.options.render&&this.options.render(this.code,J,$);if(K)return K;let U=document.createElement("span");return U.textContent=$,U.title=J,U.setAttribute("aria-label",J),U.className="cm-specialChar",U}ignoreEvent(){return!1}}class a6 extends T3{constructor(Z){super();this.width=Z}eq(Z){return Z.width==this.width}toDOM(){let Z=document.createElement("span");return Z.textContent="\t",Z.className="cm-tab",Z.style.width=this.width+"px",Z}ignoreEvent(){return!1}}function tQ(){return l2}var p2=w.line({class:"cm-activeLine"}),l2=t.fromClass(class{constructor(Z){this.decorations=this.getDeco(Z)}update(Z){if(Z.docChanged||Z.selectionSet)this.decorations=this.getDeco(Z.view)}getDeco(Z){let $=-1,J=[];for(let K of Z.state.selection.ranges){let U=Z.lineBlockAt(K.head);if(U.from>$)J.push(p2.range(U.from)),$=U.from}return w.set(J)}},{decorations:(Z)=>Z.decorations});var ZZ=2000;function d2(Z,$,J){let K=Math.min($.line,J.line),U=Math.max($.line,J.line),Q=[];if($.off>ZZ||J.off>ZZ||$.col<0||J.col<0){let X=Math.min($.off,J.off),Y=Math.max($.off,J.off);for(let q=K;q<=U;q++){let G=Z.doc.line(q);if(G.length<=Y)Q.push(L.range(G.from+X,G.to+Y))}}else{let X=Math.min($.col,J.col),Y=Math.max($.col,J.col);for(let q=K;q<=U;q++){let G=Z.doc.line(q),W=e0(G.text,X,Z.tabSize,!0);if(W<0)Q.push(L.cursor(G.to));else{let z=e0(G.text,Y,Z.tabSize);Q.push(L.range(G.from+W,G.from+z))}}}return Q}function c2(Z,$){let J=Z.coordsAtPos(Z.viewport.from);return J?Math.round(Math.abs((J.left-$)/Z.defaultCharacterWidth)):-1}function B8(Z,$){let J=Z.posAtCoords({x:$.clientX,y:$.clientY},!1),K=Z.state.doc.lineAt(J),U=J-K.from,Q=U>ZZ?-1:U==K.length?c2(Z,$.clientX):Y0(K.text,Z.state.tabSize,J-K.from);return{line:K.number,col:Q,off:U}}function s2(Z,$){let J=B8(Z,$),K=Z.state.selection;if(!J)return null;return{update(U){if(U.docChanged){let Q=U.changes.mapPos(U.startState.doc.line(J.line).from),X=U.state.doc.lineAt(Q);J={line:X.number,col:J.col,off:Math.min(J.off,X.length)},K=K.map(U.changes)}},get(U,Q,X){let Y=B8(Z,U);if(!Y)return K;let q=d2(Z.state,J,Y);if(!q.length)return K;if(X)return L.create(q.concat(K.ranges));else return L.create(q)}}}function eQ(Z){let $=(Z===null||Z===void 0?void 0:Z.eventFilter)||((J)=>J.altKey&&J.button==0);return T.mouseSelectionStyle.of((J,K)=>$(K)?s2(J,K):null)}var n2={Alt:[18,(Z)=>!!Z.altKey],Control:[17,(Z)=>!!Z.ctrlKey],Shift:[16,(Z)=>!!Z.shiftKey],Meta:[91,(Z)=>!!Z.metaKey]},i2={style:"cursor: crosshair"};function ZX(Z={}){let[$,J]=n2[Z.key||"Alt"],K=t.fromClass(class{constructor(U){this.view=U,this.isDown=!1}set(U){if(this.isDown!=U)this.isDown=U,this.view.update([])}},{eventObservers:{keydown(U){this.set(U.keyCode==$||J(U))},keyup(U){if(U.keyCode==$||!J(U))this.set(!1)},mousemove(U){this.set(J(U))}}});return[K,T.contentAttributes.of((U)=>{var Q;return((Q=U.plugin(K))===null||Q===void 0?void 0:Q.isDown)?i2:null})]}var Y5="-10000px";class NZ{constructor(Z,$,J,K){this.facet=$,this.createTooltipView=J,this.removeTooltipView=K,this.input=Z.state.facet($),this.tooltips=this.input.filter((Q)=>Q);let U=null;this.tooltipViews=this.tooltips.map((Q)=>U=J(Q,U))}update(Z,$){var J;let K=Z.state.facet(this.facet),U=K.filter((Y)=>Y);if(K===this.input){for(let Y of this.tooltipViews)if(Y.update)Y.update(Z);return!1}let Q=[],X=$?[]:null;for(let Y=0;Y<U.length;Y++){let q=U[Y],G=-1;if(!q)continue;for(let W=0;W<this.tooltips.length;W++){let z=this.tooltips[W];if(z&&z.create==q.create)G=W}if(G<0){if(Q[Y]=this.createTooltipView(q,Y?Q[Y-1]:null),X)X[Y]=!!q.above}else{let W=Q[Y]=this.tooltipViews[G];if(X)X[Y]=$[G];if(W.update)W.update(Z)}}for(let Y of this.tooltipViews)if(Q.indexOf(Y)<0)this.removeTooltipView(Y),(J=Y.destroy)===null||J===void 0||J.call(Y);if($)X.forEach((Y,q)=>$[q]=Y),$.length=X.length;return this.input=K,this.tooltips=U,this.tooltipViews=Q,!0}}function $X(Z={}){return H5.of(Z)}function r2(Z){let $=Z.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:$.clientHeight,right:$.clientWidth}}var H5=E.define({combine:(Z)=>{var $,J,K;return{position:A.ios?"absolute":(($=Z.find((U)=>U.position))===null||$===void 0?void 0:$.position)||"fixed",parent:((J=Z.find((U)=>U.parent))===null||J===void 0?void 0:J.parent)||null,tooltipSpace:((K=Z.find((U)=>U.tooltipSpace))===null||K===void 0?void 0:K.tooltipSpace)||r2}}}),M8=new WeakMap,FZ=t.fromClass(class{constructor(Z){this.view=Z,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let $=Z.state.facet(H5);this.position=$.position,this.parent=$.parent,this.classes=Z.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new NZ(Z,b5,(J,K)=>this.createTooltip(J,K),(J)=>{if(this.resizeObserver)this.resizeObserver.unobserve(J.dom);J.dom.remove()}),this.above=this.manager.tooltips.map((J)=>!!J.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver((J)=>{if(Date.now()>this.lastTransaction-50&&J.length>0&&J[J.length-1].intersectionRatio<1)this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),Z.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){if(this.parent)this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container);else this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let Z of this.manager.tooltipViews)this.intersectionObserver.observe(Z.dom)}}measureSoon(){if(this.measureTimeout<0)this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50)}update(Z){if(Z.transactions.length)this.lastTransaction=Date.now();let $=this.manager.update(Z,this.above);if($)this.observeIntersection();let J=$||Z.geometryChanged,K=Z.state.facet(H5);if(K.position!=this.position&&!this.madeAbsolute){this.position=K.position;for(let U of this.manager.tooltipViews)U.dom.style.position=this.position;J=!0}if(K.parent!=this.parent){if(this.parent)this.container.remove();this.parent=K.parent,this.createContainer();for(let U of this.manager.tooltipViews)this.container.appendChild(U.dom);J=!0}else if(this.parent&&this.view.themeClasses!=this.classes)this.classes=this.container.className=this.view.themeClasses;if(J)this.maybeMeasure()}createTooltip(Z,$){let J=Z.create(this.view),K=$?$.dom:null;if(J.dom.classList.add("cm-tooltip"),Z.arrow&&!J.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let U=document.createElement("div");U.className="cm-tooltip-arrow",J.dom.appendChild(U)}if(J.dom.style.position=this.position,J.dom.style.top=Y5,J.dom.style.left="0px",this.container.insertBefore(J.dom,K),J.mount)J.mount(this.view);if(this.resizeObserver)this.resizeObserver.observe(J.dom);return J}destroy(){var Z,$,J;this.view.win.removeEventListener("resize",this.measureSoon);for(let K of this.manager.tooltipViews)K.dom.remove(),(Z=K.destroy)===null||Z===void 0||Z.call(K);if(this.parent)this.container.remove();($=this.resizeObserver)===null||$===void 0||$.disconnect(),(J=this.intersectionObserver)===null||J===void 0||J.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let Z=1,$=1,J=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:Q}=this.manager.tooltipViews[0];if(A.safari){let X=Q.getBoundingClientRect();J=Math.abs(X.top+1e4)>1||Math.abs(X.left)>1}else J=!!Q.offsetParent&&Q.offsetParent!=this.container.ownerDocument.body}if(J||this.position=="absolute")if(this.parent){let Q=this.parent.getBoundingClientRect();if(Q.width&&Q.height)Z=Q.width/this.parent.offsetWidth,$=Q.height/this.parent.offsetHeight}else({scaleX:Z,scaleY:$}=this.view.viewState);let K=this.view.scrollDOM.getBoundingClientRect(),U=jZ(this.view);return{visible:{left:K.left+U.left,top:K.top+U.top,right:K.right-U.right,bottom:K.bottom-U.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((Q,X)=>{let Y=this.manager.tooltipViews[X];return Y.getCoords?Y.getCoords(Q.pos):this.view.coordsAtPos(Q.pos)}),size:this.manager.tooltipViews.map(({dom:Q})=>Q.getBoundingClientRect()),space:this.view.state.facet(H5).tooltipSpace(this.view),scaleX:Z,scaleY:$,makeAbsolute:J}}writeMeasure(Z){var $;if(Z.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let Y of this.manager.tooltipViews)Y.dom.style.position="absolute"}let{visible:J,space:K,scaleX:U,scaleY:Q}=Z,X=[];for(let Y=0;Y<this.manager.tooltips.length;Y++){let q=this.manager.tooltips[Y],G=this.manager.tooltipViews[Y],{dom:W}=G,z=Z.pos[Y],j=Z.size[Y];if(!z||q.clip!==!1&&(z.bottom<=Math.max(J.top,K.top)||z.top>=Math.min(J.bottom,K.bottom)||z.right<Math.max(J.left,K.left)-0.1||z.left>Math.min(J.right,K.right)+0.1)){W.style.top=Y5;continue}let _=q.arrow?G.dom.querySelector(".cm-tooltip-arrow"):null,O=_?7:0,V=j.right-j.left,H=($=M8.get(G))!==null&&$!==void 0?$:j.bottom-j.top,F=G.offset||o2,D=this.view.textDirection==l.LTR,B=j.width>K.right-K.left?D?K.left:K.right-j.width:D?Math.max(K.left,Math.min(z.left-(_?14:0)+F.x,K.right-V)):Math.min(Math.max(K.left,z.left-V+(_?14:0)-F.x),K.right-V),P=this.above[Y];if(!q.strictSide&&(P?z.top-H-O-F.y<K.top:z.bottom+H+O+F.y>K.bottom)&&P==K.bottom-z.bottom>z.top-K.top)P=this.above[Y]=!P;let R=(P?z.top-K.top:K.bottom-z.bottom)-O;if(R<H&&G.resize!==!1){if(R<this.view.defaultLineHeight){W.style.top=Y5;continue}M8.set(G,H),W.style.height=(H=R)/Q+"px"}else if(W.style.height)W.style.height="";let C=P?z.top-H-O-F.y:z.bottom+O+F.y,M=B+V;if(G.overlap!==!0){for(let b of X)if(b.left<M&&b.right>B&&b.top<C+H&&b.bottom>C)C=P?b.top-H-2-O:b.bottom+O+2}if(this.position=="absolute")W.style.top=(C-Z.parent.top)/Q+"px",E8(W,(B-Z.parent.left)/U);else W.style.top=C/Q+"px",E8(W,B/U);if(_){let b=z.left+(D?F.x:-F.x)-(B+14-7);_.style.left=b/U+"px"}if(G.overlap!==!0)X.push({left:B,top:C,right:M,bottom:C+H});if(W.classList.toggle("cm-tooltip-above",P),W.classList.toggle("cm-tooltip-below",!P),G.positioned)G.positioned(Z.space)}}maybeMeasure(){if(this.manager.tooltips.length){if(this.view.inView)this.view.requestMeasure(this.measureReq);if(this.inView!=this.view.inView){if(this.inView=this.view.inView,!this.inView)for(let Z of this.manager.tooltipViews)Z.dom.style.top=Y5}}}},{eventObservers:{scroll(){this.maybeMeasure()}}});function E8(Z,$){let J=parseInt(Z.style.left,10);if(isNaN(J)||Math.abs($-J)>1)Z.style.left=$+"px"}var a2=T.baseTheme({".cm-tooltip":{zIndex:500,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"}}}),o2={x:0,y:0},b5=E.define({enables:[FZ,a2]}),P5=E.define({combine:(Z)=>Z.reduce(($,J)=>$.concat(J),[])});class k5{static create(Z){return new k5(Z)}constructor(Z){this.view=Z,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new NZ(Z,P5,($,J)=>this.createHostedView($,J),($)=>$.dom.remove())}createHostedView(Z,$){let J=Z.create(this.view);if(J.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(J.dom,$?$.dom.nextSibling:this.dom.firstChild),this.mounted&&J.mount)J.mount(this.view);return J}mount(Z){for(let $ of this.manager.tooltipViews)if($.mount)$.mount(Z);this.mounted=!0}positioned(Z){for(let $ of this.manager.tooltipViews)if($.positioned)$.positioned(Z)}update(Z){this.manager.update(Z)}destroy(){var Z;for(let $ of this.manager.tooltipViews)(Z=$.destroy)===null||Z===void 0||Z.call($)}passProp(Z){let $=void 0;for(let J of this.manager.tooltipViews){let K=J[Z];if(K!==void 0){if($===void 0)$=K;else if($!==K)return}}return $}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}var t2=b5.compute([P5],(Z)=>{let $=Z.facet(P5);if($.length===0)return null;return{pos:Math.min(...$.map((J)=>J.pos)),end:Math.max(...$.map((J)=>{var K;return(K=J.end)!==null&&K!==void 0?K:J.pos})),create:k5.create,above:$[0].above,arrow:$.some((J)=>J.arrow)}}),o6=E.define();class t6{constructor(Z,$,J,K,U,Q){this.view=Z,this.source=$,this.field=J,this.locked=K,this.setHover=U,this.hoverTime=Q,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:Z.dom,time:0},this.checkHover=this.checkHover.bind(this),Z.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),Z.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(Z){if(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.length)return;let Z=Date.now()-this.lastMove.time;if(Z<this.hoverTime)this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-Z);else this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:Z,lastMove:$}=this,J=Z.docView.tile.nearest($.target);if(!J)return;let K,U=1;if(J.isWidget())K=J.posAtStart;else{if(K=Z.posAtCoords($),K==null)return;let Q=Z.coordsAtPos(K);if(!Q||$.y<Q.top||$.y>Q.bottom||$.x<Q.left-Z.defaultCharacterWidth||$.x>Q.right+Z.defaultCharacterWidth)return;let X=Z.bidiSpans(Z.state.doc.lineAt(K)).find((q)=>q.from<=K&&q.to>=K),Y=X&&X.dir==l.RTL?-1:1;U=$.x<Q.left?-Y:Y}this.activateHover(Z,K,U)}activateHover(Z,$,J,K){let U=this.source(Z,$,J),Q=(X)=>{if(X&&!(Array.isArray(X)&&!X.length)){let Y=Array.isArray(X)?X:[X];if(K)this.locked.set(Y,K);Z.dispatch({effects:this.setHover.of(Y)})}};if(U&&"then"in U){let X=this.pending={pos:$};U.then((Y)=>{if(this.pending==X)this.pending=null,Q(Y)},(Y)=>W3(Z.state,Y,"hover tooltip"))}else Q(U)}get tooltip(){let Z=this.view.plugin(FZ),$=Z?Z.manager.tooltips.findIndex((J)=>J.create==k5.create):-1;return $>-1?Z.manager.tooltipViews[$]:null}mousemove(Z){var $,J;if(this.lastMove={x:Z.clientX,y:Z.clientY,target:Z.target,time:Date.now()},this.hoverTimeout<0)this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime);let{active:K,tooltip:U}=this;if(K.length&&!this.locked.has(K)&&U&&!e2(U.dom,Z)||this.pending){let{pos:Q}=K[0]||this.pending,X=(J=($=K[0])===null||$===void 0?void 0:$.end)!==null&&J!==void 0?J:Q;if(Q==X?this.view.posAtCoords(this.lastMove)!=Q:!ZK(this.view,Q,X,Z.clientX,Z.clientY))this.view.dispatch({effects:this.setHover.of([])}),this.pending=null}}mouseleave(Z){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:$}=this;if($.length&&!this.locked.has($)){let{tooltip:J}=this;if(!(J&&J.dom.contains(Z.relatedTarget)))this.view.dispatch({effects:this.setHover.of([])});else this.watchTooltipLeave(J.dom)}}watchTooltipLeave(Z){let $=(J)=>{Z.removeEventListener("mouseleave",$);let{active:K}=this;if(K.length&&!this.locked.has(K)&&!this.view.dom.contains(J.relatedTarget))this.view.dispatch({effects:this.setHover.of([])})};Z.addEventListener("mouseleave",$)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}var q5=4;function e2(Z,$){let{left:J,right:K,top:U,bottom:Q}=Z.getBoundingClientRect(),X;if(X=Z.querySelector(".cm-tooltip-arrow")){let Y=X.getBoundingClientRect();U=Math.min(Y.top,U),Q=Math.max(Y.bottom,Q)}return $.clientX>=J-q5&&$.clientX<=K+q5&&$.clientY>=U-q5&&$.clientY<=Q+q5}function ZK(Z,$,J,K,U,Q){let X=Z.scrollDOM.getBoundingClientRect(),Y=Z.documentTop+Z.documentPadding.top+Z.contentHeight;if(X.left>K||X.right<K||X.top>U||Math.min(X.bottom,Y)<U)return!1;let q=Z.posAtCoords({x:K,y:U},!1);return q>=$&&q<=J}function JX(Z,$={}){let J=x.define(),K=new WeakMap,U=Q3.define({create(){return[]},update(X,Y){let q=K.get(X);if(X.length){if($.hideOnChange&&(Y.docChanged||Y.selection))X=[];else if(q&&q(Y))X=[];else if($.hideOn)X=X.filter((G)=>!$.hideOn(Y,G))}if(Y.docChanged&&X.length){let G=[];for(let W of X){let z=Y.changes.mapPos(W.pos,-1,Z3.TrackDel);if(z!=null){let j=Object.assign(Object.create(null),W);if(j.pos=z,j.end!=null)j.end=Y.changes.mapPos(j.end);G.push(j)}}X=G}for(let G of Y.effects){if(G.is(J))X=G.value,q=void 0;if(G.is($K)&&!G.value||G.value==U)X=[]}if(X.length&&q)K.set(X,q);return X},provide:(X)=>P5.from(X)}),Q=t.define((X)=>new t6(X,Z,U,K,J,$.hoverTime||300));return{active:U,extension:[U,Q,o6.of(Q),t2]}}function KX(Z,$,J,K={}){var U;let Q=Z.state.facet(o6).map((X)=>Z.plugin(X)).filter((X)=>!!X);if(K.tooltip&&K.tooltip.active){let X=Q.find((Y)=>Y.field==K.tooltip.active);if(X)Q=[X]}for(let X of Q)X.activateHover(Z,$,J,(U=K.until)!==null&&U!==void 0?U:()=>!1)}function DZ(Z,$){let J=Z.plugin(FZ);if(!J)return null;let K=J.manager.tooltips.indexOf($);return K<0?null:J.manager.tooltipViews[K]}var $K=x.define();var P8=E.define({combine(Z){let $,J;for(let K of Z)$=$||K.topContainer,J=J||K.bottomContainer;return{topContainer:$,bottomContainer:J}}});function UX(Z,$){let J=Z.plugin(e6),K=J?J.specs.indexOf($):-1;return K>-1?J.panels[K]:null}var e6=t.fromClass(class{constructor(Z){this.input=Z.state.facet($Z),this.specs=this.input.filter((J)=>J),this.panels=this.specs.map((J)=>J(Z));let $=Z.state.facet(P8);this.top=new _0(Z,!0,$.topContainer),this.bottom=new _0(Z,!1,$.bottomContainer),this.top.sync(this.panels.filter((J)=>J.top)),this.bottom.sync(this.panels.filter((J)=>!J.top));for(let J of this.panels)if(J.dom.classList.add("cm-panel"),J.mount)J.mount()}update(Z){let $=Z.state.facet(P8);if(this.top.container!=$.topContainer)this.top.sync([]),this.top=new _0(Z.view,!0,$.topContainer);if(this.bottom.container!=$.bottomContainer)this.bottom.sync([]),this.bottom=new _0(Z.view,!1,$.bottomContainer);this.top.syncClasses(),this.bottom.syncClasses();let J=Z.state.facet($Z);if(J!=this.input){let K=J.filter((q)=>q),U=[],Q=[],X=[],Y=[];for(let q of K){let G=this.specs.indexOf(q),W;if(G<0)W=q(Z.view),Y.push(W);else if(W=this.panels[G],W.update)W.update(Z);U.push(W),(W.top?Q:X).push(W)}this.specs=K,this.panels=U,this.top.sync(Q),this.bottom.sync(X);for(let q of Y)if(q.dom.classList.add("cm-panel"),q.mount)q.mount()}else for(let K of this.panels)if(K.update)K.update(Z)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:(Z)=>T.scrollMargins.of(($)=>{let J=$.plugin(Z);return J&&{top:J.top.scrollMargin(),bottom:J.bottom.scrollMargin()}})});class _0{constructor(Z,$,J){this.view=Z,this.top=$,this.container=J,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(Z){for(let $ of this.panels)if($.destroy&&Z.indexOf($)<0)$.destroy();this.panels=Z,this.syncDOM()}syncDOM(){if(this.panels.length==0){if(this.dom)this.dom.remove(),this.dom=void 0;return}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 $=this.container||this.view.dom;$.insertBefore(this.dom,this.top?$.firstChild:null)}let Z=this.dom.firstChild;for(let $ of this.panels)if($.dom.parentNode==this.dom){while(Z!=$.dom)Z=C8(Z);Z=Z.nextSibling}else this.dom.insertBefore($.dom,Z);while(Z)Z=C8(Z)}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)return;for(let Z of this.classes.split(" "))if(Z)this.container.classList.remove(Z);for(let Z of(this.classes=this.view.themeClasses).split(" "))if(Z)this.container.classList.add(Z)}}function C8(Z){let $=Z.nextSibling;return Z.remove(),$}var $Z=E.define({enables:e6});function QX(Z,$){let J,K=new Promise((X)=>J=X),U=(X)=>JK(X,$,J);if(Z.state.field(S7,!1))Z.dispatch({effects:Z1.of(U)});else Z.dispatch({effects:x.appendConfig.of(S7.init(()=>[U]))});let Q=$1.of(U);return{close:Q,result:K.then((X)=>{return(Z.win.queueMicrotask||((q)=>Z.win.setTimeout(q,10)))(()=>{if(Z.state.field(S7).indexOf(U)>-1)Z.dispatch({effects:Q})}),X})}}var S7=Q3.define({create(){return[]},update(Z,$){for(let J of $.effects)if(J.is(Z1))Z=[J.value].concat(Z);else if(J.is($1))Z=Z.filter((K)=>K!=J.value);return Z},provide:(Z)=>$Z.computeN([Z],($)=>$.field(Z))}),Z1=x.define(),$1=x.define();function JK(Z,$,J){let K=$.content?$.content(Z,()=>X(null)):null;if(!K){if(K=W9("form"),$.input){let Y=W9("input",$.input);if(/^(text|password|number|email|tel|url)$/.test(Y.type))Y.classList.add("cm-textfield");if(!Y.name)Y.name="input";K.appendChild(W9("label",($.label||"")+": ",Y))}else K.appendChild(document.createTextNode($.label||""));K.appendChild(document.createTextNode(" ")),K.appendChild(W9("button",{class:"cm-button",type:"submit"},$.submitLabel||"OK"))}let U=K.nodeName=="FORM"?[K]:K.querySelectorAll("form");for(let Y=0;Y<U.length;Y++){let q=U[Y];q.addEventListener("keydown",(G)=>{if(G.keyCode==27)G.preventDefault(),X(null);else if(G.keyCode==13)G.preventDefault(),X(q)}),q.addEventListener("submit",(G)=>{G.preventDefault(),X(q)})}let Q=W9("div",K,W9("button",{onclick:()=>X(null),"aria-label":Z.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));if($.class)Q.className=$.class;Q.classList.add("cm-dialog");function X(Y){if(Q.contains(Q.ownerDocument.activeElement))Z.focus();J(Y)}return{dom:Q,top:$.top,mount:()=>{if($.focus){let Y;if(typeof $.focus=="string")Y=K.querySelector($.focus);else Y=K.querySelector("input")||K.querySelector("button");if(Y&&"select"in Y)Y.select();else if(Y&&"focus"in Y)Y.focus()}}}}class f3 extends k3{compare(Z){return this==Z||this.constructor==Z.constructor&&this.eq(Z)}eq(Z){return!1}destroy(Z){}}f3.prototype.elementClass="";f3.prototype.toDOM=void 0;f3.prototype.mapMode=Z3.TrackBefore;f3.prototype.startSide=f3.prototype.endSide=-1;f3.prototype.point=!0;var N5=E.define(),KK=E.define(),UK={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>k.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},N0=E.define();function J1(Z){return[K1(),N0.of({...UK,...Z})]}var JZ=E.define({combine:(Z)=>Z.some(($)=>$)});function K1(Z){let $=[QK];if(Z&&Z.fixed===!1)$.push(JZ.of(!0));return $}var QK=t.fromClass(class{constructor(Z){this.view=Z,this.domAfter=null,this.prevViewport=Z.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=Z.state.facet(N0).map(($)=>new UZ(Z,$)),this.fixed=!Z.state.facet(JZ);for(let $ of this.gutters)if($.config.side=="after")this.getDOMAfter().appendChild($.dom);else this.dom.appendChild($.dom);if(this.fixed)this.dom.style.position="sticky";this.syncGutters(!1),Z.scrollDOM.insertBefore(this.dom,Z.contentDOM)}getDOMAfter(){if(!this.domAfter)this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter);return this.domAfter}update(Z){if(this.updateGutters(Z)){let $=this.prevViewport,J=Z.view.viewport,K=Math.min($.to,J.to)-Math.max($.from,J.from);this.syncGutters(K<(J.to-J.from)*0.8)}if(Z.geometryChanged){let $=this.view.contentHeight/this.view.scaleY+"px";if(this.dom.style.minHeight=$,this.domAfter)this.domAfter.style.minHeight=$}if(this.view.state.facet(JZ)!=!this.fixed){if(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter)this.domAfter.style.position=this.fixed?"sticky":""}this.prevViewport=Z.view.viewport}syncGutters(Z){let $=this.dom.nextSibling;if(Z){if(this.dom.remove(),this.domAfter)this.domAfter.remove()}let J=k.iter(this.view.state.facet(N5),this.view.viewport.from),K=[],U=this.gutters.map((Q)=>new U1(Q,this.view.viewport,-this.view.documentPadding.top));for(let Q of this.view.viewportLineBlocks){if(K.length)K=[];if(Array.isArray(Q.type)){let X=!0;for(let Y of Q.type)if(Y.type==Y3.Text&&X){KZ(J,K,Y.from);for(let q of U)q.line(this.view,Y,K);X=!1}else if(Y.widget)for(let q of U)q.widget(this.view,Y)}else if(Q.type==Y3.Text){KZ(J,K,Q.from);for(let X of U)X.line(this.view,Q,K)}else if(Q.widget)for(let X of U)X.widget(this.view,Q)}for(let Q of U)Q.finish();if(Z){if(this.view.scrollDOM.insertBefore(this.dom,$),this.domAfter)this.view.scrollDOM.appendChild(this.domAfter)}}updateGutters(Z){let $=Z.startState.facet(N0),J=Z.state.facet(N0),K=Z.docChanged||Z.heightChanged||Z.viewportChanged||!k.eq(Z.startState.facet(N5),Z.state.facet(N5),Z.view.viewport.from,Z.view.viewport.to);if($==J){for(let U of this.gutters)if(U.update(Z))K=!0}else{K=!0;let U=[];for(let Q of J){let X=$.indexOf(Q);if(X<0)U.push(new UZ(this.view,Q));else this.gutters[X].update(Z),U.push(this.gutters[X])}for(let Q of this.gutters)if(Q.dom.remove(),U.indexOf(Q)<0)Q.destroy();for(let Q of U)if(Q.config.side=="after")this.getDOMAfter().appendChild(Q.dom);else this.dom.appendChild(Q.dom);this.gutters=U}return K}destroy(){for(let Z of this.gutters)Z.destroy();if(this.dom.remove(),this.domAfter)this.domAfter.remove()}},{provide:(Z)=>T.scrollMargins.of(($)=>{let J=$.plugin(Z);if(!J||J.gutters.length==0||!J.fixed)return null;let K=J.dom.offsetWidth*$.scaleX,U=J.domAfter?J.domAfter.offsetWidth*$.scaleX:0;return $.textDirection==l.LTR?{left:K,right:U}:{right:K,left:U}})});function T8(Z){return Array.isArray(Z)?Z:[Z]}function KZ(Z,$,J){while(Z.value&&Z.from<=J){if(Z.from==J)$.push(Z.value);Z.next()}}class U1{constructor(Z,$,J){this.gutter=Z,this.height=J,this.i=0,this.cursor=k.iter(Z.markers,$.from)}addElement(Z,$,J){let{gutter:K}=this,U=($.top-this.height)/Z.scaleY,Q=$.height/Z.scaleY;if(this.i==K.elements.length){let X=new LZ(Z,Q,U,J);K.elements.push(X),K.dom.appendChild(X.dom)}else K.elements[this.i].update(Z,Q,U,J);this.height=$.bottom,this.i++}line(Z,$,J){let K=[];if(KZ(this.cursor,K,$.from),J.length)K=K.concat(J);let U=this.gutter.config.lineMarker(Z,$,K);if(U)K.unshift(U);let Q=this.gutter;if(K.length==0&&!Q.config.renderEmptyElements)return;this.addElement(Z,$,K)}widget(Z,$){let J=this.gutter.config.widgetMarker(Z,$.widget,$),K=J?[J]:null;for(let U of Z.state.facet(KK)){let Q=U(Z,$.widget,$);if(Q)(K||(K=[])).push(Q)}if(K)this.addElement(Z,$,K)}finish(){let Z=this.gutter;while(Z.elements.length>this.i){let $=Z.elements.pop();Z.dom.removeChild($.dom),$.destroy()}}}class UZ{constructor(Z,$){this.view=Z,this.config=$,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let J in $.domEventHandlers)this.dom.addEventListener(J,(K)=>{let U=K.target,Q;if(U!=this.dom&&this.dom.contains(U)){while(U.parentNode!=this.dom)U=U.parentNode;let Y=U.getBoundingClientRect();Q=(Y.top+Y.bottom)/2}else Q=K.clientY;let X=Z.lineBlockAtHeight(Q-Z.documentTop);if($.domEventHandlers[J](Z,X,K))K.preventDefault()});if(this.markers=T8($.markers(Z)),$.initialSpacer)this.spacer=new LZ(Z,0,0,[$.initialSpacer(Z)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none"}update(Z){let $=this.markers;if(this.markers=T8(this.config.markers(Z.view)),this.spacer&&this.config.updateSpacer){let K=this.config.updateSpacer(this.spacer.markers[0],Z);if(K!=this.spacer.markers[0])this.spacer.update(Z.view,0,0,[K])}let J=Z.view.viewport;return!k.eq(this.markers,$,J.from,J.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(Z):!1)}destroy(){for(let Z of this.elements)Z.destroy()}}class LZ{constructor(Z,$,J,K){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(Z,$,J,K)}update(Z,$,J,K){if(this.height!=$)this.height=$,this.dom.style.height=$+"px";if(this.above!=J)this.dom.style.marginTop=(this.above=J)?J+"px":"";if(!XK(this.markers,K))this.setMarkers(Z,K)}setMarkers(Z,$){let J="cm-gutterElement",K=this.dom.firstChild;for(let U=0,Q=0;;){let X=Q,Y=U<$.length?$[U++]:null,q=!1;if(Y){let G=Y.elementClass;if(G)J+=" "+G;for(let W=Q;W<this.markers.length;W++)if(this.markers[W].compare(Y)){X=W,q=!0;break}}else X=this.markers.length;while(Q<X){let G=this.markers[Q++];if(G.toDOM){G.destroy(K);let W=K.nextSibling;K.remove(),K=W}}if(!Y)break;if(Y.toDOM)if(q)K=K.nextSibling;else this.dom.insertBefore(Y.toDOM(Z),K);if(q)Q++}this.dom.className=J,this.markers=$}destroy(){this.setMarkers(null,[])}}function XK(Z,$){if(Z.length!=$.length)return!1;for(let J=0;J<Z.length;J++)if(!Z[J].compare($[J]))return!1;return!0}var YK=E.define(),qK=E.define(),l9=E.define({combine(Z){return J9(Z,{formatNumber:String,domEventHandlers:{}},{domEventHandlers($,J){let K=Object.assign({},$);for(let U in J){let Q=K[U],X=J[U];K[U]=Q?(Y,q,G)=>Q(Y,q,G)||X(Y,q,G):X}return K}})}});class F5 extends f3{constructor(Z){super();this.number=Z}eq(Z){return this.number==Z.number}toDOM(){return document.createTextNode(this.number)}}function b7(Z,$){return Z.state.facet(l9).formatNumber($,Z.state)}var GK=N0.compute([l9],(Z)=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers($){return $.state.facet(YK)},lineMarker($,J,K){if(K.some((U)=>U.toDOM))return null;return new F5(b7($,$.state.doc.lineAt(J.from).number))},widgetMarker:($,J,K)=>{for(let U of $.state.facet(qK)){let Q=U($,J,K);if(Q)return Q}return null},lineMarkerChange:($)=>$.startState.facet(l9)!=$.state.facet(l9),initialSpacer($){return new F5(b7($,y8($.state.doc.lines)))},updateSpacer($,J){let K=b7(J.view,y8(J.view.state.doc.lines));return K==$.number?$:new F5(K)},domEventHandlers:Z.facet(l9).domEventHandlers,side:"before"}));function XX(Z={}){return[l9.of(Z),K1(),GK]}function y8(Z){let $=9;while($<Z)$=$*10+9;return $}var WK=new class extends f3{constructor(){super(...arguments);this.elementClass="cm-activeLineGutter"}},zK=N5.compute(["selection"],(Z)=>{let $=[],J=-1;for(let K of Z.selection.ranges){let U=Z.doc.lineAt(K.head).from;if(U>J)J=U,$.push(WK.range(U))}return k.of($)});function YX(){return zK}var j1=1024,jK=0;class A3{constructor(Z,$){this.from=Z,this.to=$}}class S{constructor(Z={}){this.id=jK++,this.perNode=!!Z.perNode,this.deserialize=Z.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=Z.combine||null}add(Z){if(this.perNode)throw RangeError("Can't add per-node props to node types");if(typeof Z!="function")Z=q3.match(Z);return($)=>{let J=Z($);return J===void 0?null:[this,J]}}}S.closedBy=new S({deserialize:(Z)=>Z.split(" ")});S.openedBy=new S({deserialize:(Z)=>Z.split(" ")});S.group=new S({deserialize:(Z)=>Z.split(" ")});S.isolate=new S({deserialize:(Z)=>{if(Z&&Z!="rtl"&&Z!="ltr"&&Z!="auto")throw RangeError("Invalid value for isolate: "+Z);return Z||"auto"}});S.contextHash=new S({perNode:!0});S.lookAhead=new S({perNode:!0});S.mounted=new S({perNode:!0});class E9{constructor(Z,$,J,K=!1){this.tree=Z,this.overlay=$,this.parser=J,this.bracketed=K}static get(Z){return Z&&Z.props&&Z.props[S.mounted.id]}}var _K=Object.create(null);class q3{constructor(Z,$,J,K=0){this.name=Z,this.props=$,this.id=J,this.flags=K}static define(Z){let $=Z.props&&Z.props.length?Object.create(null):_K,J=(Z.top?1:0)|(Z.skipped?2:0)|(Z.error?4:0)|(Z.name==null?8:0),K=new q3(Z.name||"",$,Z.id,J);if(Z.props)for(let U of Z.props){if(!Array.isArray(U))U=U(K);if(U){if(U[0].perNode)throw RangeError("Can't store a per-node prop on a node type");$[U[0].id]=U[1]}}return K}prop(Z){return this.props[Z.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(Z){if(typeof Z=="string"){if(this.name==Z)return!0;let $=this.prop(S.group);return $?$.indexOf(Z)>-1:!1}return this.id==Z}static match(Z){let $=Object.create(null);for(let J in Z)for(let K of J.split(" "))$[K]=Z[J];return(J)=>{for(let K=J.prop(S.group),U=-1;U<(K?K.length:0);U++){let Q=$[U<0?J.name:K[U]];if(Q)return Q}}}}q3.none=new q3("",Object.create(null),0,8);class T0{constructor(Z){this.types=Z;for(let $=0;$<Z.length;$++)if(Z[$].id!=$)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...Z){let $=[];for(let J of this.types){let K=null;for(let U of Z){let Q=U(J);if(Q){if(!K)K=Object.assign({},J.props);let X=Q[1],Y=Q[0];if(Y.combine&&Y.id in K)X=Y.combine(K[Y.id],X);K[Y.id]=X}}$.push(K?new q3(J.name,K,J.id,J.flags):J)}return new T0($)}}var x5=new WeakMap,Q1=new WeakMap,g;(function(Z){Z[Z.ExcludeBuffers=1]="ExcludeBuffers",Z[Z.IncludeAnonymous=2]="IncludeAnonymous",Z[Z.IgnoreMounts=4]="IgnoreMounts",Z[Z.IgnoreOverlays=8]="IgnoreOverlays",Z[Z.EnterBracketed=16]="EnterBracketed"})(g||(g={}));class i{constructor(Z,$,J,K,U){if(this.type=Z,this.children=$,this.positions=J,this.length=K,this.props=null,U&&U.length){this.props=Object.create(null);for(let[Q,X]of U)this.props[typeof Q=="number"?Q:Q.id]=X}}toString(){let Z=E9.get(this);if(Z&&!Z.overlay)return Z.tree.toString();let $="";for(let J of this.children){let K=J.toString();if(K){if($)$+=",";$+=K}}return!this.type.name?$:(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+($.length?"("+$+")":"")}cursor(Z=0){return new C0(this.topNode,Z)}cursorAt(Z,$=0,J=0){let K=x5.get(this)||this.topNode,U=new C0(K);return U.moveTo(Z,$),x5.set(this,U._tree),U}get topNode(){return new z3(this,0,0,null)}resolve(Z,$=0){let J=P0(x5.get(this)||this.topNode,Z,$,!1);return x5.set(this,J),J}resolveInner(Z,$=0){let J=P0(Q1.get(this)||this.topNode,Z,$,!0);return Q1.set(this,J),J}resolveStack(Z,$=0){return OK(this,Z,$)}iterate(Z){let{enter:$,leave:J,from:K=0,to:U=this.length}=Z,Q=Z.mode||0,X=(Q&g.IncludeAnonymous)>0;for(let Y=this.cursor(Q|g.IncludeAnonymous);;){let q=!1;if(Y.from<=U&&Y.to>=K&&(!X&&Y.type.isAnonymous||$(Y)!==!1)){if(Y.firstChild())continue;q=!0}for(;;){if(q&&J&&(X||!Y.type.isAnonymous))J(Y);if(Y.nextSibling())break;if(!Y.parent())return;q=!0}}}prop(Z){return!Z.perNode?this.type.prop(Z):this.props?this.props[Z.id]:void 0}get propValues(){let Z=[];if(this.props)for(let $ in this.props)Z.push([+$,this.props[$]]);return Z}balance(Z={}){return this.children.length<=8?this:CZ(q3.none,this.children,this.positions,0,this.children.length,0,this.length,($,J,K)=>new i(this.type,$,J,K,this.propValues),Z.makeTree||(($,J,K)=>new i(q3.none,$,J,K)))}static build(Z){return VK(Z)}}i.empty=new i(q3.none,[],[],0);class MZ{constructor(Z,$){this.buffer=Z,this.index=$}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 MZ(this.buffer,this.index)}}class _9{constructor(Z,$,J){this.buffer=Z,this.length=$,this.set=J}get type(){return q3.none}toString(){let Z=[];for(let $=0;$<this.buffer.length;)Z.push(this.childString($)),$=this.buffer[$+3];return Z.join(",")}childString(Z){let $=this.buffer[Z],J=this.buffer[Z+3],K=this.set.types[$],U=K.name;if(/\W/.test(U)&&!K.isError)U=JSON.stringify(U);if(Z+=4,J==Z)return U;let Q=[];while(Z<J)Q.push(this.childString(Z)),Z=this.buffer[Z+3];return U+"("+Q.join(",")+")"}findChild(Z,$,J,K,U){let{buffer:Q}=this,X=-1;for(let Y=Z;Y!=$;Y=Q[Y+3])if(_1(U,K,Q[Y+1],Q[Y+2])){if(X=Y,J>0)break}return X}slice(Z,$,J){let K=this.buffer,U=new Uint16Array($-Z),Q=0;for(let X=Z,Y=0;X<$;){U[Y++]=K[X++],U[Y++]=K[X++]-J;let q=U[Y++]=K[X++]-J;U[Y++]=K[X++]-Z,Q=Math.max(Q,q)}return new _9(U,Q,this.set)}}function _1(Z,$,J,K){switch(Z){case-2:return J<$;case-1:return K>=$&&J<$;case 0:return J<$&&K>$;case 1:return J<=$&&K>$;case 2:return K>$;case 4:return!0}}function P0(Z,$,J,K){var U;while(Z.from==Z.to||(J<1?Z.from>=$:Z.from>$)||(J>-1?Z.to<=$:Z.to<$)){let X=!K&&Z instanceof z3&&Z.index<0?null:Z.parent;if(!X)return Z;Z=X}let Q=K?0:g.IgnoreOverlays;if(K){for(let X=Z,Y=X.parent;Y;X=Y,Y=X.parent)if(X instanceof z3&&X.index<0&&((U=Y.enter($,J,Q))===null||U===void 0?void 0:U.from)!=X.from)Z=Y}for(;;){let X=Z.enter($,J,Q);if(!X)return Z;Z=X}}class EZ{cursor(Z=0){return new C0(this,Z)}getChild(Z,$=null,J=null){let K=X1(this,Z,$,J);return K.length?K[0]:null}getChildren(Z,$=null,J=null){return X1(this,Z,$,J)}resolve(Z,$=0){return P0(this,Z,$,!1)}resolveInner(Z,$=0){return P0(this,Z,$,!0)}matchContext(Z){return RZ(this.parent,Z)}enterUnfinishedNodesBefore(Z){let $=this.childBefore(Z),J=this;while($){let K=$.lastChild;if(!K||K.to!=$.to)break;if(K.type.isError&&K.from==K.to)J=$,$=K.prevSibling;else $=K}return J}get node(){return this}get next(){return this.parent}}class z3 extends EZ{constructor(Z,$,J,K){super();this._tree=Z,this.from=$,this.index=J,this._parent=K}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(Z,$,J,K,U=0){for(let Q=this;;){for(let{children:X,positions:Y}=Q._tree,q=$>0?X.length:-1;Z!=q;Z+=$){let G=X[Z],W=Y[Z]+Q.from,z;if(!(U&g.EnterBracketed&&G instanceof i&&(z=E9.get(G))&&!z.overlay&&z.bracketed&&J>=W&&J<=W+G.length)&&!_1(K,J,W,W+G.length))continue;if(G instanceof _9){if(U&g.ExcludeBuffers)continue;let j=G.findChild(0,G.buffer.length,$,J-W,K);if(j>-1)return new i3(new O1(Q,G,Z,W),null,j)}else if(U&g.IncludeAnonymous||(!G.type.isAnonymous||PZ(G))){let j;if(!(U&g.IgnoreMounts)&&(j=E9.get(G))&&!j.overlay)return new z3(j.tree,W,Z,Q);let _=new z3(G,W,Z,Q);return U&g.IncludeAnonymous||!_.type.isAnonymous?_:_.nextChild($<0?G.children.length-1:0,$,J,K,U)}}if(U&g.IncludeAnonymous||!Q.type.isAnonymous)return null;if(Q.index>=0)Z=Q.index+$;else Z=$<0?-1:Q._parent._tree.children.length;if(Q=Q._parent,!Q)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(Z){return this.nextChild(0,1,Z,2)}childBefore(Z){return this.nextChild(this._tree.children.length-1,-1,Z,-2)}prop(Z){return this._tree.prop(Z)}enter(Z,$,J=0){let K;if(!(J&g.IgnoreOverlays)&&(K=E9.get(this._tree))&&K.overlay){let U=Z-this.from,Q=J&g.EnterBracketed&&K.bracketed;for(let{from:X,to:Y}of K.overlay)if(($>0||Q?X<=U:X<U)&&($<0||Q?Y>=U:Y>U))return new z3(K.tree,K.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,Z,$,J)}nextSignificantParent(){let Z=this;while(Z.type.isAnonymous&&Z._parent)Z=Z._parent;return Z}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 X1(Z,$,J,K){let U=Z.cursor(),Q=[];if(!U.firstChild())return Q;if(J!=null){for(let X=!1;!X;)if(X=U.type.is(J),!U.nextSibling())return Q}for(;;){if(K!=null&&U.type.is(K))return Q;if(U.type.is($))Q.push(U.node);if(!U.nextSibling())return K==null?Q:[]}}function RZ(Z,$,J=$.length-1){for(let K=Z;J>=0;K=K.parent){if(!K)return!1;if(!K.type.isAnonymous){if($[J]&&$[J]!=K.name)return!1;J--}}return!0}class O1{constructor(Z,$,J,K){this.parent=Z,this.buffer=$,this.index=J,this.start=K}}class i3 extends EZ{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(Z,$,J){super();this.context=Z,this._parent=$,this.index=J,this.type=Z.buffer.set.types[Z.buffer.buffer[J]]}child(Z,$,J){let{buffer:K}=this.context,U=K.findChild(this.index+4,K.buffer[this.index+3],Z,$-this.context.start,J);return U<0?null:new i3(this.context,this,U)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(Z){return this.child(1,Z,2)}childBefore(Z){return this.child(-1,Z,-2)}prop(Z){return this.type.prop(Z)}enter(Z,$,J=0){if(J&g.ExcludeBuffers)return null;let{buffer:K}=this.context,U=K.findChild(this.index+4,K.buffer[this.index+3],$>0?1:-1,Z-this.context.start,$);return U<0?null:new i3(this.context,this,U)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(Z){return this._parent?null:this.context.parent.nextChild(this.context.index+Z,Z,0,4)}get nextSibling(){let{buffer:Z}=this.context,$=Z.buffer[this.index+3];if($<(this._parent?Z.buffer[this._parent.index+3]:Z.buffer.length))return new i3(this.context,this._parent,$);return this.externalSibling(1)}get prevSibling(){let{buffer:Z}=this.context,$=this._parent?this._parent.index+4:0;if(this.index==$)return this.externalSibling(-1);return new i3(this.context,this._parent,Z.findChild($,this.index,-1,0,4))}get tree(){return null}toTree(){let Z=[],$=[],{buffer:J}=this.context,K=this.index+4,U=J.buffer[this.index+3];if(U>K){let Q=J.buffer[this.index+1];Z.push(J.slice(K,U,Q)),$.push(0)}return new i(this.type,Z,$,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function V1(Z){if(!Z.length)return null;let $=0,J=Z[0];for(let Q=1;Q<Z.length;Q++){let X=Z[Q];if(X.from>J.from||X.to<J.to)J=X,$=Q}let K=J instanceof z3&&J.index<0?null:J.parent,U=Z.slice();if(K)U[$]=K;else U.splice($,1);return new H1(U,J)}class H1{constructor(Z,$){this.heads=Z,this.node=$}get next(){return V1(this.heads)}}function OK(Z,$,J){let K=Z.resolveInner($,J),U=null;for(let Q=K instanceof z3?K:K.context.parent;Q;Q=Q.parent)if(Q.index<0){let X=Q.parent;(U||(U=[K])).push(X.resolve($,J)),Q=X}else{let X=E9.get(Q.tree);if(X&&X.overlay&&X.overlay[0].from<=$&&X.overlay[X.overlay.length-1].to>=$){let Y=new z3(X.tree,X.overlay[0].from+Q.from,-1,Q);(U||(U=[K])).push(P0(Y,$,J,!1))}}return U?V1(U):K}class C0{get name(){return this.type.name}constructor(Z,$=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=$&~g.EnterBracketed,Z instanceof z3)this.yieldNode(Z);else{this._tree=Z.context.parent,this.buffer=Z.context;for(let J=Z._parent;J;J=J._parent)this.stack.unshift(J.index);this.bufferNode=Z,this.yieldBuf(Z.index)}}yieldNode(Z){if(!Z)return!1;return this._tree=Z,this.type=Z.type,this.from=Z.from,this.to=Z.to,!0}yieldBuf(Z,$){this.index=Z;let{start:J,buffer:K}=this.buffer;return this.type=$||K.set.types[K.buffer[Z]],this.from=J+K.buffer[Z+1],this.to=J+K.buffer[Z+2],!0}yield(Z){if(!Z)return!1;if(Z instanceof z3)return this.buffer=null,this.yieldNode(Z);return this.buffer=Z.context,this.yieldBuf(Z.index,Z.type)}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(Z,$,J){if(!this.buffer)return this.yield(this._tree.nextChild(Z<0?this._tree._tree.children.length-1:0,Z,$,J,this.mode));let{buffer:K}=this.buffer,U=K.findChild(this.index+4,K.buffer[this.index+3],Z,$-this.buffer.start,J);if(U<0)return!1;return this.stack.push(this.index),this.yieldBuf(U)}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(Z){return this.enterChild(1,Z,2)}childBefore(Z){return this.enterChild(-1,Z,-2)}enter(Z,$,J=this.mode){if(!this.buffer)return this.yield(this._tree.enter(Z,$,J));return J&g.ExcludeBuffers?!1:this.enterChild(1,Z,$)}parent(){if(!this.buffer)return this.yieldNode(this.mode&g.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let Z=this.mode&g.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(Z)}sibling(Z){if(!this.buffer)return!this._tree._parent?!1:this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+Z,Z,0,4,this.mode));let{buffer:$}=this.buffer,J=this.stack.length-1;if(Z<0){let K=J<0?0:this.stack[J]+4;if(this.index!=K)return this.yieldBuf($.findChild(K,this.index,-1,0,4))}else{let K=$.buffer[this.index+3];if(K<(J<0?$.buffer.length:$.buffer[this.stack[J]+3]))return this.yieldBuf(K)}return J<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+Z,Z,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(Z){let $,J,{buffer:K}=this;if(K){if(Z>0){if(this.index<K.buffer.buffer.length)return!1}else for(let U=0;U<this.index;U++)if(K.buffer.buffer[U+3]<this.index)return!1;({index:$,parent:J}=K)}else({index:$,_parent:J}=this._tree);for(;J;{index:$,_parent:J}=J)if($>-1)for(let U=$+Z,Q=Z<0?-1:J._tree.children.length;U!=Q;U+=Z){let X=J._tree.children[U];if(this.mode&g.IncludeAnonymous||X instanceof _9||!X.type.isAnonymous||PZ(X))return!1}return!0}move(Z,$){if($&&this.enterChild(Z,0,4))return!0;for(;;){if(this.sibling(Z))return!0;if(this.atLastNode(Z)||!this.parent())return!1}}next(Z=!0){return this.move(1,Z)}prev(Z=!0){return this.move(-1,Z)}moveTo(Z,$=0){while(this.from==this.to||($<1?this.from>=Z:this.from>Z)||($>-1?this.to<=Z:this.to<Z))if(!this.parent())break;while(this.enterChild(1,Z,$));return this}get node(){if(!this.buffer)return this._tree;let Z=this.bufferNode,$=null,J=0;if(Z&&Z.context==this.buffer)Z:for(let K=this.index,U=this.stack.length;U>=0;){for(let Q=Z;Q;Q=Q._parent)if(Q.index==K){if(K==this.index)return Q;$=Q,J=U+1;break Z}K=this.stack[--U]}for(let K=J;K<this.stack.length;K++)$=new i3(this.buffer,$,this.stack[K]);return this.bufferNode=new i3(this.buffer,$,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(Z,$){for(let J=0;;){let K=!1;if(this.type.isAnonymous||Z(this)!==!1){if(this.firstChild()){J++;continue}if(!this.type.isAnonymous)K=!0}for(;;){if(K&&$)$(this);if(K=this.type.isAnonymous,!J)return;if(this.nextSibling())break;this.parent(),J--,K=!0}}}matchContext(Z){if(!this.buffer)return RZ(this.node.parent,Z);let{buffer:$}=this.buffer,{types:J}=$.set;for(let K=Z.length-1,U=this.stack.length-1;K>=0;U--){if(U<0)return RZ(this._tree,Z,K);let Q=J[$.buffer[this.stack[U]]];if(!Q.isAnonymous){if(Z[K]&&Z[K]!=Q.name)return!1;K--}}return!0}}function PZ(Z){return Z.children.some(($)=>$ instanceof _9||!$.type.isAnonymous||PZ($))}function VK(Z){var $;let{buffer:J,nodeSet:K,maxBufferLength:U=1024,reused:Q=[],minRepeatType:X=K.types.length}=Z,Y=Array.isArray(J)?new MZ(J,J.length):J,q=K.types,G=0,W=0;function z(R,C,M,b,v,d){let{id:h,start:y,end:p,size:f}=Y,s=W,j3=G;if(f<0)if(Y.next(),f==-1){let e3=Q[h];M.push(e3),b.push(y-R);return}else if(f==-3){G=h;return}else if(f==-4){W=h;return}else throw RangeError(`Unrecognized record size: ${f}`);let R3=q[h],p3,U3,M3=y-R;if(p-y<=U&&(U3=H(Y.pos-C,v))){let e3=new Uint16Array(U3.size-U3.skip),E3=Y.pos-U3.size,l3=e3.length;while(Y.pos>E3)l3=F(U3.start,e3,l3);p3=new _9(e3,p-U3.start,K),M3=U3.start-R}else{let e3=Y.pos-f;Y.next();let E3=[],l3=[],N9=h>=X?h:-1,x9=0,d0=p;while(Y.pos>e3)if(N9>=0&&Y.id==N9&&Y.size>=0){if(Y.end<=d0-U)O(E3,l3,y,x9,Y.end,d0,N9,s,j3),x9=E3.length,d0=Y.end;Y.next()}else if(d>2500)j(y,e3,E3,l3);else z(y,e3,E3,l3,N9,d+1);if(N9>=0&&x9>0&&x9<E3.length)O(E3,l3,y,x9,y,d0,N9,s,j3);if(E3.reverse(),l3.reverse(),N9>-1&&x9>0){let O4=_(R3,j3);p3=CZ(R3,E3,l3,0,E3.length,0,p-y,O4,O4)}else p3=V(R3,E3,l3,p-y,s-p,j3)}M.push(p3),b.push(M3)}function j(R,C,M,b){let v=[],d=0,h=-1;while(Y.pos>C){let{id:y,start:p,end:f,size:s}=Y;if(s>4)Y.next();else if(h>-1&&p<h)break;else{if(h<0)h=f-U;v.push(y,p,f),d++,Y.next()}}if(d){let y=new Uint16Array(d*4),p=v[v.length-2];for(let f=v.length-3,s=0;f>=0;f-=3)y[s++]=v[f],y[s++]=v[f+1]-p,y[s++]=v[f+2]-p,y[s++]=s;M.push(new _9(y,v[2]-p,K)),b.push(p-R)}}function _(R,C){return(M,b,v)=>{let d=0,h=M.length-1,y,p;if(h>=0&&(y=M[h])instanceof i){if(!h&&y.type==R&&y.length==v)return y;if(p=y.prop(S.lookAhead))d=b[h]+y.length+p}return V(R,M,b,v,d,C)}}function O(R,C,M,b,v,d,h,y,p){let f=[],s=[];while(R.length>b)f.push(R.pop()),s.push(C.pop()+M-v);R.push(V(K.types[h],f,s,d-v,y-d,p)),C.push(v-M)}function V(R,C,M,b,v,d,h){if(d){let y=[S.contextHash,d];h=h?[y].concat(h):[y]}if(v>25){let y=[S.lookAhead,v];h=h?[y].concat(h):[y]}return new i(R,C,M,b,h)}function H(R,C){let M=Y.fork(),b=0,v=0,d=0,h=M.end-U,y={size:0,start:0,skip:0};Z:for(let p=M.pos-R;M.pos>p;){let f=M.size;if(M.id==C&&f>=0){y.size=b,y.start=v,y.skip=d,d+=4,b+=4,M.next();continue}let s=M.pos-f;if(f<0||s<p||M.start<h)break;let j3=M.id>=X?4:0,R3=M.start;M.next();while(M.pos>s){if(M.size<0)if(M.size==-3||M.size==-4)j3+=4;else break Z;else if(M.id>=X)j3+=4;M.next()}v=R3,b+=f,d+=j3}if(C<0||b==R)y.size=b,y.start=v,y.skip=d;return y.size>4?y:void 0}function F(R,C,M){let{id:b,start:v,end:d,size:h}=Y;if(Y.next(),h>=0&&b<X){let y=M;if(h>4){let p=Y.pos-(h-4);while(Y.pos>p)M=F(R,C,M)}C[--M]=y,C[--M]=d-R,C[--M]=v-R,C[--M]=b}else if(h==-3)G=b;else if(h==-4)W=b;return M}let D=[],B=[];while(Y.pos>0)z(Z.start||0,Z.bufferStart||0,D,B,-1,0);let P=($=Z.length)!==null&&$!==void 0?$:D.length?B[0]+D[0].length:0;return new i(q[Z.topID],D.reverse(),B.reverse(),P)}var Y1=new WeakMap;function w5(Z,$){if(!Z.isAnonymous||$ instanceof _9||$.type!=Z)return 1;let J=Y1.get($);if(J==null){J=1;for(let K of $.children){if(K.type!=Z||!(K instanceof i)){J=1;break}J+=w5(Z,K)}Y1.set($,J)}return J}function CZ(Z,$,J,K,U,Q,X,Y,q){let G=0;for(let O=K;O<U;O++)G+=w5(Z,$[O]);let W=Math.ceil(G*1.5/8),z=[],j=[];function _(O,V,H,F,D){for(let B=H;B<F;){let P=B,R=V[B],C=w5(Z,O[B]);B++;for(;B<F;B++){let M=w5(Z,O[B]);if(C+M>=W)break;C+=M}if(B==P+1){if(C>W){let M=O[P];_(M.children,M.positions,0,M.children.length,V[P]+D);continue}z.push(O[P])}else{let M=V[B-1]+O[B-1].length-R;z.push(CZ(Z,O,V,P,B,R,M,null,q))}j.push(R+D-Q)}}return _($,J,K,U,0),(Y||q)(z,j,X)}class TZ{constructor(){this.map=new WeakMap}setBuffer(Z,$,J){let K=this.map.get(Z);if(!K)this.map.set(Z,K=new Map);K.set($,J)}getBuffer(Z,$){let J=this.map.get(Z);return J&&J.get($)}set(Z,$){if(Z instanceof i3)this.setBuffer(Z.context.buffer,Z.index,$);else if(Z instanceof z3)this.map.set(Z.tree,$)}get(Z){return Z instanceof i3?this.getBuffer(Z.context.buffer,Z.index):Z instanceof z3?this.map.get(Z.tree):void 0}cursorSet(Z,$){if(Z.buffer)this.setBuffer(Z.buffer.buffer,Z.index,$);else this.map.set(Z.tree,$)}cursorGet(Z){return Z.buffer?this.getBuffer(Z.buffer.buffer,Z.index):this.map.get(Z.tree)}}class r3{constructor(Z,$,J,K,U=!1,Q=!1){this.from=Z,this.to=$,this.tree=J,this.offset=K,this.open=(U?1:0)|(Q?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(Z,$=[],J=!1){let K=[new r3(0,Z.length,Z,0,!1,J)];for(let U of $)if(U.to>Z.length)K.push(U);return K}static applyChanges(Z,$,J=128){if(!$.length)return Z;let K=[],U=1,Q=Z.length?Z[0]:null;for(let X=0,Y=0,q=0;;X++){let G=X<$.length?$[X]:null,W=G?G.fromA:1e9;if(W-Y>=J)while(Q&&Q.from<W){let z=Q;if(Y>=z.from||W<=z.to||q){let j=Math.max(z.from,Y)-q,_=Math.min(z.to,W)-q;z=j>=_?null:new r3(j,_,z.tree,z.offset+q,X>0,!!G)}if(z)K.push(z);if(Q.to>W)break;Q=U<Z.length?Z[U++]:null}if(!G)break;Y=G.toA,q=G.toA-G.toB}return K}}class y0{startParse(Z,$,J){if(typeof Z=="string")Z=new N1(Z);return J=!J?[new A3(0,Z.length)]:J.length?J.map((K)=>new A3(K.from,K.to)):[new A3(0,0)],this.createParse(Z,$||[],J)}parse(Z,$,J){let K=this.startParse(Z,$,J);for(;;){let U=K.advance();if(U)return U}}}class N1{constructor(Z){this.string=Z}get length(){return this.string.length}chunk(Z){return this.string.slice(Z)}get lineChunks(){return!1}read(Z,$){return this.string.slice(Z,$)}}function FX(Z){return($,J,K,U)=>new D1($,Z,J,K,U)}class IZ{constructor(Z,$,J,K,U,Q){this.parser=Z,this.parse=$,this.overlay=J,this.bracketed=K,this.target=U,this.from=Q}}function q1(Z){if(!Z.length||Z.some(($)=>$.from>=$.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(Z))}class F1{constructor(Z,$,J,K,U,Q,X,Y){this.parser=Z,this.predicate=$,this.mounts=J,this.index=K,this.start=U,this.bracketed=Q,this.target=X,this.prev=Y,this.depth=0,this.ranges=[]}}var AZ=new S({perNode:!0});class D1{constructor(Z,$,J,K,U){this.nest=$,this.input=J,this.fragments=K,this.ranges=U,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=Z}advance(){if(this.baseParse){let J=this.baseParse.advance();if(!J)return null;if(this.baseParse=null,this.baseTree=J,this.startInner(),this.stoppedAt!=null)for(let K of this.inner)K.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let J=this.baseTree;if(this.stoppedAt!=null)J=new i(J.type,J.children,J.positions,J.length,J.propValues.concat([[AZ,this.stoppedAt]]));return J}let Z=this.inner[this.innerDone],$=Z.parse.advance();if($){this.innerDone++;let J=Object.assign(Object.create(null),Z.target.props);J[S.mounted.id]=new E9($,Z.overlay,Z.parser,Z.bracketed),Z.target.props=J}return null}get parsedPos(){if(this.baseParse)return 0;let Z=this.input.length;for(let $=this.innerDone;$<this.inner.length;$++)if(this.inner[$].from<Z)Z=Math.min(Z,this.inner[$].parse.parsedPos);return Z}stopAt(Z){if(this.stoppedAt=Z,this.baseParse)this.baseParse.stopAt(Z);else for(let $=this.innerDone;$<this.inner.length;$++)this.inner[$].parse.stopAt(Z)}startInner(){let Z=new L1(this.fragments),$=null,J=null,K=new C0(new z3(this.baseTree,this.ranges[0].from,0,null),g.IncludeAnonymous|g.IgnoreMounts);Z:for(let U,Q;;){let X=!0,Y;if(this.stoppedAt!=null&&K.from>=this.stoppedAt)X=!1;else if(Z.hasNode(K)){if($){let q=$.mounts.find((G)=>G.frag.from<=K.from&&G.frag.to>=K.to&&G.mount.overlay);if(q)for(let G of q.mount.overlay){let W=G.from+q.pos,z=G.to+q.pos;if(W>=K.from&&z<=K.to&&!$.ranges.some((j)=>j.from<z&&j.to>W))$.ranges.push({from:W,to:z})}}X=!1}else if(J&&(Q=HK(J.ranges,K.from,K.to)))X=Q!=2;else if(!K.type.isAnonymous&&(U=this.nest(K,this.input))&&(K.from<K.to||!U.overlay)){if(!K.tree){if(NK(K),$)$.depth++;if(J)J.depth++}let q=Z.findMounts(K.from,U.parser);if(typeof U.overlay=="function")$=new F1(U.parser,U.overlay,q,this.inner.length,K.from,!!U.bracketed,K.tree,$);else{let G=W1(this.ranges,U.overlay||(K.from<K.to?[new A3(K.from,K.to)]:[]));if(G.length)q1(G);if(G.length||!U.overlay)this.inner.push(new IZ(U.parser,G.length?U.parser.startParse(this.input,z1(q,G),G):U.parser.startParse(""),U.overlay?U.overlay.map((W)=>new A3(W.from-K.from,W.to-K.from)):null,!!U.bracketed,K.tree,G.length?G[0].from:K.from));if(!U.overlay)X=!1;else if(G.length)J={ranges:G,depth:0,prev:J}}}else if($&&(Y=$.predicate(K))){if(Y===!0)Y=new A3(K.from,K.to);if(Y.from<Y.to){let q=$.ranges.length-1;if(q>=0&&$.ranges[q].to==Y.from)$.ranges[q]={from:$.ranges[q].from,to:Y.to};else $.ranges.push(Y)}}if(X&&K.firstChild()){if($)$.depth++;if(J)J.depth++}else for(;;){if(K.nextSibling())break;if(!K.parent())break Z;if($&&!--$.depth){let q=W1(this.ranges,$.ranges);if(q.length)q1(q),this.inner.splice($.index,0,new IZ($.parser,$.parser.startParse(this.input,z1($.mounts,q),q),$.ranges.map((G)=>new A3(G.from-$.start,G.to-$.start)),$.bracketed,$.target,q[0].from));$=$.prev}if(J&&!--J.depth)J=J.prev}}}}function HK(Z,$,J){for(let K of Z){if(K.from>=J)break;if(K.to>$)return K.from<=$&&K.to>=J?2:1}return 0}function G1(Z,$,J,K,U,Q){if($<J){let X=Z.buffer[$+1];K.push(Z.slice($,J,X)),U.push(X-Q)}}function NK(Z){let{node:$}=Z,J=[],K=$.context.buffer;do J.push(Z.index),Z.parent();while(!Z.tree);let U=Z.tree,Q=U.children.indexOf(K),X=U.children[Q],Y=X.buffer,q=[Q];function G(W,z,j,_,O,V){let H=J[V],F=[],D=[];G1(X,W,H,F,D,_);let B=Y[H+1],P=Y[H+2];q.push(F.length);let R=V?G(H+4,Y[H+3],X.set.types[Y[H]],B,P-B,V-1):$.toTree();return F.push(R),D.push(B-_),G1(X,Y[H+3],z,F,D,_),new i(j,F,D,O)}U.children[Q]=G(0,Y.length,q3.none,0,X.length,J.length-1);for(let W of q){let z=Z.tree.children[W],j=Z.tree.positions[W];Z.yield(new z3(z,j+Z.from,W,Z._tree))}}class BZ{constructor(Z,$){this.offset=$,this.done=!1,this.cursor=Z.cursor(g.IncludeAnonymous|g.IgnoreMounts)}moveTo(Z){let{cursor:$}=this,J=Z-this.offset;while(!this.done&&$.from<J)if($.to>=Z&&$.enter(J,1,g.IgnoreOverlays|g.ExcludeBuffers));else if($.to<=Z){if(!$.next(!1))this.done=!0}else break}hasNode(Z){if(this.moveTo(Z.from),!this.done&&this.cursor.from+this.offset==Z.from&&this.cursor.tree)for(let $=this.cursor.tree;;){if($==Z.tree)return!0;if($.children.length&&$.positions[0]==0&&$.children[0]instanceof i)$=$.children[0];else break}return!1}}class L1{constructor(Z){var $;if(this.fragments=Z,this.curTo=0,this.fragI=0,Z.length){let J=this.curFrag=Z[0];this.curTo=($=J.tree.prop(AZ))!==null&&$!==void 0?$:J.to,this.inner=new BZ(J.tree,-J.offset)}else this.curFrag=this.inner=null}hasNode(Z){while(this.curFrag&&Z.from>=this.curTo)this.nextFrag();return this.curFrag&&this.curFrag.from<=Z.from&&this.curTo>=Z.to&&this.inner.hasNode(Z)}nextFrag(){var Z;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let $=this.curFrag=this.fragments[this.fragI];this.curTo=(Z=$.tree.prop(AZ))!==null&&Z!==void 0?Z:$.to,this.inner=new BZ($.tree,-$.offset)}}findMounts(Z,$){var J;let K=[];if(this.inner){this.inner.cursor.moveTo(Z,1);for(let U=this.inner.cursor.node;U;U=U.parent){let Q=(J=U.tree)===null||J===void 0?void 0:J.prop(S.mounted);if(Q&&Q.parser==$)for(let X=this.fragI;X<this.fragments.length;X++){let Y=this.fragments[X];if(Y.from>=U.to)break;if(Y.tree==this.curFrag.tree)K.push({frag:Y,pos:U.from-Y.offset,mount:Q})}}}return K}}function W1(Z,$){let J=null,K=$;for(let U=1,Q=0;U<Z.length;U++){let X=Z[U-1].to,Y=Z[U].from;for(;Q<K.length;Q++){let q=K[Q];if(q.from>=Y)break;if(q.to<=X)continue;if(!J)K=J=$.slice();if(q.from<X){if(J[Q]=new A3(q.from,X),q.to>Y)J.splice(Q+1,0,new A3(Y,q.to))}else if(q.to>Y)J[Q--]=new A3(Y,q.to);else J.splice(Q--,1)}}return K}function FK(Z,$,J,K){let U=0,Q=0,X=!1,Y=!1,q=-1e9,G=[];for(;;){let W=U==Z.length?1e9:X?Z[U].to:Z[U].from,z=Q==$.length?1e9:Y?$[Q].to:$[Q].from;if(X!=Y){let j=Math.max(q,J),_=Math.min(W,z,K);if(j<_)G.push(new A3(j,_))}if(q=Math.min(W,z),q==1e9)break;if(W==q)if(!X)X=!0;else X=!1,U++;if(z==q)if(!Y)Y=!0;else Y=!1,Q++}return G}function z1(Z,$){let J=[];for(let{pos:K,mount:U,frag:Q}of Z){let X=K+(U.overlay?U.overlay[0].from:0),Y=X+U.tree.length,q=Math.max(Q.from,X),G=Math.min(Q.to,Y);if(U.overlay){let W=U.overlay.map((j)=>new A3(j.from+K,j.to+K)),z=FK($,W,q,G);for(let j=0,_=q;;j++){let O=j==z.length,V=O?G:z[j].from;if(V>_)J.push(new r3(_,V,U.tree,-X,Q.from>=_||Q.openStart,Q.to<=V||Q.openEnd));if(O)break;_=z[j].to}}else J.push(new r3(q,G,U.tree,-X,Q.from>=X||Q.openStart,Q.to<=Y||Q.openEnd))}return J}var DK=0;class y3{constructor(Z,$,J,K){this.name=Z,this.set=$,this.base=J,this.modified=K,this.id=DK++}toString(){let{name:Z}=this;for(let $ of this.modified)if($.name)Z=`${$.name}(${Z})`;return Z}static define(Z,$){let J=typeof Z=="string"?Z:"?";if(Z instanceof y3)$=Z;if($===null||$===void 0?void 0:$.base)throw Error("Can not derive from a modified tag");let K=new y3(J,[],null,[]);if(K.set.push(K),$)for(let U of $.set)K.set.push(U);return K}static defineModifier(Z){let $=new u5(Z);return(J)=>{if(J.modified.indexOf($)>-1)return J;return u5.get(J.base||J,J.modified.concat($).sort((K,U)=>K.id-U.id))}}}var LK=0;class u5{constructor(Z){this.name=Z,this.instances=[],this.id=LK++}static get(Z,$){if(!$.length)return Z;let J=$[0].instances.find((X)=>X.base==Z&&RK($,X.modified));if(J)return J;let K=[],U=new y3(Z.name,K,Z,$);for(let X of $)X.instances.push(U);let Q=IK($);for(let X of Z.set)if(!X.modified.length)for(let Y of Q)K.push(u5.get(X,Y));return U}}function RK(Z,$){return Z.length==$.length&&Z.every((J,K)=>J==$[K])}function IK(Z){let $=[[]];for(let J=0;J<Z.length;J++)for(let K=0,U=$.length;K<U;K++)$.push($[K].concat(Z[J]));return $.sort((J,K)=>K.length-J.length)}function g5(Z){let $=Object.create(null);for(let J in Z){let K=Z[J];if(!Array.isArray(K))K=[K];for(let U of J.split(" "))if(U){let Q=[],X=2,Y=U;for(let z=0;;){if(Y=="..."&&z>0&&z+3==U.length){X=1;break}let j=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(Y);if(!j)throw RangeError("Invalid path: "+U);if(Q.push(j[0]=="*"?"":j[0][0]=='"'?JSON.parse(j[0]):j[0]),z+=j[0].length,z==U.length)break;let _=U[z++];if(z==U.length&&_=="!"){X=0;break}if(_!="/")throw RangeError("Invalid path: "+U);Y=U.slice(z)}let q=Q.length-1,G=Q[q];if(!G)throw RangeError("Invalid path: "+U);let W=new a9(K,X,q>0?Q.slice(0,q):null);$[G]=W.sort($[G])}}return A1.add($)}var A1=new S({combine(Z,$){let J,K,U;while(Z||$){if(!Z||$&&Z.depth>=$.depth)U=$,$=$.next;else U=Z,Z=Z.next;if(J&&J.mode==U.mode&&!U.context&&!J.context)continue;let Q=new a9(U.tags,U.mode,U.context);if(J)J.next=Q;else K=Q;J=Q}return K}});class a9{constructor(Z,$,J,K){this.tags=Z,this.mode=$,this.context=J,this.next=K}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(Z){if(!Z||Z.depth<this.depth)return this.next=Z,this;return Z.next=this.sort(Z.next),Z}get depth(){return this.context?this.context.length:0}}a9.empty=new a9([],2,null);function bZ(Z,$){let J=Object.create(null);for(let Q of Z)if(!Array.isArray(Q.tag))J[Q.tag.id]=Q.class;else for(let X of Q.tag)J[X.id]=Q.class;let{scope:K,all:U=null}=$||{};return{style:(Q)=>{let X=U;for(let Y of Q)for(let q of Y.set){let G=J[q.id];if(G){X=X?X+" "+G:G;break}}return X},scope:K}}function AK(Z,$){let J=null;for(let K of Z){let U=K.style($);if(U)J=J?J+" "+U:U}return J}function B1(Z,$,J,K=0,U=Z.length){let Q=new M1(K,Array.isArray($)?$:[$],J);Q.highlightRange(Z.cursor(),K,U,"",Q.highlighters),Q.flush(U)}class M1{constructor(Z,$,J){this.at=Z,this.highlighters=$,this.span=J,this.class=""}startSpan(Z,$){if($!=this.class){if(this.flush(Z),Z>this.at)this.at=Z;this.class=$}}flush(Z){if(Z>this.at&&this.class)this.span(this.at,Z,this.class)}highlightRange(Z,$,J,K,U){let{type:Q,from:X,to:Y}=Z;if(X>=J||Y<=$)return;if(Q.isTop)U=this.highlighters.filter((j)=>!j.scope||j.scope(Q));let q=K,G=BK(Z)||a9.empty,W=AK(U,G.tags);if(W){if(q)q+=" ";if(q+=W,G.mode==1)K+=(K?" ":"")+W}if(this.startSpan(Math.max($,X),q),G.opaque)return;let z=Z.tree&&Z.tree.prop(S.mounted);if(z&&z.overlay){let j=Z.node.enter(z.overlay[0].from+X,1),_=this.highlighters.filter((V)=>!V.scope||V.scope(z.tree.type)),O=Z.firstChild();for(let V=0,H=X;;V++){let F=V<z.overlay.length?z.overlay[V]:null,D=F?F.from+X:Y,B=Math.max($,H),P=Math.min(J,D);if(B<P&&O){while(Z.from<P)if(this.highlightRange(Z,B,P,K,U),this.startSpan(Math.min(P,Z.to),q),Z.to>=D||!Z.nextSibling())break}if(!F||D>J)break;if(H=F.to+X,H>$)this.highlightRange(j.cursor(),Math.max($,F.from+X),Math.min(J,H),"",_),this.startSpan(Math.min(J,H),q)}if(O)Z.parent()}else if(Z.firstChild()){if(z)K="";do{if(Z.to<=$)continue;if(Z.from>=J)break;this.highlightRange(Z,$,J,K,U),this.startSpan(Math.min(J,Z.to),q)}while(Z.nextSibling());Z.parent()}}}function BK(Z){let $=Z.type.prop(A1);while($&&$.context&&!Z.matchContext($.context))$=$.next;return $||null}var I=y3.define,h5=I(),O9=I(),R1=I(O9),I1=I(O9),V9=I(),v5=I(V9),yZ=I(V9),t3=I(),P9=I(t3),a3=I(),o3=I(),SZ=I(),S0=I(SZ),m5=I(),N={comment:h5,lineComment:I(h5),blockComment:I(h5),docComment:I(h5),name:O9,variableName:I(O9),typeName:R1,tagName:I(R1),propertyName:I1,attributeName:I(I1),className:I(O9),labelName:I(O9),namespace:I(O9),macroName:I(O9),literal:V9,string:v5,docString:I(v5),character:I(v5),attributeValue:I(v5),number:yZ,integer:I(yZ),float:I(yZ),bool:I(V9),regexp:I(V9),escape:I(V9),color:I(V9),url:I(V9),keyword:a3,self:I(a3),null:I(a3),atom:I(a3),unit:I(a3),modifier:I(a3),operatorKeyword:I(a3),controlKeyword:I(a3),definitionKeyword:I(a3),moduleKeyword:I(a3),operator:o3,derefOperator:I(o3),arithmeticOperator:I(o3),logicOperator:I(o3),bitwiseOperator:I(o3),compareOperator:I(o3),updateOperator:I(o3),definitionOperator:I(o3),typeOperator:I(o3),controlOperator:I(o3),punctuation:SZ,separator:I(SZ),bracket:S0,angleBracket:I(S0),squareBracket:I(S0),paren:I(S0),brace:I(S0),content:t3,heading:P9,heading1:I(P9),heading2:I(P9),heading3:I(P9),heading4:I(P9),heading5:I(P9),heading6:I(P9),contentSeparator:I(t3),list:I(t3),quote:I(t3),emphasis:I(t3),strong:I(t3),link:I(t3),monospace:I(t3),strikethrough:I(t3),inserted:I(),deleted:I(),changed:I(),invalid:I(),meta:m5,documentMeta:I(m5),annotation:I(m5),processingInstruction:I(m5),definition:y3.defineModifier("definition"),constant:y3.defineModifier("constant"),function:y3.defineModifier("function"),standard:y3.defineModifier("standard"),local:y3.defineModifier("local"),special:y3.defineModifier("special")};for(let Z in N){let $=N[Z];if($ instanceof y3)$.name=Z}var RX=bZ([{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"}]);var kZ,o9=new S;function gZ(Z){return E.define({combine:Z?($)=>$.concat(Z):void 0})}var s5=new S;class S3{constructor(Z,$,J=[],K=""){if(this.data=Z,this.name=K,!u.prototype.hasOwnProperty("tree"))Object.defineProperty(u.prototype,"tree",{get(){return J3(this)}});this.parser=$,this.extension=[H9.of(this),u.languageData.of((U,Q,X)=>{let Y=E1(U,Q,X),q=Y.type.prop(o9);if(!q)return[];let G=U.facet(q),W=Y.type.prop(s5);if(W){let z=Y.resolve(Q-Y.from,X);for(let j of W)if(j.test(z,U)){let _=U.facet(j.facet);return j.type=="replace"?_:_.concat(G)}}return G})].concat(J)}isActiveAt(Z,$,J=-1){return E1(Z,$,J).type.prop(o9)==this.data}findRegions(Z){let $=Z.facet(H9);if(($===null||$===void 0?void 0:$.data)==this.data)return[{from:0,to:Z.doc.length}];if(!$||!$.allowsNesting)return[];let J=[],K=(U,Q)=>{if(U.prop(o9)==this.data){J.push({from:Q,to:Q+U.length});return}let X=U.prop(S.mounted);if(X){if(X.tree.prop(o9)==this.data){if(X.overlay)for(let Y of X.overlay)J.push({from:Y.from+Q,to:Y.to+Q});else J.push({from:Q,to:Q+U.length});return}else if(X.overlay){let Y=J.length;if(K(X.tree,X.overlay[0].from+Q),J.length>Y)return}}for(let Y=0;Y<U.children.length;Y++){let q=U.children[Y];if(q instanceof i)K(q,U.positions[Y]+Q)}};return K(J3(Z),0),J}get allowsNesting(){return!0}}S3.setState=x.define();function E1(Z,$,J){let K=Z.facet(H9),U=J3(Z).topNode;if(!K||K.allowsNesting){for(let Q=U;Q;Q=Q.enter($,J,g.ExcludeBuffers|g.EnterBracketed))if(Q.type.isTop)U=Q}return U}class k0 extends S3{constructor(Z,$,J){super(Z,$,[],J);this.parser=$}static define(Z){let $=gZ(Z.languageData);return new k0($,Z.parser.configure({props:[o9.add((J)=>J.isTop?$:void 0)]}),Z.name)}configure(Z,$){return new k0(this.data,this.parser.configure(Z),$||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function J3(Z){let $=Z.field(S3.state,!1);return $?$.tree:i.empty}class x1{constructor(Z){this.doc=Z,this.cursorPos=0,this.string="",this.cursor=Z.iter()}get length(){return this.doc.length}syncTo(Z){return this.string=this.cursor.next(Z-this.cursorPos).value,this.cursorPos=Z+this.string.length,this.cursorPos-this.string.length}chunk(Z){return this.syncTo(Z),this.string}get lineChunks(){return!0}read(Z,$){let J=this.cursorPos-this.string.length;if(Z<J||$>=this.cursorPos)return this.doc.sliceString(Z,$);else return this.string.slice(Z-J,$-J)}}var b0=null;class l5{constructor(Z,$,J=[],K,U,Q,X,Y){this.parser=Z,this.state=$,this.fragments=J,this.tree=K,this.treeLen=U,this.viewport=Q,this.skipped=X,this.scheduleOn=Y,this.parse=null,this.tempSkipped=[]}static create(Z,$,J){return new l5(Z,$,[],i.empty,0,J,[],null)}startParse(){return this.parser.startParse(new x1(this.state.doc),this.fragments)}work(Z,$){if($!=null&&$>=this.state.doc.length)$=void 0;if(this.tree!=i.empty&&this.isDone($!==null&&$!==void 0?$:this.state.doc.length))return this.takeTree(),!0;return this.withContext(()=>{var J;if(typeof Z=="number"){let K=Date.now()+Z;Z=()=>Date.now()>K}if(!this.parse)this.parse=this.startParse();if($!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>$)&&$<this.state.doc.length)this.parse.stopAt($);for(;;){let K=this.parse.advance();if(K)if(this.fragments=this.withoutTempSkipped(r3.addTree(K,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(J=this.parse.stoppedAt)!==null&&J!==void 0?J:this.state.doc.length,this.tree=K,this.parse=null,this.treeLen<($!==null&&$!==void 0?$:this.state.doc.length))this.parse=this.startParse();else return!0;if(Z())return!1}})}takeTree(){let Z,$;if(this.parse&&(Z=this.parse.parsedPos)>=this.treeLen){if(this.parse.stoppedAt==null||this.parse.stoppedAt>Z)this.parse.stopAt(Z);this.withContext(()=>{while(!($=this.parse.advance()));}),this.treeLen=Z,this.tree=$,this.fragments=this.withoutTempSkipped(r3.addTree(this.tree,this.fragments,!0)),this.parse=null}}withContext(Z){let $=b0;b0=this;try{return Z()}finally{b0=$}}withoutTempSkipped(Z){for(let $;$=this.tempSkipped.pop();)Z=P1(Z,$.from,$.to);return Z}changes(Z,$){let{fragments:J,tree:K,treeLen:U,viewport:Q,skipped:X}=this;if(this.takeTree(),!Z.empty){let Y=[];if(Z.iterChangedRanges((q,G,W,z)=>Y.push({fromA:q,toA:G,fromB:W,toB:z})),J=r3.applyChanges(J,Y),K=i.empty,U=0,Q={from:Z.mapPos(Q.from,-1),to:Z.mapPos(Q.to,1)},this.skipped.length){X=[];for(let q of this.skipped){let G=Z.mapPos(q.from,1),W=Z.mapPos(q.to,-1);if(G<W)X.push({from:G,to:W})}}}return new l5(this.parser,$,J,K,U,Q,X,this.scheduleOn)}updateViewport(Z){if(this.viewport.from==Z.from&&this.viewport.to==Z.to)return!1;this.viewport=Z;let $=this.skipped.length;for(let J=0;J<this.skipped.length;J++){let{from:K,to:U}=this.skipped[J];if(K<Z.to&&U>Z.from)this.fragments=P1(this.fragments,K,U),this.skipped.splice(J--,1)}if(this.skipped.length>=$)return!1;return this.reset(),!0}reset(){if(this.parse)this.takeTree(),this.parse=null}skipUntilInView(Z,$){this.skipped.push({from:Z,to:$})}static getSkippingParser(Z){return new class extends y0{createParse($,J,K){let U=K[0].from,Q=K[K.length-1].to;return{parsedPos:U,advance(){let Y=b0;if(Y){for(let q of K)Y.tempSkipped.push(q);if(Z)Y.scheduleOn=Y.scheduleOn?Promise.all([Y.scheduleOn,Z]):Z}return this.parsedPos=Q,new i(q3.none,[],[],Q-U)},stoppedAt:null,stopAt(){}}}}}isDone(Z){Z=Math.min(Z,this.state.doc.length);let $=this.fragments;return this.treeLen>=Z&&$.length&&$[0].from==0&&$[0].to>=Z}static get(){return b0}}function P1(Z,$,J){return r3.applyChanges(Z,[{fromA:$,toA:J,fromB:$,toB:J}])}class t9{constructor(Z){this.context=Z,this.tree=Z.tree}apply(Z){if(!Z.docChanged&&this.tree==this.context.tree)return this;let $=this.context.changes(Z.changes,Z.state),J=this.context.treeLen==Z.startState.doc.length?void 0:Math.max(Z.changes.mapPos(this.context.treeLen),$.viewport.to);if(!$.work(20,J))$.takeTree();return new t9($)}static init(Z){let $=Math.min(3000,Z.doc.length),J=l5.create(Z.facet(H9).parser,Z,{from:0,to:$});if(!J.work(20,$))J.takeTree();return new t9(J)}}S3.state=Q3.define({create:t9.init,update(Z,$){for(let J of $.effects)if(J.is(S3.setState))return J.value;if($.startState.facet(H9)!=$.state.facet(H9))return t9.init($.state);return Z.apply($)}});var w1=(Z)=>{let $=setTimeout(()=>Z(),500);return()=>clearTimeout($)};if(typeof requestIdleCallback<"u")w1=(Z)=>{let $=-1,J=setTimeout(()=>{$=requestIdleCallback(Z,{timeout:400})},100);return()=>$<0?clearTimeout(J):cancelIdleCallback($)};var xZ=typeof navigator<"u"&&((kZ=navigator.scheduling)===null||kZ===void 0?void 0:kZ.isInputPending)?()=>navigator.scheduling.isInputPending():null,MK=t.fromClass(class{constructor($){this.view=$,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update($){let J=this.view.state.field(S3.state).context;if(J.updateViewport($.view.viewport)||this.view.viewport.to>J.treeLen)this.scheduleWork();if($.docChanged||$.selectionSet){if(this.view.hasFocus)this.chunkBudget+=50;this.scheduleWork()}this.checkAsyncSchedule(J)}scheduleWork(){if(this.working)return;let{state:$}=this.view,J=$.field(S3.state);if(J.tree!=J.context.tree||!J.context.isDone($.doc.length))this.working=w1(this.work)}work($){this.working=null;let J=Date.now();if(this.chunkEnd<J&&(this.chunkEnd<0||this.view.hasFocus))this.chunkEnd=J+30000,this.chunkBudget=3000;if(this.chunkBudget<=0)return;let{state:K,viewport:{to:U}}=this.view,Q=K.field(S3.state);if(Q.tree==Q.context.tree&&Q.context.isDone(U+1e5))return;let X=Date.now()+Math.min(this.chunkBudget,100,$&&!xZ?Math.max(25,$.timeRemaining()-5):1e9),Y=Q.context.treeLen<U&&K.doc.length>U+1000,q=Q.context.work(()=>{return xZ&&xZ()||Date.now()>X},U+(Y?0:1e5));if(this.chunkBudget-=Date.now()-J,q||this.chunkBudget<=0)Q.context.takeTree(),this.view.dispatch({effects:S3.setState.of(new t9(Q.context))});if(this.chunkBudget>0&&!(q&&!Y))this.scheduleWork();this.checkAsyncSchedule(Q.context)}checkAsyncSchedule($){if($.scheduleOn)this.workScheduled++,$.scheduleOn.then(()=>this.scheduleWork()).catch((J)=>W3(this.view.state,J)).then(()=>this.workScheduled--),$.scheduleOn=null}destroy(){if(this.working)this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),H9=E.define({combine(Z){return Z.length?Z[0]:null},enables:(Z)=>[S3.state,MK,T.contentAttributes.compute([Z],($)=>{let J=$.facet(Z);return J&&J.name?{"data-language":J.name}:{}})]});class fZ{constructor(Z,$=[]){this.language=Z,this.support=$,this.extension=[Z,$]}}class h1{constructor(Z,$,J,K,U,Q=void 0){this.name=Z,this.alias=$,this.extensions=J,this.filename=K,this.loadFunc=U,this.support=Q,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((Z)=>this.support=Z,(Z)=>{throw this.loading=null,Z}))}static of(Z){let{load:$,support:J}=Z;if(!$){if(!J)throw RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");$=()=>Promise.resolve(J)}return new h1(Z.name,(Z.alias||[]).concat(Z.name).map((K)=>K.toLowerCase()),Z.extensions||[],Z.filename,$,J)}static matchFilename(Z,$){for(let K of Z)if(K.filename&&K.filename.test($))return K;let J=/\.([^.]+)$/.exec($);if(J){for(let K of Z)if(K.extensions.indexOf(J[1])>-1)return K}return null}static matchLanguageName(Z,$,J=!0){$=$.toLowerCase();for(let K of Z)if(K.alias.some((U)=>U==$))return K;if(J)for(let K of Z)for(let U of K.alias){let Q=$.indexOf(U);if(Q>-1&&(U.length>2||!/\w/.test($[Q-1])&&!/\w/.test($[Q+U.length])))return K}return null}}var EK=E.define(),n5=E.define({combine:(Z)=>{if(!Z.length)return" ";let $=Z[0];if(!$||/\S/.test($)||Array.from($).some((J)=>J!=$[0]))throw Error("Invalid indent unit: "+JSON.stringify(Z[0]));return $}});function PK(Z){let $=Z.facet(n5);return $.charCodeAt(0)==9?Z.tabSize*$.length:$.length}function CK(Z,$){let J="",K=Z.tabSize,U=Z.facet(n5)[0];if(U=="\t"){while($>=K)J+="\t",$-=K;U=" "}for(let Q=0;Q<$;Q++)J+=U;return J}function TK(Z,$){if(Z instanceof u)Z=new pZ(Z);for(let K of Z.state.facet(EK)){let U=K(Z,$);if(U!==void 0)return U}let J=J3(Z.state);return J.length>=$?yK(Z,J,$):null}class pZ{constructor(Z,$={}){this.state=Z,this.options=$,this.unit=PK(Z)}lineAt(Z,$=1){let J=this.state.doc.lineAt(Z),{simulateBreak:K,simulateDoubleBreak:U}=this.options;if(K!=null&&K>=J.from&&K<=J.to)if(U&&K==Z)return{text:"",from:Z};else if($<0?K<Z:K<=Z)return{text:J.text.slice(K-J.from),from:K};else return{text:J.text.slice(0,K-J.from),from:J.from};return J}textAfterPos(Z,$=1){if(this.options.simulateDoubleBreak&&Z==this.options.simulateBreak)return"";let{text:J,from:K}=this.lineAt(Z,$);return J.slice(Z-K,Math.min(J.length,Z+100-K))}column(Z,$=1){let{text:J,from:K}=this.lineAt(Z,$),U=this.countColumn(J,Z-K),Q=this.options.overrideIndentation?this.options.overrideIndentation(K):-1;if(Q>-1)U+=Q-this.countColumn(J,J.search(/\S|$/));return U}countColumn(Z,$=Z.length){return Y0(Z,this.state.tabSize,$)}lineIndent(Z,$=1){let{text:J,from:K}=this.lineAt(Z,$),U=this.options.overrideIndentation;if(U){let Q=U(K);if(Q>-1)return Q}return this.countColumn(J,J.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}var lZ=new S;function yK(Z,$,J){let K=$.resolveStack(J),U=$.resolveInner(J,-1).resolve(J,0).enterUnfinishedNodesBefore(J);if(U!=K.node){let Q=[];for(let X=U;X&&!(X.from<K.node.from||X.to>K.node.to||X.from==K.node.from&&X.type==K.node.type);X=X.parent)Q.push(X);for(let X=Q.length-1;X>=0;X--)K={node:Q[X],next:K}}return v1(K,Z,J)}function v1(Z,$,J){for(let K=Z;K;K=K.next){let U=bK(K.node);if(U)return U(dZ.create($,J,K))}return 0}function SK(Z){return Z.pos==Z.options.simulateBreak&&Z.options.simulateDoubleBreak}function bK(Z){let $=Z.type.prop(lZ);if($)return $;let J=Z.firstChild,K;if(J&&(K=J.type.prop(S.closedBy))){let U=Z.lastChild,Q=U&&K.indexOf(U.name)>-1;return(X)=>u1(X,!0,1,void 0,Q&&!SK(X)?U.from:void 0)}return Z.parent==null?kK:null}function kK(){return 0}class dZ extends pZ{constructor(Z,$,J){super(Z.state,Z.options);this.base=Z,this.pos=$,this.context=J}get node(){return this.context.node}static create(Z,$,J){return new dZ(Z,$,J)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(Z){let $=this.state.doc.lineAt(Z.from);for(;;){let J=Z.resolve($.from);while(J.parent&&J.parent.from==J.from)J=J.parent;if(xK(J,Z))break;$=this.state.doc.lineAt(J.from)}return this.lineIndent($.from)}continue(){return v1(this.context.next,this.base,this.pos)}}function xK(Z,$){for(let J=$;J;J=J.parent)if(Z==J)return!0;return!1}function wK(Z){let $=Z.node,J=$.childAfter($.from),K=$.lastChild;if(!J)return null;let U=Z.options.simulateBreak,Q=Z.state.doc.lineAt(J.from),X=U==null||U<=Q.from?Q.to:Math.min(Q.to,U);for(let Y=J.to;;){let q=$.childAfter(Y);if(!q||q==K)return null;if(!q.type.isSkipped){if(q.from>=X)return null;let G=/^ */.exec(Q.text.slice(J.to-Q.from))[0].length;return{from:J.from,to:J.to+G}}Y=q.to}}function m1({closing:Z,align:$=!0,units:J=1}){return(K)=>u1(K,$,J,Z)}function u1(Z,$,J,K,U){let Q=Z.textAfter,X=Q.match(/^\s*/)[0].length,Y=K&&Q.slice(X,X+K.length)==K||U==Z.pos+X,q=$?wK(Z):null;if(q)return Y?Z.column(q.from):Z.column(q.to);return Z.baseIndent+(Y?0:Z.unit*J)}var g1=(Z)=>Z.baseIndent;function i5({except:Z,units:$=1}={}){return(J)=>{let K=Z&&Z.test(J.textAfter);return J.baseIndent+(K?0:$*J.unit)}}var hK=200;function CX(){return u.transactionFilter.of((Z)=>{if(!Z.docChanged||!Z.isUserEvent("input.type")&&!Z.isUserEvent("input.complete"))return Z;let $=Z.startState.languageDataAt("indentOnInput",Z.startState.selection.main.head);if(!$.length)return Z;let J=Z.newDoc,{head:K}=Z.newSelection.main,U=J.lineAt(K);if(K>U.from+hK)return Z;let Q=J.sliceString(U.from,K);if(!$.some((G)=>G.test(Q)))return Z;let{state:X}=Z,Y=-1,q=[];for(let{head:G}of X.selection.ranges){let W=X.doc.lineAt(G);if(W.from==Y)continue;Y=W.from;let z=TK(X,W.from);if(z==null)continue;let j=/^\s*/.exec(W.text)[0],_=CK(X,z);if(j!=_)q.push({from:W.from,to:W.from+j.length,insert:_})}return q.length?[Z,{changes:q,sequential:!0}]:Z})}var vK=E.define(),cZ=new S;function f1(Z){let{firstChild:$,lastChild:J}=Z;return $&&$.to<J.from?{from:$.to,to:J.type.isError?Z.to:J.from}:null}function mK(Z,$,J){let K=J3(Z);if(K.length<J)return null;let U=K.resolveStack(J,1),Q=null;for(let X=U;X;X=X.next){let Y=X.node;if(Y.to<=J||Y.from>J)continue;if(Q&&Y.from<$)break;let q=Y.type.prop(cZ);if(q&&(Y.to<K.length-50||K.length==Z.doc.length||!uK(Y))){let G=q(Y,Z);if(G&&G.from<=J&&G.from>=$&&G.to>J)Q=G}}return Q}function uK(Z){let $=Z.lastChild;return $&&$.to==Z.to&&$.type.isError}function d5(Z,$,J){for(let K of Z.facet(vK)){let U=K(Z,$,J);if(U)return U}return mK(Z,$,J)}function p1(Z,$){let J=$.mapPos(Z.from,1),K=$.mapPos(Z.to,-1);return J>=K?void 0:{from:J,to:K}}var r5=x.define({map:p1}),x0=x.define({map:p1});function l1(Z){let $=[];for(let{head:J}of Z.state.selection.ranges){if($.some((K)=>K.from<=J&&K.to>=J))continue;$.push(Z.lineBlockAt(J))}return $}var C9=Q3.define({create(){return w.none},update(Z,$){if($.isUserEvent("delete"))$.changes.iterChangedRanges((K,U)=>Z=C1(Z,K,U));Z=Z.map($.changes);let J=[];for(let K of $.effects)if(K.is(r5)&&!gK(Z,K.value.from,K.value.to))J.push(K.value);else if(K.is(x0))Z=Z.update({filter:(U,Q)=>K.value.from!=U||K.value.to!=Q,filterFrom:K.value.from,filterTo:K.value.to});if(J.length){let{preparePlaceholder:K}=$.state.facet(sZ),U=J.map((Q)=>{return(!K?T1:w.replace({widget:new i1(K($.state,Q))})).range(Q.from,Q.to)});Z=Z.update({add:U})}if($.selection)Z=C1(Z,$.selection.main.head);return Z},provide:(Z)=>T.decorations.from(Z),toJSON(Z,$){let J=[];return Z.between(0,$.doc.length,(K,U)=>{J.push(K,U)}),J},fromJSON(Z){if(!Array.isArray(Z)||Z.length%2)throw RangeError("Invalid JSON for fold state");let $=[];for(let J=0;J<Z.length;){let K=Z[J++],U=Z[J++];if(typeof K!="number"||typeof U!="number")throw RangeError("Invalid JSON for fold state");$.push(T1.range(K,U))}return w.set($,!0)}});function C1(Z,$,J=$){let K=!1;return Z.between($,J,(U,Q)=>{if(U<J&&Q>$)K=!0}),!K?Z:Z.update({filterFrom:$,filterTo:J,filter:(U,Q)=>U>=J||Q<=$})}function c5(Z,$,J){var K;let U=null;return(K=Z.field(C9,!1))===null||K===void 0||K.between($,J,(Q,X)=>{if(!U||U.from>Q)U={from:Q,to:X}}),U}function gK(Z,$,J){let K=!1;return Z.between($,$,(U,Q)=>{if(U==$&&Q==J)K=!0}),K}function d1(Z,$){return Z.field(C9,!1)?$:$.concat(x.appendConfig.of(s1()))}var fK=(Z)=>{for(let $ of l1(Z)){let J=d5(Z.state,$.from,$.to);if(J)return Z.dispatch({effects:d1(Z.state,[r5.of(J),c1(Z,J)])}),!0}return!1},pK=(Z)=>{if(!Z.state.field(C9,!1))return!1;let $=[];for(let J of l1(Z)){let K=c5(Z.state,J.from,J.to);if(K)$.push(x0.of(K),c1(Z,K,!1))}if($.length)Z.dispatch({effects:$});return $.length>0};function c1(Z,$,J=!0){let K=Z.state.doc.lineAt($.from).number,U=Z.state.doc.lineAt($.to).number;return T.announce.of(`${Z.state.phrase(J?"Folded lines":"Unfolded lines")} ${K} ${Z.state.phrase("to")} ${U}.`)}var lK=(Z)=>{let{state:$}=Z,J=[];for(let K=0;K<$.doc.length;){let U=Z.lineBlockAt(K),Q=d5($,U.from,U.to);if(Q)J.push(r5.of(Q));K=(Q?Z.lineBlockAt(Q.to):U).to+1}if(J.length)Z.dispatch({effects:d1(Z.state,J)});return!!J.length},dK=(Z)=>{let $=Z.state.field(C9,!1);if(!$||!$.size)return!1;let J=[];return $.between(0,Z.state.doc.length,(K,U)=>{J.push(x0.of({from:K,to:U}))}),Z.dispatch({effects:J}),!0};var TX=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:fK},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:pK},{key:"Ctrl-Alt-[",run:lK},{key:"Ctrl-Alt-]",run:dK}],cK={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},sZ=E.define({combine(Z){return J9(Z,cK)}});function s1(Z){let $=[C9,nK];if(Z)$.push(sZ.of(Z));return $}function n1(Z,$){let{state:J}=Z,K=J.facet(sZ),U=(X)=>{let Y=Z.lineBlockAt(Z.posAtDOM(X.target)),q=c5(Z.state,Y.from,Y.to);if(q)Z.dispatch({effects:x0.of(q)});X.preventDefault()};if(K.placeholderDOM)return K.placeholderDOM(Z,U,$);let Q=document.createElement("span");return Q.textContent=K.placeholderText,Q.setAttribute("aria-label",J.phrase("folded code")),Q.title=J.phrase("unfold"),Q.className="cm-foldPlaceholder",Q.onclick=U,Q}var T1=w.replace({widget:new class extends T3{toDOM(Z){return n1(Z,null)}}});class i1 extends T3{constructor(Z){super();this.value=Z}eq(Z){return this.value==Z.value}toDOM(Z){return n1(Z,this.value)}}var sK={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class p5 extends f3{constructor(Z,$){super();this.config=Z,this.open=$}eq(Z){return this.config==Z.config&&this.open==Z.open}toDOM(Z){if(this.config.markerDOM)return this.config.markerDOM(this.open);let $=document.createElement("span");return $.textContent=this.open?this.config.openText:this.config.closedText,$.title=Z.state.phrase(this.open?"Fold line":"Unfold line"),$}}function yX(Z={}){let $={...sK,...Z},J=new p5($,!0),K=new p5($,!1),U=t.fromClass(class{constructor(X){this.from=X.viewport.from,this.markers=this.buildMarkers(X)}update(X){if(X.docChanged||X.viewportChanged||X.startState.facet(H9)!=X.state.facet(H9)||X.startState.field(C9,!1)!=X.state.field(C9,!1)||J3(X.startState)!=J3(X.state)||$.foldingChanged(X))this.markers=this.buildMarkers(X.view)}buildMarkers(X){let Y=new $9;for(let q of X.viewportLineBlocks){let G=c5(X.state,q.from,q.to)?K:d5(X.state,q.from,q.to)?J:null;if(G)Y.add(q.from,q.from,G)}return Y.finish()}}),{domEventHandlers:Q}=$;return[U,J1({class:"cm-foldGutter",markers(X){var Y;return((Y=X.plugin(U))===null||Y===void 0?void 0:Y.markers)||k.empty},initialSpacer(){return new p5($,!1)},domEventHandlers:{...Q,click:(X,Y,q)=>{if(Q.click&&Q.click(X,Y,q))return!0;let G=c5(X.state,Y.from,Y.to);if(G)return X.dispatch({effects:x0.of(G)}),!0;let W=d5(X.state,Y.from,Y.to);if(W)return X.dispatch({effects:r5.of(W)}),!0;return!1}}}),s1()]}var nK=T.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 a5{constructor(Z,$){this.specs=Z;let J;function K(X){let Y=w3.newName();return(J||(J=Object.create(null)))["."+Y]=X,Y}let U=typeof $.all=="string"?$.all:$.all?K($.all):void 0,Q=$.scope;this.scope=Q instanceof S3?(X)=>X.prop(o9)==Q.data:Q?(X)=>X==Q:void 0,this.style=bZ(Z.map((X)=>({tag:X.tag,class:X.class||K(Object.assign({},X,{tag:null}))})),{all:U}).style,this.module=J?new w3(J):null,this.themeType=$.themeType}static define(Z,$){return new a5(Z,$||{})}}var vZ=E.define(),r1=E.define({combine(Z){return Z.length?[Z[0]]:null}});function wZ(Z){let $=Z.facet(vZ);return $.length?$:Z.facet(r1)}function SX(Z,$){let J=[iK],K;if(Z instanceof a5){if(Z.module)J.push(T.styleModule.of(Z.module));K=Z.themeType}if($===null||$===void 0?void 0:$.fallback)J.push(r1.of(Z));else if(K)J.push(vZ.computeN([T.darkTheme],(U)=>{return U.facet(T.darkTheme)==(K=="dark")?[Z]:[]}));else J.push(vZ.of(Z));return J}class a1{constructor(Z){this.markCache=Object.create(null),this.tree=J3(Z.state),this.decorations=this.buildDeco(Z,wZ(Z.state)),this.decoratedTo=Z.viewport.to}update(Z){let $=J3(Z.state),J=wZ(Z.state),K=J!=wZ(Z.startState),{viewport:U}=Z.view,Q=Z.changes.mapPos(this.decoratedTo,1);if($.length<U.to&&!K&&$.type==this.tree.type&&Q>=U.to)this.decorations=this.decorations.map(Z.changes),this.decoratedTo=Q;else if($!=this.tree||Z.viewportChanged||K)this.tree=$,this.decorations=this.buildDeco(Z.view,J),this.decoratedTo=U.to}buildDeco(Z,$){if(!$||!this.tree.length)return w.none;let J=new $9;for(let{from:K,to:U}of Z.visibleRanges)B1(this.tree,$,(Q,X,Y)=>{J.add(Q,X,this.markCache[Y]||(this.markCache[Y]=w.mark({class:Y})))},K,U);return J.finish()}}var iK=c3.high(t.fromClass(a1,{decorations:(Z)=>Z.decorations})),bX=a5.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"}]),rK=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),o1=1e4,t1="()[]{}",e1=E.define({combine(Z){return J9(Z,{afterCursor:!0,brackets:t1,maxScanDistance:o1,renderMatch:tK})}}),aK=w.mark({class:"cm-matchingBracket"}),oK=w.mark({class:"cm-nonmatchingBracket"});function tK(Z){let $=[],J=Z.matched?aK:oK;if($.push(J.range(Z.start.from,Z.start.to)),Z.end)$.push(J.range(Z.end.from,Z.end.to));return $}function y1(Z){let $=[],J=Z.facet(e1);for(let K of Z.selection.ranges){if(!K.empty)continue;let U=f5(Z,K.head,-1,J)||K.head>0&&f5(Z,K.head-1,1,J)||J.afterCursor&&(f5(Z,K.head,1,J)||K.head<Z.doc.length&&f5(Z,K.head+1,-1,J));if(U)$=$.concat(J.renderMatch(U,Z))}return w.set($,!0)}var eK=t.fromClass(class{constructor(Z){this.paused=!1,this.decorations=y1(Z.state)}update(Z){if(Z.docChanged||Z.selectionSet||this.paused)if(Z.view.composing)this.decorations=this.decorations.map(Z.changes),this.paused=!0;else this.decorations=y1(Z.state),this.paused=!1}},{decorations:(Z)=>Z.decorations}),ZU=[eK,rK];function kX(Z={}){return[e1.of(Z),ZU]}var $U=new S;function mZ(Z,$,J){let K=Z.prop($<0?S.openedBy:S.closedBy);if(K)return K;if(Z.name.length==1){let U=J.indexOf(Z.name);if(U>-1&&U%2==($<0?1:0))return[J[U+$]]}return null}function uZ(Z){let $=Z.type.prop($U);return $?$(Z.node):Z}function f5(Z,$,J,K={}){let U=K.maxScanDistance||o1,Q=K.brackets||t1,X=J3(Z),Y=X.resolveInner($,J);for(let q=Y;q;q=q.parent){let G=mZ(q.type,J,Q);if(G&&q.from<q.to){let W=uZ(q);if(W&&(J>0?$>=W.from&&$<W.to:$>W.from&&$<=W.to))return JU(Z,$,J,q,W,G,Q)}}return KU(Z,$,J,X,Y.type,U,Q)}function JU(Z,$,J,K,U,Q,X){let Y=K.parent,q={from:U.from,to:U.to},G=0,W=Y===null||Y===void 0?void 0:Y.cursor();if(W&&(J<0?W.childBefore(K.from):W.childAfter(K.to)))do if(J<0?W.to<=K.from:W.from>=K.to){if(G==0&&Q.indexOf(W.type.name)>-1&&W.from<W.to){let z=uZ(W);return{start:q,end:z?{from:z.from,to:z.to}:void 0,matched:!0}}else if(mZ(W.type,J,X))G++;else if(mZ(W.type,-J,X)){if(G==0){let z=uZ(W);return{start:q,end:z&&z.from<z.to?{from:z.from,to:z.to}:void 0,matched:!1}}G--}}while(J<0?W.prevSibling():W.nextSibling());return{start:q,matched:!1}}function KU(Z,$,J,K,U,Q,X){if(J<0?!$:$==Z.doc.length)return null;let Y=J<0?Z.sliceDoc($-1,$):Z.sliceDoc($,$+1),q=X.indexOf(Y);if(q<0||q%2==0!=J>0)return null;let G={from:J<0?$-1:$,to:J>0?$+1:$},W=Z.doc.iterRange($,J>0?Z.doc.length:0),z=0;for(let j=0;!W.next().done&&j<=Q;){let _=W.value;if(J<0)j+=_.length;let O=$+j*J;for(let V=J>0?0:_.length-1,H=J>0?_.length:-1;V!=H;V+=J){let F=X.indexOf(_[V]);if(F<0||K.resolveInner(O+V,1).type!=U)continue;if(F%2==0==J>0)z++;else if(z==1)return{start:G,end:{from:O+V,to:O+V+1},matched:F>>1==q>>1};else z--}if(J>0)j+=_.length}return W.done?{start:G,matched:!1}:null}var UU=Object.create(null),S1=[q3.none];var b1=[],k1=Object.create(null),QU=Object.create(null);for(let[Z,$]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"]])QU[Z]=XU(UU,$);function hZ(Z,$){if(b1.indexOf(Z)>-1)return;b1.push(Z),console.warn($)}function XU(Z,$){let J=[];for(let Y of $.split(" ")){let q=[];for(let G of Y.split(".")){let W=Z[G]||N[G];if(!W)hZ(G,`Unknown highlighting tag ${G}`);else if(typeof W=="function")if(!q.length)hZ(G,`Modifier ${G} used at start of tag`);else q=q.map(W);else if(q.length)hZ(G,`Tag ${G} used as modifier`);else q=Array.isArray(W)?W:[W]}for(let G of q)J.push(G)}if(!J.length)return 0;let K=$.replace(/ /g,"_"),U=K+" "+J.map((Y)=>Y.id),Q=k1[U];if(Q)return Q.id;let X=k1[U]=q3.define({id:S1.length,name:K,props:[g5({[K]:J})]});return S1.push(X),X.id}var xX={rtl:w.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:l.RTL}),ltr:w.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:l.LTR}),auto:w.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};class oZ{constructor(Z,$,J,K){this.state=Z,this.pos=$,this.explicit=J,this.view=K,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(Z){let $=J3(this.state).resolveInner(this.pos,-1);while($&&Z.indexOf($.name)<0)$=$.parent;return $?{from:$.from,to:this.pos,text:this.state.sliceDoc($.from,this.pos),type:$.type}:null}matchBefore(Z){let $=this.state.doc.lineAt(this.pos),J=Math.max($.from,this.pos-250),K=$.text.slice(J-$.from,this.pos-$.from),U=K.search(G$(Z,!1));return U<0?null:{from:J+U,to:this.pos,text:K.slice(U)}}get aborted(){return this.abortListeners==null}addEventListener(Z,$,J){if(Z=="abort"&&this.abortListeners){if(this.abortListeners.push($),J&&J.onDocChange)this.abortOnDocChange=!0}}}function Z$(Z){let $=Object.keys(Z).join(""),J=/\w/.test($);if(J)$=$.replace(/\w/g,"");return`[${J?"\\w":""}${$.replace(/[^\w\s]/g,"\\$&")}]`}function YU(Z){let $=Object.create(null),J=Object.create(null);for(let{label:U}of Z){$[U[0]]=!0;for(let Q=1;Q<U.length;Q++)J[U[Q]]=!0}let K=Z$($)+Z$(J)+"*$";return[new RegExp("^"+K),new RegExp(K)]}function tZ(Z){let $=Z.map((U)=>typeof U=="string"?{label:U}:U),[J,K]=$.every((U)=>/^\w+$/.test(U.label))?[/\w*$/,/\w+$/]:YU($);return(U)=>{let Q=U.matchBefore(K);return Q||U.explicit?{from:Q?Q.from:U.pos,options:$,validFor:J}:null}}function q$(Z,$){return(J)=>{for(let K=J3(J.state).resolveInner(J.pos,-1);K;K=K.parent){if(Z.indexOf(K.name)>-1)return null;if(K.type.isTop)break}return $(J)}}class aZ{constructor(Z,$,J,K){this.completion=Z,this.source=$,this.match=J,this.score=K}}function y9(Z){return Z.selection.main.from}function G$(Z,$){var J;let{source:K}=Z,U=$&&K[0]!="^",Q=K[K.length-1]!="$";if(!U&&!Q)return Z;return new RegExp(`${U?"^":""}(?:${K})${Q?"$":""}`,(J=Z.flags)!==null&&J!==void 0?J:Z.ignoreCase?"i":"")}var eZ=s3.define();function qU(Z,$,J,K){let{main:U}=Z.selection,Q=J-U.from,X=K-U.from;return{...Z.changeByRange((Y)=>{if(Y!=U&&J!=K&&Z.sliceDoc(Y.from+Q,Y.from+X)!=Z.sliceDoc(J,K))return{range:Y};let q=Z.toText($);return{changes:{from:Y.from+Q,to:K==U.from?Y.to:Y.from+X,insert:q},range:L.cursor(Y.from+Q+q.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var $$=new WeakMap;function GU(Z){if(!Array.isArray(Z))return Z;let $=$$.get(Z);if(!$)$$.set(Z,$=tZ(Z));return $}var t5=x.define(),w0=x.define();class W${constructor(Z){this.pattern=Z,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let $=0;$<Z.length;){let J=_3(Z,$),K=x3(J);this.chars.push(J);let U=Z.slice($,$+K),Q=U.toUpperCase();this.folded.push(_3(Q==U?U.toLowerCase():Q,0)),$+=K}this.astral=Z.length!=this.chars.length}ret(Z,$){return this.score=Z,this.matched=$,this}match(Z){if(this.pattern.length==0)return this.ret(-100,[]);if(Z.length<this.pattern.length)return null;let{chars:$,folded:J,any:K,precise:U,byWord:Q}=this;if($.length==1){let F=_3(Z,0),D=x3(F),B=D==Z.length?0:-100;if(F==$[0]);else if(F==J[0])B+=-200;else return null;return this.ret(B,[0,D])}let X=Z.indexOf(this.pattern);if(X==0)return this.ret(Z.length==this.pattern.length?0:-100,[0,this.pattern.length]);let Y=$.length,q=0;if(X<0){for(let F=0,D=Math.min(Z.length,200);F<D&&q<Y;){let B=_3(Z,F);if(B==$[q]||B==J[q])K[q++]=F;F+=x3(B)}if(q<Y)return null}let G=0,W=0,z=!1,j=0,_=-1,O=-1,V=/[a-z]/.test(Z),H=!0;for(let F=0,D=Math.min(Z.length,200),B=0;F<D&&W<Y;){let P=_3(Z,F);if(X<0){if(G<Y&&P==$[G])U[G++]=F;if(j<Y)if(P==$[j]||P==J[j]){if(j==0)_=F;O=F+1,j++}else j=0}let R,C=P<255?P>=48&&P<=57||P>=97&&P<=122?2:P>=65&&P<=90?1:0:(R=N7(P))!=R.toLowerCase()?1:R!=R.toUpperCase()?2:0;if(!F||C==1&&V||B==0&&C!=0){if($[W]==P||J[W]==P&&(z=!0))Q[W++]=F;else if(Q.length)H=!1}B=C,F+=x3(P)}if(W==Y&&Q[0]==0&&H)return this.result(-100+(z?-200:0),Q,Z);if(j==Y&&_==0)return this.ret(-200-Z.length+(O==Z.length?0:-100),[0,O]);if(X>-1)return this.ret(-700-Z.length,[X,X+this.pattern.length]);if(j==Y)return this.ret(-900-Z.length,[_,O]);if(W==Y)return this.result(-100+(z?-200:0)+-700+(H?0:-1100),Q,Z);return $.length==2?null:this.result((K[0]?-700:0)+-200+-1100,K,Z)}result(Z,$,J){let K=[],U=0;for(let Q of $){let X=Q+(this.astral?x3(_3(J,Q)):1);if(U&&K[U-1]==Q)K[U-1]=X;else K[U++]=Q,K[U++]=X}return this.ret(Z-J.length,K)}}class z${constructor(Z){this.pattern=Z,this.matched=[],this.score=0,this.folded=Z.toLowerCase()}match(Z){if(Z.length<this.pattern.length)return null;let $=Z.slice(0,this.pattern.length),J=$==this.pattern?0:$.toLowerCase()==this.folded?-200:null;if(J==null)return null;return this.matched=[0,$.length],this.score=J+(Z.length==this.pattern.length?0:-100),this}}var K3=E.define({combine(Z){return J9(Z,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:WU,filterStrict:!1,compareCompletions:($,J)=>($.sortText||$.label).localeCompare(J.sortText||J.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:($,J)=>$&&J,closeOnBlur:($,J)=>$&&J,icons:($,J)=>$&&J,tooltipClass:($,J)=>(K)=>J$($(K),J(K)),optionClass:($,J)=>(K)=>J$($(K),J(K)),addToOptions:($,J)=>$.concat(J),filterStrict:($,J)=>$||J})}});function J$(Z,$){return Z?$?Z+" "+$:Z:$}function WU(Z,$,J,K,U,Q){let X=Z.textDirection==l.RTL,Y=X,q=!1,G="top",W,z,j=$.left-U.left,_=U.right-$.right,O=K.right-K.left,V=K.bottom-K.top;if(Y&&j<Math.min(O,_))Y=!1;else if(!Y&&_<Math.min(O,j))Y=!0;if(O<=(Y?j:_))W=Math.max(U.top,Math.min(J.top,U.bottom-V))-$.top,z=Math.min(400,Y?j:_);else{q=!0,z=Math.min(400,(X?$.right:U.right-$.left)-30);let D=U.bottom-$.bottom;if(D>=V||D>$.top)W=J.bottom-$.top;else G="bottom",W=$.bottom-J.top}let H=($.bottom-$.top)/Q.offsetHeight,F=($.right-$.left)/Q.offsetWidth;return{style:`${G}: ${W/H}px; max-width: ${z/F}px`,class:"cm-completionInfo-"+(q?X?"left-narrow":"right-narrow":Y?"left":"right")}}var Z4=x.define();function zU(Z){let $=Z.addToOptions.slice();if(Z.icons)$.push({render(J){let K=document.createElement("div");if(K.classList.add("cm-completionIcon"),J.type)K.classList.add(...J.type.split(/\s+/g).map((U)=>"cm-completionIcon-"+U));return K.setAttribute("aria-hidden","true"),K},position:20});return $.push({render(J,K,U,Q){let X=document.createElement("span");X.className="cm-completionLabel";let Y=J.displayLabel||J.label,q=0;for(let G=0;G<Q.length;){let W=Q[G++],z=Q[G++];if(W>q)X.appendChild(document.createTextNode(Y.slice(q,W)));let j=X.appendChild(document.createElement("span"));j.appendChild(document.createTextNode(Y.slice(W,z))),j.className="cm-completionMatchedText",q=z}if(q<Y.length)X.appendChild(document.createTextNode(Y.slice(q)));return X},position:50},{render(J){if(!J.detail)return null;let K=document.createElement("span");return K.className="cm-completionDetail",K.textContent=J.detail,K},position:80}),$.sort((J,K)=>J.position-K.position).map((J)=>J.render)}function nZ(Z,$,J){if(Z<=J)return{from:0,to:Z};if($<0)$=0;if($<=Z>>1){let U=Math.floor($/J);return{from:U*J,to:(U+1)*J}}let K=Math.ceil((Z-$)/J);return{from:Z-K*J,to:Z-(K-1)*J}}class j${constructor(Z,$,J){this.view=Z,this.stateField=$,this.applyCompletion=J,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:(Y)=>this.placeInfo(Y),key:this},this.space=null,this.currentClass="";let K=Z.state.field($),{options:U,selected:Q}=K.open,X=Z.state.facet(K3);this.optionContent=zU(X),this.optionClass=X.optionClass,this.tooltipClass=X.tooltipClass,this.range=nZ(U.length,Q,X.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(Z.state),this.dom.addEventListener("mousedown",(Y)=>{let{options:q}=Z.state.field($).open;for(let G=Y.target,W;G&&G!=this.dom;G=G.parentNode)if(G.nodeName=="LI"&&(W=/-(\d+)$/.exec(G.id))&&+W[1]<q.length){this.applyCompletion(Z,q[+W[1]]),Y.preventDefault();return}if(Y.target==this.list){let G=this.list.classList.contains("cm-completionListIncompleteTop")&&Y.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&Y.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;if(G!=null)Z.dispatch({effects:Z4.of(G)}),Y.preventDefault()}}),this.dom.addEventListener("focusout",(Y)=>{let q=Z.state.field(this.stateField,!1);if(q&&q.tooltip&&Z.state.facet(K3).closeOnBlur&&Y.relatedTarget!=Z.contentDOM)Z.dispatch({effects:w0.of(null)})}),this.showOptions(U,K.id)}mount(){this.updateSel()}showOptions(Z,$){if(this.list)this.list.remove();this.list=this.dom.appendChild(this.createListBox(Z,$,this.range)),this.list.addEventListener("scroll",()=>{if(this.info)this.view.requestMeasure(this.placeInfoReq)})}update(Z){var $;let J=Z.state.field(this.stateField),K=Z.startState.field(this.stateField);if(this.updateTooltipClass(Z.state),J!=K){let{options:U,selected:Q,disabled:X}=J.open;if(!K.open||K.open.options!=U)this.range=nZ(U.length,Q,Z.state.facet(K3).maxRenderedOptions),this.showOptions(U,J.id);if(this.updateSel(),X!=(($=K.open)===null||$===void 0?void 0:$.disabled))this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!X)}}updateTooltipClass(Z){let $=this.tooltipClass(Z);if($!=this.currentClass){for(let J of this.currentClass.split(" "))if(J)this.dom.classList.remove(J);for(let J of $.split(" "))if(J)this.dom.classList.add(J);this.currentClass=$}}positioned(Z){if(this.space=Z,this.info)this.view.requestMeasure(this.placeInfoReq)}updateSel(){let Z=this.view.state.field(this.stateField),$=Z.open;if($.selected>-1&&$.selected<this.range.from||$.selected>=this.range.to)this.range=nZ($.options.length,$.selected,this.view.state.facet(K3).maxRenderedOptions),this.showOptions($.options,Z.id);let J=this.updateSelectedOption($.selected);if(J){this.destroyInfo();let{completion:K}=$.options[$.selected],{info:U}=K;if(!U)return;let Q=typeof U==="string"?document.createTextNode(U):U(K);if(!Q)return;if("then"in Q)Q.then((X)=>{if(X&&this.view.state.field(this.stateField,!1)==Z)this.addInfoPane(X,K)}).catch((X)=>W3(this.view.state,X,"completion info"));else this.addInfoPane(Q,K),J.setAttribute("aria-describedby",this.info.id)}}addInfoPane(Z,$){this.destroyInfo();let J=this.info=document.createElement("div");if(J.className="cm-tooltip cm-completionInfo",J.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),Z.nodeType!=null)J.appendChild(Z),this.infoDestroy=null;else{let{dom:K,destroy:U}=Z;J.appendChild(K),this.infoDestroy=U||null}this.dom.appendChild(J),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(Z){let $=null;for(let J=this.list.firstChild,K=this.range.from;J;J=J.nextSibling,K++)if(J.nodeName!="LI"||!J.id)K--;else if(K==Z){if(!J.hasAttribute("aria-selected"))J.setAttribute("aria-selected","true"),$=J}else if(J.hasAttribute("aria-selected"))J.removeAttribute("aria-selected"),J.removeAttribute("aria-describedby");if($)_U(this.list,$);return $}measureInfo(){let Z=this.dom.querySelector("[aria-selected]");if(!Z||!this.info)return null;let $=this.dom.getBoundingClientRect(),J=this.info.getBoundingClientRect(),K=Z.getBoundingClientRect(),U=this.space;if(!U){let Q=this.dom.ownerDocument.documentElement;U={left:0,top:0,right:Q.clientWidth,bottom:Q.clientHeight}}if(K.top>Math.min(U.bottom,$.bottom)-10||K.bottom<Math.max(U.top,$.top)+10)return null;return this.view.state.facet(K3).positionInfo(this.view,$,K,J,U,this.dom)}placeInfo(Z){if(this.info)if(Z){if(Z.style)this.info.style.cssText=Z.style;this.info.className="cm-tooltip cm-completionInfo "+(Z.class||"")}else this.info.style.cssText="top: -1e6px"}createListBox(Z,$,J){let K=document.createElement("ul");K.id=$,K.setAttribute("role","listbox"),K.setAttribute("aria-expanded","true"),K.setAttribute("aria-label",this.view.state.phrase("Completions")),K.addEventListener("mousedown",(Q)=>{if(Q.target==K)Q.preventDefault()});let U=null;for(let Q=J.from;Q<J.to;Q++){let{completion:X,match:Y}=Z[Q],{section:q}=X;if(q){let z=typeof q=="string"?q:q.name;if(z!=U&&(Q>J.from||J.from==0))if(U=z,typeof q!="string"&&q.header)K.appendChild(q.header(q));else{let j=K.appendChild(document.createElement("completion-section"));j.textContent=z}}let G=K.appendChild(document.createElement("li"));G.id=$+"-"+Q,G.setAttribute("role","option");let W=this.optionClass(X);if(W)G.className=W;for(let z of this.optionContent){let j=z(X,this.view.state,this.view,Y);if(j)G.appendChild(j)}}if(J.from)K.classList.add("cm-completionListIncompleteTop");if(J.to<Z.length)K.classList.add("cm-completionListIncompleteBottom");return K}destroyInfo(){if(this.info){if(this.infoDestroy)this.infoDestroy();this.info.remove(),this.info=null}}destroy(){this.destroyInfo()}}function jU(Z,$){return(J)=>new j$(J,Z,$)}function _U(Z,$){let J=Z.getBoundingClientRect(),K=$.getBoundingClientRect(),U=J.height/Z.offsetHeight;if(K.top<J.top)Z.scrollTop-=(J.top-K.top)/U;else if(K.bottom>J.bottom)Z.scrollTop+=(K.bottom-J.bottom)/U}function K$(Z){return(Z.boost||0)*100+(Z.apply?10:0)+(Z.info?5:0)+(Z.type?1:0)}function OU(Z,$){let J=[],K=null,U=null,Q=(W)=>{J.push(W);let{section:z}=W.completion;if(z){if(!K)K=[];let j=typeof z=="string"?z:z.name;if(!K.some((_)=>_.name==j))K.push(typeof z=="string"?{name:j}:z)}},X=$.facet(K3);for(let W of Z)if(W.hasResult()){let z=W.result.getMatch;if(W.result.filter===!1)for(let j of W.result.options)Q(new aZ(j,W.source,z?z(j):[],1e9-J.length));else{let j=$.sliceDoc(W.from,W.to),_,O=X.filterStrict?new z$(j):new W$(j);for(let V of W.result.options)if(_=O.match(V.label)){let H=!V.displayLabel?_.matched:z?z(V,_.matched):[],F=_.score+(V.boost||0);if(Q(new aZ(V,W.source,H,F)),typeof V.section=="object"&&V.section.rank==="dynamic"){let{name:D}=V.section;if(!U)U=Object.create(null);U[D]=Math.max(F,U[D]||-1e9)}}}}if(K){let W=Object.create(null),z=0,j=(_,O)=>{return(_.rank==="dynamic"&&O.rank==="dynamic"?U[O.name]-U[_.name]:0)||(typeof _.rank=="number"?_.rank:1e9)-(typeof O.rank=="number"?O.rank:1e9)||(_.name<O.name?-1:1)};for(let _ of K.sort(j))z-=1e5,W[_.name]=z;for(let _ of J){let{section:O}=_.completion;if(O)_.score+=W[typeof O=="string"?O:O.name]}}let Y=[],q=null,G=X.compareCompletions;for(let W of J.sort((z,j)=>j.score-z.score||G(z.completion,j.completion))){let z=W.completion;if(!q||q.label!=z.label||q.detail!=z.detail||q.type!=null&&z.type!=null&&q.type!=z.type||q.apply!=z.apply||q.boost!=z.boost)Y.push(W);else if(K$(W.completion)>K$(q))Y[Y.length-1]=W;q=W.completion}return Y}class e9{constructor(Z,$,J,K,U,Q){this.options=Z,this.attrs=$,this.tooltip=J,this.timestamp=K,this.selected=U,this.disabled=Q}setSelected(Z,$){return Z==this.selected||Z>=this.options.length?this:new e9(this.options,U$($,Z),this.tooltip,this.timestamp,Z,this.disabled)}static build(Z,$,J,K,U,Q){if(K&&!Q&&Z.some((q)=>q.isPending))return K.setDisabled();let X=OU(Z,$);if(!X.length)return K&&Z.some((q)=>q.isPending)?K.setDisabled():null;let Y=$.facet(K3).selectOnOpen?0:-1;if(K&&K.selected!=Y&&K.selected!=-1){let q=K.options[K.selected].completion;for(let G=0;G<X.length;G++)if(X[G].completion==q){Y=G;break}}return new e9(X,U$(J,Y),{pos:Z.reduce((q,G)=>G.hasResult()?Math.min(q,G.from):q,1e8),create:LU,above:U.aboveCursor},K?K.timestamp:Date.now(),Y,!1)}map(Z){return new e9(this.options,this.attrs,{...this.tooltip,pos:Z.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new e9(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class e5{constructor(Z,$,J){this.active=Z,this.id=$,this.open=J}static start(){return new e5(FU,"cm-ac-"+Math.floor(Math.random()*2000000).toString(36),null)}update(Z){let{state:$}=Z,J=$.facet(K3),U=(J.override||$.languageDataAt("autocomplete",y9($)).map(GU)).map((Y)=>{return(this.active.find((G)=>G.source==Y)||new b3(Y,this.active.some((G)=>G.state!=0)?1:0)).update(Z,J)});if(U.length==this.active.length&&U.every((Y,q)=>Y==this.active[q]))U=this.active;let Q=this.open,X=Z.effects.some((Y)=>Y.is($4));if(Q&&Z.docChanged)Q=Q.map(Z.changes);if(Z.selection||U.some((Y)=>Y.hasResult()&&Z.changes.touchesRange(Y.from,Y.to))||!VU(U,this.active)||X)Q=e9.build(U,$,this.id,Q,J,X);else if(Q&&Q.disabled&&!U.some((Y)=>Y.isPending))Q=null;if(!Q&&U.every((Y)=>!Y.isPending)&&U.some((Y)=>Y.hasResult()))U=U.map((Y)=>Y.hasResult()?new b3(Y.source,0):Y);for(let Y of Z.effects)if(Y.is(Z4))Q=Q&&Q.setSelected(Y.value,this.id);return U==this.active&&Q==this.open?this:new e5(U,this.id,Q)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?HU:NU}}function VU(Z,$){if(Z==$)return!0;for(let J=0,K=0;;){while(J<Z.length&&!Z[J].hasResult())J++;while(K<$.length&&!$[K].hasResult())K++;let U=J==Z.length,Q=K==$.length;if(U||Q)return U==Q;if(Z[J++].result!=$[K++].result)return!1}}var HU={"aria-autocomplete":"list"},NU={};function U$(Z,$){let J={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":Z};if($>-1)J["aria-activedescendant"]=Z+"-"+$;return J}var FU=[];function _$(Z,$){if(Z.isUserEvent("input.complete")){let K=Z.annotation(eZ);if(K&&$.activateOnCompletion(K))return 12}let J=Z.isUserEvent("input.type");return J&&$.activateOnTyping?5:J?1:Z.isUserEvent("delete.backward")?2:Z.selection?8:Z.docChanged?16:0}class b3{constructor(Z,$,J=!1){this.source=Z,this.state=$,this.explicit=J}hasResult(){return!1}get isPending(){return this.state==1}update(Z,$){let J=_$(Z,$),K=this;if(J&8||J&16&&this.touches(Z))K=new b3(K.source,0);if(J&4&&K.state==0)K=new b3(this.source,1);K=K.updateFor(Z,J);for(let U of Z.effects)if(U.is(t5))K=new b3(K.source,1,U.value);else if(U.is(w0))K=new b3(K.source,0);else if(U.is($4)){for(let Q of U.value)if(Q.source==K.source)K=Q}return K}updateFor(Z,$){return this.map(Z.changes)}map(Z){return this}touches(Z){return Z.changes.touchesRange(y9(Z.state))}}class Z0 extends b3{constructor(Z,$,J,K,U,Q){super(Z,3,$);this.limit=J,this.result=K,this.from=U,this.to=Q}hasResult(){return!0}updateFor(Z,$){var J;if(!($&3))return this.map(Z.changes);let K=this.result;if(K.map&&!Z.changes.empty)K=K.map(K,Z.changes);let U=Z.changes.mapPos(this.from),Q=Z.changes.mapPos(this.to,1),X=y9(Z.state);if(X>Q||!K||$&2&&(y9(Z.startState)==this.from||X<this.limit))return new b3(this.source,$&4?1:0);let Y=Z.changes.mapPos(this.limit);if(DU(K.validFor,Z.state,U,Q))return new Z0(this.source,this.explicit,Y,K,U,Q);if(K.update&&(K=K.update(K,U,Q,new oZ(Z.state,X,!1))))return new Z0(this.source,this.explicit,Y,K,K.from,(J=K.to)!==null&&J!==void 0?J:y9(Z.state));return new b3(this.source,1,this.explicit)}map(Z){if(Z.empty)return this;let $=this.result.map?this.result.map(this.result,Z):this.result;if(!$)return new b3(this.source,0);return new Z0(this.source,this.explicit,Z.mapPos(this.limit),$,Z.mapPos(this.from),Z.mapPos(this.to,1))}touches(Z){return Z.changes.touchesRange(this.from,this.to)}}function DU(Z,$,J,K){if(!Z)return!1;let U=$.sliceDoc(J,K);return typeof Z=="function"?Z(U,J,K,$):G$(Z,!0).test(U)}var $4=x.define({map(Z,$){return Z.map((J)=>J.map($))}}),L3=Q3.define({create(){return e5.start()},update(Z,$){return Z.update($)},provide:(Z)=>[b5.from(Z,($)=>$.tooltip),T.contentAttributes.from(Z,($)=>$.attrs)]});function J4(Z,$){let J=$.completion.apply||$.completion.label,K=Z.state.field(L3).active.find((U)=>U.source==$.source);if(!(K instanceof Z0))return!1;if(typeof J=="string")Z.dispatch({...qU(Z.state,J,K.from,K.to),annotations:eZ.of($.completion)});else J(Z,$.completion,K.from,K.to);return!0}var LU=jU(L3,J4);function o5(Z,$="option"){return(J)=>{let K=J.state.field(L3,!1);if(!K||!K.open||K.open.disabled||Date.now()-K.open.timestamp<J.state.facet(K3).interactionDelay)return!1;let U=1,Q;if($=="page"&&(Q=DZ(J,K.open.tooltip)))U=Math.max(2,Math.floor(Q.dom.offsetHeight/Q.dom.querySelector("li").offsetHeight)-1);let{length:X}=K.open.options,Y=K.open.selected>-1?K.open.selected+U*(Z?1:-1):Z?0:X-1;if(Y<0)Y=$=="page"?0:X-1;else if(Y>=X)Y=$=="page"?X-1:0;return J.dispatch({effects:Z4.of(Y)}),!0}}var RU=(Z)=>{let $=Z.state.field(L3,!1);if(Z.state.readOnly||!$||!$.open||$.open.selected<0||$.open.disabled||Date.now()-$.open.timestamp<Z.state.facet(K3).interactionDelay)return!1;return J4(Z,$.open.options[$.open.selected])},iZ=(Z)=>{if(!Z.state.field(L3,!1))return!1;return Z.dispatch({effects:t5.of(!0)}),!0},IU=(Z)=>{let $=Z.state.field(L3,!1);if(!$||!$.active.some((J)=>J.state!=0))return!1;return Z.dispatch({effects:w0.of(null)}),!0};class O${constructor(Z,$){this.active=Z,this.context=$,this.time=Date.now(),this.updates=[],this.done=void 0}}var AU=50,BU=1000,MU=t.fromClass(class{constructor(Z){this.view=Z,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let $ of Z.state.field(L3).active)if($.isPending)this.startQuery($)}update(Z){let $=Z.state.field(L3),J=Z.state.facet(K3);if(!Z.selectionSet&&!Z.docChanged&&Z.startState.field(L3)==$)return;let K=Z.transactions.some((Q)=>{let X=_$(Q,J);return X&8||(Q.selection||Q.docChanged)&&!(X&3)});for(let Q=0;Q<this.running.length;Q++){let X=this.running[Q];if(K||X.context.abortOnDocChange&&Z.docChanged||X.updates.length+Z.transactions.length>AU&&Date.now()-X.time>BU){for(let Y of X.context.abortListeners)try{Y()}catch(q){W3(this.view.state,q)}X.context.abortListeners=null,this.running.splice(Q--,1)}else X.updates.push(...Z.transactions)}if(this.debounceUpdate>-1)clearTimeout(this.debounceUpdate);if(Z.transactions.some((Q)=>Q.effects.some((X)=>X.is(t5))))this.pendingStart=!0;let U=this.pendingStart?50:J.activateOnTypingDelay;if(this.debounceUpdate=$.active.some((Q)=>Q.isPending&&!this.running.some((X)=>X.active.source==Q.source))?setTimeout(()=>this.startUpdate(),U):-1,this.composing!=0){for(let Q of Z.transactions)if(Q.isUserEvent("input.type"))this.composing=2;else if(this.composing==2&&Q.selection)this.composing=3}}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:Z}=this.view,$=Z.field(L3);for(let J of $.active)if(J.isPending&&!this.running.some((K)=>K.active.source==J.source))this.startQuery(J);if(this.running.length&&$.open&&$.open.disabled)this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(K3).updateSyncTime)}startQuery(Z){let{state:$}=this.view,J=y9($),K=new oZ($,J,Z.explicit,this.view),U=new O$(Z,K);this.running.push(U),Promise.resolve(Z.source(K)).then((Q)=>{if(!U.context.aborted)U.done=Q||null,this.scheduleAccept()},(Q)=>{this.view.dispatch({effects:w0.of(null)}),W3(this.view.state,Q)})}scheduleAccept(){if(this.running.every((Z)=>Z.done!==void 0))this.accept();else if(this.debounceAccept<0)this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(K3).updateSyncTime)}accept(){var Z;if(this.debounceAccept>-1)clearTimeout(this.debounceAccept);this.debounceAccept=-1;let $=[],J=this.view.state.facet(K3),K=this.view.state.field(L3);for(let U=0;U<this.running.length;U++){let Q=this.running[U];if(Q.done===void 0)continue;if(this.running.splice(U--,1),Q.done){let Y=y9(Q.updates.length?Q.updates[0].startState:this.view.state),q=Math.min(Y,Q.done.from+(Q.active.explicit?0:1)),G=new Z0(Q.active.source,Q.active.explicit,q,Q.done,Q.done.from,(Z=Q.done.to)!==null&&Z!==void 0?Z:Y);for(let W of Q.updates)G=G.update(W,J);if(G.hasResult()){$.push(G);continue}}let X=K.active.find((Y)=>Y.source==Q.active.source);if(X&&X.isPending)if(Q.done==null){let Y=new b3(Q.active.source,0);for(let q of Q.updates)Y=Y.update(q,J);if(!Y.isPending)$.push(Y)}else this.startQuery(X)}if($.length||K.open&&K.open.disabled)this.view.dispatch({effects:$4.of($)})}},{eventHandlers:{blur(Z){let $=this.view.state.field(L3,!1);if($&&$.tooltip&&this.view.state.facet(K3).closeOnBlur){let J=$.open&&DZ(this.view,$.open.tooltip);if(!J||!J.dom.contains(Z.relatedTarget))setTimeout(()=>this.view.dispatch({effects:w0.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){if(this.composing==3)setTimeout(()=>this.view.dispatch({effects:t5.of(!1)}),20);this.composing=0}}}),EU=typeof navigator=="object"&&/Win/.test(navigator.platform),PU=c3.highest(T.domEventHandlers({keydown(Z,$){let J=$.state.field(L3,!1);if(!J||!J.open||J.open.disabled||J.open.selected<0||Z.key.length>1||Z.ctrlKey&&!(EU&&Z.altKey)||Z.metaKey)return!1;let K=J.open.options[J.open.selected],U=J.active.find((X)=>X.source==K.source),Q=K.completion.commitCharacters||U.result.commitCharacters;if(Q&&Q.indexOf(Z.key)>-1)J4($,K);return!1}})),V$=T.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:0.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:0.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".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:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class H${constructor(Z,$,J,K){this.field=Z,this.line=$,this.from=J,this.to=K}}class K4{constructor(Z,$,J){this.field=Z,this.from=$,this.to=J}map(Z){let $=Z.mapPos(this.from,-1,Z3.TrackDel),J=Z.mapPos(this.to,1,Z3.TrackDel);return $==null||J==null?null:new K4(this.field,$,J)}}class U4{constructor(Z,$){this.lines=Z,this.fieldPositions=$}instantiate(Z,$){let J=[],K=[$],U=Z.doc.lineAt($),Q=/^\s*/.exec(U.text)[0];for(let Y of this.lines){if(J.length){let q=Q,G=/^\t*/.exec(Y)[0].length;for(let W=0;W<G;W++)q+=Z.facet(n5);K.push($+q.length-G),Y=q+Y.slice(G)}J.push(Y),$+=Y.length+1}let X=this.fieldPositions.map((Y)=>new K4(Y.field,K[Y.line]+Y.from,K[Y.line]+Y.to));return{text:J,ranges:X}}static parse(Z){let $=[],J=[],K=[],U;for(let Q of Z.split(/\r\n?|\n/)){while(U=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(Q)){let X=U[1]?+U[1]:null,Y=U[2]||U[3]||"",q=-1;if(X===0)X=1e9;let G=Y.replace(/\\[{}]/g,(W)=>W[1]);for(let W=0;W<$.length;W++)if(X!=null?$[W].seq==X:G?$[W].name==G:!1)q=W;if(q<0){let W=0;while(W<$.length&&(X==null||$[W].seq!=null&&$[W].seq<X))W++;$.splice(W,0,{seq:X,name:G}),q=W;for(let z of K)if(z.field>=q)z.field++}for(let W of K)if(W.line==J.length&&W.from>U.index){let z=U[2]?3+(U[1]||"").length:2;W.from-=z,W.to-=z}K.push(new H$(q,J.length,U.index,U.index+G.length)),Q=Q.slice(0,U.index)+Y+Q.slice(U.index+U[0].length)}Q=Q.replace(/\\([{}])/g,(X,Y,q)=>{for(let G of K)if(G.line==J.length&&G.from>q)G.from--,G.to--;return Y}),J.push(Q)}return new U4(J,K)}}var CU=w.widget({widget:new class extends T3{toDOM(){let Z=document.createElement("span");return Z.className="cm-snippetFieldPosition",Z}ignoreEvent(){return!1}}}),TU=w.mark({class:"cm-snippetField"});class $0{constructor(Z,$){this.ranges=Z,this.active=$,this.deco=w.set(Z.map((J)=>(J.from==J.to?CU:TU).range(J.from,J.to)),!0)}map(Z){let $=[];for(let J of this.ranges){let K=J.map(Z);if(!K)return null;$.push(K)}return new $0($,this.active)}selectionInsideField(Z){return Z.ranges.every(($)=>this.ranges.some((J)=>J.field==this.active&&J.from<=$.from&&J.to>=$.to))}}var m0=x.define({map(Z,$){return Z&&Z.map($)}}),yU=x.define(),h0=Q3.define({create(){return null},update(Z,$){for(let J of $.effects){if(J.is(m0))return J.value;if(J.is(yU)&&Z)return new $0(Z.ranges,J.value)}if(Z&&$.docChanged)Z=Z.map($.changes);if(Z&&$.selection&&!Z.selectionInsideField($.selection))Z=null;return Z},provide:(Z)=>T.decorations.from(Z,($)=>$?$.deco:w.none)});function Q4(Z,$){return L.create(Z.filter((J)=>J.field==$).map((J)=>L.range(J.from,J.to)))}function SU(Z){let $=U4.parse(Z);return(J,K,U,Q)=>{let{text:X,ranges:Y}=$.instantiate(J.state,U),{main:q}=J.state.selection,G={changes:{from:U,to:Q==q.from?q.to:Q,insert:m.of(X)},scrollIntoView:!0,annotations:K?[eZ.of(K),$3.userEvent.of("input.complete")]:void 0};if(Y.length)G.selection=Q4(Y,0);if(Y.some((W)=>W.field>0)){let W=new $0(Y,0),z=G.effects=[m0.of(W)];if(J.state.field(h0,!1)===void 0)z.push(x.appendConfig.of([h0,hU,vU,V$]))}J.dispatch(J.state.update(G))}}function N$(Z){return({state:$,dispatch:J})=>{let K=$.field(h0,!1);if(!K||Z<0&&K.active==0)return!1;let U=K.active+Z,Q=Z>0&&!K.ranges.some((X)=>X.field==U+Z);return J($.update({selection:Q4(K.ranges,U),effects:m0.of(Q?null:new $0(K.ranges,U)),scrollIntoView:!0})),!0}}var bU=({state:Z,dispatch:$})=>{if(!Z.field(h0,!1))return!1;return $(Z.update({effects:m0.of(null)})),!0},kU=N$(1),xU=N$(-1);var wU=[{key:"Tab",run:kU,shift:xU},{key:"Escape",run:bU}],Q$=E.define({combine(Z){return Z.length?Z[0]:wU}}),hU=c3.highest(S5.compute([Q$],(Z)=>Z.facet(Q$)));function N3(Z,$){return{...$,apply:SU(Z)}}var vU=T.domEventHandlers({mousedown(Z,$){let J=$.state.field(h0,!1),K;if(!J||(K=$.posAtCoords({x:Z.clientX,y:Z.clientY}))==null)return!1;let U=J.ranges.find((Q)=>Q.from<=K&&Q.to>=K);if(!U||U.field==J.active)return!1;return $.dispatch({selection:Q4(J.ranges,U.field),effects:m0.of(J.ranges.some((Q)=>Q.field>U.field)?new $0(J.ranges,U.field):null),scrollIntoView:!0}),!0}});var v0={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},T9=x.define({map(Z,$){let J=$.mapPos(Z,-1,Z3.TrackAfter);return J==null?void 0:J}}),X4=new class extends k3{};X4.startSide=1;X4.endSide=-1;var F$=Q3.define({create(){return k.empty},update(Z,$){if(Z=Z.map($.changes),$.selection){let J=$.state.doc.lineAt($.selection.main.head);Z=Z.update({filter:(K)=>K>=J.from&&K<=J.to})}for(let J of $.effects)if(J.is(T9))Z=Z.update({add:[X4.range(J.value,J.value+1)]});return Z}});function lX(){return[uU,F$]}var rZ="()[]{}<>«»»«[]{}";function D$(Z){for(let $=0;$<rZ.length;$+=2)if(rZ.charCodeAt($)==Z)return rZ.charAt($+1);return N7(Z<128?Z:Z+1)}function L$(Z,$){return Z.languageDataAt("closeBrackets",$)[0]||v0}var mU=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),uU=T.inputHandler.of((Z,$,J,K)=>{if((mU?Z.composing:Z.compositionStarted)||Z.state.readOnly)return!1;let U=Z.state.selection.main;if(K.length>2||K.length==2&&x3(_3(K,0))==1||$!=U.from||J!=U.to)return!1;let Q=fU(Z.state,K);if(!Q)return!1;return Z.dispatch(Q),!0}),gU=({state:Z,dispatch:$})=>{if(Z.readOnly)return!1;let K=L$(Z,Z.selection.main.head).brackets||v0.brackets,U=null,Q=Z.changeByRange((X)=>{if(X.empty){let Y=pU(Z.doc,X.head);for(let q of K)if(q==Y&&Z7(Z.doc,X.head)==D$(_3(q,0)))return{changes:{from:X.head-q.length,to:X.head+q.length},range:L.cursor(X.head-q.length)}}return{range:U=X}});if(!U)$(Z.update(Q,{scrollIntoView:!0,userEvent:"delete.backward"}));return!U},dX=[{key:"Backspace",run:gU}];function fU(Z,$){let J=L$(Z,Z.selection.main.head),K=J.brackets||v0.brackets;for(let U of K){let Q=D$(_3(U,0));if($==U)return Q==U?cU(Z,U,K.indexOf(U+U+U)>-1,J):lU(Z,U,Q,J.before||v0.before);if($==Q&&R$(Z,Z.selection.main.from))return dU(Z,U,Q)}return null}function R$(Z,$){let J=!1;return Z.field(F$).between(0,Z.doc.length,(K)=>{if(K==$)J=!0}),J}function Z7(Z,$){let J=Z.sliceString($,$+2);return J.slice(0,x3(_3(J,0)))}function pU(Z,$){let J=Z.sliceString($-2,$);return x3(_3(J,0))==J.length?J:J.slice(1)}function lU(Z,$,J,K){let U=null,Q=Z.changeByRange((X)=>{if(!X.empty)return{changes:[{insert:$,from:X.from},{insert:J,from:X.to}],effects:T9.of(X.to+$.length),range:L.range(X.anchor+$.length,X.head+$.length)};let Y=Z7(Z.doc,X.head);if(!Y||/\s/.test(Y)||K.indexOf(Y)>-1)return{changes:{insert:$+J,from:X.head},effects:T9.of(X.head+$.length),range:L.cursor(X.head+$.length)};return{range:U=X}});return U?null:Z.update(Q,{scrollIntoView:!0,userEvent:"input.type"})}function dU(Z,$,J){let K=null,U=Z.changeByRange((Q)=>{if(Q.empty&&Z7(Z.doc,Q.head)==J)return{changes:{from:Q.head,to:Q.head+J.length,insert:J},range:L.cursor(Q.head+J.length)};return K={range:Q}});return K?null:Z.update(U,{scrollIntoView:!0,userEvent:"input.type"})}function cU(Z,$,J,K){let U=K.stringPrefixes||v0.stringPrefixes,Q=null,X=Z.changeByRange((Y)=>{if(!Y.empty)return{changes:[{insert:$,from:Y.from},{insert:$,from:Y.to}],effects:T9.of(Y.to+$.length),range:L.range(Y.anchor+$.length,Y.head+$.length)};let q=Y.head,G=Z7(Z.doc,q),W;if(G==$){if(X$(Z,q))return{changes:{insert:$+$,from:q},effects:T9.of(q+$.length),range:L.cursor(q+$.length)};else if(R$(Z,q)){let j=J&&Z.sliceDoc(q,q+$.length*3)==$+$+$?$+$+$:$;return{changes:{from:q,to:q+j.length,insert:j},range:L.cursor(q+j.length)}}}else if(J&&Z.sliceDoc(q-2*$.length,q)==$+$&&(W=Y$(Z,q-2*$.length,U))>-1&&X$(Z,W))return{changes:{insert:$+$+$+$,from:q},effects:T9.of(q+$.length),range:L.cursor(q+$.length)};else if(Z.charCategorizer(q)(G)!=F3.Word){if(Y$(Z,q,U)>-1&&!sU(Z,q,$,U))return{changes:{insert:$+$,from:q},effects:T9.of(q+$.length),range:L.cursor(q+$.length)}}return{range:Q=Y}});return Q?null:Z.update(X,{scrollIntoView:!0,userEvent:"input.type"})}function X$(Z,$){let J=J3(Z).resolveInner($+1);return J.parent&&J.from==$}function sU(Z,$,J,K){let U=J3(Z).resolveInner($,-1),Q=K.reduce((X,Y)=>Math.max(X,Y.length),0);for(let X=0;X<5;X++){let Y=Z.sliceDoc(U.from,Math.min(U.to,U.from+J.length+Q)),q=Y.indexOf(J);if(!q||q>-1&&K.indexOf(Y.slice(0,q))>-1){let W=U.firstChild;while(W&&W.from==U.from&&W.to-W.from>J.length+q){if(Z.sliceDoc(W.to-J.length,W.to)==J)return!1;W=W.firstChild}return!0}let G=U.to==$&&U.parent;if(!G)break;U=G}return!1}function Y$(Z,$,J){let K=Z.charCategorizer($);if(K(Z.sliceDoc($-1,$))!=F3.Word)return $;for(let U of J){let Q=$-U.length;if(Z.sliceDoc(Q,$)==U&&K(Z.sliceDoc(Q-1,Q))!=F3.Word)return Q}return-1}function cX(Z={}){return[PU,L3,K3.of(Z),MU,iU,V$]}var nU=[{key:"Ctrl-Space",run:iZ},{mac:"Alt-`",run:iZ},{mac:"Alt-i",run:iZ},{key:"Escape",run:IU},{key:"ArrowDown",run:o5(!0)},{key:"ArrowUp",run:o5(!1)},{key:"PageDown",run:o5(!0,"page")},{key:"PageUp",run:o5(!1,"page")},{key:"Enter",run:RU}],iU=c3.highest(S5.computeN([K3],(Z)=>Z.facet(K3).defaultKeymap?[nU]:[]));class $7{constructor(Z,$,J,K,U,Q,X,Y,q,G=0,W){this.p=Z,this.stack=$,this.state=J,this.reducePos=K,this.pos=U,this.score=Q,this.buffer=X,this.bufferBase=Y,this.curContext=q,this.lookAhead=G,this.parent=W}toString(){return`[${this.stack.filter((Z,$)=>$%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(Z,$,J=0){let K=Z.parser.context;return new $7(Z,[],$,J,J,0,[],0,K?new G4(K,K.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(Z,$){this.stack.push(this.state,$,this.bufferBase+this.buffer.length),this.state=Z}reduce(Z){var $;let J=Z>>19,K=Z&65535,{parser:U}=this.p,Q=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),X=U.dynamicPrecedence(K);if(X)this.score+=X;if(J==0){if(K<U.minRepeatTerm&&this.reducePos<this.pos)this.reducePos=this.pos;if(this.pushState(U.getGoto(this.state,K,!0),this.reducePos),K<U.minRepeatTerm)this.storeNode(K,this.reducePos,this.reducePos,Q?8:4,!0);this.reduceContext(K,this.reducePos);return}let Y=this.stack.length-(J-1)*3-(Z&262144?6:0),q=Y?this.stack[Y-2]:this.p.ranges[0].from;if(K<U.minRepeatTerm&&q==this.reducePos&&this.reducePos<this.pos)this.reducePos=this.pos;let G=this.reducePos-q;if(G>=2000&&!(($=this.p.parser.nodeSet.types[K])===null||$===void 0?void 0:$.isAnonymous)){if(q==this.p.lastBigReductionStart)this.p.bigReductionCount++,this.p.lastBigReductionSize=G;else if(this.p.lastBigReductionSize<G)this.p.bigReductionCount=1,this.p.lastBigReductionStart=q,this.p.lastBigReductionSize=G}let W=Y?this.stack[Y-1]:0,z=this.bufferBase+this.buffer.length-W;if(K<U.minRepeatTerm||Z&131072){let j=U.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(K,q,j,z+4,!0)}if(Z&262144)this.state=this.stack[Y];else{let j=this.stack[Y-3];this.state=U.getGoto(j,K,!0)}while(this.stack.length>Y)this.stack.pop();this.reduceContext(K,q)}storeNode(Z,$,J,K=4,U=!1){if(Z==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let Q=this.buffer.length;if(Q>0&&this.buffer[Q-4]==0&&this.buffer[Q-1]>-1){if($==J)return;if(this.buffer[Q-2]>=$){this.buffer[Q-2]=J;return}}}if(!U||this.pos==J)this.buffer.push(Z,$,J,K);else{let Q=this.buffer.length;if(Q>0&&(this.buffer[Q-4]!=0||this.buffer[Q-1]<0)){let X=!1;for(let Y=Q;Y>0&&this.buffer[Y-2]>J;Y-=4)if(this.buffer[Y-1]>=0){X=!0;break}if(X){while(Q>0&&this.buffer[Q-2]>J)if(this.buffer[Q]=this.buffer[Q-4],this.buffer[Q+1]=this.buffer[Q-3],this.buffer[Q+2]=this.buffer[Q-2],this.buffer[Q+3]=this.buffer[Q-1],Q-=4,K>4)K-=4}}this.buffer[Q]=Z,this.buffer[Q+1]=$,this.buffer[Q+2]=J,this.buffer[Q+3]=K}}shift(Z,$,J,K){if(Z&131072)this.pushState(Z&65535,this.pos);else if((Z&262144)==0){let U=Z,{parser:Q}=this.p;this.pos=K;let X=Q.stateFlag(U,1);if(!X&&(K>J||$<=Q.maxNode))this.reducePos=K;if(this.pushState(U,X?J:Math.min(J,this.reducePos)),this.shiftContext($,J),$<=Q.maxNode)this.buffer.push($,J,K,4)}else if(this.pos=K,this.shiftContext($,J),$<=this.p.parser.maxNode)this.buffer.push($,J,K,4)}apply(Z,$,J,K){if(Z&65536)this.reduce(Z);else this.shift(Z,$,J,K)}useNode(Z,$){let J=this.p.reused.length-1;if(J<0||this.p.reused[J]!=Z)this.p.reused.push(Z),J++;let K=this.pos;if(this.reducePos=this.pos=K+Z.length,this.pushState($,K),this.buffer.push(J,K,this.reducePos,-1),this.curContext)this.updateContext(this.curContext.tracker.reuse(this.curContext.context,Z,this,this.p.stream.reset(this.pos-Z.length)))}split(){let Z=this,$=Z.buffer.length;if($&&Z.buffer[$-4]==0)$-=4;while($>0&&Z.buffer[$-2]>Z.reducePos)$-=4;let J=Z.buffer.slice($),K=Z.bufferBase+$;while(Z&&K==Z.bufferBase)Z=Z.parent;return new $7(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,J,K,this.curContext,this.lookAhead,Z)}recoverByDelete(Z,$){let J=Z<=this.p.parser.maxNode;if(J)this.storeNode(Z,this.pos,$,4);this.storeNode(0,this.pos,$,J?8:4),this.pos=this.reducePos=$,this.score-=190}canShift(Z){for(let $=new P$(this);;){let J=this.p.parser.stateSlot($.state,4)||this.p.parser.hasAction($.state,Z);if(J==0)return!1;if((J&65536)==0)return!0;$.reduce(J)}}recoverByInsert(Z){if(this.stack.length>=300)return[];let $=this.p.parser.nextStates(this.state);if($.length>8||this.stack.length>=120){let K=[];for(let U=0,Q;U<$.length;U+=2)if((Q=$[U+1])!=this.state&&this.p.parser.hasAction(Q,Z))K.push($[U],Q);if(this.stack.length<120)for(let U=0;K.length<8&&U<$.length;U+=2){let Q=$[U+1];if(!K.some((X,Y)=>Y&1&&X==Q))K.push($[U],Q)}$=K}let J=[];for(let K=0;K<$.length&&J.length<4;K+=2){let U=$[K+1];if(U==this.state)continue;let Q=this.split();Q.pushState(U,this.pos),Q.storeNode(0,Q.pos,Q.pos,4,!0),Q.shiftContext($[K],this.pos),Q.reducePos=this.pos,Q.score-=200,J.push(Q)}return J}forceReduce(){let{parser:Z}=this.p,$=Z.stateSlot(this.state,5);if(($&65536)==0)return!1;if(!Z.validAction(this.state,$)){let J=$>>19,K=$&65535,U=this.stack.length-J*3;if(U<0||Z.getGoto(this.stack[U],K,!1)<0){let Q=this.findForcedReduction();if(Q==null)return!1;$=Q}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce($),!0}findForcedReduction(){let{parser:Z}=this.p,$=[],J=(K,U)=>{if($.includes(K))return;return $.push(K),Z.allActions(K,(Q)=>{if(Q&393216);else if(Q&65536){let X=(Q>>19)-U;if(X>1){let Y=Q&65535,q=this.stack.length-X*3;if(q>=0&&Z.getGoto(this.stack[q],Y,!1)>=0)return X<<19|65536|Y}}else{let X=J(Q,U+1);if(X!=null)return X}})};return J(this.state,0)}forceAll(){while(!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(this.stack.length!=3)return!1;let{parser:Z}=this.p;return Z.data[Z.stateSlot(this.state,1)]==65535&&!Z.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(Z){if(this.state!=Z.state||this.stack.length!=Z.stack.length)return!1;for(let $=0;$<this.stack.length;$+=3)if(this.stack[$]!=Z.stack[$])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(Z){return this.p.parser.dialect.flags[Z]}shiftContext(Z,$){if(this.curContext)this.updateContext(this.curContext.tracker.shift(this.curContext.context,Z,this,this.p.stream.reset($)))}reduceContext(Z,$){if(this.curContext)this.updateContext(this.curContext.tracker.reduce(this.curContext.context,Z,this,this.p.stream.reset($)))}emitContext(){let Z=this.buffer.length-1;if(Z<0||this.buffer[Z]!=-3)this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let Z=this.buffer.length-1;if(Z<0||this.buffer[Z]!=-4)this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(Z){if(Z!=this.curContext.context){let $=new G4(this.curContext.tracker,Z);if($.hash!=this.curContext.hash)this.emitContext();this.curContext=$}}setLookAhead(Z){if(Z<=this.lookAhead)return!1;return this.emitLookAhead(),this.lookAhead=Z,!0}close(){if(this.curContext&&this.curContext.tracker.strict)this.emitContext();if(this.lookAhead>0)this.emitLookAhead()}}class G4{constructor(Z,$){this.tracker=Z,this.context=$,this.hash=Z.strict?Z.hash($):0}}class P${constructor(Z){this.start=Z,this.state=Z.state,this.stack=Z.stack,this.base=this.stack.length}reduce(Z){let $=Z&65535,J=Z>>19;if(J==0){if(this.stack==this.start.stack)this.stack=this.stack.slice();this.stack.push(this.state,0,0),this.base+=3}else this.base-=(J-1)*3;let K=this.start.p.parser.getGoto(this.stack[this.base-3],$,!0);this.state=K}}class J7{constructor(Z,$,J){if(this.stack=Z,this.pos=$,this.index=J,this.buffer=Z.buffer,this.index==0)this.maybeNext()}static create(Z,$=Z.bufferBase+Z.buffer.length){return new J7(Z,$,$-Z.bufferBase)}maybeNext(){let Z=this.stack.parent;if(Z!=null)this.index=this.stack.bufferBase-Z.bufferBase,this.stack=Z,this.buffer=Z.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(){if(this.index-=4,this.pos-=4,this.index==0)this.maybeNext()}fork(){return new J7(this.stack,this.pos,this.index)}}function u0(Z,$=Uint16Array){if(typeof Z!="string")return Z;let J=null;for(let K=0,U=0;K<Z.length;){let Q=0;for(;;){let X=Z.charCodeAt(K++),Y=!1;if(X==126){Q=65535;break}if(X>=92)X--;if(X>=34)X--;let q=X-32;if(q>=46)q-=46,Y=!0;if(Q+=q,Y)break;Q*=46}if(J)J[U++]=Q;else J=new $(Q)}return J}class g0{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}var I$=new g0;class C${constructor(Z,$){this.input=Z,this.ranges=$,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=I$,this.rangeIndex=0,this.pos=this.chunkPos=$[0].from,this.range=$[0],this.end=$[$.length-1].to,this.readNext()}resolveOffset(Z,$){let J=this.range,K=this.rangeIndex,U=this.pos+Z;while(U<J.from){if(!K)return null;let Q=this.ranges[--K];U-=J.from-Q.to,J=Q}while($<0?U>J.to:U>=J.to){if(K==this.ranges.length-1)return null;let Q=this.ranges[++K];U+=Q.from-J.to,J=Q}return U}clipPos(Z){if(Z>=this.range.from&&Z<this.range.to)return Z;for(let $ of this.ranges)if($.to>Z)return Math.max(Z,$.from);return this.end}peek(Z){let $=this.chunkOff+Z,J,K;if($>=0&&$<this.chunk.length)J=this.pos+Z,K=this.chunk.charCodeAt($);else{let U=this.resolveOffset(Z,1);if(U==null)return-1;if(J=U,J>=this.chunk2Pos&&J<this.chunk2Pos+this.chunk2.length)K=this.chunk2.charCodeAt(J-this.chunk2Pos);else{let Q=this.rangeIndex,X=this.range;while(X.to<=J)X=this.ranges[++Q];if(this.chunk2=this.input.chunk(this.chunk2Pos=J),J+this.chunk2.length>X.to)this.chunk2=this.chunk2.slice(0,X.to-J);K=this.chunk2.charCodeAt(0)}}if(J>=this.token.lookAhead)this.token.lookAhead=J+1;return K}acceptToken(Z,$=0){let J=$?this.resolveOffset($,-1):this.pos;if(J==null||J<this.token.start)throw RangeError("Token end out of bounds");this.token.value=Z,this.token.end=J}acceptTokenTo(Z,$){this.token.value=Z,this.token.end=$}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:Z,chunkPos:$}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=Z,this.chunk2Pos=$,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let Z=this.input.chunk(this.pos),$=this.pos+Z.length;this.chunk=$>this.range.to?Z.slice(0,this.range.to-this.pos):Z,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){if(this.getChunk(),this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(Z=1){this.chunkOff+=Z;while(this.pos+Z>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();Z-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}if(this.pos+=Z,this.pos>=this.token.lookAhead)this.token.lookAhead=this.pos+1;return 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(Z,$){if($)this.token=$,$.start=Z,$.lookAhead=Z+1,$.value=$.extended=-1;else this.token=I$;if(this.pos!=Z){if(this.pos=Z,Z==this.end)return this.setDone(),this;while(Z<this.range.from)this.range=this.ranges[--this.rangeIndex];while(Z>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(Z>=this.chunkPos&&Z<this.chunkPos+this.chunk.length)this.chunkOff=Z-this.chunkPos;else this.chunk="",this.chunkOff=0;this.readNext()}return this}read(Z,$){if(Z>=this.chunkPos&&$<=this.chunkPos+this.chunk.length)return this.chunk.slice(Z-this.chunkPos,$-this.chunkPos);if(Z>=this.chunk2Pos&&$<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(Z-this.chunk2Pos,$-this.chunk2Pos);if(Z>=this.range.from&&$<=this.range.to)return this.input.read(Z,$);let J="";for(let K of this.ranges){if(K.from>=$)break;if(K.to>Z)J+=this.input.read(Math.max(K.from,Z),Math.min(K.to,$))}return J}}class S9{constructor(Z,$){this.data=Z,this.id=$}token(Z,$){let{parser:J}=$.p;T$(this.data,Z,$,this.id,J.data,J.tokenPrecTable)}}S9.prototype.contextual=S9.prototype.fallback=S9.prototype.extend=!1;class p0{constructor(Z,$,J){this.precTable=$,this.elseToken=J,this.data=typeof Z=="string"?u0(Z):Z}token(Z,$){let J=Z.pos,K=0;for(;;){let U=Z.next<0,Q=Z.resolveOffset(1,1);if(T$(this.data,Z,$,0,this.data,this.precTable),Z.token.value>-1)break;if(this.elseToken==null)return;if(!U)K++;if(Q==null)break;Z.reset(Q,Z.token)}if(K)Z.reset(J,Z.token),Z.acceptToken(this.elseToken,K)}}p0.prototype.contextual=S9.prototype.fallback=S9.prototype.extend=!1;class b9{constructor(Z,$={}){this.token=Z,this.contextual=!!$.contextual,this.fallback=!!$.fallback,this.extend=!!$.extend}}function T$(Z,$,J,K,U,Q){let X=0,Y=1<<K,{dialect:q}=J.p.parser;Z:for(;;){if((Y&Z[X])==0)break;let G=Z[X+1];for(let _=X+3;_<G;_+=2)if((Z[_+1]&Y)>0){let O=Z[_];if(q.allows(O)&&($.token.value==-1||$.token.value==O||rU(O,$.token.value,U,Q))){$.acceptToken(O);break}}let W=$.next,z=0,j=Z[X+2];if($.next<0&&j>z&&Z[G+j*3-3]==65535){X=Z[G+j*3-1];continue Z}for(;z<j;){let _=z+j>>1,O=G+_+(_<<1),V=Z[O],H=Z[O+1]||65536;if(W<V)j=_;else if(W>=H)z=_+1;else{X=Z[O+2],$.advance();continue Z}}break}}function A$(Z,$,J){for(let K=$,U;(U=Z[K])!=65535;K++)if(U==J)return K-$;return-1}function rU(Z,$,J,K){let U=A$(J,K,$);return U<0||A$(J,K,Z)<U}var B3=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Y4=null;function B$(Z,$,J){let K=Z.cursor(g.IncludeAnonymous);K.moveTo($);for(;;)if(!(J<0?K.childBefore($):K.childAfter($)))for(;;){if((J<0?K.to<$:K.from>$)&&!K.type.isError)return J<0?Math.max(0,Math.min(K.to-1,$-25)):Math.min(Z.length,Math.max(K.from+1,$+25));if(J<0?K.prevSibling():K.nextSibling())break;if(!K.parent())return J<0?0:Z.length}}class y${constructor(Z,$){this.fragments=Z,this.nodeSet=$,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let Z=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(Z){this.safeFrom=Z.openStart?B$(Z.tree,Z.from+Z.offset,1)-Z.offset:Z.from,this.safeTo=Z.openEnd?B$(Z.tree,Z.to+Z.offset,-1)-Z.offset:Z.to;while(this.trees.length)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(Z.tree),this.start.push(-Z.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(Z){if(Z<this.nextStart)return null;while(this.fragment&&this.safeTo<=Z)this.nextFragment();if(!this.fragment)return null;for(;;){let $=this.trees.length-1;if($<0)return this.nextFragment(),null;let J=this.trees[$],K=this.index[$];if(K==J.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let U=J.children[K],Q=this.start[$]+J.positions[K];if(Q>Z)return this.nextStart=Q,null;if(U instanceof i){if(Q==Z){if(Q<this.safeFrom)return null;let X=Q+U.length;if(X<=this.safeTo){let Y=U.prop(S.lookAhead);if(!Y||X+Y<this.fragment.to)return U}}if(this.index[$]++,Q+U.length>=Math.max(this.safeFrom,Z))this.trees.push(U),this.start.push(Q),this.index.push(0)}else this.index[$]++,this.nextStart=Q+U.length}}}class S${constructor(Z,$){this.stream=$,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=Z.tokenizers.map((J)=>new g0)}getActions(Z){let $=0,J=null,{parser:K}=Z.p,{tokenizers:U}=K,Q=K.stateSlot(Z.state,3),X=Z.curContext?Z.curContext.hash:0,Y=0;for(let q=0;q<U.length;q++){if((1<<q&Q)==0)continue;let G=U[q],W=this.tokens[q];if(J&&!G.fallback)continue;if(G.contextual||W.start!=Z.pos||W.mask!=Q||W.context!=X)this.updateCachedToken(W,G,Z),W.mask=Q,W.context=X;if(W.lookAhead>W.end+25)Y=Math.max(W.lookAhead,Y);if(W.value!=0){let z=$;if(W.extended>-1)$=this.addActions(Z,W.extended,W.end,$);if($=this.addActions(Z,W.value,W.end,$),!G.extend){if(J=W,$>z)break}}}while(this.actions.length>$)this.actions.pop();if(Y)Z.setLookAhead(Y);if(!J&&Z.pos==this.stream.end)J=new g0,J.value=Z.p.parser.eofTerm,J.start=J.end=Z.pos,$=this.addActions(Z,J.value,J.end,$);return this.mainToken=J,this.actions}getMainToken(Z){if(this.mainToken)return this.mainToken;let $=new g0,{pos:J,p:K}=Z;return $.start=J,$.end=Math.min(J+1,K.stream.end),$.value=J==K.stream.end?K.parser.eofTerm:0,$}updateCachedToken(Z,$,J){let K=this.stream.clipPos(J.pos);if($.token(this.stream.reset(K,Z),J),Z.value>-1){let{parser:U}=J.p;for(let Q=0;Q<U.specialized.length;Q++)if(U.specialized[Q]==Z.value){let X=U.specializers[Q](this.stream.read(Z.start,Z.end),J);if(X>=0&&J.p.parser.dialect.allows(X>>1)){if((X&1)==0)Z.value=X>>1;else Z.extended=X>>1;break}}}else Z.value=0,Z.end=this.stream.clipPos(K+1)}putAction(Z,$,J,K){for(let U=0;U<K;U+=3)if(this.actions[U]==Z)return K;return this.actions[K++]=Z,this.actions[K++]=$,this.actions[K++]=J,K}addActions(Z,$,J,K){let{state:U}=Z,{parser:Q}=Z.p,{data:X}=Q;for(let Y=0;Y<2;Y++)for(let q=Q.stateSlot(U,Y?2:1);;q+=3){if(X[q]==65535)if(X[q+1]==1)q=Y9(X,q+2);else{if(K==0&&X[q+1]==2)K=this.putAction(Y9(X,q+2),$,J,K);break}if(X[q]==$)K=this.putAction(Y9(X,q+1),$,J,K)}return K}}class b${constructor(Z,$,J,K){this.parser=Z,this.input=$,this.ranges=K,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 C$($,K),this.tokens=new S$(Z,this.stream),this.topTerm=Z.top[1];let{from:U}=K[0];this.stacks=[$7.start(this,Z.top[0],U)],this.fragments=J.length&&this.stream.end-U>Z.bufferLength*4?new y$(J,Z.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let Z=this.stacks,$=this.minStackPos,J=this.stacks=[],K,U;if(this.bigReductionCount>300&&Z.length==1){let[Q]=Z;while(Q.forceReduce()&&Q.stack.length&&Q.stack[Q.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let Q=0;Q<Z.length;Q++){let X=Z[Q];for(;;){if(this.tokens.mainToken=null,X.pos>$)J.push(X);else if(this.advanceStack(X,J,Z))continue;else{if(!K)K=[],U=[];K.push(X);let Y=this.tokens.getMainToken(X);U.push(Y.value,Y.end)}break}}if(!J.length){let Q=K&&aU(K);if(Q){if(B3)console.log("Finish with "+this.stackID(Q));return this.stackToTree(Q)}if(this.parser.strict){if(B3&&K)console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw SyntaxError("No parse at "+$)}if(!this.recovering)this.recovering=5}if(this.recovering&&K){let Q=this.stoppedAt!=null&&K[0].pos>this.stoppedAt?K[0]:this.runRecovery(K,U,J);if(Q){if(B3)console.log("Force-finish "+this.stackID(Q));return this.stackToTree(Q.forceAll())}}if(this.recovering){let Q=this.recovering==1?1:this.recovering*3;if(J.length>Q){J.sort((X,Y)=>Y.score-X.score);while(J.length>Q)J.pop()}if(J.some((X)=>X.reducePos>$))this.recovering--}else if(J.length>1){Z:for(let Q=0;Q<J.length-1;Q++){let X=J[Q];for(let Y=Q+1;Y<J.length;Y++){let q=J[Y];if(X.sameState(q)||X.buffer.length>500&&q.buffer.length>500)if((X.score-q.score||X.buffer.length-q.buffer.length)>0)J.splice(Y--,1);else{J.splice(Q--,1);continue Z}}}if(J.length>12)J.sort((Q,X)=>X.score-Q.score),J.splice(12,J.length-12)}this.minStackPos=J[0].pos;for(let Q=1;Q<J.length;Q++)if(J[Q].pos<this.minStackPos)this.minStackPos=J[Q].pos;return null}stopAt(Z){if(this.stoppedAt!=null&&this.stoppedAt<Z)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=Z}advanceStack(Z,$,J){let K=Z.pos,{parser:U}=this,Q=B3?this.stackID(Z)+" -> ":"";if(this.stoppedAt!=null&&K>this.stoppedAt)return Z.forceReduce()?Z:null;if(this.fragments){let q=Z.curContext&&Z.curContext.tracker.strict,G=q?Z.curContext.hash:0;for(let W=this.fragments.nodeAt(K);W;){let z=this.parser.nodeSet.types[W.type.id]==W.type?U.getGoto(Z.state,W.type.id):-1;if(z>-1&&W.length&&(!q||(W.prop(S.contextHash)||0)==G)){if(Z.useNode(W,z),B3)console.log(Q+this.stackID(Z)+` (via reuse of ${U.getName(W.type.id)})`);return!0}if(!(W instanceof i)||W.children.length==0||W.positions[0]>0)break;let j=W.children[0];if(j instanceof i&&W.positions[0]==0)W=j;else break}}let X=U.stateSlot(Z.state,4);if(X>0){if(Z.reduce(X),B3)console.log(Q+this.stackID(Z)+` (via always-reduce ${U.getName(X&65535)})`);return!0}if(Z.stack.length>=8400)while(Z.stack.length>6000&&Z.forceReduce());let Y=this.tokens.getActions(Z);for(let q=0;q<Y.length;){let G=Y[q++],W=Y[q++],z=Y[q++],j=q==Y.length||!J,_=j?Z:Z.split(),O=this.tokens.mainToken;if(_.apply(G,W,O?O.start:_.pos,z),B3)console.log(Q+this.stackID(_)+` (via ${(G&65536)==0?"shift":`reduce of ${U.getName(G&65535)}`} for ${U.getName(W)} @ ${K}${_==Z?"":", split"})`);if(j)return!0;else if(_.pos>K)$.push(_);else J.push(_)}return!1}advanceFully(Z,$){let J=Z.pos;for(;;){if(!this.advanceStack(Z,null,null))return!1;if(Z.pos>J)return M$(Z,$),!0}}runRecovery(Z,$,J){let K=null,U=!1;for(let Q=0;Q<Z.length;Q++){let X=Z[Q],Y=$[Q<<1],q=$[(Q<<1)+1],G=B3?this.stackID(X)+" -> ":"";if(X.deadEnd){if(U)continue;if(U=!0,X.restart(),B3)console.log(G+this.stackID(X)+" (restarted)");if(this.advanceFully(X,J))continue}let W=X.split(),z=G;for(let j=0;j<10&&W.forceReduce();j++){if(B3)console.log(z+this.stackID(W)+" (via force-reduce)");if(this.advanceFully(W,J))break;if(B3)z=this.stackID(W)+" -> "}for(let j of X.recoverByInsert(Y)){if(B3)console.log(G+this.stackID(j)+" (via recover-insert)");this.advanceFully(j,J)}if(this.stream.end>X.pos){if(q==X.pos)q++,Y=0;if(X.recoverByDelete(Y,q),B3)console.log(G+this.stackID(X)+` (via recover-delete ${this.parser.getName(Y)})`);M$(X,J)}else if(!K||K.score<W.score)K=W}return K}stackToTree(Z){return Z.close(),i.build({buffer:J7.create(Z),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:Z.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(Z){let $=(Y4||(Y4=new WeakMap)).get(Z);if(!$)Y4.set(Z,$=String.fromCodePoint(this.nextStackID++));return $+Z}}function M$(Z,$){for(let J=0;J<$.length;J++){let K=$[J];if(K.pos==Z.pos&&K.sameState(Z)){if($[J].score<Z.score)$[J]=Z;return}}$.push(Z)}class k${constructor(Z,$,J){this.source=Z,this.flags=$,this.disabled=J}allows(Z){return!this.disabled||this.disabled[Z]==0}}var q4=(Z)=>Z;class W4{constructor(Z){this.start=Z.start,this.shift=Z.shift||q4,this.reduce=Z.reduce||q4,this.reuse=Z.reuse||q4,this.hash=Z.hash||(()=>0),this.strict=Z.strict!==!1}}class f0 extends y0{constructor(Z){super();if(this.wrappers=[],Z.version!=14)throw RangeError(`Parser version (${Z.version}) doesn't match runtime version (14)`);let $=Z.nodeNames.split(" ");this.minRepeatTerm=$.length;for(let X=0;X<Z.repeatNodeCount;X++)$.push("");let J=Object.keys(Z.topRules).map((X)=>Z.topRules[X][1]),K=[];for(let X=0;X<$.length;X++)K.push([]);function U(X,Y,q){K[X].push([Y,Y.deserialize(String(q))])}if(Z.nodeProps)for(let X of Z.nodeProps){let Y=X[0];if(typeof Y=="string")Y=S[Y];for(let q=1;q<X.length;){let G=X[q++];if(G>=0)U(G,Y,X[q++]);else{let W=X[q+-G];for(let z=-G;z>0;z--)U(X[q++],Y,W);q++}}}if(this.nodeSet=new T0($.map((X,Y)=>q3.define({name:Y>=this.minRepeatTerm?void 0:X,id:Y,props:K[Y],top:J.indexOf(Y)>-1,error:Y==0,skipped:Z.skippedNodes&&Z.skippedNodes.indexOf(Y)>-1}))),Z.propSources)this.nodeSet=this.nodeSet.extend(...Z.propSources);this.strict=!1,this.bufferLength=j1;let Q=u0(Z.tokenData);this.context=Z.context,this.specializerSpecs=Z.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let X=0;X<this.specializerSpecs.length;X++)this.specialized[X]=this.specializerSpecs[X].term;this.specializers=this.specializerSpecs.map(E$),this.states=u0(Z.states,Uint32Array),this.data=u0(Z.stateData),this.goto=u0(Z.goto),this.maxTerm=Z.maxTerm,this.tokenizers=Z.tokenizers.map((X)=>typeof X=="number"?new S9(Q,X):X),this.topRules=Z.topRules,this.dialects=Z.dialects||{},this.dynamicPrecedences=Z.dynamicPrecedences||null,this.tokenPrecTable=Z.tokenPrec,this.termNames=Z.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(Z,$,J){let K=new b$(this,Z,$,J);for(let U of this.wrappers)K=U(K,Z,$,J);return K}getGoto(Z,$,J=!1){let K=this.goto;if($>=K[0])return-1;for(let U=K[$+1];;){let Q=K[U++],X=Q&1,Y=K[U++];if(X&&J)return Y;for(let q=U+(Q>>1);U<q;U++)if(K[U]==Z)return Y;if(X)return-1}}hasAction(Z,$){let J=this.data;for(let K=0;K<2;K++)for(let U=this.stateSlot(Z,K?2:1),Q;;U+=3){if((Q=J[U])==65535)if(J[U+1]==1)Q=J[U=Y9(J,U+2)];else if(J[U+1]==2)return Y9(J,U+2);else break;if(Q==$||Q==0)return Y9(J,U+1)}return 0}stateSlot(Z,$){return this.states[Z*6+$]}stateFlag(Z,$){return(this.stateSlot(Z,0)&$)>0}validAction(Z,$){return!!this.allActions(Z,(J)=>J==$?!0:null)}allActions(Z,$){let J=this.stateSlot(Z,4),K=J?$(J):void 0;for(let U=this.stateSlot(Z,1);K==null;U+=3){if(this.data[U]==65535)if(this.data[U+1]==1)U=Y9(this.data,U+2);else break;K=$(Y9(this.data,U+1))}return K}nextStates(Z){let $=[];for(let J=this.stateSlot(Z,1);;J+=3){if(this.data[J]==65535)if(this.data[J+1]==1)J=Y9(this.data,J+2);else break;if((this.data[J+2]&1)==0){let K=this.data[J+1];if(!$.some((U,Q)=>Q&1&&U==K))$.push(this.data[J],K)}}return $}configure(Z){let $=Object.assign(Object.create(f0.prototype),this);if(Z.props)$.nodeSet=this.nodeSet.extend(...Z.props);if(Z.top){let J=this.topRules[Z.top];if(!J)throw RangeError(`Invalid top rule name ${Z.top}`);$.top=J}if(Z.tokenizers)$.tokenizers=this.tokenizers.map((J)=>{let K=Z.tokenizers.find((U)=>U.from==J);return K?K.to:J});if(Z.specializers)$.specializers=this.specializers.slice(),$.specializerSpecs=this.specializerSpecs.map((J,K)=>{let U=Z.specializers.find((X)=>X.from==J.external);if(!U)return J;let Q=Object.assign(Object.assign({},J),{external:U.to});return $.specializers[K]=E$(Q),Q});if(Z.contextTracker)$.context=Z.contextTracker;if(Z.dialect)$.dialect=this.parseDialect(Z.dialect);if(Z.strict!=null)$.strict=Z.strict;if(Z.wrap)$.wrappers=$.wrappers.concat(Z.wrap);if(Z.bufferLength!=null)$.bufferLength=Z.bufferLength;return $}hasWrappers(){return this.wrappers.length>0}getName(Z){return this.termNames?this.termNames[Z]:String(Z<=this.maxNode&&this.nodeSet.types[Z].name||Z)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(Z){let $=this.dynamicPrecedences;return $==null?0:$[Z]||0}parseDialect(Z){let $=Object.keys(this.dialects),J=$.map(()=>!1);if(Z)for(let U of Z.split(" ")){let Q=$.indexOf(U);if(Q>=0)J[Q]=!0}let K=null;for(let U=0;U<$.length;U++)if(!J[U])for(let Q=this.dialects[$[U]],X;(X=this.data[Q++])!=65535;)(K||(K=new Uint8Array(this.maxTerm+1)))[X]=1;return new k$(Z,J,K)}static deserialize(Z){return new f0(Z)}}function Y9(Z,$){return Z[$]|Z[$+1]<<16}function aU(Z){let $=null;for(let J of Z){let K=J.p.stoppedAt;if((J.pos==J.p.stream.end||K!=null&&J.pos>K)&&J.p.parser.stateFlag(J.state,2)&&(!$||$.score<J.score))$=J}return $}function E$(Z){if(Z.external){let $=Z.extend?1:0;return(J,K)=>Z.external(J,K)<<1|$}return Z.get}var oU=316,tU=317,x$=1,eU=2,ZQ=3,$Q=4,JQ=318,KQ=320,UQ=321,QQ=5,XQ=6,YQ=0,j4=[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],w$=125,qQ=59,_4=47,GQ=42,WQ=43,zQ=45,jQ=60,_Q=44,OQ=63,VQ=46,HQ=91,NQ=new W4({start:!1,shift(Z,$){return $==QQ||$==XQ||$==KQ?Z:$==UQ},strict:!1}),FQ=new b9((Z,$)=>{let{next:J}=Z;if(J==w$||J==-1||$.context)Z.acceptToken(JQ)},{contextual:!0,fallback:!0}),DQ=new b9((Z,$)=>{let{next:J}=Z,K;if(j4.indexOf(J)>-1)return;if(J==_4&&((K=Z.peek(1))==_4||K==GQ))return;if(J!=w$&&J!=qQ&&J!=-1&&!$.context)Z.acceptToken(oU)},{contextual:!0}),LQ=new b9((Z,$)=>{if(Z.next==HQ&&!$.context)Z.acceptToken(tU)},{contextual:!0}),RQ=new b9((Z,$)=>{let{next:J}=Z;if(J==WQ||J==zQ){if(Z.advance(),J==Z.next){Z.advance();let K=!$.context&&$.canShift(x$);Z.acceptToken(K?x$:eU)}}else if(J==OQ&&Z.peek(1)==VQ){if(Z.advance(),Z.advance(),Z.next<48||Z.next>57)Z.acceptToken(ZQ)}},{contextual:!0});function z4(Z,$){return Z>=65&&Z<=90||Z>=97&&Z<=122||Z==95||Z>=192||!$&&Z>=48&&Z<=57}var IQ=new b9((Z,$)=>{if(Z.next!=jQ||!$.dialectEnabled(YQ))return;if(Z.advance(),Z.next==_4)return;let J=0;while(j4.indexOf(Z.next)>-1)Z.advance(),J++;if(z4(Z.next,!0)){Z.advance(),J++;while(z4(Z.next,!1))Z.advance(),J++;while(j4.indexOf(Z.next)>-1)Z.advance(),J++;if(Z.next==_Q)return;for(let K=0;;K++){if(K==7){if(!z4(Z.next,!0))return;break}if(Z.next!="extends".charCodeAt(K))break;Z.advance(),J++}}Z.acceptToken($Q,-J)}),AQ=g5({"get set async static":N.modifier,"for while do if else switch try catch finally return throw break continue default case defer":N.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":N.operatorKeyword,"let var const using function class extends":N.definitionKeyword,"import export from":N.moduleKeyword,"with debugger 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),"NewExpression/VariableName":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 asserts":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)}),BQ={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},MQ={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},EQ={__proto__:null,"<":193},h$=f0.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O![*^O(T*XO!k)OP~P!1uO#k*aO~O!l*bO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T*dO(VTO(YUO(a$uO(y$}O(z%PO~O![*gO!Y)PP~P!3tOr*sOs!nO!S*iO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO(e!mO~O!^*pO~P!5iO#S$dOn(`X!Q(`X'y(`X(y(`X(z(`X!](`X#`(`X~Og(`X$O(`X~P!6kOn*xO#`*wOg(_X!](_X~O!]*yOg(^X~Oj%dOk%dOl%dO(T&ZOg(^P~Os*|O~Og)}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hO![+ZO!](^O!_%iO(T%gO!Y(vP~Os'[O!S+]O![+[O(VTO(YUO(e(|O~O!^(xP~P!9|O!]+^Oa)TX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WO![/mO!](^O(T/lO!Y(vP!Y)PP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const 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 : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < 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 CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts 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 defer 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:380,context:NQ,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[AQ],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!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#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!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$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(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(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%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%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%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)3p/x`$i&j!p),Q(Wp(Z!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(KW1V`#v(Ch$i&j(Wp(Z!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(KW2d_#v(Ch$i&j(Wp(Z!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'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!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<__WS$i&j(Wp(Z!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]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!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%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%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$i&j(Wp(Z!b$]#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;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%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(KWKl_$i&j$Q(Ch(Wp(Z!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,#xLva(z+JY$i&j(Wp(Z!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(KWNW`$i&j#z(Ch(Wp(Z!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'At! c_(Y';W$i&j(WpOY!!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'l!!i_$i&j(WpOY!!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&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!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#&U!)O_!k!Lf$i&j(Wp(Z!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!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%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(KW!+o`$i&j(Wp(Z!b#n(ChOY%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!,|`$i&j(Wp(Z!br+4YOY%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,$U!.Z_!]+Jf$i&j(Wp(Z!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%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%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#%|!0ya$i&j(Wp(Z!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#%|!2Z_![!L^$i&j(Wp(Z!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'Ad!3eg$i&j(Wp(Z!bs'9tOY%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'Ad!5Vg$i&j(Wp(Z!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'Ad!6wc$i&j(Wp(Z!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'Ad!8_c$i&j(Wp(Z!bs'9tOY%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%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%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'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!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)[#Jv_al$i&j(Wp(Z!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%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!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*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!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(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!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(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!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%#`$,}_!|$Ip$i&j(Wp(Z!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%Z04f$.X_!S0,v$i&j(Wp(Z!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$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!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(KW$6U`#x(Ch$i&j(Wp(Z!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+;p$7c_$i&j(Wp(Z!b(a+4QOY%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%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!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?O$@a_!q7`$i&j(Wp(Z!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%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%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$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%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:[DQ,LQ,RQ,IQ,2,3,4,5,6,7,8,9,10,11,12,13,14,FQ,new p0("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!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(c~~",141,340),new p0("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{"80":1,"82":1,"94":1,"169":1,"199":1},specialized:[{term:327,get:(Z)=>BQ[Z]||-1},{term:343,get:(Z)=>MQ[Z]||-1},{term:95,get:(Z)=>EQ[Z]||-1}],tokenPrec:15201});var g$=[N3("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),N3("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),N3("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),N3("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),N3("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),N3(`try {
12
+ \${}
13
+ } catch (\${error}) {
14
+ \${}
15
+ }`,{label:"try",detail:"/ catch block",type:"keyword"}),N3("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),N3(`if (\${}) {
16
+ \${}
17
+ } else {
18
+ \${}
19
+ }`,{label:"if",detail:"/ else block",type:"keyword"}),N3(`class \${name} {
20
+ constructor(\${params}) {
21
+ \${}
22
+ }
23
+ }`,{label:"class",detail:"definition",type:"keyword"}),N3('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),N3('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],PQ=g$.concat([N3("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),N3("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),N3("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),v$=new TZ,f$=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function l0(Z){return($,J)=>{let K=$.node.getChild("VariableDefinition");if(K)J(K,Z);return!0}}var CQ=["FunctionDeclaration"],TQ={FunctionDeclaration:l0("function"),ClassDeclaration:l0("class"),ClassExpression:()=>!0,EnumDeclaration:l0("constant"),TypeAliasDeclaration:l0("type"),NamespaceDeclaration:l0("namespace"),VariableDefinition(Z,$){if(!Z.matchContext(CQ))$(Z,"variable")},TypeDefinition(Z,$){$(Z,"type")},__proto__:null};function p$(Z,$){let J=v$.get($);if(J)return J;let K=[],U=!0;function Q(X,Y){let q=Z.sliceString(X.from,X.to);K.push({label:q,type:Y})}return $.cursor(g.IncludeAnonymous).iterate((X)=>{if(U)U=!1;else if(X.name){let Y=TQ[X.name];if(Y&&Y(X,Q)||f$.has(X.name))return!1}else if(X.to-X.from>8192){for(let Y of p$(Z,X.node))K.push(Y);return!1}}),v$.set($,K),K}var m$=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,l$=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function yQ(Z){let $=J3(Z.state).resolveInner(Z.pos,-1);if(l$.indexOf($.name)>-1)return null;let J=$.name=="VariableName"||$.to-$.from<20&&m$.test(Z.state.sliceDoc($.from,$.to));if(!J&&!Z.explicit)return null;let K=[];for(let U=$;U;U=U.parent)if(f$.has(U.name))K=K.concat(p$(Z.state.doc,U));return{options:K,from:J?$.from:Z.pos,validFor:m$}}var k9=k0.define({name:"javascript",parser:h$.configure({props:[lZ.add({IfStatement:i5({except:/^\s*({|else\b)/}),TryStatement:i5({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:g1,SwitchBody:(Z)=>{let $=Z.textAfter,J=/^\s*\}/.test($),K=/^\s*(case|default)\b/.test($);return Z.baseIndent+(J?0:K?1:2)*Z.unit},Block:m1({closing:"}"}),ArrowFunction:(Z)=>Z.baseIndent+Z.unit,"TemplateString BlockComment":()=>null,"Statement Property":i5({except:/^\s*{/}),JSXElement(Z){let $=/^\s*<\//.test(Z.textAfter);return Z.lineIndent(Z.node.from)+($?0:Z.unit)},JSXEscape(Z){let $=/\s*\}/.test(Z.textAfter);return Z.lineIndent(Z.node.from)+($?0:Z.unit)},"JSXOpenTag JSXSelfClosingTag"(Z){return Z.column(Z.node.from)+Z.unit}}),cZ.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":f1,BlockComment(Z){return{from:Z.from+2,to:Z.to-2}},JSXElement(Z){let $=Z.firstChild;if(!$||$.name=="JSXSelfClosingTag")return null;let J=Z.lastChild;return{from:$.to,to:J.type.isError?Z.to:J.from}},"JSXSelfClosingTag JSXOpenTag"(Z){var $;let J=($=Z.firstChild)===null||$===void 0?void 0:$.nextSibling,K=Z.lastChild;if(!J||J.type.isError)return null;return{from:J.to,to:K.type.isError?Z.to:K.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),d$={test:(Z)=>/^JSX/.test(Z.name),facet:gZ({commentTokens:{block:{open:"{/*",close:"*/}"}}})},SQ=k9.configure({dialect:"ts"},"typescript"),bQ=k9.configure({dialect:"jsx",props:[s5.add((Z)=>Z.isTop?[d$]:void 0)]}),kQ=k9.configure({dialect:"jsx ts",props:[s5.add((Z)=>Z.isTop?[d$]:void 0)]},"typescript"),c$=(Z)=>({label:Z,type:"keyword"}),s$="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(c$),xQ=s$.concat(["declare","implements","private","protected","public"].map(c$));function YY(Z={}){let $=Z.jsx?Z.typescript?kQ:bQ:Z.typescript?SQ:k9,J=Z.typescript?PQ.concat(xQ):g$.concat(s$);return new fZ($,[k9.data.of({autocomplete:q$(l$,tZ(J))}),k9.data.of({autocomplete:yQ}),Z.jsx?vQ:[]])}function wQ(Z){for(;;){if(Z.name=="JSXOpenTag"||Z.name=="JSXSelfClosingTag"||Z.name=="JSXFragmentTag")return Z;if(Z.name=="JSXEscape"||!Z.parent)return null;Z=Z.parent}}function u$(Z,$,J=Z.length){for(let K=$===null||$===void 0?void 0:$.firstChild;K;K=K.nextSibling)if(K.name=="JSXIdentifier"||K.name=="JSXBuiltin"||K.name=="JSXNamespacedName"||K.name=="JSXMemberExpression")return Z.sliceString(K.from,Math.min(K.to,J));return""}var hQ=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),vQ=T.inputHandler.of((Z,$,J,K,U)=>{if((hQ?Z.composing:Z.compositionStarted)||Z.state.readOnly||$!=J||K!=">"&&K!="/"||!k9.isActiveAt(Z.state,$,-1))return!1;let Q=U(),{state:X}=Q,Y=X.changeByRange((q)=>{var G;let{head:W}=q,z=J3(X).resolveInner(W-1,-1),j;if(z.name=="JSXStartTag")z=z.parent;if(X.doc.sliceString(W-1,W)!=K||z.name=="JSXAttributeValue"&&z.to>W);else if(K==">"&&z.name=="JSXFragmentTag")return{range:q,changes:{from:W,insert:"</>"}};else if(K=="/"&&z.name=="JSXStartCloseTag"){let _=z.parent,O=_.parent;if(O&&_.from==W-2&&((j=u$(X.doc,O.firstChild,W))||((G=O.firstChild)===null||G===void 0?void 0:G.name)=="JSXFragmentTag")){let V=`${j}>`;return{range:L.cursor(W+V.length,-1),changes:{from:W,insert:V}}}}else if(K==">"){let _=wQ(z);if(_&&_.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(X.doc.sliceString(W,W+2))&&(j=u$(X.doc,_,W)))return{range:q,changes:{from:W,insert:`</${j}>`}}}return{range:q}});if(Y.changes.empty)return!1;return Z.dispatch([Q,X.update(Y,{userEvent:"input.complete",scrollIntoView:!0})]),!0});
24
+ export{m as a,P3 as b,_3 as c,N7 as d,x3 as e,Z9 as f,e as g,L as h,E as i,Q3 as j,c3 as k,t0 as l,s3 as m,x as n,$3 as o,F3 as p,u as q,J9 as r,$9 as s,Y0 as t,W9 as u,T3 as v,w,l as x,t as y,T as z,S5 as A,iQ as B,rQ as C,aQ as D,oQ as E,tQ as F,eQ as G,ZX as H,$X as I,JX as J,KX as K,UX as L,$Z as M,QX as N,XX as O,YX as P,S as Q,q3 as R,T0 as S,g as T,i as U,TZ as V,y0 as W,FX as X,y3 as Y,g5 as Z,N as _,o9 as $,gZ as aa,S3 as ba,k0 as ca,J3 as da,l5 as ea,fZ as fa,h1 as ga,n5 as ha,PK as ia,CK as ja,TK as ka,pZ as la,lZ as ma,i5 as na,CX as oa,vK as pa,cZ as qa,f1 as ra,TX as sa,yX as ta,a5 as ua,SX as va,bX as wa,kX as xa,$U as ya,f5 as za,oZ as Aa,N3 as Ba,lX as Ca,dX as Da,cX as Ea,nU as Fa,p0 as Ga,b9 as Ha,W4 as Ia,f0 as Ja,k9 as Ka,SQ as La,bQ as Ma,kQ as Na,YY as Oa};
25
+
26
+ //# debugId=6E108BF62BC771A764756E2164756E21
27
+ //# sourceMappingURL=index-iife-kwhe0yt8.js.map