@weapp-vite/dashboard 7.0.3 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/assets/monaco.js
CHANGED
|
@@ -73,7 +73,7 @@ Received: '{1}'.`,t,qs.getLexeme(n)),a=n.offset,o=qs.getLexeme(n);return this._p
|
|
|
73
73
|
`)),a=this._computer.computeDiff(r.value,i.value,{ignoreTrimWhitespace:!0,computeMoves:n.computeMoves,extendToSubwords:n.extendToSubwords}),o=r.getTransformer(),s=i.getTransformer(),c=[],l=0;for(let e of a.edits.replacements){let t=e.range.start+l,n=t+e.newText.length,r=o.getRange(new Ed(e.range.start,e.range.endExclusive)),i=s.getRange(new Ed(t,n));c.push(new Am(r,i)),l+=e.newText.length-(e.range.endExclusive-e.range.start)}let u=jm(c,r,i),d=[];if(n.computeMoves)for(let e of a.moves){let t=o.getPosition(e.range.original.start),n=o.getPosition(e.range.original.endExclusive),r=s.getPosition(e.range.modified.start),i=s.getPosition(e.range.modified.endExclusive),a=new mm(t.lineNumber,n.lineNumber),c=new mm(r.lineNumber,i.lineNumber);d.push(new am(new Em(a,c),[]))}return new im(u,d,a.hitTimeout)}},gh={getLegacy:()=>new mae,getDefault:()=>new Mae,getAdvancedExternal:()=>hh(!1),getAdvancedWasm:()=>hh(!0)};function _h(e,t){let n=10**t;return Math.round(e*n)/n}var K=class{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,n))|0,this.a=_h(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},vh=class e{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=_h(Math.max(Math.min(1,t),0),3),this.l=_h(Math.max(Math.min(1,n),0),3),this.a=_h(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=t.a,o=Math.max(n,r,i),s=Math.min(n,r,i),c=0,l=0,u=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(u<=.5?d/(2*u):d/(2-2*u),1),o){case n:c=(r-i)/d+(r<i?6:0);break;case r:c=(i-n)/d+2;break;case i:c=(n-r)/d+4}c*=60,c=Math.round(c)}return new e(c,l,u,a)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(t){let n=t.h/360,{s:r,l:i,a}=t,o,s,c;if(r===0)o=s=c=i;else{let t=i<.5?i*(1+r):i+r-i*r,a=2*i-t;o=e._hue2rgb(a,t,n+1/3),s=e._hue2rgb(a,t,n),c=e._hue2rgb(a,t,n-1/3)}return new K(Math.round(o*255),Math.round(s*255),Math.round(c*255),a)}},yh=class e{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=_h(Math.max(Math.min(1,t),0),3),this.v=_h(Math.max(Math.min(1,n),0),3),this.a=_h(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=Math.max(n,r,i),o=a-Math.min(n,r,i),s=a===0?0:o/a,c;return c=o===0?0:a===n?((r-i)/o%6+6)%6:a===r?(i-n)/o+2:(n-r)/o+4,new e(Math.round(c*60),s,a,t.a)}static toRGBA(e){let{h:t,s:n,v:r,a:i}=e,a=r*n,o=a*(1-Math.abs(t/60%2-1)),s=r-a,[c,l,u]=[0,0,0];return t<60?(c=a,l=o):t<120?(c=o,l=a):t<180?(l=a,u=o):t<240?(l=o,u=a):t<300?(c=o,u=a):t<=360&&(c=a,u=o),c=Math.round((c+s)*255),l=Math.round((l+s)*255),u=Math.round((u+s)*255),new K(c,l,u,i)}},q=class e{static fromHex(t){return e.Format.CSS.parseHex(t)||e.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:vh.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:yh.fromRGBA(this.rgba)}constructor(e){if(!e)throw Error(`Color needs a value`);if(e instanceof K)this.rgba=e;else if(e instanceof vh)this._hsla=e,this.rgba=vh.toRGBA(e);else if(e instanceof yh)this._hsva=e,this.rgba=yh.toRGBA(e);else throw Error(`Invalid color ctor argument`)}equals(e){return!!e&&K.equals(this.rgba,e.rgba)&&vh.equals(this.hsla,e.hsla)&&yh.equals(this.hsva,e.hsva)}getRelativeLuminance(){let t=e._relativeLuminanceForComponent(this.rgba.r),n=e._relativeLuminanceForComponent(this.rgba.g),r=e._relativeLuminanceForComponent(this.rgba.b);return _h(.2126*t+.7152*n+.0722*r,4)}static _relativeLuminanceForComponent(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(t){return new e(new vh(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))}darken(t){return new e(new vh(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))}transparent(t){let{r:n,g:r,b:i,a}=this.rgba;return new e(new K(n,r,i,a*t))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new e(new K(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(t,n=.5){let r=Math.min(Math.max(n,0),1),i=this.rgba,a=t.rgba,o=i.r+(a.r-i.r)*r,s=i.g+(a.g-i.g)*r,c=i.b+(a.b-i.b)*r,l=i.a+(a.a-i.a)*r;return new e(new K(o,s,c,l))}makeOpaque(t){if(this.isOpaque()||t.rgba.a!==1)return this;let{r:n,g:r,b:i,a}=this.rgba;return new e(new K(t.rgba.r-a*(t.rgba.r-n),t.rgba.g-a*(t.rgba.g-r),t.rgba.b-a*(t.rgba.b-i),1))}toString(){return this._toString||=e.Format.CSS.format(this),this._toString}toNumber32Bit(){return this._toNumber32Bit||=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0,this._toNumber32Bit}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(i-r)/i,e.lighten(n)}static getDarkerColor(e,t,n){if(e.isDarkerThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(r-i)/r,e.darken(n)}static{this.white=new e(new K(255,255,255,1))}static{this.black=new e(new K(0,0,0,1))}static{this.red=new e(new K(255,0,0,1))}static{this.blue=new e(new K(0,0,255,1))}static{this.green=new e(new K(0,255,0,1))}static{this.cyan=new e(new K(0,255,255,1))}static{this.lightgrey=new e(new K(211,211,211,1))}static{this.transparent=new e(new K(0,0,0,0))}};(function(e){(function(t){(function(t){function n(t){return t.rgba.a===1?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)}t.formatRGB=n;function r(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`}t.formatRGBA=r;function i(t){return t.hsla.a===1?`hsl(${t.hsla.h}, ${Math.round(t.hsla.s*100)}%, ${Math.round(t.hsla.l*100)}%)`:e.Format.CSS.formatHSLA(t)}t.formatHSL=i;function a(e){return`hsla(${e.hsla.h}, ${Math.round(e.hsla.s*100)}%, ${Math.round(e.hsla.l*100)}%, ${e.hsla.a.toFixed(2)})`}t.formatHSLA=a;function o(e){let t=e.toString(16);return t.length===2?t:`0`+t}function s(e){return`#${o(e.rgba.r)}${o(e.rgba.g)}${o(e.rgba.b)}`}t.formatHex=s;function c(t,n=!1){return n&&t.rgba.a===1?e.Format.CSS.formatHex(t):`#${o(t.rgba.r)}${o(t.rgba.g)}${o(t.rgba.b)}${o(Math.round(t.rgba.a*255))}`}t.formatHexA=c;function l(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)}t.format=l;function u(t){if(t===`transparent`)return e.transparent;if(t.startsWith(`#`))return f(t);if(t.startsWith(`rgba(`)){let n=t.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new K(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`),parseFloat(n.groups?.a??`0`)))}if(t.startsWith(`rgb(`)){let n=t.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new K(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`)))}return d(t)}t.parse=u;function d(t){switch(t){case`aliceblue`:return new e(new K(240,248,255,1));case`antiquewhite`:return new e(new K(250,235,215,1));case`aqua`:return new e(new K(0,255,255,1));case`aquamarine`:return new e(new K(127,255,212,1));case`azure`:return new e(new K(240,255,255,1));case`beige`:return new e(new K(245,245,220,1));case`bisque`:return new e(new K(255,228,196,1));case`black`:return new e(new K(0,0,0,1));case`blanchedalmond`:return new e(new K(255,235,205,1));case`blue`:return new e(new K(0,0,255,1));case`blueviolet`:return new e(new K(138,43,226,1));case`brown`:return new e(new K(165,42,42,1));case`burlywood`:return new e(new K(222,184,135,1));case`cadetblue`:return new e(new K(95,158,160,1));case`chartreuse`:return new e(new K(127,255,0,1));case`chocolate`:return new e(new K(210,105,30,1));case`coral`:return new e(new K(255,127,80,1));case`cornflowerblue`:return new e(new K(100,149,237,1));case`cornsilk`:return new e(new K(255,248,220,1));case`crimson`:return new e(new K(220,20,60,1));case`cyan`:return new e(new K(0,255,255,1));case`darkblue`:return new e(new K(0,0,139,1));case`darkcyan`:return new e(new K(0,139,139,1));case`darkgoldenrod`:return new e(new K(184,134,11,1));case`darkgray`:return new e(new K(169,169,169,1));case`darkgreen`:return new e(new K(0,100,0,1));case`darkgrey`:return new e(new K(169,169,169,1));case`darkkhaki`:return new e(new K(189,183,107,1));case`darkmagenta`:return new e(new K(139,0,139,1));case`darkolivegreen`:return new e(new K(85,107,47,1));case`darkorange`:return new e(new K(255,140,0,1));case`darkorchid`:return new e(new K(153,50,204,1));case`darkred`:return new e(new K(139,0,0,1));case`darksalmon`:return new e(new K(233,150,122,1));case`darkseagreen`:return new e(new K(143,188,143,1));case`darkslateblue`:return new e(new K(72,61,139,1));case`darkslategray`:return new e(new K(47,79,79,1));case`darkslategrey`:return new e(new K(47,79,79,1));case`darkturquoise`:return new e(new K(0,206,209,1));case`darkviolet`:return new e(new K(148,0,211,1));case`deeppink`:return new e(new K(255,20,147,1));case`deepskyblue`:return new e(new K(0,191,255,1));case`dimgray`:return new e(new K(105,105,105,1));case`dimgrey`:return new e(new K(105,105,105,1));case`dodgerblue`:return new e(new K(30,144,255,1));case`firebrick`:return new e(new K(178,34,34,1));case`floralwhite`:return new e(new K(255,250,240,1));case`forestgreen`:return new e(new K(34,139,34,1));case`fuchsia`:return new e(new K(255,0,255,1));case`gainsboro`:return new e(new K(220,220,220,1));case`ghostwhite`:return new e(new K(248,248,255,1));case`gold`:return new e(new K(255,215,0,1));case`goldenrod`:return new e(new K(218,165,32,1));case`gray`:return new e(new K(128,128,128,1));case`green`:return new e(new K(0,128,0,1));case`greenyellow`:return new e(new K(173,255,47,1));case`grey`:return new e(new K(128,128,128,1));case`honeydew`:return new e(new K(240,255,240,1));case`hotpink`:return new e(new K(255,105,180,1));case`indianred`:return new e(new K(205,92,92,1));case`indigo`:return new e(new K(75,0,130,1));case`ivory`:return new e(new K(255,255,240,1));case`khaki`:return new e(new K(240,230,140,1));case`lavender`:return new e(new K(230,230,250,1));case`lavenderblush`:return new e(new K(255,240,245,1));case`lawngreen`:return new e(new K(124,252,0,1));case`lemonchiffon`:return new e(new K(255,250,205,1));case`lightblue`:return new e(new K(173,216,230,1));case`lightcoral`:return new e(new K(240,128,128,1));case`lightcyan`:return new e(new K(224,255,255,1));case`lightgoldenrodyellow`:return new e(new K(250,250,210,1));case`lightgray`:return new e(new K(211,211,211,1));case`lightgreen`:return new e(new K(144,238,144,1));case`lightgrey`:return new e(new K(211,211,211,1));case`lightpink`:return new e(new K(255,182,193,1));case`lightsalmon`:return new e(new K(255,160,122,1));case`lightseagreen`:return new e(new K(32,178,170,1));case`lightskyblue`:return new e(new K(135,206,250,1));case`lightslategray`:return new e(new K(119,136,153,1));case`lightslategrey`:return new e(new K(119,136,153,1));case`lightsteelblue`:return new e(new K(176,196,222,1));case`lightyellow`:return new e(new K(255,255,224,1));case`lime`:return new e(new K(0,255,0,1));case`limegreen`:return new e(new K(50,205,50,1));case`linen`:return new e(new K(250,240,230,1));case`magenta`:return new e(new K(255,0,255,1));case`maroon`:return new e(new K(128,0,0,1));case`mediumaquamarine`:return new e(new K(102,205,170,1));case`mediumblue`:return new e(new K(0,0,205,1));case`mediumorchid`:return new e(new K(186,85,211,1));case`mediumpurple`:return new e(new K(147,112,219,1));case`mediumseagreen`:return new e(new K(60,179,113,1));case`mediumslateblue`:return new e(new K(123,104,238,1));case`mediumspringgreen`:return new e(new K(0,250,154,1));case`mediumturquoise`:return new e(new K(72,209,204,1));case`mediumvioletred`:return new e(new K(199,21,133,1));case`midnightblue`:return new e(new K(25,25,112,1));case`mintcream`:return new e(new K(245,255,250,1));case`mistyrose`:return new e(new K(255,228,225,1));case`moccasin`:return new e(new K(255,228,181,1));case`navajowhite`:return new e(new K(255,222,173,1));case`navy`:return new e(new K(0,0,128,1));case`oldlace`:return new e(new K(253,245,230,1));case`olive`:return new e(new K(128,128,0,1));case`olivedrab`:return new e(new K(107,142,35,1));case`orange`:return new e(new K(255,165,0,1));case`orangered`:return new e(new K(255,69,0,1));case`orchid`:return new e(new K(218,112,214,1));case`palegoldenrod`:return new e(new K(238,232,170,1));case`palegreen`:return new e(new K(152,251,152,1));case`paleturquoise`:return new e(new K(175,238,238,1));case`palevioletred`:return new e(new K(219,112,147,1));case`papayawhip`:return new e(new K(255,239,213,1));case`peachpuff`:return new e(new K(255,218,185,1));case`peru`:return new e(new K(205,133,63,1));case`pink`:return new e(new K(255,192,203,1));case`plum`:return new e(new K(221,160,221,1));case`powderblue`:return new e(new K(176,224,230,1));case`purple`:return new e(new K(128,0,128,1));case`rebeccapurple`:return new e(new K(102,51,153,1));case`red`:return new e(new K(255,0,0,1));case`rosybrown`:return new e(new K(188,143,143,1));case`royalblue`:return new e(new K(65,105,225,1));case`saddlebrown`:return new e(new K(139,69,19,1));case`salmon`:return new e(new K(250,128,114,1));case`sandybrown`:return new e(new K(244,164,96,1));case`seagreen`:return new e(new K(46,139,87,1));case`seashell`:return new e(new K(255,245,238,1));case`sienna`:return new e(new K(160,82,45,1));case`silver`:return new e(new K(192,192,192,1));case`skyblue`:return new e(new K(135,206,235,1));case`slateblue`:return new e(new K(106,90,205,1));case`slategray`:return new e(new K(112,128,144,1));case`slategrey`:return new e(new K(112,128,144,1));case`snow`:return new e(new K(255,250,250,1));case`springgreen`:return new e(new K(0,255,127,1));case`steelblue`:return new e(new K(70,130,180,1));case`tan`:return new e(new K(210,180,140,1));case`teal`:return new e(new K(0,128,128,1));case`thistle`:return new e(new K(216,191,216,1));case`tomato`:return new e(new K(255,99,71,1));case`turquoise`:return new e(new K(64,224,208,1));case`violet`:return new e(new K(238,130,238,1));case`wheat`:return new e(new K(245,222,179,1));case`white`:return new e(new K(255,255,255,1));case`whitesmoke`:return new e(new K(245,245,245,1));case`yellow`:return new e(new K(255,255,0,1));case`yellowgreen`:return new e(new K(154,205,50,1));default:return null}}function f(t){let n=t.length;if(n===0||t.charCodeAt(0)!==35)return null;if(n===7)return new e(new K(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),1));if(n===9)return new e(new K(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),(16*p(t.charCodeAt(7))+p(t.charCodeAt(8)))/255));if(n===4){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3));return new e(new K(16*n+n,16*r+r,16*i+i))}if(n===5){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3)),a=p(t.charCodeAt(4));return new e(new K(16*n+n,16*r+r,16*i+i,(16*a+a)/255))}return null}t.parseHex=f;function p(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(t.CSS||={})})(e.Format||={})})(q||={});function bh(e){let t=[];for(let n of e){let e=Number(n);(e||e===0&&n.replace(/\s/g,``)!==``)&&t.push(e)}return t}function xh(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function Sh(e,t){let n=t.index,r=t[0].length;if(n===void 0)return;let i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function Vae(e,t){if(!e)return;let n=q.Format.CSS.parseHex(t);if(n)return{range:e,color:xh(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}}function Ch(e,t,n){if(!e||t.length!==1)return;let r=bh(t[0].values());return{range:e,color:xh(r[0],r[1],r[2],n?r[3]:1)}}function wh(e,t,n){if(!e||t.length!==1)return;let r=bh(t[0].values()),i=new q(new vh(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:xh(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function Th(e,t){return typeof e==`string`?[...e.matchAll(t)]:e.findMatches(t)}function Hae(e){let t=[],n=Th(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%\/]*\))|^(#)([A-Fa-f0-9]{3})\b|^(#)([A-Fa-f0-9]{4})\b|^(#)([A-Fa-f0-9]{6})\b|^(#)([A-Fa-f0-9]{8})\b|(?<=['"\s])(#)([A-Fa-f0-9]{3})\b|(?<=['"\s])(#)([A-Fa-f0-9]{4})\b|(?<=['"\s])(#)([A-Fa-f0-9]{6})\b|(?<=['"\s])(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(let r of n){let n=r.filter(e=>e!==void 0),i=n[1],a=n[2];if(!a)continue;let o;i===`rgb`?o=Ch(Sh(e,r),Th(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm),!1):i===`rgba`?o=Ch(Sh(e,r),Th(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm),!0):i===`hsl`?o=wh(Sh(e,r),Th(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm),!1):i===`hsla`?o=wh(Sh(e,r),Th(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\s*\)$/gm),!0):i===`#`&&(o=Vae(Sh(e,r),i+a)),o&&t.push(o)}return t}function Uae(e){return!e||typeof e.getValue!=`function`||typeof e.positionAt!=`function`?[]:Hae(e)}var Wae=/^-+|-+$/g,Gae=100;function Kae(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){let r=qae(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){let r=Jae(e,t);n=n.concat(r)}return n}function qae(e,t){let n=[],r=e.getLineCount();for(let i=1;i<=r;i++){let r=e.getLineContent(i),a=r.match(t.foldingRules.markers.start);if(a){let e={startLineNumber:i,startColumn:a[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){let t={range:e,...Yae(r.substring(a[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}function Jae(e,t){let n=[],r=e.getLineCount();if(!t.markSectionHeaderRegex||t.markSectionHeaderRegex.trim()===``)return n;let i=Yp(t.markSectionHeaderRegex),a=new RegExp(t.markSectionHeaderRegex,`gdm${i?`s`:``}`);if(Jn(a))return n;for(let t=1;t<=r;t+=95){let i=Math.min(t+Gae-1,r),o=[];for(let n=t;n<=i;n++)o.push(e.getLineContent(n));let s=o.join(`
|
|
74
74
|
`);a.lastIndex=0;let c;for(;(c=a.exec(s))!==null;){let e=s.substring(0,c.index),r=(e.match(/\n/g)||[]).length,i=t+r,o=c[0].split(`
|
|
75
75
|
`),l=o.length,u=i+l-1,d=e.lastIndexOf(`
|
|
76
|
-
`)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function Yae(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Wae,``),{text:e,hasSeparatorLine:t}}var Xae=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Yl(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Yl(e),t=Yl(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Yl(e),t=Yl(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Yl(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Eh(r,e-a)}},Zae=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Eh(t,e-(t>0?this._prefixSum[t-1]:0))}return new Eh(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Ui(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Eh=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Qae=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new F(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Xae(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=Yn(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},$ae=6e4,eoe=class extends E{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new kn;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round($ae/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Ut(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new T;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(w(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Ut(t)}},toe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new noe(ei.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},noe=class extends Qae{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new F(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=Eu(e.column,wu(t),this._lines[e.lineNumber-1],0);return n?new U(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!F.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},roe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new toe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?tm.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Kae(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await ioe(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?U.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)U.getEndPosition(n[s].range).equals(U.getStartPosition(n[e].range))?(n[s].range=U.fromPositions(U.getStartPosition(n[s].range),U.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),U.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Wie(n,s,r),u=i.offsetAt(U.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?qie(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Uae(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new $t,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Jie.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=qp());function ioe(e){switch(e){case`legacy`:return gh.getLegacy();case`advanced`:return gh.getDefault();case`advanced-external`:return gh.getAdvancedExternal();case`advanced-wasm`:return gh.getAdvancedWasm()}}var Dh=As(`textResourceConfigurationService`),Oh=As(`textResourcePropertiesService`),J=As(`ILanguageFeaturesService`),aoe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};function ooe(){return td.defaultChatAgent?.completionsEnablementSetting}function soe(e,t,n=`*`){let r=ooe();return r?kh(e.getValue(t,r),n):!1}function kh(e,t=`*`){return we(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var Ah=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jh=function(e,t){return function(n,r){t(n,r,e)}},Mh,Nh=3e5;function Ph(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Fh=class extends E{static{Mh=this}static{this.workerDescriptor=new Uie({esmModuleLocation:()=>mi.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`})}constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new Ih(Mh.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!Ph(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new coe(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return Ph(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);if(!i)return null;return{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new am(new Em(new mm(e[0],e[1]),new mm(e[2],e[3])),a(e[4])))};function a(e){return e.map(e=>new km(new mm(e[0],e[1]),new mm(e[2],e[3]),e[4]?.map(e=>new Am(new U(e[0],e[1],e[2],e[3]),new U(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(Bi(t)){if(!Ph(this._modelService,e))return Promise.resolve(t);let r=$t.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,Tn(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return Ph(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return Ph(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};Fh=Mh=Ah([jh(0,Ms),jh(1,Dh),jh(2,nl),jh(3,gd),jh(4,J),jh(5,xf)],Fh);var coe=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&soe(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)Ph(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Ph(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},Ih=class extends E{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new wo).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Nh/2),p),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Nh&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new Lh(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};Ih=Ah([jh(1,Ms),jh(2,xf)],Ih);var loe=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},Lh=class extends E{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),aoe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){_f(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return _f(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new loe(new roe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new eoe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(ue());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};Lh=Ah([jh(2,Ms),jh(3,xf)],Lh);var Rh=As(`markerDecorationsService`),uoe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},doe=function(e,t){return function(n,r){t(n,r,e)}},zh=class{static{this.ID=`editor.contrib.markerDecorations`}constructor(e,t){}dispose(){}};zh=uoe([doe(1,Rh)],zh),Ju(mf,Fh,0),yl(zh.ID,zh,0);var Bh=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingLeft=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}focus(){this.domNode.focus()}setMaxWidth(e){let t=Vh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Vh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Vh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Vh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Vh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Vh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Vh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){let t=Vh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Vh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Vh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Vh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Vh(e){return typeof e==`number`?`${e}px`:e}function Hh(e){return new Bh(e)}function Uh(e,t){e instanceof Bh?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Wh=class extends E{constructor(e,t){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{Co(lo(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},foe=class extends E{constructor(e){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1),this._register(w(()=>this._mediaQueryList?.removeEventListener(`change`,this._listener)))}_handleChange(e,t){this._mediaQueryList?.removeEventListener(`change`,this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(`change`,this._listener),t&&this._onDidChange.fire()}},poe=class extends E{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);let t=this._register(new foe(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){let t=document.createElement(`canvas`).getContext(`2d`);return(e.devicePixelRatio||1)/(t?.webkitBackingStorePixelRatio||t?.mozBackingStorePixelRatio||t?.msBackingStorePixelRatio||t?.oBackingStorePixelRatio||t?.backingStorePixelRatio||1)}},Gh=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){let t=fo(e),n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=Vt(new poe(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),D.once(ane)(({vscodeWindowId:e})=>{e===t&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}},moe=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},hoe=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Uh(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Uh(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Uh(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){let t=this._requests[e],n=this._testElements[e];t.fulfill(n.offsetWidth/256)}}};function goe(e,t,n){new hoe(t,n).read(e)}var Kh=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new O,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},_oe=Qe?1.5:1.35,qh=class e{static _create(t,n,r,i,a,o,s,c,l){o===0?o=_oe*r:o<8&&(o*=r),o=Math.round(o),o<8&&(o=8);let u=1+(l?0:Kh.getZoomLevel()*.1);return r*=u,o*=u,a===`translate`&&(n===`normal`||n===`bold`?a=Yh:(a=`'wght' ${parseInt(n,10)}`,n=`normal`)),new e({pixelRatio:c,fontFamily:t,fontWeight:n,fontSize:r,fontFeatureSettings:i,fontVariationSettings:a,lineHeight:o,letterSpacing:s})}constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.fontVariationSettings=e.fontVariationSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Xh.fontFamily,n=e._wrapInQuotes(this.fontFamily);return this.fontFamily===t?n:`${n}, ${t}`}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}},Jh=class extends qh{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=2,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},Yh=`normal`,voe=`translate`,Xh={fontFamily:Qe?`Menlo, Monaco, 'Courier New', monospace`:Ze?`Consolas, 'Courier New', monospace`:`'Droid Sans Mono', monospace`,fontWeight:`normal`,fontSize:Qe?12:14,lineHeight:0,letterSpacing:0},Zh={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},Qh=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},$h=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},eg=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return ng(e,t)}compute(e,t,n){return n}},tg=class{constructor(e,t){this.newValue=e,this.didChange=t}};function ng(e,t){if(typeof e!=`object`||typeof t!=`object`||!e||!t)return new tg(t,e!==t);if(Array.isArray(e)||Array.isArray(t))return new tg(t,!(Array.isArray(e)&&Array.isArray(t)&&Ai(e,t)));let n=!1;for(let r in t)if(t.hasOwnProperty(r)){let i=ng(e[r],t[r]);i.didChange&&(e[r]=i.newValue,n=!0)}return new tg(e,n)}var rg=class{constructor(e,t){this.schema=void 0,this.id=e,this.name=`_never_`,this.defaultValue=t}applyUpdate(e,t){return ng(e,t)}validate(e){return this.defaultValue}},ig=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return ng(e,t)}compute(e,t,n){return n}};function ag(e,t){return e===void 0?t:e!==`false`&&!!e}var og=class extends ig{constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`boolean`,r.default=n),super(e,t,n,r)}validate(e){return ag(e,this.defaultValue)}};function sg(e,t,n,r){if(typeof e==`string`&&(e=parseInt(e,10)),typeof e!=`number`||isNaN(e))return t;let i=e;return i=Math.max(n,i),i=Math.min(r,i),i|0}var cg=class e extends ig{static clampedInt(e,t,n,r){return sg(e,t,n,r)}constructor(e,t,n,r,i,a=void 0){a!==void 0&&(a.type=`integer`,a.default=n,a.minimum=r,a.maximum=i),super(e,t,n,a),this.minimum=r,this.maximum=i}validate(t){return e.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}};function yoe(e,t,n,r){if(e===void 0)return t;let i=lg.float(e,t);return lg.clamp(i,n,r)}var lg=class e extends ig{static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){return typeof e==`string`&&(e=parseFloat(e)),typeof e!=`number`||isNaN(e)?t:e}constructor(e,t,n,r,i,a,o){i!==void 0&&(i.type=`number`,i.default=n,i.minimum=a,i.maximum=o),super(e,t,n,i),this.validationFn=r,this.minimum=a,this.maximum=o}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},ug=class e extends ig{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function dg(e,t,n,r){return typeof e==`string`?r&&e in r?r[e]:n.indexOf(e)===-1?t:e:t}var fg=class extends ig{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r.slice(0),i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return dg(e,this.defaultValue,this._allowedValues)}},pg=class extends eg{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function boe(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var xoe=class extends eg{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[l(220,`Use platform APIs to detect when a Screen Reader is attached.`),l(221,`Optimize for usage with a Screen Reader.`),l(222,`Assume a screen reader is not attached.`)],default:`auto`,tags:[`accessibility`],description:l(223,`Controls if the UI should run in a mode where it is optimized for screen readers.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},Soe=class extends eg{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(29,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:l(224,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:l(225,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:ag(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ag(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function Coe(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var mg;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(mg||={});function hg(e){switch(e){case`line`:return mg.Line;case`block`:return mg.Block;case`underline`:return mg.Underline;case`line-thin`:return mg.LineThin;case`block-outline`:return mg.BlockOutline;case`underline-thin`:return mg.UnderlineThin}}var woe=class extends rg{constructor(){super(162,``)}compute(e,t,n){let r=[`monaco-editor`];return t.get(48)&&r.push(t.get(48)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(82)==="default"?r.push(`mouse-default`):t.get(82)===`copy`&&r.push(`mouse-copy`),t.get(127)&&r.push(`showUnused`),t.get(157)&&r.push(`showDeprecated`),r.join(` `)}},Toe=class extends og{constructor(){super(45,`emptySelectionClipboard`,!0,{description:l(226,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},Eoe=class extends eg{constructor(){let e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:`workspace`,replaceHistory:`workspace`};super(50,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:l(227,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[l(228,`Never seed search string from the editor selection.`),l(229,`Always seed search string from the editor selection, including word at cursor position.`),l(230,`Only seed search string from the editor selection.`)],description:l(231,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[l(232,`Never turn on Find in Selection automatically (default).`),l(233,`Always turn on Find in Selection automatically.`),l(234,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:l(235,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:l(236,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:Qe},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:l(237,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:l(238,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)},"editor.find.closeOnResult":{type:`boolean`,default:e.closeOnResult,description:l(239,`Controls whether the Find Widget closes after an explicit find navigation command lands on a result.`)},"editor.find.history":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[l(240,`Do not store search history from the find widget.`),l(241,`Store search history across the active workspace`)],description:l(242,`Controls how the find widget history should be stored`)},"editor.find.replaceHistory":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[l(243,`Do not store history from the replace widget.`),l(244,`Store replace history across the active workspace`)],description:l(245,`Controls how the replace widget history should be stored`)},"editor.find.findOnType":{type:`boolean`,default:e.findOnType,description:l(246,`Controls whether the Find Widget should search as you type.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:ag(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:ag(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection==`boolean`?t.seedSearchStringFromSelection?`always`:`never`:dg(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof t.autoFindInSelection==`boolean`?t.autoFindInSelection?`always`:`never`:dg(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:ag(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ag(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ag(t.loop,this.defaultValue.loop),closeOnResult:ag(t.closeOnResult,this.defaultValue.closeOnResult),history:dg(t.history,this.defaultValue.history,[`never`,`workspace`]),replaceHistory:dg(t.replaceHistory,this.defaultValue.replaceHistory,[`never`,`workspace`])}}},gg=class e extends eg{static{this.OFF=`"liga" off, "calt" off`}static{this.ON=`"liga" on, "calt" on`}constructor(){super(60,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:l(247,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:l(248,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:l(249,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`||t.length===0?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}},Doe=class e extends eg{static{this.OFF=Yh}static{this.TRANSLATE=voe}constructor(){super(63,`fontVariations`,e.OFF,{anyOf:[{type:`boolean`,description:l(250,`Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.`)},{type:`string`,description:l(251,`Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.`)}],description:l(252,`Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.TRANSLATE:t:t?e.TRANSLATE:e.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}},Ooe=class extends rg{constructor(){super(59,new Jh({pixelRatio:0,fontFamily:``,fontWeight:``,fontSize:0,fontFeatureSettings:``,fontVariationSettings:``,lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,n){return e.fontInfo}},koe=class extends rg{constructor(){super(161,mg.Line)}compute(e,t,n){return e.inputMode===`overtype`?t.get(92):t.get(34)}},Aoe=class extends rg{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}},joe=class extends rg{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}},Moe=class extends ig{constructor(){super(61,`fontSize`,Xh.fontSize,{type:`number`,minimum:6,maximum:100,default:Xh.fontSize,description:l(253,`Controls the font size in pixels.`)})}validate(e){let t=lg.float(e,this.defaultValue);return t===0?Xh.fontSize:lg.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},Noe=class e extends eg{static{this.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,`fontWeight`,Xh.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:l(254,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Xh.fontWeight,description:l(255,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(cg.clampedInt(t,Xh.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}},Poe=class extends eg{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,multipleTests:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``,alternativeTestsCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[l(256,`Show Peek view of the results (default)`),l(257,`Go to the primary result and show a Peek view`),l(258,`Go to the primary result and enable Peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(67,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:l(259,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":{description:l(260,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:l(261,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleDeclarations":{description:l(262,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleImplementations":{description:l(263,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleReferences":{description:l(264,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:l(265,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:l(266,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:l(267,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:l(268,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:l(269,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:dg(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:dg(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:dg(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:dg(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:dg(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:dg(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTests:dg(t.multipleTests,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:ug.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ug.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ug.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ug.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ug.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:ug.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},Foe=class extends eg{constructor(){let e={enabled:`on`,delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,`hover`,e,{"editor.hover.enabled":{type:`string`,enum:[`on`,`off`,`onKeyboardModifier`],default:e.enabled,markdownEnumDescriptions:[l(270,`Hover is enabled.`),l(271,`Hover is disabled.`),l(272,"Hover is shown when holding `{0}` or `Alt` (the opposite modifier of `#editor.multiCursorModifier#`)",Qe?`Command`:`Control`)],description:l(273,`Controls whether the hover is shown.`),keywords:[`hint`,`info`,`tooltip`]},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:l(274,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:l(275,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.hidingDelay":{type:`integer`,minimum:0,default:e.hidingDelay,markdownDescription:l(276,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:`boolean`,default:e.above,description:l(277,`Prefer showing hovers above the line, if there's space.`)},"editor.hover.showLongLineWarning":{type:`boolean`,default:e.showLongLineWarning,description:l(278,`Controls whether long line warning hovers are shown, such as when tokenization is skipped or rendering is paused.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:dg(t.enabled,this.defaultValue.enabled,[`on`,`off`,`onKeyboardModifier`]),delay:cg.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:ag(t.sticky,this.defaultValue.sticky),hidingDelay:cg.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ag(t.above,this.defaultValue.above),showLongLineWarning:ag(t.showLongLineWarning,this.defaultValue.showLongLineWarning)}}},_g=class e extends rg{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight),r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));let i=(n+e.viewLineCount+r)/(e.pixelRatio*e.height),a=Math.floor(e.viewLineCount/i);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:r,desiredRatio:i,minimapLineCount:a}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,C=!1,ee=!1,te=b*f,ne=f/a,re=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:p}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:i,lineHeight:c,pixelRatio:a});if(_/p>1)C=!0,ee=!0,f=1,te=1,ne=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((o+_+l)*te);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){C=!0;let e=f;te=Math.min(c*a,Math.max(1,Math.floor(1/d))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(te/b))),f>e&&(re=Math.min(2,f/e)),ne=f/a/re,x=Math.ceil(Math.max(r,o+_+l)*te),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ie=Math.floor(p*ne),ae=Math.min(ie,Math.max(0,Math.floor((v-g-2)*ne/(l+ne)))+8),oe=Math.floor(a*ae),se=oe/a;return oe=Math.floor(oe*re),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-ae-g,minimapWidth:ae,minimapHeightIsEditorHeight:C,minimapIsSampling:ee,minimapScale:f,minimapLineHeight:te,minimapCanvasInnerWidth:oe,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:se,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,o=n.lineNumbersDigitCount|0,s=n.typicalHalfwidthCharacterWidth,c=n.maxDigitWidth,l=n.pixelRatio,u=n.viewLineCount,d=t.get(154),f=d===`inherit`?t.get(153):d,p=f===`inherit`?t.get(149):f,m=t.get(152),h=n.isDominatedByLongLines,g=t.get(66),_=t.get(76).renderType!==0,v=t.get(77),y=t.get(119),b=t.get(96),x=t.get(81),S=t.get(117),C=S.verticalScrollbarSize,ee=S.verticalHasArrows,te=S.arrowSize,ne=S.horizontalScrollbarSize,re=t.get(52),ie=t.get(126)!==`never`,ae=t.get(74);re&&ie&&(ae+=16);let oe=0;_&&(oe=Math.round(Math.max(o,v)*c));let se=0;g&&(se=a*n.glyphMarginDecorationLaneCount);let ce=0,le=ce+se,ue=le+oe,de=ue+ae,fe=r-se-oe-ae,pe=!1,me=!1,he=-1;t.get(2)===2&&f===`inherit`&&h?(pe=!0,me=!0):p===`on`||p===`bounded`?me=!0:p===`wordWrapColumn`&&(he=m);let ge=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:s,pixelRatio:l,scrollBeyondLastLine:y,paddingTop:b.top,paddingBottom:b.bottom,minimap:x,verticalScrollbarWidth:C,viewLineCount:u,remainingWidth:fe,isViewportWrapping:me},n.memory||new $h);ge.renderMinimap!==0&&ge.minimapLeft===0&&(ce+=ge.minimapWidth,le+=ge.minimapWidth,ue+=ge.minimapWidth,de+=ge.minimapWidth);let _e=fe-ge.minimapWidth,ve=Math.max(1,Math.floor((_e-C-2)/s)),ye=ee?te:0;return me&&(he=Math.max(1,ve),p===`bounded`&&(he=Math.min(he,m))),{width:r,height:i,glyphMarginLeft:ce,glyphMarginWidth:se,glyphMarginDecorationLaneCount:n.glyphMarginDecorationLaneCount,lineNumbersLeft:le,lineNumbersWidth:oe,decorationsLeft:ue,decorationsWidth:ae,contentLeft:de,contentWidth:_e,minimap:ge,viewportColumn:ve,isWordWrapMinified:pe,isViewportWrapping:me,wrappingColumn:he,verticalScrollbarWidth:C,horizontalScrollbarHeight:ne,overviewRuler:{top:ye,width:C,height:i-2*ye,right:0}}}},Ioe=class extends eg{constructor(){super(156,`wrappingStrategy`,`simple`,{"editor.wrappingStrategy":{enumDescriptions:[l(279,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),l(280,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],type:`string`,enum:[`simple`,`advanced`],default:`simple`,description:l(281,`Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.`)}})}validate(e){return dg(e,`simple`,[`simple`,`advanced`])}compute(e,t,n){return t.get(2)===2?`advanced`:n}},vg;(function(e){e.Off=`off`,e.OnCode=`onCode`,e.On=`on`})(vg||={});var Loe=class extends eg{constructor(){let e={enabled:vg.OnCode};super(73,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`string`,enum:[vg.Off,vg.OnCode,vg.On],default:e.enabled,enumDescriptions:[l(282,`Disable the code action menu.`),l(283,`Show the code action menu when the cursor is on lines with code.`),l(284,`Show the code action menu when the cursor is on lines with code or on empty lines.`)],description:l(285,`Enables the Code Action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:dg(e.enabled,this.defaultValue.enabled,[vg.Off,vg.OnCode,vg.On])}}},Roe=class extends eg{constructor(){let e={enabled:!0,maxLineCount:5,defaultModel:`outlineModel`,scrollWithEditor:!0};super(131,`stickyScroll`,e,{"editor.stickyScroll.enabled":{type:`boolean`,default:e.enabled,description:l(286,`Shows the nested current scopes during the scroll at the top of the editor.`)},"editor.stickyScroll.maxLineCount":{type:`number`,default:e.maxLineCount,minimum:1,maximum:20,description:l(287,`Defines the maximum number of sticky lines to show.`)},"editor.stickyScroll.defaultModel":{type:`string`,enum:[`outlineModel`,`foldingProviderModel`,`indentationModel`],default:e.defaultModel,description:l(288,`Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.`)},"editor.stickyScroll.scrollWithEditor":{type:`boolean`,default:e.scrollWithEditor,description:l(289,`Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),maxLineCount:cg.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:dg(t.defaultModel,this.defaultValue.defaultModel,[`outlineModel`,`foldingProviderModel`,`indentationModel`]),scrollWithEditor:ag(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},zoe=class extends eg{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1,maximumLength:43};super(159,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:l(290,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[l(291,`Inlay hints are enabled`),l(292,`Inlay hints are showing by default and hide when holding {0}`,Qe?`Ctrl+Option`:`Ctrl+Alt`),l(293,`Inlay hints are hidden by default and show when holding {0}`,Qe?`Ctrl+Option`:`Ctrl+Alt`),l(294,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:l(295,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:l(296,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:l(297,`Enables the padding around the inlay hints in the editor.`)},"editor.inlayHints.maximumLength":{type:`number`,default:e.maximumLength,markdownDescription:l(298,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:dg(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:cg.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ug.string(t.fontFamily,this.defaultValue.fontFamily),padding:ag(t.padding,this.defaultValue.padding),maximumLength:cg.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,2**53-1)}}},Boe=class extends eg{constructor(){super(74,`lineDecorationsWidth`,10)}validate(e){return typeof e==`string`&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):cg.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?cg.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},Voe=class extends lg{constructor(){super(75,`lineHeight`,Xh.lineHeight,e=>lg.clamp(e,0,150),{markdownDescription:l(299,`Controls the line height.
|
|
76
|
+
`)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function Yae(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Wae,``),{text:e,hasSeparatorLine:t}}var Xae=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Yl(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Yl(e),t=Yl(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Yl(e),t=Yl(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Yl(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Eh(r,e-a)}},Zae=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Eh(t,e-(t>0?this._prefixSum[t-1]:0))}return new Eh(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Ui(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Eh=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Qae=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new F(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Xae(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=Yn(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},$ae=6e4,eoe=class extends E{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new kn;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round($ae/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Ut(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new T;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(w(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Ut(t)}},toe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new noe(ei.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},noe=class extends Qae{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new F(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=Eu(e.column,wu(t),this._lines[e.lineNumber-1],0);return n?new U(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!F.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},roe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new toe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?tm.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Kae(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await ioe(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?U.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)U.getEndPosition(n[s].range).equals(U.getStartPosition(n[e].range))?(n[s].range=U.fromPositions(U.getStartPosition(n[s].range),U.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),U.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Wie(n,s,r),u=i.offsetAt(U.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?qie(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Uae(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new $t,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Jie.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=qp());function ioe(e){switch(e){case`legacy`:return gh.getLegacy();case`advanced`:return gh.getDefault();case`advanced-external`:return gh.getAdvancedExternal();case`advanced-wasm`:return gh.getAdvancedWasm()}}var Dh=As(`textResourceConfigurationService`),Oh=As(`textResourcePropertiesService`),J=As(`ILanguageFeaturesService`),aoe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};function ooe(){return td.defaultChatAgent?.completionsEnablementSetting}function soe(e,t,n=`*`){let r=ooe();return r?kh(e.getValue(t,r),n):!1}function kh(e,t=`*`){return we(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var Ah=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jh=function(e,t){return function(n,r){t(n,r,e)}},Mh,Nh=3e5;function Ph(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Fh=class extends E{static{Mh=this}static{this.workerDescriptor=new Uie({esmModuleLocation:()=>mi.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`})}constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new Ih(Mh.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!Ph(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new coe(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return Ph(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);return i?{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new am(new Em(new mm(e[0],e[1]),new mm(e[2],e[3])),a(e[4])))}:null;function a(e){return e.map(e=>new km(new mm(e[0],e[1]),new mm(e[2],e[3]),e[4]?.map(e=>new Am(new U(e[0],e[1],e[2],e[3]),new U(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(Bi(t)){if(!Ph(this._modelService,e))return Promise.resolve(t);let r=$t.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,Tn(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return Ph(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return Ph(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};Fh=Mh=Ah([jh(0,Ms),jh(1,Dh),jh(2,nl),jh(3,gd),jh(4,J),jh(5,xf)],Fh);var coe=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&soe(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)Ph(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Ph(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},Ih=class extends E{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new wo).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Nh/2),p),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Nh&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new Lh(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};Ih=Ah([jh(1,Ms),jh(2,xf)],Ih);var loe=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},Lh=class extends E{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),aoe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){_f(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return _f(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new loe(new roe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new eoe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(ue());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};Lh=Ah([jh(2,Ms),jh(3,xf)],Lh);var Rh=As(`markerDecorationsService`),uoe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},doe=function(e,t){return function(n,r){t(n,r,e)}},zh=class{static{this.ID=`editor.contrib.markerDecorations`}constructor(e,t){}dispose(){}};zh=uoe([doe(1,Rh)],zh),Ju(mf,Fh,0),yl(zh.ID,zh,0);var Bh=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingLeft=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}focus(){this.domNode.focus()}setMaxWidth(e){let t=Vh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Vh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Vh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Vh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Vh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Vh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Vh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){let t=Vh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Vh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Vh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Vh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Vh(e){return typeof e==`number`?`${e}px`:e}function Hh(e){return new Bh(e)}function Uh(e,t){e instanceof Bh?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Wh=class extends E{constructor(e,t){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{Co(lo(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},foe=class extends E{constructor(e){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1),this._register(w(()=>this._mediaQueryList?.removeEventListener(`change`,this._listener)))}_handleChange(e,t){this._mediaQueryList?.removeEventListener(`change`,this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(`change`,this._listener),t&&this._onDidChange.fire()}},poe=class extends E{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);let t=this._register(new foe(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){let t=document.createElement(`canvas`).getContext(`2d`);return(e.devicePixelRatio||1)/(t?.webkitBackingStorePixelRatio||t?.mozBackingStorePixelRatio||t?.msBackingStorePixelRatio||t?.oBackingStorePixelRatio||t?.backingStorePixelRatio||1)}},Gh=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){let t=fo(e),n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=Vt(new poe(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),D.once(ane)(({vscodeWindowId:e})=>{e===t&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}},moe=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},hoe=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Uh(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Uh(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Uh(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){let t=this._requests[e],n=this._testElements[e];t.fulfill(n.offsetWidth/256)}}};function goe(e,t,n){new hoe(t,n).read(e)}var Kh=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new O,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},_oe=Qe?1.5:1.35,qh=class e{static _create(t,n,r,i,a,o,s,c,l){o===0?o=_oe*r:o<8&&(o*=r),o=Math.round(o),o<8&&(o=8);let u=1+(l?0:Kh.getZoomLevel()*.1);return r*=u,o*=u,a===`translate`&&(n===`normal`||n===`bold`?a=Yh:(a=`'wght' ${parseInt(n,10)}`,n=`normal`)),new e({pixelRatio:c,fontFamily:t,fontWeight:n,fontSize:r,fontFeatureSettings:i,fontVariationSettings:a,lineHeight:o,letterSpacing:s})}constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.fontVariationSettings=e.fontVariationSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Xh.fontFamily,n=e._wrapInQuotes(this.fontFamily);return this.fontFamily===t?n:`${n}, ${t}`}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}},Jh=class extends qh{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=2,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},Yh=`normal`,voe=`translate`,Xh={fontFamily:Qe?`Menlo, Monaco, 'Courier New', monospace`:Ze?`Consolas, 'Courier New', monospace`:`'Droid Sans Mono', monospace`,fontWeight:`normal`,fontSize:Qe?12:14,lineHeight:0,letterSpacing:0},Zh={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},Qh=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},$h=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},eg=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return ng(e,t)}compute(e,t,n){return n}},tg=class{constructor(e,t){this.newValue=e,this.didChange=t}};function ng(e,t){if(typeof e!=`object`||typeof t!=`object`||!e||!t)return new tg(t,e!==t);if(Array.isArray(e)||Array.isArray(t))return new tg(t,!(Array.isArray(e)&&Array.isArray(t)&&Ai(e,t)));let n=!1;for(let r in t)if(t.hasOwnProperty(r)){let i=ng(e[r],t[r]);i.didChange&&(e[r]=i.newValue,n=!0)}return new tg(e,n)}var rg=class{constructor(e,t){this.schema=void 0,this.id=e,this.name=`_never_`,this.defaultValue=t}applyUpdate(e,t){return ng(e,t)}validate(e){return this.defaultValue}},ig=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return ng(e,t)}compute(e,t,n){return n}};function ag(e,t){return e===void 0?t:e!==`false`&&!!e}var og=class extends ig{constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`boolean`,r.default=n),super(e,t,n,r)}validate(e){return ag(e,this.defaultValue)}};function sg(e,t,n,r){if(typeof e==`string`&&(e=parseInt(e,10)),typeof e!=`number`||isNaN(e))return t;let i=e;return i=Math.max(n,i),i=Math.min(r,i),i|0}var cg=class e extends ig{static clampedInt(e,t,n,r){return sg(e,t,n,r)}constructor(e,t,n,r,i,a=void 0){a!==void 0&&(a.type=`integer`,a.default=n,a.minimum=r,a.maximum=i),super(e,t,n,a),this.minimum=r,this.maximum=i}validate(t){return e.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}};function yoe(e,t,n,r){if(e===void 0)return t;let i=lg.float(e,t);return lg.clamp(i,n,r)}var lg=class e extends ig{static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){return typeof e==`string`&&(e=parseFloat(e)),typeof e!=`number`||isNaN(e)?t:e}constructor(e,t,n,r,i,a,o){i!==void 0&&(i.type=`number`,i.default=n,i.minimum=a,i.maximum=o),super(e,t,n,i),this.validationFn=r,this.minimum=a,this.maximum=o}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},ug=class e extends ig{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function dg(e,t,n,r){return typeof e==`string`?r&&e in r?r[e]:n.indexOf(e)===-1?t:e:t}var fg=class extends ig{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r.slice(0),i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return dg(e,this.defaultValue,this._allowedValues)}},pg=class extends eg{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function boe(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var xoe=class extends eg{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[l(220,`Use platform APIs to detect when a Screen Reader is attached.`),l(221,`Optimize for usage with a Screen Reader.`),l(222,`Assume a screen reader is not attached.`)],default:`auto`,tags:[`accessibility`],description:l(223,`Controls if the UI should run in a mode where it is optimized for screen readers.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},Soe=class extends eg{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(29,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:l(224,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:l(225,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:ag(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ag(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function Coe(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var mg;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(mg||={});function hg(e){switch(e){case`line`:return mg.Line;case`block`:return mg.Block;case`underline`:return mg.Underline;case`line-thin`:return mg.LineThin;case`block-outline`:return mg.BlockOutline;case`underline-thin`:return mg.UnderlineThin}}var woe=class extends rg{constructor(){super(162,``)}compute(e,t,n){let r=[`monaco-editor`];return t.get(48)&&r.push(t.get(48)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(82)==="default"?r.push(`mouse-default`):t.get(82)===`copy`&&r.push(`mouse-copy`),t.get(127)&&r.push(`showUnused`),t.get(157)&&r.push(`showDeprecated`),r.join(` `)}},Toe=class extends og{constructor(){super(45,`emptySelectionClipboard`,!0,{description:l(226,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},Eoe=class extends eg{constructor(){let e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:`workspace`,replaceHistory:`workspace`};super(50,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:l(227,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[l(228,`Never seed search string from the editor selection.`),l(229,`Always seed search string from the editor selection, including word at cursor position.`),l(230,`Only seed search string from the editor selection.`)],description:l(231,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[l(232,`Never turn on Find in Selection automatically (default).`),l(233,`Always turn on Find in Selection automatically.`),l(234,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:l(235,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:l(236,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:Qe},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:l(237,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:l(238,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)},"editor.find.closeOnResult":{type:`boolean`,default:e.closeOnResult,description:l(239,`Controls whether the Find Widget closes after an explicit find navigation command lands on a result.`)},"editor.find.history":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[l(240,`Do not store search history from the find widget.`),l(241,`Store search history across the active workspace`)],description:l(242,`Controls how the find widget history should be stored`)},"editor.find.replaceHistory":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[l(243,`Do not store history from the replace widget.`),l(244,`Store replace history across the active workspace`)],description:l(245,`Controls how the replace widget history should be stored`)},"editor.find.findOnType":{type:`boolean`,default:e.findOnType,description:l(246,`Controls whether the Find Widget should search as you type.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:ag(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:ag(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection==`boolean`?t.seedSearchStringFromSelection?`always`:`never`:dg(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof t.autoFindInSelection==`boolean`?t.autoFindInSelection?`always`:`never`:dg(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:ag(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ag(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ag(t.loop,this.defaultValue.loop),closeOnResult:ag(t.closeOnResult,this.defaultValue.closeOnResult),history:dg(t.history,this.defaultValue.history,[`never`,`workspace`]),replaceHistory:dg(t.replaceHistory,this.defaultValue.replaceHistory,[`never`,`workspace`])}}},gg=class e extends eg{static{this.OFF=`"liga" off, "calt" off`}static{this.ON=`"liga" on, "calt" on`}constructor(){super(60,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:l(247,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:l(248,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:l(249,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`||t.length===0?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}},Doe=class e extends eg{static{this.OFF=Yh}static{this.TRANSLATE=voe}constructor(){super(63,`fontVariations`,e.OFF,{anyOf:[{type:`boolean`,description:l(250,`Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.`)},{type:`string`,description:l(251,`Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.`)}],description:l(252,`Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.TRANSLATE:t:t?e.TRANSLATE:e.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}},Ooe=class extends rg{constructor(){super(59,new Jh({pixelRatio:0,fontFamily:``,fontWeight:``,fontSize:0,fontFeatureSettings:``,fontVariationSettings:``,lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,n){return e.fontInfo}},koe=class extends rg{constructor(){super(161,mg.Line)}compute(e,t,n){return e.inputMode===`overtype`?t.get(92):t.get(34)}},Aoe=class extends rg{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}},joe=class extends rg{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}},Moe=class extends ig{constructor(){super(61,`fontSize`,Xh.fontSize,{type:`number`,minimum:6,maximum:100,default:Xh.fontSize,description:l(253,`Controls the font size in pixels.`)})}validate(e){let t=lg.float(e,this.defaultValue);return t===0?Xh.fontSize:lg.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},Noe=class e extends eg{static{this.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,`fontWeight`,Xh.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:l(254,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Xh.fontWeight,description:l(255,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(cg.clampedInt(t,Xh.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}},Poe=class extends eg{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,multipleTests:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``,alternativeTestsCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[l(256,`Show Peek view of the results (default)`),l(257,`Go to the primary result and show a Peek view`),l(258,`Go to the primary result and enable Peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(67,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:l(259,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":{description:l(260,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:l(261,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleDeclarations":{description:l(262,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleImplementations":{description:l(263,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleReferences":{description:l(264,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:l(265,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:l(266,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:l(267,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:l(268,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:l(269,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:dg(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:dg(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:dg(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:dg(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:dg(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:dg(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTests:dg(t.multipleTests,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:ug.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ug.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ug.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ug.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ug.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:ug.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},Foe=class extends eg{constructor(){let e={enabled:`on`,delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,`hover`,e,{"editor.hover.enabled":{type:`string`,enum:[`on`,`off`,`onKeyboardModifier`],default:e.enabled,markdownEnumDescriptions:[l(270,`Hover is enabled.`),l(271,`Hover is disabled.`),l(272,"Hover is shown when holding `{0}` or `Alt` (the opposite modifier of `#editor.multiCursorModifier#`)",Qe?`Command`:`Control`)],description:l(273,`Controls whether the hover is shown.`),keywords:[`hint`,`info`,`tooltip`]},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:l(274,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:l(275,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.hidingDelay":{type:`integer`,minimum:0,default:e.hidingDelay,markdownDescription:l(276,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:`boolean`,default:e.above,description:l(277,`Prefer showing hovers above the line, if there's space.`)},"editor.hover.showLongLineWarning":{type:`boolean`,default:e.showLongLineWarning,description:l(278,`Controls whether long line warning hovers are shown, such as when tokenization is skipped or rendering is paused.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:dg(t.enabled,this.defaultValue.enabled,[`on`,`off`,`onKeyboardModifier`]),delay:cg.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:ag(t.sticky,this.defaultValue.sticky),hidingDelay:cg.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ag(t.above,this.defaultValue.above),showLongLineWarning:ag(t.showLongLineWarning,this.defaultValue.showLongLineWarning)}}},_g=class e extends rg{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight),r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));let i=(n+e.viewLineCount+r)/(e.pixelRatio*e.height),a=Math.floor(e.viewLineCount/i);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:r,desiredRatio:i,minimapLineCount:a}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,C=!1,ee=!1,te=b*f,ne=f/a,re=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:p}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:i,lineHeight:c,pixelRatio:a});if(_/p>1)C=!0,ee=!0,f=1,te=1,ne=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((o+_+l)*te);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){C=!0;let e=f;te=Math.min(c*a,Math.max(1,Math.floor(1/d))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(te/b))),f>e&&(re=Math.min(2,f/e)),ne=f/a/re,x=Math.ceil(Math.max(r,o+_+l)*te),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ie=Math.floor(p*ne),ae=Math.min(ie,Math.max(0,Math.floor((v-g-2)*ne/(l+ne)))+8),oe=Math.floor(a*ae),se=oe/a;return oe=Math.floor(oe*re),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-ae-g,minimapWidth:ae,minimapHeightIsEditorHeight:C,minimapIsSampling:ee,minimapScale:f,minimapLineHeight:te,minimapCanvasInnerWidth:oe,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:se,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,o=n.lineNumbersDigitCount|0,s=n.typicalHalfwidthCharacterWidth,c=n.maxDigitWidth,l=n.pixelRatio,u=n.viewLineCount,d=t.get(154),f=d===`inherit`?t.get(153):d,p=f===`inherit`?t.get(149):f,m=t.get(152),h=n.isDominatedByLongLines,g=t.get(66),_=t.get(76).renderType!==0,v=t.get(77),y=t.get(119),b=t.get(96),x=t.get(81),S=t.get(117),C=S.verticalScrollbarSize,ee=S.verticalHasArrows,te=S.arrowSize,ne=S.horizontalScrollbarSize,re=t.get(52),ie=t.get(126)!==`never`,ae=t.get(74);re&&ie&&(ae+=16);let oe=0;_&&(oe=Math.round(Math.max(o,v)*c));let se=0;g&&(se=a*n.glyphMarginDecorationLaneCount);let ce=0,le=ce+se,ue=le+oe,de=ue+ae,fe=r-se-oe-ae,pe=!1,me=!1,he=-1;t.get(2)===2&&f===`inherit`&&h?(pe=!0,me=!0):p===`on`||p===`bounded`?me=!0:p===`wordWrapColumn`&&(he=m);let ge=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:s,pixelRatio:l,scrollBeyondLastLine:y,paddingTop:b.top,paddingBottom:b.bottom,minimap:x,verticalScrollbarWidth:C,viewLineCount:u,remainingWidth:fe,isViewportWrapping:me},n.memory||new $h);ge.renderMinimap!==0&&ge.minimapLeft===0&&(ce+=ge.minimapWidth,le+=ge.minimapWidth,ue+=ge.minimapWidth,de+=ge.minimapWidth);let _e=fe-ge.minimapWidth,ve=Math.max(1,Math.floor((_e-C-2)/s)),ye=ee?te:0;return me&&(he=Math.max(1,ve),p===`bounded`&&(he=Math.min(he,m))),{width:r,height:i,glyphMarginLeft:ce,glyphMarginWidth:se,glyphMarginDecorationLaneCount:n.glyphMarginDecorationLaneCount,lineNumbersLeft:le,lineNumbersWidth:oe,decorationsLeft:ue,decorationsWidth:ae,contentLeft:de,contentWidth:_e,minimap:ge,viewportColumn:ve,isWordWrapMinified:pe,isViewportWrapping:me,wrappingColumn:he,verticalScrollbarWidth:C,horizontalScrollbarHeight:ne,overviewRuler:{top:ye,width:C,height:i-2*ye,right:0}}}},Ioe=class extends eg{constructor(){super(156,`wrappingStrategy`,`simple`,{"editor.wrappingStrategy":{enumDescriptions:[l(279,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),l(280,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],type:`string`,enum:[`simple`,`advanced`],default:`simple`,description:l(281,`Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.`)}})}validate(e){return dg(e,`simple`,[`simple`,`advanced`])}compute(e,t,n){return t.get(2)===2?`advanced`:n}},vg;(function(e){e.Off=`off`,e.OnCode=`onCode`,e.On=`on`})(vg||={});var Loe=class extends eg{constructor(){let e={enabled:vg.OnCode};super(73,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`string`,enum:[vg.Off,vg.OnCode,vg.On],default:e.enabled,enumDescriptions:[l(282,`Disable the code action menu.`),l(283,`Show the code action menu when the cursor is on lines with code.`),l(284,`Show the code action menu when the cursor is on lines with code or on empty lines.`)],description:l(285,`Enables the Code Action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:dg(e.enabled,this.defaultValue.enabled,[vg.Off,vg.OnCode,vg.On])}}},Roe=class extends eg{constructor(){let e={enabled:!0,maxLineCount:5,defaultModel:`outlineModel`,scrollWithEditor:!0};super(131,`stickyScroll`,e,{"editor.stickyScroll.enabled":{type:`boolean`,default:e.enabled,description:l(286,`Shows the nested current scopes during the scroll at the top of the editor.`)},"editor.stickyScroll.maxLineCount":{type:`number`,default:e.maxLineCount,minimum:1,maximum:20,description:l(287,`Defines the maximum number of sticky lines to show.`)},"editor.stickyScroll.defaultModel":{type:`string`,enum:[`outlineModel`,`foldingProviderModel`,`indentationModel`],default:e.defaultModel,description:l(288,`Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.`)},"editor.stickyScroll.scrollWithEditor":{type:`boolean`,default:e.scrollWithEditor,description:l(289,`Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),maxLineCount:cg.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:dg(t.defaultModel,this.defaultValue.defaultModel,[`outlineModel`,`foldingProviderModel`,`indentationModel`]),scrollWithEditor:ag(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},zoe=class extends eg{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1,maximumLength:43};super(159,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:l(290,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[l(291,`Inlay hints are enabled`),l(292,`Inlay hints are showing by default and hide when holding {0}`,Qe?`Ctrl+Option`:`Ctrl+Alt`),l(293,`Inlay hints are hidden by default and show when holding {0}`,Qe?`Ctrl+Option`:`Ctrl+Alt`),l(294,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:l(295,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:l(296,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:l(297,`Enables the padding around the inlay hints in the editor.`)},"editor.inlayHints.maximumLength":{type:`number`,default:e.maximumLength,markdownDescription:l(298,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:dg(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:cg.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ug.string(t.fontFamily,this.defaultValue.fontFamily),padding:ag(t.padding,this.defaultValue.padding),maximumLength:cg.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,2**53-1)}}},Boe=class extends eg{constructor(){super(74,`lineDecorationsWidth`,10)}validate(e){return typeof e==`string`&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):cg.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?cg.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},Voe=class extends lg{constructor(){super(75,`lineHeight`,Xh.lineHeight,e=>lg.clamp(e,0,150),{markdownDescription:l(299,`Controls the line height.
|
|
77
77
|
- Use 0 to automatically compute the line height from the font size.
|
|
78
78
|
- Values between 0 and 8 will be used as a multiplier with the font size.
|
|
79
79
|
- Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,n){return e.fontInfo.lineHeight}},Hoe=class extends eg{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:`none`,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:`\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$`,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,`minimap`,e,{"editor.minimap.enabled":{type:`boolean`,default:e.enabled,description:l(300,`Controls whether the minimap is shown.`)},"editor.minimap.autohide":{type:`string`,enum:[`none`,`mouseover`,`scroll`],enumDescriptions:[l(301,`The minimap is always shown.`),l(302,`The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap.`),l(303,`The minimap is only shown when the editor is scrolled`)],default:e.autohide,description:l(304,`Controls whether the minimap is hidden automatically.`)},"editor.minimap.size":{type:`string`,enum:[`proportional`,`fill`,`fit`],enumDescriptions:[l(305,`The minimap has the same size as the editor contents (and might scroll).`),l(306,`The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).`),l(307,`The minimap will shrink as necessary to never be larger than the editor (no scrolling).`)],default:e.size,description:l(308,`Controls the size of the minimap.`)},"editor.minimap.side":{type:`string`,enum:[`left`,`right`],default:e.side,description:l(309,`Controls the side where to render the minimap.`)},"editor.minimap.showSlider":{type:`string`,enum:[`always`,`mouseover`],default:e.showSlider,description:l(310,`Controls when the minimap slider is shown.`)},"editor.minimap.scale":{type:`number`,default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:l(311,`Scale of content drawn in the minimap: 1, 2 or 3.`)},"editor.minimap.renderCharacters":{type:`boolean`,default:e.renderCharacters,description:l(312,`Render the actual characters on a line as opposed to color blocks.`)},"editor.minimap.maxColumn":{type:`number`,default:e.maxColumn,description:l(313,`Limit the width of the minimap to render at most a certain number of columns.`)},"editor.minimap.showRegionSectionHeaders":{type:`boolean`,default:e.showRegionSectionHeaders,description:l(314,`Controls whether named regions are shown as section headers in the minimap.`)},"editor.minimap.showMarkSectionHeaders":{type:`boolean`,default:e.showMarkSectionHeaders,description:l(315,`Controls whether MARK: comments are shown as section headers in the minimap.`)},"editor.minimap.markSectionHeaderRegex":{type:`string`,default:e.markSectionHeaderRegex,description:l(316,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:`number`,default:e.sectionHeaderFontSize,description:l(317,`Controls the font size of section headers in the minimap.`)},"editor.minimap.sectionHeaderLetterSpacing":{type:`number`,default:e.sectionHeaderLetterSpacing,description:l(318,`Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e,n=this.defaultValue.markSectionHeaderRegex,r=t.markSectionHeaderRegex;if(typeof r==`string`)try{new RegExp(r,`d`),n=r}catch{}return{enabled:ag(t.enabled,this.defaultValue.enabled),autohide:dg(t.autohide,this.defaultValue.autohide,[`none`,`mouseover`,`scroll`]),size:dg(t.size,this.defaultValue.size,[`proportional`,`fill`,`fit`]),side:dg(t.side,this.defaultValue.side,[`right`,`left`]),showSlider:dg(t.showSlider,this.defaultValue.showSlider,[`always`,`mouseover`]),renderCharacters:ag(t.renderCharacters,this.defaultValue.renderCharacters),scale:cg.clampedInt(t.scale,1,1,3),maxColumn:cg.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:ag(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:ag(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:n,sectionHeaderFontSize:lg.clamp(lg.float(t.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:lg.clamp(lg.float(t.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}};function Uoe(e){return e===`ctrlCmd`?Qe?`metaKey`:`ctrlKey`:`altKey`}var Woe=class extends eg{constructor(){super(96,`padding`,{top:0,bottom:0},{"editor.padding.top":{type:`number`,default:0,minimum:0,maximum:1e3,description:l(319,`Controls the amount of space between the top edge of the editor and the first line.`)},"editor.padding.bottom":{type:`number`,default:0,minimum:0,maximum:1e3,description:l(320,`Controls the amount of space between the bottom edge of the editor and the last line.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{top:cg.clampedInt(t.top,0,0,1e3),bottom:cg.clampedInt(t.bottom,0,0,1e3)}}},Goe=class extends eg{constructor(){let e={enabled:!0,cycle:!0};super(98,`parameterHints`,e,{"editor.parameterHints.enabled":{type:`boolean`,default:e.enabled,description:l(321,`Enables a pop-up that shows parameter documentation and type information as you type.`)},"editor.parameterHints.cycle":{type:`boolean`,default:e.cycle,description:l(322,`Controls whether the parameter hints menu cycles or closes when reaching the end of the list.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),cycle:ag(t.cycle,this.defaultValue.cycle)}}},Koe=class extends rg{constructor(){super(163,1)}compute(e,t,n){return e.pixelRatio}},qoe=class extends eg{constructor(){super(100,`placeholder`,void 0)}validate(e){return e===void 0?this.defaultValue:typeof e==`string`?e:this.defaultValue}},Joe=class extends eg{constructor(){let e={other:`offWhenInlineCompletions`,comments:`off`,strings:`off`},t=[{type:`boolean`},{type:`string`,enum:[`on`,`inline`,`off`,`offWhenInlineCompletions`],enumDescriptions:[l(323,`Quick suggestions show inside the suggest widget`),l(324,`Quick suggestions show as ghost text`),l(325,`Quick suggestions are disabled`),l(326,`Quick suggestions are disabled when inline completions are showing`)]}];super(102,`quickSuggestions`,e,{anyOf:[{type:`boolean`},{type:`string`,enum:[`on`,`inline`,`off`,`offWhenInlineCompletions`],enumDescriptions:[l(327,`Quick suggestions are enabled for all token types`),l(328,`Quick suggestions show as ghost text for all token types`),l(329,`Quick suggestions are disabled for all token types`),l(330,`Quick suggestions are disabled for all token types when inline completions are showing`)]},{type:`object`,additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:l(331,`Enable quick suggestions inside strings.`)},comments:{anyOf:t,default:e.comments,description:l(332,`Enable quick suggestions inside comments.`)},other:{anyOf:t,default:e.other,description:l(333,`Enable quick suggestions outside of strings and comments.`)}}}],default:e,markdownDescription:l(334,`Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.`,"`#editor.suggestOnTriggerCharacters#`"),experiment:{mode:`auto`}}),this.defaultValue=e}validate(e){if(typeof e==`boolean`){let t=e?`on`:`off`;return{comments:t,strings:t,other:t}}if(typeof e==`string`){let t=dg(e,this.defaultValue.other,[`on`,`inline`,`off`,`offWhenInlineCompletions`]);return{comments:t,strings:t,other:t}}if(!e||typeof e!=`object`)return this.defaultValue;let{other:t,comments:n,strings:r}=e,i=[`on`,`inline`,`off`,`offWhenInlineCompletions`],a,o,s;return a=typeof t==`boolean`?t?`on`:`off`:dg(t,this.defaultValue.other,i),o=typeof n==`boolean`?n?`on`:`off`:dg(n,this.defaultValue.comments,i),s=typeof r==`boolean`?r?`on`:`off`:dg(r,this.defaultValue.strings,i),{other:a,comments:o,strings:s}}},Yoe=class extends eg{constructor(){super(76,`lineNumbers`,{renderType:1,renderFn:null},{type:`string`,enum:[`off`,`on`,`relative`,`interval`],enumDescriptions:[l(335,`Line numbers are not rendered.`),l(336,`Line numbers are rendered as absolute number.`),l(337,`Line numbers are rendered as distance in lines to cursor position.`),l(338,`Line numbers are rendered every 10 lines.`)],default:`on`,description:l(339,`Controls the display of line numbers.`)})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return e!==void 0&&(typeof e==`function`?(t=4,n=e):t=e===`interval`?3:e===`relative`?2:+(e===`on`)),{renderType:t,renderFn:n}}};function yg(e){let t=e.get(112);return t===`editable`?e.get(104):t!==`on`}function bg(e){return!e.get(172)}var Xoe=class extends eg{constructor(){let e=[],t={type:`number`,description:l(340,`Number of monospace characters at which this editor ruler will render.`)};super(116,`rulers`,e,{type:`array`,items:{anyOf:[t,{type:[`object`],properties:{column:t,color:{type:`string`,description:l(341,`Color of this editor ruler.`),format:`color-hex`}}}]},default:e,description:l(342,`Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.`)})}validate(e){if(Array.isArray(e)){let t=[];for(let n of e)if(typeof n==`number`)t.push({column:cg.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n==`object`){let e=n;t.push({column:cg.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort((e,t)=>e.column-t.column),t}return this.defaultValue}},Zoe=class extends eg{constructor(){super(105,`readOnlyMessage`,void 0)}validate(e){return!e||typeof e!=`object`?this.defaultValue:e}};function xg(e,t){if(typeof e!=`string`)return t;switch(e){case`hidden`:return 2;case`visible`:return 3;default:return 1}}var Qoe=class extends eg{constructor(){let e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,`scrollbar`,e,{"editor.scrollbar.vertical":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[l(343,`The vertical scrollbar will be visible only when necessary.`),l(344,`The vertical scrollbar will always be visible.`),l(345,`The vertical scrollbar will always be hidden.`)],default:`auto`,description:l(346,`Controls the visibility of the vertical scrollbar.`)},"editor.scrollbar.horizontal":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[l(347,`The horizontal scrollbar will be visible only when necessary.`),l(348,`The horizontal scrollbar will always be visible.`),l(349,`The horizontal scrollbar will always be hidden.`)],default:`auto`,description:l(350,`Controls the visibility of the horizontal scrollbar.`)},"editor.scrollbar.verticalScrollbarSize":{type:`number`,default:e.verticalScrollbarSize,description:l(351,`The width of the vertical scrollbar.`)},"editor.scrollbar.horizontalScrollbarSize":{type:`number`,default:e.horizontalScrollbarSize,description:l(352,`The height of the horizontal scrollbar.`)},"editor.scrollbar.scrollByPage":{type:`boolean`,default:e.scrollByPage,description:l(353,`Controls whether clicks scroll by page or jump to click position.`)},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:`boolean`,default:e.ignoreHorizontalScrollbarInContentHeight,description:l(354,`When set, the horizontal scrollbar will not increase the size of the editor's content.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e,n=cg.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=cg.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:cg.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:xg(t.vertical,this.defaultValue.vertical),horizontal:xg(t.horizontal,this.defaultValue.horizontal),useShadows:ag(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:ag(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ag(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ag(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ag(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:cg.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:r,verticalSliderSize:cg.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:ag(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ag(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}},Sg=`inUntrustedWorkspace`,Cg={allowedCharacters:`editor.unicodeHighlight.allowedCharacters`,invisibleCharacters:`editor.unicodeHighlight.invisibleCharacters`,nonBasicASCII:`editor.unicodeHighlight.nonBasicASCII`,ambiguousCharacters:`editor.unicodeHighlight.ambiguousCharacters`,includeComments:`editor.unicodeHighlight.includeComments`,includeStrings:`editor.unicodeHighlight.includeStrings`,allowedLocales:`editor.unicodeHighlight.allowedLocales`},$oe=class extends eg{constructor(){let e={nonBasicASCII:Sg,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Sg,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,`unicodeHighlight`,e,{[Cg.nonBasicASCII]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Sg],default:e.nonBasicASCII,description:l(355,`Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.`)},[Cg.invisibleCharacters]:{restricted:!0,type:`boolean`,default:e.invisibleCharacters,description:l(356,`Controls whether characters that just reserve space or have no width at all are highlighted.`)},[Cg.ambiguousCharacters]:{restricted:!0,type:`boolean`,default:e.ambiguousCharacters,description:l(357,`Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.`)},[Cg.includeComments]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Sg],default:e.includeComments,description:l(358,`Controls whether characters in comments should also be subject to Unicode highlighting.`)},[Cg.includeStrings]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Sg],default:e.includeStrings,description:l(359,`Controls whether characters in strings should also be subject to Unicode highlighting.`)},[Cg.allowedCharacters]:{restricted:!0,type:`object`,default:e.allowedCharacters,description:l(360,`Defines allowed characters that are not being highlighted.`),additionalProperties:{type:`boolean`}},[Cg.allowedLocales]:{restricted:!0,type:`object`,additionalProperties:{type:`boolean`},default:e.allowedLocales,description:l(361,`Unicode characters that are common in allowed locales are not being highlighted.`)}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(cu(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},n=!0)),t.allowedLocales&&e&&(cu(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},n=!0));let r=super.applyUpdate(e,t);return n?new tg(r.newValue,!0):r}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{nonBasicASCII:wg(t.nonBasicASCII,Sg,[!0,!1,Sg]),invisibleCharacters:ag(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ag(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:wg(t.includeComments,Sg,[!0,!1,Sg]),includeStrings:wg(t.includeStrings,Sg,[!0,!1,Sg]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!=`object`||!e)return t;let n={};for(let[t,r]of Object.entries(e))r===!0&&(n[t]=!0);return n}},ese=class extends eg{constructor(){let e={enabled:!0,mode:`subwordSmart`,showToolbar:`onHover`,suppressSuggestions:!1,keepOnBlur:!1,fontFamily:`default`,syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:`auto`,allowCodeShifting:`always`,showLongDistanceHint:!0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:``,showOnSuggestConflict:`never`,emptyResponseInformation:!0}};super(71,`inlineSuggest`,e,{"editor.inlineSuggest.enabled":{type:`boolean`,default:e.enabled,description:l(362,`Controls whether to automatically show inline suggestions in the editor.`)},"editor.inlineSuggest.showToolbar":{type:`string`,default:e.showToolbar,enum:[`always`,`onHover`,`never`],enumDescriptions:[l(363,`Show the inline suggestion toolbar whenever an inline suggestion is shown.`),l(364,`Show the inline suggestion toolbar when hovering over an inline suggestion.`),l(365,`Never show the inline suggestion toolbar.`)],description:l(366,`Controls when to show the inline suggestion toolbar.`)},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:`boolean`,default:e.syntaxHighlightingEnabled,description:l(367,`Controls whether to show syntax highlighting for inline suggestions in the editor.`)},"editor.inlineSuggest.suppressSuggestions":{type:`boolean`,default:e.suppressSuggestions,description:l(368,`Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.`)},"editor.inlineSuggest.suppressInSnippetMode":{type:`boolean`,default:e.suppressInSnippetMode,description:l(369,`Controls whether inline suggestions are suppressed when in snippet mode.`)},"editor.inlineSuggest.minShowDelay":{type:`number`,default:0,minimum:0,maximum:1e4,description:l(370,`Controls the minimal delay in milliseconds after which inline suggestions are shown after typing.`)},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:`string`,default:e.experimental.suppressInlineSuggestions,tags:[`experimental`],description:l(371,`Suppresses inline completions for specified extension IDs -- comma separated.`),experiment:{mode:`auto`}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:`boolean`,default:e.experimental.emptyResponseInformation,tags:[`experimental`],description:l(372,`Controls whether to send request information from the inline suggestion provider.`),experiment:{mode:`auto`}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:`boolean`,default:e.triggerCommandOnProviderChange,tags:[`experimental`],description:l(373,`Controls whether to trigger a command when the inline suggestion provider changes.`),experiment:{mode:`auto`}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:`string`,default:e.experimental.showOnSuggestConflict,tags:[`experimental`],enum:[`always`,`never`,`whenSuggestListIsIncomplete`],description:l(374,`Controls whether to show inline suggestions when there is a suggest conflict.`),experiment:{mode:`auto`}},"editor.inlineSuggest.fontFamily":{type:`string`,default:e.fontFamily,description:l(375,`Controls the font family of the inline suggestions.`)},"editor.inlineSuggest.edits.allowCodeShifting":{type:`string`,default:e.edits.allowCodeShifting,description:l(376,`Controls whether showing a suggestion will shift the code to make space for the suggestion inline.`),enum:[`always`,`horizontal`,`never`],tags:[`nextEditSuggestions`]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:`boolean`,default:e.edits.showLongDistanceHint,description:l(377,`Controls whether long distance inline suggestions are shown.`),tags:[`nextEditSuggestions`,`experimental`]},"editor.inlineSuggest.edits.renderSideBySide":{type:`string`,default:e.edits.renderSideBySide,description:l(378,`Controls whether larger suggestions can be shown side by side.`),enum:[`auto`,`never`],enumDescriptions:[l(379,`Larger suggestions will show side by side if there is enough space, otherwise they will be shown below.`),l(380,`Larger suggestions are never shown side by side and will always be shown below.`)],tags:[`nextEditSuggestions`]},"editor.inlineSuggest.edits.showCollapsed":{type:`boolean`,default:e.edits.showCollapsed,description:l(381,`Controls whether the suggestion will show as collapsed until jumping to it.`),tags:[`nextEditSuggestions`]}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),mode:dg(t.mode,this.defaultValue.mode,[`prefix`,`subword`,`subwordSmart`]),showToolbar:dg(t.showToolbar,this.defaultValue.showToolbar,[`always`,`onHover`,`never`]),suppressSuggestions:ag(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ag(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:ug.string(t.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:ag(t.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:cg.clampedInt(t.minShowDelay,0,0,1e4),suppressInSnippetMode:ag(t.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(t.edits),triggerCommandOnProviderChange:ag(t.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(t.experimental)}}_validateEdits(e){if(!e||typeof e!=`object`)return this.defaultValue.edits;let t=e;return{enabled:ag(t.enabled,this.defaultValue.edits.enabled),showCollapsed:ag(t.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:dg(t.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,[`always`,`horizontal`,`never`]),showLongDistanceHint:ag(t.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),renderSideBySide:dg(t.renderSideBySide,this.defaultValue.edits.renderSideBySide,[`never`,`auto`])}}_validateExperimental(e){if(!e||typeof e!=`object`)return this.defaultValue.experimental;let t=e;return{suppressInlineSuggestions:ug.string(t.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:dg(t.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,[`always`,`never`,`whenSuggestListIsIncomplete`]),emptyResponseInformation:ag(t.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}},tse=class extends eg{constructor(){let e={enabled:Zh.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Zh.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,`bracketPairColorization`,e,{"editor.bracketPairColorization.enabled":{type:`boolean`,default:e.enabled,markdownDescription:l(382,`Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.`,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:`boolean`,default:e.independentColorPoolPerBracketType,description:l(383,`Controls whether each bracket type has its own independent color pool.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ag(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},nse=class extends eg{constructor(){let e={bracketPairs:!1,bracketPairsHorizontal:`active`,highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,`guides`,e,{"editor.guides.bracketPairs":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[l(384,`Enables bracket pair guides.`),l(385,`Enables bracket pair guides only for the active bracket pair.`),l(386,`Disables bracket pair guides.`)],default:e.bracketPairs,description:l(387,`Controls whether bracket pair guides are enabled or not.`)},"editor.guides.bracketPairsHorizontal":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[l(388,`Enables horizontal guides as addition to vertical bracket pair guides.`),l(389,`Enables horizontal guides only for the active bracket pair.`),l(390,`Disables horizontal bracket pair guides.`)],default:e.bracketPairsHorizontal,description:l(391,`Controls whether horizontal bracket pair guides are enabled or not.`)},"editor.guides.highlightActiveBracketPair":{type:`boolean`,default:e.highlightActiveBracketPair,description:l(392,`Controls whether the editor should highlight the active bracket pair.`)},"editor.guides.indentation":{type:`boolean`,default:e.indentation,description:l(393,`Controls whether the editor should render indent guides.`)},"editor.guides.highlightActiveIndentation":{type:[`boolean`,`string`],enum:[!0,`always`,!1],enumDescriptions:[l(394,`Highlights the active indent guide.`),l(395,`Highlights the active indent guide even if bracket guides are highlighted.`),l(396,`Do not highlight the active indent guide.`)],default:e.highlightActiveIndentation,description:l(397,`Controls whether the editor should highlight the active indent guide.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{bracketPairs:wg(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,`active`]),bracketPairsHorizontal:wg(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,`active`]),highlightActiveBracketPair:ag(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ag(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:wg(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,`always`])}}};function wg(e,t,n){let r=n.indexOf(e);return r===-1?t:n[r]}var rse=class extends eg{constructor(){let e={insertMode:`insert`,filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:`always`,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:`subwordSmart`,showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,`suggest`,e,{"editor.suggest.insertMode":{type:`string`,enum:[`insert`,`replace`],enumDescriptions:[l(398,`Insert suggestion without overwriting text right of the cursor.`),l(399,`Insert suggestion and overwrite text right of the cursor.`)],default:e.insertMode,description:l(400,`Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.`)},"editor.suggest.filterGraceful":{type:`boolean`,default:e.filterGraceful,description:l(401,`Controls whether filtering and sorting suggestions accounts for small typos.`)},"editor.suggest.localityBonus":{type:`boolean`,default:e.localityBonus,description:l(402,`Controls whether sorting favors words that appear close to the cursor.`)},"editor.suggest.shareSuggestSelections":{type:`boolean`,default:e.shareSuggestSelections,markdownDescription:l(403,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:`string`,enum:[`always`,`never`,`whenTriggerCharacter`,`whenQuickSuggestion`],enumDescriptions:[l(404,`Always select a suggestion when automatically triggering IntelliSense.`),l(405,`Never select a suggestion when automatically triggering IntelliSense.`),l(406,`Select a suggestion only when triggering IntelliSense from a trigger character.`),l(407,`Select a suggestion only when triggering IntelliSense as you type.`)],default:e.selectionMode,markdownDescription:l(408,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:`boolean`,default:e.snippetsPreventQuickSuggestions,description:l(409,`Controls whether an active snippet prevents quick suggestions.`)},"editor.suggest.showIcons":{type:`boolean`,default:e.showIcons,description:l(410,`Controls whether to show or hide icons in suggestions.`)},"editor.suggest.showStatusBar":{type:`boolean`,default:e.showStatusBar,description:l(411,`Controls the visibility of the status bar at the bottom of the suggest widget.`)},"editor.suggest.preview":{type:`boolean`,default:e.preview,description:l(412,`Controls whether to preview the suggestion outcome in the editor.`)},"editor.suggest.showInlineDetails":{type:`boolean`,default:e.showInlineDetails,description:l(413,`Controls whether suggest details show inline with the label or only in the details widget.`)},"editor.suggest.maxVisibleSuggestions":{type:`number`,deprecationMessage:l(414,`This setting is deprecated. The suggest widget can now be resized.`)},"editor.suggest.filteredTypes":{type:`object`,deprecationMessage:l(415,`This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.`)},"editor.suggest.showMethods":{type:`boolean`,default:!0,markdownDescription:l(416,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:`boolean`,default:!0,markdownDescription:l(417,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:`boolean`,default:!0,markdownDescription:l(418,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:`boolean`,default:!0,markdownDescription:l(419,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:`boolean`,default:!0,markdownDescription:l(420,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:`boolean`,default:!0,markdownDescription:l(421,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:`boolean`,default:!0,markdownDescription:l(422,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:`boolean`,default:!0,markdownDescription:l(423,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:`boolean`,default:!0,markdownDescription:l(424,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:`boolean`,default:!0,markdownDescription:l(425,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:`boolean`,default:!0,markdownDescription:l(426,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:`boolean`,default:!0,markdownDescription:l(427,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:`boolean`,default:!0,markdownDescription:l(428,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:`boolean`,default:!0,markdownDescription:l(429,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:`boolean`,default:!0,markdownDescription:l(430,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:`boolean`,default:!0,markdownDescription:l(431,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:`boolean`,default:!0,markdownDescription:l(432,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:`boolean`,default:!0,markdownDescription:l(433,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:`boolean`,default:!0,markdownDescription:l(434,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:`boolean`,default:!0,markdownDescription:l(435,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:`boolean`,default:!0,markdownDescription:l(436,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:`boolean`,default:!0,markdownDescription:l(437,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:`boolean`,default:!0,markdownDescription:l(438,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:`boolean`,default:!0,markdownDescription:l(439,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:`boolean`,default:!0,markdownDescription:l(440,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:`boolean`,default:!0,markdownDescription:l(441,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:`boolean`,default:!0,markdownDescription:l(442,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:`boolean`,default:!0,markdownDescription:l(443,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:`boolean`,default:!0,markdownDescription:l(444,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:`boolean`,default:!0,markdownDescription:l(445,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertMode:dg(t.insertMode,this.defaultValue.insertMode,[`insert`,`replace`]),filterGraceful:ag(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ag(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ag(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ag(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:dg(t.selectionMode,this.defaultValue.selectionMode,[`always`,`never`,`whenQuickSuggestion`,`whenTriggerCharacter`]),showIcons:ag(t.showIcons,this.defaultValue.showIcons),showStatusBar:ag(t.showStatusBar,this.defaultValue.showStatusBar),preview:ag(t.preview,this.defaultValue.preview),previewMode:dg(t.previewMode,this.defaultValue.previewMode,[`prefix`,`subword`,`subwordSmart`]),showInlineDetails:ag(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ag(t.showMethods,this.defaultValue.showMethods),showFunctions:ag(t.showFunctions,this.defaultValue.showFunctions),showConstructors:ag(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:ag(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ag(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ag(t.showFields,this.defaultValue.showFields),showVariables:ag(t.showVariables,this.defaultValue.showVariables),showClasses:ag(t.showClasses,this.defaultValue.showClasses),showStructs:ag(t.showStructs,this.defaultValue.showStructs),showInterfaces:ag(t.showInterfaces,this.defaultValue.showInterfaces),showModules:ag(t.showModules,this.defaultValue.showModules),showProperties:ag(t.showProperties,this.defaultValue.showProperties),showEvents:ag(t.showEvents,this.defaultValue.showEvents),showOperators:ag(t.showOperators,this.defaultValue.showOperators),showUnits:ag(t.showUnits,this.defaultValue.showUnits),showValues:ag(t.showValues,this.defaultValue.showValues),showConstants:ag(t.showConstants,this.defaultValue.showConstants),showEnums:ag(t.showEnums,this.defaultValue.showEnums),showEnumMembers:ag(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ag(t.showKeywords,this.defaultValue.showKeywords),showWords:ag(t.showWords,this.defaultValue.showWords),showColors:ag(t.showColors,this.defaultValue.showColors),showFiles:ag(t.showFiles,this.defaultValue.showFiles),showReferences:ag(t.showReferences,this.defaultValue.showReferences),showFolders:ag(t.showFolders,this.defaultValue.showFolders),showTypeParameters:ag(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ag(t.showSnippets,this.defaultValue.showSnippets),showUsers:ag(t.showUsers,this.defaultValue.showUsers),showIssues:ag(t.showIssues,this.defaultValue.showIssues)}}},ise=class extends eg{constructor(){super(129,`smartSelect`,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:l(446,`Whether leading and trailing whitespace should always be selected.`),default:!0,type:`boolean`},"editor.smartSelect.selectSubwords":{description:l(447,`Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected.`),default:!0,type:`boolean`}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{selectLeadingAndTrailingWhitespace:ag(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ag(e.selectSubwords,this.defaultValue.selectSubwords)}}},ase=class extends eg{constructor(){let e=[];super(147,`wordSegmenterLocales`,e,{anyOf:[{type:`string`},{type:`array`,items:{type:`string`}}],description:l(448,`Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.).`),type:`array`,items:{type:`string`},default:e})}validate(e){if(typeof e==`string`&&(e=[e]),Array.isArray(e)){let t=[];for(let n of e)if(typeof n==`string`)try{Intl.Segmenter.supportedLocalesOf(n).length>0&&t.push(n)}catch{}return t}return this.defaultValue}},ose=class extends eg{constructor(){super(155,`wrappingIndent`,1,{"editor.wrappingIndent":{type:`string`,enum:[`none`,`same`,`indent`,`deepIndent`],enumDescriptions:[l(449,`No indentation. Wrapped lines begin at column 1.`),l(450,`Wrapped lines get the same indentation as the parent.`),l(451,`Wrapped lines get +1 indentation toward the parent.`),l(452,`Wrapped lines get +2 indentation toward the parent.`)],description:l(453,`Controls the indentation of wrapped lines.`),default:`same`}})}validate(e){switch(e){case`none`:return 0;case`same`:return 1;case`indent`:return 2;case`deepIndent`:return 3}return 1}compute(e,t,n){return t.get(2)===2?0:n}},sse=class extends rg{constructor(){super(166,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(e,t,n){let r=t.get(165);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}},cse=class extends eg{constructor(){let e={enabled:!0,showDropSelector:`afterDrop`};super(43,`dropIntoEditor`,e,{"editor.dropIntoEditor.enabled":{type:`boolean`,default:e.enabled,markdownDescription:l(454,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:`string`,markdownDescription:l(455,`Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped.`),enum:[`afterDrop`,`never`],enumDescriptions:[l(456,`Show the drop selector widget after a file is dropped into the editor.`),l(457,`Never show the drop selector widget. Instead the default drop provider is always used.`)],default:`afterDrop`}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),showDropSelector:dg(t.showDropSelector,this.defaultValue.showDropSelector,[`afterDrop`,`never`])}}},lse=class extends eg{constructor(){let e={enabled:!0,showPasteSelector:`afterPaste`};super(97,`pasteAs`,e,{"editor.pasteAs.enabled":{type:`boolean`,default:e.enabled,markdownDescription:l(458,`Controls whether you can paste content in different ways.`)},"editor.pasteAs.showPasteSelector":{type:`string`,markdownDescription:l(459,`Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted.`),enum:[`afterPaste`,`never`],enumDescriptions:[l(460,`Show the paste selector widget after content is pasted into the editor.`),l(461,`Never show the paste selector widget. Instead the default pasting behavior is always used.`)],default:`afterPaste`}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:ag(t.enabled,this.defaultValue.enabled),showPasteSelector:dg(t.showPasteSelector,this.defaultValue.showPasteSelector,[`afterPaste`,`never`])}}},Tg=[];function Y(e){return Tg[e.id]=e,e}var Eg={acceptSuggestionOnCommitCharacter:Y(new og(0,`acceptSuggestionOnCommitCharacter`,!0,{markdownDescription:l(462,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Y(new fg(1,`acceptSuggestionOnEnter`,`on`,[`on`,`smart`,`off`],{markdownEnumDescriptions:[``,l(463,"Only accept a suggestion with `Enter` when it makes a textual change."),``],markdownDescription:l(464,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Y(new xoe),accessibilityPageSize:Y(new cg(3,`accessibilityPageSize`,500,1,1073741824,{description:l(465,`Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.`),tags:[`accessibility`]})),allowOverflow:Y(new og(4,`allowOverflow`,!0)),allowVariableLineHeights:Y(new og(5,`allowVariableLineHeights`,!0,{description:l(466,`Controls whether to allow using variable line heights in the editor.`)})),allowVariableFonts:Y(new og(6,`allowVariableFonts`,!0,{description:l(467,`Controls whether to allow using variable fonts in the editor.`)})),allowVariableFontsInAccessibilityMode:Y(new og(7,`allowVariableFontsInAccessibilityMode`,!1,{description:l(468,`Controls whether to allow using variable fonts in the editor in the accessibility mode.`),tags:[`accessibility`]})),ariaLabel:Y(new ug(8,`ariaLabel`,l(469,`Editor content`))),ariaRequired:Y(new og(9,`ariaRequired`,!1,void 0)),screenReaderAnnounceInlineSuggestion:Y(new og(12,`screenReaderAnnounceInlineSuggestion`,!0,{description:l(470,`Control whether inline suggestions are announced by a screen reader.`),tags:[`accessibility`]})),autoClosingBrackets:Y(new fg(10,`autoClosingBrackets`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,l(471,`Use language configurations to determine when to autoclose brackets.`),l(472,`Autoclose brackets only when the cursor is to the left of whitespace.`),``],description:l(473,`Controls whether the editor should automatically close brackets after the user adds an opening bracket.`)})),autoClosingComments:Y(new fg(11,`autoClosingComments`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,l(474,`Use language configurations to determine when to autoclose comments.`),l(475,`Autoclose comments only when the cursor is to the left of whitespace.`),``],description:l(476,`Controls whether the editor should automatically close comments after the user adds an opening comment.`)})),autoClosingDelete:Y(new fg(13,`autoClosingDelete`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,l(477,`Remove adjacent closing quotes or brackets only if they were automatically inserted.`),``],description:l(478,`Controls whether the editor should remove adjacent closing quotes or brackets when deleting.`)})),autoClosingOvertype:Y(new fg(14,`autoClosingOvertype`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,l(479,`Type over closing quotes or brackets only if they were automatically inserted.`),``],description:l(480,`Controls whether the editor should type over closing quotes or brackets.`)})),autoClosingQuotes:Y(new fg(15,`autoClosingQuotes`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,l(481,`Use language configurations to determine when to autoclose quotes.`),l(482,`Autoclose quotes only when the cursor is to the left of whitespace.`),``],description:l(483,`Controls whether the editor should automatically close quotes after the user adds an opening quote.`)})),autoIndent:Y(new pg(16,`autoIndent`,4,`full`,[`none`,`keep`,`brackets`,`advanced`,`full`],boe,{enumDescriptions:[l(484,`The editor will not insert indentation automatically.`),l(485,`The editor will keep the current line's indentation.`),l(486,`The editor will keep the current line's indentation and honor language defined brackets.`),l(487,`The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.`),l(488,`The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.`)],description:l(489,`Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.`)})),autoIndentOnPaste:Y(new og(17,`autoIndentOnPaste`,!1,{description:l(490,`Controls whether the editor should automatically auto-indent the pasted content.`)})),autoIndentOnPasteWithinString:Y(new og(18,`autoIndentOnPasteWithinString`,!0,{description:l(491,`Controls whether the editor should automatically auto-indent the pasted content when pasted within a string. This takes effect when autoIndentOnPaste is true.`)})),automaticLayout:Y(new og(19,`automaticLayout`,!1)),autoSurround:Y(new fg(20,`autoSurround`,`languageDefined`,[`languageDefined`,`quotes`,`brackets`,`never`],{enumDescriptions:[l(492,`Use language configurations to determine when to automatically surround selections.`),l(493,`Surround with quotes but not brackets.`),l(494,`Surround with brackets but not quotes.`),``],description:l(495,`Controls whether the editor should automatically surround selections when typing quotes or brackets.`)})),bracketPairColorization:Y(new tse),bracketPairGuides:Y(new nse),stickyTabStops:Y(new og(132,`stickyTabStops`,!1,{description:l(496,`Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.`)})),codeLens:Y(new og(23,`codeLens`,!0,{description:l(497,`Controls whether the editor shows CodeLens.`)})),codeLensFontFamily:Y(new ug(24,`codeLensFontFamily`,``,{description:l(498,`Controls the font family for CodeLens.`)})),codeLensFontSize:Y(new cg(25,`codeLensFontSize`,0,0,100,{type:`number`,default:0,minimum:0,maximum:100,markdownDescription:l(499,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Y(new og(26,`colorDecorators`,!0,{description:l(500,`Controls whether the editor should render the inline color decorators and color picker.`)})),colorDecoratorActivatedOn:Y(new fg(168,`colorDecoratorsActivatedOn`,`clickAndHover`,[`clickAndHover`,`hover`,`click`],{enumDescriptions:[l(501,`Make the color picker appear both on click and hover of the color decorator`),l(502,`Make the color picker appear on hover of the color decorator`),l(503,`Make the color picker appear on click of the color decorator`)],description:l(504,`Controls the condition to make a color picker appear from a color decorator.`)})),colorDecoratorsLimit:Y(new cg(27,`colorDecoratorsLimit`,500,1,1e6,{markdownDescription:l(505,`Controls the max number of color decorators that can be rendered in an editor at once.`)})),columnSelection:Y(new og(28,`columnSelection`,!1,{description:l(506,`Enable that the selection with the mouse and keys is doing column selection.`)})),comments:Y(new Soe),contextmenu:Y(new og(30,`contextmenu`,!0)),copyWithSyntaxHighlighting:Y(new og(31,`copyWithSyntaxHighlighting`,!0,{description:l(507,`Controls whether syntax highlighting should be copied into the clipboard.`)})),cursorBlinking:Y(new pg(32,`cursorBlinking`,1,`blink`,[`blink`,`smooth`,`phase`,`expand`,`solid`],Coe,{description:l(508,`Control the cursor animation style.`)})),cursorSmoothCaretAnimation:Y(new fg(33,`cursorSmoothCaretAnimation`,`off`,[`off`,`explicit`,`on`],{enumDescriptions:[l(509,`Smooth caret animation is disabled.`),l(510,`Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture.`),l(511,`Smooth caret animation is always enabled.`)],description:l(512,`Controls whether the smooth caret animation should be enabled.`)})),cursorStyle:Y(new pg(34,`cursorStyle`,mg.Line,`line`,[`line`,`block`,`underline`,`line-thin`,`block-outline`,`underline-thin`],hg,{description:l(513,`Controls the cursor style in insert input mode.`)})),overtypeCursorStyle:Y(new pg(92,`overtypeCursorStyle`,mg.Block,`block`,[`line`,`block`,`underline`,`line-thin`,`block-outline`,`underline-thin`],hg,{description:l(514,`Controls the cursor style in overtype input mode.`)})),cursorSurroundingLines:Y(new cg(35,`cursorSurroundingLines`,0,0,1073741824,{description:l(515,`Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.`)})),cursorSurroundingLinesStyle:Y(new fg(36,`cursorSurroundingLinesStyle`,`default`,[`default`,`all`],{enumDescriptions:[l(516,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),l(517,"`cursorSurroundingLines` is enforced always.")],markdownDescription:l(518,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:Y(new cg(37,`cursorWidth`,0,0,1073741824,{markdownDescription:l(519,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),cursorHeight:Y(new cg(38,`cursorHeight`,0,0,1073741824,{markdownDescription:l(520,"Controls the height of the cursor when `#editor.cursorStyle#` is set to `line`. Cursor's max height depends on line height.")})),disableLayerHinting:Y(new og(39,`disableLayerHinting`,!1)),disableMonospaceOptimizations:Y(new og(40,`disableMonospaceOptimizations`,!1)),domReadOnly:Y(new og(41,`domReadOnly`,!1)),doubleClickSelectsBlock:Y(new og(173,`doubleClickSelectsBlock`,!0,{description:l(521,`Controls whether double-clicking next to a bracket or quote selects the content inside.`)})),dragAndDrop:Y(new og(42,`dragAndDrop`,!0,{description:l(522,`Controls whether the editor should allow moving selections via drag and drop.`)})),emptySelectionClipboard:Y(new Toe),dropIntoEditor:Y(new cse),editContext:Y(new og(44,`editContext`,!0,{description:l(523,`Sets whether the EditContext API should be used instead of the text area to power input in the editor.`),included:mt||_t||et})),renderRichScreenReaderContent:Y(new og(107,`renderRichScreenReaderContent`,!1,{markdownDescription:l(524,"Whether to render rich screen reader content when the `#editor.editContext#` setting is enabled.")})),stickyScroll:Y(new Roe),experimentalGpuAcceleration:Y(new fg(46,`experimentalGpuAcceleration`,`off`,[`off`,`on`],{tags:[`experimental`],enumDescriptions:[l(525,`Use regular DOM-based rendering.`),l(526,`Use GPU acceleration.`)],description:l(527,`Controls whether to use the experimental GPU acceleration to render the editor.`)})),experimentalWhitespaceRendering:Y(new fg(47,`experimentalWhitespaceRendering`,`svg`,[`svg`,`font`,`off`],{enumDescriptions:[l(528,`Use a new rendering method with svgs.`),l(529,`Use a new rendering method with font characters.`),l(530,`Use the stable rendering method.`)],description:l(531,`Controls whether whitespace is rendered with a new, experimental method.`)})),extraEditorClassName:Y(new ug(48,`extraEditorClassName`,``)),fastScrollSensitivity:Y(new lg(49,`fastScrollSensitivity`,5,e=>e<=0?5:e,{markdownDescription:l(532,"Scrolling speed multiplier when pressing `Alt`.")})),find:Y(new Eoe),fixedOverflowWidgets:Y(new og(51,`fixedOverflowWidgets`,!1)),folding:Y(new og(52,`folding`,!0,{description:l(533,`Controls whether the editor has code folding enabled.`)})),foldingStrategy:Y(new fg(53,`foldingStrategy`,`auto`,[`auto`,`indentation`],{enumDescriptions:[l(534,`Use a language-specific folding strategy if available, else the indentation-based one.`),l(535,`Use the indentation-based folding strategy.`)],description:l(536,`Controls the strategy for computing folding ranges.`)})),foldingHighlight:Y(new og(54,`foldingHighlight`,!0,{description:l(537,`Controls whether the editor should highlight folded ranges.`)})),foldingImportsByDefault:Y(new og(55,`foldingImportsByDefault`,!1,{description:l(538,`Controls whether the editor automatically collapses import ranges.`)})),foldingMaximumRegions:Y(new cg(56,`foldingMaximumRegions`,5e3,10,65e3,{description:l(539,`The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.`)})),unfoldOnClickAfterEndOfLine:Y(new og(57,`unfoldOnClickAfterEndOfLine`,!1,{description:l(540,`Controls whether clicking on the empty content after a folded line will unfold the line.`)})),fontFamily:Y(new ug(58,`fontFamily`,Xh.fontFamily,{description:l(541,`Controls the font family.`)})),fontInfo:Y(new Ooe),fontLigatures2:Y(new gg),fontSize:Y(new Moe),fontWeight:Y(new Noe),fontVariations:Y(new Doe),formatOnPaste:Y(new og(64,`formatOnPaste`,!1,{description:l(542,`Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.`)})),formatOnType:Y(new og(65,`formatOnType`,!1,{description:l(543,`Controls whether the editor should automatically format the line after typing.`)})),glyphMargin:Y(new og(66,`glyphMargin`,!0,{description:l(544,`Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.`)})),gotoLocation:Y(new Poe),hideCursorInOverviewRuler:Y(new og(68,`hideCursorInOverviewRuler`,!1,{description:l(545,`Controls whether the cursor should be hidden in the overview ruler.`)})),hover:Y(new Foe),inDiffEditor:Y(new og(70,`inDiffEditor`,!1)),inertialScroll:Y(new og(158,`inertialScroll`,!1,{description:l(546,`Make scrolling inertial - mostly useful with touchpad on linux.`)})),letterSpacing:Y(new lg(72,`letterSpacing`,Xh.letterSpacing,e=>lg.clamp(e,-5,20),{description:l(547,`Controls the letter spacing in pixels.`)})),lightbulb:Y(new Loe),lineDecorationsWidth:Y(new Boe),lineHeight:Y(new Voe),lineNumbers:Y(new Yoe),lineNumbersMinChars:Y(new cg(77,`lineNumbersMinChars`,5,1,300)),linkedEditing:Y(new og(78,`linkedEditing`,!1,{description:l(548,`Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.`)})),links:Y(new og(79,`links`,!0,{description:l(549,`Controls whether the editor should detect links and make them clickable.`)})),matchBrackets:Y(new fg(80,`matchBrackets`,`always`,[`always`,`near`,`never`],{description:l(550,`Highlight matching brackets.`)})),minimap:Y(new Hoe),mouseStyle:Y(new fg(82,`mouseStyle`,`text`,[`text`,`default`,`copy`])),mouseWheelScrollSensitivity:Y(new lg(83,`mouseWheelScrollSensitivity`,1,e=>e===0?1:e,{markdownDescription:l(551,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Y(new og(84,`mouseWheelZoom`,!1,{markdownDescription:Qe?l(552,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):l(553,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Y(new og(85,`multiCursorMergeOverlapping`,!0,{description:l(554,`Merge multiple cursors when they are overlapping.`)})),multiCursorModifier:Y(new pg(86,`multiCursorModifier`,`altKey`,`alt`,[`ctrlCmd`,`alt`],Uoe,{markdownEnumDescriptions:[l(555,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),l(556,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:l(557,`The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).`)})),mouseMiddleClickAction:Y(new fg(87,`mouseMiddleClickAction`,`default`,[`default`,`openLink`,`ctrlLeftClick`],{description:l(558,`Controls what happens when middle mouse button is clicked in the editor.`)})),multiCursorPaste:Y(new fg(88,`multiCursorPaste`,`spread`,[`spread`,`full`],{markdownEnumDescriptions:[l(559,`Each cursor pastes a single line of the text.`),l(560,`Each cursor pastes the full text.`)],markdownDescription:l(561,`Controls pasting when the line count of the pasted text matches the cursor count.`)})),multiCursorLimit:Y(new cg(89,`multiCursorLimit`,1e4,1,1e5,{markdownDescription:l(562,`Controls the max number of cursors that can be in an active editor at once.`)})),occurrencesHighlight:Y(new fg(90,`occurrencesHighlight`,`singleFile`,[`off`,`singleFile`,`multiFile`],{markdownEnumDescriptions:[l(563,`Does not highlight occurrences.`),l(564,`Highlights occurrences only in the current file.`),l(565,`Experimental: Highlights occurrences across all valid open files.`)],markdownDescription:l(566,`Controls whether occurrences should be highlighted across open files.`)})),occurrencesHighlightDelay:Y(new cg(91,`occurrencesHighlightDelay`,0,0,2e3,{description:l(567,`Controls the delay in milliseconds after which occurrences are highlighted.`),tags:[`preview`]})),overtypeOnPaste:Y(new og(93,`overtypeOnPaste`,!0,{description:l(568,`Controls whether pasting should overtype.`)})),overviewRulerBorder:Y(new og(94,`overviewRulerBorder`,!0,{description:l(569,`Controls whether a border should be drawn around the overview ruler.`)})),overviewRulerLanes:Y(new cg(95,`overviewRulerLanes`,3,0,3)),padding:Y(new Woe),pasteAs:Y(new lse),parameterHints:Y(new Goe),peekWidgetDefaultFocus:Y(new fg(99,`peekWidgetDefaultFocus`,`tree`,[`tree`,`editor`],{enumDescriptions:[l(570,`Focus the tree when opening peek`),l(571,`Focus the editor when opening peek`)],description:l(572,`Controls whether to focus the inline editor or the tree in the peek widget.`)})),placeholder:Y(new qoe),definitionLinkOpensInPeek:Y(new og(101,`definitionLinkOpensInPeek`,!1,{description:l(573,`Controls whether the Go to Definition mouse gesture always opens the peek widget.`)})),quickSuggestions:Y(new Joe),quickSuggestionsDelay:Y(new cg(103,`quickSuggestionsDelay`,10,0,1073741824,{description:l(574,`Controls the delay in milliseconds after which quick suggestions will show up.`),experiment:{mode:`auto`}})),readOnly:Y(new og(104,`readOnly`,!1)),readOnlyMessage:Y(new Zoe),renameOnType:Y(new og(106,`renameOnType`,!1,{description:l(575,`Controls whether the editor auto renames on type.`),markdownDeprecationMessage:l(576,"Deprecated, use `#editor.linkedEditing#` instead.")})),renderControlCharacters:Y(new og(108,`renderControlCharacters`,!0,{description:l(577,`Controls whether the editor should render control characters.`),restricted:!0})),renderFinalNewline:Y(new fg(109,`renderFinalNewline`,$e?`dimmed`:`on`,[`off`,`on`,`dimmed`],{description:l(578,`Render last line number when the file ends with a newline.`)})),renderLineHighlight:Y(new fg(110,`renderLineHighlight`,`line`,[`none`,`gutter`,`line`,`all`],{enumDescriptions:[``,``,``,l(579,`Highlights both the gutter and the current line.`)],description:l(580,`Controls how the editor should render the current line highlight.`)})),renderLineHighlightOnlyWhenFocus:Y(new og(111,`renderLineHighlightOnlyWhenFocus`,!1,{description:l(581,`Controls if the editor should render the current line highlight only when the editor is focused.`)})),renderValidationDecorations:Y(new fg(112,`renderValidationDecorations`,`editable`,[`editable`,`on`,`off`])),renderWhitespace:Y(new fg(113,`renderWhitespace`,`selection`,[`none`,`boundary`,`selection`,`trailing`,`all`],{enumDescriptions:[``,l(582,`Render whitespace characters except for single spaces between words.`),l(583,`Render whitespace characters only on selected text.`),l(584,`Render only trailing whitespace characters.`),``],description:l(585,`Controls how the editor should render whitespace characters.`)})),revealHorizontalRightPadding:Y(new cg(114,`revealHorizontalRightPadding`,15,0,1e3)),roundedSelection:Y(new og(115,`roundedSelection`,!0,{description:l(586,`Controls whether selections should have rounded corners.`)})),rulers:Y(new Xoe),scrollbar:Y(new Qoe),scrollBeyondLastColumn:Y(new cg(118,`scrollBeyondLastColumn`,4,0,1073741824,{description:l(587,`Controls the number of extra characters beyond which the editor will scroll horizontally.`)})),scrollBeyondLastLine:Y(new og(119,`scrollBeyondLastLine`,!0,{description:l(588,`Controls whether the editor will scroll beyond the last line.`)})),scrollOnMiddleClick:Y(new og(171,`scrollOnMiddleClick`,!1,{description:l(589,`Controls whether the editor will scroll when the middle button is pressed.`)})),scrollPredominantAxis:Y(new og(120,`scrollPredominantAxis`,!0,{description:l(590,`Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.`)})),selectionClipboard:Y(new og(121,`selectionClipboard`,!0,{description:l(591,`Controls whether the Linux primary clipboard should be supported.`),included:$e})),selectionHighlight:Y(new og(122,`selectionHighlight`,!0,{description:l(592,`Controls whether the editor should highlight matches similar to the selection.`)})),selectionHighlightMaxLength:Y(new cg(123,`selectionHighlightMaxLength`,200,0,1073741824,{description:l(593,`Controls how many characters can be in the selection before similiar matches are not highlighted. Set to zero for unlimited.`)})),selectionHighlightMultiline:Y(new og(124,`selectionHighlightMultiline`,!1,{description:l(594,`Controls whether the editor should highlight selection matches that span multiple lines.`)})),selectOnLineNumbers:Y(new og(125,`selectOnLineNumbers`,!0)),showFoldingControls:Y(new fg(126,`showFoldingControls`,`mouseover`,[`always`,`never`,`mouseover`],{enumDescriptions:[l(595,`Always show the folding controls.`),l(596,`Never show the folding controls and reduce the gutter size.`),l(597,`Only show the folding controls when the mouse is over the gutter.`)],description:l(598,`Controls when the folding controls on the gutter are shown.`)})),showUnused:Y(new og(127,`showUnused`,!0,{description:l(599,`Controls fading out of unused code.`)})),showDeprecated:Y(new og(157,`showDeprecated`,!0,{description:l(600,`Controls strikethrough deprecated variables.`)})),inlayHints:Y(new zoe),snippetSuggestions:Y(new fg(128,`snippetSuggestions`,`inline`,[`top`,`bottom`,`inline`,`none`],{enumDescriptions:[l(601,`Show snippet suggestions on top of other suggestions.`),l(602,`Show snippet suggestions below other suggestions.`),l(603,`Show snippets suggestions with other suggestions.`),l(604,`Do not show snippet suggestions.`)],description:l(605,`Controls whether snippets are shown with other suggestions and how they are sorted.`)})),smartSelect:Y(new ise),smoothScrolling:Y(new og(130,`smoothScrolling`,!1,{description:l(606,`Controls whether the editor will scroll using an animation.`)})),stopRenderingLineAfter:Y(new cg(133,`stopRenderingLineAfter`,1e4,-1,1073741824)),suggest:Y(new rse),inlineSuggest:Y(new ese),inlineCompletionsAccessibilityVerbose:Y(new og(169,`inlineCompletionsAccessibilityVerbose`,!1,{description:l(607,`Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.`)})),suggestFontSize:Y(new cg(135,`suggestFontSize`,0,0,1e3,{markdownDescription:l(608,`Font size for the suggest widget. When set to {0}, the value of {1} is used.`,"`0`","`#editor.fontSize#`")})),suggestLineHeight:Y(new cg(136,`suggestLineHeight`,0,0,1e3,{markdownDescription:l(609,`Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.`,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Y(new og(137,`suggestOnTriggerCharacters`,!0,{description:l(610,`Controls whether suggestions should automatically show up when typing trigger characters.`)})),suggestSelection:Y(new fg(138,`suggestSelection`,`first`,[`first`,`recentlyUsed`,`recentlyUsedByPrefix`],{markdownEnumDescriptions:[l(611,`Always select the first suggestion.`),l(612,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),l(613,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:l(614,`Controls how suggestions are pre-selected when showing the suggest list.`)})),tabCompletion:Y(new fg(139,`tabCompletion`,`off`,[`on`,`off`,`onlySnippets`],{enumDescriptions:[l(615,`Tab complete will insert the best matching suggestion when pressing tab.`),l(616,`Disable tab completions.`),l(617,`Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.`)],description:l(618,`Enables tab completions.`)})),tabIndex:Y(new cg(140,`tabIndex`,0,-1,1073741824)),trimWhitespaceOnDelete:Y(new og(141,`trimWhitespaceOnDelete`,!1,{description:l(619,`Controls whether the editor will also delete the next line's indentation whitespace when deleting a newline.`)})),unicodeHighlight:Y(new $oe),unusualLineTerminators:Y(new fg(143,`unusualLineTerminators`,`prompt`,[`auto`,`off`,`prompt`],{enumDescriptions:[l(620,`Unusual line terminators are automatically removed.`),l(621,`Unusual line terminators are ignored.`),l(622,`Unusual line terminators prompt to be removed.`)],description:l(623,`Remove unusual line terminators that might cause problems.`)})),useShadowDOM:Y(new og(144,`useShadowDOM`,!0)),useTabStops:Y(new og(145,`useTabStops`,!0,{description:l(624,`Spaces and tabs are inserted and deleted in alignment with tab stops.`)})),wordBreak:Y(new fg(146,`wordBreak`,`normal`,[`normal`,`keepAll`],{markdownEnumDescriptions:[l(625,`Use the default line break rule.`),l(626,`Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.`)],description:l(627,`Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.`)})),wordSegmenterLocales:Y(new ase),wordSeparators:Y(new ug(148,`wordSeparators`,Su,{description:l(628,`Characters that will be used as word separators when doing word related navigations or operations.`)})),wordWrap:Y(new fg(149,`wordWrap`,`off`,[`off`,`on`,`wordWrapColumn`,`bounded`],{markdownEnumDescriptions:[l(629,`Lines will never wrap.`),l(630,`Lines will wrap at the viewport width.`),l(631,"Lines will wrap at `#editor.wordWrapColumn#`."),l(632,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:l(633,`Controls how lines should wrap.`)})),wordWrapBreakAfterCharacters:Y(new ug(150,`wordWrapBreakAfterCharacters`,` })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」`)),wordWrapBreakBeforeCharacters:Y(new ug(151,`wordWrapBreakBeforeCharacters`,`([{‘“〈《「『【〔([{「£¥$£¥++`)),wordWrapColumn:Y(new cg(152,`wordWrapColumn`,80,1,1073741824,{markdownDescription:l(634,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Y(new fg(153,`wordWrapOverride1`,`inherit`,[`off`,`on`,`inherit`])),wordWrapOverride2:Y(new fg(154,`wordWrapOverride2`,`inherit`,[`off`,`on`,`inherit`])),wrapOnEscapedLineFeeds:Y(new og(160,`wrapOnEscapedLineFeeds`,!1,{markdownDescription:l(635,'Controls whether literal `\\n` shall trigger a wordWrap when `#editor.wordWrap#` is enabled.\n\nFor example:\n```c\nchar* str="hello\\nworld"\n```\nwill be displayed as\n```c\nchar* str="hello\\n\n world"\n```')})),effectiveCursorStyle:Y(new koe),editorClassName:Y(new woe),defaultColorDecorators:Y(new fg(167,`defaultColorDecorators`,`auto`,[`auto`,`always`,`never`],{enumDescriptions:[l(636,`Show default color decorators only when no extension provides colors decorators.`),l(637,`Always show default color decorators.`),l(638,`Never show default color decorators.`)],description:l(639,`Controls whether inline color decorations should be shown using the default document color provider.`)})),pixelRatio:Y(new Koe),tabFocusMode:Y(new og(164,`tabFocusMode`,!1,{markdownDescription:l(640,`Controls whether the editor receives tabs or defers them to the workbench for navigation.`)})),layoutInfo:Y(new _g),wrappingInfo:Y(new sse),wrappingIndent:Y(new ose),wrappingStrategy:Y(new Ioe),effectiveEditContextEnabled:Y(new Aoe),effectiveAllowVariableFonts:Y(new joe)},use=class extends E{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(e){let t=fo(e),n=this._cache.get(t);return n||(n=new dse,this._cache.set(t,n)),n}_writeToCache(e,t,n){this._ensureCache(e).put(t,n),!n.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=e.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){let t=this._ensureCache(e),n=t.getValues(),r=!1;for(let e of n)e.isTrusted||(r=!0,t.remove(e));r&&this._onDidChange.fire()}readFontInfo(e,t){let n=this._ensureCache(e);if(!n.has(t)){let n=this._actualReadFontInfo(e,t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new Jh({pixelRatio:Gh.getInstance(e).value,fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,fontFeatureSettings:n.fontFeatureSettings,fontVariationSettings:n.fontVariationSettings,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:n.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(n.spaceWidth,5),middotWidth:Math.max(n.middotWidth,5),wsmiddotWidth:Math.max(n.wsmiddotWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(e,t,n)}return n.get(t)}_createRequest(e,t,n,r){let i=new moe(e,t);return n.push(i),r?.push(i),i}_actualReadFontInfo(e,t){let n=[],r=[],i=this._createRequest(`n`,0,n,r),a=this._createRequest(`m`,0,n,null),o=this._createRequest(` `,0,n,r),s=this._createRequest(`0`,0,n,r),c=this._createRequest(`1`,0,n,r),l=this._createRequest(`2`,0,n,r),u=this._createRequest(`3`,0,n,r),d=this._createRequest(`4`,0,n,r),f=this._createRequest(`5`,0,n,r),p=this._createRequest(`6`,0,n,r),m=this._createRequest(`7`,0,n,r),h=this._createRequest(`8`,0,n,r),g=this._createRequest(`9`,0,n,r),_=this._createRequest(`→`,0,n,r),v=this._createRequest(`→`,0,n,null),y=this._createRequest(`·`,0,n,r),b=this._createRequest(`⸱`,0,n,null),x=`|/-_ilm%`;for(let e=0;e<8;e++)this._createRequest(x.charAt(e),0,n,r),this._createRequest(x.charAt(e),1,n,r),this._createRequest(x.charAt(e),2,n,r);goe(e,t,n);let S=Math.max(s.width,c.width,l.width,u.width,d.width,f.width,p.width,m.width,h.width,g.width),C=t.fontFeatureSettings===gg.OFF,ee=r[0].width;for(let e=1,t=r.length;C&&e<t;e++){let t=ee-r[e].width;if(t<-.001||t>.001){C=!1;break}}let te=!0;return C&&v.width!==ee&&(te=!1),v.width>_.width&&(te=!1),new Jh({pixelRatio:Gh.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:i.width,typicalFullwidthCharacterWidth:a.width,canUseHalfwidthRightwardsArrow:te,spaceWidth:o.width,middotWidth:y.width,wsmiddotWidth:b.width,maxDigitWidth:S},!0)}},dse=class{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){let t=e.getId();return!!this._values[t]}get(e){let t=e.getId();return this._values[t]}put(e,t){let n=e.getId();this._keys[n]=e,this._values[n]=t}remove(e){let t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}},Dg=new use,Og=class e{static{this.items=[]}constructor(e,t){this.key=e,this.migrate=t}apply(t){let n=e._read(t,this.key);this.migrate(n,n=>e._read(t,n),(n,r)=>e._write(t,n,r))}static _read(e,t){if(e==null)return;let n=t.indexOf(`.`);if(n>=0){let r=t.substring(0,n);return this._read(e[r],t.substring(n+1))}return e[t]}static _write(e,t,n){let r=t.indexOf(`.`);if(r>=0){let i=t.substring(0,r);e[i]=e[i]||{},this._write(e[i],t.substring(r+1),n);return}e[t]=n}};function kg(e,t){Og.items.push(new Og(e,t))}function Ag(e,t){kg(e,(n,r,i)=>{if(n!==void 0){for(let[r,a]of t)if(n===r){i(e,a);return}}})}function fse(e){Og.items.forEach(t=>t.apply(e))}Ag(`wordWrap`,[[!0,`on`],[!1,`off`]]),Ag(`lineNumbers`,[[!0,`on`],[!1,`off`]]),Ag(`cursorBlinking`,[[`visible`,`solid`]]),Ag(`renderWhitespace`,[[!0,`boundary`],[!1,`none`]]),Ag(`renderLineHighlight`,[[!0,`line`],[!1,`none`]]),Ag(`acceptSuggestionOnEnter`,[[!0,`on`],[!1,`off`]]),Ag(`tabCompletion`,[[!1,`off`],[!0,`onlySnippets`]]),Ag(`hover`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Ag(`parameterHints`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Ag(`autoIndent`,[[!1,`advanced`],[!0,`full`]]),Ag(`matchBrackets`,[[!0,`always`],[!1,`never`]]),Ag(`renderFinalNewline`,[[!0,`on`],[!1,`off`]]),Ag(`cursorSmoothCaretAnimation`,[[!0,`on`],[!1,`off`]]),Ag(`occurrencesHighlight`,[[!0,`singleFile`],[!1,`off`]]),Ag(`wordBasedSuggestions`,[[!0,`matchingDocuments`],[!1,`off`]]),Ag(`defaultColorDecorators`,[[!0,`auto`],[!1,`never`]]),Ag(`minimap.autohide`,[[!0,`mouseover`],[!1,`none`]]),kg(`autoClosingBrackets`,(e,t,n)=>{e===!1&&(n(`autoClosingBrackets`,`never`),t(`autoClosingQuotes`)===void 0&&n(`autoClosingQuotes`,`never`),t(`autoSurround`)===void 0&&n(`autoSurround`,`never`))}),kg(`renderIndentGuides`,(e,t,n)=>{e!==void 0&&(n(`renderIndentGuides`,void 0),t(`guides.indentation`)===void 0&&n(`guides.indentation`,!!e))}),kg(`highlightActiveIndentGuide`,(e,t,n)=>{e!==void 0&&(n(`highlightActiveIndentGuide`,void 0),t(`guides.highlightActiveIndentation`)===void 0&&n(`guides.highlightActiveIndentation`,!!e))});var pse={method:`showMethods`,function:`showFunctions`,constructor:`showConstructors`,deprecated:`showDeprecated`,field:`showFields`,variable:`showVariables`,class:`showClasses`,struct:`showStructs`,interface:`showInterfaces`,module:`showModules`,property:`showProperties`,event:`showEvents`,operator:`showOperators`,unit:`showUnits`,value:`showValues`,constant:`showConstants`,enum:`showEnums`,enumMember:`showEnumMembers`,keyword:`showKeywords`,text:`showWords`,color:`showColors`,file:`showFiles`,reference:`showReferences`,folder:`showFolders`,typeParameter:`showTypeParameters`,snippet:`showSnippets`};kg(`suggest.filteredTypes`,(e,t,n)=>{if(e&&typeof e==`object`){for(let r of Object.entries(pse))e[r[0]]===!1&&t(`suggest.${r[1]}`)===void 0&&n(`suggest.${r[1]}`,!1);n(`suggest.filteredTypes`,void 0)}}),kg(`quickSuggestions`,(e,t,n)=>{if(typeof e==`boolean`){let t=e?`on`:`off`;n(`quickSuggestions`,{comments:t,strings:t,other:t})}}),kg(`experimental.stickyScroll.enabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`experimental.stickyScroll.enabled`,void 0),t(`stickyScroll.enabled`)===void 0&&n(`stickyScroll.enabled`,e))}),kg(`experimental.stickyScroll.maxLineCount`,(e,t,n)=>{typeof e==`number`&&(n(`experimental.stickyScroll.maxLineCount`,void 0),t(`stickyScroll.maxLineCount`)===void 0&&n(`stickyScroll.maxLineCount`,e))}),kg(`editor.experimentalEditContextEnabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`editor.experimentalEditContextEnabled`,void 0),t(`editor.editContext`)===void 0&&n(`editor.editContext`,e))}),kg(`codeActionsOnSave`,(e,t,n)=>{if(e&&typeof e==`object`){let t=!1,r={};for(let n of Object.entries(e))typeof n[1]==`boolean`?(t=!0,r[n[0]]=n[1]?`explicit`:`never`):r[n[0]]=n[1];t&&n(`codeActionsOnSave`,r)}}),kg(`codeActionWidget.includeNearbyQuickfixes`,(e,t,n)=>{typeof e==`boolean`&&(n(`codeActionWidget.includeNearbyQuickfixes`,void 0),t(`codeActionWidget.includeNearbyQuickFixes`)===void 0&&n(`codeActionWidget.includeNearbyQuickFixes`,e))}),kg(`lightbulb.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`lightbulb.enabled`,e?void 0:`off`)}),kg(`inlineSuggest.edits.codeShifting`,(e,t,n)=>{typeof e==`boolean`&&(n(`inlineSuggest.edits.codeShifting`,void 0),n(`inlineSuggest.edits.allowCodeShifting`,e?`always`:`never`))}),kg(`hover.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`hover.enabled`,e?`on`:`off`)});var jg=new class extends E{constructor(){super(...arguments),this._tabFocus=!1,this._onDidChangeTabFocus=this._register(new O),this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};function mse(e,t,n){let r=e.get(58),i=e.get(62),a=e.get(61),o=e.get(60),s=e.get(63),c=e.get(75),l=e.get(72);return qh._create(r,i,a,o,s,c,l,t,n)}function hse(e,t,n=!1){let r=Eg.fontFamily.validate(e.fontFamily),i=Eg.fontWeight.validate(e.fontWeight),a=Eg.fontSize.validate(e.fontSize),o=Eg.fontLigatures2.validate(e.fontLigatures),s=Eg.fontVariations.validate(e.fontVariations),c=Eg.lineHeight.validate(e.lineHeight),l=Eg.letterSpacing.validate(e.letterSpacing);return qh._create(r,i,a,o,s,c,l,t,n)}var Mg=As(`accessibilityService`),Ng=new z(`accessibilityModeEnabled`,!1),gse=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_se=function(e,t){return function(n,r){t(n,r,e)}},Pg=class extends E{constructor(e,t,n,r,i){super(),this._accessibilityService=i,this._onDidChange=this._register(new O),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new O),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new $h,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new Wh(r,n.dimension)),this._targetWindowId=lo(r).vscodeWindowId,this._rawOptions=Ig(n),this._validatedOptions=Fg.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(19)&&this._containerObserver.startObserving(),this._register(Kh.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(jg.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(Dg.onDidChange(()=>this._recomputeOptions())),this._register(Gh.getInstance(lo(r)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._register(Al.onDidChangeInputMode(()=>this._recomputeOptions()))}_recomputeOptions(){let e=this._computeOptions(),t=Fg.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){let e=this._readEnvConfiguration(),t=mse(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:this._validatedOptions.get(164)||jg.getTabFocusMode(),inputMode:Al.getInputMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount,editContextSupported:e.editContextSupported};return Fg.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:yse(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:y||v,pixelRatio:Gh.getInstance(po(this._targetWindowId,!0).window).value,editContextSupported:typeof globalThis.EditContext==`function`,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return Dg.readFontInfo(po(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){let t=Ig(e);Fg.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Fg.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){let t=vse(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};Pg=gse([_se(4,Mg)],Pg);function vse(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function yse(){let e=``;return x||S?(e+=`no-minimap-shadow `,e+=`enable-user-select `):e+=`no-user-select `,Qe&&(e+=`mac `),e}var bse=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},xse=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw Error(`Cannot read uninitialized value`);return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},Fg=class e{static validateOptions(e){let t=new bse;for(let n of Tg){let r=n.name===`_never_`?void 0:e[n.name];t._write(n.id,n.validate(r))}return t}static computeOptions(e,t){let n=new xse;for(let r of Tg)n._write(r.id,r.compute(t,n,e._read(r.id)));return n}static _deepEquals(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n)return t===n;if(Array.isArray(t)||Array.isArray(n))return Array.isArray(t)&&Array.isArray(n)?Ai(t,n):!1;if(Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e._deepEquals(t[r],n[r]))return!1;return!0}static checkEquals(t,n){let r=[],i=!1;for(let a of Tg){let o=!e._deepEquals(t._read(a.id),n._read(a.id));r[a.id]=o,o&&(i=!0)}return i?new Qh(r):null}static applyUpdate(e,t){let n=!1;for(let r of Tg)if(t.hasOwnProperty(r.name)){let i=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=i.newValue,n||=i.didChange}return n}};function Ig(e){let t=ru(e);return fse(t),t}var Lg;(function(e){let t={total:0,min:Number.MAX_VALUE,max:0},n={...t},r={...t},i={...t},a=0;e.sampleCount=Ka(`inputLatency.sampleCount`,0);let o={keydown:0,input:0,render:0};function s(){_(),performance.mark(`inputlatency/start`),performance.mark(`keydown/start`),o.keydown=1,queueMicrotask(c)}e.onKeyDown=s;function c(){o.keydown===1&&(performance.mark(`keydown/end`),o.keydown=2)}function l(){performance.mark(`input/start`),o.input=1,g()}e.onBeforeInput=l;function u(){o.input===0&&l(),queueMicrotask(d)}e.onInput=u;function d(){o.input===1&&(performance.mark(`input/end`),o.input=2)}function f(){_()}e.onKeyUp=f;function p(){_()}e.onSelectionChange=p;function m(){o.keydown===2&&o.input===2&&o.render===0&&(performance.mark(`render/start`),o.render=1,queueMicrotask(h),g())}e.onRenderStart=m;function h(){o.render===1&&(performance.mark(`render/end`),o.render=2)}function g(){setTimeout(_)}function _(){o.keydown===2&&o.input===2&&o.render===2&&(performance.mark(`inputlatency/end`),performance.measure(`keydown`,`keydown/start`,`keydown/end`),performance.measure(`input`,`input/start`,`input/end`),performance.measure(`render`,`render/start`,`render/end`),performance.measure(`inputlatency`,`inputlatency/start`,`inputlatency/end`),v(`keydown`,t),v(`input`,n),v(`render`,r),v(`inputlatency`,i),a++,e.sampleCount.set(e.sampleCount.get()+1,void 0),y())}function v(e,t){let n=performance.getEntriesByName(e)[0].duration;t.total+=n,t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}function y(){performance.clearMarks(`keydown/start`),performance.clearMarks(`keydown/end`),performance.clearMarks(`input/start`),performance.clearMarks(`input/end`),performance.clearMarks(`render/start`),performance.clearMarks(`render/end`),performance.clearMarks(`inputlatency/start`),performance.clearMarks(`inputlatency/end`),performance.clearMeasures(`keydown`),performance.clearMeasures(`input`),performance.clearMeasures(`render`),performance.clearMeasures(`inputlatency`),o.keydown=0,o.input=0,o.render=0}function b(){if(a===0)return;let e={keydown:x(t),input:x(n),render:x(r),total:x(i),sampleCount:a};return S(t),S(n),S(r),S(i),a=0,e}e.getAndClearMeasurements=b;function x(e){return{average:e.total/a,max:e.max,min:e.min}}function S(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}})(Lg||={});var Rg=new Map,Sse=class extends E{constructor(){super(...arguments),this._currentCssStyle=``,this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.textContent=e:this._styleSheet=zg(p.document.head,t=>t.textContent=e,this._store))}dispose(){super.dispose(),this._styleSheet=void 0}};function zg(e=p.document.head,t,n){let r=document.createElement(`style`);if(r.type=`text/css`,r.media=`screen`,t?.(r),e.appendChild(r),n&&n.add(w(()=>r.remove())),e===p.document.head){let e=new Set;Rg.set(r,e),n&&n.add(w(()=>Rg.delete(r)));for(let{window:t,disposables:i}of uo()){if(t===p)continue;let a=i.add(Cse(r,e,t));n?.add(a)}}return r}function Cse(e,t,n){let r=new T,i=e.cloneNode(!0);n.document.head.appendChild(i),r.add(w(()=>i.remove()));for(let t of e.sheet?.cssRules??[])i.sheet?.insertRule(t.cssText,i.sheet?.cssRules.length);return r.add(hne.observe(e,r,{childList:!0,subtree:v,characterData:v})(()=>{i.textContent=e.textContent})),t.add(i),r.add(w(()=>t.delete(i))),r}var Bg=null;function Vg(){return Bg||=zg(),Bg}function Hg(e,t,n=Vg()){if(n&&t){n.sheet?.insertRule(`${e} {${t}}`,0);for(let r of Rg.get(n)??[])Hg(e,t,r)}}function Ug(e,t=Vg()){if(!t)return;let n=t.sheet?.cssRules??[],r=[];for(let t=0;t<n.length;t++){let i=n[t];wse(i)&&i.selectorText.indexOf(e)!==-1&&r.push(t)}for(let e=r.length-1;e>=0;e--)t.sheet?.deleteRule(r[e]);for(let n of Rg.get(t)??[])Ug(e,n)}function wse(e){return typeof e.selectorText==`string`}function Tse(e){let t=new T,n=t.add(new Sse);return t.add(Ia(t=>{n.setStyle(e.read(t))})),t}var Wg=class{constructor(){this._hooks=new T,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(w(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=lo(e)}this._hooks.add(A(a,j.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(A(a,j.POINTER_UP,e=>this.stopMonitoring(!0)))}};function Gg(e){return`--vscode-${e.replace(/\./g,`-`)}`}function X(e){return`var(${Gg(e)})`}function Kg(e,t){return`var(${Gg(e)}, ${t})`}function Ese(e){return typeof e==`object`&&!!e&&`light`in e&&`dark`in e}var qg={ColorContribution:`base.contributions.colors`},Dse=`default`,Jg=new class extends E{constructor(){super(),this._onDidChangeSchema=this._register(new O),this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:`object`,properties:{}},this.colorReferenceSchema={type:`string`,enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,r=!1,i){let a={id:e,description:n,defaults:t,needsTransparency:r,deprecationMessage:i};this.colorsById[e]=a;let o={type:`string`,format:`color-hex`,defaultSnippets:[{body:"${1:#ff0000}"}]};return i&&(o.deprecationMessage=i),r&&(o.pattern=`^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$`,o.patternErrorMessage=l(2091,`This color must be transparent or it will obscure content`)),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:`string`,const:Dse,description:l(2092,`Use the default color.`)}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){let n=this.colorsById[e];if(n?.defaults)return e_(Ese(n.defaults)?n.defaults[t.type]:n.defaults,t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort((e,t)=>{let n=e.indexOf(`.`)===-1?0:1,r=t.indexOf(`.`)===-1?0:1;return n===r?e.localeCompare(t):n-r}).map(e=>`- \`${e}\`: ${this.colorsById[e].description}`).join(`
|
|
@@ -267,7 +267,7 @@ struct VSOutput {
|
|
|
267
267
|
`&&e&&t.endColumn===this.getLineMaxColumn(t.endLineNumber)&&(n=n.substring(0,n.length-1))}return new hu(e.identifier||null,t,n,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}edit(e,t){this.pushEditOperations(null,e.replacements.map(e=>({range:e.range,text:e.text})),null)}pushEditOperations(e,t,n,r,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let n=t.map(e=>({range:this.validateRange(e.range),text:e.text})),r=!0;if(e)for(let t=0,i=e.length;t<i;t++){let i=e[t],a=!1;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){a=!0;break}}if(!a){r=!1;break}}if(r)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){let r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r),a=!0;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,o=n[e].text;if(!(r<t.startLineNumber||r>t.endLineNumber)&&!(r===t.startLineNumber&&t.startColumn===i&&t.isEmpty()&&o&&o.length>0&&o.charAt(0)===`
|
|
268
268
|
`)&&!(r===t.startLineNumber&&t.startColumn===1&&t.isEmpty()&&o&&o.length>0&&o.charAt(o.length-1)===`
|
|
269
269
|
`)){a=!1;break}}if(a){let e=new U(r,1,r,i);t.push(new hu(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r,i)}_applyUndo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new U(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}});this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new U(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}});this._applyUndoRedoEdits(i,t,!1,!0,n,r)}_applyUndoRedoEdits(e,t,n,r,i,a){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r;let o=this._validateEditOperations(e);this._doApplyEdits(o,!1,hC.applyEdits(),a),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(a),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,n){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let r=this._validateEditOperations(e);return this._doApplyEdits(r,t??!1,n??hC.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,n,r=null){let i=this._buffer.getLineCount(),a=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=a.changes;if(this._trimAutoWhitespaceLines=a.trimAutoWhitespaceLineNumbers,s.length!==0){for(let e=0,t=s.length;e<t;e++){let t=s[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}let e=[];this._increaseVersionId();let t=i;for(let n=0,r=s.length;n<r;n++){let r=s[n],[i]=fC(r.text);this._onDidChangeDecorations.fire();let a=r.range.startLineNumber,c=r.range.endLineNumber,l=c-a,u=i,d=Math.min(l,u),f=u-l,p=o-t-f+a;for(let t=d;t>=0;t--){let n=a+t,r=p+t;e.push(new XS(n,r))}if(d<l){let n=a+d,r=u-l,i=o-t-r+n;e.push(new tpe(n+1,c,i))}if(d<u){let n=a+d,r=u-d,i=o-t-r+n+1;e.push(new npe(n+1,i,r))}t+=f}this._emitContentChangedEvent(new ZS(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[n],detailedReasonsChangeLengths:[s.length]},r)}return a.reverseEdits===null?void 0:a.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,n){if(e&&e.size>0){let t=Array.from(e).map(e=>new XS(e,e));this._onDidChangeContentOrInjectedText(new QS(t))}this._fireOnDidChangeLineHeight(t),this._fireOnDidChangeFont(n)}_fireOnDidChangeLineHeight(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new $fe(e.ownerId,e.decorationId,e.lineNumber,e.lineHeight));this._onDidChangeLineHeight.fire(new $S(t))}}_fireOnDidChangeFont(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new epe(e.ownerId,e.lineNumber));this._onDidChangeFont.fire(new eC(t))}}_onDidChangeContentOrInjectedText(e){for(let t of this._viewModels)try{t.onDidChangeContentOrInjectedText(e)}catch(e){ie(e)}for(let t of this._viewModels)try{t.emitContentChangeEvent(e)}catch(e){ie(e)}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){let n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(t,n)=>{this._changeDecorationImpl(e,t,n)},changeDecorationOptions:(t,n)=>{this._changeDecorationOptionsImpl(e,t,uE(n))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>t.length===0&&n.length===0?[]:this._deltaDecorationsImpl(e,t,n)},r=null;try{r=t(n)}catch(e){ie(e)}return n.addDecoration=$T,n.changeDecoration=$T,n.changeDecorationOptions=$T,n.removeDecoration=$T,n.deltaDecorations=$T,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||=[],e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`),ie(Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){let r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:lE[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;let i=this._validateRangeRelaxedNoAllocations(t),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),r.setOptions(lE[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;let t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._decorationsTree.delete(n),delete this._decorations[n.id]}}getDecorationOptions(e){let t=this._decorations[e];return t?t.options:null}getDecorationRange(e){let t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1,r=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n,r)}getLinesDecorations(e,t,n=0,r=!1,i=!1,a=!1){let o=this.getLineCount(),s=Math.min(o,Math.max(1,e)),c=Math.min(o,Math.max(1,t)),l=new U(s,1,c,this.getLineMaxColumn(c)),u=this._getDecorationsInRange(l,n,r,i,a);return Ki(u,this._decorationProvider.getDecorationsInRange(l,n,r,i)),Ki(u,this._fontTokenDecorationsProvider.getDecorationsInRange(l,n,r,i)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1,a=!1){let o=this.validateRange(e),s=this._getDecorationsInRange(o,t,n,r,a);return Ki(s,this._decorationProvider.getDecorationsInRange(o,t,n,r,i)),Ki(s,this._fontTokenDecorationsProvider.getDecorationsInRange(o,t,n,r,i)),s}getOverviewRulerDecorations(e=0,t=!1,n=!1){return this._decorationsTree.getAll(this,e,t,n,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}getCustomLineHeightsDecorations(e=0){let t=this._decorationsTree.getAllCustomLineHeights(this,e);return Ki(t,this._fontTokenDecorationsProvider.getAllDecorations(e)),t}getCustomLineHeightsDecorationsInRange(e,t=0){let n=this._decorationsTree.getCustomLineHeightsInInterval(this,this.getOffsetAt(e.getStartPosition()),this.getOffsetAt(e.getEndPosition()),t);return Ki(n,this._fontTokenDecorationsProvider.getDecorationsInRange(e,t)),n}getLineInjectedText(e,t=0){let n=this._buffer.getOffsetAt(e,1),r=n+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,n,r,t);return YS.fromDecorations(i).filter(t=>t.lineNumber===e)}getFontDecorationsInRange(e,t=0){let n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,n,r,t)}getAllDecorations(e=0,t=!1,n=!1){let r=this._decorationsTree.getAll(this,e,t,n,!1,!1);return r=r.concat(this._decorationProvider.getAllDecorations(e,t)),r=r.concat(this._fontTokenDecorationsProvider.getAllDecorations(e,t)),r}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!1,!0)}_getDecorationsInRange(e,t,n,r,i){let a=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,a,o,t,n,r,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t,n){let r=this._decorations[t];if(!r)return;if(r.options.after){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,n.startLineNumber,null)}if(r.options.affectsFont){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,n.startLineNumber)}let i=this._validateRangeRelaxedNoAllocations(n),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),this._decorationsTree.insert(r),this._onDidChangeDecorations.checkAffectedAndFire(r.options),r.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),r.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber),r.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,r.options.lineHeight),r.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,i.startLineNumber)}_changeDecorationOptionsImpl(e,t,n){let r=this._decorations[t];if(!r)return;let i=!!(r.options.overviewRuler&&r.options.overviewRuler.color),a=!!(n.overviewRuler&&n.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(r.options),this._onDidChangeDecorations.checkAffectedAndFire(n),r.options.after||n.after){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before||n.before){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null||n.lineHeight!==null){let i=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,n.lineHeight)}if(r.options.affectsFont||n.affectsFont){let n=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,t,n.startLineNumber)}let o=i!==a,s=mhe(n)!==rE(r);o||s?(this._decorationsTree.delete(r),r.setOptions(n),this._decorationsTree.insert(r)):r.setOptions(n)}_deltaDecorationsImpl(e,t,n,r=!1){let i=this.getVersionId(),a=t.length,o=0,s=n.length,c=0;this._onDidChangeDecorations.beginDeferredEmit();try{let l=Array(s);for(;o<a||c<s;){let u=null;if(o<a){let n;do n=t[o++],u=this._decorations[n];while(!u&&o<a);if(u){if(u.options.after){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(u.options.before){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(u.options.lineHeight!==null){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,n,t.startLineNumber,null)}if(u.options.affectsFont){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,n,t.startLineNumber)}this._decorationsTree.delete(u),r||this._onDidChangeDecorations.checkAffectedAndFire(u.options)}}if(c<s){if(!u){let e=++this._lastDecorationId,t=`${this._instanceId};${e}`;u=new Mw(t,0,0),this._decorations[t]=u}let t=n[c],a=this._validateRangeRelaxedNoAllocations(t.range),o=uE(t.options),s=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);u.ownerId=e,u.reset(i,s,d,a),u.setOptions(o),u.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber),u.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber),u.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,u.id,a.startLineNumber,u.options.lineHeight),u.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,u.id,a.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(u),l[c]=u.id,c++}else u&&delete this._decorations[u.id]}return l}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){typeof e==`string`?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return tE(this.getLineContent(e))+1}toString(){return`TextModel(${this.uri.toString()})`}};eE=YT=qT([JT(4,lC),JT(5,Gu),JT(6,gd),JT(7,P)],eE);function phe(e,t,n){let r;if(n){let i=[];for(let e=0;e<n.length;e++){let r=n[e],a=t[e].tokens;a?a.forEach((n,a)=>{i.push({offset:r,text:n.substring(t[e].content),tokenMetadata:a.metadata})}):i.push({offset:r,text:t[e].content,tokenMetadata:Dd.defaultTokenMetadata})}r=e.withInserted(i)}else r=e;return r}function tE(e){let t=0;for(let n of e)if(n===` `||n===` `)t++;else break;return t}function nE(e){return!!(e.options.overviewRuler&&e.options.overviewRuler.color)}function mhe(e){return!!e.after||!!e.before}function rE(e){return!!e.options.after||!!e.options.before}var iE=class{constructor(){this._decorationsTree0=new Pw,this._decorationsTree1=new Pw,this._injectedTextDecorationsTree=new Pw}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(let n of t)n.range===null&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,a,o){let s=e.getVersionId(),c=this._intervalSearch(t,n,r,i,a,s,o);return this._ensureNodesHaveRanges(e,c)}_intervalSearch(e,t,n,r,i,a,o){let s=this._decorationsTree0.intervalSearch(e,t,n,r,i,a,o),c=this._decorationsTree1.intervalSearch(e,t,n,r,i,a,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,a,o);return s.concat(c).concat(l)}getInjectedTextInInterval(e,t,n,r){let i=e.getVersionId(),a=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getFontDecorationsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._decorationsTree0.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.affectsFont)}getAllInjectedText(e,t){let n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllCustomLineHeights(e,t){let n=e.getVersionId(),r=this._search(t,!1,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>typeof e.options.lineHeight==`number`)}getCustomLineHeightsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>typeof e.options.lineHeight==`number`)}getAll(e,t,n,r,i,a){let o=e.getVersionId(),s=this._search(t,n,r,i,o,a);return this._ensureNodesHaveRanges(e,s)}_search(e,t,n,r,i,a){if(r)return this._decorationsTree1.search(e,t,n,i,a);{let r=this._decorationsTree0.search(e,t,n,i,a),o=this._decorationsTree1.search(e,t,n,i,a),s=this._injectedTextDecorationsTree.search(e,t,n,i,a);return r.concat(o).concat(s)}}collectNodesFromOwner(e){let t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){let e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){rE(e)?this._injectedTextDecorationsTree.insert(e):nE(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){rE(e)?this._injectedTextDecorationsTree.delete(e):nE(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){let n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){rE(e)?this._injectedTextDecorationsTree.resolveNode(e,t):nE(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,r){this._decorationsTree0.acceptReplace(e,t,n,r),this._decorationsTree1.acceptReplace(e,t,n,r),this._injectedTextDecorationsTree.acceptReplace(e,t,n,r)}};function aE(e){return e.replace(/[^a-z0-9\-_]/gi,` `)}var oE=class{constructor(e){this.color=e.color||``,this.darkColor=e.darkColor||``}},hhe=class extends oE{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position==`number`?e.position:lu.Center}getColor(e){return this._resolvedColor||=_y(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e==`string`)return e;let n=e?t.getColor(e.id):null;return n?n.toString():``}},ghe=class{constructor(e){this.position=e?.position??uu.Center,this.persistLane=e?.persistLane}},_he=class extends oE{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||=_y(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e==`string`?q.fromHex(e):t.getColor(e.id)}},sE=class e{static from(t){return t instanceof e?t:new e(t)}constructor(e){this.content=e.content||``,this.tokens=e.tokens??null,this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}},cE=class e{static register(t){return new e(t)}static createDynamic(t){return new e(t)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?aE(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?aE(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.lineHeight=e.lineHeight?Math.min(e.lineHeight,dhe):null,this.fontSize=e.fontSize||null,this.affectsFont=!!e.fontSize||!!e.fontFamily||!!e.fontWeight||!!e.fontStyle,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new hhe(e.overviewRuler):null,this.minimap=e.minimap?new _he(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ghe(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?aE(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?aE(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?aE(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?Fee(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?aE(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?aE(e.marginClassName):null,this.inlineClassName=e.inlineClassName?aE(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?aE(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?aE(e.afterContentClassName):null,this.after=e.after?sE.from(e.after):null,this.before=e.before?sE.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1,this.textDirection=e.textDirection??null}};cE.EMPTY=cE.register({description:`empty`});var lE=[cE.register({description:`tracked-range-always-grows-when-typing-at-edges`,stickiness:0}),cE.register({description:`tracked-range-never-grows-when-typing-at-edges`,stickiness:1}),cE.register({description:`tracked-range-grows-only-when-typing-before`,stickiness:2}),cE.register({description:`tracked-range-grows-only-when-typing-after`,stickiness:3})];function uE(e){return e instanceof cE?e:cE.createDynamic(e)}var vhe=class extends E{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new O),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||=new Set,this._affectedInjectedTextLines.add(e)}recordLineAffectedByLineHeightChange(e,t,n,r){this._affectedLineHeights||=new cC([],fT.toKey),this._affectedLineHeights.add(new fT(e,t,n,r))}recordLineAffectedByFontChange(e,t,n){this._affectedFontLines||=new cC([],pT.toKey),this._affectedFontLines.add(new pT(e,t,n))}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}},yhe=class extends E{constructor(){super(),this._emitter=this._register(new O),this.event=this._emitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;let t=this._deferredEvent;this._deferredEvent=null,this._emitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(e):e;return}this._emitter.fire(e)}},bhe=class e{static create(t){return new e(t.get(151),t.get(150))}constructor(e,t){this.classifier=new xhe(e,t)}createLineBreaksComputer(e,t,n,r,i,a,o){let s=[],c=[];return{addRequest:(e,t)=>{s.push(e),c.push(t)},finalize:()=>{let l=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,u=[];for(let t=0,d=s.length;t<d;t++){let d=s[t],f=e.getLineInjectedText(d),p=e.getLineContent(d),m=c[t],h=o&&p.includes(`"`)&&p.includes(`\\n`);m&&!m.injectionOptions&&!f&&!h?u[t]=She(this.classifier,m,p,n,r,l,i,a):u[t]=Che(this.classifier,p,f,n,r,l,i,a,h)}return dE.length=0,fE.length=0,u}}}},xhe=class extends Xl{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},dE=[],fE=[];function She(e,t,n,r,i,a,o,s){if(i===-1)return null;let c=n.length;if(c<=1)return null;let l=s===`keepAll`,u=t.breakOffsets,d=t.breakOffsetsVisibleColumn,f=_E(n,r,i,a,o),p=i-f,m=dE,h=fE,g=0,_=0,v=0,y=i,b=u.length,x=0;if(x>=0){let e=Math.abs(d[x]-y);for(;x+1<b;){let t=Math.abs(d[x+1]-y);if(t>=e)break;e=t,x++}}for(;x<b;){let t=x<0?0:u[x],i=x<0?0:d[x];_>t&&(t=_,i=v);let o=0,s=0,f=0,S=0;if(i<=y){let v=i,b=t===0?0:n.charCodeAt(t-1),x=t===0?0:e.get(b),C=!0;for(let i=t;i<c;i++){let t=i,c=n.charCodeAt(i),u,d;if(dr(c)?(i++,u=0,d=2):(u=e.get(c),d=pE(c,v,r,a)),t>_&&gE(b,x,c,u,l)&&(o=t,s=v),v+=d,v>y){t>_?(f=t,S=v-d):(f=i+1,S=v),v-s>p&&(o=0),C=!1;break}b=c,x=u}if(C){g>0&&(m[g]=u[u.length-1],h[g]=d[u.length-1],g++);break}}if(o===0){let c=i,u=n.charCodeAt(t),d=e.get(u),m=!1;for(let r=t-1;r>=_;r--){let t=r+1,i=n.charCodeAt(r);if(i===9){m=!0;break}let h,g;if(fr(i)?(r--,h=0,g=2):(h=e.get(i),g=wr(i)?a:1),c<=y){if(f===0&&(f=t,S=c),c<=y-p)break;if(gE(i,h,u,d,l)){o=t,s=c;break}}c-=g,u=i,d=h}if(o!==0){let e=p-(S-s);if(e<=r){let t=n.charCodeAt(f),i;i=dr(t)?2:pE(t,S,r,a),e-i<0&&(o=0)}}if(m){x--;continue}}if(o===0&&(o=f,s=S),o<=_){let e=n.charCodeAt(_);dr(e)?(o=_+2,s=v+2):(o=_+1,s=v+pE(e,v,r,a))}for(_=o,m[g]=o,v=s,h[g]=s,g++,y=s+p;x<0||x<b&&d[x]<s;)x++;let C=Math.abs(d[x]-y);for(;x+1<b;){let e=Math.abs(d[x+1]-y);if(e>=C)break;C=e,x++}}return g===0?null:(m.length=g,h.length=g,dE=t.breakOffsets,fE=t.breakOffsetsVisibleColumn,t.breakOffsets=m,t.breakOffsetsVisibleColumn=h,t.wrappedTextIndentLength=f,t)}function Che(e,t,n,r,i,a,o,s,c){let l=YS.applyInjectedText(t,n),u,d;if(n&&n.length>0?(u=n.map(e=>e.options),d=n.map(e=>e.column-1)):(u=null,d=null),i===-1)return u?new GS(d,u,[l.length],[],0):null;let f=l.length;if(f<=1)return u?new GS(d,u,[l.length],[],0):null;let p=s===`keepAll`,m=_E(l,r,i,a,o),h=i-m,g=[],_=[],v=0,y=0,b=0,x=i,S=l.charCodeAt(0),C=e.get(S),ee=pE(S,0,r,a),te=1;dr(S)&&(ee+=1,S=l.charCodeAt(1),C=e.get(S),te++);for(let t=te;t<f;t++){let n=t,i=l.charCodeAt(t),o,s,u=!1;dr(i)?(t++,o=0,s=2):(o=e.get(i),s=pE(i,ee,r,a)),c&&hE(l,t)?(y=n,b=ee,u=!0):gE(S,C,i,o,p)&&(y=n,b=ee),ee+=s,(ee>x||u)&&((y===0||ee-b>h)&&(y=n,b=ee-s),g[v]=y,_[v]=b,v++,x=b+h,y=0),S=i,C=o}return v===0&&(!n||n.length===0)?null:(g[v]=f,_[v]=ee,new GS(d,u,g,_,m))}function pE(e,t,n,r){return e===9?n-t%n:wr(e)||e<32?r:1}function mE(e,t){return t-e%t}function hE(e,t){if(t>=2&&e.charAt(t-1)===`n`){let n=0;for(let r=t-2;r>=0;r--)if(e.charAt(r)===`\\`)n++;else return n%2==1}return!1}function gE(e,t,n,r,i){return n!==32&&(t===2&&r!==2||t!==1&&r===1||!i&&t===3&&r!==2||!i&&r===3&&t!==1)}function _E(e,t,n,r,i){let a=0;if(i!==0){let o=Xn(e);if(o!==-1){for(let n=0;n<o;n++){let r=e.charCodeAt(n)===9?mE(a,t):1;a+=r}let s=i===3?2:+(i===2);for(let e=0;e<s;e++){let e=mE(a,t);a+=e}a+r>n&&(a=0)}}return a}var vE=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Nl(new U(1,1,1,1),0,0,new F(1,1),0),new Nl(new U(1,1,1,1),0,0,new F(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new Ml(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?W.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):W.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),i=t.selectionStart.getEndPosition(),a=e.normalizePosition(n,2),o=this._validatePositionWithCache(e,r,n,a),s=this._validatePositionWithCache(e,i,r,o);return n.equals(a)&&r.equals(o)&&i.equals(s)?t:new Nl(U.fromPositions(o,s),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-o.column,a,t.leftoverVisibleColumns+n.column-a.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position),a=n.position.equals(i)?n.leftoverVisibleColumns:0;n=new Nl(e,n.selectionStartKind,r,i,a)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new Nl(e,r.selectionStartKind,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new Nl(e,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new F(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),i=t.coordinatesConverter.convertModelPositionToViewPosition(new F(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),a=new U(e.lineNumber,e.column,i.lineNumber,i.column),o=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new Nl(a,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},yE=class{constructor(e){this.context=e,this.cursors=[new vE(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return pm(this.cursors,Qi(e=>e.viewState.position,F.compare)).viewState.position}getBottomMostViewPosition(){return fm(this.cursors,Qi(e=>e.viewState.position,F.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(Ml.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new vE(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(Qi(e=>e.selection,U.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],i=t[n+1],a=r.selection,o=i.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let s;if(s=o.isEmpty()||a.isEmpty()?o.getStartPosition().isBeforeOrEqual(a.getEndPosition()):o.getStartPosition().isBefore(a.getEndPosition()),s){let a=r.index<i.index?n:n+1,o=r.index<i.index?n+1:n,s=t[o].index,c=t[a].index,l=t[o].selection,u=t[a].selection;if(!l.equalsSelection(u)){let n=l.plusRange(u),r=l.selectionStartLineNumber===l.startLineNumber&&l.selectionStartColumn===l.startColumn,i=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,o;s===this.lastAddedCursorIndex?(o=r,this.lastAddedCursorIndex=c):o=i;let d;d=o?new W(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new W(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[a].selection=d;let f=Ml.fromModelSelection(d);e[c].setState(this.context,f.modelState,f.viewState)}for(let e of t)e.index>s&&e.index--;e.splice(s,1),t.splice(o,1),this._removeSecondaryCursor(s-1),n--}}}},bE=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},xE=class{constructor(){this.type=0}},whe=class{constructor(){this.type=1}},The=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},Ehe=class{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}},SE=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}},CE=class{constructor(){this.type=5}},Dhe=class{constructor(e){this.type=6,this.isFocused=e}},Ohe=class{constructor(){this.type=7}},wE=class{constructor(){this.type=8}},TE=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},EE=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},DE=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},OE=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},khe=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},Ahe=class{constructor(e){this.theme=e,this.type=14}},jhe=class{constructor(e){this.type=15,this.ranges=e}},Mhe=class{constructor(){this.type=16}},Nhe=class{constructor(){this.type=17}},Phe=class extends E{constructor(){super(),this._onEvent=this._register(new O),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t<n;t++)this._eventHandlers[t]===e&&console.warn(`Detected duplicate listener in ViewEventDispatcher`,e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new Fhe),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(e):e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},Fhe=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},Ihe=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},kE=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},Lhe=class{constructor(e,t){this.kind=2,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind===this.kind?new kE(this.oldHasFocus,e.hasFocus):null}},Rhe=class e{constructor(e,t,n,r,i,a,o,s){this.kind=3,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},zhe=class{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Bhe=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Vhe=class e{constructor(e,t,n,r,i,a,o){this.kind=7,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},Hhe=class{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Uhe=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},Whe=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},Ghe=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},Khe=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},qhe=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},Jhe=class{constructor(e){this.event=e,this.kind=13}isNoOp(){return!1}attemptToMerge(e){return null}},Yhe=class{constructor(e){this.event=e,this.kind=14}isNoOp(){return!1}attemptToMerge(e){return null}},Xhe=class{constructor(e){this.event=e,this.kind=15}isNoOp(){return!1}attemptToMerge(e){return null}},Zhe=class extends E{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new bE(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new yE(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=Ut(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new bE(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,n,r){let i=!1,a=this.context.cursorConfig.multiCursorLimit;r!==null&&r.length>a&&(r=r.slice(0,a),i=!0);let o=AE.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,o,i)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,r,i,a){let o=this._cursors.getViewPositions(),s=null,c=null;o.length>1?c=this._cursors.getViewSelections():s=U.fromPositions(o[0],o[0]),e.emitViewEvent(new OE(t,n,s,c,r,i,a))}revealPrimary(e,t,n,r,i,a){let o=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new OE(t,n,null,o,r,i,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,Ml.fromModelSelections(n)),this.revealAll(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof QS){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new yE(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=Ml.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,Ml.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,Ml.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new jE(this._model,i,a))}_executeEditOperation(e,t){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let n=Qhe.executeCommands(this._model,this._cursors.getSelections(),e.commands,t);if(n){this._interpretCommandResult(n);let t=[],r=[];for(let n=0;n<e.commands.length;n++){let i=e.commands[n];i instanceof Gd&&i.enclosingRange&&i.closeCharacterRange&&(t.push(i.closeCharacterRange),r.push(i.enclosingRange))}t.length>0&&this._pushAutoClosedAction(t,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=AE.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new Ehe(s,o,n)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new Vhe(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
|
|
270
|
-
`)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new U(c,u+1,c,u+2)),s.push(new U(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=AE.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){ie(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return jE.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new ege(this._model,this.getSelections())}endComposition(e,t){let n=hC.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(tf.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=hC.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=_r(t,n),i=t.substr(n,e);this._executeEditOperation(tf.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(tf.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=hC.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new W(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(tf.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=hC.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(tf.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=hC.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Kl.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=hC.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Pl(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=hC.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Pl(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},AE=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},jE=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(U.compareRangesUsingStarts),e.sort(U.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Qhe=class{static executeCommands(e,t,n,r=hC.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new W(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new W(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{U.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=W.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return ie(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-U.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(U.getStartPosition(r.range).isBefore(U.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},$he=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},ege=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new $he(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,lr(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,ur(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new U(t.lineNumber,a+1,t.lineNumber,o+1);return new Pie(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},ME={getInitialState:()=>ST,tokenizeEncoded:(e,t,n)=>wT(0,n)};async function tge(e,t,n){if(!n)return NE(t,e.languageIdCodec,ME);let r=await Qf.getOrCreate(n);return NE(t,e.languageIdCodec,r||ME)}function nge(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=wr(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=` `,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`<`,u=!1;break;case 62:p+=`>`,u=!1;break;case 38:p+=`&`,u=!1;break;case 0:p+=`�`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`​`,u=!1;break;case 32:o&&u?(p+=` `,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function NE(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=Yn(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);Dd.convertToEndOffset(s.tokens,o.length);let c=new Dd(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${Un(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var rge=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},PE=class{constructor(e,t){this._decorationIDToCustomLine=new IE,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new IE;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new rge(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new IE,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new IE,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=sC(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return Mi(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},FE=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},IE=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},ige=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},age=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},oge=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=Dr(++e.INSTANCE_COUNT),this._pendingChanges=new ige,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new PE(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new PE(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new age(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},sge=125,LE=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},cge=class extends E{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new O),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new LE(0,0,0,0),this._scrollable=this._register(new zy({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new Ihe(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},lge=class extends E{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new oge(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new cge(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new LE(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?sge:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new LE(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new LE(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new jx(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new jx(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new LE(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},RE=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},uge=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new U(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!Sx(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new RE(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new RE(new U(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new RE(new U(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new U(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new xx(a,i),this._decorationsCache[t]=n}return n}},dge=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new U(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new RE(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},fge=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,yg(this.configuration.options),bg(this.configuration.options),t,n)};this._inlineDecorationsComputer=new uge(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new U(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}};function zE(e,t){return e===null?t?BE.INSTANCE:VE.INSTANCE:new pge(e,t)}var pge=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new YS(0,0,e+1,this._projectionData.injectionOptions[t],0));a=YS.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=UE(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new dge({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=phe(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=UE(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Mx(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},BE=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:VE.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new Mx(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new F(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},VE=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?BE.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},HE=[``];function UE(e){if(e>=HE.length)for(let t=1;t<=e;t++)HE[t]=mge(t);return HE[e]}function mge(e){return Array(e+1).join(` `)}var hge=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},gge=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new vge(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=zE(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Zae(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=_ge(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:cE.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new EE(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=zE(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new DE(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=zE(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new TE(c,l-c+1):null,h=u<=d?new DE(u,d):null,g=f<=p?new EE(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new WE(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new WE(e,t))}if(!t.isVisible()&&a){let t=new F(e-1,this.model.getLineMaxColumn(e-1)+1),n=U.fromPositions(a,t);i.push(new GE(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new F(e,1))}if(a){let e=U.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new GE(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return i.lineNumber===r.modelLineWrappedLineIdx?new ox(e.visibleColumn,t,e.className,new sx(e.horizontalLine.top,n.column),-1,-1):i.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new ox(e.visibleColumn,t,e.className,new sx(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new F(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new F(i+1,l)).equals(n)?new F(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new U(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new F(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new F(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new F(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return U.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new U(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new F(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=U.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function _ge(e){if(e.length===0)return[];let t=e.slice();t.sort(U.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new U(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new U(r,1,i,1)),n}var WE=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},GE=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},vge=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},yge=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new hge(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new EE(t,n)}onModelLinesInserted(e,t,n,r){return new DE(t,n)}onModelLineChanged(e,t,n){return[!1,new TE(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Mx(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},KE=uu.Right,bge=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*KE/8))}reset(e){let t=Math.ceil((e+1)*KE/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=KE*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=KE*e;for(let e=0;e<KE;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[uu.Center]}countAtLine(e){let t=KE*e,n=0;for(let e=0;e<KE;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},xge=class extends E{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new wge,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new Phe,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new An(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Sge.create(this.model),this.glyphLanes=new bge(0),this.model.isTooLargeForTokenization())this._lines=new yge(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new gge(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Zhe(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new lge(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new khe(e)),this._eventDispatcher.emitOutgoingEvent(new Rhe(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new fge(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(gx.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Mhe)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Ahe(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return FE.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new U(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return FE.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new U(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Dhe(e)),this._eventDispatcher.emitOutgoingEvent(new kE(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Lhe(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new xE)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new whe)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new F(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new JE(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new JE(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new SE(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new SE(null))),e.emitViewEvent(new The(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),jl.shouldRecreate(t)&&(this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof tC?e.rawContentChangedEvent.changes:e.changes,a=e instanceof tC?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new na(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new CE),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new wE),t.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof tC&&t.emitOutgoingEvent(new Khe(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new U(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new $S(t);this._eventDispatcher.emitOutgoingEvent(new Yhe(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new eC(t);this._eventDispatcher.emitOutgoingEvent(new Xhe(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new jhe(t)),this._eventDispatcher.emitOutgoingEvent(new Jhe(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Ohe),this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Ghe(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Whe(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new qhe(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new SE(e)),this._eventDispatcher.emitOutgoingEvent(new Uhe(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(U.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Bhe)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new U(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new U(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new U(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new U(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new F(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Xn(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=Qn(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===du.RTL?n++:i===du.LTR&&n--}return n>0?du.RTL:du.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new Nx(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new Fde(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,yg(this._configuration.options),bg(this._configuration.options)),n=new Cge;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
|
|
270
|
+
`)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new U(c,u+1,c,u+2)),s.push(new U(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=AE.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){ie(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return jE.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new ege(this._model,this.getSelections())}endComposition(e,t){let n=hC.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(tf.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=hC.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=_r(t,n),i=t.substr(n,e);this._executeEditOperation(tf.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(tf.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=hC.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new W(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(tf.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=hC.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(tf.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=hC.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Kl.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=hC.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Pl(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=hC.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Pl(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},AE=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},jE=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(U.compareRangesUsingStarts),e.sort(U.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Qhe=class{static executeCommands(e,t,n,r=hC.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new W(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new W(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{U.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=W.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return ie(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-U.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(U.getStartPosition(r.range).isBefore(U.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},$he=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},ege=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new $he(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,lr(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,ur(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new U(t.lineNumber,a+1,t.lineNumber,o+1);return new Pie(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},ME={getInitialState:()=>ST,tokenizeEncoded:(e,t,n)=>wT(0,n)};async function tge(e,t,n){if(!n)return NE(t,e.languageIdCodec,ME);let r=await Qf.getOrCreate(n);return NE(t,e.languageIdCodec,r||ME)}function nge(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=wr(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=` `,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`<`,u=!1;break;case 62:p+=`>`,u=!1;break;case 38:p+=`&`,u=!1;break;case 0:p+=`�`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`​`,u=!1;break;case 32:o&&u?(p+=` `,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function NE(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=Yn(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);Dd.convertToEndOffset(s.tokens,o.length);let c=new Dd(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${Un(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var rge=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},PE=class{constructor(e,t){this._decorationIDToCustomLine=new IE,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new IE;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new rge(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new IE,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new IE,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=sC(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return Mi(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},FE=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},IE=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},ige=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},age=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},oge=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=Dr(++e.INSTANCE_COUNT),this._pendingChanges=new ige,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new PE(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new PE(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new age(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},sge=125,LE=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},cge=class extends E{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new O),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new LE(0,0,0,0),this._scrollable=this._register(new zy({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new Ihe(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},lge=class extends E{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new oge(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new cge(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new LE(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?sge:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new LE(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new LE(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new jx(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new jx(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new LE(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},RE=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},uge=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new U(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!Sx(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new RE(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new RE(new U(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new RE(new U(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new U(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new xx(a,i),this._decorationsCache[t]=n}return n}},dge=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new U(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new RE(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},fge=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,yg(this.configuration.options),bg(this.configuration.options),t,n)};this._inlineDecorationsComputer=new uge(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new U(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}};function zE(e,t){return e===null?t?BE.INSTANCE:VE.INSTANCE:new pge(e,t)}var pge=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new YS(0,0,e+1,this._projectionData.injectionOptions[t],0));a=YS.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=UE(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new dge({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=phe(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=UE(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Mx(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},BE=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:VE.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new Mx(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new F(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},VE=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?BE.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},HE=[``];function UE(e){if(e>=HE.length)for(let t=1;t<=e;t++)HE[t]=mge(t);return HE[e]}function mge(e){return Array(e+1).join(` `)}var hge=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},gge=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new vge(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=zE(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Zae(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=_ge(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:cE.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new EE(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=zE(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new DE(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=zE(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new TE(c,l-c+1):null,h=u<=d?new DE(u,d):null,g=f<=p?new EE(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new WE(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new WE(e,t))}if(!t.isVisible()&&a){let t=new F(e-1,this.model.getLineMaxColumn(e-1)+1),n=U.fromPositions(a,t);i.push(new GE(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new F(e,1))}if(a){let e=U.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new GE(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);if(i.lineNumber===r.modelLineWrappedLineIdx)return new ox(e.visibleColumn,t,e.className,new sx(e.horizontalLine.top,n.column),-1,-1);if(!(i.lineNumber<r.modelLineWrappedLineIdx))return e.visibleColumn===-1?new ox(e.visibleColumn,t,e.className,new sx(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new F(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new F(i+1,l)).equals(n)?new F(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new U(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new F(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new F(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new F(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return U.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new U(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new F(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=U.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function _ge(e){if(e.length===0)return[];let t=e.slice();t.sort(U.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new U(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new U(r,1,i,1)),n}var WE=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},GE=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},vge=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},yge=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new hge(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new EE(t,n)}onModelLinesInserted(e,t,n,r){return new DE(t,n)}onModelLineChanged(e,t,n){return[!1,new TE(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Mx(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},KE=uu.Right,bge=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*KE/8))}reset(e){let t=Math.ceil((e+1)*KE/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=KE*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=KE*e;for(let e=0;e<KE;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[uu.Center]}countAtLine(e){let t=KE*e,n=0;for(let e=0;e<KE;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},xge=class extends E{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new wge,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new Phe,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new An(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Sge.create(this.model),this.glyphLanes=new bge(0),this.model.isTooLargeForTokenization())this._lines=new yge(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new gge(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Zhe(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new lge(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new khe(e)),this._eventDispatcher.emitOutgoingEvent(new Rhe(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new fge(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(gx.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Mhe)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Ahe(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return FE.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new U(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return FE.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new U(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Dhe(e)),this._eventDispatcher.emitOutgoingEvent(new kE(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Lhe(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new xE)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new whe)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new F(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new JE(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new JE(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new SE(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new SE(null))),e.emitViewEvent(new The(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),jl.shouldRecreate(t)&&(this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof tC?e.rawContentChangedEvent.changes:e.changes,a=e instanceof tC?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new na(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new CE),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new wE),t.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof tC&&t.emitOutgoingEvent(new Khe(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new U(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new $S(t);this._eventDispatcher.emitOutgoingEvent(new Yhe(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new eC(t);this._eventDispatcher.emitOutgoingEvent(new Xhe(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new jhe(t)),this._eventDispatcher.emitOutgoingEvent(new Jhe(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Ohe),this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Ghe(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Whe(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new jl(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new qhe(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new SE(e)),this._eventDispatcher.emitOutgoingEvent(new Uhe(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(U.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new CE),e.emitViewEvent(new wE),e.emitViewEvent(new SE(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Bhe)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new U(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new U(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new U(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new U(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new F(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Xn(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=Qn(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===du.RTL?n++:i===du.LTR&&n--}return n>0?du.RTL:du.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new Nx(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new Fde(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,yg(this._configuration.options),bg(this._configuration.options)),n=new Cge;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
|
|
271
271
|
`:this.model.getEOL();e=e.slice(0),e.sort(U.compareRangesUsingStarts);let i=!1,a=!1;for(let t of e)t.isEmpty()?i=!0:a=!0;if(!a&&!t)return{sourceRanges:[],sourceText:``};let o=[],s=[],c=(e,t=``)=>{o.push(e),s.push(this.model.getValueInRange(e,n?2:0)+t)};if(i&&t){let t=0;for(let n of e){let e=n.startLineNumber;n.isEmpty()?e!==t&&c(new U(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e)),r):c(n),t=e}}else for(let t of e)t.isEmpty()||c(t);return{sourceRanges:o,sourceText:s.length===1?s[0]:s}}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new U(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let i=this._configuration.options.get(59),a=this._getColorMap(),o=/[:;\\\/<>]/.test(i.fontFamily)||i.fontFamily===Xh.fontFamily,s;return o?s=Xh.fontFamily:(s=i.fontFamily,s=s.replace(/"/g,`'`),/[,']/.test(s)||/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${Xh.fontFamily}`),{mode:n,html:`<div style="color: ${a[1]};background-color: ${a[2]};font-family: ${s};font-weight: ${i.fontWeight};font-size: ${i.fontSize}px;line-height: ${i.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,a)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,a=e.endColumn,o=this.getTabSize(),s=``;for(let e=n;e<=i;e++){let c=this.model.tokenization.getLineTokens(e),l=c.getLineContent(),u=e===n?r-1:0,d=e===i?a-1:l.length;s+=l===``?`<br>`:nge(l,c.inflate(),t,u,d,o,Ze)}return s}_getColorMap(){let e=Qf.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=q.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Hhe);return}this._withViewEventsCollector(e)}executeEdits(e,t,n,r){this._executeCursorEdit(i=>this._cursor.executeEdits(i,e,t,n,r))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,n,0,t,0))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new U(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new OE(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new U(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new OE(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new OE(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new Nhe),this._eventDispatcher.emitOutgoingEvent(new zhe))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>this._emitViewEvent(e))}_emitViewEvent(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},Sge=class e{static create(t){let n=t._setTrackedRange(null,new U(1,1,1,1),1);return new e(t,1,!1,n,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new F(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new U(n.lineNumber,n.column,n.lineNumber,n.column),1),i=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=a-i}invalidate(){this._isValid=!1}},Cge=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new Px(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},wge=class{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let n=this.hiddenAreas.get(e);n&&qE(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>Tge(e,t),[]);return qE(this.ranges,e)||(this.ranges=e),this.ranges}};function Tge(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=e[r],o=t[i];if(a.endLineNumber<o.startLineNumber-1)n.push(e[r++]);else if(o.endLineNumber<a.startLineNumber-1)n.push(t[i++]);else{let e=Math.min(a.startLineNumber,o.startLineNumber),t=Math.max(a.endLineNumber,o.endLineNumber);n.push(new U(e,1,t,1)),r++,i++}}for(;r<e.length;)n.push(e[r++]);for(;i<t.length;)n.push(t[i++]);return n}function qE(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].equalsRange(t[n]))return!1;return!0}var JE=class{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let n=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),r=t.getVerticalOffsetForLineNumber(n.lineNumber);t.setScrollPosition({scrollTop:r+this.startLineDelta},1)}},YE=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},Ege=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},XE=function(e,t){return function(n,r){t(n,r,e)}},ZE,QE=class extends E{static{ZE=this}static{this.dropIntoEditorDecorationOptions=cE.register({description:`workbench-dnd-target`,className:`dnd-target`})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=u,this._deliveryQueue=bee(),this._contributions=this._register(new lpe),this._onDidDispose=this._register(new O),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new $E({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new $E({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new eD(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onWillCopy=this._register(new eD(this._contributions,this._deliveryQueue)),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new eD(this._contributions,this._deliveryQueue)),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new eD(this._contributions,this._deliveryQueue)),this.onWillPaste=this._onWillPaste.event,this._onMouseUp=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new eD(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new eD(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new eD(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new eD(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new eD(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new O({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new O),this._onBeginUpdate=this._register(new O),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new O),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new O),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,i.willCreateCodeEditor();let p={...t};if(this._domElement=e,this._userInteractionService=f,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++Dge,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,n.contextMenuId??(n.isSimpleWidget?Tc.SimpleEditorContext:Tc.EditorContext),p,l)),this._domElement.style?.setProperty(`--editor-font-size`,this._configuration.options.get(61)+`px`),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(165)){let e=t.get(165);this._onDidLayoutChange.fire(e)}e.hasChanged(61)&&this._domElement.style.setProperty(`--editor-font-size`,t.get(61)+`px`)})),this._contextKeyService=this._register(o.createScoped(this._domElement)),n.contextKeyValues)for(let[e,t]of Object.entries(n.contextKeyValues))this._contextKeyService.createKey(e,t);this._notificationService=c,this._codeEditorService=i,this._commandService=a,this._themeService=s,this._register(new kge(this,this._contextKeyService)),this._register(new Age(this,this._contextKeyService,d)),this._instantiationService=this._register(r.createChild(new YE([mc,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:bl.getEditorContributions(),this._contributions.initialize(this,m,this._instantiationService);for(let e of bl.getEditorActions()){if(this._actions.has(e.id)){ie(Error(`Cannot have two actions with the same id ${e.id}`));continue}let t=new iC(e.id,e.label,e.alias,e.metadata,e.precondition??void 0,t=>this._instantiationService.invokeFunction(n=>Promise.resolve(e.runEditorCommand(n,this,t))),this._contextKeyService);this._actions.set(t.id,t)}let h=()=>!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled;this._register(new Cne(this._domElement,{onDragOver:e=>{if(!h())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!h()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n,r){return new Pg(e,t,n,this._domElement,r)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return aC.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?eu.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
|
|
272
272
|
`?n=1:e&&e.lineEnding&&e.lineEnding===`\r
|
|
273
273
|
`&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(n);let r=this.hasTextFocus(),i=this._detachModel();this._attachModel(t),this.hasModel()?r&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(i),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,r){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?ZE._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?ZE._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?ZE._getVerticalOffsetAfterPosition(this._modelData,e,2**53-1,t):-1}getLineHeightForPosition(e){if(!this._modelData)return-1;let t=this._modelData.viewModel,n=t.coordinatesConverter,r=F.lift(e);if(n.modelPositionIsVisible(r)){let e=n.convertModelPositionToViewPosition(r);return t.viewLayout.getLineHeightForLineNumber(e.lineNumber)}return 0}setHiddenAreas(e,t,n){this._modelData?.viewModel.setHiddenAreas(e.map(e=>U.lift(e)),t,n)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return Ol.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!F.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!U.isIRange(e))throw Error(`Invalid arguments`);let i=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this._modelData.viewModel.revealRange(`api`,n,a,t,r)}revealAllCursors(e,t){this._modelData&&this._modelData.viewModel.revealAllCursors(`api`,e,t)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new U(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!F.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new U(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=W.isISelection(e),r=U.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new W(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new U(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,+!!n,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!U.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(U.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!W.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});let n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){n||={};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:e,handlerId:t,payload:n}),this._beginUpdate(),t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run(n)).then(void 0,ie);return}if(!this._modelData||this._triggerEditorCommand(e,t,n))return;this._triggerCommand(t,n)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this.inComposition=!1,this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&t.length!==0&&(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,i,a){if(!this._modelData)return;let o=this._modelData.viewModel,s=o.getSelection().getStartPosition();o.paste(t,n,r,e);let c=o.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({clipboardEvent:a,range:new U(s.lineNumber,s.column,c.lineNumber,c.column),languageId:i})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=bl.getEditorCommand(t);return r?(n||={},we(n)&&(n.source=e),this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,ie)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.popStackElement(),!0)}edit(e,t){return this.executeEdits(t,e.replacements.map(e=>({range:e.range,text:e.text})),void 0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(104))return!1;let r;r=n?Array.isArray(n)?()=>n:n:()=>null;let i,a;return e instanceof pC?(a=e,i=e.metadata.source):(a=hC.unknown({name:e}),i=e),this._onBeforeExecuteEdit.fire({source:i??void 0}),this._modelData.viewModel.executeEdits(i,t,r,a),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new jge(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getLineDecorations(e,this._id,yg(t),bg(t))}getDecorationsInRange(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getDecorationsInRange(e,this._id,yg(t),bg(t))}getFontSizeAtPosition(e){return this._modelData?this._modelData.viewModel.getFontSizeAtPosition(e):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&e.length!==0&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];if(t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)){let t=this._decorationTypeSubtypes[e];for(let n of Object.keys(t))this._removeDecorationType(e+`-`+n);delete this._decorationTypeSubtypes[e]}}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isWidgetFocused()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a content widget with the same id:`+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting an overlay widget with the same id.`),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a glyph margin widget with the same id.`),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),n=this._configuration.options.get(165);return{top:ZE._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:this.getLineHeightForPosition(t)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}getWidthOfLine(e){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getLineWidth(e)}resetLineWidthCaches(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.resetLineWidthCaches()}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}renderAsync(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!1,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Uh(e,this._configuration.options.get(59))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let n=e.onBeforeAttached(),r=new xge(this._id,this._configuration,e,ape.create(lo(this._domElement)),bhe.create(this._configuration.options),e=>Co(lo(this._domElement),e),this.languageConfigurationService,this._themeService,n,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._editorWidgetFocus.setValue(t.hasFocus);break;case 3:this._onDidScrollChange.fire(t);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(t.reachedMaxCursorCount){let e=l(99,`The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.`,this.getOption(89));this._notificationService.prompt(rS.Warning,e,[{label:`Find and Replace`,run:()=>{this._commandService.executeCommand(`editor.action.startFindReplaceAction`)}},{label:l(100,`Increase Multi Cursor Limit`),run:()=>{this._commandService.executeCommand(`workbench.action.openSettings2`,{query:`editor.multiCursorLimit`})}}])}let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 8:this._onDidChangeModelDecorations.fire(t.event);break;case 9:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 11:this._onDidChangeModelContent.fire(t.event);break;case 12:this._onDidChangeModelOptions.fire(t.event);break;case 13:this._onDidChangeModelTokens.fire(t.event);break;case 14:this._onDidChangeLineHeight.fire(t.event);break;case 15:this._onDidChangeFont.fire(t.event)}}));let[i,a]=this._createView(r);if(a){this._domElement.appendChild(i.domNode.domNode);let n=Object.keys(this._contentWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addContentWidget(this._contentWidgets[t])}n=Object.keys(this._overlayWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addOverlayWidget(this._overlayWidgets[t])}n=Object.keys(this._glyphMarginWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addGlyphMarginWidget(this._glyphMarginWidgets[t])}i.render(!1,!0),i.domNode.domNode.setAttribute(`data-uri`,e.uri.toString()),t.push(i.onWillCopy(e=>this._onWillCopy.fire(e))),t.push(i.onWillCut(e=>this._onWillCut.fire(e))),t.push(i.onWillPaste(e=>this._onWillPaste.fire(e)))}this._modelData=new Oge(e,r,i,a,t,n)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new Eb(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new US(this._domElement,this.getId(),t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService,this._userInteractionService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){let t=[{range:new U(e.lineNumber,e.column,e.lineNumber,e.column),options:ZE.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}};QE=ZE=Ege([XE(3,P),XE(4,js),XE(5,Us),XE(6,mc),XE(7,Mb),XE(8,iS),XE(9,Mg),XE(10,gd),XE(11,J),XE(12,VS)],QE);var Dge=0,Oge=class{constructor(e,t,n,r,i,a){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i,this.attachedView=a}dispose(){Ut(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},$E=class extends E{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new O(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new O(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},eD=class extends O{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}},kge=class extends E{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=G.editorSimpleInput.bindTo(t),this._editorFocus=G.focus.bindTo(t),this._textInputFocus=G.textInputFocus.bindTo(t),this._editorTextFocus=G.editorTextFocus.bindTo(t),this._tabMovesFocus=G.tabMovesFocus.bindTo(t),this._editorReadonly=G.readOnly.bindTo(t),this._inDiffEditor=G.inDiffEditor.bindTo(t),this._editorColumnSelection=G.columnSelection.bindTo(t),this._hasMultipleSelections=G.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=G.hasNonEmptySelection.bindTo(t),this._canUndo=G.canUndo.bindTo(t),this._canRedo=G.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(jg.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(e.get(164)||jg.getTabFocusMode()),this._editorReadonly.set(e.get(104)),this._inDiffEditor.set(e.get(70)),this._editorColumnSelection.set(e.get(28))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},Age=class extends E{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=G.languageId.bindTo(t),this._hasCompletionItemProvider=G.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=G.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=G.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=G.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=G.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=G.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=G.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=G.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=G.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=G.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=G.hasReferenceProvider.bindTo(t),this._hasRenameProvider=G.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=G.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=G.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=G.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=G.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=G.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=G.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=G.isInEmbeddedEditor.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===ui.walkThroughSnippet||e.uri.scheme===ui.vscodeChatCodeBlock)})}},jge=class{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}},Mge=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,Nge=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function tD(e){return Mge+encodeURIComponent(e.toString())+Nge}var Pge=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,Fge=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function nD(e){return Pge+encodeURIComponent(e.toString())+Fge}Lb((e,t)=>{let n=e.getColor(b_);n&&(t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${tD(n)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${tD(n)}"); }`));let r=e.getColor(x_);r&&(t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${tD(r)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${tD(r)}"); }`));let i=e.getColor(C_);i&&(t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${tD(i)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${tD(i)}"); }`));let a=e.getColor(Fse);a&&(t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${nD(a)}") no-repeat bottom left; }`),t.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${nD(a)}"); }`));let o=e.getColor(Hue);o&&(t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${o.rgba.a}; }`),t.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${o.rgba.a}; }`))});function rD(e){return new Ige(e)}var Ige=class extends Ea{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}};function iD(e,t){return e}function aD(e){return rD(e)}var oD=As(`accessibilitySignalService`),sD=class e{static register(t){return new e(t.fileName)}static{this.error=e.register({fileName:`error.mp3`})}static{this.warning=e.register({fileName:`warning.mp3`})}static{this.success=e.register({fileName:`success.mp3`})}static{this.foldedArea=e.register({fileName:`foldedAreas.mp3`})}static{this.break=e.register({fileName:`break.mp3`})}static{this.quickFixes=e.register({fileName:`quickFixes.mp3`})}static{this.taskCompleted=e.register({fileName:`taskCompleted.mp3`})}static{this.taskFailed=e.register({fileName:`taskFailed.mp3`})}static{this.terminalBell=e.register({fileName:`terminalBell.mp3`})}static{this.diffLineInserted=e.register({fileName:`diffLineInserted.mp3`})}static{this.diffLineDeleted=e.register({fileName:`diffLineDeleted.mp3`})}static{this.diffLineModified=e.register({fileName:`diffLineModified.mp3`})}static{this.requestSent=e.register({fileName:`requestSent.mp3`})}static{this.responseReceived1=e.register({fileName:`responseReceived1.mp3`})}static{this.responseReceived2=e.register({fileName:`responseReceived2.mp3`})}static{this.responseReceived3=e.register({fileName:`responseReceived3.mp3`})}static{this.responseReceived4=e.register({fileName:`responseReceived4.mp3`})}static{this.clear=e.register({fileName:`clear.mp3`})}static{this.save=e.register({fileName:`save.mp3`})}static{this.format=e.register({fileName:`format.mp3`})}static{this.voiceRecordingStarted=e.register({fileName:`voiceRecordingStarted.mp3`})}static{this.voiceRecordingStopped=e.register({fileName:`voiceRecordingStopped.mp3`})}static{this.progress=e.register({fileName:`progress.mp3`})}static{this.chatEditModifiedFile=e.register({fileName:`chatEditModifiedFile.mp3`})}static{this.editsKept=e.register({fileName:`editsKept.mp3`})}static{this.editsUndone=e.register({fileName:`editsUndone.mp3`})}static{this.nextEditSuggestion=e.register({fileName:`nextEditSuggestion.mp3`})}static{this.terminalCommandSucceeded=e.register({fileName:`terminalCommandSucceeded.mp3`})}static{this.chatUserActionRequired=e.register({fileName:`chatUserActionRequired.mp3`})}static{this.codeActionTriggered=e.register({fileName:`codeActionTriggered.mp3`})}static{this.codeActionApplied=e.register({fileName:`codeActionApplied.mp3`})}constructor(e){this.fileName=e}},cD=class{constructor(e){this.randomOneOf=e}},lD=class e{constructor(e,t,n,r,i,a,o=!1){this.sound=e,this.name=t,this.legacySoundSettingsKey=n,this.settingsKey=r,this.legacyAnnouncementSettingsKey=i,this.announcementMessage=a,this.managesOwnEnablement=o}static{this._signals=new Set}static register(t){let n=new cD(`randomOneOf`in t.sound?t.sound.randomOneOf:[t.sound]),r=new e(n,t.name,t.legacySoundSettingsKey,t.settingsKey,t.legacyAnnouncementSettingsKey,t.announcementMessage,t.managesOwnEnablement);return e._signals.add(r),r}static{this.errorAtPosition=e.register({name:l(1630,`Error at Position`),sound:sD.error,announcementMessage:l(1631,`Error`),settingsKey:`accessibility.signals.positionHasError`,delaySettingsKey:`accessibility.signalOptions.delays.errorAtPosition`})}static{this.warningAtPosition=e.register({name:l(1632,`Warning at Position`),sound:sD.warning,announcementMessage:l(1633,`Warning`),settingsKey:`accessibility.signals.positionHasWarning`,delaySettingsKey:`accessibility.signalOptions.delays.warningAtPosition`})}static{this.errorOnLine=e.register({name:l(1634,`Error on Line`),sound:sD.error,legacySoundSettingsKey:`audioCues.lineHasError`,legacyAnnouncementSettingsKey:`accessibility.alert.error`,announcementMessage:l(1635,`Error on Line`),settingsKey:`accessibility.signals.lineHasError`})}static{this.warningOnLine=e.register({name:l(1636,`Warning on Line`),sound:sD.warning,legacySoundSettingsKey:`audioCues.lineHasWarning`,legacyAnnouncementSettingsKey:`accessibility.alert.warning`,announcementMessage:l(1637,`Warning on Line`),settingsKey:`accessibility.signals.lineHasWarning`})}static{this.foldedArea=e.register({name:l(1638,`Folded Area on Line`),sound:sD.foldedArea,legacySoundSettingsKey:`audioCues.lineHasFoldedArea`,legacyAnnouncementSettingsKey:`accessibility.alert.foldedArea`,announcementMessage:l(1639,`Folded`),settingsKey:`accessibility.signals.lineHasFoldedArea`})}static{this.break=e.register({name:l(1640,`Breakpoint on Line`),sound:sD.break,legacySoundSettingsKey:`audioCues.lineHasBreakpoint`,legacyAnnouncementSettingsKey:`accessibility.alert.breakpoint`,announcementMessage:l(1641,`Breakpoint`),settingsKey:`accessibility.signals.lineHasBreakpoint`})}static{this.inlineSuggestion=e.register({name:l(1642,`Inline Suggestion on Line`),sound:sD.quickFixes,legacySoundSettingsKey:`audioCues.lineHasInlineSuggestion`,settingsKey:`accessibility.signals.lineHasInlineSuggestion`})}static{this.nextEditSuggestion=e.register({name:l(1643,`Next Edit Suggestion on Line`),sound:sD.nextEditSuggestion,legacySoundSettingsKey:`audioCues.nextEditSuggestion`,settingsKey:`accessibility.signals.nextEditSuggestion`,announcementMessage:l(1644,`Next Edit Suggestion`)})}static{this.terminalQuickFix=e.register({name:l(1645,`Terminal Quick Fix`),sound:sD.quickFixes,legacySoundSettingsKey:`audioCues.terminalQuickFix`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalQuickFix`,announcementMessage:l(1646,`Quick Fix`),settingsKey:`accessibility.signals.terminalQuickFix`})}static{this.onDebugBreak=e.register({name:l(1647,`Debugger Stopped on Breakpoint`),sound:sD.break,legacySoundSettingsKey:`audioCues.onDebugBreak`,legacyAnnouncementSettingsKey:`accessibility.alert.onDebugBreak`,announcementMessage:l(1648,`Breakpoint`),settingsKey:`accessibility.signals.onDebugBreak`})}static{this.noInlayHints=e.register({name:l(1649,`No Inlay Hints on Line`),sound:sD.error,legacySoundSettingsKey:`audioCues.noInlayHints`,legacyAnnouncementSettingsKey:`accessibility.alert.noInlayHints`,announcementMessage:l(1650,`No Inlay Hints`),settingsKey:`accessibility.signals.noInlayHints`})}static{this.taskCompleted=e.register({name:l(1651,`Task Completed`),sound:sD.taskCompleted,legacySoundSettingsKey:`audioCues.taskCompleted`,legacyAnnouncementSettingsKey:`accessibility.alert.taskCompleted`,announcementMessage:l(1652,`Task Completed`),settingsKey:`accessibility.signals.taskCompleted`})}static{this.taskFailed=e.register({name:l(1653,`Task Failed`),sound:sD.taskFailed,legacySoundSettingsKey:`audioCues.taskFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.taskFailed`,announcementMessage:l(1654,`Task Failed`),settingsKey:`accessibility.signals.taskFailed`})}static{this.terminalCommandFailed=e.register({name:l(1655,`Terminal Command Failed`),sound:sD.error,legacySoundSettingsKey:`audioCues.terminalCommandFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalCommandFailed`,announcementMessage:l(1656,`Command Failed`),settingsKey:`accessibility.signals.terminalCommandFailed`})}static{this.terminalCommandSucceeded=e.register({name:l(1657,`Terminal Command Succeeded`),sound:sD.terminalCommandSucceeded,announcementMessage:l(1658,`Command Succeeded`),settingsKey:`accessibility.signals.terminalCommandSucceeded`})}static{this.terminalBell=e.register({name:l(1659,`Terminal Bell`),sound:sD.terminalBell,legacySoundSettingsKey:`audioCues.terminalBell`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalBell`,announcementMessage:l(1660,`Terminal Bell`),settingsKey:`accessibility.signals.terminalBell`})}static{this.notebookCellCompleted=e.register({name:l(1661,`Notebook Cell Completed`),sound:sD.taskCompleted,legacySoundSettingsKey:`audioCues.notebookCellCompleted`,legacyAnnouncementSettingsKey:`accessibility.alert.notebookCellCompleted`,announcementMessage:l(1662,`Notebook Cell Completed`),settingsKey:`accessibility.signals.notebookCellCompleted`})}static{this.notebookCellFailed=e.register({name:l(1663,`Notebook Cell Failed`),sound:sD.taskFailed,legacySoundSettingsKey:`audioCues.notebookCellFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.notebookCellFailed`,announcementMessage:l(1664,`Notebook Cell Failed`),settingsKey:`accessibility.signals.notebookCellFailed`})}static{this.diffLineInserted=e.register({name:l(1665,`Diff Line Inserted`),sound:sD.diffLineInserted,legacySoundSettingsKey:`audioCues.diffLineInserted`,settingsKey:`accessibility.signals.diffLineInserted`})}static{this.diffLineDeleted=e.register({name:l(1666,`Diff Line Deleted`),sound:sD.diffLineDeleted,legacySoundSettingsKey:`audioCues.diffLineDeleted`,settingsKey:`accessibility.signals.diffLineDeleted`})}static{this.diffLineModified=e.register({name:l(1667,`Diff Line Modified`),sound:sD.diffLineModified,legacySoundSettingsKey:`audioCues.diffLineModified`,settingsKey:`accessibility.signals.diffLineModified`})}static{this.chatEditModifiedFile=e.register({name:l(1668,`Chat Edit Modified File`),sound:sD.chatEditModifiedFile,announcementMessage:l(1669,`File Modified from Chat Edits`),settingsKey:`accessibility.signals.chatEditModifiedFile`})}static{this.chatRequestSent=e.register({name:l(1670,`Chat Request Sent`),sound:sD.requestSent,legacySoundSettingsKey:`audioCues.chatRequestSent`,legacyAnnouncementSettingsKey:`accessibility.alert.chatRequestSent`,announcementMessage:l(1671,`Chat Request Sent`),settingsKey:`accessibility.signals.chatRequestSent`})}static{this.chatResponseReceived=e.register({name:l(1672,`Chat Response Received`),legacySoundSettingsKey:`audioCues.chatResponseReceived`,sound:{randomOneOf:[sD.responseReceived1,sD.responseReceived2,sD.responseReceived3,sD.responseReceived4]},settingsKey:`accessibility.signals.chatResponseReceived`})}static{this.codeActionTriggered=e.register({name:l(1673,`Code Action Request Triggered`),sound:sD.codeActionTriggered,legacySoundSettingsKey:`audioCues.codeActionRequestTriggered`,legacyAnnouncementSettingsKey:`accessibility.alert.codeActionRequestTriggered`,announcementMessage:l(1674,`Code Action Request Triggered`),settingsKey:`accessibility.signals.codeActionTriggered`})}static{this.codeActionApplied=e.register({name:l(1675,`Code Action Applied`),legacySoundSettingsKey:`audioCues.codeActionApplied`,sound:sD.codeActionApplied,settingsKey:`accessibility.signals.codeActionApplied`})}static{this.progress=e.register({name:l(1676,`Progress`),sound:sD.progress,legacySoundSettingsKey:`audioCues.chatResponsePending`,legacyAnnouncementSettingsKey:`accessibility.alert.progress`,announcementMessage:l(1677,`Progress`),settingsKey:`accessibility.signals.progress`})}static{this.clear=e.register({name:l(1678,`Clear`),sound:sD.clear,legacySoundSettingsKey:`audioCues.clear`,legacyAnnouncementSettingsKey:`accessibility.alert.clear`,announcementMessage:l(1679,`Clear`),settingsKey:`accessibility.signals.clear`})}static{this.save=e.register({name:l(1680,`Save`),sound:sD.save,legacySoundSettingsKey:`audioCues.save`,legacyAnnouncementSettingsKey:`accessibility.alert.save`,announcementMessage:l(1681,`Save`),settingsKey:`accessibility.signals.save`})}static{this.format=e.register({name:l(1682,`Format`),sound:sD.format,legacySoundSettingsKey:`audioCues.format`,legacyAnnouncementSettingsKey:`accessibility.alert.format`,announcementMessage:l(1683,`Format`),settingsKey:`accessibility.signals.format`})}static{this.voiceRecordingStarted=e.register({name:l(1684,`Voice Recording Started`),sound:sD.voiceRecordingStarted,legacySoundSettingsKey:`audioCues.voiceRecordingStarted`,settingsKey:`accessibility.signals.voiceRecordingStarted`})}static{this.voiceRecordingStopped=e.register({name:l(1685,`Voice Recording Stopped`),sound:sD.voiceRecordingStopped,legacySoundSettingsKey:`audioCues.voiceRecordingStopped`,settingsKey:`accessibility.signals.voiceRecordingStopped`})}static{this.editsKept=e.register({name:l(1686,`Edits Kept`),sound:sD.editsKept,announcementMessage:l(1687,`Edits Kept`),settingsKey:`accessibility.signals.editsKept`})}static{this.editsUndone=e.register({name:l(1688,`Undo Edits`),sound:sD.editsUndone,announcementMessage:l(1689,`Edits Undone`),settingsKey:`accessibility.signals.editsUndone`})}static{this.chatUserActionRequired=e.register({name:l(1690,`Chat User Action Required`),sound:sD.chatUserActionRequired,announcementMessage:l(1691,`Chat User Action Required`),settingsKey:`accessibility.signals.chatUserActionRequired`})}};function uD(e,t,n,r=ha.ofCaller()){return Xa({debugName:()=>`Configuration Key "${e}"`},t=>n.onDidChangeConfiguration(n=>{n.affectsConfiguration(e)&&t(n)}),()=>n.getValue(e)??t,r)}function dD(e,t,n,r=ha.ofCaller()){let i=e.bindTo(t),a=new T;return Ma({debugName:()=>`Set Context Key "${e.key}"`},e=>{let t=n(e);return i.set(t),t},r).recomputeInitiallyAndOnChange(a),a}var fD=As(`progressService`),pD=class{static{this.None=Object.freeze({report(){}})}constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}},mD=As(`editorProgressService`),hD=class e{static capture(t){if(t.getScrollTop()===0||t.hasPendingScrollAnimation())return new e(t.getScrollTop(),t.getContentHeight(),null,0,null);let n=null,r=0,i=t.getVisibleRanges();if(i.length>0){n=i[0].getStartPosition();let e=t.getTopForPosition(n.lineNumber,n.column);r=t.getScrollTop()-e}return new e(t.getScrollTop(),t.getContentHeight(),n,r,t.getPosition())}constructor(e,t,n,r,i){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=n,this._visiblePositionScrollDelta=r,this._cursorPosition=i}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;let t=e.getPosition();if(!this._cursorPosition||!t)return;let n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n,1)}},gD=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}}),Lge=new Bn(()=>gD(`mouse`,!1)),Rge=new Bn(()=>gD(`element`,!1));function zge(e){gD=e}function _D(e){return e===`element`?Rge.value:Lge.value}function vD(){return gD(`element`,!0)}function yD(e){return e}function bD(e,t){if(e!==void 0){let n=e.match(/^\s*var\((.+)\)$/);if(n){let e=n[1].split(`,`,2);return e.length===2&&(t=bD(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}function xD(e){let t=e.replaceAll(/[^_\-a-z0-9]/gi,``);return t!==e&&console.warn(`CSS ident value ${e} modified to ${t} to be safe for CSS`),yD(t)}function SD(e){return yD(`'${e.replaceAll(/'/g,`\\000027`)}'`)}function CD(e){return e?TD`url('${yD(CSS.escape(mi.uriToBrowserUri(e).toString(!0)))}')`:yD(`url('')`)}function wD(e,t=!1){let n=CSS.escape(e);return!t&&n!==e&&console.warn(`CSS class name ${e} modified to ${n} to be safe for CSS`),yD(n)}function TD(e,...t){return yD(e.reduce((e,n,r)=>{let i=t[r]||``;return e+n+i},``))}var ED=class{constructor(){this._parts=[]}push(...e){this._parts.push(...e)}join(e=`
|
|
@@ -1213,7 +1213,7 @@ ${e.value}
|
|
|
1213
1213
|
`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r
|
|
1214
1214
|
`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`
|
|
1215
1215
|
`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r
|
|
1216
|
-
`+` `.repeat(t));var pXe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(pXe||={});var mXe=dXe,hXe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(hXe||={});var gXe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(gXe||={});var _Xe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(_Xe||={});function vXe(e){return{getInitialState:()=>new w9(null,null,!1,null),tokenize:(t,n)=>OXe(e,t,n)}}var x9=`delimiter.bracket.json`,S9=`delimiter.array.json`,yXe=`delimiter.colon.json`,bXe=`delimiter.comma.json`,xXe=`keyword.json`,SXe=`keyword.json`,CXe=`string.value.json`,wXe=`number.json`,TXe=`string.key.json`,EXe=`comment.block.json`,DXe=`comment.line.json`,C9=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},w9=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&C9.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function OXe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=mXe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=C9.push(c,0),u=x9,s=!1;break;case 2:c=C9.pop(c),u=x9,s=!1;break;case 3:c=C9.push(c,1),u=S9,s=!1;break;case 4:c=C9.pop(c),u=S9,s=!1;break;case 6:u=yXe,s=!0;break;case 5:u=bXe,s=!1;break;case 8:case 9:u=xXe,s=!1;break;case 7:u=SXe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?CXe:TXe,s=!1;break;case 11:u=wXe,s=!1}switch(d){case 12:u=DXe;break;case 13:u=EXe}l.endState=new w9(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var kXe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>g9,fromPosition:()=>U7,fromRange:()=>W7,getWorker:()=>AXe,setupMode:()=>MXe,toRange:()=>G7,toTextEdit:()=>K7}),T9;function AXe(){return new Promise((e,t)=>{if(!T9)return t(`JSON not registered!`);e(T9)})}var jXe=class extends V7{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(G6.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(G6.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function MXe(e){let t=[],n=[],r=new g9(e);t.push(r),T9=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;D9(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(T9))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(T9))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(T9,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(T9))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(T9))),r.tokens&&n.push(Q.setTokensProvider(t,vXe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new s9(T9))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(T9))),r.diagnostics&&n.push(new jXe(t,T9,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(T9)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,NXe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(E9(n)),E9(t)}function E9(e){return{dispose:()=>D9(e)}}function D9(e){for(;e.length;)e.pop().dispose()}var NXe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},O9=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=l7({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(``+new URL(`ts.worker-Dj4vg72D.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(G6.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},k9={};k9[`lib.d.ts`]=!0,k9[`lib.decorators.d.ts`]=!0,k9[`lib.decorators.legacy.d.ts`]=!0,k9[`lib.dom.asynciterable.d.ts`]=!0,k9[`lib.dom.d.ts`]=!0,k9[`lib.dom.iterable.d.ts`]=!0,k9[`lib.es2015.collection.d.ts`]=!0,k9[`lib.es2015.core.d.ts`]=!0,k9[`lib.es2015.d.ts`]=!0,k9[`lib.es2015.generator.d.ts`]=!0,k9[`lib.es2015.iterable.d.ts`]=!0,k9[`lib.es2015.promise.d.ts`]=!0,k9[`lib.es2015.proxy.d.ts`]=!0,k9[`lib.es2015.reflect.d.ts`]=!0,k9[`lib.es2015.symbol.d.ts`]=!0,k9[`lib.es2015.symbol.wellknown.d.ts`]=!0,k9[`lib.es2016.array.include.d.ts`]=!0,k9[`lib.es2016.d.ts`]=!0,k9[`lib.es2016.full.d.ts`]=!0,k9[`lib.es2016.intl.d.ts`]=!0,k9[`lib.es2017.arraybuffer.d.ts`]=!0,k9[`lib.es2017.d.ts`]=!0,k9[`lib.es2017.date.d.ts`]=!0,k9[`lib.es2017.full.d.ts`]=!0,k9[`lib.es2017.intl.d.ts`]=!0,k9[`lib.es2017.object.d.ts`]=!0,k9[`lib.es2017.sharedmemory.d.ts`]=!0,k9[`lib.es2017.string.d.ts`]=!0,k9[`lib.es2017.typedarrays.d.ts`]=!0,k9[`lib.es2018.asyncgenerator.d.ts`]=!0,k9[`lib.es2018.asynciterable.d.ts`]=!0,k9[`lib.es2018.d.ts`]=!0,k9[`lib.es2018.full.d.ts`]=!0,k9[`lib.es2018.intl.d.ts`]=!0,k9[`lib.es2018.promise.d.ts`]=!0,k9[`lib.es2018.regexp.d.ts`]=!0,k9[`lib.es2019.array.d.ts`]=!0,k9[`lib.es2019.d.ts`]=!0,k9[`lib.es2019.full.d.ts`]=!0,k9[`lib.es2019.intl.d.ts`]=!0,k9[`lib.es2019.object.d.ts`]=!0,k9[`lib.es2019.string.d.ts`]=!0,k9[`lib.es2019.symbol.d.ts`]=!0,k9[`lib.es2020.bigint.d.ts`]=!0,k9[`lib.es2020.d.ts`]=!0,k9[`lib.es2020.date.d.ts`]=!0,k9[`lib.es2020.full.d.ts`]=!0,k9[`lib.es2020.intl.d.ts`]=!0,k9[`lib.es2020.number.d.ts`]=!0,k9[`lib.es2020.promise.d.ts`]=!0,k9[`lib.es2020.sharedmemory.d.ts`]=!0,k9[`lib.es2020.string.d.ts`]=!0,k9[`lib.es2020.symbol.wellknown.d.ts`]=!0,k9[`lib.es2021.d.ts`]=!0,k9[`lib.es2021.full.d.ts`]=!0,k9[`lib.es2021.intl.d.ts`]=!0,k9[`lib.es2021.promise.d.ts`]=!0,k9[`lib.es2021.string.d.ts`]=!0,k9[`lib.es2021.weakref.d.ts`]=!0,k9[`lib.es2022.array.d.ts`]=!0,k9[`lib.es2022.d.ts`]=!0,k9[`lib.es2022.error.d.ts`]=!0,k9[`lib.es2022.full.d.ts`]=!0,k9[`lib.es2022.intl.d.ts`]=!0,k9[`lib.es2022.object.d.ts`]=!0,k9[`lib.es2022.regexp.d.ts`]=!0,k9[`lib.es2022.string.d.ts`]=!0,k9[`lib.es2023.array.d.ts`]=!0,k9[`lib.es2023.collection.d.ts`]=!0,k9[`lib.es2023.d.ts`]=!0,k9[`lib.es2023.full.d.ts`]=!0,k9[`lib.es2023.intl.d.ts`]=!0,k9[`lib.es2024.arraybuffer.d.ts`]=!0,k9[`lib.es2024.collection.d.ts`]=!0,k9[`lib.es2024.d.ts`]=!0,k9[`lib.es2024.full.d.ts`]=!0,k9[`lib.es2024.object.d.ts`]=!0,k9[`lib.es2024.promise.d.ts`]=!0,k9[`lib.es2024.regexp.d.ts`]=!0,k9[`lib.es2024.sharedmemory.d.ts`]=!0,k9[`lib.es2024.string.d.ts`]=!0,k9[`lib.es5.d.ts`]=!0,k9[`lib.es6.d.ts`]=!0,k9[`lib.esnext.array.d.ts`]=!0,k9[`lib.esnext.collection.d.ts`]=!0,k9[`lib.esnext.d.ts`]=!0,k9[`lib.esnext.decorators.d.ts`]=!0,k9[`lib.esnext.disposable.d.ts`]=!0,k9[`lib.esnext.error.d.ts`]=!0,k9[`lib.esnext.float16.d.ts`]=!0,k9[`lib.esnext.full.d.ts`]=!0,k9[`lib.esnext.intl.d.ts`]=!0,k9[`lib.esnext.iterator.d.ts`]=!0,k9[`lib.esnext.promise.d.ts`]=!0,k9[`lib.esnext.sharedmemory.d.ts`]=!0,k9[`lib.scripthost.d.ts`]=!0,k9[`lib.webworker.asynciterable.d.ts`]=!0,k9[`lib.webworker.d.ts`]=!0,k9[`lib.webworker.importscripts.d.ts`]=!0,k9[`lib.webworker.iterable.d.ts`]=!0;function A9(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=A9(i,t,n);return r}function j9(e){return e?e.map(e=>e.text).join(``):``}var M9=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},N9=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!k9[e.path.slice(1)]:!1}getOrCreateModel(e){let t=W6.parse(e),n=G6.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return G6.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=A5.getExtraLibs()[e];return r?G6.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},P9=class extends M9{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():G6.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{G6.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(G6.onDidCreateModel(e=>i(e))),this._disposables.push(G6.onWillDisposeModel(a)),this._disposables.push(G6.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of G6.getModels())a(e)}});let o=()=>{for(let e of G6.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),G6.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?W6.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&G6.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(U6.Unnecessary),t.reportsDeprecated&&c.push(U6.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:A9(t.messageText,`
|
|
1216
|
+
`+` `.repeat(t));var pXe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(pXe||={});var mXe=dXe,hXe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(hXe||={});var gXe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(gXe||={});var _Xe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(_Xe||={});function vXe(e){return{getInitialState:()=>new w9(null,null,!1,null),tokenize:(t,n)=>OXe(e,t,n)}}var x9=`delimiter.bracket.json`,S9=`delimiter.array.json`,yXe=`delimiter.colon.json`,bXe=`delimiter.comma.json`,xXe=`keyword.json`,SXe=`keyword.json`,CXe=`string.value.json`,wXe=`number.json`,TXe=`string.key.json`,EXe=`comment.block.json`,DXe=`comment.line.json`,C9=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},w9=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&C9.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function OXe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=mXe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=C9.push(c,0),u=x9,s=!1;break;case 2:c=C9.pop(c),u=x9,s=!1;break;case 3:c=C9.push(c,1),u=S9,s=!1;break;case 4:c=C9.pop(c),u=S9,s=!1;break;case 6:u=yXe,s=!0;break;case 5:u=bXe,s=!1;break;case 8:case 9:u=xXe,s=!1;break;case 7:u=SXe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?CXe:TXe,s=!1;break;case 11:u=wXe,s=!1}switch(d){case 12:u=DXe;break;case 13:u=EXe}l.endState=new w9(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var kXe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>g9,fromPosition:()=>U7,fromRange:()=>W7,getWorker:()=>AXe,setupMode:()=>MXe,toRange:()=>G7,toTextEdit:()=>K7}),T9;function AXe(){return new Promise((e,t)=>{if(!T9)return t(`JSON not registered!`);e(T9)})}var jXe=class extends V7{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(G6.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(G6.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function MXe(e){let t=[],n=[],r=new g9(e);t.push(r),T9=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;D9(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(T9))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(T9))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(T9,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(T9))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(T9))),r.tokens&&n.push(Q.setTokensProvider(t,vXe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new s9(T9))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(T9))),r.diagnostics&&n.push(new jXe(t,T9,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(T9)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,NXe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(E9(n)),E9(t)}function E9(e){return{dispose:()=>D9(e)}}function D9(e){for(;e.length;)e.pop().dispose()}var NXe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},O9=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=l7({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(``+new URL(`ts.worker-9_CJKYKz.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(G6.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},k9={};k9[`lib.d.ts`]=!0,k9[`lib.decorators.d.ts`]=!0,k9[`lib.decorators.legacy.d.ts`]=!0,k9[`lib.dom.asynciterable.d.ts`]=!0,k9[`lib.dom.d.ts`]=!0,k9[`lib.dom.iterable.d.ts`]=!0,k9[`lib.es2015.collection.d.ts`]=!0,k9[`lib.es2015.core.d.ts`]=!0,k9[`lib.es2015.d.ts`]=!0,k9[`lib.es2015.generator.d.ts`]=!0,k9[`lib.es2015.iterable.d.ts`]=!0,k9[`lib.es2015.promise.d.ts`]=!0,k9[`lib.es2015.proxy.d.ts`]=!0,k9[`lib.es2015.reflect.d.ts`]=!0,k9[`lib.es2015.symbol.d.ts`]=!0,k9[`lib.es2015.symbol.wellknown.d.ts`]=!0,k9[`lib.es2016.array.include.d.ts`]=!0,k9[`lib.es2016.d.ts`]=!0,k9[`lib.es2016.full.d.ts`]=!0,k9[`lib.es2016.intl.d.ts`]=!0,k9[`lib.es2017.arraybuffer.d.ts`]=!0,k9[`lib.es2017.d.ts`]=!0,k9[`lib.es2017.date.d.ts`]=!0,k9[`lib.es2017.full.d.ts`]=!0,k9[`lib.es2017.intl.d.ts`]=!0,k9[`lib.es2017.object.d.ts`]=!0,k9[`lib.es2017.sharedmemory.d.ts`]=!0,k9[`lib.es2017.string.d.ts`]=!0,k9[`lib.es2017.typedarrays.d.ts`]=!0,k9[`lib.es2018.asyncgenerator.d.ts`]=!0,k9[`lib.es2018.asynciterable.d.ts`]=!0,k9[`lib.es2018.d.ts`]=!0,k9[`lib.es2018.full.d.ts`]=!0,k9[`lib.es2018.intl.d.ts`]=!0,k9[`lib.es2018.promise.d.ts`]=!0,k9[`lib.es2018.regexp.d.ts`]=!0,k9[`lib.es2019.array.d.ts`]=!0,k9[`lib.es2019.d.ts`]=!0,k9[`lib.es2019.full.d.ts`]=!0,k9[`lib.es2019.intl.d.ts`]=!0,k9[`lib.es2019.object.d.ts`]=!0,k9[`lib.es2019.string.d.ts`]=!0,k9[`lib.es2019.symbol.d.ts`]=!0,k9[`lib.es2020.bigint.d.ts`]=!0,k9[`lib.es2020.d.ts`]=!0,k9[`lib.es2020.date.d.ts`]=!0,k9[`lib.es2020.full.d.ts`]=!0,k9[`lib.es2020.intl.d.ts`]=!0,k9[`lib.es2020.number.d.ts`]=!0,k9[`lib.es2020.promise.d.ts`]=!0,k9[`lib.es2020.sharedmemory.d.ts`]=!0,k9[`lib.es2020.string.d.ts`]=!0,k9[`lib.es2020.symbol.wellknown.d.ts`]=!0,k9[`lib.es2021.d.ts`]=!0,k9[`lib.es2021.full.d.ts`]=!0,k9[`lib.es2021.intl.d.ts`]=!0,k9[`lib.es2021.promise.d.ts`]=!0,k9[`lib.es2021.string.d.ts`]=!0,k9[`lib.es2021.weakref.d.ts`]=!0,k9[`lib.es2022.array.d.ts`]=!0,k9[`lib.es2022.d.ts`]=!0,k9[`lib.es2022.error.d.ts`]=!0,k9[`lib.es2022.full.d.ts`]=!0,k9[`lib.es2022.intl.d.ts`]=!0,k9[`lib.es2022.object.d.ts`]=!0,k9[`lib.es2022.regexp.d.ts`]=!0,k9[`lib.es2022.string.d.ts`]=!0,k9[`lib.es2023.array.d.ts`]=!0,k9[`lib.es2023.collection.d.ts`]=!0,k9[`lib.es2023.d.ts`]=!0,k9[`lib.es2023.full.d.ts`]=!0,k9[`lib.es2023.intl.d.ts`]=!0,k9[`lib.es2024.arraybuffer.d.ts`]=!0,k9[`lib.es2024.collection.d.ts`]=!0,k9[`lib.es2024.d.ts`]=!0,k9[`lib.es2024.full.d.ts`]=!0,k9[`lib.es2024.object.d.ts`]=!0,k9[`lib.es2024.promise.d.ts`]=!0,k9[`lib.es2024.regexp.d.ts`]=!0,k9[`lib.es2024.sharedmemory.d.ts`]=!0,k9[`lib.es2024.string.d.ts`]=!0,k9[`lib.es5.d.ts`]=!0,k9[`lib.es6.d.ts`]=!0,k9[`lib.esnext.array.d.ts`]=!0,k9[`lib.esnext.collection.d.ts`]=!0,k9[`lib.esnext.d.ts`]=!0,k9[`lib.esnext.decorators.d.ts`]=!0,k9[`lib.esnext.disposable.d.ts`]=!0,k9[`lib.esnext.error.d.ts`]=!0,k9[`lib.esnext.float16.d.ts`]=!0,k9[`lib.esnext.full.d.ts`]=!0,k9[`lib.esnext.intl.d.ts`]=!0,k9[`lib.esnext.iterator.d.ts`]=!0,k9[`lib.esnext.promise.d.ts`]=!0,k9[`lib.esnext.sharedmemory.d.ts`]=!0,k9[`lib.scripthost.d.ts`]=!0,k9[`lib.webworker.asynciterable.d.ts`]=!0,k9[`lib.webworker.d.ts`]=!0,k9[`lib.webworker.importscripts.d.ts`]=!0,k9[`lib.webworker.iterable.d.ts`]=!0;function A9(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=A9(i,t,n);return r}function j9(e){return e?e.map(e=>e.text).join(``):``}var M9=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},N9=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!k9[e.path.slice(1)]:!1}getOrCreateModel(e){let t=W6.parse(e),n=G6.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return G6.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=A5.getExtraLibs()[e];return r?G6.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},P9=class extends M9{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():G6.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{G6.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(G6.onDidCreateModel(e=>i(e))),this._disposables.push(G6.onWillDisposeModel(a)),this._disposables.push(G6.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of G6.getModels())a(e)}});let o=()=>{for(let e of G6.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),G6.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?W6.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&G6.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(U6.Unnecessary),t.reportsDeprecated&&c.push(U6.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:A9(t.messageText,`
|
|
1217
1217
|
`),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:A9(t.messageText,`
|
|
1218
1218
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return H6.Error;case 3:return H6.Info;case 0:return H6.Warning;case 2:return H6.Hint}return H6.Info}},F9=class e extends M9{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new V6(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),l=await this._worker(s);if(t.isDisposed())return;let u=await l.getCompletionsAtPosition(s.toString(),c);if(u&&!t.isDisposed())return{suggestions:u.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new V6(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(Q.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:j9(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case U9.primitiveType:case U9.keyword:return Q.CompletionItemKind.Keyword;case U9.variable:case U9.localVariable:return Q.CompletionItemKind.Variable;case U9.memberVariable:case U9.memberGetAccessor:case U9.memberSetAccessor:return Q.CompletionItemKind.Field;case U9.function:case U9.memberFunction:case U9.constructSignature:case U9.callSignature:case U9.indexSignature:return Q.CompletionItemKind.Function;case U9.enum:return Q.CompletionItemKind.Enum;case U9.module:return Q.CompletionItemKind.Module;case U9.class:return Q.CompletionItemKind.Class;case U9.interface:return Q.CompletionItemKind.Interface;case U9.warning:return Q.CompletionItemKind.File}return Q.CompletionItemKind.Property}static createDocumentationString(e){let t=j9(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
1219
1219
|
|
|
@@ -1223,4 +1223,4 @@ ${I9(n)}`;return t}};function I9(e){let t=`*@${e.name}*`;if(e.name===`param`&&e.
|
|
|
1223
1223
|
|
|
1224
1224
|
`+c:``)}]}}},z9=class extends M9{async provideDocumentHighlights(e,t,n){let r=e.uri,i=e.getOffsetAt(t),a=await this._worker(r);if(e.isDisposed())return;let o=await a.getDocumentHighlights(r.toString(),i,[r.toString()]);if(o&&!e.isDisposed())return o.flatMap(t=>t.highlightSpans.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:t.kind===`writtenReference`?Q.DocumentHighlightKind.Write:Q.DocumentHighlightKind.Text})))}},B9=class extends M9{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,n){let r=e.uri,i=e.getOffsetAt(t),a=await this._worker(r);if(e.isDisposed())return;let o=await a.getDefinitionAtPosition(r.toString(),i);if(!o||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(o.map(e=>W6.parse(e.fileName))),e.isDisposed()))return;let s=[];for(let e of o){let t=this._libFiles.getOrCreateModel(e.fileName);t&&s.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return s}},V9=class extends M9{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,n,r){let i=e.uri,a=e.getOffsetAt(t),o=await this._worker(i);if(e.isDisposed())return;let s=await o.getReferencesAtPosition(i.toString(),a);if(!s||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(s.map(e=>W6.parse(e.fileName))),e.isDisposed()))return;let c=[];for(let e of s){let t=this._libFiles.getOrCreateModel(e.fileName);t&&c.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return c}},H9=class extends M9{async provideDocumentSymbols(e,t){let n=e.uri,r=await this._worker(n);if(e.isDisposed())return;let i=await r.getNavigationTree(n.toString());if(!i||e.isDisposed())return;let a=(t,n)=>({name:t.text,detail:``,kind:W9[t.kind]||Q.SymbolKind.Variable,range:this._textSpanToRange(e,t.spans[0]),selectionRange:this._textSpanToRange(e,t.spans[0]),tags:[],children:t.childItems?.map(e=>a(e,t.text)),containerName:n});return i.childItems?i.childItems.map(e=>a(e)):[]}},U9=class{};U9.unknown=``,U9.keyword=`keyword`,U9.script=`script`,U9.module=`module`,U9.class=`class`,U9.interface=`interface`,U9.type=`type`,U9.enum=`enum`,U9.variable=`var`,U9.localVariable=`local var`,U9.function=`function`,U9.localFunction=`local function`,U9.memberFunction=`method`,U9.memberGetAccessor=`getter`,U9.memberSetAccessor=`setter`,U9.memberVariable=`property`,U9.constructorImplementation=`constructor`,U9.callSignature=`call`,U9.indexSignature=`index`,U9.constructSignature=`construct`,U9.parameter=`parameter`,U9.typeParameter=`type parameter`,U9.primitiveType=`primitive type`,U9.label=`label`,U9.alias=`alias`,U9.const=`const`,U9.let=`let`,U9.warning=`warning`;var W9=Object.create(null);W9[U9.module]=Q.SymbolKind.Module,W9[U9.class]=Q.SymbolKind.Class,W9[U9.enum]=Q.SymbolKind.Enum,W9[U9.interface]=Q.SymbolKind.Interface,W9[U9.memberFunction]=Q.SymbolKind.Method,W9[U9.memberVariable]=Q.SymbolKind.Property,W9[U9.memberGetAccessor]=Q.SymbolKind.Property,W9[U9.memberSetAccessor]=Q.SymbolKind.Property,W9[U9.variable]=Q.SymbolKind.Variable,W9[U9.const]=Q.SymbolKind.Variable,W9[U9.localVariable]=Q.SymbolKind.Variable,W9[U9.variable]=Q.SymbolKind.Variable,W9[U9.function]=Q.SymbolKind.Function,W9[U9.localFunction]=Q.SymbolKind.Function;var G9=class extends M9{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:`
|
|
1225
1225
|
`,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}},K9=class extends G9{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getFormattingEditsForRange(i.toString(),a,o,G9._convertOptions(n));if(c&&!e.isDisposed())return c.map(t=>this._convertTextChanges(e,t))}},q9=class extends G9{get autoFormatTriggerCharacters(){return[`;`,`}`,`
|
|
1226
|
-
`]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getFormattingEditsAfterKeystroke(a.toString(),o,n,G9._convertOptions(r));if(c&&!e.isDisposed())return c.map(t=>this._convertTextChanges(e,t))}},J9=class extends G9{async provideCodeActions(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=G9._convertOptions(e.getOptions()),c=n.markers.filter(e=>e.code).map(e=>e.code).map(Number),l=await this._worker(i);if(e.isDisposed())return;let u=await l.getCodeFixesAtPosition(i.toString(),a,o,c,s);return!u||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:u.filter(e=>e.changes.filter(e=>e.isNewFile).length===0).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,n,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,n){let r=[];for(let t of n.changes)for(let n of t.textChanges)r.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:t.markers,kind:`quickfix`}}},Y9=class extends M9{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,n,r){let i=e.uri,a=i.toString(),o=e.getOffsetAt(t),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getRenameInfo(a,o,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw Error(`Renaming files is not supported.`);let l=await s.findRenameLocations(a,o,!1,!1,!1);if(!l||e.isDisposed())return;let u=[];for(let e of l){let t=this._libFiles.getOrCreateModel(e.fileName);if(t)u.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,e.textSpan),text:n}});else throw Error(`Unknown file ${e.fileName}.`)}return{edits:u}}},X9=class extends M9{async provideInlayHints(e,t,n){let r=e.uri,i=r.toString(),a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(r);return e.isDisposed()?null:{hints:(await s.provideInlayHints(i,a,o)).map(t=>({...t,label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case`Parameter`:return Q.InlayHintKind.Parameter;case`Type`:return Q.InlayHintKind.Type;default:return Q.InlayHintKind.Type}}},PXe=e({Adapter:()=>M9,CodeActionAdaptor:()=>J9,DefinitionAdapter:()=>B9,DiagnosticsAdapter:()=>P9,DocumentHighlightAdapter:()=>z9,FormatAdapter:()=>K9,FormatHelper:()=>G9,FormatOnTypeAdapter:()=>q9,InlayHintsAdapter:()=>X9,Kind:()=>U9,LibFiles:()=>N9,OutlineAdapter:()=>H9,QuickInfoAdapter:()=>R9,ReferenceAdapter:()=>V9,RenameAdapter:()=>Y9,SignatureHelpAdapter:()=>L9,SuggestAdapter:()=>F9,WorkerManager:()=>O9,flattenDiagnosticMessageText:()=>A9,getJavaScriptWorker:()=>LXe,getTypeScriptWorker:()=>RXe,setupJavaScript:()=>IXe,setupTypeScript:()=>FXe}),Z9,Q9;function FXe(e){Q9=$9(e,`typescript`)}function IXe(e){Z9=$9(e,`javascript`)}function LXe(){return new Promise((e,t)=>{if(!Z9)return t(`JavaScript not registered!`);e(Z9)})}function RXe(){return new Promise((e,t)=>{if(!Q9)return t(`TypeScript not registered!`);e(Q9)})}function $9(e,t){let n=[],r=new O9(t,e),i=(...e)=>r.getLanguageServiceWorker(...e),a=new N9(i);function o(){let{modeConfiguration:r}=e;zXe(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new F9(i))),r.signatureHelp&&n.push(Q.registerSignatureHelpProvider(t,new L9(i))),r.hovers&&n.push(Q.registerHoverProvider(t,new R9(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new z9(i))),r.definitions&&n.push(Q.registerDefinitionProvider(t,new B9(a,i))),r.references&&n.push(Q.registerReferenceProvider(t,new V9(a,i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new H9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new Y9(a,i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new K9(i))),r.onTypeFormattingEdits&&n.push(Q.registerOnTypeFormattingEditProvider(t,new q9(i))),r.codeActions&&n.push(Q.registerCodeActionProvider(t,new J9(i))),r.inlayHints&&n.push(Q.registerInlayHintsProvider(t,new X9(i))),r.diagnostics&&n.push(new P9(a,e,t,i))}return o(),i}function zXe(e){for(;e.length;)e.pop().dispose()}function BXe(e){return new Worker(``+new URL(`editor.worker-DKXjC3Lf.js`,import.meta.url).href,{name:e?.name})}function VXe(e){return new Worker(``+new URL(`css.worker-NNelxtRr.js`,import.meta.url).href,{name:e?.name})}function HXe(e){return new Worker(``+new URL(`html.worker-B4rXkk6r.js`,import.meta.url).href,{name:e?.name})}function UXe(e){return new Worker(``+new URL(`json.worker-izi4BK3w.js`,import.meta.url).href,{name:e?.name})}function WXe(e){return new Worker(``+new URL(`ts.worker-
|
|
1226
|
+
`]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getFormattingEditsAfterKeystroke(a.toString(),o,n,G9._convertOptions(r));if(c&&!e.isDisposed())return c.map(t=>this._convertTextChanges(e,t))}},J9=class extends G9{async provideCodeActions(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=G9._convertOptions(e.getOptions()),c=n.markers.filter(e=>e.code).map(e=>e.code).map(Number),l=await this._worker(i);if(e.isDisposed())return;let u=await l.getCodeFixesAtPosition(i.toString(),a,o,c,s);return!u||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:u.filter(e=>e.changes.filter(e=>e.isNewFile).length===0).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,n,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,n){let r=[];for(let t of n.changes)for(let n of t.textChanges)r.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:t.markers,kind:`quickfix`}}},Y9=class extends M9{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,n,r){let i=e.uri,a=i.toString(),o=e.getOffsetAt(t),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getRenameInfo(a,o,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw Error(`Renaming files is not supported.`);let l=await s.findRenameLocations(a,o,!1,!1,!1);if(!l||e.isDisposed())return;let u=[];for(let e of l){let t=this._libFiles.getOrCreateModel(e.fileName);if(t)u.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,e.textSpan),text:n}});else throw Error(`Unknown file ${e.fileName}.`)}return{edits:u}}},X9=class extends M9{async provideInlayHints(e,t,n){let r=e.uri,i=r.toString(),a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(r);return e.isDisposed()?null:{hints:(await s.provideInlayHints(i,a,o)).map(t=>({...t,label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case`Parameter`:return Q.InlayHintKind.Parameter;case`Type`:return Q.InlayHintKind.Type;default:return Q.InlayHintKind.Type}}},PXe=e({Adapter:()=>M9,CodeActionAdaptor:()=>J9,DefinitionAdapter:()=>B9,DiagnosticsAdapter:()=>P9,DocumentHighlightAdapter:()=>z9,FormatAdapter:()=>K9,FormatHelper:()=>G9,FormatOnTypeAdapter:()=>q9,InlayHintsAdapter:()=>X9,Kind:()=>U9,LibFiles:()=>N9,OutlineAdapter:()=>H9,QuickInfoAdapter:()=>R9,ReferenceAdapter:()=>V9,RenameAdapter:()=>Y9,SignatureHelpAdapter:()=>L9,SuggestAdapter:()=>F9,WorkerManager:()=>O9,flattenDiagnosticMessageText:()=>A9,getJavaScriptWorker:()=>LXe,getTypeScriptWorker:()=>RXe,setupJavaScript:()=>IXe,setupTypeScript:()=>FXe}),Z9,Q9;function FXe(e){Q9=$9(e,`typescript`)}function IXe(e){Z9=$9(e,`javascript`)}function LXe(){return new Promise((e,t)=>{if(!Z9)return t(`JavaScript not registered!`);e(Z9)})}function RXe(){return new Promise((e,t)=>{if(!Q9)return t(`TypeScript not registered!`);e(Q9)})}function $9(e,t){let n=[],r=new O9(t,e),i=(...e)=>r.getLanguageServiceWorker(...e),a=new N9(i);function o(){let{modeConfiguration:r}=e;zXe(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new F9(i))),r.signatureHelp&&n.push(Q.registerSignatureHelpProvider(t,new L9(i))),r.hovers&&n.push(Q.registerHoverProvider(t,new R9(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new z9(i))),r.definitions&&n.push(Q.registerDefinitionProvider(t,new B9(a,i))),r.references&&n.push(Q.registerReferenceProvider(t,new V9(a,i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new H9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new Y9(a,i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new K9(i))),r.onTypeFormattingEdits&&n.push(Q.registerOnTypeFormattingEditProvider(t,new q9(i))),r.codeActions&&n.push(Q.registerCodeActionProvider(t,new J9(i))),r.inlayHints&&n.push(Q.registerInlayHintsProvider(t,new X9(i))),r.diagnostics&&n.push(new P9(a,e,t,i))}return o(),i}function zXe(e){for(;e.length;)e.pop().dispose()}function BXe(e){return new Worker(``+new URL(`editor.worker-DKXjC3Lf.js`,import.meta.url).href,{name:e?.name})}function VXe(e){return new Worker(``+new URL(`css.worker-NNelxtRr.js`,import.meta.url).href,{name:e?.name})}function HXe(e){return new Worker(``+new URL(`html.worker-B4rXkk6r.js`,import.meta.url).href,{name:e?.name})}function UXe(e){return new Worker(``+new URL(`json.worker-izi4BK3w.js`,import.meta.url).href,{name:e?.name})}function WXe(e){return new Worker(``+new URL(`ts.worker-9_CJKYKz.js`,import.meta.url).href,{name:e?.name})}export{BXe as a,VXe as i,UXe as n,ZUe as o,HXe as r,i as s,WXe as t};
|